Bildfehler, falsch plazierte Arucos

This commit is contained in:
chk
2026-06-02 07:29:14 +02:00
parent 33a70c60c9
commit ac81c2e0cb
45 changed files with 22562 additions and 22063 deletions

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-01T20:35:31Z",
"created_utc": "2026-06-02T05:24:00Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,37 +36,26 @@
"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": 29,
"num_used_markers": 18,
"used_marker_ids": [
97,
95,
103,
54,
55,
51,
47,
210,
85,
79,
96,
215,
62,
105,
96,
208,
62,
211,
75,
102,
214,
74,
102,
92,
81,
217,
61,
52,
83,
206,
82,
207,
72,
73,
53,
56,
46,
93
206
],
"history": {
"iters": [
@@ -76,10 +65,10 @@
3
],
"rms": [
0.012034135265417424,
0.0008689120238386504,
0.00012891590996672188,
0.00012884796602483946
0.010166887216252387,
0.0014690713042282758,
0.0012685181386969235,
0.0012685132649094724
],
"lambda": [
0.001,
@@ -88,516 +77,373 @@
0.000125
]
},
"residual_rms_px": 0.3239397860194149,
"residual_median_px": 0.22686032746950102,
"residual_max_px": 0.9295587856283213,
"sigma2_normalized": 1.8517390464419332e-08
"residual_rms_px": 3.5878912075846126,
"residual_median_px": 2.99884595483693,
"residual_max_px": 6.940039621998929,
"sigma2_normalized": 1.9309510838896484e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.8081132173538208,
-0.5890271663665771,
0.00012020689609926194
0.808974027633667,
-0.587838888168335,
-0.002537468681111932
],
[
-0.34314170479774475,
-0.470937579870224,
-0.8126940131187439
-0.34697991609573364,
-0.47401466965675354,
-0.8092681765556335
],
[
0.47875547409057617,
0.6567075252532959,
-0.5826906561851501
0.47451654076576233,
0.65555739402771,
-0.5874338746070862
]
],
"translation_m": [
-0.22891609370708466,
0.1707439124584198,
1.1347811222076416
-0.22801479697227478,
0.17232255637645721,
1.1400357484817505
],
"rvec_rad": [
2.1062697076327828,
-0.6860854039131205,
0.3524571805154137
2.1113893925835234,
-0.6876223062447547,
0.347172440775238
]
},
"camera_in_world": {
"position_m": [
-0.2997032105922699,
-0.799647331237793,
0.8000164031982422
-0.29671528935432434,
-0.7997114062309265,
0.8085721731185913
],
"position_mm": [
-299.7032165527344,
-799.6473388671875,
800.0164184570312
-296.7153015136719,
-799.71142578125,
808.5721435546875
],
"orientation_deg": {
"roll": 131.58233642578125,
"pitch": -28.604148864746094,
"yaw": -23.0070858001709
"roll": 131.86297607421875,
"pitch": -28.3278751373291,
"yaw": -23.215147018432617
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
7.117355394105872e-08,
-2.1230474986829976e-08,
-3.1053899136843836e-09,
2.5552783637509647e-09,
1.2198618642205762e-08,
1.9110381248128544e-08
2.5521169645671983e-05,
-4.989748438898709e-06,
1.051350352942115e-06,
8.934875440538053e-07,
1.5039818468984486e-07,
4.325178236482539e-06
],
[
-2.1230474986829728e-08,
3.481018949594211e-08,
-1.674551612113021e-08,
-7.72855379465477e-09,
-8.329714684899453e-09,
-1.7422641696187877e-09
-4.989748438898677e-06,
6.963469930701318e-06,
-2.2292340990913223e-06,
-4.5178164596587323e-07,
-1.2260593413021072e-06,
4.963200473341543e-07
],
[
-3.105389913684412e-09,
-1.6745516121130328e-08,
9.379942357400827e-08,
1.4627600222264534e-08,
-8.013775296579182e-09,
-2.1124302781088823e-08
1.0513503529423325e-06,
-2.22923409909133e-06,
2.6461827960812845e-05,
8.934144888700676e-07,
-3.6528622343780327e-06,
-1.0502628601281869e-05
],
[
2.5552783637509287e-09,
-7.728553794654778e-09,
1.4627600222264496e-08,
4.263337150942713e-09,
3.342107400025696e-10,
-1.512925050651277e-09
8.934875440538104e-07,
-4.5178164596587614e-07,
8.934144888700712e-07,
2.847233212537208e-07,
3.205822451903174e-08,
4.110013273151191e-07
],
[
1.2198618642205698e-08,
-8.329714684899453e-09,
-8.013775296579222e-09,
3.342107400025638e-10,
5.36479988762239e-09,
6.289076196119577e-09
1.5039818468979507e-07,
-1.2260593413021062e-06,
-3.6528622343780243e-06,
3.205822451903171e-08,
1.1575823707104135e-06,
2.224355409003472e-06
],
[
1.91103812481286e-08,
-1.742264169618804e-09,
-2.1124302781088863e-08,
-1.512925050651283e-09,
6.289076196119589e-09,
3.4600591715292965e-08
4.325178236482443e-06,
4.963200473341405e-07,
-1.05026286012819e-05,
4.110013273151203e-07,
2.2243554090034874e-06,
1.0893388013986364e-05
]
],
"parameter_std": {
"rvec_std_deg": [
0.015285581272251669,
0.010689953747439269,
0.01754780166676714
0.289449577254034,
0.15119432299733387,
0.29473557108478565
],
"tvec_std_m": [
6.529423520451643e-05,
7.324479426977994e-05,
0.00018601234291114384
0.000533594716291045,
0.0010759100198020342,
0.0033005132955324333
]
},
"camera_center_std_m": [
0.00030822711317601175,
0.0002919271293487338,
0.00033325927291978326
0.0039453635676902485,
0.005012380575184466,
0.005327086562393522
],
"camera_center_std_mm": [
0.30822711317601176,
0.2919271293487338,
0.33325927291978324
3.9453635676902485,
5.012380575184467,
5.327086562393522
],
"orientation_std_deg": {
"roll": 0.022231224869631416,
"pitch": 0.014895707439856385,
"yaw": 0.011102795425160114
"roll": 0.2718555241872546,
"pitch": 0.22517882619059668,
"yaw": 0.1689714465956029
}
}
},
"observations": {
"markers": [
{
"marker_id": 47,
"marker_id": 97,
"observed_center_px": [
984.25,
690.75
1153.0,
1024.25
],
"projected_center_px": [
983.844482421875,
690.7804565429688
1151.4683837890625,
1027.084228515625
],
"reprojection_error_px": 0.40665969455795936,
"confidence": 0.12146268776527554
"reprojection_error_px": 3.2215989037104595,
"confidence": 0.5362497840776611
},
{
"marker_id": 95,
"observed_center_px": [
881.0,
1031.0
],
"projected_center_px": [
877.1641845703125,
1027.9886474609375
],
"reprojection_error_px": 4.876650912782959,
"confidence": 0.4935894813040658
},
{
"marker_id": 103,
"observed_center_px": [
661.25,
999.75
],
"projected_center_px": [
660.756591796875,
995.5361328125
],
"reprojection_error_px": 4.24265581078647,
"confidence": 0.8261355565026409
},
{
"marker_id": 54,
"observed_center_px": [
1154.75,
960.75
],
"projected_center_px": [
1161.6109619140625,
961.794677734375
],
"reprojection_error_px": 6.940039621998929,
"confidence": 0.7439171173608352
},
{
"marker_id": 55,
"observed_center_px": [
997.5,
932.25
],
"projected_center_px": [
998.8057250976562,
934.1423950195312
],
"reprojection_error_px": 2.299147002824331,
"confidence": 0.8304000031548856
},
{
"marker_id": 51,
"observed_center_px": [
736.75,
929.0
],
"projected_center_px": [
735.9511108398438,
927.8583374023438
],
"reprojection_error_px": 1.3934193112995008,
"confidence": 0.7610742478887381
},
{
"marker_id": 47,
"observed_center_px": [
1108.5,
915.0
],
"projected_center_px": [
1107.0137939453125,
912.5769653320312
],
"reprojection_error_px": 2.842517447469446,
"confidence": 0.7320604858744362
},
{
"marker_id": 210,
"observed_center_px": [
324.25,
632.25
369.0,
845.25
],
"projected_center_px": [
324.11065673828125,
632.0090942382812
367.82171630859375,
847.3658447265625
],
"reprojection_error_px": 0.2783022289089888,
"confidence": 0.47917663082333867
"reprojection_error_px": 2.4218074581510973,
"confidence": 0.5918603141621647
},
{
"marker_id": 85,
"observed_center_px": [
1183.75,
610.25
1334.75,
822.25
],
"projected_center_px": [
1183.810302734375,
610.2540893554688
1331.6754150390625,
821.5414428710938
],
"reprojection_error_px": 0.060441232625183965,
"confidence": 0.4560525484643318
},
{
"marker_id": 79,
"observed_center_px": [
814.0,
599.0
],
"projected_center_px": [
814.2139282226562,
598.9244995117188
],
"reprojection_error_px": 0.22686032746950102,
"confidence": 0.5734281513866332
},
{
"marker_id": 96,
"observed_center_px": [
905.25,
587.25
],
"projected_center_px": [
905.1282958984375,
586.9659423828125
],
"reprojection_error_px": 0.3090317430610901,
"confidence": 0.525542829627259
"reprojection_error_px": 3.1551744622044144,
"confidence": 0.5700409377184962
},
{
"marker_id": 215,
"observed_center_px": [
678.75,
548.75
763.5,
751.75
],
"projected_center_px": [
678.8589477539062,
549.0524291992188
765.24169921875,
753.4178466796875
],
"reprojection_error_px": 0.3214545591857599,
"confidence": 0.456911083882938
"reprojection_error_px": 2.4114785330869064,
"confidence": 0.5752892000247514
},
{
"marker_id": 62,
"marker_id": 96,
"observed_center_px": [
931.0,
557.5
1017.5,
792.75
],
"projected_center_px": [
931.0244750976562,
557.4100952148438
1019.0455932617188,
795.5435180664062
],
"reprojection_error_px": 0.09317671811817824,
"confidence": 0.5038606541951498
},
{
"marker_id": 105,
"observed_center_px": [
1150.25,
560.25
],
"projected_center_px": [
1150.0174560546875,
560.2509155273438
],
"reprojection_error_px": 0.23254574752469706,
"confidence": 0.43622925667631085
"reprojection_error_px": 3.192585428458966,
"confidence": 0.630646820118
},
{
"marker_id": 208,
"observed_center_px": [
793.0,
492.75
894.0,
687.5
],
"projected_center_px": [
792.93505859375,
492.69671630859375
893.2735595703125,
689.643310546875
],
"reprojection_error_px": 0.08400320241278912,
"confidence": 0.4417935296159658
"reprojection_error_px": 2.263072203494659,
"confidence": 0.5300970271462531
},
{
"marker_id": 62,
"observed_center_px": [
1041.5,
762.75
],
"projected_center_px": [
1048.181884765625,
762.152587890625
],
"reprojection_error_px": 6.7085382349301215,
"confidence": 0.5584722595619961
},
{
"marker_id": 211,
"observed_center_px": [
609.5,
487.25
690.25,
681.25
],
"projected_center_px": [
610.08251953125,
487.4124755859375
688.2192993164062,
683.8973999023438
],
"reprojection_error_px": 0.6047539336899378,
"confidence": 0.40054559871813256
},
{
"marker_id": 75,
"observed_center_px": [
128.5,
514.75
],
"projected_center_px": [
128.4987335205078,
514.6072387695312
],
"reprojection_error_px": 0.1427668480259184,
"confidence": 0.29844141482805986
},
{
"marker_id": 102,
"observed_center_px": [
1217.75,
461.5
],
"projected_center_px": [
1217.762939453125,
461.39080810546875
],
"reprojection_error_px": 0.10995589697009295,
"confidence": 0.2521714913889437
},
{
"marker_id": 214,
"observed_center_px": [
721.75,
435.25
],
"projected_center_px": [
722.0742797851562,
435.6196594238281
],
"reprojection_error_px": 0.491737194735079,
"confidence": 0.35589175865715006
"reprojection_error_px": 3.3365358546369346,
"confidence": 0.48560086587640716
},
{
"marker_id": 74,
"observed_center_px": [
311.75,
487.5
353.75,
686.0
],
"projected_center_px": [
311.78607177734375,
487.70458984375
354.0268859863281,
684.1837768554688
],
"reprojection_error_px": 0.2077454627335733,
"confidence": 0.27942076592245474
"reprojection_error_px": 1.8372077618374794,
"confidence": 0.32535152930719674
},
{
"marker_id": 102,
"observed_center_px": [
1372.5,
653.75
],
"projected_center_px": [
1370.4840087890625,
653.3258056640625
],
"reprojection_error_px": 2.06013625695455,
"confidence": 0.3269033172339992
},
{
"marker_id": 92,
"observed_center_px": [
1173.25,
437.75
1323.25,
628.5
],
"projected_center_px": [
1173.09326171875,
437.8807373046875
1320.40283203125,
626.7992553710938
],
"reprojection_error_px": 0.20410568744196306,
"confidence": 0.31777455864589965
},
{
"marker_id": 81,
"observed_center_px": [
342.25,
451.25
],
"projected_center_px": [
342.5326232910156,
451.2200927734375
],
"reprojection_error_px": 0.28420127871838186,
"confidence": 0.2741936898356918
},
{
"marker_id": 217,
"observed_center_px": [
1087.75,
347.0
],
"projected_center_px": [
1087.9014892578125,
346.9776611328125
],
"reprojection_error_px": 0.1531274639632057,
"confidence": 0.3029173397022545
},
{
"marker_id": 61,
"observed_center_px": [
58.5,
415.5
],
"projected_center_px": [
58.70878219604492,
415.49444580078125
],
"reprojection_error_px": 0.20885606171308926,
"confidence": 0.1527342148240039
},
{
"marker_id": 52,
"observed_center_px": [
273.75,
442.75
],
"projected_center_px": [
272.8359680175781,
442.919189453125
],
"reprojection_error_px": 0.9295587856283213,
"confidence": 0.21946523336267398
},
{
"marker_id": 83,
"observed_center_px": [
139.0,
383.0
],
"projected_center_px": [
138.9648895263672,
382.9786682128906
],
"reprojection_error_px": 0.04108272751412836,
"confidence": 0.19743498130596515
"reprojection_error_px": 3.3164586134956453,
"confidence": 0.3667945046841247
},
{
"marker_id": 206,
"observed_center_px": [
1013.0,
301.0
1139.5,
473.5
],
"projected_center_px": [
1013.3450317382812,
300.9158020019531
1141.291015625,
472.4190979003906
],
"reprojection_error_px": 0.3551565898255058,
"confidence": 0.2849187633475991
},
{
"marker_id": 82,
"observed_center_px": [
362.0,
333.0
],
"projected_center_px": [
361.9694519042969,
332.7307434082031
],
"reprojection_error_px": 0.2709839448697215,
"confidence": 0.20388582934250105
},
{
"marker_id": 207,
"observed_center_px": [
1098.0,
262.0
],
"projected_center_px": [
1097.9324951171875,
261.7966613769531
],
"reprojection_error_px": 0.21425103226385744,
"confidence": 0.24627951083020566
},
{
"marker_id": 72,
"observed_center_px": [
655.25,
300.25
],
"projected_center_px": [
655.5056762695312,
300.4344177246094
],
"reprojection_error_px": 0.31524633534985885,
"confidence": 0.2345502390230936
},
{
"marker_id": 73,
"observed_center_px": [
343.75,
311.5
],
"projected_center_px": [
343.6866760253906,
311.7745056152344
],
"reprojection_error_px": 0.2817148532746037,
"confidence": 0.17208874842045807
},
{
"marker_id": 53,
"observed_center_px": [
686.0,
274.0
],
"projected_center_px": [
685.5405883789062,
273.7601318359375
],
"reprojection_error_px": 0.5182622634600186,
"confidence": 0.19579935125865724
},
{
"marker_id": 56,
"observed_center_px": [
728.5,
291.75
],
"projected_center_px": [
728.5443725585938,
291.7182312011719
],
"reprojection_error_px": 0.054572708702589186,
"confidence": 0.2119841467910161
},
{
"marker_id": 46,
"observed_center_px": [
751.0,
268.75
],
"projected_center_px": [
751.09375,
268.6739196777344
],
"reprojection_error_px": 0.12073639855503955,
"confidence": 0.18860386268790535
},
{
"marker_id": 93,
"observed_center_px": [
1104.25,
154.5
],
"projected_center_px": [
1104.235595703125,
154.6660614013672
],
"reprojection_error_px": 0.16668495070790668,
"confidence": 0.15396639291733288
"reprojection_error_px": 2.0919097298722273,
"confidence": 0.33934827334193574
}
]
},

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-01T20:35:31Z",
"created_utc": "2026-06-02T05:24:01Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,14 +36,20 @@
"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": 6,
"num_used_markers": 12,
"used_marker_ids": [
58,
96,
62,
64,
103,
51,
79,
208,
215,
214,
210,
211,
53
211
],
"history": {
"iters": [
@@ -53,10 +59,10 @@
3
],
"rms": [
0.00671761430914656,
0.00033824227612189905,
9.052017389733679e-05,
9.051207538158261e-05
0.004615243620407225,
0.0016240856842413794,
0.0016198876023363316,
0.001619887586615354
],
"lambda": [
0.001,
@@ -65,217 +71,295 @@
0.000125
]
},
"residual_rms_px": 0.22756684424285512,
"residual_median_px": 0.2188892421848152,
"residual_max_px": 0.35500646231034766,
"sigma2_normalized": 1.6384871481043506e-08
"residual_rms_px": 4.581746141315907,
"residual_median_px": 4.435813592191235,
"residual_max_px": 7.101108780982503,
"sigma2_normalized": 3.4987143910271506e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.993744969367981,
0.11167240887880325,
-0.00048105508903972805
0.9918709397315979,
0.12671272456645966,
-0.011660023592412472
],
[
0.03271167725324631,
-0.2952064275741577,
-0.9548733234405518
0.02620624378323555,
-0.29308047890663147,
-0.9557285308837891
],
[
-0.10677501559257507,
0.9488848447799683,
-0.29701289534568787
-0.12452030181884766,
0.9476537704467773,
-0.2940186858177185
]
],
"translation_m": [
-0.19782666862010956,
0.106293223798275,
1.0042906999588013
-0.19619186222553253,
0.10813505202531815,
1.0083338022232056
],
"rvec_rad": [
1.8701712260845833,
0.10441867416551628,
-0.07756766809896094
1.8671128682666271,
0.11070969321584771,
-0.09859130866453486
]
},
"camera_in_world": {
"position_m": [
0.30034536123275757,
-0.8994859457015991,
0.3996886909008026
0.317321240901947,
-0.898999035358429,
0.39752912521362305
],
"position_mm": [
300.3453674316406,
-899.4859619140625,
399.6886901855469
317.32122802734375,
-898.9990234375,
397.52911376953125
],
"orientation_deg": {
"roll": 107.38077545166016,
"pitch": 6.12944221496582,
"yaw": 1.8853574991226196
"roll": 107.23699951171875,
"pitch": 7.153054237365723,
"yaw": 1.5134608745574951
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
4.484539727126045e-07,
8.482297909625752e-08,
1.0510713805946576e-07,
4.718812194772898e-09,
-3.669679946430438e-08,
3.8652859810689e-08
6.959756996807975e-05,
1.1688762330222433e-06,
6.079411798173631e-06,
-5.837466304221457e-07,
-9.097027407978662e-06,
4.4636134345928046e-07
],
[
8.482297909625899e-08,
2.0260653910296792e-07,
-3.501671569627934e-08,
7.367798601628585e-09,
-3.2908410696996424e-08,
5.819447513700382e-08
1.1688762330215977e-06,
2.2677982586359303e-05,
-3.059836598356964e-05,
4.114551799845292e-06,
-6.112791296902993e-07,
4.831658805448745e-06
],
[
1.0510713805946685e-07,
-3.5016715696277904e-08,
3.944449679155422e-07,
-7.004331778451695e-09,
-5.507853957671965e-08,
-1.0651630051707764e-07
6.0794117981759546e-06,
-3.0598365983569426e-05,
0.0001030647763463562,
-9.003560949274884e-06,
-6.097317975605303e-06,
-1.2609404908654946e-05
],
[
4.718812194773103e-09,
7.367798601628739e-09,
-7.004331778452245e-09,
3.7110916979334724e-09,
1.0348384960478576e-09,
1.4423634366716965e-08
-5.837466304223393e-07,
4.114551799845282e-06,
-9.003560949274906e-06,
1.1571399036730627e-06,
3.273816229504428e-07,
1.248777588101568e-06
],
[
-3.6696799464304895e-08,
-3.290841069699665e-08,
-5.5078539576719463e-08,
1.0348384960479337e-09,
1.978899355514534e-08,
2.3181165970700254e-08
-9.097027407978798e-06,
-6.112791296904013e-07,
-6.097317975604982e-06,
3.273816229504187e-07,
2.2672320495666097e-06,
1.8101612254100426e-06
],
[
3.8652859810688855e-08,
5.8194475137003656e-08,
-1.065163005170788e-07,
1.4423634366717718e-08,
2.3181165970700393e-08,
1.835630667294324e-07
4.4636134345894223e-07,
4.8316588054487185e-06,
-1.2609404908654949e-05,
1.2487775881015821e-06,
1.810161225410089e-06,
8.427365923810952e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.038369096279544185,
0.02578988237897036,
0.03598453064030877
0.4779909461868487,
0.2728505547730407,
0.5816714727854189
],
"tvec_std_m": [
6.0918730271842274e-05,
0.00014067335765931423,
0.0004284426061089541
0.001075704375594458,
0.0015057330605278646,
0.0029029925807364633
]
},
"camera_center_std_m": [
0.0005273966759023264,
0.0004267241934142766,
0.0006492834900289064
0.008376744841229819,
0.0038023787854790554,
0.006691547316499596
],
"camera_center_std_mm": [
0.5273966759023264,
0.4267241934142766,
0.6492834900289064
8.376744841229819,
3.8023787854790556,
6.691547316499595
],
"orientation_std_deg": {
"roll": 0.03576407949561515,
"pitch": 0.029402381229182255,
"yaw": 0.02483304213601616
"roll": 0.5115464644995066,
"pitch": 0.5065358521962163,
"yaw": 0.23448104674542614
}
}
},
"observations": {
"markers": [
{
"marker_id": 208,
"marker_id": 58,
"observed_center_px": [
922.5,
650.25
283.0,
1034.0
],
"projected_center_px": [
922.2349243164062,
650.4861450195312
287.2854309082031,
1036.528076171875
],
"reprojection_error_px": 0.35500646231034766,
"confidence": 0.2964796698261984
"reprojection_error_px": 4.975548934518161,
"confidence": 0.34134185624863755
},
{
"marker_id": 96,
"observed_center_px": [
1097.0,
1038.75
],
"projected_center_px": [
1091.1240234375,
1040.4439697265625
],
"reprojection_error_px": 6.115278734249122,
"confidence": 0.22610879831433603
},
{
"marker_id": 62,
"observed_center_px": [
1171.5,
1028.5
],
"projected_center_px": [
1178.354248046875,
1030.3560791015625
],
"reprojection_error_px": 7.101108780982503,
"confidence": 0.3612787707711435
},
{
"marker_id": 64,
"observed_center_px": [
149.5,
990.0
],
"projected_center_px": [
147.0460205078125,
989.2703857421875
],
"reprojection_error_px": 2.5601469319709182,
"confidence": 0.627290157669418
},
{
"marker_id": 103,
"observed_center_px": [
439.25,
1009.0
],
"projected_center_px": [
441.7829895019531,
1005.3040771484375
],
"reprojection_error_px": 4.480611737442402,
"confidence": 0.5322558856063425
},
{
"marker_id": 51,
"observed_center_px": [
598.75,
996.0
],
"projected_center_px": [
596.879638671875,
994.2493286132812
],
"reprojection_error_px": 2.5618551485244563,
"confidence": 0.5327847056473787
},
{
"marker_id": 79,
"observed_center_px": [
946.0,
998.75
],
"projected_center_px": [
946.7507934570312,
997.3475341796875
],
"reprojection_error_px": 1.5907863440027856,
"confidence": 0.48423420812018686
},
{
"marker_id": 208,
"observed_center_px": [
1042.5,
866.75
],
"projected_center_px": [
1037.396728515625,
866.1358032226562
],
"reprojection_error_px": 5.140098980032823,
"confidence": 0.3845113529837918
},
{
"marker_id": 215,
"observed_center_px": [
720.75,
640.75
812.25,
854.75
],
"projected_center_px": [
720.8250732421875,
640.4906616210938
810.529296875,
855.7051391601562
],
"reprojection_error_px": 0.2699859004953124,
"confidence": 0.2743742952602821
"reprojection_error_px": 1.9680218646266998,
"confidence": 0.3703387843628071
},
{
"marker_id": 214,
"observed_center_px": [
916.25,
583.75
1026.5,
792.5
],
"projected_center_px": [
916.4456176757812,
583.5968017578125
1033.4305419921875,
791.1577758789062
],
"reprojection_error_px": 0.24846725435638023,
"confidence": 0.21966133686197709
"reprojection_error_px": 7.059318515035298,
"confidence": 0.26033633278661333
},
{
"marker_id": 210,
"observed_center_px": [
314.25,
563.5
357.75,
769.5
],
"projected_center_px": [
314.15997314453125,
563.5582885742188
357.4304504394531,
771.5237426757812
],
"reprojection_error_px": 0.10724920787607678,
"confidence": 0.233781757000696
"reprojection_error_px": 2.0488158383378323,
"confidence": 0.276814379287008
},
{
"marker_id": 211,
"observed_center_px": [
730.75,
575.0
828.75,
782.0
],
"projected_center_px": [
730.8939208984375,
575.1229858398438
824.3886108398438,
782.5092163085938
],
"reprojection_error_px": 0.18931123001325018,
"confidence": 0.21604275474161502
},
{
"marker_id": 53,
"observed_center_px": [
1113.0,
491.0
],
"projected_center_px": [
1112.947998046875,
490.99591064453125
],
"reprojection_error_px": 0.052162495693404975,
"confidence": 0.12244968744253681
"reprojection_error_px": 4.391015446940068,
"confidence": 0.2192072563917946
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-01T20:35:32Z",
"created_utc": "2026-06-02T05:24:01Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,19 +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": 11,
"num_used_markers": 13,
"used_marker_ids": [
95,
79,
208,
69,
51,
103,
58,
215,
58,
214,
64,
211,
72,
210,
84,
86
210
],
"history": {
"iters": [
@@ -58,10 +60,10 @@
3
],
"rms": [
0.00597403274948069,
0.0002663955030939687,
0.00011532841963318679,
0.00011532606603497566
0.005280661861970249,
0.00144727257981188,
0.0014397336755201193,
0.0014397336334661356
],
"lambda": [
0.001,
@@ -70,282 +72,308 @@
0.000125
]
},
"residual_rms_px": 0.2899517961993663,
"residual_median_px": 0.2027191362184715,
"residual_max_px": 0.497382094324975,
"sigma2_normalized": 1.828763956789184e-08
"residual_rms_px": 4.072181614150245,
"residual_median_px": 3.1055233944577676,
"residual_max_px": 6.549244562604083,
"sigma2_normalized": 2.6946828159331417e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.8189771175384521,
0.5738260746002197,
-0.0003554785216692835
0.8162084817886353,
0.5777562856674194,
-0.00116585788782686
],
[
0.16141317784786224,
-0.23096679151058197,
-0.9594790935516357
0.16109800338745117,
-0.22952349483966827,
-0.9598783254623413
],
[
-0.5506561994552612,
0.7857340574264526,
-0.28177961707115173
-0.5548433065414429,
0.7832730412483215,
-0.2804144024848938
]
],
"translation_m": [
-0.11494141817092896,
0.08626127988100052,
1.1260441541671753
-0.11429616808891296,
0.08662492036819458,
1.1251342296600342
],
"rvec_rad": [
1.791013830205648,
0.5647426184377776,
-0.4232360985411301
1.7888641155861158,
0.5681972273262575,
-0.42758482030561973
]
},
"camera_in_world": {
"position_m": [
0.700273871421814,
-0.7988913655281067,
0.4000213146209717
0.7036075592041016,
-0.795369565486908,
0.39851996302604675
],
"position_mm": [
700.2738647460938,
-798.891357421875,
400.02130126953125
703.6075439453125,
-795.3695678710938,
398.51995849609375
],
"orientation_deg": {
"roll": 109.72882080078125,
"pitch": 33.41204071044922,
"yaw": 11.149589538574219
"roll": 109.6975326538086,
"pitch": 33.69992446899414,
"yaw": 11.165164947509766
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
2.216412630274248e-07,
8.568442605284599e-08,
8.101192481658667e-08,
3.1247261296675916e-10,
-3.7078996943441625e-08,
-2.4533252340871167e-09
3.546895351742844e-05,
9.896592472599479e-06,
7.677087485067508e-06,
-3.289082421053511e-07,
-6.757139645553152e-06,
2.8909357806575656e-07
],
[
8.568442605284535e-08,
1.1750858828590586e-07,
-1.8303004445813296e-08,
1.0641294472233925e-08,
-1.9333729742684046e-08,
2.6499440484781956e-08
9.896592472599549e-06,
1.4875865779808891e-05,
-5.832008909084875e-06,
2.208486278695395e-06,
-2.5545007780139315e-06,
1.7903709382968203e-06
],
[
8.101192481658637e-08,
-1.8303004445812928e-08,
2.0373994178419427e-07,
-1.32545281474916e-08,
-2.8621231041176948e-08,
-5.377275093167535e-08
7.677087485067167e-06,
-5.832008909084883e-06,
3.145686254824771e-05,
-3.517659367637784e-06,
-2.770144779684103e-06,
-3.4747946329326245e-06
],
[
3.12472612966749e-10,
1.0641294472233915e-08,
-1.3254528147491639e-08,
3.391035530149094e-09,
5.287586629706987e-10,
7.335738875543778e-09
-3.2890824210532233e-07,
2.2084862786954086e-06,
-3.5176593676377983e-06,
7.748655922718187e-07,
4.134068251059262e-08,
3.3553809462382777e-07
],
[
-3.7078996943441446e-08,
-1.9333729742684082e-08,
-2.8621231041176908e-08,
5.287586629706958e-10,
1.1226749971115917e-08,
9.248783970053307e-09
-6.757139645553122e-06,
-2.554500778013915e-06,
-2.770144779684149e-06,
4.1340682510600795e-08,
1.8047775076887459e-06,
1.01101997722802e-06
],
[
-2.4533252340870186e-09,
2.6499440484781966e-08,
-5.377275093167542e-08,
7.335738875543783e-09,
9.248783970053305e-09,
5.7920602181622285e-08
2.8909357806583766e-07,
1.7903709382968299e-06,
-3.4747946329326063e-06,
3.355380946238432e-07,
1.0110199772280057e-06,
5.948406005486526e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.02697416070410817,
0.019640721468568496,
0.025861917458691572
0.34122969659055974,
0.22098548966816584,
0.32135150244682875
],
"tvec_std_m": [
5.8232598517918584e-05,
0.00010595635880453762,
0.00024066699437526177
0.0008802645013129966,
0.001343420078638378,
0.002438935424624138
]
},
"camera_center_std_m": [
0.0003660062386654915,
0.00027413989856711054,
0.0004968469197846795
0.00420518761935822,
0.004035539737944341,
0.005875404305514575
],
"camera_center_std_mm": [
0.3660062386654915,
0.2741398985671105,
0.49684691978467954
4.20518761935822,
4.035539737944341,
5.875404305514575
],
"orientation_std_deg": {
"roll": 0.035416321223141096,
"pitch": 0.021649260634721324,
"yaw": 0.026848844179046608
"roll": 0.47176277926260973,
"pitch": 0.2916080604719235,
"yaw": 0.2839472448045676
}
}
},
"observations": {
"markers": [
{
"marker_id": 208,
"marker_id": 95,
"observed_center_px": [
887.5,
696.5
422.0,
1048.0
],
"projected_center_px": [
887.4547119140625,
696.4945678710938
423.61181640625,
1044.8646240234375
],
"reprojection_error_px": 0.0456127038481222,
"confidence": 0.06739671544456982
"reprojection_error_px": 3.525412690999724,
"confidence": 0.1966298037464167
},
{
"marker_id": 79,
"observed_center_px": [
835.25,
1017.25
],
"projected_center_px": [
836.6884765625,
1018.293212890625
],
"reprojection_error_px": 1.7769378030837164,
"confidence": 0.6308599149142898
},
{
"marker_id": 208,
"observed_center_px": [
1003.5,
919.75
],
"projected_center_px": [
997.5079345703125,
919.7905883789062
],
"reprojection_error_px": 5.992202894608817,
"confidence": 0.6159321401194328
},
{
"marker_id": 69,
"observed_center_px": [
128.0,
929.75
],
"projected_center_px": [
124.33126068115234,
933.2605590820312
],
"reprojection_error_px": 5.077762623251589,
"confidence": 0.6598390021609063
},
{
"marker_id": 51,
"observed_center_px": [
549.0,
937.75
],
"projected_center_px": [
550.4237670898438,
936.4151000976562
],
"reprojection_error_px": 1.9516840101306088,
"confidence": 0.7948303912231248
},
{
"marker_id": 103,
"observed_center_px": [
379.5,
691.25
419.5,
915.25
],
"projected_center_px": [
379.3387756347656,
691.160888671875
425.6794738769531,
913.0805053710938
],
"reprojection_error_px": 0.1842121731738393,
"confidence": 0.17416420855033052
},
{
"marker_id": 58,
"observed_center_px": [
261.5,
685.0
],
"projected_center_px": [
261.41192626953125,
685.052001953125
],
"reprojection_error_px": 0.10227993511679952,
"confidence": 0.24540823915500745
"reprojection_error_px": 6.549244562604083,
"confidence": 0.7846660865006628
},
{
"marker_id": 215,
"observed_center_px": [
714.25,
644.75
805.25,
860.25
],
"projected_center_px": [
713.9305419921875,
645.0276489257812
802.4540405273438,
861.6016235351562
],
"reprojection_error_px": 0.42325210542065045,
"confidence": 0.43828628344822296
"reprojection_error_px": 3.1055233944577676,
"confidence": 0.5682950455343564
},
{
"marker_id": 58,
"observed_center_px": [
292.0,
903.5
],
"projected_center_px": [
293.1023254394531,
906.0203247070312
],
"reprojection_error_px": 2.7508467793277185,
"confidence": 0.7531448873008529
},
{
"marker_id": 214,
"observed_center_px": [
958.75,
638.25
1073.0,
853.25
],
"projected_center_px": [
958.8380126953125,
638.1394653320312
1078.8189697265625,
854.2210693359375
],
"reprojection_error_px": 0.14129454115121634,
"confidence": 0.32624039952470835
"reprojection_error_px": 5.89943932368568,
"confidence": 0.4278239208073023
},
{
"marker_id": 64,
"observed_center_px": [
211.25,
631.75
238.5,
848.0
],
"projected_center_px": [
211.63934326171875,
631.7709350585938
237.8762969970703,
846.0831298828125
],
"reprojection_error_px": 0.38990569644994777,
"confidence": 0.4432762787121197
"reprojection_error_px": 2.0157868146284543,
"confidence": 0.5667786136218291
},
{
"marker_id": 211,
"observed_center_px": [
792.0,
593.5
897.0,
804.25
],
"projected_center_px": [
792.4298095703125,
593.2496948242188
891.6453247070312,
803.4764404296875
],
"reprojection_error_px": 0.497382094324975,
"confidence": 0.3071912693949274
"reprojection_error_px": 5.410262646300272,
"confidence": 0.43521670392955913
},
{
"marker_id": 72,
"observed_center_px": [
1249.25,
596.25
1406.25,
807.0
],
"projected_center_px": [
1249.4110107421875,
596.3731689453125
1408.1475830078125,
807.7481689453125
],
"reprojection_error_px": 0.2027191362184715,
"confidence": 0.018333813047618722
"reprojection_error_px": 2.039749504784534,
"confidence": 0.023139854786786464
},
{
"marker_id": 210,
"observed_center_px": [
462.25,
511.75
521.75,
712.25
],
"projected_center_px": [
462.03570556640625,
511.7359313964844
520.5487060546875,
711.4475708007812
],
"reprojection_error_px": 0.21475574468252528,
"confidence": 0.2483175954884472
},
{
"marker_id": 84,
"observed_center_px": [
1226.5,
549.5
],
"projected_center_px": [
1226.650146484375,
549.448974609375
],
"reprojection_error_px": 0.1585798135280968,
"confidence": 0.07285288505606423
},
{
"marker_id": 86,
"observed_center_px": [
1175.0,
518.25
],
"projected_center_px": [
1174.59326171875,
518.294677734375
],
"reprojection_error_px": 0.4091847130368963,
"confidence": 0.1152962676763461
"reprojection_error_px": 1.4446452030873589,
"confidence": 0.3343680870644677
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-01T20:35:32Z",
"created_utc": "2026-06-02T05:24:02Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,32 +36,26 @@
"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": 18,
"used_marker_ids": [
63,
48,
59,
102,
92,
217,
105,
85,
105,
206,
54,
97,
47,
66,
96,
62,
79,
66,
55,
214,
51,
95,
103,
72,
53,
69,
84,
64,
86,
210,
73
51,
103
],
"history": {
"iters": [
@@ -71,10 +65,10 @@
3
],
"rms": [
0.007161045108169848,
0.0004356737901107782,
0.00021549078393148574,
0.00021548942910183414
0.006258078897849388,
0.0012497857293784,
0.0011737462823681202,
0.0011737444461867694
],
"lambda": [
0.001,
@@ -83,451 +77,373 @@
0.000125
]
},
"residual_rms_px": 0.5417715991603563,
"residual_median_px": 0.3387486243353578,
"residual_max_px": 1.2319051880647929,
"sigma2_normalized": 5.306936463349104e-08
"residual_rms_px": 3.319853510656256,
"residual_median_px": 2.7661355236910827,
"residual_max_px": 6.245636680834603,
"sigma2_normalized": 1.6532112299296348e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.6286182999610901,
0.7777140140533447,
-6.370520713971928e-05
0.6311056613922119,
0.7756927609443665,
0.0025397813878953457
],
[
0.2064637690782547,
-0.16696152091026306,
-0.9641039967536926
0.20680801570415497,
-0.1651020497083664,
-0.9643504023551941
],
[
-0.7498078346252441,
0.6060402393341064,
-0.26552483439445496
-0.7476202845573425,
0.6091322302818298,
-0.26461631059646606
]
],
"translation_m": [
-0.0545007698237896,
-0.012582545168697834,
1.551172137260437
-0.05646064877510071,
-0.0120223518460989,
1.55373215675354
],
"rvec_rad": [
1.7013974581410134,
0.8124175288834367,
-0.619002788431512
1.7004172633744823,
0.8106763354248011,
-0.6147772851963954
]
},
"camera_in_world": {
"position_m": [
1.1999390125274658,
-0.8997874855995178,
0.3997403681278229
1.1997206211090088,
-0.9046171307563782,
0.3996925354003906
],
"position_mm": [
1199.93896484375,
-899.7874755859375,
399.7403564453125
1199.7205810546875,
-904.6171264648438,
399.6925354003906
],
"orientation_deg": {
"roll": 113.65969848632812,
"pitch": 48.57373046875,
"yaw": 18.18227767944336
"roll": 113.4808578491211,
"pitch": 48.38465881347656,
"yaw": 18.14353370666504
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
1.2907424281436642e-07,
1.3742818510042718e-08,
2.0862770184442558e-08,
-5.719374886605724e-09,
-3.377881615216895e-08,
1.8070487188077712e-08
1.8852969794299043e-05,
-3.1028253750736982e-06,
-2.0968925454616047e-06,
-1.8268917917478507e-06,
-5.343161521823129e-06,
2.032019150197196e-06
],
[
1.3742818510042341e-08,
9.300698745970703e-08,
3.614148949557751e-10,
2.2371170296212934e-08,
-2.191327397717243e-08,
1.3441533369507394e-08
-3.1028253750737008e-06,
4.205889989410158e-06,
-1.840874984090855e-06,
2.037821647856922e-06,
-6.059920582954464e-08,
-1.5538906927680496e-06
],
[
2.086277018444376e-08,
3.61414894956424e-10,
1.680251292985586e-07,
-2.618725249518748e-08,
-2.3509030582341668e-08,
-6.516556009119063e-09
-2.096892545461351e-06,
-1.8408749840908652e-06,
1.58936219623512e-05,
-3.788461491836273e-06,
2.9484969049223944e-07,
5.479614448440687e-06
],
[
-5.719374886606396e-09,
2.237117029621341e-08,
-2.6187252495187504e-08,
1.3434880074027368e-08,
3.418686123670527e-10,
1.0350642771066223e-08
-1.8268917917479028e-06,
2.0378216478569242e-06,
-3.788461491836253e-06,
1.7301129813213664e-06,
2.980372563511018e-07,
-1.5033989955993304e-06
],
[
-3.377881615216902e-08,
-2.1913273977172562e-08,
-2.3509030582341284e-08,
3.418686123670007e-10,
1.8811134671822682e-08,
4.37884283901151e-09
-5.343161521823152e-06,
-6.059920582954585e-08,
2.9484969049232806e-07,
2.98037256351085e-07,
2.003931440640027e-06,
5.949757598558291e-08
],
[
1.8070487188077355e-08,
1.3441533369507334e-08,
-6.51655600911964e-09,
1.0350642771066225e-08,
4.378842839011655e-09,
1.112771125868836e-07
2.0320191501972558e-06,
-1.5538906927680498e-06,
5.479614448440673e-06,
-1.503398995599331e-06,
5.949757598556242e-08,
6.368643324043564e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.020584599678739438,
0.017473520796570705,
0.02348603758454909
0.2487783128757499,
0.11750371213151733,
0.2284199708928548
],
"tvec_std_m": [
0.00011590893008749312,
0.0001371536899679432,
0.00033358224261324765
0.0013153375921493944,
0.0014156028541367199,
0.002523617111220235
]
},
"camera_center_std_m": [
0.0003284981964607143,
0.00039669810676109656,
0.000446407709875896
0.0016908437716058235,
0.0038553658644815995,
0.004055303338066671
],
"camera_center_std_mm": [
0.3284981964607143,
0.39669810676109657,
0.44640770987589595
1.6908437716058236,
3.8553658644815996,
4.055303338066671
],
"orientation_std_deg": {
"roll": 0.0296229337031151,
"pitch": 0.019329434660629058,
"yaw": 0.026577614233305378
"roll": 0.28740908832008866,
"pitch": 0.18725010875026776,
"yaw": 0.1545607386549265
}
}
},
"observations": {
"markers": [
{
"marker_id": 63,
"observed_center_px": [
1315.5,
1051.5
],
"projected_center_px": [
1320.332275390625,
1052.1746826171875
],
"reprojection_error_px": 4.879147680156338,
"confidence": 0.12568593194235728
},
{
"marker_id": 48,
"observed_center_px": [
1024.0,
1030.75
],
"projected_center_px": [
1024.0400390625,
1032.9552001953125
],
"reprojection_error_px": 2.2055636531127747,
"confidence": 0.5336003353862959
},
{
"marker_id": 59,
"observed_center_px": [
989.75,
951.5
],
"projected_center_px": [
985.3331298828125,
951.3397216796875
],
"reprojection_error_px": 4.419777231045261,
"confidence": 0.697320940739163
},
{
"marker_id": 102,
"observed_center_px": [
1106.0,
936.75
],
"projected_center_px": [
1104.3175048828125,
934.8981323242188
],
"reprojection_error_px": 2.502039909346617,
"confidence": 0.6864050426596802
},
{
"marker_id": 92,
"observed_center_px": [
1023.0,
688.5
1148.5,
911.25
],
"projected_center_px": [
1022.7424926757812,
688.3082885742188
1148.9718017578125,
908.9784545898438
],
"reprojection_error_px": 0.3210347221117681,
"confidence": 0.15369374989294518
},
{
"marker_id": 217,
"observed_center_px": [
1141.25,
600.5
],
"projected_center_px": [
1140.487548828125,
600.2074584960938
],
"reprojection_error_px": 0.8166469990156648,
"confidence": 0.3233651345714012
},
{
"marker_id": 105,
"observed_center_px": [
760.5,
654.75
],
"projected_center_px": [
761.0986328125,
655.0488891601562
],
"reprojection_error_px": 0.6691008700192883,
"confidence": 0.420622587927407
"reprojection_error_px": 2.320024881133151,
"confidence": 0.5564615479175569
},
{
"marker_id": 85,
"observed_center_px": [
675.0,
665.5
759.0,
884.75
],
"projected_center_px": [
674.92431640625,
665.3446044921875
758.8946533203125,
882.908935546875
],
"reprojection_error_px": 0.17284608821497752,
"confidence": 0.3128949822399185
"reprojection_error_px": 1.8440759863632616,
"confidence": 0.48917934037555
},
{
"marker_id": 105,
"observed_center_px": [
849.25,
871.0
],
"projected_center_px": [
855.4765014648438,
871.488525390625
],
"reprojection_error_px": 6.245636680834603,
"confidence": 0.5666772055387952
},
{
"marker_id": 206,
"observed_center_px": [
1222.5,
566.75
1375.25,
773.0
],
"projected_center_px": [
1222.1236572265625,
566.7451171875
1371.8447265625,
773.1643676757812
],
"reprojection_error_px": 0.37637444782628326,
"confidence": 0.15136171428561934
"reprojection_error_px": 3.409238025862201,
"confidence": 0.1864715688265129
},
{
"marker_id": 54,
"observed_center_px": [
545.75,
790.75
],
"projected_center_px": [
544.303466796875,
793.0947265625
],
"reprojection_error_px": 2.7550319345946135,
"confidence": 0.31086735641350827
},
{
"marker_id": 97,
"observed_center_px": [
411.0,
578.0
465.25,
786.25
],
"projected_center_px": [
411.5934143066406,
578.37890625
462.5426330566406,
785.2210083007812
],
"reprojection_error_px": 0.7040671030625109,
"confidence": 0.22596816505744277
},
{
"marker_id": 47,
"observed_center_px": [
543.75,
569.25
],
"projected_center_px": [
543.8164672851562,
569.3104248046875
],
"reprojection_error_px": 0.08982793005276685,
"confidence": 0.24626971873720385
},
{
"marker_id": 96,
"observed_center_px": [
690.25,
544.25
],
"projected_center_px": [
690.0840454101562,
544.4799194335938
],
"reprojection_error_px": 0.2835557649462943,
"confidence": 0.2205630261207473
},
{
"marker_id": 62,
"observed_center_px": [
738.5,
556.0
],
"projected_center_px": [
738.6102905273438,
555.7941284179688
],
"reprojection_error_px": 0.23355322457592437,
"confidence": 0.2664122029520185
},
{
"marker_id": 79,
"observed_center_px": [
667.0,
511.75
],
"projected_center_px": [
666.1728515625,
511.71331787109375
],
"reprojection_error_px": 0.8279614219514012,
"confidence": 0.2093822185726055
"reprojection_error_px": 2.8963182979527953,
"confidence": 0.27788610830268484
},
{
"marker_id": 66,
"observed_center_px": [
331.25,
537.25
370.5,
739.5
],
"projected_center_px": [
331.2108459472656,
537.1561279296875
371.8512268066406,
738.924072265625
],
"reprojection_error_px": 0.10171039981379074,
"confidence": 0.16725963004706537
"reprojection_error_px": 1.468845341826886,
"confidence": 0.20469970303362667
},
{
"marker_id": 96,
"observed_center_px": [
780.0,
747.25
],
"projected_center_px": [
774.9572143554688,
747.6428833007812
],
"reprojection_error_px": 5.0580672538750635,
"confidence": 0.3209641589306251
},
{
"marker_id": 62,
"observed_center_px": [
829.25,
758.0
],
"projected_center_px": [
829.4951171875,
760.3787841796875
],
"reprojection_error_px": 2.3913796455476164,
"confidence": 0.33830762807857967
},
{
"marker_id": 79,
"observed_center_px": [
747.25,
710.25
],
"projected_center_px": [
747.8635864257812,
710.9146118164062
],
"reprojection_error_px": 0.9045425188512833,
"confidence": 0.28184826428485077
},
{
"marker_id": 55,
"observed_center_px": [
519.5,
534.0
586.25,
735.5
],
"projected_center_px": [
519.5994262695312,
534.0335693359375
583.4798583984375,
735.6984252929688
],
"reprojection_error_px": 0.10494038016028673,
"confidence": 0.22298824455832925
},
{
"marker_id": 214,
"observed_center_px": [
858.0,
444.5
],
"projected_center_px": [
858.6372680664062,
444.6339111328125
],
"reprojection_error_px": 0.6511856724101719,
"confidence": 0.1697872859143744
},
{
"marker_id": 51,
"observed_center_px": [
529.25,
463.25
],
"projected_center_px": [
529.1215209960938,
463.20550537109375
],
"reprojection_error_px": 0.1359655340380315,
"confidence": 0.12157403976480062
"reprojection_error_px": 2.7772391127875515,
"confidence": 0.24456409327527204
},
{
"marker_id": 95,
"observed_center_px": [
425.25,
498.75
474.75,
697.5
],
"projected_center_px": [
426.1565856933594,
498.9312744140625
478.2113037109375,
696.2301635742188
],
"reprojection_error_px": 0.9245312502006633,
"confidence": 0.14922985097126407
"reprojection_error_px": 3.6868832267364544,
"confidence": 0.19613497293230078
},
{
"marker_id": 51,
"observed_center_px": [
592.75,
656.5
],
"projected_center_px": [
593.5814819335938,
656.3573608398438
],
"reprojection_error_px": 0.8436279605980835,
"confidence": 0.1651061694769518
},
{
"marker_id": 103,
"observed_center_px": [
466.0,
447.5
518.5,
638.75
],
"projected_center_px": [
465.4869079589844,
447.1092529296875
521.9558715820312,
638.213134765625
],
"reprojection_error_px": 0.6449393114947961,
"confidence": 0.12136831092318832
},
{
"marker_id": 72,
"observed_center_px": [
1132.75,
455.25
],
"projected_center_px": [
1133.9364013671875,
455.58172607421875
],
"reprojection_error_px": 1.2319051880647929,
"confidence": 0.16137616188441373
},
{
"marker_id": 53,
"observed_center_px": [
1199.25,
466.0
],
"projected_center_px": [
1199.53759765625,
465.7893981933594
],
"reprojection_error_px": 0.3564625265589475,
"confidence": 0.13595850692924102
},
{
"marker_id": 69,
"observed_center_px": [
295.0,
440.25
],
"projected_center_px": [
294.78717041015625,
440.0731201171875
],
"reprojection_error_px": 0.27673620517890785,
"confidence": 0.09610181165120435
},
{
"marker_id": 84,
"observed_center_px": [
1147.75,
429.0
],
"projected_center_px": [
1147.8365478515625,
429.0216979980469
],
"reprojection_error_px": 0.08922630626293304,
"confidence": 0.13307488759358727
},
{
"marker_id": 64,
"observed_center_px": [
379.75,
409.5
],
"projected_center_px": [
379.1590270996094,
409.6376953125
],
"reprojection_error_px": 0.6068022479198476,
"confidence": 0.09071710124676984
},
{
"marker_id": 86,
"observed_center_px": [
1127.0,
408.25
],
"projected_center_px": [
1126.841796875,
408.4832763671875
],
"reprojection_error_px": 0.2818618318395787,
"confidence": 0.1273664826027396
},
{
"marker_id": 210,
"observed_center_px": [
573.5,
354.0
],
"projected_center_px": [
572.9441528320312,
353.6968688964844
],
"reprojection_error_px": 0.6331307448367046,
"confidence": 0.09857192946593334
},
{
"marker_id": 73,
"observed_center_px": [
1023.5,
364.25
],
"projected_center_px": [
1023.59326171875,
364.3497009277344
],
"reprojection_error_px": 0.13652114552441746,
"confidence": 0.1006702290166984
"reprojection_error_px": 3.4973236440700908,
"confidence": 0.14350915832259362
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-01T20:35:32Z",
"created_utc": "2026-06-02T05:24:02Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,543 +36,526 @@
"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": 27,
"num_used_markers": 26,
"used_marker_ids": [
68,
46,
56,
47,
62,
54,
53,
56,
97,
72,
215,
54,
47,
55,
84,
62,
72,
66,
95,
51,
103,
82,
73,
210,
58,
69,
82,
101,
74,
210,
64,
52,
77,
83,
75
77,
75,
61
],
"history": {
"iters": [
0,
1,
2,
3,
4
3
],
"rms": [
0.007361242886604368,
0.0003653993942358196,
9.164489402431082e-05,
9.16054830078819e-05,
9.160546620843857e-05
0.008416632156341888,
0.0014563332850688533,
0.0013700095280301426,
0.0013700078453338556
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125,
6.25e-05
0.000125
]
},
"residual_rms_px": 0.2303117349044767,
"residual_median_px": 0.17648425193417577,
"residual_max_px": 0.3976393379524452,
"sigma2_normalized": 9.440506618742194e-09
"residual_rms_px": 3.874965136212424,
"residual_median_px": 3.5227997775150444,
"residual_max_px": 5.852012771734456,
"sigma2_normalized": 2.121737343320966e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.3165043294429779,
0.9485899209976196,
0.0014882172690704465
0.3160955309867859,
0.9487238526344299,
0.0025797339621931314
],
[
0.9183610677719116,
-0.30602461099624634,
-0.25092199444770813
0.9179052114486694,
-0.30513763427734375,
-0.2536553144454956
],
[
-0.23756663501262665,
0.0807846263051033,
-0.9680061936378479
-0.23986166715621948,
0.08254725486040115,
-0.9672912359237671
]
],
"translation_m": [
0.1261143833398819,
-0.20017947256565094,
1.4975119829177856
0.1259421855211258,
-0.2002721130847931,
1.4973636865615845
],
"rvec_rad": [
2.374711802356422,
1.7114110939780351,
-0.21641019802521885
2.3718102217212973,
1.7103527942113022,
-0.21741642475062148
]
},
"camera_in_world": {
"position_m": [
0.49968016147613525,
-0.3018666207790375,
1.399183750152588
0.5031812191009521,
-0.30419817566871643,
1.3972618579864502
],
"position_mm": [
499.68017578125,
-301.8666076660156,
1399.1837158203125
503.18121337890625,
-304.19818115234375,
1397.2618408203125
],
"orientation_deg": {
"roll": 175.2294464111328,
"pitch": 13.742963790893555,
"yaw": 70.98397064208984
"roll": 175.1222686767578,
"pitch": 13.878375053405762,
"yaw": 70.99801635742188
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
1.7821255499500834e-07,
1.1378656398482221e-07,
-1.4737142148217561e-08,
-1.8533236538334094e-09,
6.738689930879477e-10,
1.0833345422934384e-08
3.1852406112065966e-05,
1.9154435746919504e-05,
-6.700836600353422e-06,
-4.4237574567895556e-07,
2.186715816472518e-07,
2.708892861310153e-06
],
[
1.1378656398482218e-07,
1.0106730226754071e-07,
-4.0916354766287084e-08,
1.7737988062902355e-09,
-1.0777386533119191e-10,
1.3347903204217209e-08
1.9154435746919436e-05,
1.7468854564826478e-05,
-1.0730851362144012e-05,
3.894759950513676e-07,
3.4742005599867713e-08,
2.9816302231205955e-06
],
[
-1.4737142148209665e-08,
-4.091635476627995e-08,
7.991758315646605e-07,
6.197428924044788e-09,
-8.224093362206842e-09,
-1.4232193526454197e-07
-6.700836600349839e-06,
-1.0730851362140909e-05,
0.00018216669310099345,
1.5680581098036084e-06,
-1.8029038769530656e-06,
-3.208921592765715e-05
],
[
-1.8533236538332181e-09,
1.7737988062903513e-09,
6.197428924044598e-09,
1.4884957612538316e-09,
-1.3736224299157495e-10,
1.2595150626417418e-09
-4.4237574567890595e-07,
3.89475995051409e-07,
1.5680581098035165e-06,
3.423267966842042e-07,
-2.7126410073583545e-08,
2.237739787962633e-07
],
[
6.738689930879671e-10,
-1.0777386533138668e-10,
-8.224093362206965e-09,
-1.373622429915981e-10,
8.709491101888092e-10,
1.7230680269593937e-09
2.1867158164721044e-07,
3.4742005599833025e-08,
-1.8029038769530764e-06,
-2.712641007358468e-08,
2.0016294054453288e-07,
4.050286942907722e-07
],
[
1.0833345422933693e-08,
1.3347903204216446e-08,
-1.423219352645422e-07,
1.2595150626416901e-09,
1.7230680269593344e-09,
4.445551447804239e-08
2.7088928613095747e-06,
2.9816302231200902e-06,
-3.208921592765738e-05,
2.237739787962445e-07,
4.050286942907732e-07,
9.793703306119337e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.02418754446382333,
0.018214949400490767,
0.051220498773795475
0.3233655532796328,
0.2394720582716155,
0.7733162204897694
],
"tvec_std_m": [
3.8581028514722513e-05,
2.9511846946418132e-05,
0.00021084476393318946
0.0005850869992438767,
0.00044739573147777446,
0.0031294893043625083
]
},
"camera_center_std_m": [
0.0007626874807798689,
0.0008489790763477742,
0.00035025922532159716
0.010989660525404944,
0.012445042819574278,
0.004844640964346519
],
"camera_center_std_mm": [
0.7626874807798689,
0.8489790763477741,
0.35025922532159715
10.989660525404943,
12.445042819574278,
4.844640964346519
],
"orientation_std_deg": {
"roll": 0.036331760709423115,
"pitch": 0.02896018768320413,
"yaw": 0.011944807429600208
"roll": 0.532669618958499,
"pitch": 0.42398468857728244,
"yaw": 0.10265499147381701
}
}
},
"observations": {
"markers": [
{
"marker_id": 68,
"observed_center_px": [
1395.25,
942.0
],
"projected_center_px": [
1390.0498046875,
941.6648559570312
],
"reprojection_error_px": 5.210983862734984,
"confidence": 0.29729413038864677
},
{
"marker_id": 46,
"observed_center_px": [
1234.0,
666.0
1383.75,
882.5
],
"projected_center_px": [
1234.3304443359375,
665.8429565429688
1388.56787109375,
884.1957397460938
],
"reprojection_error_px": 0.36586350808669266,
"confidence": 0.2988751797371847
},
{
"marker_id": 56,
"observed_center_px": [
1196.0,
626.75
],
"projected_center_px": [
1196.1064453125,
626.8641967773438
],
"reprojection_error_px": 0.15611376783910083,
"confidence": 0.5697620483284124
},
{
"marker_id": 47,
"observed_center_px": [
593.75,
623.75
],
"projected_center_px": [
593.9148559570312,
623.703125
],
"reprojection_error_px": 0.17139064208319352,
"confidence": 0.5768583617164568
},
{
"marker_id": 62,
"observed_center_px": [
751.0,
651.75
],
"projected_center_px": [
750.7487182617188,
651.6533813476562
],
"reprojection_error_px": 0.2692167824901877,
"confidence": 0.5593704450665263
},
{
"marker_id": 54,
"observed_center_px": [
540.5,
639.0
],
"projected_center_px": [
540.5711059570312,
638.9446411132812
],
"reprojection_error_px": 0.0901147239027528,
"confidence": 0.5766374039623903
"reprojection_error_px": 5.107584082761038,
"confidence": 0.46634796204782664
},
{
"marker_id": 53,
"observed_center_px": [
1240.5,
594.75
1400.25,
805.75
],
"projected_center_px": [
1240.216552734375,
594.7891845703125
1395.152099609375,
804.2342529296875
],
"reprojection_error_px": 0.28614294144861335,
"confidence": 0.21364841201201337
"reprojection_error_px": 5.3184657161530575,
"confidence": 0.24205987777153554
},
{
"marker_id": 56,
"observed_center_px": [
1341.75,
844.0
],
"projected_center_px": [
1345.5269775390625,
840.302001953125
],
"reprojection_error_px": 5.285900953032883,
"confidence": 0.6720101269988878
},
{
"marker_id": 97,
"observed_center_px": [
491.5,
605.25
554.75,
818.0
],
"projected_center_px": [
491.56536865234375,
605.2406616210938
552.3075561523438,
815.5173950195312
],
"reprojection_error_px": 0.0660323104989879,
"confidence": 0.5705029634947052
},
{
"marker_id": 72,
"observed_center_px": [
1197.75,
548.5
],
"projected_center_px": [
1197.5150146484375,
548.5629272460938
],
"reprojection_error_px": 0.24326519222834797,
"confidence": 0.5440516905787338
"reprojection_error_px": 3.4826512082036163,
"confidence": 0.7144285455619288
},
{
"marker_id": 215,
"observed_center_px": [
789.0,
430.75
889.0,
620.0
],
"projected_center_px": [
788.9615478515625,
430.6828308105469
887.28466796875,
619.165283203125
],
"reprojection_error_px": 0.07739681990398141,
"confidence": 0.551983363957988
"reprojection_error_px": 1.90764674623409,
"confidence": 0.7068260740006296
},
{
"marker_id": 54,
"observed_center_px": [
610.5,
848.75
],
"projected_center_px": [
607.4749145507812,
853.4927368164062
],
"reprojection_error_px": 5.6253617203492166,
"confidence": 0.7005026944924987
},
{
"marker_id": 47,
"observed_center_px": [
664.75,
836.5
],
"projected_center_px": [
667.56298828125,
836.3667602539062
],
"reprojection_error_px": 2.81614202418645,
"confidence": 0.6877833343649649
},
{
"marker_id": 55,
"observed_center_px": [
598.5,
542.75
676.0,
745.75
],
"projected_center_px": [
598.868408203125,
542.796142578125
673.193115234375,
745.2991943359375
],
"reprojection_error_px": 0.37128660310575845,
"confidence": 0.5459402660246769
"reprojection_error_px": 2.8428555774517537,
"confidence": 0.6761108765479277
},
{
"marker_id": 84,
"marker_id": 62,
"observed_center_px": [
1254.25,
485.0
845.75,
863.25
],
"projected_center_px": [
1254.0916748046875,
484.9971618652344
844.1627197265625,
867.9298095703125
],
"reprojection_error_px": 0.1583506314470805,
"confidence": 0.06519221426443914
"reprojection_error_px": 4.941667358375338,
"confidence": 0.6334920995585299
},
{
"marker_id": 72,
"observed_center_px": [
1346.5,
753.25
],
"projected_center_px": [
1347.07373046875,
752.1920166015625
],
"reprojection_error_px": 1.203534595323897,
"confidence": 0.63555573802114
},
{
"marker_id": 66,
"observed_center_px": [
453.0,
495.75
508.0,
693.0
],
"projected_center_px": [
452.8467712402344,
495.9134826660156
508.7984619140625,
692.4354248046875
],
"reprojection_error_px": 0.22406613958134775,
"confidence": 0.5349107016469481
"reprojection_error_px": 0.9778990639991935,
"confidence": 0.6946666666666667
},
{
"marker_id": 95,
"observed_center_px": [
548.75,
435.0
612.5,
626.0
],
"projected_center_px": [
548.4963989257812,
434.8807373046875
616.550048828125,
623.8281860351562
],
"reprojection_error_px": 0.2802447061732053,
"confidence": 0.5227826547122322
"reprojection_error_px": 4.595614366772631,
"confidence": 0.6412938250103973
},
{
"marker_id": 51,
"observed_center_px": [
659.25,
376.25
739.25,
559.0
],
"projected_center_px": [
659.2869873046875,
376.24285888671875
741.310791015625,
557.947509765625
],
"reprojection_error_px": 0.03767036244770688,
"confidence": 0.5111500432161571
"reprojection_error_px": 2.3139998495106826,
"confidence": 0.6355340780755219
},
{
"marker_id": 103,
"observed_center_px": [
618.0,
313.5
690.0,
487.75
],
"projected_center_px": [
617.798583984375,
313.5018615722656
694.6463012695312,
487.349609375
],
"reprojection_error_px": 0.20142461816161,
"confidence": 0.5046333482067283
},
{
"marker_id": 73,
"observed_center_px": [
1247.5,
251.25
],
"projected_center_px": [
1247.8360595703125,
251.25607299804688
],
"reprojection_error_px": 0.33611443899942695,
"confidence": 0.13607001327160623
},
{
"marker_id": 210,
"observed_center_px": [
775.0,
150.5
],
"projected_center_px": [
775.3116455078125,
150.40562438964844
],
"reprojection_error_px": 0.32562198692493255,
"confidence": 0.46988879526830113
},
{
"marker_id": 58,
"observed_center_px": [
562.75,
264.25
],
"projected_center_px": [
562.7115478515625,
264.1392517089844
],
"reprojection_error_px": 0.11723374805209077,
"confidence": 0.4655541127751829
},
{
"marker_id": 69,
"observed_center_px": [
476.25,
240.75
],
"projected_center_px": [
476.0595703125,
241.0990753173828
],
"reprojection_error_px": 0.3976393379524452,
"confidence": 0.4655541127751829
"reprojection_error_px": 4.66352100240104,
"confidence": 0.5954680843098741
},
{
"marker_id": 82,
"observed_center_px": [
1207.5,
261.5
1356.75,
429.5
],
"projected_center_px": [
1207.36083984375,
261.3305358886719
1358.0069580078125,
429.1807861328125
],
"reprojection_error_px": 0.21927980781584874,
"confidence": 0.49001748422717006
"reprojection_error_px": 1.2968580980233604,
"confidence": 0.6065602887376399
},
{
"marker_id": 101,
"marker_id": 73,
"observed_center_px": [
1162.25,
153.5
1401.75,
418.5
],
"projected_center_px": [
1162.341064453125,
153.42291259765625
1403.525390625,
417.8912048339844
],
"reprojection_error_px": 0.11931136669681776,
"confidence": 0.46225891142368675
"reprojection_error_px": 1.8768706469818006,
"confidence": 0.20623049817079758
},
{
"marker_id": 74,
"marker_id": 58,
"observed_center_px": [
984.0,
182.25
632.75,
428.25
],
"projected_center_px": [
983.996337890625,
182.11337280273438
632.6746826171875,
431.7947692871094
],
"reprojection_error_px": 0.13667626742684508,
"confidence": 0.4548532843889077
"reprojection_error_px": 3.5455693487770947,
"confidence": 0.5951948697115713
},
{
"marker_id": 69,
"observed_center_px": [
538.5,
403.0
],
"projected_center_px": [
535.1592407226562,
405.8141784667969
],
"reprojection_error_px": 4.3680971820853,
"confidence": 0.5651459847123547
},
{
"marker_id": 210,
"observed_center_px": [
872.25,
307.5
],
"projected_center_px": [
872.0038452148438,
304.0086364746094
],
"reprojection_error_px": 3.5000302062529935,
"confidence": 0.5825378815199377
},
{
"marker_id": 64,
"observed_center_px": [
570.5,
177.75
640.5,
337.75
],
"projected_center_px": [
570.462646484375,
177.6640625
641.4583740234375,
334.579345703125
],
"reprojection_error_px": 0.09370453049771457,
"confidence": 0.43211414091114625
"reprojection_error_px": 3.312329910967759,
"confidence": 0.5461129593472626
},
{
"marker_id": 52,
"observed_center_px": [
1054.5,
160.5
1190.75,
312.5
],
"projected_center_px": [
1054.4666748046875,
160.67330932617188
1186.0,
315.9181213378906
],
"reprojection_error_px": 0.17648425193417577,
"confidence": 0.45818248585417487
},
{
"marker_id": 77,
"observed_center_px": [
1003.0,
87.25
],
"projected_center_px": [
1003.1221923828125,
87.5596923828125
],
"reprojection_error_px": 0.3329269445230899,
"confidence": 0.422956152719696
"reprojection_error_px": 5.852012771734456,
"confidence": 0.5743827506632194
},
{
"marker_id": 83,
"observed_center_px": [
1173.0,
64.0
1323.0,
208.5
],
"projected_center_px": [
1172.843994140625,
63.96263122558594
1319.094970703125,
207.36993408203125
],
"reprojection_error_px": 0.16041899345321103,
"confidence": 0.4377857805109236
"reprojection_error_px": 4.0652555624962385,
"confidence": 0.562745572281817
},
{
"marker_id": 77,
"observed_center_px": [
1125.5,
230.25
],
"projected_center_px": [
1128.239013671875,
233.71730041503906
],
"reprojection_error_px": 4.418638711509261,
"confidence": 0.5567076120516155
},
{
"marker_id": 75,
"observed_center_px": [
987.75,
42.0
1108.5,
182.0
],
"projected_center_px": [
987.923095703125,
42.024051666259766
1111.14013671875,
182.54635620117188
],
"reprojection_error_px": 0.17475870533455345,
"confidence": 0.22473325223116958
"reprojection_error_px": 2.696076221521005,
"confidence": 0.5155640078275618
},
{
"marker_id": 61,
"observed_center_px": [
1280.25,
135.0
],
"projected_center_px": [
1281.889892578125,
133.5420684814453
],
"reprojection_error_px": 2.194267982855475,
"confidence": 0.5393477003090094
}
]
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-01T20:35:33Z",
"created_utc": "2026-06-02T05:24:02Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\data\\evaluations\\Scene5\\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,
2000.0,
0.0,
640.0
720.0
],
[
0.0,
1777.77783203125,
360.0
2000.0,
540.0
],
[
0.0,
@@ -36,596 +36,224 @@
"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": 31,
"num_used_markers": 4,
"used_marker_ids": [
84,
64,
72,
53,
58,
69,
86,
103,
51,
56,
215,
46,
68,
208,
79,
95,
55,
96,
66,
217,
97,
54,
205,
92,
105,
85,
102,
59,
48,
57,
63,
71
59
],
"history": {
"iters": [
0,
1,
2,
3
3,
4,
5
],
"rms": [
0.008152437731107097,
0.0005414131999906976,
0.0001027878276569163,
0.0001027512794194728
0.015229112724224234,
0.0017094244159621397,
0.00025613023825781016,
0.0002528245988902813,
0.00025279876070568094,
0.0002527986641177637
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125
0.000125,
6.25e-05,
3.125e-05
]
},
"residual_rms_px": 0.25833393156582685,
"residual_median_px": 0.18962870716590038,
"residual_max_px": 0.5863280242637736,
"sigma2_normalized": 1.1689020813485004e-08
"residual_rms_px": 0.7150350751742213,
"residual_median_px": 0.6137426700897954,
"residual_max_px": 1.0009067808809242,
"sigma2_normalized": 2.556286581389161e-07
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
-0.7072156071662903,
-0.7069976329803467,
0.0006956866127438843
-0.711036741733551,
-0.7031285166740417,
-0.006088037975132465
],
[
-0.6415573954582214,
0.6413410902023315,
-0.4208155572414398
-0.631399393081665,
0.6422634124755859,
-0.43454858660697937
],
[
0.2970694303512573,
-0.29805365204811096,
-0.9071459770202637
0.3094536364078522,
-0.3051360249519348,
-0.9006277918815613
]
],
"translation_m": [
-0.00032427720725536346,
0.3317517042160034,
1.3885083198547363
0.0030967509374022484,
0.32669392228126526,
1.3683161735534668
],
"rvec_rad": [
1.1163157128428653,
-2.6950269250018177,
0.5950702602449643
1.1015324285243384,
-2.6858240414609043,
0.6105429226750756
]
},
"camera_in_world": {
"position_m": [
-0.19987493753433228,
0.20085470378398895,
1.3991862535476685
-0.2149541676044464,
0.2098764181137085,
1.3743268251419067
],
"position_mm": [
-199.87493896484375,
200.85470581054688,
1399.186279296875
-214.95416259765625,
209.8764190673828,
1374.3267822265625
],
"orientation_deg": {
"roll": -161.81143188476562,
"pitch": -17.28166961669922,
"yaw": -137.7869415283203
"roll": -161.28341674804688,
"pitch": -18.02630615234375,
"yaw": -138.39495849609375
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
5.1723742158630296e-08,
-7.36704690121804e-08,
2.528395112885948e-08,
4.479887454949863e-09,
1.2242940701135423e-08,
4.6704743268780886e-08
1.8722970232016312e-05,
-2.8865789407508642e-05,
1.9721268554435647e-05,
2.956559660158163e-06,
3.6102761295503055e-06,
1.242195715459419e-05
],
[
-7.367046901218092e-08,
2.3148576747107667e-07,
-1.0778497213258498e-07,
-3.34747863427116e-08,
-2.122276666687905e-08,
-1.2559139275020906e-07
-2.8865789407508886e-05,
6.0283211794076646e-05,
-4.973488240965878e-05,
-8.595921730347387e-06,
-4.887901675377437e-06,
-2.2655433738979435e-05
],
[
2.528395112886197e-08,
-1.0778497213258615e-07,
4.3459429345645545e-07,
4.161852752718015e-08,
-2.5589489348967574e-08,
1.8615206041444948e-09
1.9721268554436162e-05,
-4.973488240965999e-05,
9.417883248482171e-05,
1.1853452785893905e-05,
-1.799152464065739e-06,
8.658590455413456e-06
],
[
4.479887454950086e-09,
-3.347478634271171e-08,
4.161852752718031e-08,
9.039769213191284e-09,
-2.617742708489594e-10,
9.90627778280772e-09
2.9565596601582783e-06,
-8.595921730347583e-06,
1.185345278589381e-05,
2.008637954019326e-06,
1.490456596999481e-08,
1.6948958990309446e-06
],
[
1.2242940701135246e-08,
-2.1222766666878845e-08,
-2.5589489348968246e-08,
-2.61774270849004e-10,
6.92468118389542e-09,
1.768365167286118e-08
3.6102761295502725e-06,
-4.88790167537727e-06,
-1.799152464065908e-06,
1.49045659699507e-08,
1.3398232917562443e-06,
3.2125760745588653e-06
],
[
4.670474326878086e-08,
-1.2559139275020882e-07,
1.8615206041437654e-09,
9.906277782807667e-09,
1.7683651672861224e-08,
1.0553629182167797e-07
1.2421957154594109e-05,
-2.2655433738979025e-05,
8.658590455412997e-06,
1.6948958990308268e-06,
3.212576074558871e-06,
1.4242228663308722e-05
]
],
"parameter_std": {
"rvec_std_deg": [
0.013030695653138465,
0.027566699972818517,
0.03777153566162911
0.24791911093891894,
0.44485740465535434,
0.5560313564160433
],
"tvec_std_m": [
9.507770092503965e-05,
8.321466928309828e-05,
0.00032486349721333414
0.0014172642498910802,
0.001157507361426373,
0.003773887738567315
]
},
"camera_center_std_m": [
0.0006735549485767408,
0.0008065029463770363,
0.00039960072418777855
0.011397260313048914,
0.012699028631728998,
0.004848542055942562
],
"camera_center_std_mm": [
0.6735549485767408,
0.8065029463770362,
0.39960072418777853
11.397260313048914,
12.699028631728998,
4.848542055942562
],
"orientation_std_deg": {
"roll": 0.03339390166674079,
"pitch": 0.02847029358668595,
"yaw": 0.013200433591057438
"roll": 0.3847932827916094,
"pitch": 0.44612271867057113,
"yaw": 0.13078061054240167
}
}
},
"observations": {
"markers": [
{
"marker_id": 84,
"marker_id": 86,
"observed_center_px": [
65.25,
662.0
70.25,
959.25
],
"projected_center_px": [
65.14346313476562,
661.9850463867188
70.20639038085938,
959.4284057617188
],
"reprojection_error_px": 0.1075811981906344,
"confidence": 0.3490767193505014
},
{
"marker_id": 64,
"observed_center_px": [
819.75,
647.0
],
"projected_center_px": [
819.5659790039062,
646.9683227539062
],
"reprojection_error_px": 0.18672754195195723,
"confidence": 0.5072111596185911
},
{
"marker_id": 72,
"observed_center_px": [
102.25,
581.0
],
"projected_center_px": [
102.24842834472656,
581.2055053710938
],
"reprojection_error_px": 0.20551138082519524,
"confidence": 0.43254677700170213
},
{
"marker_id": 53,
"observed_center_px": [
52.0,
559.0
],
"projected_center_px": [
52.01676559448242,
559.135986328125
],
"reprojection_error_px": 0.1370159355522896,
"confidence": 0.27711751756945874
},
{
"marker_id": 58,
"observed_center_px": [
781.0,
564.0
],
"projected_center_px": [
781.0108642578125,
563.8584594726562
],
"reprojection_error_px": 0.14195687013513403,
"confidence": 0.48073279309443956
},
{
"marker_id": 69,
"observed_center_px": [
869.0,
547.5
],
"projected_center_px": [
868.9462280273438,
547.3478393554688
],
"reprojection_error_px": 0.16138242403530167,
"confidence": 0.45546210617301425
"reprojection_error_px": 0.18365841852754197,
"confidence": 0.5252370067816919
},
{
"marker_id": 103,
"observed_center_px": [
708.25,
543.5
801.0,
744.25
],
"projected_center_px": [
708.2471923828125,
543.6685180664062
801.0355224609375,
743.9966430664062
],
"reprojection_error_px": 0.16854145311932264,
"confidence": 0.4795917219326271
},
{
"marker_id": 51,
"observed_center_px": [
643.25,
507.25
],
"projected_center_px": [
643.1062622070312,
507.00213623046875
],
"reprojection_error_px": 0.2865257429512536,
"confidence": 0.4668259742313624
},
{
"marker_id": 56,
"observed_center_px": [
84.25,
514.75
],
"projected_center_px": [
84.40376281738281,
514.6827392578125
],
"reprojection_error_px": 0.16783030551456876,
"confidence": 0.39662908657084783
},
{
"marker_id": 215,
"observed_center_px": [
504.5,
495.5
],
"projected_center_px": [
504.519775390625,
495.50079345703125
],
"reprojection_error_px": 0.01979130234299345,
"confidence": 0.4561015937422635
},
{
"marker_id": 46,
"observed_center_px": [
41.5,
498.0
],
"projected_center_px": [
41.31007385253906,
498.05682373046875
],
"reprojection_error_px": 0.19824449004635394,
"confidence": 0.1698001278724927
},
{
"marker_id": 68,
"observed_center_px": [
29.25,
458.0
],
"projected_center_px": [
29.09933090209961,
458.1151428222656
],
"reprojection_error_px": 0.18962870716590038,
"confidence": 0.07718187630567852
},
{
"marker_id": 208,
"observed_center_px": [
424.5,
417.75
],
"projected_center_px": [
424.4014587402344,
417.76727294921875
],
"reprojection_error_px": 0.10004366372194644,
"confidence": 0.4316478958478293
},
{
"marker_id": 79,
"observed_center_px": [
515.0,
406.75
],
"projected_center_px": [
515.5861206054688,
406.7344055175781
],
"reprojection_error_px": 0.5863280242637736,
"confidence": 0.40793535669071385
},
{
"marker_id": 95,
"observed_center_px": [
710.75,
415.25
],
"projected_center_px": [
710.9323120117188,
415.1744079589844
],
"reprojection_error_px": 0.1973621703413437,
"confidence": 0.4181682027393045
},
{
"marker_id": 55,
"observed_center_px": [
622.75,
351.75
],
"projected_center_px": [
622.6815795898438,
351.8929748535156
],
"reprojection_error_px": 0.1585028746230298,
"confidence": 0.39668368657567366
},
{
"marker_id": 96,
"observed_center_px": [
494.0,
345.0
],
"projected_center_px": [
493.6044616699219,
344.6935729980469
],
"reprojection_error_px": 0.5003479570128894,
"confidence": 0.3577321830843512
},
{
"marker_id": 66,
"observed_center_px": [
761.5,
332.5
],
"projected_center_px": [
761.3597412109375,
332.74591064453125
],
"reprojection_error_px": 0.28309816849116787,
"confidence": 0.3829765144945479
},
{
"marker_id": 217,
"observed_center_px": [
201.5,
202.0
],
"projected_center_px": [
201.80657958984375,
201.7980499267578
],
"reprojection_error_px": 0.3671169799822488,
"confidence": 0.3382587531306593
},
{
"marker_id": 97,
"observed_center_px": [
682.75,
268.75
],
"projected_center_px": [
682.7110595703125,
268.74407958984375
],
"reprojection_error_px": 0.03938792099953182,
"confidence": 0.3623898971459892
},
{
"marker_id": 54,
"observed_center_px": [
630.25,
262.5
],
"projected_center_px": [
630.4410400390625,
262.6352233886719
],
"reprojection_error_px": 0.23405482556210308,
"confidence": 0.3590718541167963
},
{
"marker_id": 205,
"observed_center_px": [
133.0,
135.0
],
"projected_center_px": [
132.99139404296875,
135.03118896484375
],
"reprojection_error_px": 0.03235450547371099,
"confidence": 0.29591817114314195
},
{
"marker_id": 92,
"observed_center_px": [
291.0,
157.0
],
"projected_center_px": [
290.9996032714844,
157.41091918945312
],
"reprojection_error_px": 0.41091938096703146,
"confidence": 0.3158166687011719
},
{
"marker_id": 105,
"observed_center_px": [
442.5,
182.75
],
"projected_center_px": [
442.35198974609375,
182.89329528808594
],
"reprojection_error_px": 0.20601110370323347,
"confidence": 0.31800273344664126
"reprojection_error_px": 0.25583506607008366,
"confidence": 0.5378023102616513
},
{
"marker_id": 85,
"observed_center_px": [
494.0,
166.0
555.75,
319.25
],
"projected_center_px": [
493.9506530761719,
165.6742706298828
555.0740966796875,
319.98822021484375
],
"reprojection_error_px": 0.329446113117515,
"confidence": 0.2969848480224609
},
{
"marker_id": 102,
"observed_center_px": [
318.5,
130.0
],
"projected_center_px": [
318.87335205078125,
129.80711364746094
],
"reprojection_error_px": 0.42023433798107046,
"confidence": 0.3170967427530611
"reprojection_error_px": 1.0009067808809242,
"confidence": 0.3723692848365729
},
{
"marker_id": 59,
"observed_center_px": [
379.75,
109.0
425.0,
258.5
],
"projected_center_px": [
379.91064453125,
109.26207733154297
425.6983642578125,
257.8244323730469
],
"reprojection_error_px": 0.30739419826863257,
"confidence": 0.3170967427530611
},
{
"marker_id": 48,
"observed_center_px": [
369.5,
44.25
],
"projected_center_px": [
369.5679016113281,
44.291873931884766
],
"reprojection_error_px": 0.07977502737351924,
"confidence": 0.17828567290874034
},
{
"marker_id": 57,
"observed_center_px": [
463.0,
70.5
],
"projected_center_px": [
463.03155517578125,
70.46515655517578
],
"reprojection_error_px": 0.04700845419500585,
"confidence": 0.3167426670523156
},
{
"marker_id": 63,
"observed_center_px": [
243.0,
42.0
],
"projected_center_px": [
242.70608520507812,
41.73008346557617
],
"reprojection_error_px": 0.39904992448231014,
"confidence": 0.15449597168691093
},
{
"marker_id": 71,
"observed_center_px": [
299.25,
29.5
],
"projected_center_px": [
299.2673034667969,
29.463695526123047
],
"reprojection_error_px": 0.0402172200266618,
"confidence": 0.08171792300897739
"reprojection_error_px": 0.9716502741095073,
"confidence": 0.3891556430833806
}
]
},

View File

@@ -1,51 +1,58 @@
{
"schema_version": "1.0",
"created_utc": "2026-06-01T23:03:41Z",
"created_utc": "2026-06-02T05:24:15Z",
"method": "hybrid",
"movements": {
"x": {
"value": 179.991517598722,
"value": 181.8150249984055,
"unit": "mm",
"observable": true,
"confidence": "medium",
"n_markers": 2
},
"y": {
"value": 85.93989063349923,
"value": 86.04506485296203,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 2
},
"z": {
"value": -119.9518210353352,
"value": -120.10960047434139,
"unit": "deg",
"observable": true,
"confidence": "high",
"n_markers": 3
},
"a": {
"value": -59.85650717836188,
"value": -60.43040541176247,
"unit": "deg",
"observable": true,
"confidence": "high",
"n_markers": 4
},
"b": {
"value": 22.098148948684177,
"value": 22.30598267771704,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 3
},
"c": {
"value": 90.8969120993795,
"value": 90.28963680475427,
"unit": "deg",
"observable": true,
"confidence": "medium",
"n_markers": 3
},
"e": {
"value": 9.979643959347445,
"value": 8.753900124340632,
"unit": "mm",
"observable": true,
"confidence": "medium",
"n_markers": 3
}
},
"residual_rms": 1.4479700331268524,
"num_markers": 56
"residual_rms": 2.1395071696605545,
"num_markers": 44
}

File diff suppressed because it is too large Load Diff

View File

@@ -10,8 +10,8 @@
"e": 10
},
"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.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

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.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: 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.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -2,6 +2,7 @@ from unicodedata import name
import bpy
import math
import random
import mathutils
import json
from pathlib import Path
@@ -75,7 +76,17 @@ dof_enabled = as_bool(rendering_info.get("dofEnabled", True))
dof_fstop = float(rendering_info.get("dofFStop", 7.5))
aruco_dust = as_bool(rendering_info.get("arucoDust", False))
aruco_dust_strength = float(rendering_info.get("arucoDustStrength", 0.0005))
aruco_dust_strength = float(rendering_info.get("arucoDustStrength", 0.5))
# ── Realismus-Störungen ────────────────────────────────────────────
# Marker leicht "falsch aufgeklebt": tangentiale Verschiebung (mm). Deterministisch
# pro Marker-ID, damit der Marker in ALLEN Kameraansichten konsistent versetzt ist.
marker_offset_max_mm = float(rendering_info.get("markerOffsetMaxMm", 0.0))
marker_offset_seed = int(rendering_info.get("markerOffsetSeed", 0))
marker_rot_max_deg = float(rendering_info.get("markerRotationMaxDeg", 0.0))
# Leichtes Verwackeln: pro Aufnahme zufällig gerichteter, kleiner Blur (Pixel).
motion_blur = as_bool(rendering_info.get("motionBlur", False))
motion_blur_max_px = float(rendering_info.get("motionBlurMaxPx", 1.5))
state: Dict[str, float] = {k: 0.0 for k in STATE_KEYS}
for source_name in ("defaultPosition", "recognized", "movements"):
@@ -698,29 +709,35 @@ for link_name, link_info in links_def.items():
tex.image = image
if aruco_dust:
# Wenige feine Staubkörner: hoch aufgelöstes Noise, hohe Schwelle in der
# Ramp (nur Spitzen -> wenige kleine Punkte), Stärke als echter Faktor.
noise = nodes.new("ShaderNodeTexNoise")
ramp = nodes.new("ShaderNodeValToRGB")
mix = nodes.new("ShaderNodeMixRGB")
ramp = nodes.new("ShaderNodeValToRGB")
mult = nodes.new("ShaderNodeMath")
mix = nodes.new("ShaderNodeMixRGB")
noise.location = (-600, -220)
ramp.location = (-360, -220)
mix.location = (-120, -120)
noise.location = (-700, -220)
ramp.location = (-480, -220)
mult.location = (-280, -220)
mix.location = (-120, -120)
noise.inputs["Scale"].default_value = 80.0
noise.inputs["Detail"].default_value = 1.0
noise.inputs["Scale"].default_value = 220.0 # feine Körnung
noise.inputs["Detail"].default_value = 2.0
ramp.color_ramp.elements[0].position = 0.49
ramp.color_ramp.elements[1].position = 0.51
# nur die obersten ~5-8 % der Noise-Werte werden zu Staub
ramp.color_ramp.elements[0].position = 0.82
ramp.color_ramp.elements[1].position = 0.90
mult.operation = "MULTIPLY"
mult.inputs[1].default_value = max(0.0, min(1.0, aruco_dust_strength))
mix.blend_type = "MIX"
mix.inputs["Fac"].default_value = aruco_dust_strength
mix.inputs["Color2"].default_value = (0.97, 0.97, 0.97, 1.0)
mix.inputs["Color2"].default_value = (0.78, 0.76, 0.72, 1.0) # heller, matter Staub
if aruco_dust:
links.new(tex.outputs["Color"], mix.inputs["Color1"])
links.new(noise.outputs["Fac"], ramp.inputs["Fac"])
links.new(ramp.outputs["Color"], mix.inputs["Fac"])
links.new(ramp.outputs["Color"], mult.inputs[0])
links.new(mult.outputs["Value"], mix.inputs["Fac"])
links.new(mix.outputs["Color"], bsdf.inputs["Base Color"])
else:
links.new(tex.outputs["Color"], bsdf.inputs["Base Color"])
@@ -805,9 +822,29 @@ for link_name, link_info in links_def.items():
)
normal_local.normalize()
# Marker "falsch aufgeklebt": deterministische tangentiale Verschiebung
# (gleicher Versatz in allen Kameraansichten -> konsistente Geometrie).
place_offset = mathutils.Vector((0.0, 0.0, 0.0))
if marker_offset_max_mm > 0.0:
rng = random.Random(marker_id + 1000 * marker_offset_seed)
ref = mathutils.Vector((1.0, 0.0, 0.0))
if abs(normal_local.dot(ref)) > 0.9:
ref = mathutils.Vector((0.0, 1.0, 0.0))
u = normal_local.cross(ref).normalized()
v = normal_local.cross(u).normalized()
r_m = mm_to_m(marker_offset_max_mm * math.sqrt(rng.random())) # gleichvert. in Kreisfläche
ang = rng.uniform(0.0, 2.0 * math.pi)
place_offset = u * (r_m * math.cos(ang)) + v * (r_m * math.sin(ang))
if marker_rot_max_deg > 0.0:
d_ang = math.radians(rng.uniform(-marker_rot_max_deg, marker_rot_max_deg))
marker_obj.rotation_quaternion = (
mathutils.Quaternion(normal_local, d_ang) @ marker_obj.rotation_quaternion
)
# minimal vorziehen gegen Z-Fighting (lokaler Versatz)
marker_obj.location = (
mathutils.Vector(marker_pos)
+ place_offset
+ normal_local * mm_to_m(0.5)
)
@@ -1008,6 +1045,28 @@ enable_best_device(scene)
# RENDER
# ============================================================
# ── leichtes Verwackeln: pro Aufnahme zufällig gerichteter kleiner Blur ──
if motion_blur and motion_blur_max_px > 0.0:
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
_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")
bpy.ops.render.render(write_still=True)
print("Finished rendering:", OUTPUT_FILE)