Claude: Lens-Distortions

This commit is contained in:
chk
2026-06-02 11:37:29 +02:00
parent ac81c2e0cb
commit 5ad956be81
91 changed files with 31707 additions and 23702 deletions

View File

@@ -1,7 +1,7 @@
{
"schema_version": "1.1",
"stage": "corner_marker_poses",
"created_utc": "2026-06-02T05:05:08Z",
"created_utc": "2026-06-02T06:13:00Z",
"summary": {
"num_cameras": 7,
"num_markers": 54

View File

@@ -1,7 +1,7 @@
{
"schema_version": "1.2",
"stage": "initial_triangulation",
"created_utc": "2026-06-02T05:04:53Z",
"created_utc": "2026-06-02T06:12:48Z",
"summary": {
"num_cameras": 7,
"num_markers": 54,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.2",
"created_utc": "2026-06-02T05:05:07Z",
"created_utc": "2026-06-02T06:13:00Z",
"summary": {
"num_cameras": 7,
"num_markers": 54,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:48Z",
"created_utc": "2026-06-02T06:12:43Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "29fa79d9-5192-4a73-8e38-11288707c9d4",
"observation_id": "8477f30a-a01b-4f91-a689-d5376e3c5633",
"type": "aruco",
"marker_id": 219,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.7395976147580084
},
{
"observation_id": "3d289bcb-7af7-4701-a39a-172c87ef56ba",
"observation_id": "70d4ff46-3672-4c90-8f20-9d0d26974260",
"type": "aruco",
"marker_id": 218,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.9199148952780339
},
{
"observation_id": "006a4c7a-ec36-4f09-a611-77412b575b86",
"observation_id": "a451c7f6-629b-4ee3-aaac-1d248e7d1a2b",
"type": "aruco",
"marker_id": 114,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.7654670561742843
},
{
"observation_id": "34434ef3-972e-45c9-b85b-535f3b98d73e",
"observation_id": "6164be08-3601-41dd-b412-ab6e7334f9d6",
"type": "aruco",
"marker_id": 243,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.8622084291764343
},
{
"observation_id": "3ae774e1-b9b4-4660-962e-552dad95217f",
"observation_id": "7d957af1-e60e-4e6b-80d8-d59efcbe5eaf",
"type": "aruco",
"marker_id": 120,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.7239659906759255
},
{
"observation_id": "dc4286a4-727c-4dc6-b1e4-665829e35cd2",
"observation_id": "dfe6060b-ef58-45f4-b79c-b19cfc9a10d7",
"type": "aruco",
"marker_id": 248,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.7503292024313934
},
{
"observation_id": "7a7b5999-f407-403f-b72c-2c84956b85ba",
"observation_id": "ee604706-f554-4092-ad4c-ec49e382a58e",
"type": "aruco",
"marker_id": 245,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.6926838055995629
},
{
"observation_id": "683a9c09-4855-4cc6-855b-2b1a8f8f9bf7",
"observation_id": "75ecfd24-51d2-4add-bcc3-b8da7f22cca6",
"type": "aruco",
"marker_id": 47,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.12146268776527554
},
{
"observation_id": "eb1757a5-10df-469e-a3a3-049c5f17ef7d",
"observation_id": "c1639adb-e4e8-405e-8736-b55638e3e5a8",
"type": "aruco",
"marker_id": 210,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.47917663082333867
},
{
"observation_id": "e2967c32-2799-495e-bd04-19b9a1c269ab",
"observation_id": "d98daf58-e297-459f-bda8-f744864605ec",
"type": "aruco",
"marker_id": 85,
"marker_size_m": 0.025,
@@ -586,7 +586,7 @@
"confidence": 0.4560525484643318
},
{
"observation_id": "6151b3a6-a5bc-46cc-aff1-9f3f420226ff",
"observation_id": "b5e7f090-0a0b-4189-961b-858473a6d24a",
"type": "aruco",
"marker_id": 79,
"marker_size_m": 0.025,
@@ -640,7 +640,7 @@
"confidence": 0.5734281513866332
},
{
"observation_id": "4ba0d634-7578-4681-8a69-190fc620c47a",
"observation_id": "d43e3db6-3abd-4a2f-83d3-4e075d14d815",
"type": "aruco",
"marker_id": 96,
"marker_size_m": 0.025,
@@ -694,7 +694,7 @@
"confidence": 0.525542829627259
},
{
"observation_id": "835877f5-551f-479e-a28e-cef71eaa8a37",
"observation_id": "b0a7e3cb-8411-4e1e-b6e4-641c35b13166",
"type": "aruco",
"marker_id": 215,
"marker_size_m": 0.025,
@@ -748,7 +748,7 @@
"confidence": 0.456911083882938
},
{
"observation_id": "2d912a0f-479d-49e6-9649-f100fb58595f",
"observation_id": "3471bd4d-c67e-46c5-beec-b4d4e1b42e64",
"type": "aruco",
"marker_id": 62,
"marker_size_m": 0.025,
@@ -802,7 +802,7 @@
"confidence": 0.5038606541951498
},
{
"observation_id": "c7a1ed03-34d3-4a36-b4e1-ca83a9ce2bed",
"observation_id": "01dc6472-66e5-4583-8396-f45c3465f825",
"type": "aruco",
"marker_id": 105,
"marker_size_m": 0.025,
@@ -856,7 +856,7 @@
"confidence": 0.43622925667631085
},
{
"observation_id": "a930aeb4-a7b6-4440-8975-04d208d89dbd",
"observation_id": "4151668a-119a-48b2-9215-cde95795a260",
"type": "aruco",
"marker_id": 208,
"marker_size_m": 0.025,
@@ -910,7 +910,7 @@
"confidence": 0.4417935296159658
},
{
"observation_id": "f83b604f-5e63-4e50-a714-8a88563f75b9",
"observation_id": "b489d888-3239-416b-9414-fa8e8faab5e6",
"type": "aruco",
"marker_id": 75,
"marker_size_m": 0.025,
@@ -964,7 +964,7 @@
"confidence": 0.29844141482805986
},
{
"observation_id": "228496a9-ada7-41ef-a7c9-f1707ef07c64",
"observation_id": "c7c33075-07e4-4551-9454-1abd9f7e8df9",
"type": "aruco",
"marker_id": 102,
"marker_size_m": 0.025,
@@ -1018,7 +1018,7 @@
"confidence": 0.2521714913889437
},
{
"observation_id": "aa54c57b-d1cb-41b0-9098-20fd567baddf",
"observation_id": "86513bf7-0a84-4dfa-a5d7-ebc449fdd653",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,
@@ -1072,7 +1072,7 @@
"confidence": 0.16306081184012358
},
{
"observation_id": "35aa2bec-ea3d-45e4-8c37-6d2dfe7778e2",
"observation_id": "3a1dc80a-0fe9-4e06-ad39-362565dadc38",
"type": "aruco",
"marker_id": 92,
"marker_size_m": 0.025,
@@ -1126,7 +1126,7 @@
"confidence": 0.31777455864589965
},
{
"observation_id": "163f8505-d4c0-404e-9fd6-5f51c31ee5ad",
"observation_id": "6b172ae4-d851-4781-ac94-e30bda9c0971",
"type": "aruco",
"marker_id": 217,
"marker_size_m": 0.025,
@@ -1180,7 +1180,7 @@
"confidence": 0.3029173397022545
},
{
"observation_id": "6f5a4e89-5dd7-45cf-b3c0-824aa68454f4",
"observation_id": "15d90a8f-46ad-4db9-b0a3-3dc473879f90",
"type": "aruco",
"marker_id": 61,
"marker_size_m": 0.025,
@@ -1234,7 +1234,7 @@
"confidence": 0.1527342148240039
},
{
"observation_id": "5ab78f3b-f134-4bc5-b45b-b94a179e5ab5",
"observation_id": "916a1fad-5366-4e38-80b3-227520a735ce",
"type": "aruco",
"marker_id": 83,
"marker_size_m": 0.025,
@@ -1288,7 +1288,7 @@
"confidence": 0.19743498130596515
},
{
"observation_id": "25d984b5-b189-4c3d-9c14-85f55a238e52",
"observation_id": "f483d8bf-f2d7-4c35-9314-7b76ae824ed5",
"type": "aruco",
"marker_id": 206,
"marker_size_m": 0.025,
@@ -1342,7 +1342,7 @@
"confidence": 0.2849187633475991
},
{
"observation_id": "13a8b820-916c-4eb9-8998-94aa7faf4b00",
"observation_id": "aaf7b09b-39f9-4ff1-a609-ba194f24d090",
"type": "aruco",
"marker_id": 207,
"marker_size_m": 0.025,
@@ -1396,7 +1396,7 @@
"confidence": 0.24627951083020566
},
{
"observation_id": "bfc73e67-e831-4474-b9c6-bc2adc58bab4",
"observation_id": "a5dcc05a-fdb4-4e01-8e35-d34776a11280",
"type": "aruco",
"marker_id": 72,
"marker_size_m": 0.025,
@@ -1450,7 +1450,7 @@
"confidence": 0.22592760282333144
},
{
"observation_id": "6793ee57-f827-4bd7-b727-730e0f60a521",
"observation_id": "63b0c98e-7b15-45e3-aeff-12aefe49c001",
"type": "aruco",
"marker_id": 84,
"marker_size_m": 0.025,
@@ -1504,7 +1504,7 @@
"confidence": 0.19681943169996122
},
{
"observation_id": "2618ccd1-4220-4fc4-9eb0-e557a00a684f",
"observation_id": "2b5195f7-4cb4-4e05-af90-a76f044eb61d",
"type": "aruco",
"marker_id": 86,
"marker_size_m": 0.025,
@@ -1558,7 +1558,7 @@
"confidence": 0.1640007734958032
},
{
"observation_id": "594854cf-db4f-4f35-bb47-e07b2acfa154",
"observation_id": "859faaa6-88a5-4e39-9d31-696593aadf07",
"type": "aruco",
"marker_id": 60,
"marker_size_m": 0.025,
@@ -1612,7 +1612,7 @@
"confidence": 0.1646279680870627
},
{
"observation_id": "49f3b688-eed0-462b-90a3-2eddbb027e6d",
"observation_id": "05247d8f-e715-4bdd-9f4e-521844d7ca34",
"type": "aruco",
"marker_id": 93,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:50Z",
"created_utc": "2026-06-02T06:12:45Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_a_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:48Z",
"created_utc": "2026-06-02T06:12:44Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "f83b1a0a-82d5-4595-aa3f-b5a1dcdec75c",
"observation_id": "19200abe-5f1b-4368-8156-6776249193f3",
"type": "aruco",
"marker_id": 42,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.7734558326344684
},
{
"observation_id": "332d5ad9-174e-4b02-95c1-0020c8d40d9a",
"observation_id": "d1c15e88-afff-4fb4-b7c6-19308c0ab054",
"type": "aruco",
"marker_id": 43,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.39276641139320373
},
{
"observation_id": "fdba464f-0faf-46f7-8dee-db8ee91ac65d",
"observation_id": "5edab514-9850-4563-b19c-3c3e69537ed0",
"type": "aruco",
"marker_id": 219,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.5371673377023298
},
{
"observation_id": "08af28b4-9e15-4e1c-b7a1-d811fcb48831",
"observation_id": "9f5136b5-22e9-4969-a0c0-9390e9b20f44",
"type": "aruco",
"marker_id": 243,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.4966751237638301
},
{
"observation_id": "7b3607c6-2ae5-4115-a5f5-a2cf17083a56",
"observation_id": "f9ef7e68-c64e-4759-b61c-3dd27de0eecc",
"type": "aruco",
"marker_id": 63,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.1539593300495616
},
{
"observation_id": "7926612b-d2e3-49f8-b3b0-52918e123f52",
"observation_id": "26b81e03-9e4c-41a3-b401-42c7df993627",
"type": "aruco",
"marker_id": 41,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.2771200012449925
},
{
"observation_id": "a001c93d-fb6b-42a3-b1f6-4ff8d1f65b26",
"observation_id": "b8366561-73b0-4f46-8099-5f29a71c4b04",
"type": "aruco",
"marker_id": 218,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.42062184880944004
},
{
"observation_id": "3fd6a6fa-3d66-4f34-a55e-3821ddeb4f15",
"observation_id": "b052583f-6561-4230-bec6-27b425485ed1",
"type": "aruco",
"marker_id": 102,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.39637168760361213
},
{
"observation_id": "d5f49f3d-b2bd-4b52-ad45-640009a440e3",
"observation_id": "1382765e-35b2-4b31-9ece-9c722ad30f13",
"type": "aruco",
"marker_id": 64,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.4633649853376546
},
{
"observation_id": "9109e5da-e852-435a-8596-df39d878fe1f",
"observation_id": "80e47386-38a6-4101-af17-4377aa614776",
"type": "aruco",
"marker_id": 58,
"marker_size_m": 0.025,
@@ -586,7 +586,7 @@
"confidence": 0.3638956157928849
},
{
"observation_id": "978b76ab-6fa9-4f9c-9653-c8f56a1ce566",
"observation_id": "840d37d3-a26d-4fb2-8197-4796d4b3c572",
"type": "aruco",
"marker_id": 248,
"marker_size_m": 0.025,
@@ -640,7 +640,7 @@
"confidence": 0.3428886510457159
},
{
"observation_id": "fcb81e86-45f0-45e8-9afc-c9303cc8bb48",
"observation_id": "a72e6518-2c99-49a0-acd0-d8f88dfc6e5b",
"type": "aruco",
"marker_id": 245,
"marker_size_m": 0.025,
@@ -694,7 +694,7 @@
"confidence": 0.35532892589788884
},
{
"observation_id": "af9d301f-2c34-4d74-ab01-e5dcb6d52eff",
"observation_id": "d313b3af-5d0f-4246-8abe-29753025008a",
"type": "aruco",
"marker_id": 92,
"marker_size_m": 0.025,
@@ -748,7 +748,7 @@
"confidence": 0.46896024883690896
},
{
"observation_id": "1a7a8aa3-9276-4cc2-987c-b4b5a5fc2214",
"observation_id": "26f9c4bc-e3ac-48e0-8ccd-9d3af165f008",
"type": "aruco",
"marker_id": 96,
"marker_size_m": 0.025,
@@ -802,7 +802,7 @@
"confidence": 0.44372569385651617
},
{
"observation_id": "95a312dd-7879-4aad-9a31-b7783c838beb",
"observation_id": "10b29bf8-07fa-47df-b65e-8a8b0e5c540b",
"type": "aruco",
"marker_id": 103,
"marker_size_m": 0.025,
@@ -856,7 +856,7 @@
"confidence": 0.45199802144368495
},
{
"observation_id": "c1cbdef7-71ae-4c6b-904d-7d2bc1abbe1c",
"observation_id": "94618cc2-6f52-4f18-ab09-d7d4b29341a3",
"type": "aruco",
"marker_id": 51,
"marker_size_m": 0.025,
@@ -910,7 +910,7 @@
"confidence": 0.45199802144368495
},
{
"observation_id": "e2188a40-27d5-44f6-9f65-a0aaae5ebe43",
"observation_id": "29951659-3dad-4b63-abce-7908a5e1c6d0",
"type": "aruco",
"marker_id": 62,
"marker_size_m": 0.025,
@@ -964,7 +964,7 @@
"confidence": 0.44348322079976393
},
{
"observation_id": "d8c5c8f9-ce18-4010-8835-2714a0991625",
"observation_id": "b5f77e5a-c22c-47f4-8d79-9917e42898ae",
"type": "aruco",
"marker_id": 79,
"marker_size_m": 0.025,
@@ -1018,7 +1018,7 @@
"confidence": 0.41815762699787656
},
{
"observation_id": "5034325b-4767-429e-b81d-4bda03a196a3",
"observation_id": "a7db7cbe-8df4-4a6c-9bc4-2143d63274d1",
"type": "aruco",
"marker_id": 205,
"marker_size_m": 0.025,
@@ -1072,7 +1072,7 @@
"confidence": 0.3958181457519531
},
{
"observation_id": "c3eba7dc-b71b-4d19-b84b-dbd4a34800f3",
"observation_id": "1893099a-7d01-4fe3-a2f8-ee09e0e1abf3",
"type": "aruco",
"marker_id": 215,
"marker_size_m": 0.025,
@@ -1126,7 +1126,7 @@
"confidence": 0.39178239625208167
},
{
"observation_id": "48f43d82-0462-4133-a761-64cf68546e55",
"observation_id": "41e0d785-ef52-4379-8248-8cca58df8e35",
"type": "aruco",
"marker_id": 217,
"marker_size_m": 0.025,
@@ -1180,7 +1180,7 @@
"confidence": 0.4015868133874269
},
{
"observation_id": "cab0c1e0-5807-416f-b59a-e5dd31ff2dc7",
"observation_id": "f5080558-7be2-4bbe-a86d-898948f77e29",
"type": "aruco",
"marker_id": 208,
"marker_size_m": 0.025,
@@ -1234,7 +1234,7 @@
"confidence": 0.3776
},
{
"observation_id": "f55ed9d2-7c1f-482f-a406-776330ade695",
"observation_id": "62e99edc-5a92-4ea5-83e9-f485ec3176ac",
"type": "aruco",
"marker_id": 210,
"marker_size_m": 0.025,
@@ -1288,7 +1288,7 @@
"confidence": 0.3320910299473707
},
{
"observation_id": "59584270-ab30-4b78-a4fb-de0aed17c312",
"observation_id": "991cc1d5-740e-4cd4-aa8b-3a475f967ebc",
"type": "aruco",
"marker_id": 214,
"marker_size_m": 0.025,
@@ -1342,7 +1342,7 @@
"confidence": 0.3465862068965517
},
{
"observation_id": "e73c01ca-186b-476b-9dde-5103d5d16ee2",
"observation_id": "7fd1ec2d-823f-4b18-bfcb-639fcf933dee",
"type": "aruco",
"marker_id": 206,
"marker_size_m": 0.025,
@@ -1396,7 +1396,7 @@
"confidence": 0.3579602826436361
},
{
"observation_id": "d2d7b37c-0fb0-48d1-b8d6-06aec4867c03",
"observation_id": "2ee4a050-f48d-45d5-9725-450a26c4ad61",
"type": "aruco",
"marker_id": 207,
"marker_size_m": 0.025,
@@ -1450,7 +1450,7 @@
"confidence": 0.343462485354258
},
{
"observation_id": "84d19fbf-3843-4315-bd9a-f5da3ec3249e",
"observation_id": "8924a3c8-5cf6-48bd-865f-7e450ad2a512",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -1504,7 +1504,7 @@
"confidence": 0.19114254474639894
},
{
"observation_id": "8fe57168-8bb5-48ef-983e-92df5e24f35a",
"observation_id": "00e1f8f0-675a-4f52-a46f-9b198172926e",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,
@@ -1558,7 +1558,7 @@
"confidence": 0.15059825259624304
},
{
"observation_id": "bf1bd2cf-269d-41f9-9977-e7aaa79d7808",
"observation_id": "5cc50b0a-6899-4ee4-9bbf-1979ae9eed74",
"type": "aruco",
"marker_id": 94,
"marker_size_m": 0.025,
@@ -1612,7 +1612,7 @@
"confidence": 0.05940673074575571
},
{
"observation_id": "00994589-b183-4654-8c49-7ab6d8261b84",
"observation_id": "ae1c6b97-ab63-4a5e-9710-b59c7e3b6876",
"type": "aruco",
"marker_id": 76,
"marker_size_m": 0.025,
@@ -1666,7 +1666,7 @@
"confidence": 0.2459421895345052
},
{
"observation_id": "08e22018-5a22-4583-b862-71aad2047711",
"observation_id": "962817dc-ecae-467e-875f-7596d89a3e6e",
"type": "aruco",
"marker_id": 100,
"marker_size_m": 0.025,
@@ -1720,7 +1720,7 @@
"confidence": 0.24407473894265982
},
{
"observation_id": "7b0d0fd8-0bf3-4b62-8736-f68dda2ecbff",
"observation_id": "a2880b74-aa89-46c9-8668-e29a13fc7a64",
"type": "aruco",
"marker_id": 75,
"marker_size_m": 0.025,
@@ -1774,7 +1774,7 @@
"confidence": 0.23896265492072474
},
{
"observation_id": "7278f532-9f88-4656-9b52-dabd8693cc1f",
"observation_id": "02d9a685-fce9-48df-9cbf-8116297e9094",
"type": "aruco",
"marker_id": 68,
"marker_size_m": 0.025,
@@ -1828,7 +1828,7 @@
"confidence": 0.24909137483284013
},
{
"observation_id": "0d580585-290e-4237-affe-fceb4b7b1185",
"observation_id": "6b6edba3-a18f-49ad-b3cb-9a903aca0ae3",
"type": "aruco",
"marker_id": 46,
"marker_size_m": 0.025,
@@ -1882,7 +1882,7 @@
"confidence": 0.23734254719660833
},
{
"observation_id": "e5603e16-e599-48a1-a540-0ce122caff9f",
"observation_id": "5900473c-5c42-44e8-8543-f3dc6d2e3b3a",
"type": "aruco",
"marker_id": 77,
"marker_size_m": 0.025,
@@ -1936,7 +1936,7 @@
"confidence": 0.23734254719660833
},
{
"observation_id": "31a77d82-9130-4824-a364-2b0cbaeb70bd",
"observation_id": "3d7d2fd3-5d08-4cb0-930a-45d39989b56c",
"type": "aruco",
"marker_id": 56,
"marker_size_m": 0.025,
@@ -1990,7 +1990,7 @@
"confidence": 0.236365170112023
},
{
"observation_id": "f910b53c-4d73-4ec7-8eac-ec3bcae785a7",
"observation_id": "d7d6efe9-26d5-4075-a5f0-54f8d5480f8d",
"type": "aruco",
"marker_id": 50,
"marker_size_m": 0.025,
@@ -2044,7 +2044,7 @@
"confidence": 0.2211554500544793
},
{
"observation_id": "e13ed294-614b-4a38-a4ca-dba39a25658e",
"observation_id": "2f1ba963-42cb-40b0-8885-8b0dac840f20",
"type": "aruco",
"marker_id": 72,
"marker_size_m": 0.025,
@@ -2098,7 +2098,7 @@
"confidence": 0.21841319450965294
},
{
"observation_id": "159b9bf8-d522-4062-87bf-d738ab89dab4",
"observation_id": "c2583db9-a438-4687-880e-7fe8ea13375c",
"type": "aruco",
"marker_id": 104,
"marker_size_m": 0.025,
@@ -2152,7 +2152,7 @@
"confidence": 0.22417849731445313
},
{
"observation_id": "ed4b6b69-7b47-4e36-a6ee-1afc35e1e21f",
"observation_id": "a24cfca2-81c7-4a7f-9e0c-4e5619a156c8",
"type": "aruco",
"marker_id": 53,
"marker_size_m": 0.025,
@@ -2206,7 +2206,7 @@
"confidence": 0.22367025973033955
},
{
"observation_id": "01646cb7-b9f6-492b-af01-9e29781ecb38",
"observation_id": "aafe3155-38e3-462d-9018-59e6df065358",
"type": "aruco",
"marker_id": 84,
"marker_size_m": 0.025,
@@ -2260,7 +2260,7 @@
"confidence": 0.21633306884765624
},
{
"observation_id": "44879286-f4b4-44b1-9a61-78ccf45786b0",
"observation_id": "e90195cf-ce26-4829-af96-66c4399e3bc7",
"type": "aruco",
"marker_id": 67,
"marker_size_m": 0.025,
@@ -2314,7 +2314,7 @@
"confidence": 0.19627771759033205
},
{
"observation_id": "7612c2e4-2540-455f-8250-2d6a77705a41",
"observation_id": "ddb6f8fb-34b6-489c-be11-d2bf3a9673e1",
"type": "aruco",
"marker_id": 60,
"marker_size_m": 0.025,
@@ -2368,7 +2368,7 @@
"confidence": 0.18913971961975098
},
{
"observation_id": "322159ce-6390-4c70-909a-be070f685899",
"observation_id": "83f6bd64-5fb4-4cdf-926a-0374b4fb1833",
"type": "aruco",
"marker_id": 86,
"marker_size_m": 0.025,
@@ -2422,7 +2422,7 @@
"confidence": 0.18966921411877496
},
{
"observation_id": "b5eb9fba-6a81-4ba6-bbe3-1e758e15e372",
"observation_id": "3897dc7d-cacc-44d7-ba8c-84c0eadc0057",
"type": "aruco",
"marker_id": 88,
"marker_size_m": 0.025,
@@ -2476,7 +2476,7 @@
"confidence": 0.20782158780899712
},
{
"observation_id": "c2589d80-b58b-4966-bf2f-112e5ab554f8",
"observation_id": "fc177ab4-d73c-412a-a842-bef5d25cd8e8",
"type": "aruco",
"marker_id": 70,
"marker_size_m": 0.025,
@@ -2530,7 +2530,7 @@
"confidence": 0.193995418548584
},
{
"observation_id": "474c13a0-1dd2-4114-9cfc-e48aa3d4a155",
"observation_id": "ccdb2b84-0c2a-456f-90f1-7952da6734fb",
"type": "aruco",
"marker_id": 98,
"marker_size_m": 0.025,
@@ -2584,7 +2584,7 @@
"confidence": 0.1899538473288218
},
{
"observation_id": "6880026f-8a8f-4f39-afab-d1f61682c10f",
"observation_id": "acdb8c0a-ce98-4a6c-ac64-01dba8ba7341",
"type": "aruco",
"marker_id": 83,
"marker_size_m": 0.025,
@@ -2638,7 +2638,7 @@
"confidence": 0.17676838843571283
},
{
"observation_id": "52eaa8b5-13a5-468b-8a32-71cab09b4977",
"observation_id": "ff47093f-bd49-40f7-9b17-394d6939cdbb",
"type": "aruco",
"marker_id": 61,
"marker_size_m": 0.025,
@@ -2692,7 +2692,7 @@
"confidence": 0.1668050360320266
},
{
"observation_id": "733ea2f6-0647-4328-a15d-6df55f9edefb",
"observation_id": "7bfa8d94-8d40-448f-8467-28de7513b26f",
"type": "aruco",
"marker_id": 90,
"marker_size_m": 0.025,
@@ -2746,7 +2746,7 @@
"confidence": 0.17612778902053833
},
{
"observation_id": "85bfd5f7-f16d-43aa-89ed-8a2938a691c6",
"observation_id": "2b2161f2-1b7d-465f-9383-e051c7f98889",
"type": "aruco",
"marker_id": 91,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:50Z",
"created_utc": "2026-06-02T06:12:45Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_b_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:51Z",
"created_utc": "2026-06-02T06:12:46Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_c_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:51Z",
"created_utc": "2026-06-02T06:12:46Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_d_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:51Z",
"created_utc": "2026-06-02T06:12:47Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_e_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:49Z",
"created_utc": "2026-06-02T06:12:44Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "cc8833c3-483f-45be-b428-05137233d155",
"observation_id": "c45769f7-a849-4d3e-9667-ffe1d88f2ea5",
"type": "aruco",
"marker_id": 41,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.9684350014790998
},
{
"observation_id": "906ead93-9f61-439e-bb72-726976aca6e4",
"observation_id": "1d6c1672-54cc-4968-a389-7e5ca59cb0cf",
"type": "aruco",
"marker_id": 43,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.6710680790554111
},
{
"observation_id": "4c58dcb0-8d4c-4df3-ae45-b78bff5dbcb1",
"observation_id": "5588ad73-0509-4eed-9507-77fb21b3dab2",
"type": "aruco",
"marker_id": 42,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.6452379410051939
},
{
"observation_id": "d1ef0cbe-9fcf-4f97-be6e-682af6a48d7c",
"observation_id": "d988ded2-5d9b-45ec-b8e8-63c45962b4d1",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.5737897608508687
},
{
"observation_id": "72888d5a-95dc-4274-8bc7-4f5faca4090e",
"observation_id": "fa82b90f-4923-4e7b-863f-51a1f361e10a",
"type": "aruco",
"marker_id": 46,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.2988751797371847
},
{
"observation_id": "b3804376-4d49-48f9-9b20-003d4c72e58d",
"observation_id": "ef92dda6-e57c-401a-8ca5-d35c8ca87900",
"type": "aruco",
"marker_id": 208,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.5954364184044425
},
{
"observation_id": "d975752a-083e-40b1-b950-b78902f3fd7e",
"observation_id": "8a523bf4-7de7-400b-b523-da205ea6d2f4",
"type": "aruco",
"marker_id": 56,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.5697620483284124
},
{
"observation_id": "61f8e83e-f07e-4716-918d-6db9901a3df1",
"observation_id": "f6f9b56e-75fe-44fb-ad3a-e146aea07855",
"type": "aruco",
"marker_id": 47,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.5768583617164568
},
{
"observation_id": "ab259937-4899-4800-9af5-cef2065a0903",
"observation_id": "400a358a-a2e8-4024-8d00-7afaa6d79b49",
"type": "aruco",
"marker_id": 62,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.5593704450665263
},
{
"observation_id": "211ee52e-3673-4f0c-8472-21561308733b",
"observation_id": "d595c955-d3ae-4ca9-95e2-05f3568bda31",
"type": "aruco",
"marker_id": 54,
"marker_size_m": 0.025,
@@ -586,7 +586,7 @@
"confidence": 0.5766374039623903
},
{
"observation_id": "23745501-fbc4-4218-ac61-9135be2ba643",
"observation_id": "e5dec173-4912-4b88-9cae-4c92ff8a1c40",
"type": "aruco",
"marker_id": 53,
"marker_size_m": 0.025,
@@ -640,7 +640,7 @@
"confidence": 0.21364841201201337
},
{
"observation_id": "e3a11ff7-25ed-44eb-a440-d050a68aa609",
"observation_id": "71662fe2-fb12-41d1-a4c9-dc2127fd2800",
"type": "aruco",
"marker_id": 72,
"marker_size_m": 0.025,
@@ -694,7 +694,7 @@
"confidence": 0.5755104606164277
},
{
"observation_id": "d095b301-aef4-4e3c-a2dc-8a98b9418450",
"observation_id": "d0899e09-a423-4fa3-9b64-420cd0db7e4a",
"type": "aruco",
"marker_id": 97,
"marker_size_m": 0.025,
@@ -748,7 +748,7 @@
"confidence": 0.5705029634947052
},
{
"observation_id": "806aa8f7-87fd-4537-8d63-cfb329396b04",
"observation_id": "101a773b-720d-49ff-92dc-c6412687a31b",
"type": "aruco",
"marker_id": 55,
"marker_size_m": 0.025,
@@ -802,7 +802,7 @@
"confidence": 0.5461315019106076
},
{
"observation_id": "96b5f5fa-5d18-4e29-9805-273e9e2de45b",
"observation_id": "4a27328a-a08c-4afa-8b3c-bebb667a8fbf",
"type": "aruco",
"marker_id": 96,
"marker_size_m": 0.025,
@@ -856,7 +856,7 @@
"confidence": 0.5763709732716893
},
{
"observation_id": "6571f37a-c323-43b3-8740-8c1dbba309e8",
"observation_id": "36f2532d-d82b-4ee6-a55a-288661d461a1",
"type": "aruco",
"marker_id": 84,
"marker_size_m": 0.025,
@@ -910,7 +910,7 @@
"confidence": 0.06519221426443914
},
{
"observation_id": "3b7ab41e-8357-4e9f-8e4d-7e9390a7c2ab",
"observation_id": "34ce2f9b-7407-43d1-890c-2d6fa89a7f3a",
"type": "aruco",
"marker_id": 66,
"marker_size_m": 0.025,
@@ -964,7 +964,7 @@
"confidence": 0.5349107016469481
},
{
"observation_id": "e9c14281-c628-4856-ac5a-b274702a9eec",
"observation_id": "c2c8c2e5-3780-4dd5-a849-88bfe15f78f2",
"type": "aruco",
"marker_id": 79,
"marker_size_m": 0.025,
@@ -1018,7 +1018,7 @@
"confidence": 0.5342723833872263
},
{
"observation_id": "eb46fa64-f3d8-4898-a885-211448cb2f04",
"observation_id": "004c21bf-b86c-4829-be5c-77f44680fa48",
"type": "aruco",
"marker_id": 95,
"marker_size_m": 0.025,
@@ -1072,7 +1072,7 @@
"confidence": 0.5227826547122322
},
{
"observation_id": "860884a6-79e5-4d77-a79f-56788516bde2",
"observation_id": "6c95a32c-04d6-4c75-978d-20d0931d3664",
"type": "aruco",
"marker_id": 51,
"marker_size_m": 0.025,
@@ -1126,7 +1126,7 @@
"confidence": 0.5111500432161571
},
{
"observation_id": "82b9c91d-67a3-422a-acc8-4150f3cb110b",
"observation_id": "e34ccefd-9f1d-47df-a78a-e8e2701b1668",
"type": "aruco",
"marker_id": 103,
"marker_size_m": 0.025,
@@ -1180,7 +1180,7 @@
"confidence": 0.5046333482067283
},
{
"observation_id": "9a7c0213-1961-4628-9ff6-cd9d6a6b3c8c",
"observation_id": "56cb7108-5345-413a-be0a-eb91096b060e",
"type": "aruco",
"marker_id": 73,
"marker_size_m": 0.025,
@@ -1234,7 +1234,7 @@
"confidence": 0.13607001327160623
},
{
"observation_id": "84b36d59-29b9-4c51-9a09-0bb33686d536",
"observation_id": "79b1d669-00e2-4608-aeb8-0f5408a6acd7",
"type": "aruco",
"marker_id": 210,
"marker_size_m": 0.025,
@@ -1288,7 +1288,7 @@
"confidence": 0.46988879526830113
},
{
"observation_id": "033bcc58-9052-4bc9-9257-7698957dffe6",
"observation_id": "79296b2f-84e9-443a-9a8d-b27858dfdb97",
"type": "aruco",
"marker_id": 58,
"marker_size_m": 0.025,
@@ -1342,7 +1342,7 @@
"confidence": 0.4655541127751829
},
{
"observation_id": "a09f27ed-a0e9-4120-806d-6de8acfc8895",
"observation_id": "563fb911-52ed-4725-b5c5-51eaeb560a87",
"type": "aruco",
"marker_id": 69,
"marker_size_m": 0.025,
@@ -1396,7 +1396,7 @@
"confidence": 0.4655541127751829
},
{
"observation_id": "b0f99014-a0fb-425d-b1ef-ed2703b75aa1",
"observation_id": "7f6ae2b5-3679-479b-9655-aff84300bf28",
"type": "aruco",
"marker_id": 82,
"marker_size_m": 0.025,
@@ -1450,7 +1450,7 @@
"confidence": 0.49001748422717006
},
{
"observation_id": "43e2c11b-e176-4c5d-8a6f-3d33cb8bb45c",
"observation_id": "4cd95335-275d-45ce-8461-4cb1de7b3db1",
"type": "aruco",
"marker_id": 101,
"marker_size_m": 0.025,
@@ -1504,7 +1504,7 @@
"confidence": 0.46225891142368675
},
{
"observation_id": "e70cb664-4996-4cb6-8658-bcf3d64c1ad6",
"observation_id": "e4e7ba85-3ba5-47cf-98f1-67ffa9908422",
"type": "aruco",
"marker_id": 64,
"marker_size_m": 0.025,
@@ -1558,7 +1558,7 @@
"confidence": 0.43211414091114625
},
{
"observation_id": "4fa38fc3-b109-49dc-a432-4bf16f946a2c",
"observation_id": "298e22d3-1e6f-4e03-86b9-efc466a7c124",
"type": "aruco",
"marker_id": 52,
"marker_size_m": 0.025,
@@ -1612,7 +1612,7 @@
"confidence": 0.45411789642863376
},
{
"observation_id": "61b95c00-87b9-438a-9e92-c5029072848f",
"observation_id": "a9781f29-6113-4a54-9f5b-9d7623d24231",
"type": "aruco",
"marker_id": 113,
"marker_size_m": 0.025,
@@ -1666,7 +1666,7 @@
"confidence": 0.11347147338995772
},
{
"observation_id": "a82fa8cc-5b77-4f8e-a4f6-9cd52d8fc3f5",
"observation_id": "c3311b08-b1a2-43c7-931a-82e4f408a1a3",
"type": "aruco",
"marker_id": 83,
"marker_size_m": 0.025,
@@ -1720,7 +1720,7 @@
"confidence": 0.4377857805109236
},
{
"observation_id": "284535a0-de51-45a3-b12e-43a1a4d83980",
"observation_id": "0ab9b993-2727-4285-9b51-21dedfe12e63",
"type": "aruco",
"marker_id": 75,
"marker_size_m": 0.025,
@@ -1774,7 +1774,7 @@
"confidence": 0.22473325223116958
},
{
"observation_id": "14fd473a-d68c-4a8c-bf72-c76aaca16b6b",
"observation_id": "631ad3a6-35e2-406e-aefb-9d0036299cfe",
"type": "aruco",
"marker_id": 243,
"marker_size_m": 0.025,
@@ -1828,7 +1828,7 @@
"confidence": 0.13402725127354712
},
{
"observation_id": "dffaf77e-fc8c-46f6-8b73-3424b2fc9b14",
"observation_id": "0cda7f2c-4bd3-4595-b8a2-f329b52410a1",
"type": "aruco",
"marker_id": 248,
"marker_size_m": 0.025,
@@ -1882,7 +1882,7 @@
"confidence": 0.07116905162666477
},
{
"observation_id": "a042ba99-9f32-4bc3-b9de-eb07b77ab713",
"observation_id": "ed724555-8599-4cd4-a4a5-796f6b3391df",
"type": "aruco",
"marker_id": 245,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:52Z",
"created_utc": "2026-06-02T06:12:47Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_f_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:49Z",
"created_utc": "2026-06-02T06:12:45Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "011fd8e4-870d-4d54-984e-fa9c04156be9",
"observation_id": "ebbee167-062e-4add-810f-6a6e4a224526",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.6173789204094284
},
{
"observation_id": "4736be80-336b-48a4-b7d8-364f35092ab9",
"observation_id": "5f3f2589-e412-476e-aacd-f8327dd23ff0",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.6160882115990324
},
{
"observation_id": "49805e3d-8b2d-4e84-b55f-1c61bbac7a19",
"observation_id": "236c7173-cf28-4cc2-8a31-3d5f31b99167",
"type": "aruco",
"marker_id": 42,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.2722366816212343
},
{
"observation_id": "bf81cd85-b628-40ba-aac5-c242a2761a50",
"observation_id": "22577033-f360-46e4-8907-f714bb5bae9b",
"type": "aruco",
"marker_id": 84,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.3490767193505014
},
{
"observation_id": "6a589d6b-4164-42a2-8fe0-751c025a1129",
"observation_id": "5c491eaf-7128-449b-b7eb-30e96edc1a2a",
"type": "aruco",
"marker_id": 64,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.5331747682067169
},
{
"observation_id": "40d4a7d8-7eca-4d38-9b75-edb7ebc4d58c",
"observation_id": "a99fe0e9-78b3-408f-91f3-253b179cbfe4",
"type": "aruco",
"marker_id": 72,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.43254677700170213
},
{
"observation_id": "7050fb85-b50d-4715-81ac-81b4f513664f",
"observation_id": "436c3bf4-12c7-40da-8720-3b18e3aa68a6",
"type": "aruco",
"marker_id": 53,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.27711751756945874
},
{
"observation_id": "9e532dfd-3fe0-47a8-a019-269bcfe452fa",
"observation_id": "e1fc6927-f9f7-4fd9-87d2-cd26c73d3289",
"type": "aruco",
"marker_id": 58,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.48073279309443956
},
{
"observation_id": "e8dec3d8-ce02-4213-a946-26a12c47d75a",
"observation_id": "83284dea-ddf7-4c85-a1fc-5c05dfd76e0a",
"type": "aruco",
"marker_id": 69,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.45546210617301425
},
{
"observation_id": "06745fad-3381-448b-9b7b-f3e747888dc0",
"observation_id": "36013164-432e-4208-9481-3ec1abd4dbe1",
"type": "aruco",
"marker_id": 103,
"marker_size_m": 0.025,
@@ -586,7 +586,7 @@
"confidence": 0.47991555158957017
},
{
"observation_id": "05c6c1ee-8a14-4588-9f62-f232a58122fd",
"observation_id": "106c5050-c0e3-44b9-939a-521105cd8ba1",
"type": "aruco",
"marker_id": 51,
"marker_size_m": 0.025,
@@ -640,7 +640,7 @@
"confidence": 0.4668259742313624
},
{
"observation_id": "2384f27d-cbe6-4ea0-8ca5-66fde74b5aef",
"observation_id": "b722c7e4-39cc-424c-8929-46ce45bf7e02",
"type": "aruco",
"marker_id": 56,
"marker_size_m": 0.025,
@@ -694,7 +694,7 @@
"confidence": 0.39662908657084783
},
{
"observation_id": "9c8d1be6-97e5-4ad3-8db9-d10983fd4a6b",
"observation_id": "c1170b17-5275-4cc8-b154-1787b62dcac5",
"type": "aruco",
"marker_id": 46,
"marker_size_m": 0.025,
@@ -748,7 +748,7 @@
"confidence": 0.1698001278724927
},
{
"observation_id": "dbdf18b7-6d3a-4ae1-ab74-ab915bc99e18",
"observation_id": "8f1a7655-1512-457e-b2e6-f6ce2d2cb0e9",
"type": "aruco",
"marker_id": 68,
"marker_size_m": 0.025,
@@ -802,7 +802,7 @@
"confidence": 0.07718187630567852
},
{
"observation_id": "0a558698-c413-4a08-8e2a-0e8c5b8a4fa9",
"observation_id": "5c53b180-4ef4-432a-add9-1c5e6edc0d4c",
"type": "aruco",
"marker_id": 208,
"marker_size_m": 0.025,
@@ -856,7 +856,7 @@
"confidence": 0.4316478958478293
},
{
"observation_id": "7da48bd1-1204-44c3-a075-ef60d17f88b9",
"observation_id": "1df93a9b-bce4-42e7-a14f-07ff75dcba30",
"type": "aruco",
"marker_id": 95,
"marker_size_m": 0.025,
@@ -910,7 +910,7 @@
"confidence": 0.4181682027393045
},
{
"observation_id": "aeab0d0f-0e3c-472a-90ef-52d06d1801a8",
"observation_id": "a3b1844b-b7e3-4b2f-8b70-7e25af8a0bf5",
"type": "aruco",
"marker_id": 55,
"marker_size_m": 0.025,
@@ -964,7 +964,7 @@
"confidence": 0.39668368657567366
},
{
"observation_id": "86852613-c7f9-4e23-8b31-976e4e717b27",
"observation_id": "84bdf7a7-05bf-486d-9bfb-5f8a26c9f154",
"type": "aruco",
"marker_id": 66,
"marker_size_m": 0.025,
@@ -1018,7 +1018,7 @@
"confidence": 0.3829765144945479
},
{
"observation_id": "b7122e4d-330d-45a6-a048-aae5115410d7",
"observation_id": "0f51dc2e-352e-4c15-80b2-58c7d4861767",
"type": "aruco",
"marker_id": 217,
"marker_size_m": 0.025,
@@ -1072,7 +1072,7 @@
"confidence": 0.3382587531306593
},
{
"observation_id": "5ec3a4c6-4f3c-4e4d-801d-cec245b8b1c5",
"observation_id": "ed86b4ed-6d28-49a9-abdf-c488ddbdc937",
"type": "aruco",
"marker_id": 97,
"marker_size_m": 0.025,
@@ -1126,7 +1126,7 @@
"confidence": 0.3623898971459892
},
{
"observation_id": "e6954753-1700-421e-b579-3db8b131ba7f",
"observation_id": "0d3b9fb6-2c67-40ec-b7a9-b779339d0078",
"type": "aruco",
"marker_id": 114,
"marker_size_m": 0.025,
@@ -1180,7 +1180,7 @@
"confidence": 0.10219899885152585
},
{
"observation_id": "ea81a575-0d6d-4dc3-b82a-d927c8ec996b",
"observation_id": "9219bb09-16a9-4714-b92f-40e7f84e7103",
"type": "aruco",
"marker_id": 54,
"marker_size_m": 0.025,
@@ -1234,7 +1234,7 @@
"confidence": 0.3590718541167963
},
{
"observation_id": "7d328cad-a1c3-4ad9-bc15-4342eaa1d116",
"observation_id": "6c5f6610-1bbe-446f-bc23-7c0520b201f7",
"type": "aruco",
"marker_id": 205,
"marker_size_m": 0.025,
@@ -1288,7 +1288,7 @@
"confidence": 0.29591817114314195
},
{
"observation_id": "c6e74f16-14a3-4c0f-b3ef-bf33e9775164",
"observation_id": "6173140e-8bfe-478b-9344-c66a16e07cf4",
"type": "aruco",
"marker_id": 92,
"marker_size_m": 0.025,
@@ -1342,7 +1342,7 @@
"confidence": 0.3158166687011719
},
{
"observation_id": "c63185d5-b86f-44a9-90dc-0b4b7fd581b5",
"observation_id": "2d6d68dc-465e-4ea8-818d-2f74430d60d5",
"type": "aruco",
"marker_id": 105,
"marker_size_m": 0.025,
@@ -1396,7 +1396,7 @@
"confidence": 0.31800273344664126
},
{
"observation_id": "627ba061-49bc-4789-80ed-f4e5aa725801",
"observation_id": "4c372196-d465-4b93-bb9b-473c525ffc29",
"type": "aruco",
"marker_id": 85,
"marker_size_m": 0.025,
@@ -1450,7 +1450,7 @@
"confidence": 0.2969848480224609
},
{
"observation_id": "be55c957-2d7e-4fbd-a948-76882b24c7be",
"observation_id": "be594088-99e2-4b8a-b97f-1e3531f03b68",
"type": "aruco",
"marker_id": 102,
"marker_size_m": 0.025,
@@ -1504,7 +1504,7 @@
"confidence": 0.3170967427530611
},
{
"observation_id": "414dff3a-85cd-4f2a-b6a2-118f7b081594",
"observation_id": "2ec937f5-a5fc-4d9d-b5c0-680232e75138",
"type": "aruco",
"marker_id": 59,
"marker_size_m": 0.025,
@@ -1558,7 +1558,7 @@
"confidence": 0.3170967427530611
},
{
"observation_id": "2b302742-1b96-4eb2-bf39-67c236a9bf15",
"observation_id": "c1c35e8a-0023-4aa5-b9b8-a7849adc80d5",
"type": "aruco",
"marker_id": 48,
"marker_size_m": 0.025,
@@ -1612,7 +1612,7 @@
"confidence": 0.17828567290874034
},
{
"observation_id": "cb12b090-37d1-49b6-9529-3de73313ce55",
"observation_id": "7392c064-6880-48c8-9d52-ed0266b34020",
"type": "aruco",
"marker_id": 57,
"marker_size_m": 0.025,
@@ -1666,7 +1666,7 @@
"confidence": 0.3167426670523156
},
{
"observation_id": "ba4bc041-a30f-4afd-9e84-e4fb7f701d38",
"observation_id": "b6a5f371-1dbd-4f1b-a05d-78bd105afbda",
"type": "aruco",
"marker_id": 120,
"marker_size_m": 0.025,
@@ -1720,7 +1720,7 @@
"confidence": 0.07824437489153448
},
{
"observation_id": "3cc602d2-faf3-4c24-a0b5-4d94fe52b6e1",
"observation_id": "ccd28cf2-9ef7-4d7d-91f1-98d0d8728dfb",
"type": "aruco",
"marker_id": 63,
"marker_size_m": 0.025,
@@ -1774,7 +1774,7 @@
"confidence": 0.15449597168691093
},
{
"observation_id": "45e0d5b4-a749-4a5f-a4c5-ecb9a043e13d",
"observation_id": "8eb5351f-46e5-4e49-9fa3-8fd660fff7cb",
"type": "aruco",
"marker_id": 71,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:04:52Z",
"created_utc": "2026-06-02T06:12:47Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene6\\render_g_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:05:09Z",
"created_utc": "2026-06-02T06:13:02Z",
"method": "hybrid",
"movements": {
"x": {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:53Z",
"created_utc": "2026-06-02T09:26:17Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_a_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "a",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -36,26 +36,27 @@
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 18,
"num_used_markers": 19,
"used_marker_ids": [
47,
97,
95,
103,
54,
55,
210,
47,
85,
79,
105,
96,
62,
105,
75,
102,
92,
217,
61,
83,
217,
205,
206,
207,
84,
86,
93
86
],
"history": {
"iters": [
@@ -65,10 +66,10 @@
3
],
"rms": [
0.013441296790671579,
0.0009558010419370985,
8.508680576429123e-05,
8.500249149030952e-05
0.014050660389386072,
0.0019551714052788573,
0.0013565607940098775,
0.0013565007069067025
],
"lambda": [
0.001,
@@ -77,373 +78,386 @@
0.000125
]
},
"residual_rms_px": 0.2137082535265442,
"residual_median_px": 0.17923585982646273,
"residual_max_px": 0.3627677590402337,
"sigma2_normalized": 8.67050826886587e-09
"residual_rms_px": 3.8375126424446826,
"residual_median_px": 3.4420482391744414,
"residual_max_px": 7.291809537742419,
"sigma2_normalized": 2.1851118239213286e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.808061420917511,
-0.5890982151031494,
0.00016743359446991235
0.808310329914093,
-0.5887559056282043,
-0.0009415852255187929
],
[
-0.3431582450866699,
-0.47093844413757324,
-0.812686562538147
-0.34446093440055847,
-0.4716165363788605,
-0.8117416501045227
],
[
0.47883105278015137,
0.6566431522369385,
-0.5827010869979858
0.4774736166000366,
0.6564635038375854,
-0.5840159058570862
]
],
"translation_m": [
-0.2288912832736969,
0.17077402770519257,
1.1346460580825806
-0.2279779016971588,
0.172822505235672,
1.135242223739624
],
"rvec_rad": [
2.1062721704584626,
-0.6861604143367729,
0.3525529851457585
2.107578289598531,
-0.6867551721595043,
0.35068038513244587
]
},
"camera_in_world": {
"position_m": [
-0.29974305629730225,
-0.799472987651825,
0.7999836206436157
-0.2982407212257385,
-0.797962486743927,
0.8030720949172974
],
"position_mm": [
-299.7430419921875,
-799.4729614257812,
799.983642578125
-298.24072265625,
-797.9624633789062,
803.0720825195312
],
"orientation_deg": {
"roll": 131.5856475830078,
"pitch": -28.60908317565918,
"yaw": -23.009401321411133
"roll": 131.6575469970703,
"pitch": -28.52052879333496,
"yaw": -23.081247329711914
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
4.619516113690007e-08,
-1.397013616170484e-08,
6.77165387146007e-10,
2.6255328604640674e-09,
6.9221642875853046e-09,
1.1551146891620539e-08
1.4819141868035026e-05,
-3.4064510055306064e-06,
-2.3467495497603728e-07,
8.812094944895524e-07,
9.249437903001185e-07,
4.57595419491434e-06
],
[
-1.397013616170492e-08,
2.1346982374784157e-08,
-1.0945260787939212e-08,
-5.056690816415971e-09,
-5.392222017373122e-09,
-1.0216059919932632e-09
-3.406451005530592e-06,
5.255680816104284e-06,
-2.1601747739510241e-07,
-5.806279006751281e-07,
-1.5093777402719595e-06,
-9.475792042003259e-07
],
[
6.771653871460158e-10,
-1.0945260787939108e-08,
5.758944809931949e-08,
9.452206570751754e-09,
-5.2965880605660184e-09,
-1.2892253725614578e-08
-2.3467495497611002e-07,
-2.1601747739507348e-07,
1.531992654033375e-05,
9.502362724765348e-07,
-2.409151774135498e-06,
-5.059620255334367e-06
],
[
2.625532860464083e-09,
-5.056690816415959e-09,
9.452206570751771e-09,
3.05558688629712e-09,
3.175839917780105e-10,
-1.0899016346683564e-10
8.812094944895473e-07,
-5.806279006751256e-07,
9.50236272476535e-07,
4.031737957813195e-07,
9.979184700506782e-08,
6.194766057970748e-07
],
[
6.922164287585328e-09,
-5.392222017373144e-09,
-5.296588060565982e-09,
3.175839917780176e-10,
3.66582146497886e-09,
3.97012482221086e-09
9.249437903001251e-07,
-1.5093777402719645e-06,
-2.4091517741354934e-06,
9.979184700506945e-08,
1.0869004217982035e-06,
1.695732528180125e-06
],
[
1.1551146891620583e-08,
-1.0216059919933101e-09,
-1.2892253725614462e-08,
-1.089901634668158e-10,
3.970124822210858e-09,
2.1045876808511416e-08
4.5759541949143614e-06,
-9.475792042003393e-07,
-5.0596202553343715e-06,
6.194766057970809e-07,
1.695732528180127e-06,
7.858329169401267e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.012314616044360916,
0.008371260914195077,
0.013749727485085577
0.22056376181528614,
0.131352131146556,
0.22425956418472115
],
"tvec_std_m": [
5.5277363235750675e-05,
6.054602765647685e-05,
0.0001450719711333358
0.0006349596804375216,
0.0010425451653517,
0.0028032711551687728
]
},
"camera_center_std_m": [
0.00023994135596817505,
0.00024214683459045368,
0.0002648537946420537
0.003418118869283793,
0.003569359670352258,
0.004446754717414488
],
"camera_center_std_mm": [
0.23994135596817504,
0.2421468345904537,
0.2648537946420537
3.4181188692837927,
3.569359670352258,
4.446754717414488
],
"orientation_std_deg": {
"roll": 0.01717226512443145,
"pitch": 0.011125285518906196,
"yaw": 0.008426889172714924
"roll": 0.2759010196581653,
"pitch": 0.17020948503814737,
"yaw": 0.14343468149492686
}
}
},
"observations": {
"markers": [
{
"marker_id": 47,
"marker_id": 97,
"observed_center_px": [
984.25,
690.75
1153.5,
1024.0
],
"projected_center_px": [
983.9130859375,
690.8455810546875
1152.0242919921875,
1028.103271484375
],
"reprojection_error_px": 0.3502096850822786,
"confidence": 0.12146268776527554
"reprojection_error_px": 4.360567738128483,
"confidence": 0.5552771897514882
},
{
"marker_id": 95,
"observed_center_px": [
881.0,
1031.0
],
"projected_center_px": [
876.95849609375,
1028.6004638671875
],
"reprojection_error_px": 4.700162494734281,
"confidence": 0.4935894813040658
},
{
"marker_id": 103,
"observed_center_px": [
660.75,
999.5
],
"projected_center_px": [
660.0728759765625,
995.9258422851562
],
"reprojection_error_px": 3.637732853535741,
"confidence": 0.84707047599869
},
{
"marker_id": 54,
"observed_center_px": [
1154.75,
961.0
],
"projected_center_px": [
1161.872314453125,
962.5630493164062
],
"reprojection_error_px": 7.291809537742419,
"confidence": 0.7282891890663058
},
{
"marker_id": 55,
"observed_center_px": [
997.25,
932.0
],
"projected_center_px": [
998.5267944335938,
934.5614624023438
],
"reprojection_error_px": 2.8620436167669774,
"confidence": 0.8181372023761201
},
{
"marker_id": 210,
"observed_center_px": [
324.0,
632.0
369.0,
845.25
],
"projected_center_px": [
324.11334228515625,
632.0877685546875
366.5543212890625,
847.2669067382812
],
"reprojection_error_px": 0.14335198916085318,
"confidence": 0.46829700346999537
"reprojection_error_px": 3.1700563320006196,
"confidence": 0.5810048492836246
},
{
"marker_id": 47,
"observed_center_px": [
1108.0,
915.0
],
"projected_center_px": [
1106.8829345703125,
913.100341796875
],
"reprojection_error_px": 2.203755082331751,
"confidence": 0.673003184644651
},
{
"marker_id": 85,
"observed_center_px": [
1183.75,
610.25
1335.25,
821.75
],
"projected_center_px": [
1183.8746337890625,
610.302978515625
1331.8497314453125,
822.28466796875
],
"reprojection_error_px": 0.13542638034705098,
"confidence": 0.4560525484643318
"reprojection_error_px": 3.4420482391744414,
"confidence": 0.5671985638906173
},
{
"marker_id": 79,
"observed_center_px": [
814.0,
599.0
915.5,
810.25
],
"projected_center_px": [
814.25634765625,
598.981689453125
916.2682495117188,
809.2759399414062
],
"reprojection_error_px": 0.25700077235629026,
"confidence": 0.5734281513866332
},
{
"marker_id": 96,
"observed_center_px": [
905.25,
587.25
],
"projected_center_px": [
905.1751708984375,
587.0191650390625
],
"reprojection_error_px": 0.24266061409233286,
"confidence": 0.525542829627259
},
{
"marker_id": 62,
"observed_center_px": [
931.0,
557.5
],
"projected_center_px": [
931.0681762695312,
557.4588012695312
],
"reprojection_error_px": 0.07965763691846725,
"confidence": 0.5038606541951498
"reprojection_error_px": 1.24056451263276,
"confidence": 0.6379888898897331
},
{
"marker_id": 105,
"observed_center_px": [
1150.25,
560.25
1293.25,
769.0
],
"projected_center_px": [
1150.072021484375,
560.2947387695312
1293.6839599609375,
765.72705078125
],
"reprojection_error_px": 0.1835154203963489,
"confidence": 0.43622925667631085
"reprojection_error_px": 3.3015932269456076,
"confidence": 0.4930858463652647
},
{
"marker_id": 75,
"marker_id": 96,
"observed_center_px": [
128.5,
514.75
1017.75,
792.75
],
"projected_center_px": [
128.4539031982422,
514.6677856445312
1018.2994384765625,
795.7850341796875
],
"reprojection_error_px": 0.09425558539121726,
"confidence": 0.29844141482805986
"reprojection_error_px": 3.0843662414503723,
"confidence": 0.6155508349839959
},
{
"marker_id": 62,
"observed_center_px": [
1041.0,
763.0
],
"projected_center_px": [
1047.349365234375,
762.4228515625
],
"reprojection_error_px": 6.375542267007457,
"confidence": 0.5102273577584145
},
{
"marker_id": 102,
"observed_center_px": [
1217.75,
461.5
1372.5,
654.0
],
"projected_center_px": [
1217.802001953125,
461.4224853515625
1369.95751953125,
654.0205688476562
],
"reprojection_error_px": 0.0933419726125601,
"confidence": 0.2521714913889437
"reprojection_error_px": 2.542563669108234,
"confidence": 0.3523728932703565
},
{
"marker_id": 92,
"observed_center_px": [
1173.25,
437.75
1323.25,
628.5
],
"projected_center_px": [
1173.1270751953125,
437.9108581542969
1319.57177734375,
627.453369140625
],
"reprojection_error_px": 0.20244963178839637,
"confidence": 0.31777455864589965
},
{
"marker_id": 217,
"observed_center_px": [
1087.75,
347.0
],
"projected_center_px": [
1087.92431640625,
347.0018310546875
],
"reprojection_error_px": 0.17432602286860002,
"confidence": 0.3029173397022545
"reprojection_error_px": 3.824233003459237,
"confidence": 0.3667945046841247
},
{
"marker_id": 61,
"observed_center_px": [
58.5,
415.5
68.75,
603.5
],
"projected_center_px": [
58.642295837402344,
415.5400390625
68.0721435546875,
602.9769287109375
],
"reprojection_error_px": 0.1478216217875895,
"confidence": 0.1527342148240039
"reprojection_error_px": 0.8562084640396892,
"confidence": 0.2479407110577365
},
{
"marker_id": 83,
"marker_id": 217,
"observed_center_px": [
139.0,
383.0
1219.5,
526.5
],
"projected_center_px": [
138.90614318847656,
383.0179748535156
1223.5826416015625,
524.9906616210938
],
"reprojection_error_px": 0.095562526276016,
"confidence": 0.19743498130596515
"reprojection_error_px": 4.352707753668763,
"confidence": 0.37106712222869814
},
{
"marker_id": 205,
"observed_center_px": [
1323.25,
477.0
],
"projected_center_px": [
1319.5576171875,
477.3504638671875
],
"reprojection_error_px": 3.7089777238815316,
"confidence": 0.302172408209113
},
{
"marker_id": 206,
"observed_center_px": [
1013.0,
301.0
1140.25,
473.25
],
"projected_center_px": [
1013.3571166992188,
300.93621826171875
1139.712890625,
473.0404357910156
],
"reprojection_error_px": 0.3627677590402337,
"confidence": 0.2849187633475991
},
{
"marker_id": 207,
"observed_center_px": [
1098.0,
262.0
],
"projected_center_px": [
1097.9405517578125,
261.8127136230469
],
"reprojection_error_px": 0.196494988463858,
"confidence": 0.24627951083020566
},
{
"marker_id": 84,
"observed_center_px": [
579.25,
279.75
],
"projected_center_px": [
579.1668090820312,
279.55206298828125
],
"reprojection_error_px": 0.21470861519890594,
"confidence": 0.1988568274481309
"reprojection_error_px": 0.5765445675749078,
"confidence": 0.3365648061477581
},
{
"marker_id": 86,
"observed_center_px": [
514.0,
278.75
575.0,
447.0
],
"projected_center_px": [
513.7302856445312,
278.986572265625
579.1835327148438,
448.5457458496094
],
"reprojection_error_px": 0.358764923604397,
"confidence": 0.17646704338372862
},
{
"marker_id": 93,
"observed_center_px": [
1104.25,
154.5
],
"projected_center_px": [
1104.2188720703125,
154.6721649169922
],
"reprojection_error_px": 0.17495629925657652,
"confidence": 0.15396639291733288
"reprojection_error_px": 4.459963700272966,
"confidence": 0.23837700458521172
}
]
},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:54Z",
"created_utc": "2026-06-02T09:26:18Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_c_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "c",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -36,218 +36,252 @@
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 4,
"num_used_markers": 6,
"used_marker_ids": [
208,
214,
210,
53
58,
96,
62,
64,
103,
79
],
"history": {
"iters": [
0,
1,
2,
3
3,
4,
5
],
"rms": [
0.00815907053784058,
0.00038889026461633554,
8.059741566258575e-05,
8.057603531058918e-05
0.008060964890453673,
0.001687788907003638,
0.001615771600648295,
0.0016144804680602973,
0.0016144588069979954,
0.0016144587116802625
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125
0.000125,
6.25e-05,
3.125e-05
]
},
"residual_rms_px": 0.20259041142176823,
"residual_median_px": 0.15068860335028333,
"residual_max_px": 0.3306448827815234,
"sigma2_normalized": 2.5969989343700774e-08
"residual_rms_px": 4.569664709614535,
"residual_median_px": 3.4097577854259855,
"residual_max_px": 7.300332489835429,
"sigma2_normalized": 5.212953862940554e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.993758499622345,
0.1115521565079689,
-0.00043949359678663313
0.9903468489646912,
0.1377483606338501,
-0.015441976487636566
],
[
0.03268022835254669,
-0.2948930859565735,
-0.9549712538719177
0.017909228801727295,
-0.23763218522071838,
-0.9711900949478149
],
[
-0.1066587045788765,
0.9489964246749878,
-0.29669803380966187
-0.13744935393333435,
0.961538553237915,
-0.23780524730682373
]
],
"translation_m": [
-0.1977902352809906,
0.10628540813922882,
1.004310965538025
-0.19436030089855194,
0.11987753957509995,
1.0130555629730225
],
"rvec_rad": [
1.8698444553315385,
0.1043155347711448,
-0.07745837314462278
1.808717924054327,
0.11417895302102635,
-0.11214983000389785
]
},
"camera_in_world": {
"position_m": [
0.30020081996917725,
-0.8996807336807251,
0.39938968420028687
0.32958102226257324,
-0.9188324213027954,
0.35433250665664673
],
"position_mm": [
300.2008056640625,
-899.6807250976562,
399.3896789550781
329.5810241699219,
-918.8323974609375,
354.33251953125
],
"orientation_deg": {
"roll": 107.36153411865234,
"pitch": 6.122739791870117,
"yaw": 1.8835203647613525
"roll": 103.89148712158203,
"pitch": 7.900278091430664,
"yaw": 1.036012053489685
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
8.246326043381866e-07,
1.2959856028252544e-07,
1.9490143121569102e-07,
9.573930417634736e-09,
-5.2672319999591544e-08,
5.321782151119725e-08
0.0034778393481963584,
4.4185978631961e-05,
-8.003370492743897e-05,
-1.3856173739953472e-05,
-0.0006477614289393936,
-0.00024635032155738646
],
[
1.295985602825249e-07,
3.532319095277726e-07,
-1.0692949930590009e-07,
5.005679212475838e-09,
-5.3080608967819447e-08,
9.967726495155003e-08
4.418597863194223e-05,
0.00034590636036440205,
-0.0007080640933831824,
0.0001018082839319476,
9.41127144867031e-07,
6.005180402876456e-05
],
[
1.9490143121568835e-07,
-1.0692949930589784e-07,
7.262839896596602e-07,
1.9345880069809947e-09,
-9.100117867657551e-08,
-1.834612034473196e-07
-8.00337049273839e-05,
-0.0007080640933831868,
0.0015948179675871477,
-0.00021944776536572794,
-1.6134946696694943e-05,
-0.00013257695677967442
],
[
9.57393041763478e-09,
5.005679212475731e-09,
1.9345880069806957e-09,
8.309753146754929e-09,
1.344349962827341e-09,
2.2053170650725068e-08
-1.3856173739960179e-05,
0.00010180828393194783,
-0.00021944776536572701,
3.157531134555321e-05,
6.170838505855742e-06,
2.0129025127002506e-05
],
[
-5.2672319999591e-08,
-5.308060896781994e-08,
-9.100117867657526e-08,
1.344349962827285e-09,
3.4310938619868394e-08,
3.7279011506444744e-08
-0.0006477614289393956,
9.411271448637507e-07,
-1.6134946696685015e-05,
6.170838505854559e-06,
0.000123297985756716,
5.1645302279776396e-05
],
[
5.3217821511198174e-08,
9.967726495154872e-08,
-1.8346120344732167e-07,
2.2053170650725124e-08,
3.727901150644531e-08,
2.94676495254624e-07
-0.00024635032155739264,
6.005180402876332e-05,
-0.00013257695677966987,
2.0129025127002035e-05,
5.164530227977739e-05,
4.347468886868764e-05
]
],
"parameter_std": {
"rvec_std_deg": [
0.05202988708375333,
0.03405278190727662,
0.048828779353641404
3.3789159647111244,
1.065618879484457,
2.2881168132566816
],
"tvec_std_m": [
9.11578474227805e-05,
0.00018523212091823706,
0.0005428411326112126
0.0056191913426714,
0.011103962615062966,
0.006593533868017032
]
},
"camera_center_std_m": [
0.0007788493900434405,
0.0005268799492092695,
0.0008621405191751387
0.03208084066179351,
0.024173204971729725,
0.043013438612719584
],
"camera_center_std_mm": [
0.7788493900434406,
0.5268799492092695,
0.8621405191751387
32.08084066179351,
24.173204971729724,
43.01343861271958
],
"orientation_std_deg": {
"roll": 0.05852006383811758,
"pitch": 0.041075651933117956,
"yaw": 0.03201289781064694
"roll": 3.1584093553030326,
"pitch": 2.1085372628857764,
"yaw": 0.6097578410878511
}
}
},
"observations": {
"markers": [
{
"marker_id": 208,
"marker_id": 58,
"observed_center_px": [
922.5,
650.25
283.25,
1033.75
],
"projected_center_px": [
922.323486328125,
650.3744506835938
285.57012939453125,
1034.13916015625
],
"reprojection_error_px": 0.21597464898859506,
"confidence": 0.2964796698261984
"reprojection_error_px": 2.352540336440689,
"confidence": 0.3455642187784726
},
{
"marker_id": 214,
"marker_id": 96,
"observed_center_px": [
916.25,
583.75
1097.25,
1038.25
],
"projected_center_px": [
916.5070190429688,
583.5419921875
1089.95361328125,
1038.010009765625
],
"reprojection_error_px": 0.3306448827815234,
"confidence": 0.21966133686197709
"reprojection_error_px": 7.300332489835429,
"confidence": 0.24498606281991034
},
{
"marker_id": 210,
"marker_id": 62,
"observed_center_px": [
314.25,
563.5
1171.5,
1028.25
],
"projected_center_px": [
314.2375183105469,
563.5274047851562
1177.969970703125,
1029.0487060546875
],
"reprojection_error_px": 0.030113366152997114,
"confidence": 0.233781757000696
"reprojection_error_px": 6.519083697966324,
"confidence": 0.37942062793404846
},
{
"marker_id": 53,
"marker_id": 64,
"observed_center_px": [
1113.0,
491.0
149.75,
989.75
],
"projected_center_px": [
1112.935546875,
491.0560302734375
147.24081420898438,
991.6749267578125
],
"reprojection_error_px": 0.08540255771197162,
"confidence": 0.12244968744253681
"reprojection_error_px": 3.162492111733601,
"confidence": 0.5991514656644388
},
{
"marker_id": 103,
"observed_center_px": [
439.0,
1009.0
],
"projected_center_px": [
440.64642333984375,
1005.7345581054688
],
"reprojection_error_px": 3.6570234591183697,
"confidence": 0.5340468635229503
},
{
"marker_id": 79,
"observed_center_px": [
946.25,
998.25
],
"projected_center_px": [
945.5975341796875,
998.6529541015625
],
"reprojection_error_px": 0.7668661256321765,
"confidence": 0.4739639622362142
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:54Z",
"created_utc": "2026-06-02T09:26:18Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_d_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "d",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -36,17 +36,21 @@
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 9,
"num_used_markers": 13,
"used_marker_ids": [
95,
79,
208,
69,
51,
103,
58,
214,
64,
211,
72,
84,
86
86,
82
],
"history": {
"iters": [
@@ -56,10 +60,10 @@
3
],
"rms": [
0.006333816581738461,
0.0002773011027338013,
0.00010662089465453542,
0.00010661827813541825
0.008237146829032859,
0.001509217099976037,
0.0014907597054314484,
0.0014907596665234592
],
"lambda": [
0.001,
@@ -68,256 +72,308 @@
0.000125
]
},
"residual_rms_px": 0.26803473514416426,
"residual_median_px": 0.23863200652285652,
"residual_max_px": 0.4319714965335605,
"sigma2_normalized": 1.705118584239489e-08
"residual_rms_px": 4.21549309232492,
"residual_median_px": 2.8684983195085114,
"residual_max_px": 6.622990539635173,
"sigma2_normalized": 2.8890736983326024e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.8189369440078735,
0.5738833546638489,
-0.0004457749892026186
0.8175153732299805,
0.5759067535400391,
-0.00018532715330366045
],
[
0.16132032871246338,
-0.23095093667507172,
-0.9594985246658325
0.1622372269630432,
-0.23060892522335052,
-0.9594261646270752
],
[
-0.5507431626319885,
0.7856968641281128,
-0.2817133069038391
-0.5525827407836914,
0.7843155860900879,
-0.2819598615169525
]
],
"translation_m": [
-0.11497107893228531,
0.08632615953683853,
1.1260302066802979
-0.11462152004241943,
0.08701033145189285,
1.123681664466858
],
"rvec_rad": [
1.7909599776987175,
0.5647279566505399,
-0.42338173600008655
1.7905941346127963,
0.567239730908252,
-0.42478435912553886
]
},
"camera_in_world": {
"position_m": [
0.700381338596344,
-0.7988013029098511,
0.399996280670166
0.700515627861023,
-0.7952443957328796,
0.40029188990592957
],
"position_mm": [
700.38134765625,
-798.8013305664062,
399.99627685546875
700.515625,
-795.244384765625,
400.2919006347656
],
"orientation_deg": {
"roll": 109.72539520263672,
"pitch": 33.41801071166992,
"yaw": 11.14387035369873
"roll": 109.77339935302734,
"pitch": 33.54438018798828,
"yaw": 11.224601745605469
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
2.852092030612513e-07,
1.2324146194593454e-07,
1.264823680030996e-07,
4.270453715882081e-10,
-5.4504294706706134e-08,
-1.2152984007154248e-08
2.0757464916191975e-05,
9.347096893928711e-06,
9.134260885308986e-06,
-2.985702417337643e-08,
-4.301757303662951e-06,
3.7474696707257913e-07
],
[
1.2324146194593555e-07,
1.4531202385393299e-07,
-6.015151106190092e-09,
1.2042222954696699e-08,
-2.833712756388377e-08,
2.8730439663963055e-08
9.347096893928674e-06,
1.362713820201992e-05,
5.249178703192597e-07,
1.3710063842659647e-06,
-2.469810189358187e-06,
2.733043813951436e-06
],
[
1.2648236800309913e-07,
-6.015151106190755e-09,
2.52995940259767e-07,
-1.5169021186969528e-08,
-4.255829665011247e-08,
-7.174617911570197e-08
9.134260885309064e-06,
5.249178703192951e-07,
2.522765015223782e-05,
-1.7601888134883997e-06,
-3.899436198323691e-06,
-5.83329388748779e-06
],
[
4.2704537158833995e-10,
1.2042222954696763e-08,
-1.5169021186969502e-08,
3.898596269933436e-09,
7.43659570879186e-10,
9.126450926756841e-09
-2.985702417338506e-08,
1.371006384265964e-06,
-1.7601888134884022e-06,
4.7662316889369773e-07,
5.7052018890671985e-08,
6.480147475619658e-07
],
[
-5.4504294706706287e-08,
-2.8337127563883675e-08,
-4.25582966501126e-08,
7.436595708792132e-10,
1.636505724746816e-08,
1.2574879808690192e-08
-4.301757303662961e-06,
-2.4698101893581967e-06,
-3.89943619832368e-06,
5.705201889067057e-08,
1.5205255981716627e-06,
1.2020542566462838e-06
],
[
-1.2152984007153812e-08,
2.873043966396327e-08,
-7.174617911570175e-08,
9.126450926756889e-09,
1.25748798086901e-08,
6.448855219127798e-08
3.7474696707254705e-07,
2.733043813951423e-06,
-5.833293887487798e-06,
6.48014747561965e-07,
1.2020542566462901e-06,
6.808360000605134e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.030598800350524608,
0.02184104472411403,
0.02881903328031589
0.26104163966122534,
0.21150710584299198,
0.2877802809708147
],
"tvec_std_m": [
6.243874013730126e-05,
0.00012792598347274162,
0.0002539459631324703
0.0006903790038042131,
0.0012330959403759557,
0.00260928342665283
]
},
"camera_center_std_m": [
0.0004250847347260799,
0.0002691146356882737,
0.0005312504732236512
0.003932140973598785,
0.002631137596152846,
0.004542071489418429
],
"camera_center_std_mm": [
0.4250847347260799,
0.2691146356882737,
0.5312504732236512
3.9321409735987847,
2.6311375961528456,
4.542071489418429
],
"orientation_std_deg": {
"roll": 0.04070540096755981,
"pitch": 0.024066544562857728,
"yaw": 0.03135403694731619
"roll": 0.353326327190086,
"pitch": 0.21926008707993383,
"yaw": 0.2942584170009973
}
}
},
"observations": {
"markers": [
{
"marker_id": 208,
"marker_id": 95,
"observed_center_px": [
887.5,
696.5
422.0,
1048.0
],
"projected_center_px": [
887.3656616210938,
696.5743408203125
423.94635009765625,
1045.7978515625
],
"reprojection_error_px": 0.15353617688315221,
"confidence": 0.06739671544456982
"reprojection_error_px": 2.9390026273261793,
"confidence": 0.1966298037464167
},
{
"marker_id": 79,
"observed_center_px": [
835.25,
1017.25
],
"projected_center_px": [
836.6177368164062,
1018.6941528320312
],
"reprojection_error_px": 1.989040321666955,
"confidence": 0.6308599149142898
},
{
"marker_id": 208,
"observed_center_px": [
1003.5,
919.75
],
"projected_center_px": [
997.0012817382812,
919.888671875
],
"reprojection_error_px": 6.500197607312626,
"confidence": 0.6159321401194328
},
{
"marker_id": 69,
"observed_center_px": [
128.0,
929.75
],
"projected_center_px": [
123.5754623413086,
933.7342529296875
],
"reprojection_error_px": 5.954057851658972,
"confidence": 0.6598390021609063
},
{
"marker_id": 51,
"observed_center_px": [
549.0,
937.75
],
"projected_center_px": [
550.3080444335938,
936.2489013671875
],
"reprojection_error_px": 1.9910493076986193,
"confidence": 0.7948303912231248
},
{
"marker_id": 103,
"observed_center_px": [
379.5,
691.25
419.5,
915.25
],
"projected_center_px": [
379.2528991699219,
691.2681274414062
425.51165771484375,
912.8583374023438
],
"reprojection_error_px": 0.24776485698588377,
"confidence": 0.17416420855033052
"reprojection_error_px": 6.469936511393927,
"confidence": 0.7846660865006628
},
{
"marker_id": 58,
"observed_center_px": [
261.5,
685.0
291.75,
903.25
],
"projected_center_px": [
261.3277587890625,
685.1651611328125
292.7833557128906,
905.9259033203125
],
"reprojection_error_px": 0.23863200652285652,
"confidence": 0.24540823915500745
"reprojection_error_px": 2.8684983195085114,
"confidence": 0.7544565338036628
},
{
"marker_id": 214,
"observed_center_px": [
958.75,
638.25
1072.75,
853.25
],
"projected_center_px": [
958.7680053710938,
638.2145385742188
1077.7689208984375,
853.9087524414062
],
"reprojection_error_px": 0.03977066892400416,
"confidence": 0.32624039952470835
"reprojection_error_px": 5.061968170961902,
"confidence": 0.44724371562957765
},
{
"marker_id": 64,
"observed_center_px": [
211.25,
632.0
238.5,
848.0
],
"projected_center_px": [
211.57020568847656,
631.8875732421875
237.2322235107422,
845.58056640625
],
"reprojection_error_px": 0.3393692072138837,
"confidence": 0.4478501628460533
"reprojection_error_px": 2.731467763178051,
"confidence": 0.5667786136218291
},
{
"marker_id": 211,
"observed_center_px": [
792.0,
593.5
897.0,
804.25
],
"projected_center_px": [
792.3621826171875,
593.3333740234375
890.5628662109375,
802.6920166015625
],
"reprojection_error_px": 0.3986733804233661,
"confidence": 0.3071912693949274
"reprojection_error_px": 6.622990539635173,
"confidence": 0.43521670392955913
},
{
"marker_id": 72,
"observed_center_px": [
1249.25,
596.5
1405.75,
807.25
],
"projected_center_px": [
1249.38916015625,
596.4339599609375
1406.5570068359375,
807.2078857421875
],
"reprojection_error_px": 0.1540351773034359,
"confidence": 0.018959818235601233
},
{
"marker_id": 84,
"observed_center_px": [
1226.5,
549.5
],
"projected_center_px": [
1226.63623046875,
549.5099487304688
],
"reprojection_error_px": 0.13659325698505237,
"confidence": 0.07285288505606423
"reprojection_error_px": 0.808104970879992,
"confidence": 0.022083521685104014
},
{
"marker_id": 86,
"observed_center_px": [
1175.0,
518.25
1322.0,
716.0
],
"projected_center_px": [
1174.581787109375,
518.358154296875
1322.1175537109375,
718.4990234375
],
"reprojection_error_px": 0.4319714965335605,
"confidence": 0.1152962676763461
"reprojection_error_px": 2.501786764720266,
"confidence": 0.14159707466679353
},
{
"marker_id": 82,
"observed_center_px": [
1096.25,
668.0
],
"projected_center_px": [
1097.362060546875,
666.7478637695312
],
"reprojection_error_px": 1.6746712511918316,
"confidence": 0.14648935281724867
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:55Z",
"created_utc": "2026-06-02T09:26:18Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_e_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "e",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -36,32 +36,29 @@
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 24,
"num_used_markers": 21,
"used_marker_ids": [
63,
48,
59,
102,
92,
217,
85,
105,
206,
54,
97,
47,
96,
208,
62,
66,
79,
55,
214,
51,
72,
95,
103,
60,
214,
69,
215,
103,
211,
84,
86,
64
215
],
"history": {
"iters": [
@@ -71,10 +68,10 @@
3
],
"rms": [
0.00630902936296045,
0.0003503162776966026,
0.00021566918101323604,
0.00021566812595044202
0.004815641841240819,
0.001371489895181257,
0.0013336416110231277,
0.001333639841690074
],
"lambda": [
0.001,
@@ -83,451 +80,412 @@
0.000125
]
},
"residual_rms_px": 0.5422246805563434,
"residual_median_px": 0.3729435356233405,
"residual_max_px": 1.156746455284857,
"sigma2_normalized": 5.315741777237922e-08
"residual_rms_px": 3.7663398885651316,
"residual_median_px": 2.711463110481496,
"residual_max_px": 5.706813692245177,
"sigma2_normalized": 2.0750277652117733e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.628989577293396,
0.7774136662483215,
0.0003507443470880389
0.6279904842376709,
0.7782192826271057,
0.001631719060242176
],
[
0.20666556060314178,
-0.1667739301919937,
-0.9640932679176331
0.20466548204421997,
-0.16313284635543823,
-0.9651423096656799
],
[
-0.7494407892227173,
0.6064770817756653,
-0.2655636966228485
-0.7508261799812317,
0.606434166431427,
-0.2617205083370209
]
],
"translation_m": [
-0.0547354631125927,
-0.012683164328336716,
1.5506757497787476
-0.05409296229481697,
-0.009956633672118187,
1.551354169845581
],
"rvec_rad": [
1.7014036416595382,
0.8122514235119389,
-0.618293153268835
1.6968351960309789,
0.8124307612912404,
-0.6192675451832501
]
},
"camera_in_world": {
"position_m": [
1.1991888284683228,
-0.9000124335289001,
0.39959463477134705
1.2008049488067627,
-0.9003222584724426,
0.396499902009964
],
"position_mm": [
1199.1888427734375,
-900.012451171875,
399.5946350097656
1200.804931640625,
-900.322265625,
396.4999084472656
],
"orientation_deg": {
"roll": 113.6476058959961,
"pitch": 48.54195785522461,
"yaw": 18.188844680786133
"roll": 113.34371185302734,
"pitch": 48.66199493408203,
"yaw": 18.051067352294922
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
1.5485173782981606e-07,
1.851377328432404e-08,
2.8229623479655052e-08,
-7.317051195299001e-09,
-4.280031938579823e-08,
1.8275230708455525e-08
1.3764901065181256e-05,
-2.6343200183057547e-06,
-1.7792462239186622e-06,
-1.1776382754720932e-06,
-3.25713296960347e-06,
2.9493476507120495e-06
],
[
1.8513773284323837e-08,
1.0380973901699848e-07,
-5.469400592592144e-09,
2.6108967750081833e-08,
-2.4877532375984845e-08,
1.3731464588840119e-08
-2.634320018305711e-06,
4.079565468771306e-06,
-1.0513676457715303e-07,
1.4941849402320754e-06,
-3.4016160884462696e-07,
-1.0138446940443035e-06
],
[
2.8229623479655505e-08,
-5.469400592592516e-09,
1.8802524747108885e-07,
-3.206860716836395e-08,
-2.6161782348223145e-08,
-6.56867737643066e-09
-1.7792462239188447e-06,
-1.0513676457712176e-07,
1.4538372703691469e-05,
-2.7595292367475745e-06,
-3.8096888188857533e-07,
4.68198284679755e-06
],
[
-7.31705119529937e-09,
2.6108967750082253e-08,
-3.206860716836374e-08,
1.5545230996657885e-08,
5.669806552012708e-10,
1.0393580529714659e-08
-1.1776382754720415e-06,
1.494184940232071e-06,
-2.7595292367475906e-06,
1.231469860555483e-06,
1.7201704626480728e-07,
-9.8257787688162e-07
],
[
-4.280031938579823e-08,
-2.4877532375984858e-08,
-2.61617823482231e-08,
5.669806552012895e-10,
2.2136595117839976e-08,
4.531501344506167e-09
-3.257132969603471e-06,
-3.4016160884461563e-07,
-3.8096888188862657e-07,
1.720170462648215e-07,
1.3083685718285844e-06,
-1.9333178781147397e-07
],
[
1.82752307084554e-08,
1.3731464588840142e-08,
-6.568677376430668e-09,
1.0393580529714648e-08,
4.531501344506207e-09,
1.1521125853314904e-07
2.949347650711978e-06,
-1.0138446940442993e-06,
4.681982846797574e-06,
-9.82577876881622e-07,
-1.933317878114537e-07,
7.357793746565789e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.022546579968103234,
0.018460424438188426,
0.024844526084444037
0.2125735275711923,
0.11572563858614514,
0.21846432713492553
],
"tvec_std_m": [
0.0001246805157057745,
0.00014878371926336557,
0.0003394278399500386
0.0011097161171017941,
0.0011438393994912853,
0.002712525344870678
]
},
"camera_center_std_m": [
0.0003545857525229363,
0.0004070677011541022,
0.0004736036839720404
0.0017381641065211564,
0.0034954476894441446,
0.0037486534242939227
],
"camera_center_std_mm": [
0.3545857525229363,
0.40706770115410223,
0.47360368397204045
1.7381641065211564,
3.4954476894441444,
3.7486534242939227
],
"orientation_std_deg": {
"roll": 0.03250044077834975,
"pitch": 0.021578780424367262,
"yaw": 0.027073158674549694
"roll": 0.244276631986627,
"pitch": 0.17699614551829468,
"yaw": 0.15402520753370533
}
}
},
"observations": {
"markers": [
{
"marker_id": 92,
"marker_id": 63,
"observed_center_px": [
1023.0,
688.5
1315.5,
1051.5
],
"projected_center_px": [
1022.9679565429688,
688.4140625
1320.7685546875,
1053.3375244140625
],
"reprojection_error_px": 0.09171715785371658,
"confidence": 0.15369374989294518
"reprojection_error_px": 5.579799679867904,
"confidence": 0.12568593194235728
},
{
"marker_id": 217,
"marker_id": 48,
"observed_center_px": [
1141.25,
600.5
1024.0,
1030.75
],
"projected_center_px": [
1140.6944580078125,
600.3023071289062
1022.7249145507812,
1033.0703125
],
"reprojection_error_px": 0.5896688700999455,
"confidence": 0.3233651345714012
"reprojection_error_px": 2.6475824822780556,
"confidence": 0.5336003353862959
},
{
"marker_id": 59,
"observed_center_px": [
989.75,
951.5
],
"projected_center_px": [
984.441650390625,
951.1694946289062
],
"reprojection_error_px": 5.318628523940503,
"confidence": 0.697320940739163
},
{
"marker_id": 102,
"observed_center_px": [
1106.0,
936.75
],
"projected_center_px": [
1103.9541015625,
934.9705810546875
],
"reprojection_error_px": 2.711463110481496,
"confidence": 0.6864050426596802
},
{
"marker_id": 92,
"observed_center_px": [
1148.5,
911.25
],
"projected_center_px": [
1148.9658203125,
909.11865234375
],
"reprojection_error_px": 2.181657946457227,
"confidence": 0.5564615479175569
},
{
"marker_id": 85,
"observed_center_px": [
675.25,
665.5
759.0,
884.75
],
"projected_center_px": [
675.0033569335938,
665.3787231445312
758.2156372070312,
882.3668823242188
],
"reprojection_error_px": 0.2748470081311891,
"confidence": 0.37089318871684795
"reprojection_error_px": 2.5088792014791714,
"confidence": 0.48917934037555
},
{
"marker_id": 105,
"observed_center_px": [
760.5,
654.75
849.25,
871.0
],
"projected_center_px": [
761.2002563476562,
655.0924682617188
854.9564208984375,
871.0669555664062
],
"reprojection_error_px": 0.7795148893494807,
"confidence": 0.420622587927407
"reprojection_error_px": 5.706813692245177,
"confidence": 0.5666772055387952
},
{
"marker_id": 206,
"observed_center_px": [
1223.0,
567.0
1375.0,
773.25
],
"projected_center_px": [
1222.284423828125,
566.8446044921875
1373.5694580078125,
773.4010620117188
],
"reprojection_error_px": 0.7322547518477325,
"confidence": 0.14078817554935588
"reprojection_error_px": 1.438495784768345,
"confidence": 0.20826195913219595
},
{
"marker_id": 54,
"observed_center_px": [
545.75,
790.75
],
"projected_center_px": [
544.5643920898438,
792.566650390625
],
"reprojection_error_px": 2.1693051326134447,
"confidence": 0.31086735641350827
},
{
"marker_id": 97,
"observed_center_px": [
411.0,
578.0
465.25,
786.0
],
"projected_center_px": [
411.44232177734375,
578.3140869140625
462.9450988769531,
784.6989135742188
],
"reprojection_error_px": 0.5424934509262193,
"confidence": 0.22596816505744277
"reprojection_error_px": 2.646770687909131,
"confidence": 0.27288814270978706
},
{
"marker_id": 47,
"observed_center_px": [
543.75,
569.25
607.5,
775.75
],
"projected_center_px": [
543.7235107421875,
569.2677612304688
611.3579711914062,
774.7861938476562
],
"reprojection_error_px": 0.03189266510063318,
"confidence": 0.24626971873720385
"reprojection_error_px": 3.9765392004878093,
"confidence": 0.3140291810143517
},
{
"marker_id": 96,
"observed_center_px": [
690.0,
544.25
780.0,
747.25
],
"projected_center_px": [
690.022705078125,
544.456298828125
775.4832153320312,
747.3605346679688
],
"reprojection_error_px": 0.20754451825671197,
"confidence": 0.28140192555287236
"reprojection_error_px": 4.518136966673381,
"confidence": 0.3209641589306251
},
{
"marker_id": 208,
"observed_center_px": [
878.25,
661.5
],
"projected_center_px": [
873.7838745117188,
660.954833984375
],
"reprojection_error_px": 4.499275815247146,
"confidence": 0.27935774483027703
},
{
"marker_id": 62,
"observed_center_px": [
738.5,
556.0
829.25,
758.0
],
"projected_center_px": [
738.579833984375,
555.78564453125
829.8944702148438,
760.1060180664062
],
"reprojection_error_px": 0.2287394413830286,
"confidence": 0.2664122029520185
},
{
"marker_id": 66,
"observed_center_px": [
331.25,
537.25
],
"projected_center_px": [
330.9709777832031,
537.0518798828125
],
"reprojection_error_px": 0.34220604655767123,
"confidence": 0.16725963004706537
"reprojection_error_px": 2.2024200221234524,
"confidence": 0.33830762807857967
},
{
"marker_id": 79,
"observed_center_px": [
666.75,
511.75
747.25,
710.25
],
"projected_center_px": [
666.0632934570312,
511.67083740234375
748.7382202148438,
710.73193359375
],
"reprojection_error_px": 0.691254362028752,
"confidence": 0.21195569262290176
},
{
"marker_id": 55,
"observed_center_px": [
519.5,
534.0
],
"projected_center_px": [
519.4553833007812,
533.9685668945312
],
"reprojection_error_px": 0.05457737597746861,
"confidence": 0.22298824455832925
},
{
"marker_id": 214,
"observed_center_px": [
858.0,
444.5
],
"projected_center_px": [
858.559814453125,
444.61431884765625
],
"reprojection_error_px": 0.571367675719493,
"confidence": 0.1697872859143744
},
{
"marker_id": 51,
"observed_center_px": [
529.25,
463.25
],
"projected_center_px": [
528.9022827148438,
463.1120910644531
],
"reprojection_error_px": 0.37406708609566947,
"confidence": 0.12157403976480062
},
{
"marker_id": 72,
"observed_center_px": [
1132.75,
455.25
],
"projected_center_px": [
1133.8419189453125,
455.6318054199219
],
"reprojection_error_px": 1.156746455284857,
"confidence": 0.14675484287524884
"reprojection_error_px": 1.5643079609381163,
"confidence": 0.28184826428485077
},
{
"marker_id": 95,
"observed_center_px": [
425.25,
498.75
474.5,
697.5
],
"projected_center_px": [
425.9288635253906,
498.8289794921875
479.5652770996094,
696.0062866210938
],
"reprojection_error_px": 0.6834423503793009,
"confidence": 0.14922985097126407
"reprojection_error_px": 5.280929061647267,
"confidence": 0.20813605647909494
},
{
"marker_id": 103,
"marker_id": 214,
"observed_center_px": [
465.0,
447.0
961.25,
635.0
],
"projected_center_px": [
465.22216796875,
446.9941101074219
964.7404174804688,
635.97998046875
],
"reprojection_error_px": 0.22224602847538769,
"confidence": 0.10609680160172753
},
{
"marker_id": 60,
"observed_center_px": [
1195.75,
431.0
],
"projected_center_px": [
1195.7926025390625,
430.972900390625
],
"reprojection_error_px": 0.05049123847609035,
"confidence": 0.1208904643109979
"reprojection_error_px": 3.6253794156051153,
"confidence": 0.24807496569270426
},
{
"marker_id": 69,
"observed_center_px": [
295.5,
440.25
334.5,
628.75
],
"projected_center_px": [
294.4291687011719,
439.9130554199219
332.2715148925781,
630.0933837890625
],
"reprojection_error_px": 1.1225913417597488,
"confidence": 0.08927835602899967
"reprojection_error_px": 2.602081066899532,
"confidence": 0.13489057979918875
},
{
"marker_id": 215,
"marker_id": 103,
"observed_center_px": [
683.75,
432.75
518.25,
638.75
],
"projected_center_px": [
684.21142578125,
432.9552917480469
523.8551635742188,
638.24951171875
],
"reprojection_error_px": 0.5050331211102045,
"confidence": 0.09972560457674447
"reprojection_error_px": 5.627463657227588,
"confidence": 0.14371958230840387
},
{
"marker_id": 211,
"observed_center_px": [
763.75,
413.0
863.25,
601.0
],
"projected_center_px": [
764.0985107421875,
412.87042236328125
858.9078979492188,
600.4103393554688
],
"reprojection_error_px": 0.37181998515101156,
"confidence": 0.13332463075982282
"reprojection_error_px": 4.3819573132457315,
"confidence": 0.18372733168475885
},
{
"marker_id": 84,
"marker_id": 215,
"observed_center_px": [
1147.5,
429.0
771.25,
622.0
],
"projected_center_px": [
1147.703125,
429.0707092285156
769.286865234375,
622.6416625976562
],
"reprojection_error_px": 0.21508035852275045,
"confidence": 0.13255097071329755
},
{
"marker_id": 86,
"observed_center_px": [
1127.25,
408.75
],
"projected_center_px": [
1126.677978515625,
408.52398681640625
],
"reprojection_error_px": 0.6150532804113482,
"confidence": 0.11774828338549573
},
{
"marker_id": 64,
"observed_center_px": [
379.0,
409.25
],
"projected_center_px": [
378.81402587890625,
409.4864501953125
],
"reprojection_error_px": 0.3008239827206471,
"confidence": 0.08897781183808398
"reprojection_error_px": 2.065339922927093,
"confidence": 0.10109279127011955
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:55Z",
"created_utc": "2026-06-02T09:26:19Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_f_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "f",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -36,529 +36,554 @@
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 26,
"num_used_markers": 28,
"used_marker_ids": [
68,
46,
56,
208,
47,
62,
54,
53,
97,
54,
62,
79,
96,
72,
55,
96,
84,
79,
66,
214,
95,
103,
73,
210,
58,
69,
82,
81,
101,
73,
58,
103,
210,
69,
64,
81,
52,
83
101,
83,
61
],
"history": {
"iters": [
0,
1,
2,
3,
4
3
],
"rms": [
0.007353373451031194,
0.0003710600488929596,
8.906113930528944e-05,
8.900491419954867e-05,
8.900489226102867e-05
0.008135209790281109,
0.0014527982840912054,
0.0013843537502488976,
0.0013843527640684862
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125,
6.25e-05
0.000125
]
},
"residual_rms_px": 0.22376788390648267,
"residual_median_px": 0.18825857568728324,
"residual_max_px": 0.39640627876435003,
"sigma2_normalized": 8.95515834760647e-09
"residual_rms_px": 3.915847992270231,
"residual_median_px": 3.74465037309556,
"residual_max_px": 5.951064138560905,
"sigma2_normalized": 2.146404484410943e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.31644874811172485,
0.9486086964607239,
0.00130163982976228
0.31546780467033386,
0.9489362239837646,
-0.0003351117193233222
],
[
0.9183046221733093,
-0.3059948980808258,
-0.2511647045612335
0.9175019860267639,
-0.30510780215263367,
-0.25514575839042664
],
[
-0.23785872757434845,
0.08067604899406433,
-0.9679434895515442
-0.24221929907798767,
0.08018281310796738,
-0.9669025540351868
]
],
"translation_m": [
0.1261357069015503,
-0.200173020362854,
1.497665524482727
0.12667344510555267,
-0.19870008528232574,
1.4973030090332031
],
"rvec_rad": [
2.374582435142889,
1.711381147791732,
-0.21684955389903504
2.3716756112184236,
1.710772296732862,
-0.2223247348012863
]
},
"camera_in_world": {
"position_m": [
0.5001371502876282,
-0.30173107981681824,
1.3992151021957397
0.5050220489501953,
-0.30088794231414795,
1.3970911502838135
],
"position_mm": [
500.13714599609375,
-301.7310791015625,
1399.215087890625
505.02203369140625,
-300.887939453125,
1397.0911865234375
],
"orientation_deg": {
"roll": 175.2355194091797,
"pitch": 13.760193824768066,
"yaw": 70.9859848022461
"roll": 175.2594451904297,
"pitch": 14.017561912536621,
"yaw": 71.02531433105469
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
1.9619416958563405e-07,
1.232837325475714e-07,
3.537784977398958e-08,
-1.2874449920644035e-09,
-1.3120643407548253e-09,
-2.430518562789776e-09
3.1830179517747366e-05,
1.8531436240022163e-05,
2.6283198259929802e-06,
-2.645254238843693e-07,
5.642139234947599e-09,
9.847767446957959e-07
],
[
1.2328373254757045e-07,
1.0492379739637157e-07,
5.587099350476958e-09,
2.8771773145648727e-09,
-1.376635290194795e-09,
2.095544274360706e-09
1.853143624002215e-05,
1.6463663792795397e-05,
-1.2516069438015785e-06,
6.278327823937737e-07,
-1.4301579879115474e-07,
1.244971263350998e-06
],
[
3.537784977401896e-08,
5.587099350501193e-09,
7.216196836933972e-07,
4.454379192917962e-09,
-1.137281486631975e-08,
-1.3327718453309484e-07
2.628319825991464e-06,
-1.2516069438027961e-06,
0.00015753599111081981,
1.0021297705879483e-06,
-2.453895312275194e-06,
-2.8031037799513868e-05
],
[
-1.287444992064164e-09,
2.8771773145650617e-09,
4.454379192917376e-09,
1.574259199353428e-09,
-9.159737376748967e-11,
1.4651163057535826e-09
-2.64525423884374e-07,
6.278327823937648e-07,
1.0021297705879856e-06,
3.510958968041347e-07,
-2.2839708623828878e-08,
3.495550828089251e-07
],
[
-1.3120643407551655e-09,
-1.3766352901952072e-09,
-1.1372814866319643e-08,
-9.159737376750992e-11,
9.672826358233463e-10,
2.788243505342515e-09
5.642139234985183e-09,
-1.4301579879115254e-07,
-2.453895312275184e-06,
-2.283970862383126e-08,
2.1360917737416452e-07,
5.910593803234898e-07
],
[
-2.43051856279491e-09,
2.0955442743564383e-09,
-1.3327718453309545e-07,
1.4651163057534658e-09,
2.7882435053425046e-09,
4.3386424804938955e-08
9.847767446960769e-07,
1.244971263351225e-06,
-2.8031037799513793e-05,
3.4955508280893215e-07,
5.910593803234839e-07,
9.107945071675099e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.02537848430759805,
0.018559216264706715,
0.048671733890649
0.32325271142385614,
0.23248014978369047,
0.7191384789969126
],
"tvec_std_m": [
3.967693535737643e-05,
3.110116775658667e-05,
0.00020829408250101335
0.0005925334562741034,
0.0004621787288205338,
0.0030179372212945548
]
},
"camera_center_std_m": [
0.0008369888619904323,
0.0007984829430878973,
0.0002871572860910438
0.011284596923360507,
0.01100148226806515,
0.004237235917829655
],
"camera_center_std_mm": [
0.8369888619904322,
0.7984829430878972,
0.2871572860910438
11.284596923360507,
11.00148226806515,
4.237235917829655
],
"orientation_std_deg": {
"roll": 0.03325401245890173,
"pitch": 0.03236575464664165,
"yaw": 0.012048758808889037
"roll": 0.47291345252048606,
"pitch": 0.44224683715376606,
"yaw": 0.09897168298492981
}
}
},
"observations": {
"markers": [
{
"marker_id": 46,
"marker_id": 68,
"observed_center_px": [
1234.0,
666.0
1395.5,
941.75
],
"projected_center_px": [
1234.341064453125,
665.8336181640625
1390.365234375,
942.5863647460938
],
"reprojection_error_px": 0.37948369729856446,
"confidence": 0.2988751797371847
"reprojection_error_px": 5.202434431320601,
"confidence": 0.31452284382469436
},
{
"marker_id": 46,
"observed_center_px": [
1383.5,
882.5
],
"projected_center_px": [
1388.75537109375,
884.8787231445312
],
"reprojection_error_px": 5.7686436127873,
"confidence": 0.48925581764503895
},
{
"marker_id": 56,
"observed_center_px": [
1196.0,
626.75
1341.75,
844.0
],
"projected_center_px": [
1196.113525390625,
626.8538208007812
1345.434814453125,
840.7401123046875
],
"reprojection_error_px": 0.1538400890256465,
"confidence": 0.5697620483284124
"reprojection_error_px": 4.919829808032869,
"confidence": 0.7106123513263443
},
{
"marker_id": 208,
"observed_center_px": [
831.25,
547.75
937.0,
754.0
],
"projected_center_px": [
831.465576171875,
547.9014282226562
934.489990234375,
750.8616333007812
],
"reprojection_error_px": 0.2634456158244247,
"confidence": 0.5829305549976826
"reprojection_error_px": 4.01864337336595,
"confidence": 0.7365183005875066
},
{
"marker_id": 47,
"observed_center_px": [
593.75,
623.75
665.0,
836.0
],
"projected_center_px": [
593.9198608398438,
623.669189453125
667.7197265625,
836.018798828125
],
"reprojection_error_px": 0.18810382611382645,
"confidence": 0.5768583617164568
},
{
"marker_id": 62,
"observed_center_px": [
751.0,
651.75
],
"projected_center_px": [
750.7454223632812,
651.6237182617188
],
"reprojection_error_px": 0.28417749830104067,
"confidence": 0.5593704450665263
},
{
"marker_id": 54,
"observed_center_px": [
540.5,
639.0
],
"projected_center_px": [
540.5787353515625,
638.9071655273438
],
"reprojection_error_px": 0.12172713296153204,
"confidence": 0.5766374039623903
"reprojection_error_px": 2.7197915307440272,
"confidence": 0.7493333333333333
},
{
"marker_id": 53,
"observed_center_px": [
1240.5,
594.75
1400.0,
805.75
],
"projected_center_px": [
1240.2264404296875,
594.78125
1395.23486328125,
804.6587524414062
],
"reprojection_error_px": 0.27533870234596447,
"confidence": 0.21364841201201337
"reprojection_error_px": 4.888491503778679,
"confidence": 0.2519090987485656
},
{
"marker_id": 97,
"observed_center_px": [
491.5,
605.25
554.5,
818.0
],
"projected_center_px": [
491.5794372558594,
605.20458984375
552.8402099609375,
815.1640625
],
"reprojection_error_px": 0.09150060059429786,
"confidence": 0.5705029634947052
"reprojection_error_px": 3.2859465116884277,
"confidence": 0.7363629300822377
},
{
"marker_id": 72,
"marker_id": 54,
"observed_center_px": [
1197.75,
548.5
610.0,
848.75
],
"projected_center_px": [
1197.5211181640625,
548.55517578125
607.798583984375,
853.1437377929688
],
"reprojection_error_px": 0.2354384455832745,
"confidence": 0.5440516905787338
"reprojection_error_px": 4.914383406614929,
"confidence": 0.714264135428559
},
{
"marker_id": 55,
"marker_id": 62,
"observed_center_px": [
598.75,
542.75
845.25,
862.5
],
"projected_center_px": [
598.8782958984375,
542.7704467773438
843.8311157226562,
867.6853637695312
],
"reprojection_error_px": 0.12991500398195047,
"confidence": 0.5461315019106076
},
{
"marker_id": 96,
"observed_center_px": [
723.0,
614.5
],
"projected_center_px": [
722.8250122070312,
614.3399658203125
],
"reprojection_error_px": 0.237132170648196,
"confidence": 0.5763709732716893
},
{
"marker_id": 84,
"observed_center_px": [
1254.25,
485.0
],
"projected_center_px": [
1254.1002197265625,
484.99395751953125
],
"reprojection_error_px": 0.14990210766105824,
"confidence": 0.06519221426443914
"reprojection_error_px": 5.3759864224959335,
"confidence": 0.7019920279258633
},
{
"marker_id": 79,
"observed_center_px": [
731.5,
535.75
821.25,
736.5
],
"projected_center_px": [
731.5431518554688,
535.8726806640625
822.3233032226562,
737.3298950195312
],
"reprojection_error_px": 0.13004856002744464,
"confidence": 0.5460974493377216
"reprojection_error_px": 1.3567260413241375,
"confidence": 0.7019048773943901
},
{
"marker_id": 96,
"observed_center_px": [
816.5,
827.0
],
"projected_center_px": [
812.4840087890625,
825.6454467773438
],
"reprojection_error_px": 4.238277933233695,
"confidence": 0.7073036915264065
},
{
"marker_id": 72,
"observed_center_px": [
1346.25,
753.5
],
"projected_center_px": [
1346.869140625,
752.3975830078125
],
"reprojection_error_px": 1.2643806144469019,
"confidence": 0.6613219758870197
},
{
"marker_id": 55,
"observed_center_px": [
675.5,
745.75
],
"projected_center_px": [
673.3976440429688,
744.9660034179688
],
"reprojection_error_px": 2.2437805620651647,
"confidence": 0.7020871814203925
},
{
"marker_id": 66,
"observed_center_px": [
453.0,
495.75
508.25,
693.0
],
"projected_center_px": [
452.8733825683594,
495.8895263671875
509.60662841796875,
692.1514892578125
],
"reprojection_error_px": 0.18841332526074003,
"confidence": 0.5349107016469481
"reprojection_error_px": 1.6001284773567326,
"confidence": 0.6761108765479277
},
{
"marker_id": 214,
"observed_center_px": [
1037.5,
713.75
],
"projected_center_px": [
1040.814697265625,
715.3729858398438
],
"reprojection_error_px": 3.6907046751366024,
"confidence": 0.6352592753448205
},
{
"marker_id": 95,
"observed_center_px": [
548.75,
435.0
612.75,
626.25
],
"projected_center_px": [
548.5177001953125,
434.867431640625
617.0401611328125,
623.6099853515625
],
"reprojection_error_px": 0.2674650802726027,
"confidence": 0.5227826547122322
},
{
"marker_id": 103,
"observed_center_px": [
618.0,
313.5
],
"projected_center_px": [
617.8211059570312,
313.5081481933594
],
"reprojection_error_px": 0.1790795121300221,
"confidence": 0.5046333482067283
},
{
"marker_id": 73,
"observed_center_px": [
1247.5,
251.25
],
"projected_center_px": [
1247.839599609375,
251.27215576171875
],
"reprojection_error_px": 0.3403215721416887,
"confidence": 0.13607001327160623
},
{
"marker_id": 210,
"observed_center_px": [
775.0,
150.5
],
"projected_center_px": [
775.3216552734375,
150.4322509765625
],
"reprojection_error_px": 0.328712709074182,
"confidence": 0.46988879526830113
},
{
"marker_id": 58,
"observed_center_px": [
562.75,
264.25
],
"projected_center_px": [
562.7431030273438,
264.154052734375
],
"reprojection_error_px": 0.09619483360729601,
"confidence": 0.4655541127751829
},
{
"marker_id": 69,
"observed_center_px": [
476.25,
240.75
],
"projected_center_px": [
476.10382080078125,
241.11846923828125
],
"reprojection_error_px": 0.39640627876435003,
"confidence": 0.4655541127751829
"reprojection_error_px": 5.03737629023876,
"confidence": 0.6495692240250537
},
{
"marker_id": 82,
"observed_center_px": [
1207.5,
261.5
1356.75,
429.25
],
"projected_center_px": [
1207.3634033203125,
261.34552001953125
1357.7742919921875,
428.85504150390625
],
"reprojection_error_px": 0.20621037138629777,
"confidence": 0.49001748422717006
"reprojection_error_px": 1.0978006644633052,
"confidence": 0.6131504260989074
},
{
"marker_id": 81,
"marker_id": 73,
"observed_center_px": [
1027.25,
214.0
1402.0,
418.75
],
"projected_center_px": [
1027.4215087890625,
214.0127716064453
1403.4971923828125,
417.5040588378906
],
"reprojection_error_px": 0.17198365810994679,
"confidence": 0.44182011377693337
"reprojection_error_px": 1.9478075907517742,
"confidence": 0.20573872160705156
},
{
"marker_id": 101,
"marker_id": 58,
"observed_center_px": [
1162.25,
153.5
633.0,
428.25
],
"projected_center_px": [
1162.3416748046875,
153.4523468017578
633.2252807617188,
431.86285400390625
],
"reprojection_error_px": 0.10332036158086408,
"confidence": 0.46225891142368675
"reprojection_error_px": 3.6198709196795957,
"confidence": 0.5954680843098741
},
{
"marker_id": 103,
"observed_center_px": [
690.0,
487.75
],
"projected_center_px": [
694.9348754882812,
487.32220458984375
],
"reprojection_error_px": 4.9533831870540626,
"confidence": 0.5954680843098741
},
{
"marker_id": 210,
"observed_center_px": [
872.25,
307.0
],
"projected_center_px": [
871.7282104492188,
304.10302734375
],
"reprojection_error_px": 2.9435887801057876,
"confidence": 0.5967915393855434
},
{
"marker_id": 69,
"observed_center_px": [
538.5,
403.0
],
"projected_center_px": [
536.0862426757812,
405.93310546875
],
"reprojection_error_px": 3.7985960710545177,
"confidence": 0.5651459847123547
},
{
"marker_id": 64,
"observed_center_px": [
570.5,
177.75
640.5,
338.0
],
"projected_center_px": [
570.4990844726562,
177.69577026367188
642.02490234375,
334.7812194824219
],
"reprojection_error_px": 0.054237463920569835,
"confidence": 0.43211414091114625
"reprojection_error_px": 3.561723624639445,
"confidence": 0.5759345404922155
},
{
"marker_id": 81,
"observed_center_px": [
1152.0,
375.5
],
"projected_center_px": [
1154.97412109375,
375.642578125
],
"reprojection_error_px": 2.9775367003644493,
"confidence": 0.4888879355201727
},
{
"marker_id": 52,
"observed_center_px": [
1054.5,
160.5
1190.5,
312.5
],
"projected_center_px": [
1054.46826171875,
160.70294189453125
1185.4698486328125,
315.6800537109375
],
"reprojection_error_px": 0.20540869273873757,
"confidence": 0.45818248585417487
"reprojection_error_px": 5.951064138560905,
"confidence": 0.5798408315806451
},
{
"marker_id": 101,
"observed_center_px": [
1307.5,
303.5
],
"projected_center_px": [
1307.0404052734375,
307.4356384277344
],
"reprojection_error_px": 3.962382761236421,
"confidence": 0.5860442781818148
},
{
"marker_id": 83,
"observed_center_px": [
1173.0,
64.0
1323.0,
208.5
],
"projected_center_px": [
1172.84375,
64.00605773925781
1319.00927734375,
206.735107421875
],
"reprojection_error_px": 0.15636738376309697,
"confidence": 0.4377857805109236
"reprojection_error_px": 4.363566560902648,
"confidence": 0.562745572281817
},
{
"marker_id": 61,
"observed_center_px": [
1280.0,
135.0
],
"projected_center_px": [
1281.8370361328125,
132.83253479003906
],
"reprojection_error_px": 2.841233392322728,
"confidence": 0.544484345073857
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:06:55Z",
"created_utc": "2026-06-02T09:26:19Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene8\\render_g_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\robot\\robot.json"
@@ -9,14 +9,14 @@
"camera_id": "g",
"camera_matrix": [
[
1777.77783203125,
1992.8416748046875,
0.0,
640.0
719.249267578125
],
[
0.0,
1777.77783203125,
360.0
1997.40380859375,
537.7935791015625
],
[
0.0,
@@ -25,8 +25,8 @@
]
],
"distortion_coefficients": [
0.0,
0.0,
0.019999999552965164,
-0.009999999776482582,
0.0,
0.0,
0.0
@@ -38,555 +38,552 @@
"marker_size_m": 0.025,
"num_used_markers": 28,
"used_marker_ids": [
84,
86,
64,
215,
72,
69,
53,
58,
69,
103,
56,
215,
46,
68,
208,
56,
46,
103,
95,
55,
66,
217,
97,
54,
97,
205,
92,
105,
85,
102,
92,
59,
71,
48,
57,
63,
71
65,
87,
80
],
"history": {
"iters": [
0,
1,
2,
3,
4
3
],
"rms": [
0.008380596797804013,
0.0005410758584715768,
8.709259916235042e-05,
8.70385355675932e-05,
8.703853441047451e-05
0.012561743652089249,
0.0016163824690195745,
0.0011314931341719165,
0.001131465131118967
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125,
6.25e-05
0.000125
]
},
"residual_rms_px": 0.2188329588756622,
"residual_median_px": 0.17794355789098962,
"residual_max_px": 0.4241965193657976,
"sigma2_normalized": 8.484791248994484e-09
"residual_rms_px": 3.2011116866033635,
"residual_median_px": 2.8670419097059026,
"residual_max_px": 5.424280107490077,
"sigma2_normalized": 1.43383894380325e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
-0.7071990370750427,
-0.707014262676239,
0.0005838429206050932
-0.7072362899780273,
-0.7069751024246216,
0.0017388755222782493
],
[
-0.6415448188781738,
0.6413649320602417,
-0.4207983911037445
-0.640158474445343,
0.6393473744392395,
-0.4259484112262726
],
[
0.29713600873947144,
-0.2979627847671509,
-0.9071540236473083
0.3000231683254242,
-0.30235934257507324,
-0.9047457575798035
]
],
"translation_m": [
-0.00035469781141728163,
0.33173155784606934,
1.3885538578033447
0.0006081345491111279,
0.3322913348674774,
1.3839123249053955
],
"rvec_rad": [
1.1162839608628714,
-2.694954763187016,
0.5949621099248436
1.1155029206880251,
-2.69228493407687,
0.6030800829828753
]
},
"camera_in_world": {
"position_m": [
-0.20001952350139618,
0.20072562992572784,
1.3992245197296143
-0.20205654203891754,
0.2064191699028015,
1.3936266899108887
],
"position_mm": [
-200.01951599121094,
200.7256317138672,
1399.2244873046875
-202.05654907226562,
206.41917419433594,
1393.626708984375
],
"orientation_deg": {
"roll": -161.81675720214844,
"pitch": -17.285663604736328,
"yaw": -137.78683471679688
"roll": -161.52073669433594,
"pitch": -17.458993911743164,
"yaw": -137.85000610351562
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
3.9202614266929536e-08,
-5.624758064579657e-08,
1.9002092979602563e-08,
3.677793045991329e-09,
9.642384554519452e-09,
3.500057257207911e-08
5.618303632309994e-06,
-6.815872421889105e-06,
5.844662550438605e-06,
4.555428981302671e-07,
1.0770603345080526e-06,
4.4957986898024816e-06
],
[
-5.624758064579686e-08,
1.7730001193758587e-07,
-8.799489872535942e-08,
-2.7037218009021926e-08,
-1.6119859220649852e-08,
-9.32896875306131e-08
-6.815872421889151e-06,
1.908399411522487e-05,
-1.4071917254239678e-05,
-3.0542225001256965e-06,
-1.6046686208625145e-06,
-1.0989567545186646e-05
],
[
1.9002092979602557e-08,
-8.799489872535837e-08,
3.322018445588287e-07,
3.421511111216491e-08,
-1.9357076042169092e-08,
2.3056213184165007e-09
5.844662550438666e-06,
-1.4071917254239526e-05,
5.558889778210306e-05,
5.255595481041318e-06,
-2.97215930012512e-06,
8.082256703299737e-08
],
[
3.6777930459913576e-09,
-2.7037218009021913e-08,
3.4215111112165093e-08,
7.574076973655562e-09,
-2.5214832959351115e-10,
7.570328774670964e-09
4.5554289813027885e-07,
-3.0542225001256927e-06,
5.2555954810413565e-06,
1.0213468586622862e-06,
-1.400119917717199e-07,
6.496876772866667e-07
],
[
9.642384554519472e-09,
-1.611985922064988e-08,
-1.9357076042168993e-08,
-2.5214832959349947e-10,
5.455720841232948e-09,
1.33187555209256e-08
1.077060334508055e-06,
-1.604668620862531e-06,
-2.972159300125105e-06,
-1.4001199177171546e-07,
7.51690771915595e-07,
1.7516096502846668e-06
],
[
3.5000572572079415e-08,
-9.328968753061321e-08,
2.3056213184173316e-09,
7.570328774670982e-09,
1.3318755520925603e-08,
7.751291617219285e-08
4.495798689802506e-06,
-1.0989567545186672e-05,
8.082256703313794e-08,
6.496876772866801e-07,
1.7516096502846608e-06,
1.1157986283344102e-05
]
],
"parameter_std": {
"rvec_std_deg": [
0.011344363845211298,
0.024125538440537754,
0.03302354197846344
0.13580796309657728,
0.2502979365976615,
0.42718565826727106
],
"tvec_std_m": [
8.702917311830304e-05,
7.38628515644566e-05,
0.00027841141530510715
0.001010617068261904,
0.0008670010218653695,
0.0033403572089439927
]
},
"camera_center_std_m": [
0.0006001213331363563,
0.0007005844631310261,
0.00037386586549212754
0.006015252866511974,
0.00891007897445108,
0.004493905135422485
],
"camera_center_std_mm": [
0.6001213331363563,
0.7005844631310261,
0.3738658654921275
6.0152528665119736,
8.91007897445108,
4.4939051354224855
],
"orientation_std_deg": {
"roll": 0.020799509337956407,
"pitch": 0.024459922187381827,
"yaw": 0.011530363449194381
"roll": 0.26328696937523083,
"pitch": 0.24747218468240606,
"yaw": 0.11283610096151622
}
}
},
"observations": {
"markers": [
{
"marker_id": 84,
"marker_id": 86,
"observed_center_px": [
65.25,
662.0
70.5,
958.75
],
"projected_center_px": [
65.15103149414062,
661.9536743164062
72.53253173828125,
955.8460083007812
],
"reprojection_error_px": 0.10927412370943719,
"confidence": 0.3490767193505014
"reprojection_error_px": 3.5446231190709123,
"confidence": 0.5575992832021898
},
{
"marker_id": 64,
"observed_center_px": [
819.5,
647.0
921.75,
859.0
],
"projected_center_px": [
819.5327758789062,
646.9321899414062
922.4539794921875,
862.7168579101562
],
"reprojection_error_px": 0.07531575057426548,
"confidence": 0.5331747682067169
},
{
"marker_id": 72,
"observed_center_px": [
102.25,
581.0
],
"projected_center_px": [
102.25408935546875,
581.1792602539062
],
"reprojection_error_px": 0.17930689183264265,
"confidence": 0.43254677700170213
},
{
"marker_id": 53,
"observed_center_px": [
52.0,
559.0
],
"projected_center_px": [
52.02786636352539,
559.1117553710938
],
"reprojection_error_px": 0.11517724247624178,
"confidence": 0.27711751756945874
},
{
"marker_id": 58,
"observed_center_px": [
781.0,
564.0
],
"projected_center_px": [
780.9808349609375,
563.824462890625
],
"reprojection_error_px": 0.1765802239493366,
"confidence": 0.48073279309443956
},
{
"marker_id": 69,
"observed_center_px": [
869.0,
547.5
],
"projected_center_px": [
868.9163208007812,
547.3129272460938
],
"reprojection_error_px": 0.20493516934864944,
"confidence": 0.45546210617301425
},
{
"marker_id": 103,
"observed_center_px": [
708.25,
543.5
],
"projected_center_px": [
708.2188720703125,
543.635986328125
],
"reprojection_error_px": 0.139503510506188,
"confidence": 0.4795917219326271
},
{
"marker_id": 56,
"observed_center_px": [
84.25,
514.75
],
"projected_center_px": [
84.41259765625,
514.6609497070312
],
"reprojection_error_px": 0.185385955497749,
"confidence": 0.39662908657084783
"reprojection_error_px": 3.782937991787819,
"confidence": 0.616540888528013
},
{
"marker_id": 215,
"observed_center_px": [
504.5,
495.5
567.0,
692.5
],
"projected_center_px": [
504.49505615234375,
495.4730224609375
568.231201171875,
691.8600463867188
],
"reprojection_error_px": 0.027426797908558738,
"confidence": 0.39338762460270227
"reprojection_error_px": 1.3875867370287527,
"confidence": 0.4424958960552566
},
{
"marker_id": 46,
"marker_id": 72,
"observed_center_px": [
41.5,
498.0
115.75,
787.5
],
"projected_center_px": [
41.32355880737305,
498.03680419921875
114.72067260742188,
788.7645263671875
],
"reprojection_error_px": 0.18023885134941084,
"confidence": 0.1698001278724927
"reprojection_error_px": 1.6305035462776822,
"confidence": 0.4975235789090466
},
{
"marker_id": 68,
"marker_id": 69,
"observed_center_px": [
29.25,
458.0
977.0,
755.0
],
"projected_center_px": [
29.114898681640625,
458.09796142578125
977.819091796875,
750.5571899414062
],
"reprojection_error_px": 0.16687961877813764,
"confidence": 0.07718187630567852
"reprojection_error_px": 4.517684427718443,
"confidence": 0.5873934926369923
},
{
"marker_id": 53,
"observed_center_px": [
54.75,
764.5
],
"projected_center_px": [
57.99109649658203,
763.926025390625
],
"reprojection_error_px": 3.291527510497748,
"confidence": 0.3317064405086114
},
{
"marker_id": 58,
"observed_center_px": [
880.5,
773.0
],
"projected_center_px": [
878.9620361328125,
769.0654907226562
],
"reprojection_error_px": 4.2244166591706325,
"confidence": 0.5891897879835948
},
{
"marker_id": 208,
"observed_center_px": [
424.5,
417.75
475.0,
603.5
],
"projected_center_px": [
424.3829650878906,
417.7440185546875
478.2018127441406,
604.4447021484375
],
"reprojection_error_px": 0.11718766291924913,
"confidence": 0.4316478958478293
"reprojection_error_px": 3.338273056207917,
"confidence": 0.5365098825483792
},
{
"marker_id": 56,
"observed_center_px": [
97.5,
709.5
],
"projected_center_px": [
94.76349639892578,
713.7679443359375
],
"reprojection_error_px": 5.069891597791136,
"confidence": 0.509707248070139
},
{
"marker_id": 46,
"observed_center_px": [
51.5,
694.75
],
"projected_center_px": [
46.084373474121094,
695.0562744140625
],
"reprojection_error_px": 5.424280107490077,
"confidence": 0.290584867175275
},
{
"marker_id": 103,
"observed_center_px": [
801.5,
744.5
],
"projected_center_px": [
797.1474609375,
746.2955322265625
],
"reprojection_error_px": 4.708347084403705,
"confidence": 0.5886722764049094
},
{
"marker_id": 95,
"observed_center_px": [
710.75,
415.25
802.5,
599.0
],
"projected_center_px": [
710.908203125,
415.144775390625
800.06884765625,
601.823974609375
],
"reprojection_error_px": 0.19000117678026882,
"confidence": 0.4181682027393045
"reprojection_error_px": 3.726303035572362,
"confidence": 0.5086613910190547
},
{
"marker_id": 55,
"observed_center_px": [
622.75,
351.75
699.0,
531.75
],
"projected_center_px": [
622.661376953125,
351.86688232421875
700.9326782226562,
530.701171875
],
"reprojection_error_px": 0.14668170353587198,
"confidence": 0.39668368657567366
"reprojection_error_px": 2.1989282726184447,
"confidence": 0.5054980739107272
},
{
"marker_id": 66,
"observed_center_px": [
761.5,
332.5
857.5,
508.5
],
"projected_center_px": [
761.3377075195312,
332.7164611816406
856.6405029296875,
509.2656555175781
],
"reprojection_error_px": 0.2705444369673035,
"confidence": 0.3829765144945479
"reprojection_error_px": 1.1510706257539531,
"confidence": 0.5046753915740128
},
{
"marker_id": 217,
"observed_center_px": [
201.5,
202.0
229.25,
365.25
],
"projected_center_px": [
201.80841064453125,
201.79034423828125
227.83612060546875,
361.5851135253906
],
"reprojection_error_px": 0.37292447503757425,
"confidence": 0.3382587531306593
},
{
"marker_id": 97,
"observed_center_px": [
682.75,
268.75
],
"projected_center_px": [
682.692138671875,
268.71795654296875
],
"reprojection_error_px": 0.06614163916098906,
"confidence": 0.3623898971459892
"reprojection_error_px": 3.928160869166993,
"confidence": 0.4158618894065431
},
{
"marker_id": 54,
"observed_center_px": [
630.25,
262.5
709.5,
434.5
],
"projected_center_px": [
630.4234008789062,
262.6108703613281
709.6185913085938,
430.4962463378906
],
"reprojection_error_px": 0.20581569868814423,
"confidence": 0.3590718541167963
"reprojection_error_px": 4.005509616182216,
"confidence": 0.47669546512195393
},
{
"marker_id": 97,
"observed_center_px": [
766.0,
436.5
],
"projected_center_px": [
768.2981567382812,
437.37957763671875
],
"reprojection_error_px": 2.4607277811093318,
"confidence": 0.45270011191053483
},
{
"marker_id": 205,
"observed_center_px": [
133.0,
135.0
148.0,
285.0
],
"projected_center_px": [
133.00042724609375,
135.02919006347656
150.280517578125,
286.4183654785156
],
"reprojection_error_px": 0.029193190044775386,
"confidence": 0.29591817114314195
},
{
"marker_id": 92,
"observed_center_px": [
291.0,
157.0
],
"projected_center_px": [
291.0001220703125,
157.40155029296875
],
"reprojection_error_px": 0.40155031152328863,
"confidence": 0.3158166687011719
},
{
"marker_id": 105,
"observed_center_px": [
442.5,
182.75
],
"projected_center_px": [
442.3433837890625,
182.87738037109375
],
"reprojection_error_px": 0.20187718164369384,
"confidence": 0.31800273344664126
"reprojection_error_px": 2.685613720322037,
"confidence": 0.38107014005487916
},
{
"marker_id": 85,
"observed_center_px": [
494.0,
166.0
556.0,
319.5
],
"projected_center_px": [
493.9403076171875,
165.65689086914062
556.3596801757812,
321.56689453125
],
"reprojection_error_px": 0.3482629125314807,
"confidence": 0.2969848480224609
"reprojection_error_px": 2.0979568232356898,
"confidence": 0.40168081794344246
},
{
"marker_id": 102,
"observed_center_px": [
318.5,
130.0
359.0,
279.75
],
"projected_center_px": [
318.8728332519531,
129.79766845703125
359.6034851074219,
281.0721435546875
],
"reprojection_error_px": 0.4241965193657976,
"confidence": 0.3170967427530611
"reprojection_error_px": 1.453360882259355,
"confidence": 0.36215529762078374
},
{
"marker_id": 92,
"observed_center_px": [
329.0,
309.25
],
"projected_center_px": [
328.24249267578125,
312.03265380859375
],
"reprojection_error_px": 2.8839173990817337,
"confidence": 0.36117119671607356
},
{
"marker_id": 59,
"observed_center_px": [
379.75,
109.0
425.0,
258.5
],
"projected_center_px": [
379.90716552734375,
109.25081634521484
428.2326354980469,
258.0950012207031
],
"reprojection_error_px": 0.29598959781075196,
"confidence": 0.3170967427530611
},
{
"marker_id": 48,
"observed_center_px": [
369.5,
44.25
],
"projected_center_px": [
369.56671142578125,
44.28301239013672
],
"reprojection_error_px": 0.0744327362946315,
"confidence": 0.17828567290874034
},
{
"marker_id": 57,
"observed_center_px": [
463.0,
70.5
],
"projected_center_px": [
463.0251770019531,
70.45142364501953
],
"reprojection_error_px": 0.054713286234114755,
"confidence": 0.3167426670523156
},
{
"marker_id": 63,
"observed_center_px": [
243.0,
42.0
],
"projected_center_px": [
242.71270751953125,
41.72708511352539
],
"reprojection_error_px": 0.3962568669352444,
"confidence": 0.15449597168691093
"reprojection_error_px": 3.2579067320082578,
"confidence": 0.3829018389079366
},
{
"marker_id": 71,
"observed_center_px": [
299.25,
29.5
337.0,
166.0
],
"projected_center_px": [
299.2705383300781,
29.458524703979492
337.52728271484375,
168.32102966308594
],
"reprojection_error_px": 0.04628199630943727,
"confidence": 0.08171792300897739
"reprojection_error_px": 2.3801692709338584,
"confidence": 0.3408600931480542
},
{
"marker_id": 48,
"observed_center_px": [
415.5,
187.75
],
"projected_center_px": [
416.590087890625,
185.1165313720703
],
"reprojection_error_px": 2.8501664203300714,
"confidence": 0.3384322903762507
},
{
"marker_id": 63,
"observed_center_px": [
275.5,
183.5
],
"projected_center_px": [
273.87469482421875,
181.97755432128906
],
"reprojection_error_px": 2.226984005116994,
"confidence": 0.3375471143770103
},
{
"marker_id": 65,
"observed_center_px": [
310.5,
124.5
],
"projected_center_px": [
309.15228271484375,
123.18411254882812
],
"reprojection_error_px": 1.8835874455040698,
"confidence": 0.3375471143770103
},
{
"marker_id": 87,
"observed_center_px": [
161.0,
66.0
],
"projected_center_px": [
161.47378540039062,
64.667236328125
],
"reprojection_error_px": 1.4144722021634208,
"confidence": 0.3158166687011719
},
{
"marker_id": 80,
"observed_center_px": [
299.0,
56.75
],
"projected_center_px": [
298.6283874511719,
58.556793212890625
],
"reprojection_error_px": 1.8446131303322555,
"confidence": 0.2485923429199218
}
]
},

View File

@@ -1,58 +1,58 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-02T05:07:09Z",
"created_utc": "2026-06-02T09:26:33Z",
"method": "hybrid",
"movements": {
"x": {
"value": 50.19702884143383,
"value": 52.71680357433185,
"unit": "mm",
"observable": true,
"confidence": "medium",
"n_markers": 3
},
"y": {
"value": -2.085226948673948,
"value": -2.4451532872107116,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 3
},
"z": {
"value": 94.94715440460612,
"value": 94.6739025934215,
"unit": "deg",
"observable": true,
"confidence": "high",
"n_markers": 4
"n_markers": 3
},
"a": {
"value": 20.301658023887335,
"value": 20.96650348696646,
"unit": "deg",
"observable": true,
"confidence": "high",
"n_markers": 4
"n_markers": 3
},
"b": {
"value": 59.335494423176975,
"value": 58.92773548591313,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 4
"n_markers": 5
},
"c": {
"value": 8.567498988785404,
"value": 9.045859059059458,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 4
"n_markers": 5
},
"e": {
"value": 2.9307576101641413,
"value": 1.2993720253335839,
"unit": "mm",
"observable": true,
"confidence": "medium",
"n_markers": 4
"n_markers": 5
}
},
"residual_rms": 1.5005838046235978,
"num_markers": 56
"residual_rms": 2.1752805972816693,
"num_markers": 54
}

View File

@@ -99,6 +99,12 @@
"markerRotationMaxDeg": 3,
"motionBlur": true,
"motionBlurMaxPx": 5.5,
"focalErrorPct": 0.5,
"principalErrorPx": 3.0,
"residualDistortion": [
0.02,
-0.01
],
"localizedBlur": false,
"localizedBlurStrength": 0.15,
"vignette": true,
@@ -209,13 +215,13 @@
"e": 1
},
"defaultPosition": {
"x": 180,
"y": 86,
"z": -120,
"a": -60,
"b": 22,
"c": 91,
"e": 10
"x": 50,
"y": -2,
"z": 95,
"a": 20,
"b": 60,
"c": 9,
"e": 3
},
"recognized": {
"x": null,

View File

@@ -10,8 +10,8 @@
"e": 3
},
"rendering": {
"width": 1280,
"height": 720,
"width": 1440,
"height": 1080,
"dofFStop": 11.0
},
"camera_positions": {

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -10,8 +10,8 @@
"e": 3
},
"rendering": {
"width": 1280,
"height": 720,
"width": 1440,
"height": 1080,
"dofFStop": 11.0
},
"camera_positions": {

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -1798,25 +1798,25 @@
"id": 198,
"link": "Arm1",
"position_m": [
0.2908938527107239,
0.13223707675933838,
0.2233067750930786
0.16089382767677307,
-0.05336204171180725,
0.09088674932718277
],
"position_mm": [
290.8938527107239,
132.23707675933838,
223.3067750930786
160.89382767677307,
-53.36204171180725,
90.88674932718277
],
"rotation_quaternion": [
0.731194019317627,
-0.681849479675293,
-0.014251436106860638,
-0.015282794833183289
0.9996293783187866,
0.01744861528277397,
0.000364696083124727,
-0.02089340053498745
],
"normal": [
1.8626449271863521e-09,
0.9975640177726746,
0.06975647062063217
5.820766091346741e-11,
-0.03489953652024269,
0.9993908405303955
]
},
{
@@ -1824,25 +1824,25 @@
"id": 229,
"link": "Arm1",
"position_m": [
0.2871265113353729,
0.1260058730840683,
0.31241700053215027
0.15712648630142212,
-0.14263543486595154,
0.08776925504207611
],
"position_mm": [
287.1265113353729,
126.0058730840683,
312.41700053215027
157.12648630142212,
-142.63543486595154,
87.76925504207611
],
"rotation_quaternion": [
0.731352686882019,
-0.6819973587989807,
0.0011515404330566525,
0.0012348758755251765
0.9998462796211243,
0.017452402040362358,
-2.9468068532878533e-05,
0.0016882226336747408
],
"normal": [
2.3283064365386963e-10,
0.9975640773773193,
0.06975659728050232
0.0,
-0.03489953652024269,
0.9993908405303955
]
},
{
@@ -1850,25 +1850,25 @@
"id": 242,
"link": "Arm1",
"position_m": [
0.28994330763816833,
0.05530886352062225,
0.30560460686683655
0.15994328260421753,
-0.13829448819160461,
0.016877561807632446
],
"position_mm": [
289.94330763816833,
55.30886352062225,
305.60460686683655
159.94328260421753,
-138.29448819160461,
16.877561807632446
],
"rotation_quaternion": [
0.49376755952835083,
0.5295010209083557,
0.5044868588447571,
-0.4704415500164032
0.01263562124222517,
-0.723891019821167,
-0.6896935701370239,
-0.012038656510412693
],
"normal": [
-8.940696716308594e-08,
-0.9975640177726746,
-0.06975668668746948
-6.332993507385254e-08,
0.03489959239959717,
-0.9993908405303955
]
},
{
@@ -1876,25 +1876,25 @@
"id": 243,
"link": "Arm1",
"position_m": [
0.29063552618026733,
0.08418963849544525,
0.3455321788787842
0.16063550114631653,
-0.17718979716300964,
0.04713420197367668
],
"position_mm": [
290.63552618026733,
84.18963849544525,
345.5321788787842
160.63550114631653,
-177.18979716300964,
47.13420197367668
],
"rotation_quaternion": [
0.9993830323219299,
0.0348992645740509,
0.000138139832415618,
-0.003955804277211428
0.6946529150009155,
0.7193341851234436,
0.0028473015408962965,
-0.0027496074326336384
],
"normal": [
-1.1641530794914701e-10,
-0.06975655257701874,
0.9975640177726746
-4.656613428188905e-10,
-0.9993909001350403,
-0.03489956632256508
]
},
{
@@ -1902,25 +1902,25 @@
"id": 244,
"link": "Ellbow",
"position_m": [
0.4155000150203705,
0.09317012131214142,
0.31327733397483826
0.2854999899864197,
-0.14111287891864777,
0.048454251140356064
],
"position_mm": [
415.5000150203705,
93.17012131214142,
313.27733397483826
285.4999899864197,
-141.11287891864777,
48.454251140356064
],
"rotation_quaternion": [
0.6742300391197205,
0.21310511231422424,
0.6742300987243652,
0.21310511231422424
0.4915550947189331,
-0.5083047151565552,
0.4915551245212555,
-0.5083046555519104
],
"normal": [
1.0,
2.980232594040899e-08,
-8.568168397005138e-08
0.0,
-1.1920927533992653e-07
]
},
{
@@ -1928,25 +1928,25 @@
"id": 245,
"link": "Ellbow",
"position_m": [
0.3797415494918823,
0.11156880110502243,
0.28174030780792236
0.24974152445793152,
-0.1773720681667328,
0.05273985490202904
],
"position_mm": [
379.7415494918823,
111.56880110502243,
281.74030780792236
249.74152445793152,
-177.3720681667328,
52.73985490202904
],
"rotation_quaternion": [
0.2062123566865921,
-0.6744897365570068,
-0.6779249906539917,
-0.20726260542869568
0.511612594127655,
0.48550233244895935,
0.48797500133514404,
-0.5142183303833008
],
"normal": [
-2.9802318834981634e-08,
0.5591931939125061,
-0.8290373086929321
-8.940696716308594e-08,
-0.9986295700073242,
0.05233581364154816
]
},
{
@@ -1954,25 +1954,25 @@
"id": 246,
"link": "Ellbow",
"position_m": [
0.3804028630256653,
0.06753406673669815,
0.33767998218536377
0.2504028081893921,
-0.10619588941335678,
0.05424221232533455
],
"position_mm": [
380.4028630256653,
67.53406673669815,
337.67998218536377
250.4028081893921,
-106.19588941335678,
54.24221232533455
],
"rotation_quaternion": [
0.9562409520149231,
0.2923523187637329,
-0.0033771544694900513,
0.011046166531741619
0.688308596611023,
-0.7253260016441345,
0.008378714323043823,
0.007951104082167149
],
"normal": [
-1.862645149230957e-09,
-0.5591931343078613,
0.8290374875068665
-2.7939681679356454e-09,
0.9986295700073242,
-0.052336134016513824
]
},
{
@@ -1980,25 +1980,25 @@
"id": 247,
"link": "Ellbow",
"position_m": [
0.34214141964912415,
0.0729345753788948,
0.3413226902484894
0.21214139461517334,
-0.10653681308031082,
0.047736942768096924
],
"position_mm": [
342.14141964912415,
72.9345753788948,
341.3226902484894
212.14139461517334,
-106.53681308031082,
47.736942768096924
],
"rotation_quaternion": [
0.9561297297477722,
0.2923183739185333,
-0.005593009293079376,
0.018293898552656174
0.6882286667823792,
-0.7252416014671326,
0.013876251876354218,
0.013168072327971458
],
"normal": [
0.0,
-0.5591931939125061,
0.8290373682975769
0.9986295700073242,
-0.05233585834503174
]
},
{
@@ -2006,25 +2006,25 @@
"id": 248,
"link": "Ellbow",
"position_m": [
0.3461109697818756,
0.11090230941772461,
0.281290739774704
0.2161109298467636,
-0.17732998728752136,
0.053542688488960266
],
"position_mm": [
346.1109697818756,
110.90230941772461,
281.290739774704
216.1109298467636,
-177.32998728752136,
53.542688488960266
],
"rotation_quaternion": [
0.2099425047636032,
-0.6866903901100159,
-0.665563702583313,
-0.20348335802555084
0.5208669900894165,
0.4942845106124878,
0.4790772497653961,
-0.5048421025276184
],
"normal": [
-8.940695295223122e-08,
0.5591931939125061,
-0.8290373086929321
-2.0861622829215776e-07,
-0.9986295700073242,
0.052335791289806366
]
},
{
@@ -2032,25 +2032,25 @@
"id": 232,
"link": "Ellbow",
"position_m": [
0.3778913617134094,
0.12536777555942535,
0.3033978044986725
0.24789133667945862,
-0.16838005185127258,
0.028685705736279488
],
"position_mm": [
377.8913617134094,
125.36777555942535,
303.3978044986725
247.89133667945862,
-168.38005185127258,
28.685705736279488
],
"rotation_quaternion": [
0.6359248161315918,
-0.7714383602142334,
-0.01694793626666069,
-0.013970811851322651
0.406638503074646,
0.9133250713348389,
0.02006508968770504,
-0.008933553472161293
],
"normal": [
1.4901162970204496e-08,
0.9816272258758545,
-0.19080886244773865
0.0,
-0.7431448101997375,
-0.6691306233406067
]
},
{
@@ -2058,25 +2058,25 @@
"id": 231,
"link": "Ellbow",
"position_m": [
0.3808724284172058,
0.10086208581924438,
0.34455493092536926
0.250872403383255,
-0.12076263129711151,
0.02348783239722252
],
"position_mm": [
380.8724284172058,
100.86208581924438,
344.55493092536926
250.872403383255,
-120.76263129711151,
23.48783239722252
],
"rotation_quaternion": [
0.9952542185783386,
-0.09583188593387604,
0.0016189995221793652,
0.016813986003398895
0.35831689834594727,
-0.9334472417831421,
0.01576980948448181,
0.006053464487195015
],
"normal": [
2.3283064365386963e-10,
0.19080862402915955,
0.9816272854804993
-9.313224635931761e-10,
0.6691307425498962,
-0.7431447505950928
]
},
{
@@ -2084,25 +2084,25 @@
"id": 120,
"link": "Arm2",
"position_m": [
0.36824238300323486,
0.015604853630065918,
0.2192991077899933
0.28105148673057556,
-0.15331996977329254,
0.1661108285188675
],
"position_mm": [
368.24238300323486,
15.604853630065918,
219.2991077899933
281.05148673057556,
-153.31996977329254,
166.1108285188675
],
"rotation_quaternion": [
0.1316612958908081,
0.01566902920603752,
-0.9487617015838623,
-0.28682923316955566
0.38425543904304504,
-0.37586739659309387,
0.5896310210227966,
-0.6028323173522949
],
"normal": [
-0.2588190734386444,
0.5401391983032227,
-0.8007885813713074
0.9063077569007874,
-0.4220390319824219,
0.02211800031363964
]
},
{
@@ -2110,25 +2110,25 @@
"id": 122,
"link": "Arm2",
"position_m": [
0.36427852511405945,
-0.018782399594783783,
0.27513453364372253
0.21583980321884155,
-0.14599870145320892,
0.1630089282989502
],
"position_mm": [
364.27852511405945,
-18.782399594783783,
275.13453364372253
215.83980321884155,
-145.99870145320892,
163.0089282989502
],
"rotation_quaternion": [
0.9228866100311279,
0.2849564850330353,
-0.24457331001758575,
-0.08522923290729523
0.40095359086990356,
-0.41019850969314575,
-0.5681437253952026,
0.5900730490684509
],
"normal": [
-0.5000001192092896,
-0.4842754900455475,
0.7179673910140991
-0.9396926164627075,
-0.34155142307281494,
0.017899883911013603
]
},
{
@@ -2136,25 +2136,25 @@
"id": 218,
"link": "Arm2",
"position_m": [
0.3992219567298889,
0.013277359306812286,
0.2222038060426712
0.2827777862548828,
-0.1221935898065567,
0.1647852659225464
],
"position_mm": [
399.2219567298889,
13.277359306812286,
222.2038060426712
282.7777862548828,
-122.1935898065567,
164.7852659225464
],
"rotation_quaternion": [
0.24081672728061676,
0.09732018411159515,
0.921690046787262,
0.28813815116882324
0.573472261428833,
-0.5847662091255188,
0.40865448117256165,
-0.4027152955532074
],
"normal": [
0.5000000596046448,
0.4842754900455475,
-0.7179674506187439
0.9396926164627075,
0.34155160188674927,
-0.01789996027946472
]
},
{
@@ -2162,25 +2162,25 @@
"id": 113,
"link": "Arm2",
"position_m": [
0.4066722095012665,
-0.06821094453334808,
0.22115299105644226
0.24005401134490967,
-0.10354935377836227,
0.23204615712165833
],
"position_mm": [
406.6722095012665,
-68.21094453334808,
221.15299105644226
240.05401134490967,
-103.54935377836227,
232.04615712165833
],
"rotation_quaternion": [
0.8264284133911133,
0.25874415040016174,
0.4751758873462677,
0.15580587089061737
0.6763865351676941,
-0.715695858001709,
-0.1112171933054924,
0.13383378088474274
],
"normal": [
0.8660253286361694,
-0.27959659695625305,
0.41451871395111084
-0.342020183801651,
0.9384047985076904,
-0.049179576337337494
]
},
{
@@ -2188,25 +2188,25 @@
"id": 114,
"link": "Arm2",
"position_m": [
0.36971721053123474,
-0.042641475796699524,
0.17953477799892426
0.28169676661491394,
-0.1482471227645874,
0.23646606504917145
],
"position_mm": [
369.71721053123474,
-42.641475796699524,
179.53477799892426
281.69676661491394,
-148.2471227645874,
236.46606504917145
],
"rotation_quaternion": [
0.12733641266822815,
0.029923686757683754,
-0.9484191536903381,
-0.2887752056121826
0.37515369057655334,
-0.3846849799156189,
0.5839164853096008,
-0.6085382103919983
],
"normal": [
-0.25881901383399963,
0.5401391386985779,
-0.8007886409759521
0.9063078165054321,
-0.4220390319824219,
0.022118031978607178
]
},
{
@@ -2214,25 +2214,25 @@
"id": 115,
"link": "Arm2",
"position_m": [
0.3466338813304901,
-0.06842178106307983,
0.21840748190879822
0.23175391554832458,
-0.16287928819656372,
0.23686790466308594
],
"position_mm": [
346.6338813304901,
-68.42178106307983,
218.40748190879822
231.75391554832458,
-162.87928819656372,
236.86790466308594
],
"rotation_quaternion": [
0.7549293041229248,
0.24369077384471893,
-0.5773469805717468,
-0.1933056265115738
0.16329166293144226,
-0.14336413145065308,
-0.6750782132148743,
0.7050191760063171
],
"normal": [
-0.9659258127212524,
-0.14472974836826324,
0.2145705670118332
-0.42261815071105957,
-0.9050657153129578,
0.04743234068155289
]
},
{
@@ -2240,25 +2240,25 @@
"id": 124,
"link": "Arm2",
"position_m": [
0.3654906451702118,
-0.10826586931943893,
0.21562126278877258
0.215361088514328,
-0.13906101882457733,
0.2702573835849762
],
"position_mm": [
365.4906451702118,
-108.26586931943893,
215.62126278877258
215.361088514328,
-139.06101882457733,
270.2573835849762
],
"rotation_quaternion": [
0.9223079681396484,
0.28655385971069336,
-0.24269969761371613,
-0.09127813577651978
0.4048137068748474,
-0.40646475553512573,
-0.5708208680152893,
0.5874315500259399
],
"normal": [
-0.5,
-0.4842754900455475,
0.7179674506187439
-0.9396927356719971,
-0.34155136346817017,
0.0178998876363039
]
},
{
@@ -2266,25 +2266,25 @@
"id": 219,
"link": "Arm2",
"position_m": [
0.39619529247283936,
-0.07564195990562439,
0.16011914610862732
0.2839730978012085,
-0.1197981908917427,
0.2732433080673218
],
"position_mm": [
396.19529247283936,
-75.64195990562439,
160.11914610862732
283.9730978012085,
-119.7981908917427,
273.2433080673218
],
"rotation_quaternion": [
0.2542372941970825,
0.053410522639751434,
0.9252735376358032,
0.27636873722076416
0.5536868572235107,
-0.6035252809524536,
0.3804040551185608,
-0.4295123219490051
],
"normal": [
0.5,
0.4842754006385803,
-0.7179674506187439
0.9396926164627075,
0.34155160188674927,
-0.01790008135139942
]
},
{
@@ -2292,25 +2292,25 @@
"id": 40,
"link": "FingerA",
"position_m": [
0.3914892375469208,
-0.16435910761356354,
0.12156370282173157
0.29232141375541687,
-0.1764823943376541,
0.3220147490501404
],
"position_mm": [
391.4892375469208,
-164.35910761356354,
121.56370282173157
292.32141375541687,
-176.4823943376541,
322.0147490501404
],
"rotation_quaternion": [
0.008576338179409504,
0.15523435175418854,
0.9162014722824097,
0.36932870745658875
0.09850682318210602,
0.15133115649223328,
-0.9372877478599548,
0.29813918471336365
],
"normal": [
0.1303802877664566,
0.6740962862968445,
-0.7270455360412598
-0.09442298859357834,
-0.58869868516922,
-0.8028188943862915
]
},
{
@@ -2318,25 +2318,25 @@
"id": 41,
"link": "FingerA",
"position_m": [
0.3646829128265381,
-0.16163456439971924,
0.16649426519870758
0.25828540325164795,
-0.1438424289226532,
0.3448388874530792
],
"position_mm": [
364.6829128265381,
-161.63456439971924,
166.49426519870758
258.28540325164795,
-143.8424289226532,
344.8388874530792
],
"rotation_quaternion": [
0.5453965067863464,
0.7783370018005371,
-0.2927109897136688,
-0.10514010488986969
0.9255684018135071,
0.3173528015613556,
0.02020304463803768,
0.20543166995048523
],
"normal": [
-0.4829559326171875,
-0.7874532341957092,
-0.3829764127731323
0.16778723895549774,
-0.5791627764701843,
0.7977581024169922
]
},
{
@@ -2344,25 +2344,25 @@
"id": 42,
"link": "FingerA",
"position_m": [
0.37728434801101685,
-0.1826891005039215,
0.1284797340631485
0.2898494303226471,
-0.176236093044281,
0.3460860550403595
],
"position_mm": [
377.28434801101685,
-182.6891005039215,
128.4797340631485
289.8494303226471,
-176.236093044281,
346.0860550403595
],
"rotation_quaternion": [
0.7579701542854309,
0.6138009428977966,
0.13565897941589355,
0.17414429783821106
0.8531429767608643,
-0.04194018244743347,
0.46606194972991943,
0.2305956482887268
],
"normal": [
0.41943085193634033,
-0.8832372426986694,
0.20969006419181824
0.7758925557136536,
0.28650566935539246,
0.5620545744895935
]
},
{
@@ -2370,25 +2370,25 @@
"id": 43,
"link": "FingerB",
"position_m": [
0.3319685161113739,
-0.14969775080680847,
0.13828310370445251
0.2457762509584427,
-0.17510268092155457,
0.34634095430374146
],
"position_mm": [
331.9685161113739,
-149.69775080680847,
138.28310370445251
245.7762509584427,
-175.10268092155457,
346.34095430374146
],
"rotation_quaternion": [
0.780128538608551,
0.26638153195381165,
-0.25596511363983154,
0.5048983097076416
0.5884477496147156,
-0.1531301736831665,
0.27411988377571106,
0.7450762987136841
],
"normal": [
-0.13038019835948944,
-0.6740962862968445,
0.7270455956459045
0.09442314505577087,
0.58869868516922,
0.8028188943862915
]
},
{
@@ -2396,25 +2396,25 @@
"id": 44,
"link": "FingerB",
"position_m": [
0.3708168864250183,
-0.11914579570293427,
0.12279202044010162
0.26277849078178406,
-0.17385278642177582,
0.2974333167076111
],
"position_mm": [
370.8168864250183,
-119.14579570293427,
122.79202044010162
262.77849078178406,
-173.85278642177582,
297.4333167076111
],
"rotation_quaternion": [
0.1570289433002472,
0.40392592549324036,
-0.8814878463745117,
0.18752315640449524
0.3767874836921692,
0.4944274127483368,
-0.3825819492340088,
0.6835229992866516
],
"normal": [
-0.1253472864627838,
-0.4574548900127411,
-0.8803539276123047
0.3876008689403534,
-0.8955954313278198,
0.21834509074687958
]
},
{
@@ -2422,25 +2422,25 @@
"id": 45,
"link": "FingerB",
"position_m": [
0.33433204889297485,
-0.14838381111621857,
0.11471820622682571
0.2529226243495941,
-0.19617487490177155,
0.3381246030330658
],
"position_mm": [
334.33204889297485,
-148.38381111621857,
114.71820622682571
252.92262434959412,
-196.17487490177155,
338.1246030330658
],
"rotation_quaternion": [
0.17051881551742554,
0.4431733191013336,
-0.785284698009491,
-0.3973018229007721
0.5877432227134705,
0.43223538994789124,
-0.65323805809021,
0.2025107741355896
],
"normal": [
-0.619958758354187,
0.4728512763977051,
-0.6261492371559143
-0.5928078293800354,
-0.7726622223854065,
-0.22709466516971588
]
}
]

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -0,0 +1,275 @@
# Roadmap: Wie viele Kameras braucht die Pose-Rekonstruktion wirklich?
## Ziel
Untersuchen, ob die vollständige Roboter-Pose mit **3 Kameras** ausreichend präzise rekonstruiert werden kann, verglichen mit der aktuellen Konfiguration mit **68 Kameras**.
Die Kernfrage ist:
**X-Achse:** Anzahl verwendeter Kameras
**Y-Achse:** Genauigkeit der rekonstruierten Pose, gemessen als **Fingerspitzen-Abweichung in mm**
---
## 1. Was dafür bekannt sein muss
Bevor die Auswertung sinnvoll ist, sollten diese Punkte klar dokumentiert sein:
### 1.1 Datenbasis
* Wie viele Szenen existieren insgesamt?
* Welche Posen decken die Szenen ab?
* Sind die Szenen gleichmäßig über den Arbeitsraum verteilt oder nur ein Teilbereich?
* Gibt es Wiederholungen derselben Pose unter leicht anderen Bedingungen?
### 1.2 Kamera-Setup
* Welche Kameras sind in jeder Szene aktiv?
* Sind alle Kameras synchronisiert?
* Sind alle Kameras kalibriert?
* Sind intrinsische und extrinsische Parameter pro Kamera vorhanden?
* Gibt es Ausfälle, verdeckte Sicht oder variable Bildqualität?
### 1.3 Ground Truth
* Wie werden die „echten“ Roboter-Posen gespeichert?
* Ist die Ground Truth in einem konsistenten Koordinatensystem verfügbar?
* Ist die Fingerspitzenposition direkt ableitbar oder muss sie aus der Pose berechnet werden?
* Welche Referenz gilt als Wahrheit: Robotermodell, Encoder-Daten, Simulation oder beides?
### 1.4 Rekonstruktionspipeline
* Welche Zwischenresultate liefert die Pipeline?
* Detektion im Bild
* Modellanpassung
* 2D/3D-Keypoints
* vollständige Pose
* Ist die Pipeline deterministisch oder stochastisch?
* Welche Fehlerquellen sind bereits bekannt?
### 1.5 Bewertungsmetrik
* Wird nur die Fingerspitze bewertet oder auch weitere Gelenkpunkte?
* Ist die Abweichung als **mittlere Distanz**, **Median**, **RMSE** oder **95%-Quantil** interessant?
* Soll die Auswertung pro Szene, pro Kamera-Subset und aggregiert über alle Szenen erfolgen?
---
## 2. Was umgesetzt werden muss
### 2.1 Dateninventur und Datenformat
Zuerst sollte eine saubere Übersicht aller Szenen entstehen:
* Szenen-ID
* verfügbare Kameras
* Zeitstempel / Synchronisationsstatus
* Ground-Truth-Pose
* rekonstruierte Pose
* Bildqualität oder Sichtbarkeitsstatus
Empfehlung: ein tabellarisches Metadatenformat, z. B. CSV, JSON oder eine kleine Datenbank.
### 2.2 Subset-Definition für Kameras
Für den Vergleich muss festgelegt werden, **welche 3 Kameras** verwendet werden.
Mögliche Varianten:
* feste Auswahl der besten 3 Kameras
* alle Kombinationen aus 3 Kameras
* Auswahl nach Sichtbarkeit / Geometrie / Robustheit
Wichtig: Die Wahl der 3 Kameras beeinflusst das Ergebnis stark. Deshalb sollte nicht nur eine Kombination getestet werden, sondern möglichst mehrere.
### 2.3 Rekonstruktion pro Kameraset
Die Pipeline muss für verschiedene Kamerakombinationen erneut laufen:
* 3 Kameras
* 4 Kameras
* 5 Kameras
* 6 Kameras
* 7 Kameras
* 8 Kameras
Optional zusätzlich:
* jede einzelne Kamera weglassen, um die Sensitivität zu messen
* nur die geometrisch günstigsten Kameras verwenden
### 2.4 Fehlerberechnung
Für jede Szene und jedes Kameraset:
1. Rekonstruierte Pose erzeugen
2. Fingerspitze aus rekonstruierter Pose bestimmen
3. Ground-Truth-Fingerspitze bestimmen
4. Abstand in Millimetern berechnen
5. Ergebnis speichern
Empfohlenes Ergebnisformat pro Versuch:
* Szene
* Kameraset-ID
* Anzahl Kameras
* Fingerpunkt-Fehler [mm]
* weitere optionale Metriken, z. B. Gelenkfehler, Sichtbarkeitsrate, Rekonstruktionsqualität
### 2.5 Aggregation und Auswertung
Am Ende sollten Kennzahlen über alle Szenen berechnet werden:
* Mittelwert des Fehlers
* Median des Fehlers
* Standardabweichung
* 95%-Konfidenzintervall oder Bootstrap-Intervall
* Fehlerverteilung pro Kamerazahl
Zusätzlich hilfreich:
* Boxplots je Kamerazahl
* Fehlerbalken mit Konfidenzintervallen
* Plot der besten / schlechtesten Kamerakombinationen
---
## 3. Empfohlene Auswertungslogik
### 3.1 Vergleich nach Kamerazahl
Für jede Kamerazahl k:
* alle relevanten Kamerakombinationen testen oder eine definierte Auswahl bilden
* Fehler pro Szene berechnen
* Ergebnisse aggregieren
So entsteht die Kurve:
* 3 Kameras → mittlere Abweichung
* 4 Kameras → mittlere Abweichung
* ...
* 8 Kameras → mittlere Abweichung
### 3.2 Vergleich nach Kamerakombination
Nicht nur die Anzahl zählt, sondern auch die Anordnung.
Deshalb sollte zusätzlich ausgewertet werden:
* welche 3-Kamera-Kombination am besten ist
* ob bestimmte Kameras besonders wichtig sind
* ob eine gute Geometrie wichtiger ist als reine Anzahl
### 3.3 Robustheit über Szenen
Die Frage ist nicht nur „Was ist im Mittel gut?“, sondern auch:
* Gibt es Szenen, in denen 3 Kameras deutlich scheitern?
* Gibt es Posen, bei denen schon 3 Kameras reichen?
* Ist der Fehler bei bestimmten Roboterausrichtungen systematisch höher?
---
## 4. Praktische Umsetzungsschritte
### Phase A: Datengrundlage sichern
* Alle Szenen inventarisieren
* Kamerazustand pro Szene prüfen
* Ground Truth und Rekonstruktionen in ein konsistentes Format bringen
* Ein eindeutiges Schema für Szenen- und Kameraset-IDs definieren
### Phase B: Vergleichsdesign festlegen
* Festlegen, ob alle 3er-Kombinationen getestet werden oder nur ausgewählte Sets
* Definieren, welche Kameraauswahl als Referenz dient
* Fehlermaß final festlegen
### Phase C: Batch-Auswertung bauen
* Pipeline über mehrere Kamerasets automatisieren
* Ergebnisse versionieren und speichern
* Laufzeit und Fehler robust protokollieren
### Phase D: Statistische Analyse
* Pro Kamerazahl Mittelwert, Median und Streuung berechnen
* Signifikanztests oder Bootstrap-Vergleiche zwischen Kamerazahlen durchführen
* Ausreißer identifizieren
### Phase E: Visualisierung und Entscheidung
* Plot „Anzahl Kameras vs. Fehler in mm“
* Plot pro Szene oder pro Posegruppe
* Entscheidungsregel ableiten, ab wann zusätzliche Kameras kaum noch Verbesserungen bringen
---
## 5. Wichtige Fragen, die vorab beantwortet sein sollten
1. Welche 3 Kameras sind gemeint: beliebige, beste, feste oder geometrisch ausgewählte?
2. Sind alle Kameras pro Szene vorhanden oder gibt es Lücken?
3. Wie genau wird die Fingerspitze aus der Robotermodell-Pose berechnet?
4. Soll der Fehler nur an einem Punkt oder über mehrere Posepunkte bewertet werden?
5. Wie wird mit Szenen umgegangen, in denen eine Rekonstruktion scheitert?
6. Ist die Messung in Simulationsdaten, Realwelt oder gemischt?
7. Soll die Auswertung pro Szene oder über alle Szenen gepoolt erfolgen?
---
## 6. Empfohlenes Ergebnis der Analyse
Am Ende sollte die Auswertung mindestens diese Ergebnisse liefern:
* eine Tabelle mit Fehlern pro Szene und Kameraset
* ein Diagramm „Kameraszahl vs. mittlere Fingerspitzen-Abweichung“
* eine Aussage, ob 3 Kameras praktisch ausreichend sind
* eine Aussage, welche Kameras oder Geometrien besonders wichtig sind
* eine Empfehlung für ein Minimal-Setup mit akzeptabler Genauigkeit
---
## 7. Mögliche Entscheidungslogik
Eine einfache Entscheidungsregel könnte sein:
* 3 Kameras sind ausreichend, wenn der mittlere Fehler nur wenig schlechter ist als bei 68 Kameras
* die Verteilung der Fehler bei 3 Kameras darf nicht zu viele Ausreißer enthalten
* das System muss für die meisten Szenen stabil bleiben
Beispiel für eine praktische Schwelle:
* maximal zulässige mittlere Abweichung
* maximal zulässiger Fehler in 95% der Fälle
* maximaler Verlust gegenüber der Vollkonfiguration
Diese Schwelle sollte fachlich mit der Anwendung abgestimmt werden.
---
## 8. Nächste konkrete Arbeitspakete
1. Metadaten aller Szenen konsolidieren
2. Ground Truth und Rekonstruktionsausgabe vereinheitlichen
3. Kameraset-Strategie festlegen
4. Batch-Runner für mehrere Kamerakonfigurationen bauen
5. Fingerpunkt-Fehler je Szene berechnen
6. Aggregation und Plots erstellen
7. Ergebnis interpretieren und Empfehlung ableiten
---
## 9. Kurzfassung
Die Kernaufgabe ist nicht nur ein einfacher Plot, sondern ein **systematischer Vergleich verschiedener Kamerasets**. Dafür braucht es:
* saubere Ground Truth
* konsistente Kamerakalibrierung
* definierte Kamerakombinationen
* automatisierte Rekonstruktion
* robuste Fehlerberechnung in mm
* aggregierte Analyse über alle Szenen
Erst dann lässt sich belastbar sagen, ob **3 Kameras genügen** oder ob die zusätzlichen Kameras einen messbaren Mehrwert bringen.

View File

@@ -0,0 +1,420 @@
# Docker Containerization Roadmap
## Ziel
Die Blender-Rendering-Pipeline soll vollständig containerisiert und später in eine verteilte Job-Infrastruktur integriert werden.
Wichtige Randbedingungen:
* Blender-Container sollen nur laufen, wenn tatsächlich Renderaufträge vorhanden sind.
* Verschiedene Jobtypen sollen unterschiedliche Container verwenden können.
* Die Infrastruktur soll zukünftig nicht nur Blender-Rendering, sondern auch andere Workloads (AI-Training, STL-Verarbeitung, Datensatz-Generierung, Batch-Konvertierungen usw.) unterstützen.
* Die Ausführung soll auf mehreren PCs/Worker-Nodes möglich sein.
* Die bestehende Python-Logik soll möglichst unverändert bleiben.
---
# Review / Bewertung
**Gesamteinschätzung:** schlüssig und machbar. Die Zielarchitektur (Redis-Queue +
Nomad-Scheduler, Container nur bei Bedarf, mehrere Workload-Typen, horizontale Skalierung)
ist tragfähig und zukunftssicher. Es fehlen einige technische Punkte, die unten ergänzt sind.
## Wichtigste Korrektur: Renderer und Pipeline sind ZWEI Container, nicht einer
Phase 1 spricht von „Rendering-Pipeline **+** Analyse-Pipeline" in *einem* Container.
Das sollte getrennt werden — die beiden haben grundverschiedene Profile:
| | Render-Container | Pipeline-Container |
|---|---|---|
| Image | `approbot/blender-renderer` | `approbot/pose-pipeline` |
| Basis | Blender 4.5 + bpy + cv2 + numpy (~12 GB) | `python:3.11-slim` + numpy/scipy/opencv (~200 MB) |
| GPU | ja (Cycles, CUDA/OPTIX) | nein |
| Zweck | **Test-Datengenerator** (nur Sim/Dev) | **Produkt** (läuft auch mit echten Webcam-Fotos!) |
| Änderungsrate | selten | häufig |
| CI-tauglich | nein (schwer, GPU) | ja (schnell, headless) |
Das ist keine Kosmetik: Die **Pipeline ist das eigentliche Deliverable** (Roboter-Pose
aus Fotos) und wird real deployed; der Renderer ist nur Werkzeug zur Testdaten-Erzeugung.
Getrennt heißt: die Pipeline bleibt schlank, schnell CI-testbar und ohne Blender-Ballast
deploybar; der Renderer wird nur dort gestartet, wo eine GPU steht.
**Datenaustausch** zwischen beiden: gemeinsames Volume (Phase 13), später Object-Storage
(MinIO/S3) im verteilten Betrieb.
## Technische Schlüsselpunkte (bisher nicht in der Roadmap)
1. **cv2 in Blenders Python:** `render_robot.py` importiert `cv2` (ArUco-Generierung).
Blender bringt sein *eigenes* gebündeltes Python mit — `opencv-python` muss **dort**
installiert werden (`<blender>/python/bin/python -m pip install opencv-python`),
nicht ins System-Python. Häufige Stolperfalle.
2. **ArUco = opencv-contrib:** Die Pipeline nutzt `cv2.aruco`. Im Pipeline-Container
`opencv-contrib-python-headless` verwenden (nicht Basis-`opencv-python`), Version pinnen.
3. **robot.json-Mutation ist im Parallelbetrieb ein Race:** `render_Loop.py` schreibt
pro Render in die *gemeinsame* `robot.json` (Kamera, Pose, Auflösung). Laufen mehrere
Render-Jobs parallel auf einem Node, überschreiben sie sich gegenseitig. Im Job-Modell
muss jeder Job seine Parameter aus dem **Job-Payload** bekommen und in eine **eigene
temporäre Config** schreiben — nicht in die geteilte robot.json. (Architektur-Fix,
gehört *vor* Phase 4.)
4. **GPU im Container & Scheduler:** `--gpus all` + NVIDIA Container Toolkit; Nomad braucht
das GPU-Device-Plugin, damit Render-Jobs nur auf GPU-Nodes landen. CPU-Fallback (Cycles
`device='CPU'`) als Sicherheitsnetz behalten.
5. **Versionen pinnen:** Blender 4.5.x exakt, `requirements.txt` mit festen Versionen
(numpy/scipy/opencv) — sonst driften die Mess-Ergebnisse (vgl. der fy-Intrinsik-Bug).
6. **Job-Granularität:** `{"jobType":"blender-render","pose":8}` rendert 7 Kameras pro Job.
Feinkörniger (1 Job = 1 Kamera) parallelisiert besser über mehrere Nodes — abwägen.
## Empfehlung: MVP vor Nomad
Redis + Nomad ist die richtige End-Vision, aber als Zwischenstufe genügt **docker-compose
mit zwei Images + Profiles** (Renderer on-demand via `docker compose run`, Pipeline als
schneller Service / CI-Step). Damit sind getrennte Container + Phase 13 produktiv nutzbar,
bevor die verteilte Orchestrierung (Phase 58) aufgebaut wird.
---
# Phase 1 Dockerisierung der bestehenden Rendering-Pipeline
## Ziel
Die aktuelle Blender-Pipeline läuft vollständig innerhalb eines Docker-Containers.
### Aufgaben
* [x] Dockerfile erstellen → **in zwei aufteilen:** `Dockerfile.renderer` (Blender) + `Dockerfile.pipeline` (slim Python)
* [x] docker-compose.yaml erstellen
* [ ] cv2 in Blenders gebündeltem Python installieren (für ArUco-Generierung)
* [ ] requirements.txt für den Pipeline-Container (numpy, scipy, opencv-contrib-python-headless), Versionen gepinnt
* [ ] Blender 4.5 Container erfolgreich starten
* [ ] render_loop.py innerhalb des Containers ausführen
* [ ] render_robot.py innerhalb des Containers ausführen
* [ ] STL-Import validieren
* [ ] PNG-Ausgabe validieren
* [ ] NPZ-Ausgabe validieren
* [ ] Pipeline auf PNG-Ausgaben ermöglichen
* [ ] markers.json validieren
### Ergebnis
Zwei Container: `blender-renderer` erzeugt Bilder/npz/Ground-Truth, `pose-pipeline`
wertet sie aus — beide reproduzierbar, über ein gemeinsames Daten-Volume verbunden.
---
# Phase 2 Pfad-Unabhängigkeit
## Ziel
Alle absoluten Benutzerpfade entfernen.
### Aktuelle Situation
Beispiel:
```python
Path.home() / "SynologyDrive" / ...
```
### Ziel
Container-interne Pfade verwenden:
```text
/workspace/data
/workspace/setup
/workspace/output
```
### Aufgaben
* [ ] ROBOT_JSON_FILE auf Containerpfade umstellen
* [ ] OUTPUT_FILE auf Containerpfade umstellen
* [ ] STL-Suche auf Containerpfade umstellen
* [ ] Konfiguration über Environment-Variablen ermöglichen
* [ ] **render_robot.py: Config-Pfad per env (`ROBOT_JSON`)** statt hardcodiert; und
**render_Loop.py: pro Render eine *temporäre* Config schreiben** statt die geteilte
robot.json zu mutieren (Voraussetzung für parallele Jobs, siehe Schlüsselpunkt 3)
* [ ] BLENDER_EXE per env/PATH (aktuell hardcodierter Windows-Pfad)
### Ergebnis
Die Pipeline ist vollständig unabhängig vom lokalen Benutzerprofil und parallel-tauglich.
---
# Phase 3 Repository-Struktur bereinigen
## Ziel
Klare Trennung zwischen Code, Daten und Ergebnissen.
### Zielstruktur
```text
appRobotRendering/
├── data/
│ ├── robot/
│ ├── simulation/
│ └── surfaces/
├── setup/
│ └── generateSets/
│ ├── render_loop.py
│ ├── render_robot.py
│ ├── Dockerfile
│ └── docker-compose.yaml
├── jobs/
└── output/
```
### Aufgaben
* [ ] Verzeichnisstruktur vereinheitlichen
* [ ] Dokumentation ergänzen
* [ ] Mountpoints definieren
---
# Phase 4 Job-Modell einführen
## Ziel
Rendering-Aufträge werden als eigenständige Jobs beschrieben.
### Beispiel
```json
{
"jobType": "blender-render",
"pose": 8
}
```
### Spätere Erweiterungen
```json
{
"jobType": "dataset-generation"
}
```
```json
{
"jobType": "stl-conversion"
}
```
```json
{
"jobType": "ai-training"
}
```
### Aufgaben
* [ ] Job-Format definieren
* [ ] Job-Metadaten definieren
* [ ] Retry-Konzept definieren
* [ ] Statusmodell definieren
### Status
```text
queued
running
completed
failed
timeout
```
---
# Phase 5 Redis als Queue
## Ziel
Entkopplung zwischen Auftragserzeugung und Ausführung.
### Aufgaben
* [ ] Redis bereitstellen
* [ ] Job-Queue definieren
* [ ] Job-Status speichern
* [ ] Retry-Mechanismus definieren
### Hinweis
Redis startet keine Worker.
Redis dient ausschließlich als:
* Queue
* Statusspeicher
* Kommunikationsschicht
---
# Phase 6 Nomad Scheduler
## Ziel
Container werden nur bei tatsächlichem Bedarf gestartet.
### Architektur
```text
Job Producer
Redis
Nomad
Docker Container
```
### Aufgaben
* [ ] Nomad Server aufsetzen
* [ ] Worker-Nodes registrieren
* [ ] Docker Driver aktivieren
* [ ] Batch-Jobs definieren
### Ergebnis
Nomad entscheidet:
* welcher Node frei ist
* welcher Container gestartet wird
* wann ein Container beendet wird
---
# Phase 7 Blender als Nomad Batch Job
## Ziel
Blender läuft nur während der Bearbeitung eines Auftrags.
### Beispiel
```text
Job:
blender-render
Container:
approbot/blender-renderer:latest
```
Ablauf:
1. Job wird eingereicht
2. Nomad startet Blender-Container
3. Rendering läuft
4. Ergebnisse werden gespeichert
5. Container beendet sich
6. Ressourcen werden freigegeben
### Ergebnis
Keine dauerhaft laufenden Blender-Worker.
---
# Phase 8 Multi-Container Plattform
## Ziel
Beliebige Jobtypen auf derselben Infrastruktur ausführen.
### Beispiele
#### Blender Rendering
```text
Container:
approbot/blender-renderer
```
#### AI Training
```text
Container:
approbot/trainer
```
#### STL Processing
```text
Container:
approbot/stl-worker
```
#### Dataset Generation
```text
Container:
approbot/dataset-worker
```
### Ergebnis
Der verwendete Container wird durch den Jobtyp bestimmt.
---
# Zielarchitektur
```text
Nomad
┌────────────────┼────────────────┐
│ │ │
Blender Job AI Job Dataset Job
│ │ │
Blender Training Dataset Worker
Container Container Container
└────────────────┼────────────────┘
Docker
Worker Nodes (PCs)
```
Eigenschaften:
* keine dauerhaft laufenden Blender-Container
* unterschiedliche Container pro Jobtyp
* horizontale Skalierung auf mehrere PCs
* saubere Trennung von Scheduling und Ausführung
* zukünftige Erweiterbarkeit für beliebige Workloads
---
# Offene Punkte / nicht vergessen
* **Cluster-Storage:** geteiltes NFS/Volume (einfach) vs. Object-Storage MinIO/S3
(entkoppelt Nodes, skaliert). Ab >1 Worker-Node bevorzugt Object-Storage.
* **robot.json als geteilter Mutable-State auflösen** (Schlüsselpunkt 3) — Voraussetzung
für parallele Render-Jobs auf einem Node.
* **Reproduzierbarkeit:** Blender- und Python-Versionen pinnen; `requirements.txt` einchecken.
* **GPU-Headless:** prüfen, ob Cycles im Container EGL braucht; sonst CPU-Fallback verifizieren.
* **CI-Hook:** Pipeline-Container in CI → `benchmark/run_benchmark.py` gegen Ground-Truth
bei jedem Commit (schnell, ohne Blender) — fängt Regressionen wie den fy-Bug automatisch.
* **Monitoring/Logs:** Job-Logs zentral (stdout → Nomad/Loki), Render-Zeiten messen.
* **Image-Registry:** private Registry (Harbor o. Ä.) für die `approbot/*`-Images.

View File

@@ -0,0 +1,30 @@
# Nötige Anpassungen #
## Marker ##
In der Render-Pipeline werden die Marker zufällit "falsch aufgeklebt"
das passiert momentan in alle Raumrichtungen falsch (soweit ich weiss).
Realistisch ist nur ein Verschieben senkrecht zur Normalen. Der Aufkleber
der falsch angebracht wird. Die Normale, der Untergrund verändert sich am
Arm nicht.
Anders sieht es auf der Base aus. Hier skann es passieren, dass die "unteren"
Marker sich auf dem Papier verwerfen. Die Marker sind bei -20mm angebracht,
auf einem Papier. und das kann sich falten oder verwerfen. Hier muss noch überlegt
werden, wie das gut simuliert werden kann.
## Gewichtung ##
Die Marker-Gewichtung wurde glaub ich noch nicht angemessen umgesetzt, oder?
## Versionierung ##
Es muss klar sein, mit welcher Version der Ausgabe, mit welcher Version des Robot.json gearbeitet
wurde. Dazu braucht es
1) Label in allen Python Programmen, dass klar ist, welches Python Programm hier grad aktiv ist
2) Label im robot.json
3) Jeweils die Nachvollziehbarkeit in den erzeugten Auswertungs.json

103
doc/lens_errors_roadmap.md Normal file
View File

@@ -0,0 +1,103 @@
# Roadmap: Kamera-/Linsenfehler simulieren (billige WebCams)
**Status:** ✅ umgesetzt (AD) in `setup/generateSets/render_robot.py`, Parameter in
`robot.json → renderingInfo`. **A ist isoliert getestet** (deterministisches npz-Rauschen).
**BD sind Compositor-Effekte und müssen einmal in Blender 4.5 visuell geprüft werden**
jeder Effekt ist in `try/except` gekapselt: ein API-Problem überspringt nur den betroffenen
Effekt mit Log-Warnung `[render][WARN] <effekt> skipped: ...`, der Render läuft weiter.
### Parameter (robot.json → renderingInfo)
| Effekt | Parameter | Beispiel |
|---|---|---|
| A Brennweiten-Restfehler | `focalErrorPct` | 0.5 (±%) |
| A Hauptpunkt-Versatz | `principalErrorPx` | 3.0 (±px) |
| A Rest-Verzeichnung | `residualDistortion` | [0.02, -0.01] (k1,k2) |
| B Linsenstaub | `lensDirt` / `lensDirtStrength` | true / 0.08 |
| C Vignette | `vignette` / `vignetteStrength` | true / 0.08 |
| C Rand-Unschärfe | `localizedBlur` / `localizedBlurStrength` | false / 0.15 |
| D Sensor-Rauschen | `sensorNoise` / `sensorNoiseStrength` | true / 0.01 |
| D chromat. Aberration | `lensDistortion` / `lensDistortionStrength` | true / 0.002 |
**Wichtig:** A verfälscht nur die **npz-Kalibrierung** (Bild bleibt ideal) → echter
geometrischer Härtetest gegen unvollständige Kalibrierung; deterministisch pro Kamera
(Seed aus `cameraPosition`), damit über alle Posen konsistent. BD ändern nur das **Bild**
(Detektion erschwert), nicht die Ground-Truth.
---
(Ursprüngliche Detailplanung als Referenz:)
**Ziel:** Realistische WebCam-Fehler in den Blender-Renderer (`setup/generateSets/render_robot.py`)
einbauen, um die Pose-Pipeline gegen reale Kamera-Imperfektionen zu härten — analog
zu den bereits umgesetzten Marker-Störungen (`markerOffsetMaxMm`, `motionBlur`, `arucoDust`).
## Kernkonzept (wichtig!)
Es gibt zwei Fehlerklassen:
1. **Geometrische Fehler** (Brennweite, Hauptpunkt, Verzeichnung): verschieben die
Marker-Pixel. **Entscheidend:** Kennt die Kalibrierung (`render_*.npz`) den Fehler
exakt, korrigiert die `undistort`-Kette ihn vollständig → *kein* Pose-Fehler. Den
Fehler erzeugt nur die **unvollständige Kalibrierung**. Daher: nicht „Bild verzeichnen",
sondern die **npz-Intrinsik leicht von der Wahrheit abweichen lassen** (Kalibrier-Restfehler).
2. **Photometrische Fehler** (Staub, Vignette, Rand-Unschärfe, Rauschen): ändern die npz
nicht, erschweren nur die Detektion (verrauschte Ecken, fehlende Marker).
## Hinweis: tote Parameter
In `robot.json → renderingInfo` existieren bereits, werden aber von `render_robot.py`
**nicht angewandt**: `lensDirt`, `lensDirtStrength`, `vignette`, `vignetteStrength`,
`sensorNoise`, `sensorNoiseStrength`, `lensDistortion`, `lensDistortionStrength`,
`localizedBlur`, `localizedBlurStrength`. Diese zum Leben erwecken.
## A — Kalibrier-Restfehler (geometrisch) ⭐ zuerst
Höchster Testwert, deckt eine Lücke der bisherigen Störungen ab. Modell-konsistent
(kein Blender↔OpenCV-Mismatch), weil das Bild ideal bleibt und nur die *angenommene*
Kalibrierung in der npz falsch ist.
**Implementierung:** im npz-Schreibblock von `render_robot.py` (~Zeile 460510, wo
`camera_matrix`/`dist_coeffs` gebaut werden) die Werte gezielt verrauschen —
**deterministisch pro Kamera** (Seed aus Kameraposition/-id), damit über alle Posen konsistent.
Neue robot.json-Parameter (Vorschlag):
- `focalErrorPct` (z. B. 0.5) → `fx,fy *= 1 ± rnd·focalErrorPct/100`
- `principalErrorPx` (z. B. 3) → `cx,cy += rnd·principalErrorPx`
- `residualDistortion` (z. B. [0.02, -0.01]) → kleine `k1,k2` in `dist_coeffs`,
die die Pipeline „korrigiert", obwohl das Bild ideal ist (Rest-Verzeichnung)
## B — Staub auf der Linse (photometrisch)
Halbtransparentes Schmutz-Overlay über dem *ganzen* Bild (Compositor), verdeckt zufällig
Marker teilweise. Parameter: `lensDirt`, `lensDirtStrength`.
**Implementierung:** Compositor — RenderLayers → Mix (über eine prozedurale Fleckentextur,
Voronoi/Noise mit hoher Schwelle) → Composite. Wenige, weiche, leicht abdunkelnde Flecken.
## C — Vignette + Rand-Unschärfe (Feldkrümmung)
Randabdunklung und radial nach außen zunehmende Unschärfe (billige Linsen sind am Rand
schlechter). Parameter: `vignette`/`vignetteStrength`, `localizedBlur`/`localizedBlurStrength`.
**Implementierung:** Compositor — Vignette via Ellipse-Maske × Bild; Rand-Unschärfe via
`CompositorNodeBlur` gemischt über eine radiale Maske (Lens Distortion „Distort" auf einer
Maske oder Ellipse-Maske als Mix-Faktor zwischen scharf und Blur).
## D — Sensor-Rauschen + chromatische Aberration
Leichtes Pixelrauschen und Farbsäume an Kanten. Parameter: `sensorNoise`/`sensorNoiseStrength`,
`lensDistortion`/`lensDistortionStrength` (Dispersion).
**Implementierung:** Compositor — additives Noise (klein) auf das Bild; chromatische
Aberration via `CompositorNodeLensdist` mit kleinem `dispersion`-Wert.
## Reihenfolge & Test
1. **A** (geometrisch, einfach, konsistent) — danach Benchmark *mit* vs. *ohne* laufen lassen.
2. **B + C** (Detektions-Robustheit).
3. **D** (Feinschliff).
Wichtig: Compositor-Node-API variiert leicht je Blender-Version — Code im echten Blender
(4.5) gegenchecken. Determinismus pro Kamera nur bei A nötig (geometrische Konsistenz);
BD dürfen pro Aufnahme zufällig sein.

View File

@@ -0,0 +1,9 @@
FROM linuxserver/blender:latest
USER root
RUN pip3 install --no-cache-dir \
numpy \
opencv-python
WORKDIR /workspace

View File

View File

@@ -96,11 +96,13 @@ def split_pose(pose_entry):
def main():
USER_HOME = Path.home()
BASE = USER_HOME / "SynologyDrive" / "2026-AppServer-AppRobot" / "appRobotRendering"
BASE = Path(__file__).resolve().parents[2]
BLENDER_EXE = str("C:/Program Files/Blender Foundation/Blender 4.5/blender.exe")
ROBOT_JSON_FILE = str(BASE / "data" / "robot" / "robot.json")
OUTPUT_DIR = str(BASE / "data" / "simulation" / "debug")
BLENDER_EXE = str("C:/Program Files/Blender Foundation/Blender 4.5/blender.exe")
RENDER_PY = str(BASE / "setup" / "generateSets" / "render_robot.py")
RENDER_PNG = str(BASE / "data" / "simulation" / "debug" / "render.png")
OUTPUT_SET = str(BASE / "data" / "simulation")

View File

@@ -18,9 +18,11 @@ from mathutils import Matrix
# Holt dynamisch den Pfad zum aktuellen Benutzerverzeichnis (z.B. C:\Users\Name)
USER_HOME = Path.home()
BASE = Path(__file__).resolve().parents[2]
# Kombiniert den Benutzerpfad mit dem spezifischen Ordnerpfad und konvertiert direkt zu str
ROBOT_JSON_FILE = str(USER_HOME / "SynologyDrive" / "2026-AppServer-AppRobot" / "appRobotRendering" / "data" / "robot" / "robot.json")
OUTPUT_FILE = str(USER_HOME / "SynologyDrive" / "2026-AppServer-AppRobot" / "appRobotRendering" / "data" / "simulation" / "debug" / "render.png")
ROBOT_JSON_FILE = str(BASE / "data" / "robot" / "robot.json")
OUTPUT_FILE = str(BASE / "data" / "simulation" / "debug" / "render.png")
print("Using robot JSON file:", ROBOT_JSON_FILE)
print("Using output file:", OUTPUT_FILE)
@@ -88,6 +90,23 @@ marker_rot_max_deg = float(rendering_info.get("markerRotationMaxDeg", 0.0))
motion_blur = as_bool(rendering_info.get("motionBlur", False))
motion_blur_max_px = float(rendering_info.get("motionBlurMaxPx", 1.5))
# ── Linsen-/Kamerafehler ───────────────────────────────────────────
# (A) Kalibrier-Restfehler: die npz-Intrinsik leicht von der Wahrheit abweichen lassen
# (deterministisch pro Kamera -> über alle Posen konsistent). Das Bild bleibt ideal,
# nur die *angenommene* Kalibrierung ist falsch — wie bei realer Webcam-Kalibrierung.
intr_focal_err_pct = float(rendering_info.get("focalErrorPct", 0.0)) # ±% auf fx, fy
intr_principal_px = float(rendering_info.get("principalErrorPx", 0.0)) # ±px auf cx, cy
intr_residual_dist = rendering_info.get("residualDistortion", None) # [k1, k2] in dist_coeffs
# (B-D) photometrische Effekte (Compositor)
vignette = as_bool(rendering_info.get("vignette", False)) # C
vignette_strength = float(rendering_info.get("vignetteStrength", 0.25))
localized_blur = as_bool(rendering_info.get("localizedBlur", False)) # C
localized_blur_strength = float(rendering_info.get("localizedBlurStrength", 0.15))
sensor_noise = as_bool(rendering_info.get("sensorNoise", False)) # D
sensor_noise_strength = float(rendering_info.get("sensorNoiseStrength", 0.02))
lens_distortion = as_bool(rendering_info.get("lensDistortion", False)) # D (chromat. Aberration)
lens_distortion_strength = float(rendering_info.get("lensDistortionStrength", 0.01))
state: Dict[str, float] = {k: 0.0 for k in STATE_KEYS}
for source_name in ("defaultPosition", "recognized", "movements"):
source = robot.get(source_name, {}) or {}
@@ -518,6 +537,28 @@ camera_matrix = np.array([
# ideal synthetic camera
dist_coeffs = np.zeros((5, 1), dtype=np.float32)
# ── (A) Kalibrier-Restfehler: Intrinsik gezielt verfälschen ──
# Seed deterministisch aus der Kameraposition (NICHT hash() -> PYTHONHASHSEED), damit
# dieselbe Kamera über alle Posen denselben Kalibrierfehler trägt.
if intr_focal_err_pct > 0.0 or intr_principal_px > 0.0 or intr_residual_dist:
_cp = rendering_info.get("cameraPosition", [0, 0, 0])
_seed = abs(int(round(float(_cp[0]) * 1000 + float(_cp[1]) * 100 + float(_cp[2]) * 10))) + 17
_rng = random.Random(_seed)
if intr_focal_err_pct > 0.0:
fx *= 1.0 + _rng.uniform(-1.0, 1.0) * intr_focal_err_pct / 100.0
fy *= 1.0 + _rng.uniform(-1.0, 1.0) * intr_focal_err_pct / 100.0
if intr_principal_px > 0.0:
cx += _rng.uniform(-1.0, 1.0) * intr_principal_px
cy += _rng.uniform(-1.0, 1.0) * intr_principal_px
camera_matrix = np.array([[fx, 0, cx], [0, fy, cy], [0, 0, 1]], dtype=np.float32)
if intr_residual_dist:
_k = [float(v) for v in intr_residual_dist]
dist_coeffs = np.array([[_k[0] if len(_k) > 0 else 0.0],
[_k[1] if len(_k) > 1 else 0.0],
[0.0], [0.0], [0.0]], dtype=np.float32)
print(f"[render] (A) intrinsics jitter -> fx={fx:.1f} fy={fy:.1f} cx={cx:.1f} cy={cy:.1f} "
f"dist={dist_coeffs.ravel()[:2]}")
np.savez(
CALIBRATION_OUTPUT,
@@ -1045,27 +1086,127 @@ enable_best_device(scene)
# RENDER
# ============================================================
# ── leichtes Verwackeln: pro Aufnahme zufällig gerichteter kleiner Blur ──
if motion_blur and motion_blur_max_px > 0.0:
# ── Post-Processing: Verwackeln + Linsen-/Sensor-Effekte (B-D) ──
# Eine Compositor-Kette; jeder Effekt einzeln gekapselt, damit ein API-Problem den
# Render nicht abbricht (der betroffene Effekt wird dann nur übersprungen + gewarnt).
_post_active = ((motion_blur and motion_blur_max_px > 0.0) or lens_distortion or
localized_blur or vignette or lens_dirt or sensor_noise)
if _post_active:
scene.use_nodes = True
tree = scene.node_tree
for _n in list(tree.nodes):
tree.nodes.remove(_n)
rl = tree.nodes.new("CompositorNodeRLayers")
blur = tree.nodes.new("CompositorNodeBlur")
comp = tree.nodes.new("CompositorNodeComposite")
blur.filter_type = "GAUSS"
blur.use_relative = False
_ang = random.uniform(0.0, math.pi) # zufällige Verwackel-Richtung
cur = rl.outputs["Image"]
# (D) chromatische Aberration (Dispersion) — KEINE geometrische Verzeichnung (-> A/npz)
if lens_distortion and lens_distortion_strength > 0.0:
try:
ld = tree.nodes.new("CompositorNodeLensdist")
ld.use_projector = False
ld.inputs["Distort"].default_value = 0.0
ld.inputs["Dispersion"].default_value = min(1.0, lens_distortion_strength)
tree.links.new(cur, ld.inputs["Image"]); cur = ld.outputs["Image"]
print("[render] (D) chromatic aberration")
except Exception as _e:
print("[render][WARN] lens_distortion skipped:", _e)
# Verwackeln (Motion Blur), pro Aufnahme zufällig gerichtet
if motion_blur and motion_blur_max_px > 0.0:
try:
mb = tree.nodes.new("CompositorNodeBlur")
mb.filter_type = "GAUSS"; mb.use_relative = False
_ang = random.uniform(0.0, math.pi)
_amp = random.uniform(0.35, 1.0) * motion_blur_max_px
blur.size_x = max(0, int(round(abs(_amp * math.cos(_ang)))))
blur.size_y = max(0, int(round(abs(_amp * math.sin(_ang)))))
rl.location = (-300, 0)
blur.location = (0, 0)
comp.location = (300, 0)
tree.links.new(rl.outputs["Image"], blur.inputs["Image"])
tree.links.new(blur.outputs["Image"], comp.inputs["Image"])
print(f"[render] motion blur size=({blur.size_x},{blur.size_y}) px")
mb.size_x = max(0, int(round(abs(_amp * math.cos(_ang)))))
mb.size_y = max(0, int(round(abs(_amp * math.sin(_ang)))))
tree.links.new(cur, mb.inputs["Image"]); cur = mb.outputs["Image"]
print(f"[render] motion blur size=({mb.size_x},{mb.size_y})")
except Exception as _e:
print("[render][WARN] motion_blur skipped:", _e)
# (C) Rand-Unschärfe (Feldkrümmung): scharf in der Mitte, unscharf am Rand
if localized_blur and localized_blur_strength > 0.0:
try:
eb = tree.nodes.new("CompositorNodeBlur")
eb.filter_type = "GAUSS"; eb.use_relative = True
eb.factor_x = min(0.5, localized_blur_strength)
eb.factor_y = min(0.5, localized_blur_strength)
em = tree.nodes.new("CompositorNodeEllipseMask")
em.width = 0.7; em.height = 0.7
ex = tree.nodes.new("CompositorNodeMixRGB")
tree.links.new(cur, eb.inputs["Image"])
tree.links.new(em.outputs["Mask"], ex.inputs["Fac"])
tree.links.new(eb.outputs["Image"], ex.inputs[1]) # Fac=0 (Rand) -> Blur
tree.links.new(cur, ex.inputs[2]) # Fac=1 (Mitte) -> scharf
cur = ex.outputs["Image"]
print("[render] (C) edge blur")
except Exception as _e:
print("[render][WARN] localized_blur skipped:", _e)
# (C) Vignette: Randabdunklung über weiche Ellipse-Maske
if vignette and vignette_strength > 0.0:
try:
vm = tree.nodes.new("CompositorNodeEllipseMask")
vm.width = 1.0; vm.height = 1.0
vs = tree.nodes.new("CompositorNodeBlur")
vs.filter_type = "GAUSS"; vs.use_relative = True
vs.factor_x = 0.3; vs.factor_y = 0.3
vr = tree.nodes.new("CompositorNodeMapRange")
vr.inputs["From Min"].default_value = 0.0
vr.inputs["From Max"].default_value = 1.0
vr.inputs["To Min"].default_value = 1.0 - min(0.9, vignette_strength)
vr.inputs["To Max"].default_value = 1.0
vmul = tree.nodes.new("CompositorNodeMixRGB")
vmul.blend_type = "MULTIPLY"; vmul.inputs["Fac"].default_value = 1.0
tree.links.new(vm.outputs["Mask"], vs.inputs["Image"])
tree.links.new(vs.outputs["Image"], vr.inputs["Value"])
tree.links.new(cur, vmul.inputs[1])
tree.links.new(vr.outputs["Value"], vmul.inputs[2])
cur = vmul.outputs["Image"]
print("[render] (C) vignette")
except Exception as _e:
print("[render][WARN] vignette skipped:", _e)
# (B) Staub auf der Linse: wenige dunkle Flecken über dem ganzen Bild
if lens_dirt and lens_dirt_strength > 0.0:
try:
dtex = bpy.data.textures.new("lensDirtTex", type="VORONOI")
dt = tree.nodes.new("CompositorNodeTexture")
dt.texture = dtex
dramp = tree.nodes.new("CompositorNodeValToRGB")
dramp.color_ramp.elements[0].position = 0.0
dramp.color_ramp.elements[1].position = 0.12 # nur wenige Flecken
dramp.color_ramp.elements[0].color = (1, 1, 1, 1)
dramp.color_ramp.elements[1].color = (1.0 - min(0.9, lens_dirt_strength),) * 3 + (1.0,)
dmul = tree.nodes.new("CompositorNodeMixRGB")
dmul.blend_type = "MULTIPLY"; dmul.inputs["Fac"].default_value = 1.0
tree.links.new(dt.outputs["Value"], dramp.inputs["Fac"])
tree.links.new(cur, dmul.inputs[1])
tree.links.new(dramp.outputs["Image"], dmul.inputs[2])
cur = dmul.outputs["Image"]
print("[render] (B) lens dirt")
except Exception as _e:
print("[render][WARN] lens_dirt skipped:", _e)
# (D) Sensor-Rauschen: feines additives Rauschen
if sensor_noise and sensor_noise_strength > 0.0:
try:
ntex = bpy.data.textures.new("sensorNoiseTex", type="NOISE")
nt = tree.nodes.new("CompositorNodeTexture")
nt.texture = ntex
nmix = tree.nodes.new("CompositorNodeMixRGB")
nmix.blend_type = "ADD"
nmix.inputs["Fac"].default_value = min(0.3, sensor_noise_strength)
tree.links.new(cur, nmix.inputs[1])
tree.links.new(nt.outputs["Image"], nmix.inputs[2])
cur = nmix.outputs["Image"]
print("[render] (D) sensor noise")
except Exception as _e:
print("[render][WARN] sensor_noise skipped:", _e)
comp = tree.nodes.new("CompositorNodeComposite")
tree.links.new(cur, comp.inputs["Image"])
bpy.ops.render.render(write_still=True)
print("Finished rendering:", OUTPUT_FILE)

File diff suppressed because it is too large Load Diff