diff options
author | Théo de la Hogue | 2023-09-20 14:07:13 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-09-20 14:07:13 +0200 |
commit | 8da7f2e1e0215df52903c14fb30203624bfcf1ee (patch) | |
tree | ec114f6f9fb77272d140ca81e56fcbf5177b9c1b /docs/user_guide/aruco_markers_pipeline/pose_estimation.md | |
parent | f9046f1c979f2daf9d7180286df002059a97fc3b (diff) | |
download | argaze-8da7f2e1e0215df52903c14fb30203624bfcf1ee.zip argaze-8da7f2e1e0215df52903c14fb30203624bfcf1ee.tar.gz argaze-8da7f2e1e0215df52903c14fb30203624bfcf1ee.tar.bz2 argaze-8da7f2e1e0215df52903c14fb30203624bfcf1ee.tar.xz |
Improving aruco markers gaze analysis pipeline documentation.
Diffstat (limited to 'docs/user_guide/aruco_markers_pipeline/pose_estimation.md')
-rw-r--r-- | docs/user_guide/aruco_markers_pipeline/pose_estimation.md | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/docs/user_guide/aruco_markers_pipeline/pose_estimation.md b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md new file mode 100644 index 0000000..6acafee --- /dev/null +++ b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md @@ -0,0 +1,82 @@ +Estimate scene pose +=================== + +An [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) class defines a space with [ArUco markers inside](aruco_markers_description.md) helping to estimate scene pose when they are watched by [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera). + +![Scene pose estimation](../../img/aruco_camera_pose_estimation.png) + +## Add ArUcoScene to ArUcoCamera JSON configuration file + +An [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) instance can contains multiples [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene). + +Here is an extract from the JSON [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) configuration file with a sample where one scene is added and displayed: + +```json +{ + "name": "My FullHD camera", + "size": [1920, 1080], + ... + "scenes": { + "MyScene" : { + "aruco_markers_group": { + "dictionary": "DICT_APRILTAG_16h5", + "marker_size": 5, + "places": { + "0": { + "translation": [2.5, 2.5, 0], + "rotation": [0, 0, 0] + }, + "1": { + "translation": [0, 25.5, 2], + "rotation": [0, 45, 0] + }, + "2": { + "translation": [35.5, 0, 3], + "rotation": [-45, 0, 0] + } + } + } + } + } + ... + "image_parameters": { + ... + "draw_scenes": { + "MyScene": { + "draw_aruco_markers_group": { + "draw_axes": { + "thickness": 3, + "length": 10 + }, + "draw_places": { + "color": [0, 0, 0], + "border_size": 1 + }, + "draw_places_axes": { + "thickness": 1, + "length": 2.5 + } + } + } + } + } +} +``` + +Now, let's understand the meaning of each JSON entry. + +### "MyScene" + +The name of the [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene). Basically useful for visualisation purpose. + +### ArUco markers group + +The 3D places of ArUco markers into the scene as defined at [ArUco markers description chapter](aruco_markers_description.md). Thanks to this description, it is possible to estimate the pose of [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) in [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) frame. + +!!! note + + [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) pose estimation is done when calling the [ArUcoCamera.watch](../../argaze.md/#argaze.ArFeatures.ArCamera.watch) method. + +### Draw scenes + +The drawing parameters of each loaded [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) in [ArUcoCamera.image](../../argaze.md/#argaze.ArFeatures.ArFrame.image). |