diff options
author | Théo de la Hogue | 2023-09-20 09:54:31 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-09-20 09:54:31 +0200 |
commit | b2343f1cd1848e7e96f50088050a649aea38e6cf (patch) | |
tree | 87d340b0a8b75edfabdda5470469b5bb5c938bd9 /docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md | |
parent | 83907d74866076c31201367d1f5194dcbcbea004 (diff) | |
download | argaze-b2343f1cd1848e7e96f50088050a649aea38e6cf.zip argaze-b2343f1cd1848e7e96f50088050a649aea38e6cf.tar.gz argaze-b2343f1cd1848e7e96f50088050a649aea38e6cf.tar.bz2 argaze-b2343f1cd1848e7e96f50088050a649aea38e6cf.tar.xz |
more work on aruco markers pipeline.
Diffstat (limited to 'docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md')
-rw-r--r-- | docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md b/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md index 824e466..ba19e45 100644 --- a/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md +++ b/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md @@ -3,9 +3,9 @@ Configure and execute ArUcoCamera Once [ArUco markers are placed into a scene](aruco_markers_description.md) and [areas of interest are described](aoi_description.md), everything is ready to setup an ArUco marker pipeline thanks to [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class. -As it inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame), the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class benefits from all the services described in [gaze analysis pipeline section](./user_guide/gaze_analysis_pipeline/introduction.md). +As [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame), the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class benefits from all the services described in [gaze analysis pipeline section](./user_guide/gaze_analysis_pipeline/introduction.md). -![ArUco camera markers detection](../../img/aruco_camera_markers_detection.png) +![ArUco camera frame](../../img/aruco_camera_frame.png) ## Load JSON configuration file @@ -68,19 +68,21 @@ The usual [ArFrame visualisation parameters](./user_guide/gaze_analysis_pipeline ## Pipeline execution -Pass each camera image to [ArUcoCamera.watch](../../argaze.md/#argaze.ArFeatures.ArCamera.watch) method to execute the whole intanciated pipeline. +### Detect ArUco markers, estimate scene pose and project scene + +Pass each camera image to [ArUcoCamera.watch](../../argaze.md/#argaze.ArFeatures.ArCamera.watch) method to execute the whole pipeline dedicated to ArUco markers detection, scene pose estimation and projection. ```python # Assuming that Full HD (1920x1080) video stream or file is opened ... -# Assuming there is a way to escape the while loop -while ...: +# Assuming that the video reading is handled in a looping code block +...: # Capture image from video stream of file image = video_capture.read() - # Detect ArUco markers and more... + # Detect ArUco markers, estimate scene pose then, project scene into camera frame aruco_camera.watch(image) # Display ArUcoCamera frame image to check that ArUco markers are well detected and scene is well projected @@ -90,4 +92,24 @@ while ...: !!! warning ArUco markers pose estimation algorithm can lead to errors due to geometric ambiguities as explain in [this article](https://ieeexplore.ieee.org/document/1717461). To discard such ambiguous cases, markers should **not be parallel to camera plan**. -At this point, the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) only detects ArUco markers as no scene description is provided.
\ No newline at end of file + + +### Analyse timestamped gaze positions into camera frame + +As mentioned above, [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) and so, benefits from all the services described in [gaze analysis pipeline section](./user_guide/gaze_analysis_pipeline/introduction.md). + +Particularly, timestamped gaze positions can be passed one by one to [ArUcoCamera.look](../../argaze.md/#argaze.ArFeatures.ArFrame.look) method to execute the whole pipeline dedicated to gaze analysis. + +```python +# Assuming that timestamped gaze positions are available +... + + # Look ArUcoCamera frame at a timestamped gaze position + aruco_camera.look(timestamp, gaze_position) +``` + +!!! warning "" + + At this point, the [ArUcoCamera.watch](../../argaze.md/#argaze.ArFeatures.ArCamera.watch) method only detects ArUco markers and the [ArUcoCamera.look](../../argaze.md/#argaze.ArFeatures.ArCamera.look) method is not able to analyze gaze positions as no scene description is provided into the JSON configuration file. + + Read the next chapters to learn [how to enable scene pose estimation and its projection](aruco_scene.md).
\ No newline at end of file |