diff --git a/media/RESULTS.md b/media/RESULTS.md index 0e78bac..275d34f 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,9 +7,9 @@ Results of the model in various experiments on different datasets. (duration 00:01:20) ```json { - "avg_time_2d": 0.07047960596569514, - "avg_time_3d": 0.0013772115869037176, - "avg_fps": 13.916563995726705 + "avg_time_2d": 0.07087800987696244, + "avg_time_3d": 0.00041960861723301776, + "avg_fps": 14.025713917519038 } { "person_nums": { @@ -28,8 +28,8 @@ Results of the model in various experiments on different datasets. }, "mpjpe": { "count": 600, - "mean": 0.067041, - "median": 0.059381, + "mean": 0.067044, + "median": 0.059406, "std": 0.027778, "sem": 0.001135, "min": 0.043707, @@ -43,36 +43,36 @@ Results of the model in various experiments on different datasets. "num_labels": 600, "ap-0.025": 0.0, "ap-0.05": 0.002029, - "ap-0.1": 0.893791, - "ap-0.15": 0.916756, + "ap-0.1": 0.893774, + "ap-0.15": 0.91673, "ap-0.25": 1.0, "ap-0.5": 1.0 }, "nose": { "count": 600, - "mean": 0.117446, + "mean": 0.117677, "median": 0.101523, - "std": 0.042638, - "sem": 0.001742, - "min": 0.046467, + "std": 0.042982, + "sem": 0.001756, + "min": 0.046466, "max": 0.271134, "recall-0.025": 0.0, "recall-0.05": 0.003333, "recall-0.1": 0.485, - "recall-0.15": 0.808333, + "recall-0.15": 0.805, "recall-0.25": 0.995, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_left": { "count": 600, - "mean": 0.033391, - "median": 0.025711, - "std": 0.032125, - "sem": 0.001313, + "mean": 0.0334, + "median": 0.025798, + "std": 0.032123, + "sem": 0.001312, "min": 0.003037, "max": 0.181945, - "recall-0.025": 0.486667, + "recall-0.025": 0.485, "recall-0.05": 0.871667, "recall-0.1": 0.948333, "recall-0.15": 0.965, @@ -87,7 +87,7 @@ Results of the model in various experiments on different datasets. "std": 0.042119, "sem": 0.001721, "min": 0.003882, - "max": 0.247363, + "max": 0.247362, "recall-0.025": 0.235, "recall-0.05": 0.758333, "recall-0.1": 0.901667, @@ -99,8 +99,8 @@ Results of the model in various experiments on different datasets. "elbow_left": { "count": 600, "mean": 0.042931, - "median": 0.034598, - "std": 0.034814, + "median": 0.034599, + "std": 0.034815, "sem": 0.001422, "min": 0.002682, "max": 0.193558, @@ -115,7 +115,7 @@ Results of the model in various experiments on different datasets. "elbow_right": { "count": 600, "mean": 0.043934, - "median": 0.033341, + "median": 0.03334, "std": 0.036065, "sem": 0.001474, "min": 0.00667, @@ -130,13 +130,13 @@ Results of the model in various experiments on different datasets. }, "wrist_left": { "count": 600, - "mean": 0.040738, - "median": 0.024321, - "std": 0.04224, - "sem": 0.001726, + "mean": 0.040681, + "median": 0.024264, + "std": 0.042258, + "sem": 0.001727, "min": 0.001517, "max": 0.18631, - "recall-0.025": 0.511667, + "recall-0.025": 0.513333, "recall-0.05": 0.746667, "recall-0.1": 0.91, "recall-0.15": 0.945, @@ -146,9 +146,9 @@ Results of the model in various experiments on different datasets. }, "wrist_right": { "count": 600, - "mean": 0.043205, + "mean": 0.043196, "median": 0.025854, - "std": 0.04796, + "std": 0.047962, "sem": 0.00196, "min": 0.001698, "max": 0.425617, @@ -178,15 +178,15 @@ Results of the model in various experiments on different datasets. }, "hip_right": { "count": 600, - "mean": 0.114593, - "median": 0.11502, - "std": 0.026334, + "mean": 0.114649, + "median": 0.115077, + "std": 0.026326, "sem": 0.001076, - "min": 0.046173, + "min": 0.046172, "max": 0.234935, "recall-0.025": 0.0, "recall-0.05": 0.001667, - "recall-0.1": 0.253333, + "recall-0.1": 0.251667, "recall-0.15": 0.946667, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -211,7 +211,7 @@ Results of the model in various experiments on different datasets. "knee_right": { "count": 600, "mean": 0.051154, - "median": 0.04325, + "median": 0.043249, "std": 0.035226, "sem": 0.001439, "min": 0.017082, @@ -227,7 +227,7 @@ Results of the model in various experiments on different datasets. "ankle_left": { "count": 598, "mean": 0.098141, - "median": 0.086284, + "median": 0.086283, "std": 0.049814, "sem": 0.002039, "min": 0.039216, @@ -242,34 +242,34 @@ Results of the model in various experiments on different datasets. }, "ankle_right": { "count": 600, - "mean": 0.085589, + "mean": 0.085402, "median": 0.068683, - "std": 0.05862, - "sem": 0.002395, + "std": 0.058021, + "sem": 0.002371, "min": 0.032987, "max": 0.463238, "recall-0.025": 0.0, "recall-0.05": 0.016667, "recall-0.1": 0.885, "recall-0.15": 0.906667, - "recall-0.25": 0.978333, + "recall-0.25": 0.98, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.17782, + "recall-0.025": 0.17769, "recall-0.05": 0.47333, "recall-0.1": 0.82038, - "recall-0.15": 0.92974, - "recall-0.25": 0.99397, + "recall-0.15": 0.92962, + "recall-0.25": 0.99423, "recall-0.5": 0.99974 } } { "total_parts": 8400, - "correct_parts": 8090, - "pcp": 0.963095 + "correct_parts": 8089, + "pcp": 0.962976 } ``` @@ -286,16 +286,16 @@ Results of the model in various experiments on different datasets. "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 886, + "total_preds": 887, "considered_empty": 0, "valid_preds": 477, - "invalid_preds": 409, + "invalid_preds": 410, "missing": 0, - "invalid_fraction": 0.46163, - "precision": 0.53837, + "invalid_fraction": 0.46223, + "precision": 0.53777, "recall": 1.0, - "f1": 0.69993, - "non_empty": 886 + "f1": 0.69941, + "non_empty": 887 }, "mpjpe": { "count": 477, @@ -549,16 +549,16 @@ Results of the model in various experiments on different datasets. (duration 00:00:29) ```json { - "avg_time_2d": 0.05880933100322507, - "avg_time_3d": 0.0016649657825254045, - "avg_fps": 16.535950860955353 + "avg_time_2d": 0.05682281952983928, + "avg_time_3d": 0.00042041292730367406, + "avg_fps": 17.46931396211217 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 473, - "considered_empty": 1, + "total_preds": 472, + "considered_empty": 0, "valid_preds": 376, "invalid_preds": 96, "missing": 0, @@ -574,7 +574,7 @@ Results of the model in various experiments on different datasets. "median": 0.076036, "std": 0.018832, "sem": 0.000972, - "min": 0.048684, + "min": 0.048683, "max": 0.158395, "recall-0.025": 0.0, "recall-0.05": 0.010638, @@ -593,11 +593,11 @@ Results of the model in various experiments on different datasets. "head": { "count": 376, "mean": 0.059335, - "median": 0.06095, + "median": 0.060949, "std": 0.025332, "sem": 0.001308, "min": 0.006936, - "max": 0.161995, + "max": 0.161997, "recall-0.025": 0.098404, "recall-0.05": 0.361702, "recall-0.1": 0.954787, @@ -609,11 +609,11 @@ Results of the model in various experiments on different datasets. "shoulder_left": { "count": 376, "mean": 0.061447, - "median": 0.056892, + "median": 0.056891, "std": 0.028318, "sem": 0.001462, - "min": 0.003738, - "max": 0.154144, + "min": 0.003739, + "max": 0.154143, "recall-0.025": 0.050532, "recall-0.05": 0.401596, "recall-0.1": 0.906915, @@ -629,7 +629,7 @@ Results of the model in various experiments on different datasets. "std": 0.026815, "sem": 0.001385, "min": 0.016753, - "max": 0.185574, + "max": 0.185573, "recall-0.025": 0.039894, "recall-0.05": 0.367021, "recall-0.1": 0.893617, @@ -661,7 +661,7 @@ Results of the model in various experiments on different datasets. "std": 0.035349, "sem": 0.001825, "min": 0.00548, - "max": 0.237233, + "max": 0.237231, "recall-0.025": 0.023936, "recall-0.05": 0.324468, "recall-0.1": 0.795213, @@ -672,7 +672,7 @@ Results of the model in various experiments on different datasets. }, "wrist_left": { "count": 376, - "mean": 0.114922, + "mean": 0.114923, "median": 0.099655, "std": 0.06375, "sem": 0.003292, @@ -693,7 +693,7 @@ Results of the model in various experiments on different datasets. "std": 0.042276, "sem": 0.002183, "min": 0.014228, - "max": 0.309971, + "max": 0.309969, "recall-0.025": 0.007979, "recall-0.05": 0.095745, "recall-0.1": 0.603723, @@ -709,7 +709,7 @@ Results of the model in various experiments on different datasets. "std": 0.02958, "sem": 0.001527, "min": 0.018902, - "max": 0.179369, + "max": 0.179367, "recall-0.025": 0.029255, "recall-0.05": 0.170213, "recall-0.1": 0.710106, @@ -768,8 +768,8 @@ Results of the model in various experiments on different datasets. }, "ankle_left": { "count": 372, - "mean": 0.091736, - "median": 0.060062, + "mean": 0.091737, + "median": 0.060063, "std": 0.100196, "sem": 0.005202, "min": 0.007394, @@ -788,7 +788,7 @@ Results of the model in various experiments on different datasets. "median": 0.052772, "std": 0.090361, "sem": 0.004691, - "min": 0.006245, + "min": 0.006244, "max": 0.496601, "recall-0.025": 0.071809, "recall-0.05": 0.470745, @@ -820,188 +820,188 @@ Results of the model in various experiments on different datasets. (duration 00:02:31) ```json { - "avg_time_2d": 0.055016697512304646, - "avg_time_3d": 0.0014002407887448018, - "avg_fps": 17.72517315037279 + "avg_time_2d": 0.05496650173513878, + "avg_time_3d": 0.0004480181680164738, + "avg_fps": 18.04581185125563 } { "person_nums": { "total_frames": 629, "total_labels": 1061, - "total_preds": 1085, - "considered_empty": 85, - "valid_preds": 761, - "invalid_preds": 239, - "missing": 300, - "invalid_fraction": 0.239, - "precision": 0.761, - "recall": 0.71725, - "f1": 0.73848, + "total_preds": 1000, + "considered_empty": 0, + "valid_preds": 762, + "invalid_preds": 238, + "missing": 299, + "invalid_fraction": 0.238, + "precision": 0.762, + "recall": 0.71819, + "f1": 0.73945, "non_empty": 1000 }, "mpjpe": { - "count": 761, - "mean": 0.116647, - "median": 0.095682, - "std": 0.069225, - "sem": 0.002511, + "count": 762, + "mean": 0.11579, + "median": 0.095056, + "std": 0.067568, + "sem": 0.002449, "min": 0.040489, "max": 0.497874, "recall-0.025": 0.0, "recall-0.05": 0.005655, - "recall-0.1": 0.385485, - "recall-0.15": 0.589067, - "recall-0.25": 0.686145, - "recall-0.5": 0.717248, + "recall-0.1": 0.38737, + "recall-0.15": 0.591894, + "recall-0.25": 0.688973, + "recall-0.5": 0.71819, "num_labels": 1061, "ap-0.025": 0.0, - "ap-0.05": 9.9e-05, - "ap-0.1": 0.247799, - "ap-0.15": 0.48848, - "ap-0.25": 0.614452, - "ap-0.5": 0.654049 + "ap-0.05": 9.8e-05, + "ap-0.1": 0.249017, + "ap-0.15": 0.4902, + "ap-0.25": 0.615173, + "ap-0.5": 0.652927 }, "head": { - "count": 760, - "mean": 0.065587, - "median": 0.050599, - "std": 0.057824, - "sem": 0.002099, + "count": 761, + "mean": 0.065976, + "median": 0.050342, + "std": 0.060116, + "sem": 0.002181, "min": 0.005944, - "max": 0.436815, - "recall-0.025": 0.085768, - "recall-0.05": 0.354383, - "recall-0.1": 0.62394, - "recall-0.15": 0.667295, - "recall-0.25": 0.69934, - "recall-0.5": 0.716305, + "max": 0.482489, + "recall-0.025": 0.087653, + "recall-0.05": 0.356268, + "recall-0.1": 0.624882, + "recall-0.15": 0.668238, + "recall-0.25": 0.698398, + "recall-0.5": 0.717248, "num_labels": 1061 }, "shoulder_left": { - "count": 759, - "mean": 0.064625, - "median": 0.04426, - "std": 0.068399, - "sem": 0.002484, + "count": 760, + "mean": 0.064231, + "median": 0.04397, + "std": 0.068085, + "sem": 0.002471, "min": 0.003155, "max": 0.498748, - "recall-0.025": 0.150801, - "recall-0.05": 0.413761, - "recall-0.1": 0.604147, - "recall-0.15": 0.662582, - "recall-0.25": 0.693685, - "recall-0.5": 0.715363, + "recall-0.025": 0.155514, + "recall-0.05": 0.416588, + "recall-0.1": 0.606032, + "recall-0.15": 0.663525, + "recall-0.25": 0.694628, + "recall-0.5": 0.716305, "num_labels": 1061 }, "shoulder_right": { "count": 758, - "mean": 0.062384, - "median": 0.040803, - "std": 0.069916, - "sem": 0.002541, - "min": 0.001884, + "mean": 0.061267, + "median": 0.040706, + "std": 0.067664, + "sem": 0.002459, + "min": 0.001883, "max": 0.496442, - "recall-0.025": 0.150801, - "recall-0.05": 0.443921, - "recall-0.1": 0.615457, - "recall-0.15": 0.667295, - "recall-0.25": 0.688973, + "recall-0.025": 0.152686, + "recall-0.05": 0.446748, + "recall-0.1": 0.618285, + "recall-0.15": 0.66918, + "recall-0.25": 0.690858, "recall-0.5": 0.71442, "num_labels": 1061 }, "elbow_left": { - "count": 745, - "mean": 0.102191, - "median": 0.075708, - "std": 0.082833, - "sem": 0.003037, + "count": 747, + "mean": 0.101929, + "median": 0.074645, + "std": 0.083031, + "sem": 0.00304, "min": 0.005382, "max": 0.481769, - "recall-0.025": 0.065033, - "recall-0.05": 0.220547, - "recall-0.1": 0.429783, - "recall-0.15": 0.557964, - "recall-0.25": 0.6541, - "recall-0.5": 0.702168, + "recall-0.025": 0.066918, + "recall-0.05": 0.223374, + "recall-0.1": 0.431668, + "recall-0.15": 0.558907, + "recall-0.25": 0.655985, + "recall-0.5": 0.704053, "num_labels": 1061 }, "elbow_right": { - "count": 748, - "mean": 0.083851, - "median": 0.057555, - "std": 0.078679, - "sem": 0.002879, + "count": 751, + "mean": 0.083546, + "median": 0.057561, + "std": 0.078404, + "sem": 0.002863, "min": 0.003313, "max": 0.498068, - "recall-0.025": 0.095193, - "recall-0.05": 0.30066, - "recall-0.1": 0.520264, - "recall-0.15": 0.61263, - "recall-0.25": 0.66918, - "recall-0.5": 0.704995, + "recall-0.025": 0.096136, + "recall-0.05": 0.301602, + "recall-0.1": 0.523091, + "recall-0.15": 0.6164, + "recall-0.25": 0.672008, + "recall-0.5": 0.707823, "num_labels": 1061 }, "wrist_left": { - "count": 752, - "mean": 0.127271, - "median": 0.090832, - "std": 0.102889, - "sem": 0.003754, - "min": 0.004181, + "count": 753, + "mean": 0.126865, + "median": 0.090726, + "std": 0.102454, + "sem": 0.003736, + "min": 0.00418, "max": 0.497384, - "recall-0.025": 0.061263, + "recall-0.025": 0.062205, "recall-0.05": 0.180961, - "recall-0.1": 0.378888, - "recall-0.15": 0.472196, - "recall-0.25": 0.61263, - "recall-0.5": 0.708765, + "recall-0.1": 0.380773, + "recall-0.15": 0.473139, + "recall-0.25": 0.614515, + "recall-0.5": 0.709708, "num_labels": 1061 }, "wrist_right": { - "count": 746, - "mean": 0.112637, + "count": 748, + "mean": 0.112318, "median": 0.076428, - "std": 0.101177, - "sem": 0.003707, + "std": 0.100796, + "sem": 0.003688, "min": 0.006423, "max": 0.494757, - "recall-0.025": 0.071631, - "recall-0.05": 0.241282, - "recall-0.1": 0.429783, - "recall-0.15": 0.526861, - "recall-0.25": 0.618285, - "recall-0.5": 0.70311, + "recall-0.025": 0.072573, + "recall-0.05": 0.240339, + "recall-0.1": 0.430726, + "recall-0.15": 0.527804, + "recall-0.25": 0.622055, + "recall-0.5": 0.704995, "num_labels": 1061 }, "hip_left": { - "count": 742, - "mean": 0.188889, + "count": 746, + "mean": 0.189195, "median": 0.17064, - "std": 0.084308, - "sem": 0.003097, + "std": 0.085658, + "sem": 0.003138, "min": 0.021758, "max": 0.499358, "recall-0.025": 0.000943, "recall-0.05": 0.00377, - "recall-0.1": 0.065033, - "recall-0.15": 0.259189, - "recall-0.25": 0.572102, - "recall-0.5": 0.69934, + "recall-0.1": 0.066918, + "recall-0.15": 0.261074, + "recall-0.25": 0.575872, + "recall-0.5": 0.70311, "num_labels": 1061 }, "hip_right": { "count": 741, - "mean": 0.182767, - "median": 0.167996, - "std": 0.079854, - "sem": 0.002935, + "mean": 0.180798, + "median": 0.167552, + "std": 0.076766, + "sem": 0.002822, "min": 0.036054, - "max": 0.492847, + "max": 0.492444, "recall-0.025": 0.0, "recall-0.05": 0.00377, "recall-0.1": 0.069746, - "recall-0.15": 0.27427, - "recall-0.25": 0.583412, + "recall-0.15": 0.275212, + "recall-0.25": 0.588124, "recall-0.5": 0.698398, "num_labels": 1061 }, @@ -1011,18 +1011,18 @@ Results of the model in various experiments on different datasets. "ankle_right": {}, "joint_recalls": { "num_labels": 9549, - "recall-0.025": 0.0753, - "recall-0.05": 0.24003, - "recall-0.1": 0.41481, - "recall-0.15": 0.52152, - "recall-0.25": 0.64321, - "recall-0.5": 0.70636 + "recall-0.025": 0.07666, + "recall-0.05": 0.24065, + "recall-0.1": 0.41638, + "recall-0.15": 0.52341, + "recall-0.25": 0.64572, + "recall-0.5": 0.70803 } } { "total_parts": 10610, - "correct_parts": 5825, - "pcp": 0.54901 + "correct_parts": 5846, + "pcp": 0.55099 } ``` @@ -1031,56 +1031,56 @@ Results of the model in various experiments on different datasets. (duration 00:02:28) ```json { - "avg_time_2d": 0.10984443804112877, - "avg_time_3d": 0.004945937598623881, - "avg_fps": 8.71153173275002 + "avg_time_2d": 0.11023792871614782, + "avg_time_3d": 0.0007589270428913395, + "avg_fps": 9.00926420988789 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1549, - "considered_empty": 7, + "total_preds": 1540, + "considered_empty": 0, "valid_preds": 1464, - "invalid_preds": 78, + "invalid_preds": 76, "missing": 2, - "invalid_fraction": 0.05058, - "precision": 0.94942, + "invalid_fraction": 0.04935, + "precision": 0.95065, "recall": 0.99864, - "f1": 0.9734, - "non_empty": 1542 + "f1": 0.97405, + "non_empty": 1540 }, "mpjpe": { "count": 1464, - "mean": 0.042745, - "median": 0.037965, - "std": 0.020222, - "sem": 0.000529, + "mean": 0.042705, + "median": 0.037986, + "std": 0.020188, + "sem": 0.000528, "min": 0.01189, "max": 0.147865, "recall-0.025": 0.153479, - "recall-0.05": 0.742156, + "recall-0.05": 0.741473, "recall-0.1": 0.982265, "recall-0.15": 0.998636, "recall-0.25": 0.998636, "recall-0.5": 0.998636, "num_labels": 1466, - "ap-0.025": 0.064846, - "ap-0.05": 0.664636, - "ap-0.1": 0.96085, - "ap-0.15": 0.983955, - "ap-0.25": 0.983955, - "ap-0.5": 0.983955 + "ap-0.025": 0.064039, + "ap-0.05": 0.663091, + "ap-0.1": 0.960957, + "ap-0.15": 0.983972, + "ap-0.25": 0.983972, + "ap-0.5": 0.983972 }, "nose": { "count": 1462, - "mean": 0.016118, + "mean": 0.016084, "median": 0.012438, - "std": 0.019038, - "sem": 0.000498, + "std": 0.019001, + "sem": 0.000497, "min": 0.001407, "max": 0.282177, - "recall-0.025": 0.900889, + "recall-0.025": 0.901572, "recall-0.05": 0.96514, "recall-0.1": 0.995215, "recall-0.15": 0.995899, @@ -1090,13 +1090,13 @@ Results of the model in various experiments on different datasets. }, "shoulder_left": { "count": 1464, - "mean": 0.021387, - "median": 0.019035, - "std": 0.011197, + "mean": 0.021383, + "median": 0.01901, + "std": 0.011213, "sem": 0.000293, "min": 0.002677, - "max": 0.095794, - "recall-0.025": 0.705321, + "max": 0.095793, + "recall-0.025": 0.706685, "recall-0.05": 0.97749, "recall-0.1": 0.998636, "recall-0.15": 0.998636, @@ -1106,13 +1106,13 @@ Results of the model in various experiments on different datasets. }, "shoulder_right": { "count": 1463, - "mean": 0.022631, - "median": 0.019541, - "std": 0.014416, + "mean": 0.022677, + "median": 0.019544, + "std": 0.014417, "sem": 0.000377, "min": 0.00112, "max": 0.146597, - "recall-0.025": 0.714676, + "recall-0.025": 0.711945, "recall-0.05": 0.953584, "recall-0.1": 0.995904, "recall-0.15": 0.998635, @@ -1122,15 +1122,15 @@ Results of the model in various experiments on different datasets. }, "elbow_left": { "count": 1463, - "mean": 0.02639, - "median": 0.017858, - "std": 0.02901, - "sem": 0.000759, + "mean": 0.026286, + "median": 0.017747, + "std": 0.028804, + "sem": 0.000753, "min": 0.001259, "max": 0.323155, "recall-0.025": 0.704437, - "recall-0.05": 0.882594, - "recall-0.1": 0.978157, + "recall-0.05": 0.881911, + "recall-0.1": 0.979522, "recall-0.15": 0.986348, "recall-0.25": 0.996587, "recall-0.5": 0.998635, @@ -1138,8 +1138,8 @@ Results of the model in various experiments on different datasets. }, "elbow_right": { "count": 1462, - "mean": 0.023401, - "median": 0.018196, + "mean": 0.02341, + "median": 0.01824, "std": 0.018141, "sem": 0.000475, "min": 0.001407, @@ -1153,147 +1153,147 @@ Results of the model in various experiments on different datasets. "num_labels": 1463 }, "wrist_left": { - "count": 1430, - "mean": 0.035377, - "median": 0.016959, - "std": 0.051088, - "sem": 0.001351, + "count": 1429, + "mean": 0.035154, + "median": 0.01696, + "std": 0.050615, + "sem": 0.001339, "min": 0.000713, "max": 0.397255, - "recall-0.025": 0.67643, + "recall-0.025": 0.675732, "recall-0.05": 0.824268, - "recall-0.1": 0.90795, - "recall-0.15": 0.954672, - "recall-0.25": 0.987448, - "recall-0.5": 0.997211, + "recall-0.1": 0.909344, + "recall-0.15": 0.95537, + "recall-0.25": 0.98675, + "recall-0.5": 0.996513, "num_labels": 1434 }, "wrist_right": { "count": 1456, - "mean": 0.024355, + "mean": 0.024195, "median": 0.016346, - "std": 0.024627, - "sem": 0.000646, + "std": 0.023585, + "sem": 0.000618, "min": 0.001905, - "max": 0.304244, - "recall-0.025": 0.70261, + "max": 0.202973, + "recall-0.025": 0.701923, "recall-0.05": 0.89217, - "recall-0.1": 0.979396, - "recall-0.15": 0.993819, - "recall-0.25": 0.999313, + "recall-0.1": 0.980082, + "recall-0.15": 0.994505, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 1456 }, "hip_left": { "count": 1463, - "mean": 0.059443, + "mean": 0.059397, "median": 0.053492, - "std": 0.030125, - "sem": 0.000788, + "std": 0.02998, + "sem": 0.000784, "min": 0.005563, "max": 0.17979, - "recall-0.025": 0.068259, - "recall-0.05": 0.424573, + "recall-0.025": 0.069625, + "recall-0.05": 0.423208, "recall-0.1": 0.893515, - "recall-0.15": 0.968601, + "recall-0.15": 0.969283, "recall-0.25": 0.998635, "recall-0.5": 0.998635, "num_labels": 1465 }, "hip_right": { "count": 1464, - "mean": 0.058641, - "median": 0.054688, - "std": 0.029005, - "sem": 0.000758, + "mean": 0.058556, + "median": 0.054479, + "std": 0.028879, + "sem": 0.000755, "min": 0.003776, - "max": 0.304524, - "recall-0.025": 0.055252, - "recall-0.05": 0.417462, - "recall-0.1": 0.91337, - "recall-0.15": 0.985675, + "max": 0.304525, + "recall-0.025": 0.05457, + "recall-0.05": 0.420191, + "recall-0.1": 0.914734, + "recall-0.15": 0.986357, "recall-0.25": 0.997954, "recall-0.5": 0.998636, "num_labels": 1466 }, "knee_left": { "count": 1463, - "mean": 0.0519, - "median": 0.042755, - "std": 0.042761, - "sem": 0.001118, + "mean": 0.051823, + "median": 0.042757, + "std": 0.042167, + "sem": 0.001103, "min": 0.001938, - "max": 0.353024, - "recall-0.025": 0.186348, - "recall-0.05": 0.635495, + "max": 0.3408, + "recall-0.025": 0.187713, + "recall-0.05": 0.63413, "recall-0.1": 0.927645, - "recall-0.15": 0.967235, - "recall-0.25": 0.9843, + "recall-0.15": 0.967918, + "recall-0.25": 0.984983, "recall-0.5": 0.998635, "num_labels": 1465 }, "knee_right": { "count": 1457, - "mean": 0.048275, + "mean": 0.048418, "median": 0.042583, - "std": 0.029088, - "sem": 0.000762, - "min": 0.003542, - "max": 0.324496, - "recall-0.025": 0.214531, + "std": 0.029681, + "sem": 0.000778, + "min": 0.003543, + "max": 0.324497, + "recall-0.025": 0.213845, "recall-0.05": 0.588759, - "recall-0.1": 0.938999, - "recall-0.15": 0.993146, - "recall-0.25": 0.997258, + "recall-0.1": 0.938314, + "recall-0.15": 0.992461, + "recall-0.25": 0.996573, "recall-0.5": 0.998629, "num_labels": 1459 }, "ankle_left": { "count": 1456, - "mean": 0.083562, - "median": 0.037346, - "std": 0.106393, - "sem": 0.002789, + "mean": 0.08324, + "median": 0.037284, + "std": 0.106306, + "sem": 0.002787, "min": 0.002453, - "max": 0.495773, - "recall-0.025": 0.361586, - "recall-0.05": 0.58715, - "recall-0.1": 0.729323, - "recall-0.15": 0.820232, - "recall-0.25": 0.913192, + "max": 0.495774, + "recall-0.025": 0.362953, + "recall-0.05": 0.588517, + "recall-0.1": 0.732057, + "recall-0.15": 0.821599, + "recall-0.25": 0.913876, "recall-0.5": 0.995215, "num_labels": 1463 }, "ankle_right": { - "count": 1448, - "mean": 0.077433, - "median": 0.033338, - "std": 0.10331, - "sem": 0.002716, + "count": 1449, + "mean": 0.077884, + "median": 0.033398, + "std": 0.103863, + "sem": 0.002729, "min": 0.001061, "max": 0.4981, "recall-0.025": 0.369863, - "recall-0.05": 0.686301, - "recall-0.1": 0.773288, - "recall-0.15": 0.815068, + "recall-0.05": 0.684932, + "recall-0.1": 0.772603, + "recall-0.15": 0.813699, "recall-0.25": 0.896575, - "recall-0.5": 0.991781, + "recall-0.5": 0.992466, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.48768, + "recall-0.025": 0.48752, "recall-0.05": 0.75034, - "recall-0.1": 0.9247, - "recall-0.15": 0.95935, - "recall-0.25": 0.98146, - "recall-0.5": 0.99774 + "recall-0.1": 0.92507, + "recall-0.15": 0.95956, + "recall-0.25": 0.98167, + "recall-0.5": 0.99768 } } { "total_parts": 20444, - "correct_parts": 19975, - "pcp": 0.977059 + "correct_parts": 19980, + "pcp": 0.977304 } ``` diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index 35cd3d4..0cf8a10 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -384,7 +384,7 @@ def main(): poses3D = np.zeros([1, len(joint_names_3d), 4]).tolist() else: spt_cameras = spt.convert_cameras(label["cameras"]) - roomparams = [label["room_center"], label["room_size"]] + roomparams = [label["room_size"], label["room_center"]] poses3D = triangulator.triangulate_poses( poses_2d, spt_cameras, roomparams, joint_names_2d ) diff --git a/spt/interface.hpp b/spt/interface.hpp index 0fb45ab..8079dad 100644 --- a/spt/interface.hpp +++ b/spt/interface.hpp @@ -30,7 +30,7 @@ public: * * @param poses_2d List of shape [views, persons, joints, 3], containing the 2D poses. * @param cameras List of cameras. - * @param roomparams Room parameters (room center, room size). + * @param roomparams Room parameters (room size, room center). * @param joint_names List of 2D joint names. * * @return List of shape [persons, joints, 4], containing the 3D poses. diff --git a/spt/triangulator.cpp b/spt/triangulator.cpp index c506ba2..903df1b 100644 --- a/spt/triangulator.cpp +++ b/spt/triangulator.cpp @@ -925,8 +925,8 @@ std::pair TriangulatorInternal::triangulate_and_score( { mean[j] *= inv_num_vis; } - const std::array ¢er = roomparams[0]; - const std::array &size = roomparams[1]; + const std::array &size = roomparams[0]; + const std::array ¢er = roomparams[1]; for (int j = 0; j < 3; ++j) { if (mean[j] > center[j] + size[j] / 2.0 || @@ -1061,9 +1061,7 @@ std::vector>> TriangulatorInte { float max_center_dist_sq = 0.6 * 0.6; float max_joint_avg_dist = 0.3; - size_t num_pairs = all_pairs.size(); - size_t num_joints = all_scored_poses[0].first.rows; // Calculate pose centers std::vector centers; @@ -1071,6 +1069,8 @@ std::vector>> TriangulatorInte for (size_t i = 0; i < num_pairs; ++i) { const cv::Mat &pose_3d = all_scored_poses[i].first; + size_t num_joints = pose_3d.rows; + cv::Point3d center(0, 0, 0); size_t num_valid = 0; for (size_t j = 0; j < num_joints; ++j) @@ -1102,6 +1102,8 @@ std::vector>> TriangulatorInte for (size_t i = 0; i < num_pairs; ++i) { const cv::Mat &pose_3d = all_scored_poses[i].first; + size_t num_joints = pose_3d.rows; + const cv::Point3d ¢er = centers[i]; float best_dist = std::numeric_limits::infinity(); int best_group = -1; @@ -1512,7 +1514,7 @@ void TriangulatorInternal::filter_poses( { // Check if the mean position is outside the room boundaries if (mean[j] > room_half_size[j] + room_center[j] || - mean[j] < -room_half_size[j] - room_center[j]) + mean[j] < -room_half_size[j] + room_center[j]) { outside = true; break; @@ -1522,7 +1524,7 @@ void TriangulatorInternal::filter_poses( { // Check if any limb is too far outside the room if (maxs[j] > room_half_size[j] + room_center[j] + wdist || - mins[j] < -room_half_size[j] - room_center[j] - wdist) + mins[j] < -room_half_size[j] + room_center[j] - wdist) { outside = true; break; @@ -1540,8 +1542,8 @@ void TriangulatorInternal::filter_poses( size_t found_limbs = 0; for (size_t j = 0; j < core_limbs_idx.size(); ++j) { - size_t start_idx = core_limbs_idx[j][0]; - size_t end_idx = core_limbs_idx[j][1]; + size_t start_idx = core_joint_idx[core_limbs_idx[j][0]]; + size_t end_idx = core_joint_idx[core_limbs_idx[j][1]]; float *joint_start_ptr = pose.ptr(start_idx); float *joint_end_ptr = pose.ptr(end_idx); @@ -1565,8 +1567,8 @@ void TriangulatorInternal::filter_poses( int total_limbs = 0; for (size_t j = 0; j < core_limbs_idx.size(); ++j) { - size_t start_idx = core_limbs_idx[j][0]; - size_t end_idx = core_limbs_idx[j][1]; + size_t start_idx = core_joint_idx[core_limbs_idx[j][0]]; + size_t end_idx = core_joint_idx[core_limbs_idx[j][1]]; float *joint_start_ptr = pose.ptr(start_idx); float *joint_end_ptr = pose.ptr(end_idx); @@ -1727,7 +1729,7 @@ void TriangulatorInternal::add_missing_joints( if (adjacents.find(adname) != adjacents.end()) { // Joint is missing; attempt to estimate its position based on adjacent joints - std::array adjacent_position; + std::array adjacent_position = {0.0f, 0.0f, 0.0f}; size_t adjacent_count = 0; const std::vector &adjacent_joint_names = adjacents[adname]; diff --git a/tests/test_interface.py b/tests/test_interface.py index 1915977..acf80ff 100644 --- a/tests/test_interface.py +++ b/tests/test_interface.py @@ -26,7 +26,7 @@ def main(): print("") # Load input data - roomparams = [[0, 0, 1.0], [4.8, 6.0, 2.0]] + roomparams = [[4.8, 6.0, 2.0], [0, 0, 1.0]] joint_names = [ "nose", "eye_left", @@ -70,7 +70,7 @@ def main(): print("") # Load input data - roomparams = [[0, -0.5, 1.2], [5.6, 6.4, 2.4]] + roomparams = [[5.6, 6.4, 2.4], [0, -0.5, 1.2]] cpath = "/SimplePoseTriangulation/data/p1/sample.json" ppath = "/SimplePoseTriangulation/tests/poses_p1.json" with open(cpath, "r") as file: