diff options
author | Théo de la Hogue | 2023-11-23 02:27:59 +0100 |
---|---|---|
committer | Théo de la Hogue | 2023-11-23 02:27:59 +0100 |
commit | 2f65eeb2ed01d27817c42122c5284c9d5e608753 (patch) | |
tree | aa58c9bfe0856eb6fcc8c62a69f63de6fe30f7c4 /docs/user_guide | |
parent | 74ed30fa3417c5a1bb5f147d779250e5bbdbd521 (diff) | |
download | argaze-2f65eeb2ed01d27817c42122c5284c9d5e608753.zip argaze-2f65eeb2ed01d27817c42122c5284c9d5e608753.tar.gz argaze-2f65eeb2ed01d27817c42122c5284c9d5e608753.tar.bz2 argaze-2f65eeb2ed01d27817c42122c5284c9d5e608753.tar.xz |
Refactoring aruco markers pipeline illustrations.
Diffstat (limited to 'docs/user_guide')
6 files changed, 83 insertions, 55 deletions
diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md index b02bc9e..4228ce7 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md @@ -3,7 +3,7 @@ Describe 3D AOI Now [scene pose is estimated](aruco_markers_description.md) thanks to ArUco markers description, [areas of interest (AOI)](../../argaze.md/#argaze.AreaOfInterest.AOIFeatures.AreaOfInterest) need to be described into the same 3D referential. -In the example scene, the screen and the sheet are considered as areas of interest. +In the example scene, the two screens, the control panel and the window are considered as areas of interest. ![3D AOI description](../../img/aoi_3d_description.png) @@ -21,18 +21,31 @@ All AOI need to be described from same origin than markers in a [right-handed 3D OBJ file format could be exported from most 3D editors. ``` obj -o Sheet -v 14.200000 -3.000000 28.350000 -v 35.200000 -3.000000 28.350000 -v 14.200000 -3.000000 -1.35 -v 35.200000 -3.000000 -1.35 +o Left_Screen +v 0.000000 -0.000000 -0.000000 +v 15.000000 -0.000000 -0.000000 +v 0.000000 18.963333 -6.355470 +v 15.000000 18.963333 -6.355470 f 1 2 4 3 -o Screen -v 2.750000 2.900000 -0.500000 -v 49.250000 2.900000 -0.500000 -v 2.750000 29.100000 -0.500000 -v 49.250000 29.100000 -0.500000 +o Right_Screen +v 20.000000 0.000000 -0.000000 +v 35.000000 0.000000 -0.000000 +v 20.000000 18.963337 -6.355472 +v 35.000000 18.963337 -6.355472 f 5 6 8 7 +o Control_Panel +v 49.500000 30.000000 18.333333 +v 55.500000 30.000000 18.333333 +v 49.500000 38.000000 18.333333 +v 55.500000 38.000000 18.333333 +f 9 10 12 11 +o Window +v -57.800000 5.500000 -33.500000 +v 46.000000 15.500000 -35.000000 +v 1.500000 53.000000 -1.000000 +v 50.200000 61.000000 6.000000 +v -35.850000 35.000000 -15.000000 +f 13 14 16 15 17 ``` Here are common OBJ file features needed to describe AOI: @@ -47,7 +60,9 @@ JSON file format allows to describe AOI vertices. ``` json { - "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], - "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] + "Left_Screen": [[0, 0, 0], [15, 0, 0], [0, 18.963333, -6.355470], [15, 18.963333, -6.355470]], + "Right_Screen": [[20, 0, 0], [35, 0, 0], [20, 18.963337 -6.355472], [35 18.963337 -6.355472]], + "Control_Panel": [[49.5, 30, 18.333333], [55.5, 30, 18.333333], [49.5, 38, 18.333333], [55.5, 38, 18.333333]], + "Window": [[-57.8, 5.5, -33.5], [46, 15.5, -35], [1.5, 53, -1], [50.2, 61, 6], [-35.85 35, -15]] } ``` diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md index f1ae1f6..eb3452f 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md @@ -9,7 +9,7 @@ When an 3D AOI of the scene contains others coplanar 3D AOI, like a screen with The [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) class defines a rectangular area where timestamped gaze positions are projected in and inside which they need to be analyzed. -Here is the previous extract where "Screen" AOI is defined as a frame into [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) configuration: +Here is the previous extract where "Left_Screen" and "Right_Screen" AOI are defined as a frame into [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) configuration: ```json { @@ -24,37 +24,48 @@ Here is the previous extract where "Screen" AOI is defined as a frame into [ArUc "layers": { "MyLayer": { "aoi_scene": { - "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], - "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] + "Left_Screen": [[0, 0, 0], [15, 0, 0], [0, 18.963333, -6.355470], [15, 18.963333, -6.355470]], + "Right_Screen": [[20, 0, 0], [35, 0, 0], [20, 18.963337 -6.355472], [35 18.963337 -6.355472]], + "Control_Panel": [[49.5, 30, 18.333333], [55.5, 30, 18.333333], [49.5, 38, 18.333333], [55.5, 38, 18.333333]], + "Window": [[-57.8, 5.5, -33.5], [46, 15.5, -35], [1.5, 53, -1], [50.2, 61, 6], [-35.85 35, -15]] } } }, "frames": { - "Screen": { - "size": [1920, 1080], + "Left_Screen": { + "size": [768, 1024], "layers": { "MyLayer": { "aoi_scene": { - "GeoSector": [[860, 160], [1380, 100], [1660, 400], [1380, 740], [1440, 960], [920, 920], [680, 800], [640, 560]], "LeftPanel": { "Rectangle": { "x": 0, "y": 0, - "width": 350, - "height": 1080 + "width": 768, + "height": 180 } }, "CircularWidget": { "Circle": { - "cx": 1800, - "cy": 120, - "radius": 80 + "cx": 384, + "cy": 600, + "radius": 180 } } } } } - } + }, + "Right_Screen": { + "size": [768, 1024], + "layers": { + "MyLayer": { + "aoi_scene": { + "GeoSector": [[724, 421], [537, 658], [577, 812], [230, 784], [70, 700], [44, 533], [190, 254], [537, 212]] + } + } + } + } } } } diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md index 8c7310b..370a2ed 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md @@ -24,8 +24,10 @@ Here is the previous extract where one layer is added to [ArUcoScene](../../arga "layers": { "MyLayer": { "aoi_scene": { - "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], - "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] + "Left_Screen": [[0, 0, 0], [15, 0, 0], [0, 18.963333, -6.355470], [15, 18.963333, -6.355470]], + "Right_Screen": [[20, 0, 0], [35, 0, 0], [20, 18.963337 -6.355472], [35 18.963337 -6.355472]], + "Control_Panel": [[49.5, 30, 18.333333], [55.5, 30, 18.333333], [49.5, 38, 18.333333], [55.5, 38, 18.333333]], + "Window": [[-57.8, 5.5, -33.5], [46, 15.5, -35], [1.5, 53, -1], [50.2, 61, 6], [-35.85 35, -15]] } } } diff --git a/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md b/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md index 6380f88..ebbeec7 100644 --- a/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md +++ b/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md @@ -3,7 +3,7 @@ Set up ArUco markers First of all, ArUco markers needs to be printed and placed into the scene. -Here is an example scene where markers are surrounding a workspace with a screen and a sheet on the table (considering the sheet stays static for the moment). +Here is an example scene where markers are surrounding a workspace with two screens, a control panel and a window. ![Scene](../../img/scene.png) @@ -61,23 +61,23 @@ OBJ file format could be exported from most 3D editors. ``` obj o DICT_APRILTAG_16h5#0_Marker -v 0.000000 0.000000 0.000000 -v 5.000000 0.000000 0.000000 -v 0.000000 5.000000 0.000000 -v 5.000000 5.000000 0.000000 -f 1//1 2//1 4//1 3//1 +v 15.000000 0.378741 0.330527 +v 20.000000 0.378741 0.330527 +v 15.000000 5.120359 -1.255996 +v 20.000000 5.120359 -1.255996 +f 1 2 4 3 o DICT_APRILTAG_16h5#1_Marker -v -0.855050 24.000002 4.349232 -v 0.855050 24.000002 -0.349231 -v -0.855050 29.000002 4.349232 -v 0.855050 29.000002 -0.349231 -f 5//2 6//2 8//2 7//2 +v 43.500000 31.428055 18.333317 +v 48.500000 31.428055 18.333317 +v 43.500000 36.428055 18.333317 +v 48.500000 36.428055 18.333317 +f 5 6 8 7 o DICT_APRILTAG_16h5#2_Marker -v 44.000000 0.000000 9.500000 -v 49.000000 0.000000 9.500000 -v 44.000000 -0.000000 4.500000 -v 49.000000 -0.000000 4.500000 -f 9//3 10//3 12//3 11//3 +v 38.500000 2.678055 5.498381 +v 43.500000 2.678055 5.498381 +v 38.500000 5.178055 1.168253 +v 43.500000 5.178055 1.168253 +f 9 10 12 11 ``` Here are common OBJ file features needed to describe ArUco markers places: @@ -99,16 +99,16 @@ JSON file format allows to describe markers places using translation and euler a "marker_size": 5, "places": { "0": { - "translation": [2.5, 2.5, 0], - "rotation": [0, 0, 0] + "translation": [17.5, 2.75, -0.5], + "rotation": [-18.5, 0, 0] }, "1": { - "translation": [0, 26.5, 2], + "translation": [46, 34, 18.333], "rotation": [0, 70, 0] }, "2": { - "translation": [46.5, 0, 7], - "rotation": [-90, 0, 0] + "translation": [41, 4, 3.333], + "rotation": [-60, 0, 0] } } } diff --git a/docs/user_guide/aruco_markers_pipeline/introduction.md b/docs/user_guide/aruco_markers_pipeline/introduction.md index 37ab055..94370f4 100644 --- a/docs/user_guide/aruco_markers_pipeline/introduction.md +++ b/docs/user_guide/aruco_markers_pipeline/introduction.md @@ -9,9 +9,9 @@ The OpenCV library provides a module to detect fiducial markers into a picture a The ArGaze [ArUcoMarkers submodule](../../argaze.md/#argaze.ArUcoMarkers) eases markers creation, markers detection and 3D scene pose estimation through a set of high level classes. -<!-- First, let's look at the schema below: it gives an overview of the main notions involved in the following chapters. --> +First, let's look at the schema below: it gives an overview of the main notions involved in the following chapters. -<!-- ![ArUco markers pipeline](../../img/aruco_markers_pipeline.png) --> +![ArUco markers pipeline](../../img/aruco_markers_pipeline.png) To build your own ArUco markers pipeline, you need to know: diff --git a/docs/user_guide/aruco_markers_pipeline/pose_estimation.md b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md index 6b58b24..853c4a8 100644 --- a/docs/user_guide/aruco_markers_pipeline/pose_estimation.md +++ b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md @@ -23,16 +23,16 @@ Here is an extract from the JSON [ArUcoCamera](../../argaze.md/#argaze.ArUcoMark "marker_size": 5, "places": { "0": { - "translation": [2.5, 2.5, 0], - "rotation": [0, 0, 0] + "translation": [17.5, 2.75, -0.5], + "rotation": [-18.5, 0, 0] }, "1": { - "translation": [0, 26.5, 2], + "translation": [46, 34, 18.333], "rotation": [0, 70, 0] }, "2": { - "translation": [46.5, 0, 7], - "rotation": [-90, 0, 0] + "translation": [41, 4, 3.333], + "rotation": [-60, 0, 0] } } } |