aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/aruco_markers_pipeline/pose_estimation.md
diff options
context:
space:
mode:
authorThéo de la Hogue2023-09-20 14:07:13 +0200
committerThéo de la Hogue2023-09-20 14:07:13 +0200
commit8da7f2e1e0215df52903c14fb30203624bfcf1ee (patch)
treeec114f6f9fb77272d140ca81e56fcbf5177b9c1b /docs/user_guide/aruco_markers_pipeline/pose_estimation.md
parentf9046f1c979f2daf9d7180286df002059a97fc3b (diff)
downloadargaze-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.md82
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).