From dae7c33970d4d2f53584d7ea4931b03ccbc47e0d Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 3 Apr 2025 18:04:34 +0200 Subject: [PATCH 1/8] Updated results. --- media/RESULTS.md | 972 +++++++++++++++++++++++------------------------ 1 file changed, 486 insertions(+), 486 deletions(-) diff --git a/media/RESULTS.md b/media/RESULTS.md index 5d50642..1a23c56 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,26 +7,26 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0209358, - "demosaicing": 0.000623902, - "avg_time_2d": 0.00826655, - "avg_time_3d": 3.62631e-05, - "fps": 112.023 + "img_loading": 0.00946685, + "demosaicing": 0.000433632, + "avg_time_2d": 0.00564251, + "avg_time_3d": 3.16907e-05, + "fps": 163.724 } { "triangulator_calls": 600, - "init_time": 2.52379e-06, - "undistort_time": 3.77125e-06, - "project_time": 7.14545e-07, - "match_time": 1.39503e-06, - "pairs_time": 2.26988e-07, - "pair_scoring_time": 6.00934e-06, - "grouping_time": 9.7774e-07, - "full_time": 7.75714e-06, - "merge_time": 3.23609e-06, - "post_time": 4.76986e-06, - "convert_time": 5.90583e-08, - "total_time": 3.1677e-05 + "init_time": 2.2774e-06, + "undistort_time": 3.66277e-06, + "project_time": 6.4956e-07, + "match_time": 1.27751e-06, + "pairs_time": 1.83347e-07, + "pair_scoring_time": 5.04129e-06, + "grouping_time": 9.12377e-07, + "full_time": 6.56363e-06, + "merge_time": 2.93065e-06, + "post_time": 3.79765e-06, + "convert_time": 5.13667e-08, + "total_time": 2.75941e-05 } { "person_nums": { @@ -45,100 +45,100 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 600, - "mean": 0.060496, - "median": 0.053051, - "std": 0.028242, - "sem": 0.001154, - "min": 0.036391, - "max": 0.191685, + "mean": 0.06036, + "median": 0.052956, + "std": 0.028032, + "sem": 0.001145, + "min": 0.037548, + "max": 0.192385, "recall-0.025": 0.0, - "recall-0.05": 0.335, - "recall-0.1": 0.945, + "recall-0.05": 0.333333, + "recall-0.1": 0.948333, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.189462, - "ap-0.1": 0.906596, - "ap-0.15": 0.914939, + "ap-0.05": 0.187797, + "ap-0.1": 0.910662, + "ap-0.15": 0.913398, "ap-0.25": 1.0, "ap-0.5": 1.0 }, "nose": { "count": 600, - "mean": 0.106551, - "median": 0.095236, - "std": 0.039752, - "sem": 0.001624, - "min": 0.014823, - "max": 0.277586, - "recall-0.025": 0.003333, - "recall-0.05": 0.021667, - "recall-0.1": 0.585, + "mean": 0.107161, + "median": 0.095675, + "std": 0.040032, + "sem": 0.001636, + "min": 0.019811, + "max": 0.276049, + "recall-0.025": 0.005, + "recall-0.05": 0.02, + "recall-0.1": 0.565, "recall-0.15": 0.855, - "recall-0.25": 0.988333, + "recall-0.25": 0.983333, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_left": { "count": 600, - "mean": 0.038602, - "median": 0.027579, - "std": 0.034741, - "sem": 0.001419, - "min": 0.001432, - "max": 0.172853, - "recall-0.025": 0.418333, - "recall-0.05": 0.811667, - "recall-0.1": 0.931667, - "recall-0.15": 0.965, + "mean": 0.038915, + "median": 0.027905, + "std": 0.035581, + "sem": 0.001454, + "min": 0.001434, + "max": 0.172065, + "recall-0.025": 0.425, + "recall-0.05": 0.816667, + "recall-0.1": 0.923333, + "recall-0.15": 0.96, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_right": { "count": 600, - "mean": 0.045855, - "median": 0.034435, - "std": 0.039731, - "sem": 0.001623, - "min": 0.006883, - "max": 0.240549, + "mean": 0.045983, + "median": 0.034992, + "std": 0.039542, + "sem": 0.001616, + "min": 0.00206, + "max": 0.240597, "recall-0.025": 0.298333, - "recall-0.05": 0.775, - "recall-0.1": 0.908333, - "recall-0.15": 0.945, + "recall-0.05": 0.753333, + "recall-0.1": 0.91, + "recall-0.15": 0.946667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.045211, - "median": 0.033767, - "std": 0.037653, - "sem": 0.001538, - "min": 0.004845, - "max": 0.194312, + "mean": 0.045328, + "median": 0.034177, + "std": 0.03755, + "sem": 0.001534, + "min": 0.002988, + "max": 0.194229, "recall-0.025": 0.26, - "recall-0.05": 0.781667, - "recall-0.1": 0.923333, - "recall-0.15": 0.951667, + "recall-0.05": 0.763333, + "recall-0.1": 0.926667, + "recall-0.15": 0.953333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.044041, - "median": 0.032214, - "std": 0.038365, - "sem": 0.001568, - "min": 0.004559, - "max": 0.407069, - "recall-0.025": 0.27, - "recall-0.05": 0.795, + "mean": 0.044168, + "median": 0.03193, + "std": 0.03869, + "sem": 0.001581, + "min": 0.005218, + "max": 0.427232, + "recall-0.025": 0.268333, + "recall-0.05": 0.783333, "recall-0.1": 0.928333, "recall-0.15": 0.941667, "recall-0.25": 0.998333, @@ -147,146 +147,146 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 600, - "mean": 0.03991, - "median": 0.022309, - "std": 0.04422, - "sem": 0.001807, - "min": 0.003241, - "max": 0.252773, - "recall-0.025": 0.548333, - "recall-0.05": 0.761667, - "recall-0.1": 0.91, + "mean": 0.039992, + "median": 0.022739, + "std": 0.044805, + "sem": 0.001831, + "min": 0.002345, + "max": 0.289452, + "recall-0.025": 0.553333, + "recall-0.05": 0.766667, + "recall-0.1": 0.908333, "recall-0.15": 0.928333, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { - "count": 598, - "mean": 0.04073, - "median": 0.025187, - "std": 0.044602, - "sem": 0.001825, - "min": 0.003514, - "max": 0.308979, - "recall-0.025": 0.491667, - "recall-0.05": 0.791667, - "recall-0.1": 0.913333, + "count": 599, + "mean": 0.040157, + "median": 0.026117, + "std": 0.044323, + "sem": 0.001812, + "min": 0.003181, + "max": 0.296936, + "recall-0.025": 0.481667, + "recall-0.05": 0.806667, + "recall-0.1": 0.915, "recall-0.15": 0.925, - "recall-0.25": 0.993333, - "recall-0.5": 0.996667, + "recall-0.25": 0.995, + "recall-0.5": 0.998333, "num_labels": 600 }, "hip_left": { "count": 600, - "mean": 0.070231, - "median": 0.058914, - "std": 0.035311, - "sem": 0.001443, - "min": 0.02269, - "max": 0.216665, - "recall-0.025": 0.001667, - "recall-0.05": 0.22, - "recall-0.1": 0.875, - "recall-0.15": 0.946667, + "mean": 0.071005, + "median": 0.059386, + "std": 0.03579, + "sem": 0.001462, + "min": 0.026559, + "max": 0.217084, + "recall-0.025": 0.0, + "recall-0.05": 0.198333, + "recall-0.1": 0.863333, + "recall-0.15": 0.943333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "hip_right": { "count": 600, - "mean": 0.086387, - "median": 0.083718, - "std": 0.02924, - "sem": 0.001195, - "min": 0.010679, + "mean": 0.086356, + "median": 0.083732, + "std": 0.029541, + "sem": 0.001207, + "min": 0.019818, "max": 0.219502, - "recall-0.025": 0.011667, - "recall-0.05": 0.058333, - "recall-0.1": 0.865, - "recall-0.15": 0.948333, + "recall-0.025": 0.013333, + "recall-0.05": 0.055, + "recall-0.1": 0.868333, + "recall-0.15": 0.946667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "knee_left": { - "count": 598, - "mean": 0.052822, - "median": 0.04235, - "std": 0.046029, - "sem": 0.001884, - "min": 0.01399, - "max": 0.493631, - "recall-0.025": 0.058333, - "recall-0.05": 0.701667, - "recall-0.1": 0.926667, - "recall-0.15": 0.941667, - "recall-0.25": 0.991667, - "recall-0.5": 0.996667, + "count": 599, + "mean": 0.052251, + "median": 0.042367, + "std": 0.042631, + "sem": 0.001743, + "min": 0.014466, + "max": 0.482769, + "recall-0.025": 0.06, + "recall-0.05": 0.698333, + "recall-0.1": 0.925, + "recall-0.15": 0.945, + "recall-0.25": 0.995, + "recall-0.5": 0.998333, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.045515, - "median": 0.034198, - "std": 0.037407, - "sem": 0.001528, - "min": 0.009795, - "max": 0.29659, - "recall-0.025": 0.095, - "recall-0.05": 0.813333, - "recall-0.1": 0.928333, + "mean": 0.045065, + "median": 0.034037, + "std": 0.037143, + "sem": 0.001518, + "min": 0.010961, + "max": 0.293895, + "recall-0.025": 0.106667, + "recall-0.05": 0.825, + "recall-0.1": 0.931667, "recall-0.15": 0.948333, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "ankle_left": { - "count": 598, - "mean": 0.088855, - "median": 0.082483, - "std": 0.030683, - "sem": 0.001256, - "min": 0.046704, - "max": 0.353694, + "count": 599, + "mean": 0.088513, + "median": 0.082493, + "std": 0.029511, + "sem": 0.001207, + "min": 0.048202, + "max": 0.271976, "recall-0.025": 0.0, - "recall-0.05": 0.003333, - "recall-0.1": 0.875, - "recall-0.15": 0.943333, - "recall-0.25": 0.993333, - "recall-0.5": 0.996667, + "recall-0.05": 0.001667, + "recall-0.1": 0.88, + "recall-0.15": 0.945, + "recall-0.25": 0.995, + "recall-0.5": 0.998333, "num_labels": 600 }, "ankle_right": { "count": 600, - "mean": 0.077006, - "median": 0.066672, - "std": 0.037945, - "sem": 0.00155, - "min": 0.035939, - "max": 0.277096, + "mean": 0.077527, + "median": 0.06667, + "std": 0.038806, + "sem": 0.001586, + "min": 0.033001, + "max": 0.281311, "recall-0.025": 0.0, - "recall-0.05": 0.031667, - "recall-0.1": 0.908333, - "recall-0.15": 0.931667, - "recall-0.25": 0.993333, + "recall-0.05": 0.036667, + "recall-0.1": 0.9, + "recall-0.15": 0.926667, + "recall-0.25": 0.991667, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.18833, - "recall-0.05": 0.50474, - "recall-0.1": 0.88218, - "recall-0.15": 0.93577, - "recall-0.25": 0.99564, + "recall-0.025": 0.18962, + "recall-0.05": 0.50128, + "recall-0.1": 0.87962, + "recall-0.15": 0.93526, + "recall-0.25": 0.99603, "recall-0.5": 0.99923 } } { "total_parts": 8400, - "correct_parts": 8133, - "pcp": 0.968214 + "correct_parts": 8134, + "pcp": 0.968333 } ``` @@ -294,75 +294,75 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0419149, - "demosaicing": 0.000725168, - "avg_time_2d": 0.0149013, - "avg_time_3d": 0.000116565, - "fps": 63.5203 + "img_loading": 0.0431246, + "demosaicing": 0.000535209, + "avg_time_2d": 0.0104033, + "avg_time_3d": 0.000107023, + "fps": 90.5343 } { "triangulator_calls": 301, - "init_time": 2.85155e-06, - "undistort_time": 1.40652e-05, - "project_time": 2.12137e-06, - "match_time": 8.22055e-06, - "pairs_time": 4.34977e-06, - "pair_scoring_time": 2.61303e-05, - "grouping_time": 4.36615e-06, - "full_time": 2.65243e-05, - "merge_time": 1.1733e-05, - "post_time": 7.51379e-06, - "convert_time": 1.18299e-07, - "total_time": 0.000108228 + "init_time": 2.60675e-06, + "undistort_time": 1.42386e-05, + "project_time": 1.74955e-06, + "match_time": 7.80174e-06, + "pairs_time": 4.016e-06, + "pair_scoring_time": 2.31076e-05, + "grouping_time": 4.08468e-06, + "full_time": 2.34529e-05, + "merge_time": 1.1163e-05, + "post_time": 6.22243e-06, + "convert_time": 1.01126e-07, + "total_time": 9.87993e-05 } { "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 827, + "total_preds": 828, "considered_empty": 0, "valid_preds": 477, - "invalid_preds": 350, + "invalid_preds": 351, "missing": 0, - "invalid_fraction": 0.42322, - "precision": 0.57678, + "invalid_fraction": 0.42391, + "precision": 0.57609, "recall": 1.0, - "f1": 0.7316, - "non_empty": 827 + "f1": 0.73103, + "non_empty": 828 }, "mpjpe": { "count": 477, - "mean": 0.047577, - "median": 0.042522, - "std": 0.014987, - "sem": 0.000687, - "min": 0.028778, - "max": 0.118939, + "mean": 0.047653, + "median": 0.042661, + "std": 0.015008, + "sem": 0.000688, + "min": 0.028932, + "max": 0.113187, "recall-0.025": 0.0, - "recall-0.05": 0.72327, - "recall-0.1": 0.987421, + "recall-0.05": 0.719078, + "recall-0.1": 0.985325, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477, "ap-0.025": 0.0, - "ap-0.05": 0.45533, - "ap-0.1": 0.752221, - "ap-0.15": 0.761175, - "ap-0.25": 0.761175, - "ap-0.5": 0.761175 + "ap-0.05": 0.449379, + "ap-0.1": 0.750506, + "ap-0.15": 0.76101, + "ap-0.25": 0.76101, + "ap-0.5": 0.76101 }, "head": { "count": 477, - "mean": 0.052991, - "median": 0.048986, - "std": 0.025142, - "sem": 0.001152, - "min": 0.006559, - "max": 0.183673, - "recall-0.025": 0.106918, - "recall-0.05": 0.522013, - "recall-0.1": 0.937107, + "mean": 0.053389, + "median": 0.049509, + "std": 0.025237, + "sem": 0.001157, + "min": 0.005816, + "max": 0.182842, + "recall-0.025": 0.098532, + "recall-0.05": 0.524109, + "recall-0.1": 0.932914, "recall-0.15": 0.993711, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -370,14 +370,14 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_left": { "count": 477, - "mean": 0.041956, - "median": 0.037041, - "std": 0.02074, - "sem": 0.000951, - "min": 0.004368, - "max": 0.132918, - "recall-0.025": 0.174004, - "recall-0.05": 0.754717, + "mean": 0.041942, + "median": 0.036994, + "std": 0.020721, + "sem": 0.00095, + "min": 0.003417, + "max": 0.1347, + "recall-0.025": 0.180294, + "recall-0.05": 0.740042, "recall-0.1": 0.985325, "recall-0.15": 1.0, "recall-0.25": 1.0, @@ -386,15 +386,15 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 477, - "mean": 0.049604, - "median": 0.046469, - "std": 0.022881, - "sem": 0.001049, + "mean": 0.049639, + "median": 0.046473, + "std": 0.02293, + "sem": 0.001051, "min": 0.005334, - "max": 0.148157, - "recall-0.025": 0.100629, - "recall-0.05": 0.561845, - "recall-0.1": 0.955975, + "max": 0.148049, + "recall-0.025": 0.104822, + "recall-0.05": 0.559748, + "recall-0.1": 0.958071, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -402,15 +402,15 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 477, - "mean": 0.040574, - "median": 0.03197, - "std": 0.028864, - "sem": 0.001323, - "min": 0.003618, - "max": 0.309844, - "recall-0.025": 0.312369, - "recall-0.05": 0.754717, - "recall-0.1": 0.953878, + "mean": 0.040654, + "median": 0.032194, + "std": 0.02881, + "sem": 0.001321, + "min": 0.003888, + "max": 0.309836, + "recall-0.025": 0.301887, + "recall-0.05": 0.752621, + "recall-0.1": 0.951782, "recall-0.15": 0.997904, "recall-0.25": 0.997904, "recall-0.5": 1.0, @@ -418,63 +418,63 @@ Results of the model in various experiments on different datasets. \ }, "elbow_right": { "count": 477, - "mean": 0.053198, - "median": 0.043315, - "std": 0.040536, - "sem": 0.001858, - "min": 0.003567, - "max": 0.242994, - "recall-0.025": 0.27044, + "mean": 0.053554, + "median": 0.043893, + "std": 0.04184, + "sem": 0.001918, + "min": 0.004565, + "max": 0.242926, + "recall-0.025": 0.251572, "recall-0.05": 0.563941, - "recall-0.1": 0.897275, - "recall-0.15": 0.962264, + "recall-0.1": 0.903564, + "recall-0.15": 0.953878, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_left": { "count": 477, - "mean": 0.059301, - "median": 0.054034, - "std": 0.038637, - "sem": 0.001771, - "min": 0.00164, - "max": 0.32449, - "recall-0.025": 0.146751, - "recall-0.05": 0.412998, + "mean": 0.059565, + "median": 0.05442, + "std": 0.039643, + "sem": 0.001817, + "min": 0.001595, + "max": 0.314599, + "recall-0.025": 0.155136, + "recall-0.05": 0.410901, "recall-0.1": 0.909853, - "recall-0.15": 0.964361, - "recall-0.25": 0.991614, + "recall-0.15": 0.966457, + "recall-0.25": 0.989518, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_right": { "count": 477, - "mean": 0.058286, - "median": 0.053472, - "std": 0.034178, - "sem": 0.001567, - "min": 0.008622, - "max": 0.382984, - "recall-0.025": 0.113208, - "recall-0.05": 0.440252, - "recall-0.1": 0.90566, - "recall-0.15": 0.981132, + "mean": 0.058378, + "median": 0.053422, + "std": 0.034091, + "sem": 0.001563, + "min": 0.008434, + "max": 0.381589, + "recall-0.025": 0.109015, + "recall-0.05": 0.442348, + "recall-0.1": 0.907757, + "recall-0.15": 0.979036, "recall-0.25": 0.997904, "recall-0.5": 1.0, "num_labels": 477 }, "hip_left": { "count": 477, - "mean": 0.047666, - "median": 0.042435, - "std": 0.025966, - "sem": 0.00119, - "min": 0.008125, - "max": 0.145941, - "recall-0.025": 0.188679, - "recall-0.05": 0.628931, - "recall-0.1": 0.958071, + "mean": 0.047445, + "median": 0.042018, + "std": 0.025701, + "sem": 0.001178, + "min": 0.006507, + "max": 0.142872, + "recall-0.025": 0.186583, + "recall-0.05": 0.631027, + "recall-0.1": 0.955975, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -482,15 +482,15 @@ Results of the model in various experiments on different datasets. \ }, "hip_right": { "count": 477, - "mean": 0.057617, - "median": 0.058504, - "std": 0.023884, - "sem": 0.001095, - "min": 0.006301, - "max": 0.132422, - "recall-0.025": 0.102725, - "recall-0.05": 0.354298, - "recall-0.1": 0.943396, + "mean": 0.057685, + "median": 0.058526, + "std": 0.024022, + "sem": 0.001101, + "min": 0.00703, + "max": 0.130479, + "recall-0.025": 0.104822, + "recall-0.05": 0.356394, + "recall-0.1": 0.9413, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -498,15 +498,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_left": { "count": 477, - "mean": 0.040292, - "median": 0.037394, - "std": 0.024591, - "sem": 0.001127, - "min": 0.00468, - "max": 0.190112, - "recall-0.025": 0.264151, - "recall-0.05": 0.752621, - "recall-0.1": 0.972746, + "mean": 0.040205, + "median": 0.03742, + "std": 0.024358, + "sem": 0.001116, + "min": 0.006193, + "max": 0.190208, + "recall-0.025": 0.255765, + "recall-0.05": 0.756813, + "recall-0.1": 0.974843, "recall-0.15": 0.989518, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -514,14 +514,14 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 477, - "mean": 0.039685, - "median": 0.035562, - "std": 0.023057, - "sem": 0.001057, - "min": 0.005833, - "max": 0.184978, - "recall-0.025": 0.318658, - "recall-0.05": 0.735849, + "mean": 0.039775, + "median": 0.035222, + "std": 0.023097, + "sem": 0.001059, + "min": 0.006395, + "max": 0.184949, + "recall-0.025": 0.303983, + "recall-0.05": 0.727463, "recall-0.1": 0.974843, "recall-0.15": 0.997904, "recall-0.25": 1.0, @@ -530,13 +530,13 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 477, - "mean": 0.036424, - "median": 0.027617, - "std": 0.030554, - "sem": 0.0014, - "min": 0.004893, - "max": 0.223793, - "recall-0.025": 0.42348, + "mean": 0.036458, + "median": 0.028094, + "std": 0.03061, + "sem": 0.001403, + "min": 0.004185, + "max": 0.222831, + "recall-0.025": 0.429769, "recall-0.05": 0.819706, "recall-0.1": 0.947589, "recall-0.15": 0.983229, @@ -546,15 +546,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 477, - "mean": 0.040909, - "median": 0.030845, - "std": 0.037585, - "sem": 0.001723, - "min": 0.003445, - "max": 0.28852, - "recall-0.025": 0.301887, - "recall-0.05": 0.807128, - "recall-0.1": 0.930818, + "mean": 0.040799, + "median": 0.030877, + "std": 0.03753, + "sem": 0.00172, + "min": 0.002443, + "max": 0.287278, + "recall-0.025": 0.30608, + "recall-0.05": 0.813417, + "recall-0.1": 0.928721, "recall-0.15": 0.968553, "recall-0.25": 0.997904, "recall-0.5": 1.0, @@ -562,18 +562,18 @@ Results of the model in various experiments on different datasets. \ }, "joint_recalls": { "num_labels": 6201, - "recall-0.025": 0.21609, - "recall-0.05": 0.62329, - "recall-0.1": 0.94291, - "recall-0.15": 0.9871, + "recall-0.025": 0.21351, + "recall-0.05": 0.62119, + "recall-0.1": 0.94323, + "recall-0.15": 0.98645, "recall-0.25": 0.99871, "recall-0.5": 1.0 } } { "total_parts": 6678, - "correct_parts": 6623, - "pcp": 0.991764 + "correct_parts": 6622, + "pcp": 0.991614 } ``` @@ -581,91 +581,91 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00485223, - "demosaicing": 0.000179191, - "avg_time_2d": 0.00699133, - "avg_time_3d": 4.03472e-05, - "fps": 138.68 + "img_loading": 0.00517366, + "demosaicing": 0.000109466, + "avg_time_2d": 0.00478839, + "avg_time_3d": 3.38694e-05, + "fps": 202.769 } { "triangulator_calls": 222, - "init_time": 2.33954e-06, - "undistort_time": 5.93075e-06, - "project_time": 1.07321e-06, - "match_time": 2.96757e-06, - "pairs_time": 5.56968e-07, - "pair_scoring_time": 5.21998e-06, - "grouping_time": 1.07682e-06, - "full_time": 6.49471e-06, - "merge_time": 3.073e-06, - "post_time": 6.44336e-06, - "convert_time": 9.71577e-08, - "total_time": 3.55117e-05 + "init_time": 2.02099e-06, + "undistort_time": 5.6859e-06, + "project_time": 8.53198e-07, + "match_time": 2.58553e-06, + "pairs_time": 4.89811e-07, + "pair_scoring_time": 4.32314e-06, + "grouping_time": 8.76297e-07, + "full_time": 5.37456e-06, + "merge_time": 2.54044e-06, + "post_time": 4.92114e-06, + "convert_time": 7.91441e-08, + "total_time": 2.99961e-05 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 446, + "total_preds": 443, "considered_empty": 0, "valid_preds": 376, - "invalid_preds": 70, + "invalid_preds": 67, "missing": 0, - "invalid_fraction": 0.15695, - "precision": 0.84305, + "invalid_fraction": 0.15124, + "precision": 0.84876, "recall": 1.0, - "f1": 0.91484, - "non_empty": 446 + "f1": 0.91819, + "non_empty": 443 }, "mpjpe": { "count": 376, - "mean": 0.075589, - "median": 0.072258, - "std": 0.016885, - "sem": 0.000872, - "min": 0.039602, - "max": 0.239068, + "mean": 0.075573, + "median": 0.072487, + "std": 0.017073, + "sem": 0.000882, + "min": 0.040047, + "max": 0.237124, "recall-0.025": 0.0, - "recall-0.05": 0.00266, + "recall-0.05": 0.007979, "recall-0.1": 0.922872, "recall-0.15": 0.99734, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, - "ap-0.05": 3.8e-05, - "ap-0.1": 0.836349, - "ap-0.15": 0.966884, - "ap-0.25": 0.969341, - "ap-0.5": 0.969341 + "ap-0.05": 7.9e-05, + "ap-0.1": 0.836487, + "ap-0.15": 0.966449, + "ap-0.25": 0.968931, + "ap-0.5": 0.968931 }, "head": { "count": 376, - "mean": 0.062717, - "median": 0.061742, - "std": 0.025175, - "sem": 0.0013, - "min": 0.009563, - "max": 0.198442, - "recall-0.025": 0.050532, - "recall-0.05": 0.305851, - "recall-0.1": 0.933511, - "recall-0.15": 0.994681, + "mean": 0.063145, + "median": 0.062777, + "std": 0.025859, + "sem": 0.001335, + "min": 0.007715, + "max": 0.197424, + "recall-0.025": 0.055851, + "recall-0.05": 0.31117, + "recall-0.1": 0.930851, + "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "shoulder_left": { "count": 376, - "mean": 0.067112, - "median": 0.064801, - "std": 0.030176, - "sem": 0.001558, - "min": 0.013559, - "max": 0.205286, - "recall-0.025": 0.045213, + "mean": 0.067151, + "median": 0.064619, + "std": 0.029971, + "sem": 0.001548, + "min": 0.016733, + "max": 0.205046, + "recall-0.025": 0.039894, "recall-0.05": 0.321809, - "recall-0.1": 0.882979, + "recall-0.1": 0.890957, "recall-0.15": 0.981383, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -673,15 +673,15 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 376, - "mean": 0.070564, - "median": 0.06227, - "std": 0.038676, + "mean": 0.070444, + "median": 0.062402, + "std": 0.038664, "sem": 0.001997, - "min": 0.017146, - "max": 0.497202, + "min": 0.017401, + "max": 0.495275, "recall-0.025": 0.018617, - "recall-0.05": 0.31117, - "recall-0.1": 0.840426, + "recall-0.05": 0.316489, + "recall-0.1": 0.837766, "recall-0.15": 0.968085, "recall-0.25": 0.99734, "recall-0.5": 1.0, @@ -689,79 +689,79 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 376, - "mean": 0.090619, - "median": 0.072569, - "std": 0.054863, - "sem": 0.002833, - "min": 0.013567, - "max": 0.347903, - "recall-0.025": 0.026596, - "recall-0.05": 0.236702, - "recall-0.1": 0.646277, + "mean": 0.090384, + "median": 0.072996, + "std": 0.054936, + "sem": 0.002837, + "min": 0.009937, + "max": 0.344095, + "recall-0.025": 0.029255, + "recall-0.05": 0.242021, + "recall-0.1": 0.648936, "recall-0.15": 0.864362, - "recall-0.25": 0.986702, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_right": { "count": 375, - "mean": 0.076986, - "median": 0.069977, - "std": 0.03735, - "sem": 0.001931, - "min": 0.001558, - "max": 0.182042, - "recall-0.025": 0.037234, - "recall-0.05": 0.279255, - "recall-0.1": 0.728723, - "recall-0.15": 0.944149, + "mean": 0.077748, + "median": 0.070448, + "std": 0.037755, + "sem": 0.001952, + "min": 0.004749, + "max": 0.194529, + "recall-0.025": 0.042553, + "recall-0.05": 0.276596, + "recall-0.1": 0.723404, + "recall-0.15": 0.941489, "recall-0.25": 0.99734, "recall-0.5": 0.99734, "num_labels": 376 }, "wrist_left": { "count": 376, - "mean": 0.129645, - "median": 0.113578, - "std": 0.069695, - "sem": 0.003599, - "min": 0.017061, - "max": 0.459038, + "mean": 0.128727, + "median": 0.113244, + "std": 0.06993, + "sem": 0.003611, + "min": 0.015136, + "max": 0.458731, "recall-0.025": 0.013298, - "recall-0.05": 0.077128, - "recall-0.1": 0.409574, - "recall-0.15": 0.670213, - "recall-0.25": 0.922872, + "recall-0.05": 0.079787, + "recall-0.1": 0.422872, + "recall-0.15": 0.672872, + "recall-0.25": 0.917553, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.10391, - "median": 0.097426, - "std": 0.049296, - "sem": 0.002546, - "min": 0.00426, - "max": 0.461637, + "mean": 0.104259, + "median": 0.09734, + "std": 0.050125, + "sem": 0.002588, + "min": 0.002425, + "max": 0.461713, "recall-0.025": 0.005319, - "recall-0.05": 0.098404, - "recall-0.1": 0.510638, + "recall-0.05": 0.093085, + "recall-0.1": 0.515957, "recall-0.15": 0.853723, - "recall-0.25": 0.989362, + "recall-0.25": 0.984043, "recall-0.5": 1.0, "num_labels": 376 }, "hip_left": { "count": 376, - "mean": 0.06774, - "median": 0.064184, - "std": 0.025402, - "sem": 0.001312, - "min": 0.014493, - "max": 0.166706, + "mean": 0.067665, + "median": 0.064568, + "std": 0.024422, + "sem": 0.001261, + "min": 0.014176, + "max": 0.167623, "recall-0.025": 0.018617, - "recall-0.05": 0.242021, - "recall-0.1": 0.890957, + "recall-0.05": 0.239362, + "recall-0.1": 0.898936, "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -769,98 +769,98 @@ Results of the model in various experiments on different datasets. \ }, "hip_right": { "count": 376, - "mean": 0.065764, - "median": 0.061833, - "std": 0.03468, - "sem": 0.001791, - "min": 0.011516, - "max": 0.281275, - "recall-0.025": 0.045213, - "recall-0.05": 0.364362, - "recall-0.1": 0.898936, - "recall-0.15": 0.978723, - "recall-0.25": 0.992021, + "mean": 0.065474, + "median": 0.059695, + "std": 0.035357, + "sem": 0.001826, + "min": 0.005283, + "max": 0.302623, + "recall-0.025": 0.053191, + "recall-0.05": 0.359043, + "recall-0.1": 0.906915, + "recall-0.15": 0.976064, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "knee_left": { "count": 376, - "mean": 0.056242, - "median": 0.053888, - "std": 0.024131, - "sem": 0.001246, - "min": 0.006714, - "max": 0.175629, - "recall-0.025": 0.079787, - "recall-0.05": 0.406915, + "mean": 0.055998, + "median": 0.053819, + "std": 0.025189, + "sem": 0.001301, + "min": 0.006816, + "max": 0.178334, + "recall-0.025": 0.090426, + "recall-0.05": 0.430851, "recall-0.1": 0.954787, - "recall-0.15": 0.992021, + "recall-0.15": 0.989362, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "knee_right": { "count": 376, - "mean": 0.05384, - "median": 0.049666, - "std": 0.02724, - "sem": 0.001407, - "min": 0.011142, - "max": 0.228754, - "recall-0.025": 0.077128, - "recall-0.05": 0.507979, - "recall-0.1": 0.957447, - "recall-0.15": 0.989362, + "mean": 0.053573, + "median": 0.049537, + "std": 0.02731, + "sem": 0.00141, + "min": 0.008841, + "max": 0.230822, + "recall-0.025": 0.087766, + "recall-0.05": 0.50266, + "recall-0.1": 0.954787, + "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_left": { "count": 376, - "mean": 0.072192, - "median": 0.066742, - "std": 0.045509, - "sem": 0.00235, - "min": 0.010298, - "max": 0.401341, - "recall-0.025": 0.047872, - "recall-0.05": 0.321809, - "recall-0.1": 0.867021, - "recall-0.15": 0.965426, - "recall-0.25": 0.986702, + "mean": 0.072656, + "median": 0.066373, + "std": 0.046322, + "sem": 0.002392, + "min": 0.009841, + "max": 0.390551, + "recall-0.025": 0.042553, + "recall-0.05": 0.329787, + "recall-0.1": 0.861702, + "recall-0.15": 0.962766, + "recall-0.25": 0.984043, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_right": { "count": 376, - "mean": 0.063957, - "median": 0.052696, - "std": 0.047764, - "sem": 0.002467, - "min": 0.0034, - "max": 0.378972, - "recall-0.025": 0.06383, - "recall-0.05": 0.428191, - "recall-0.1": 0.890957, - "recall-0.15": 0.962766, + "mean": 0.063864, + "median": 0.052121, + "std": 0.048194, + "sem": 0.002489, + "min": 0.007344, + "max": 0.373408, + "recall-0.025": 0.069149, + "recall-0.05": 0.43883, + "recall-0.1": 0.896277, + "recall-0.15": 0.960106, "recall-0.25": 0.986702, "recall-0.5": 1.0, "num_labels": 376 }, "joint_recalls": { "num_labels": 4888, - "recall-0.025": 0.03948, - "recall-0.05": 0.29869, - "recall-0.1": 0.7993, - "recall-0.15": 0.93412, - "recall-0.25": 0.98773, + "recall-0.025": 0.04194, + "recall-0.05": 0.30176, + "recall-0.1": 0.80135, + "recall-0.15": 0.93269, + "recall-0.25": 0.98732, "recall-0.5": 0.99959 } } { "total_parts": 5264, - "correct_parts": 5000, - "pcp": 0.949848 + "correct_parts": 4995, + "pcp": 0.948898 } ``` From ff735759f74bd0d2a8c4347f200405f8f9d9efd7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 3 Apr 2025 18:51:33 +0200 Subject: [PATCH 2/8] First tracker implementation. --- media/RESULTS.md | 591 ++++++++++++++++---------------- rpt/tracker.hpp | 289 ++++++++++++++++ scripts/test_skelda_dataset.cpp | 27 +- scripts/test_skelda_dataset.py | 4 + 4 files changed, 616 insertions(+), 295 deletions(-) create mode 100644 rpt/tracker.hpp diff --git a/media/RESULTS.md b/media/RESULTS.md index 1a23c56..bbd819b 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,26 +7,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00946685, - "demosaicing": 0.000433632, - "avg_time_2d": 0.00564251, - "avg_time_3d": 3.16907e-05, - "fps": 163.724 + "img_loading": 0.00954196, + "demosaicing": 0.000437263, + "avg_time_2d": 0.00563337, + "avg_time_3d": 3.22195e-05, + "time_tracks": 2.56698e-06, + "fps": 163.789 } { "triangulator_calls": 600, - "init_time": 2.2774e-06, - "undistort_time": 3.66277e-06, - "project_time": 6.4956e-07, - "match_time": 1.27751e-06, - "pairs_time": 1.83347e-07, - "pair_scoring_time": 5.04129e-06, - "grouping_time": 9.12377e-07, - "full_time": 6.56363e-06, - "merge_time": 2.93065e-06, - "post_time": 3.79765e-06, - "convert_time": 5.13667e-08, - "total_time": 2.75941e-05 + "init_time": 2.34263e-06, + "undistort_time": 3.69506e-06, + "project_time": 5.953e-07, + "match_time": 1.23644e-06, + "pairs_time": 1.78917e-07, + "pair_scoring_time": 5.10816e-06, + "grouping_time": 8.91258e-07, + "full_time": 6.67602e-06, + "merge_time": 2.95392e-06, + "post_time": 3.7758e-06, + "convert_time": 5.69e-08, + "total_time": 2.7759e-05 } { "person_nums": { @@ -45,23 +46,23 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 600, - "mean": 0.06036, - "median": 0.052956, - "std": 0.028032, - "sem": 0.001145, + "mean": 0.060543, + "median": 0.053007, + "std": 0.028089, + "sem": 0.001148, "min": 0.037548, "max": 0.192385, "recall-0.025": 0.0, - "recall-0.05": 0.333333, - "recall-0.1": 0.948333, + "recall-0.05": 0.325, + "recall-0.1": 0.946667, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.187797, - "ap-0.1": 0.910662, - "ap-0.15": 0.913398, + "ap-0.05": 0.179324, + "ap-0.1": 0.907003, + "ap-0.15": 0.91147, "ap-0.25": 1.0, "ap-0.5": 1.0 }, @@ -99,82 +100,82 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 600, - "mean": 0.045983, + "mean": 0.046158, "median": 0.034992, - "std": 0.039542, - "sem": 0.001616, + "std": 0.039877, + "sem": 0.001629, "min": 0.00206, "max": 0.240597, "recall-0.025": 0.298333, "recall-0.05": 0.753333, - "recall-0.1": 0.91, - "recall-0.15": 0.946667, + "recall-0.1": 0.908333, + "recall-0.15": 0.945, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.045328, - "median": 0.034177, - "std": 0.03755, - "sem": 0.001534, + "mean": 0.045362, + "median": 0.034249, + "std": 0.037307, + "sem": 0.001524, "min": 0.002988, "max": 0.194229, - "recall-0.025": 0.26, - "recall-0.05": 0.763333, - "recall-0.1": 0.926667, - "recall-0.15": 0.953333, + "recall-0.025": 0.258333, + "recall-0.05": 0.761667, + "recall-0.1": 0.925, + "recall-0.15": 0.955, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.044168, + "mean": 0.04432, "median": 0.03193, - "std": 0.03869, - "sem": 0.001581, + "std": 0.038646, + "sem": 0.001579, "min": 0.005218, - "max": 0.427232, + "max": 0.383954, "recall-0.025": 0.268333, "recall-0.05": 0.783333, - "recall-0.1": 0.928333, - "recall-0.15": 0.941667, + "recall-0.1": 0.926667, + "recall-0.15": 0.94, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_left": { "count": 600, - "mean": 0.039992, - "median": 0.022739, - "std": 0.044805, - "sem": 0.001831, + "mean": 0.04031, + "median": 0.022792, + "std": 0.044965, + "sem": 0.001837, "min": 0.002345, "max": 0.289452, - "recall-0.025": 0.553333, - "recall-0.05": 0.766667, - "recall-0.1": 0.908333, - "recall-0.15": 0.928333, + "recall-0.025": 0.551667, + "recall-0.05": 0.763333, + "recall-0.1": 0.906667, + "recall-0.15": 0.93, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { - "count": 599, - "mean": 0.040157, - "median": 0.026117, - "std": 0.044323, - "sem": 0.001812, + "count": 600, + "mean": 0.041059, + "median": 0.026221, + "std": 0.04525, + "sem": 0.001849, "min": 0.003181, "max": 0.296936, - "recall-0.025": 0.481667, - "recall-0.05": 0.806667, - "recall-0.1": 0.915, - "recall-0.15": 0.925, - "recall-0.25": 0.995, - "recall-0.5": 0.998333, + "recall-0.025": 0.476667, + "recall-0.05": 0.801667, + "recall-0.1": 0.91, + "recall-0.15": 0.921667, + "recall-0.25": 0.996667, + "recall-0.5": 1.0, "num_labels": 600 }, "hip_left": { @@ -211,31 +212,31 @@ Results of the model in various experiments on different datasets. \ }, "knee_left": { "count": 599, - "mean": 0.052251, + "mean": 0.05212, "median": 0.042367, - "std": 0.042631, - "sem": 0.001743, + "std": 0.039681, + "sem": 0.001623, "min": 0.014466, - "max": 0.482769, + "max": 0.303977, "recall-0.025": 0.06, - "recall-0.05": 0.698333, - "recall-0.1": 0.925, - "recall-0.15": 0.945, - "recall-0.25": 0.995, + "recall-0.05": 0.696667, + "recall-0.1": 0.921667, + "recall-0.15": 0.943333, + "recall-0.25": 0.996667, "recall-0.5": 0.998333, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.045065, - "median": 0.034037, - "std": 0.037143, - "sem": 0.001518, + "mean": 0.045269, + "median": 0.034108, + "std": 0.03723, + "sem": 0.001521, "min": 0.010961, "max": 0.293895, - "recall-0.025": 0.106667, - "recall-0.05": 0.825, - "recall-0.1": 0.931667, + "recall-0.025": 0.105, + "recall-0.05": 0.821667, + "recall-0.1": 0.93, "recall-0.15": 0.948333, "recall-0.25": 0.998333, "recall-0.5": 1.0, @@ -243,50 +244,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 599, - "mean": 0.088513, - "median": 0.082493, - "std": 0.029511, - "sem": 0.001207, + "mean": 0.089795, + "median": 0.082637, + "std": 0.03326, + "sem": 0.00136, "min": 0.048202, - "max": 0.271976, + "max": 0.351142, "recall-0.025": 0.0, "recall-0.05": 0.001667, - "recall-0.1": 0.88, - "recall-0.15": 0.945, - "recall-0.25": 0.995, + "recall-0.1": 0.871667, + "recall-0.15": 0.94, + "recall-0.25": 0.991667, "recall-0.5": 0.998333, "num_labels": 600 }, "ankle_right": { "count": 600, - "mean": 0.077527, - "median": 0.06667, - "std": 0.038806, - "sem": 0.001586, - "min": 0.033001, + "mean": 0.077779, + "median": 0.066732, + "std": 0.039218, + "sem": 0.001602, + "min": 0.018484, "max": 0.281311, - "recall-0.025": 0.0, - "recall-0.05": 0.036667, - "recall-0.1": 0.9, - "recall-0.15": 0.926667, + "recall-0.025": 0.003333, + "recall-0.05": 0.041667, + "recall-0.1": 0.893333, + "recall-0.15": 0.923333, "recall-0.25": 0.991667, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.18962, - "recall-0.05": 0.50128, - "recall-0.1": 0.87962, - "recall-0.15": 0.93526, + "recall-0.025": 0.18897, + "recall-0.05": 0.50064, + "recall-0.1": 0.87718, + "recall-0.15": 0.93423, "recall-0.25": 0.99603, - "recall-0.5": 0.99923 + "recall-0.5": 0.99949 } } { "total_parts": 8400, - "correct_parts": 8134, - "pcp": 0.968333 + "correct_parts": 8130, + "pcp": 0.967857 } ``` @@ -294,70 +295,71 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0431246, - "demosaicing": 0.000535209, - "avg_time_2d": 0.0104033, - "avg_time_3d": 0.000107023, - "fps": 90.5343 + "img_loading": 0.0415743, + "demosaicing": 0.000548337, + "avg_time_2d": 0.0104442, + "avg_time_3d": 0.000102827, + "time_tracks": 7.53299e-07, + "fps": 90.1218 } { "triangulator_calls": 301, - "init_time": 2.60675e-06, - "undistort_time": 1.42386e-05, - "project_time": 1.74955e-06, - "match_time": 7.80174e-06, - "pairs_time": 4.016e-06, - "pair_scoring_time": 2.31076e-05, - "grouping_time": 4.08468e-06, - "full_time": 2.34529e-05, - "merge_time": 1.1163e-05, - "post_time": 6.22243e-06, - "convert_time": 1.01126e-07, - "total_time": 9.87993e-05 + "init_time": 2.5757e-06, + "undistort_time": 1.38599e-05, + "project_time": 1.70299e-06, + "match_time": 7.42211e-06, + "pairs_time": 3.51909e-06, + "pair_scoring_time": 2.20828e-05, + "grouping_time": 4.00774e-06, + "full_time": 2.23789e-05, + "merge_time": 1.09032e-05, + "post_time": 6.10427e-06, + "convert_time": 1.11395e-07, + "total_time": 9.49145e-05 } { "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 828, + "total_preds": 847, "considered_empty": 0, "valid_preds": 477, - "invalid_preds": 351, + "invalid_preds": 370, "missing": 0, - "invalid_fraction": 0.42391, - "precision": 0.57609, + "invalid_fraction": 0.43684, + "precision": 0.56316, "recall": 1.0, - "f1": 0.73103, - "non_empty": 828 + "f1": 0.72054, + "non_empty": 847 }, "mpjpe": { "count": 477, - "mean": 0.047653, + "mean": 0.047597, "median": 0.042661, - "std": 0.015008, - "sem": 0.000688, + "std": 0.014947, + "sem": 0.000685, "min": 0.028932, - "max": 0.113187, + "max": 0.107384, "recall-0.025": 0.0, - "recall-0.05": 0.719078, - "recall-0.1": 0.985325, + "recall-0.05": 0.721174, + "recall-0.1": 0.987421, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477, "ap-0.025": 0.0, - "ap-0.05": 0.449379, - "ap-0.1": 0.750506, - "ap-0.15": 0.76101, - "ap-0.25": 0.76101, - "ap-0.5": 0.76101 + "ap-0.05": 0.456736, + "ap-0.1": 0.755053, + "ap-0.15": 0.764546, + "ap-0.25": 0.764546, + "ap-0.5": 0.764546 }, "head": { "count": 477, - "mean": 0.053389, + "mean": 0.053421, "median": 0.049509, - "std": 0.025237, - "sem": 0.001157, + "std": 0.025337, + "sem": 0.001161, "min": 0.005816, "max": 0.182842, "recall-0.025": 0.098532, @@ -402,17 +404,17 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 477, - "mean": 0.040654, + "mean": 0.040136, "median": 0.032194, - "std": 0.02881, - "sem": 0.001321, + "std": 0.026056, + "sem": 0.001194, "min": 0.003888, - "max": 0.309836, + "max": 0.146492, "recall-0.025": 0.301887, "recall-0.05": 0.752621, - "recall-0.1": 0.951782, - "recall-0.15": 0.997904, - "recall-0.25": 0.997904, + "recall-0.1": 0.953878, + "recall-0.15": 1.0, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, @@ -434,33 +436,33 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 477, - "mean": 0.059565, + "mean": 0.059143, "median": 0.05442, - "std": 0.039643, - "sem": 0.001817, + "std": 0.038602, + "sem": 0.001769, "min": 0.001595, "max": 0.314599, "recall-0.025": 0.155136, "recall-0.05": 0.410901, - "recall-0.1": 0.909853, - "recall-0.15": 0.966457, - "recall-0.25": 0.989518, + "recall-0.1": 0.91195, + "recall-0.15": 0.968553, + "recall-0.25": 0.991614, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_right": { "count": 477, - "mean": 0.058378, + "mean": 0.05783, "median": 0.053422, - "std": 0.034091, - "sem": 0.001563, + "std": 0.030837, + "sem": 0.001413, "min": 0.008434, - "max": 0.381589, + "max": 0.207547, "recall-0.025": 0.109015, "recall-0.05": 0.442348, "recall-0.1": 0.907757, - "recall-0.15": 0.979036, - "recall-0.25": 0.997904, + "recall-0.15": 0.981132, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, @@ -514,15 +516,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 477, - "mean": 0.039775, + "mean": 0.039912, "median": 0.035222, - "std": 0.023097, - "sem": 0.001059, + "std": 0.023393, + "sem": 0.001072, "min": 0.006395, "max": 0.184949, "recall-0.025": 0.303983, "recall-0.05": 0.727463, - "recall-0.1": 0.974843, + "recall-0.1": 0.972746, "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -530,10 +532,10 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 477, - "mean": 0.036458, + "mean": 0.036485, "median": 0.028094, - "std": 0.03061, - "sem": 0.001403, + "std": 0.030728, + "sem": 0.001408, "min": 0.004185, "max": 0.222831, "recall-0.025": 0.429769, @@ -546,17 +548,17 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 477, - "mean": 0.040799, + "mean": 0.041358, "median": 0.030877, - "std": 0.03753, - "sem": 0.00172, + "std": 0.040428, + "sem": 0.001853, "min": 0.002443, - "max": 0.287278, + "max": 0.355429, "recall-0.025": 0.30608, "recall-0.05": 0.813417, "recall-0.1": 0.928721, - "recall-0.15": 0.968553, - "recall-0.25": 0.997904, + "recall-0.15": 0.966457, + "recall-0.25": 0.993711, "recall-0.5": 1.0, "num_labels": 477 }, @@ -565,15 +567,15 @@ Results of the model in various experiments on different datasets. \ "recall-0.025": 0.21351, "recall-0.05": 0.62119, "recall-0.1": 0.94323, - "recall-0.15": 0.98645, + "recall-0.15": 0.98662, "recall-0.25": 0.99871, "recall-0.5": 1.0 } } { "total_parts": 6678, - "correct_parts": 6622, - "pcp": 0.991614 + "correct_parts": 6623, + "pcp": 0.991764 } ``` @@ -581,75 +583,76 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00517366, - "demosaicing": 0.000109466, - "avg_time_2d": 0.00478839, - "avg_time_3d": 3.38694e-05, - "fps": 202.769 + "img_loading": 0.00477884, + "demosaicing": 0.000105891, + "avg_time_2d": 0.00475547, + "avg_time_3d": 3.45411e-05, + "time_tracks": 8.63962e-07, + "fps": 204.216 } { "triangulator_calls": 222, - "init_time": 2.02099e-06, - "undistort_time": 5.6859e-06, - "project_time": 8.53198e-07, - "match_time": 2.58553e-06, - "pairs_time": 4.89811e-07, - "pair_scoring_time": 4.32314e-06, - "grouping_time": 8.76297e-07, - "full_time": 5.37456e-06, - "merge_time": 2.54044e-06, - "post_time": 4.92114e-06, - "convert_time": 7.91441e-08, - "total_time": 2.99961e-05 + "init_time": 1.99938e-06, + "undistort_time": 5.71187e-06, + "project_time": 8.61266e-07, + "match_time": 2.61942e-06, + "pairs_time": 4.20405e-07, + "pair_scoring_time": 4.35068e-06, + "grouping_time": 9.27387e-07, + "full_time": 5.49219e-06, + "merge_time": 2.62484e-06, + "post_time": 5.03611e-06, + "convert_time": 9.22072e-08, + "total_time": 3.03843e-05 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 443, + "total_preds": 457, "considered_empty": 0, "valid_preds": 376, - "invalid_preds": 67, + "invalid_preds": 81, "missing": 0, - "invalid_fraction": 0.15124, - "precision": 0.84876, + "invalid_fraction": 0.17724, + "precision": 0.82276, "recall": 1.0, - "f1": 0.91819, - "non_empty": 443 + "f1": 0.90276, + "non_empty": 457 }, "mpjpe": { "count": 376, - "mean": 0.075573, - "median": 0.072487, - "std": 0.017073, - "sem": 0.000882, + "mean": 0.075498, + "median": 0.073144, + "std": 0.014424, + "sem": 0.000745, "min": 0.040047, - "max": 0.237124, + "max": 0.12107, "recall-0.025": 0.0, "recall-0.05": 0.007979, - "recall-0.1": 0.922872, - "recall-0.15": 0.99734, + "recall-0.1": 0.933511, + "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, - "ap-0.05": 7.9e-05, - "ap-0.1": 0.836487, - "ap-0.15": 0.966449, - "ap-0.25": 0.968931, - "ap-0.5": 0.968931 + "ap-0.05": 9.4e-05, + "ap-0.1": 0.843551, + "ap-0.15": 0.959589, + "ap-0.25": 0.959589, + "ap-0.5": 0.959589 }, "head": { "count": 376, - "mean": 0.063145, + "mean": 0.063289, "median": 0.062777, - "std": 0.025859, - "sem": 0.001335, + "std": 0.02607, + "sem": 0.001346, "min": 0.007715, "max": 0.197424, "recall-0.025": 0.055851, "recall-0.05": 0.31117, - "recall-0.1": 0.930851, + "recall-0.1": 0.928191, "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -657,97 +660,97 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_left": { "count": 376, - "mean": 0.067151, + "mean": 0.066843, "median": 0.064619, - "std": 0.029971, - "sem": 0.001548, + "std": 0.029378, + "sem": 0.001517, "min": 0.016733, "max": 0.205046, "recall-0.025": 0.039894, "recall-0.05": 0.321809, - "recall-0.1": 0.890957, - "recall-0.15": 0.981383, + "recall-0.1": 0.893617, + "recall-0.15": 0.984043, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "shoulder_right": { "count": 376, - "mean": 0.070444, + "mean": 0.069399, "median": 0.062402, - "std": 0.038664, - "sem": 0.001997, + "std": 0.031883, + "sem": 0.001646, "min": 0.017401, - "max": 0.495275, + "max": 0.198707, "recall-0.025": 0.018617, "recall-0.05": 0.316489, "recall-0.1": 0.837766, - "recall-0.15": 0.968085, - "recall-0.25": 0.99734, + "recall-0.15": 0.970745, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_left": { "count": 376, - "mean": 0.090384, + "mean": 0.089682, "median": 0.072996, - "std": 0.054936, - "sem": 0.002837, + "std": 0.053299, + "sem": 0.002752, "min": 0.009937, - "max": 0.344095, + "max": 0.283516, "recall-0.025": 0.029255, "recall-0.05": 0.242021, - "recall-0.1": 0.648936, - "recall-0.15": 0.864362, - "recall-0.25": 0.989362, + "recall-0.1": 0.651596, + "recall-0.15": 0.867021, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_right": { - "count": 375, - "mean": 0.077748, - "median": 0.070448, - "std": 0.037755, - "sem": 0.001952, + "count": 376, + "mean": 0.077757, + "median": 0.070519, + "std": 0.037705, + "sem": 0.001947, "min": 0.004749, "max": 0.194529, "recall-0.025": 0.042553, "recall-0.05": 0.276596, - "recall-0.1": 0.723404, - "recall-0.15": 0.941489, - "recall-0.25": 0.99734, - "recall-0.5": 0.99734, + "recall-0.1": 0.726064, + "recall-0.15": 0.944149, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 376 }, "wrist_left": { "count": 376, - "mean": 0.128727, - "median": 0.113244, - "std": 0.06993, - "sem": 0.003611, + "mean": 0.128965, + "median": 0.113502, + "std": 0.068869, + "sem": 0.003556, "min": 0.015136, - "max": 0.458731, + "max": 0.352772, "recall-0.025": 0.013298, "recall-0.05": 0.079787, - "recall-0.1": 0.422872, - "recall-0.15": 0.672872, - "recall-0.25": 0.917553, + "recall-0.1": 0.417553, + "recall-0.15": 0.670213, + "recall-0.25": 0.920213, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.104259, - "median": 0.09734, - "std": 0.050125, - "sem": 0.002588, + "mean": 0.102037, + "median": 0.097009, + "std": 0.044155, + "sem": 0.00228, "min": 0.002425, - "max": 0.461713, + "max": 0.277303, "recall-0.025": 0.005319, - "recall-0.05": 0.093085, - "recall-0.1": 0.515957, - "recall-0.15": 0.853723, - "recall-0.25": 0.984043, + "recall-0.05": 0.095745, + "recall-0.1": 0.521277, + "recall-0.15": 0.864362, + "recall-0.25": 0.994681, "recall-0.5": 1.0, "num_labels": 376 }, @@ -769,17 +772,17 @@ Results of the model in various experiments on different datasets. \ }, "hip_right": { "count": 376, - "mean": 0.065474, + "mean": 0.065421, "median": 0.059695, - "std": 0.035357, - "sem": 0.001826, + "std": 0.034174, + "sem": 0.001765, "min": 0.005283, - "max": 0.302623, + "max": 0.259007, "recall-0.025": 0.053191, "recall-0.05": 0.359043, - "recall-0.1": 0.906915, - "recall-0.15": 0.976064, - "recall-0.25": 0.989362, + "recall-0.1": 0.904255, + "recall-0.15": 0.973404, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, @@ -801,15 +804,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 376, - "mean": 0.053573, - "median": 0.049537, - "std": 0.02731, - "sem": 0.00141, + "mean": 0.053806, + "median": 0.049906, + "std": 0.027608, + "sem": 0.001426, "min": 0.008841, "max": 0.230822, "recall-0.025": 0.087766, - "recall-0.05": 0.50266, - "recall-0.1": 0.954787, + "recall-0.05": 0.5, + "recall-0.1": 0.952128, "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -817,32 +820,32 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 376, - "mean": 0.072656, - "median": 0.066373, - "std": 0.046322, - "sem": 0.002392, + "mean": 0.074289, + "median": 0.066969, + "std": 0.045644, + "sem": 0.002357, "min": 0.009841, - "max": 0.390551, + "max": 0.378337, "recall-0.025": 0.042553, - "recall-0.05": 0.329787, - "recall-0.1": 0.861702, - "recall-0.15": 0.962766, - "recall-0.25": 0.984043, + "recall-0.05": 0.327128, + "recall-0.1": 0.832447, + "recall-0.15": 0.944149, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_right": { "count": 376, - "mean": 0.063864, - "median": 0.052121, - "std": 0.048194, - "sem": 0.002489, + "mean": 0.066324, + "median": 0.052238, + "std": 0.048596, + "sem": 0.002509, "min": 0.007344, "max": 0.373408, "recall-0.025": 0.069149, - "recall-0.05": 0.43883, - "recall-0.1": 0.896277, - "recall-0.15": 0.960106, + "recall-0.05": 0.430851, + "recall-0.1": 0.859043, + "recall-0.15": 0.946809, "recall-0.25": 0.986702, "recall-0.5": 1.0, "num_labels": 376 @@ -850,17 +853,17 @@ Results of the model in various experiments on different datasets. \ "joint_recalls": { "num_labels": 4888, "recall-0.025": 0.04194, - "recall-0.05": 0.30176, - "recall-0.1": 0.80135, - "recall-0.15": 0.93269, - "recall-0.25": 0.98732, - "recall-0.5": 0.99959 + "recall-0.05": 0.30115, + "recall-0.1": 0.79705, + "recall-0.15": 0.93208, + "recall-0.25": 0.98977, + "recall-0.5": 1.0 } } { "total_parts": 5264, - "correct_parts": 4995, - "pcp": 0.948898 + "correct_parts": 5005, + "pcp": 0.950798 } ``` diff --git a/rpt/tracker.hpp b/rpt/tracker.hpp new file mode 100644 index 0000000..d15937b --- /dev/null +++ b/rpt/tracker.hpp @@ -0,0 +1,289 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +// ================================================================================================= + +struct Track +{ + std::vector>> core_poses; + std::vector>> full_poses; + + std::vector timestamps; + size_t id; +}; + +// ================================================================================================= + +class PoseTracker +{ +public: + PoseTracker(float max_distance); + + std::vector>>> track_poses( + const std::vector>> &poses_3d, + const std::vector &joint_names, + const double timestamp); + + void reset(); + +private: + float max_distance; + size_t history_size = 3; + float max_movement_speed = 2.0; + + std::vector timestamps; + std::vector pose_tracks; + + const std::vector core_joints = { + "shoulder_left", + "shoulder_right", + "hip_left", + "hip_right", + "elbow_left", + "elbow_right", + "knee_left", + "knee_right", + "wrist_left", + "wrist_right", + "ankle_left", + "ankle_right", + }; + + int match_to_track(const std::vector> &core_pose_3d); + + std::vector> refine_pose(const Track &track); +}; + +// ================================================================================================= +// ================================================================================================= + +PoseTracker::PoseTracker(float max_distance) +{ + this->max_distance = max_distance; +} + +// ================================================================================================= + +void PoseTracker::reset() +{ + pose_tracks.clear(); + timestamps.clear(); +} + +// ================================================================================================= + +std::vector>>> PoseTracker::track_poses( + const std::vector>> &poses_3d, + const std::vector &joint_names, + const double timestamp) +{ + // Extract core joints + std::vector core_joint_idx; + for (const auto &joint : core_joints) + { + auto it = std::find(joint_names.begin(), joint_names.end(), joint); + core_joint_idx.push_back(std::distance(joint_names.begin(), it)); + } + std::vector>> core_poses; + core_poses.resize(poses_3d.size()); + for (size_t i = 0; i < poses_3d.size(); ++i) + { + core_poses[i].resize(core_joint_idx.size()); + for (size_t j = 0; j < core_joint_idx.size(); ++j) + { + for (size_t k = 0; k < 4; ++k) + { + core_poses[i][j][k] = poses_3d[i][core_joint_idx[j]][k]; + } + } + } + + // Match core poses to tracks + for (size_t i = 0; i < core_poses.size(); ++i) + { + int track_idx = match_to_track(core_poses[i]); + if (track_idx == -1) + { + // Create a new track + Track new_track; + new_track.core_poses.push_back(core_poses[i]); + new_track.full_poses.push_back(poses_3d[i]); + new_track.timestamps.push_back(timestamp); + new_track.id = pose_tracks.size(); + pose_tracks.push_back(new_track); + } + else + { + // Update existing track + auto &track = pose_tracks[track_idx]; + track.core_poses.push_back(core_poses[i]); + track.full_poses.push_back(poses_3d[i]); + track.timestamps.push_back(timestamp); + } + } + + // Remove old tracks + timestamps.push_back(timestamp); + if (timestamps.size() > history_size) + { + timestamps.erase(timestamps.begin()); + } + double max_age = timestamps.front(); + for (size_t i = 0; i < pose_tracks.size();) + { + auto &track = pose_tracks[i]; + double last_timestamp = track.timestamps.back(); + if (last_timestamp < max_age) + { + pose_tracks.erase(pose_tracks.begin() + i); + } + else + { + ++i; + } + } + + // Remove old poses from tracks + for (auto &track : pose_tracks) + { + while (track.core_poses.size() > history_size) + { + track.core_poses.erase(track.core_poses.begin()); + track.full_poses.erase(track.full_poses.begin()); + track.timestamps.erase(track.timestamps.begin()); + } + } + + // Refine poses + std::vector>>> tracked_poses; + for (size_t i = 0; i < pose_tracks.size(); ++i) + { + auto &track = pose_tracks[i]; + if (track.core_poses.size() > 0) + { + std::vector> refined_pose = refine_pose(track); + tracked_poses.emplace_back(track.id, refined_pose); + } + } + + return tracked_poses; +} + +// ================================================================================================= + +int PoseTracker::match_to_track(const std::vector> &core_pose_3d) +{ + int best_track = -1; + float best_distance_sq = max_distance * max_distance; + + for (size_t i = 0; i < pose_tracks.size(); ++i) + { + const auto &track = pose_tracks[i]; + if (track.core_poses.size() == 0) + continue; + + // Calculate distance to the last pose in the track + const auto &last_pose = track.core_poses.back(); + float distance_sq = 0.0; + for (size_t j = 0; j < core_pose_3d.size(); ++j) + { + float dx = core_pose_3d[j][0] - last_pose[j][0]; + float dy = core_pose_3d[j][1] - last_pose[j][1]; + float dz = core_pose_3d[j][2] - last_pose[j][2]; + distance_sq += dx * dx + dy * dy + dz * dz; + } + distance_sq /= core_pose_3d.size(); + + if (distance_sq < best_distance_sq) + { + best_distance_sq = distance_sq; + best_track = static_cast(i); + } + } + return best_track; +} + +// ================================================================================================= + +std::vector> PoseTracker::refine_pose(const Track &track) +{ + // Restrict maximum movement by physical constraints, by clipping the pose to the maximum + // movement distance from one of the track's history poses + // + // While advanced sensor filtering techniques, like using a Kalman-Filter, might improve the + // average accuracy of the pose, they introduce update delays on fast movement changes. For + // example, if a person stands still for a while and then suddenly moves, the first few frames + // will likely be treated as outliers, since the filter will not be able to adapt fast enough. + // This behaviour is not desired in a real-time critical applications, where the pose needs to + // be updated to the real physical position of the person as fast as possible. Therefore, only + // the movement speed is limited here. + + if (track.core_poses.size() < 2) + { + return track.full_poses.back(); + } + + // Calculate maximum possible movement distance from each history pose + std::vector max_movement_dists_sq; + max_movement_dists_sq.resize(track.core_poses.size() - 1); + double last_timestamp = track.timestamps.back(); + for (size_t i = 0; i < track.core_poses.size() - 1; ++i) + { + double ts = track.timestamps[i]; + float max_movement = max_movement_speed * (last_timestamp - ts); + max_movement_dists_sq[i] = max_movement * max_movement; + } + + // Clip joint if required + std::vector> refined_pose = track.full_poses.back(); + for (size_t i = 0; i < refined_pose.size(); ++i) + { + float min_dist_sq = std::numeric_limits::infinity(); + size_t closest_idx = 0; + bool clip = true; + + for (size_t j = 0; j < max_movement_dists_sq.size(); ++j) + { + + float dx = refined_pose[i][0] - track.full_poses[j][i][0]; + float dy = refined_pose[i][1] - track.full_poses[j][i][1]; + float dz = refined_pose[i][2] - track.full_poses[j][i][2]; + float dist_sq = dx * dx + dy * dy + dz * dz; + if (dist_sq < min_dist_sq) + { + min_dist_sq = dist_sq; + closest_idx = j; + } + if (dist_sq <= max_movement_dists_sq[j]) + { + clip = false; + break; + } + } + + if (clip) + { + float dist_sq = min_dist_sq; + float scale = max_movement_dists_sq[closest_idx] / dist_sq; + + float dx = refined_pose[i][0] - track.full_poses[closest_idx][i][0]; + float dy = refined_pose[i][1] - track.full_poses[closest_idx][i][1]; + float dz = refined_pose[i][2] - track.full_poses[closest_idx][i][2]; + refined_pose[i][0] = track.full_poses[closest_idx][i][0] + dx * scale; + refined_pose[i][1] = track.full_poses[closest_idx][i][1] + dy * scale; + refined_pose[i][2] = track.full_poses[closest_idx][i][2] + dz * scale; + + // Set confidence to a low value if the joint is clipped + refined_pose[i][3] = 0.1; + } + } + + return refined_pose; +} diff --git a/scripts/test_skelda_dataset.cpp b/scripts/test_skelda_dataset.cpp index 6760510..7875106 100644 --- a/scripts/test_skelda_dataset.cpp +++ b/scripts/test_skelda_dataset.cpp @@ -17,6 +17,7 @@ using json = nlohmann::json; #include "/RapidPoseTriangulation/rpt/camera.hpp" #include "/RapidPoseTriangulation/rpt/interface.hpp" +#include "/RapidPoseTriangulation/rpt/tracker.hpp" #include "/RapidPoseTriangulation/scripts/utils_2d_pose.hpp" #include "/RapidPoseTriangulation/scripts/utils_pipeline.hpp" @@ -121,6 +122,7 @@ int main(int argc, char **argv) const float min_match_score = config["min_match_score"]; const size_t min_group_size = config["min_group_size"]; const int take_interval = config["take_interval"]; + const float ifps = config["fps"]; // Load 2D model bool use_wb = utils_pipeline::use_whole_body(whole_body); @@ -131,6 +133,9 @@ int main(int argc, char **argv) // Load 3D model std::unique_ptr tri_model = std::make_unique( min_match_score, min_group_size); + const float max_distance = 0.3 + 2.0 / ifps; + std::unique_ptr pose_tracker = std::make_unique( + max_distance); // Timers size_t time_count = dataset.size(); @@ -138,10 +143,12 @@ int main(int argc, char **argv) std::vector times_debayer; std::vector times_pose2d; std::vector times_pose3d; + std::vector times_tracks; times_image.reserve(time_count); times_debayer.reserve(time_count); times_pose2d.reserve(time_count); times_pose3d.reserve(time_count); + times_tracks.reserve(time_count); size_t print_steps = (size_t)std::floor((float)time_count / 100.0f); print_steps = std::max((size_t)1, print_steps); @@ -214,6 +221,7 @@ int main(int argc, char **argv) { // Reset last poses if scene changes tri_model->reset(); + pose_tracker->reset(); old_scene = item["scene"]; } @@ -241,6 +249,19 @@ int main(int argc, char **argv) elapsed = std::chrono::high_resolution_clock::now() - stime; times_pose3d.push_back(elapsed.count()); + stime = std::chrono::high_resolution_clock::now(); + double ts = ((int)item["index"]) / ifps; + auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts); + std::vector>> poses_3d_refined; + for (size_t j = 0; j < pose_tracks.size(); j++) + { + auto &pose = std::get<1>(pose_tracks[j]); + poses_3d_refined.push_back(pose); + } + poses_3d = poses_3d_refined; + elapsed = std::chrono::high_resolution_clock::now() - stime; + times_tracks.push_back(elapsed.count()); + all_poses_3d.push_back(std::move(poses_3d)); all_ids.push_back(item["id"].get()); old_id = item["index"]; @@ -254,23 +275,27 @@ int main(int argc, char **argv) double time_debayer = 0.0; double time_pose2d = 0.0; double time_pose3d = 0.0; + double time_tracks = 0.0; for (size_t i = warmup; i < time_count; i++) { time_image += times_image[i]; time_debayer += times_debayer[i]; time_pose2d += times_pose2d[i]; time_pose3d += times_pose3d[i]; + time_tracks += times_tracks[i]; } double avg_time_image = time_image / (time_count - warmup); double avg_time_debayer = time_debayer / (time_count - warmup); double avg_time_pose2d = time_pose2d / (time_count - warmup); double avg_time_pose3d = time_pose3d / (time_count - warmup); - double fps = 1.0 / (avg_time_debayer + avg_time_pose2d + avg_time_pose3d); + double avg_time_tracks = time_tracks / (time_count - warmup); + double fps = 1.0 / (avg_time_debayer + avg_time_pose2d + avg_time_pose3d + avg_time_tracks); std::cout << "{\n" << " \"img_loading\": " << avg_time_image << ",\n" << " \"demosaicing\": " << avg_time_debayer << ",\n" << " \"avg_time_2d\": " << avg_time_pose2d << ",\n" << " \"avg_time_3d\": " << avg_time_pose3d << ",\n" + << " \"time_tracks\": " << avg_time_tracks << ",\n" << " \"fps\": " << fps << "\n" << "}" << std::endl; tri_model->print_stats(); diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index e445f8a..24c5b88 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -55,6 +55,7 @@ datasets = { "human36m": { "path": "/datasets/human36m/skelda/pose_test.json", "take_interval": 5, + "fps": 50, "min_match_score": 0.95, "min_group_size": 1, "min_bbox_score": 0.4, @@ -84,6 +85,7 @@ datasets = { }, "campus": { "path": "/datasets/campus/skelda/test.json", + "fps": 20, "take_interval": 1, "min_match_score": 0.92, "min_bbox_score": 0.5, @@ -91,6 +93,7 @@ datasets = { "shelf": { "path": "/datasets/shelf/skelda/test.json", "take_interval": 1, + "fps": 20, "min_match_score": 0.95, "min_group_size": 2, }, @@ -346,6 +349,7 @@ def main(): "batch_poses": batch_poses, "whole_body": whole_body, "take_interval": datasets[dataset_use]["take_interval"], + "fps": datasets[dataset_use]["fps"], } utils_pipeline.save_json(config, config_path) From 98399cc00e0c49b3ced749e356d10091e074a38e Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 22 Apr 2025 17:13:30 +0200 Subject: [PATCH 3/8] Small updates. --- media/RESULTS.md | 490 ++++++++++++++++---------------- rpt/tracker.hpp | 14 +- scripts/test_skelda_dataset.cpp | 33 ++- scripts/test_skelda_dataset.py | 4 +- 4 files changed, 277 insertions(+), 264 deletions(-) diff --git a/media/RESULTS.md b/media/RESULTS.md index bbd819b..183289f 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,27 +7,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00954196, - "demosaicing": 0.000437263, - "avg_time_2d": 0.00563337, - "avg_time_3d": 3.22195e-05, - "time_tracks": 2.56698e-06, - "fps": 163.789 + "img_loading": 0.0096864, + "demosaicing": 0.000437641, + "avg_time_2d": 0.00566353, + "avg_time_3d": 3.24314e-05, + "time_tracks": 3.44966e-07, + "fps": 163.027 } { "triangulator_calls": 600, - "init_time": 2.34263e-06, - "undistort_time": 3.69506e-06, - "project_time": 5.953e-07, - "match_time": 1.23644e-06, - "pairs_time": 1.78917e-07, - "pair_scoring_time": 5.10816e-06, - "grouping_time": 8.91258e-07, - "full_time": 6.67602e-06, - "merge_time": 2.95392e-06, - "post_time": 3.7758e-06, - "convert_time": 5.69e-08, - "total_time": 2.7759e-05 + "init_time": 2.23792e-06, + "undistort_time": 3.78982e-06, + "project_time": 6.23085e-07, + "match_time": 1.21714e-06, + "pairs_time": 1.845e-07, + "pair_scoring_time": 5.14351e-06, + "grouping_time": 9.24192e-07, + "full_time": 6.75532e-06, + "merge_time": 3.04371e-06, + "post_time": 3.80595e-06, + "convert_time": 5.85167e-08, + "total_time": 2.80385e-05 } { "person_nums": { @@ -46,23 +46,23 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 600, - "mean": 0.060543, - "median": 0.053007, - "std": 0.028089, - "sem": 0.001148, + "mean": 0.060397, + "median": 0.052935, + "std": 0.028061, + "sem": 0.001147, "min": 0.037548, "max": 0.192385, "recall-0.025": 0.0, - "recall-0.05": 0.325, - "recall-0.1": 0.946667, + "recall-0.05": 0.333333, + "recall-0.1": 0.948333, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.179324, - "ap-0.1": 0.907003, - "ap-0.15": 0.91147, + "ap-0.05": 0.188107, + "ap-0.1": 0.910493, + "ap-0.15": 0.913236, "ap-0.25": 1.0, "ap-0.5": 1.0 }, @@ -100,82 +100,82 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 600, - "mean": 0.046158, + "mean": 0.045983, "median": 0.034992, - "std": 0.039877, - "sem": 0.001629, + "std": 0.039542, + "sem": 0.001616, "min": 0.00206, "max": 0.240597, "recall-0.025": 0.298333, "recall-0.05": 0.753333, - "recall-0.1": 0.908333, - "recall-0.15": 0.945, + "recall-0.1": 0.91, + "recall-0.15": 0.946667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.045362, - "median": 0.034249, - "std": 0.037307, - "sem": 0.001524, + "mean": 0.045328, + "median": 0.034177, + "std": 0.03755, + "sem": 0.001534, "min": 0.002988, "max": 0.194229, - "recall-0.025": 0.258333, - "recall-0.05": 0.761667, - "recall-0.1": 0.925, - "recall-0.15": 0.955, + "recall-0.025": 0.26, + "recall-0.05": 0.763333, + "recall-0.1": 0.926667, + "recall-0.15": 0.953333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.04432, + "mean": 0.044168, "median": 0.03193, - "std": 0.038646, - "sem": 0.001579, + "std": 0.03869, + "sem": 0.001581, "min": 0.005218, - "max": 0.383954, + "max": 0.427232, "recall-0.025": 0.268333, "recall-0.05": 0.783333, - "recall-0.1": 0.926667, - "recall-0.15": 0.94, + "recall-0.1": 0.928333, + "recall-0.15": 0.941667, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_left": { "count": 600, - "mean": 0.04031, - "median": 0.022792, - "std": 0.044965, - "sem": 0.001837, + "mean": 0.039884, + "median": 0.022739, + "std": 0.04461, + "sem": 0.001823, "min": 0.002345, "max": 0.289452, - "recall-0.025": 0.551667, - "recall-0.05": 0.763333, - "recall-0.1": 0.906667, + "recall-0.025": 0.553333, + "recall-0.05": 0.766667, + "recall-0.1": 0.91, "recall-0.15": 0.93, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { - "count": 600, - "mean": 0.041059, - "median": 0.026221, - "std": 0.04525, - "sem": 0.001849, + "count": 599, + "mean": 0.040157, + "median": 0.026117, + "std": 0.044323, + "sem": 0.001812, "min": 0.003181, "max": 0.296936, - "recall-0.025": 0.476667, - "recall-0.05": 0.801667, - "recall-0.1": 0.91, - "recall-0.15": 0.921667, - "recall-0.25": 0.996667, - "recall-0.5": 1.0, + "recall-0.025": 0.481667, + "recall-0.05": 0.806667, + "recall-0.1": 0.915, + "recall-0.15": 0.925, + "recall-0.25": 0.995, + "recall-0.5": 0.998333, "num_labels": 600 }, "hip_left": { @@ -212,31 +212,31 @@ Results of the model in various experiments on different datasets. \ }, "knee_left": { "count": 599, - "mean": 0.05212, + "mean": 0.052251, "median": 0.042367, - "std": 0.039681, - "sem": 0.001623, + "std": 0.042631, + "sem": 0.001743, "min": 0.014466, - "max": 0.303977, + "max": 0.482769, "recall-0.025": 0.06, - "recall-0.05": 0.696667, - "recall-0.1": 0.921667, - "recall-0.15": 0.943333, - "recall-0.25": 0.996667, + "recall-0.05": 0.698333, + "recall-0.1": 0.925, + "recall-0.15": 0.945, + "recall-0.25": 0.995, "recall-0.5": 0.998333, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.045269, - "median": 0.034108, - "std": 0.03723, - "sem": 0.001521, + "mean": 0.045065, + "median": 0.034037, + "std": 0.037143, + "sem": 0.001518, "min": 0.010961, "max": 0.293895, - "recall-0.025": 0.105, - "recall-0.05": 0.821667, - "recall-0.1": 0.93, + "recall-0.025": 0.106667, + "recall-0.05": 0.825, + "recall-0.1": 0.931667, "recall-0.15": 0.948333, "recall-0.25": 0.998333, "recall-0.5": 1.0, @@ -244,50 +244,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 599, - "mean": 0.089795, - "median": 0.082637, - "std": 0.03326, - "sem": 0.00136, + "mean": 0.089107, + "median": 0.082601, + "std": 0.030725, + "sem": 0.001256, "min": 0.048202, - "max": 0.351142, + "max": 0.271976, "recall-0.025": 0.0, "recall-0.05": 0.001667, - "recall-0.1": 0.871667, - "recall-0.15": 0.94, - "recall-0.25": 0.991667, + "recall-0.1": 0.876667, + "recall-0.15": 0.941667, + "recall-0.25": 0.995, "recall-0.5": 0.998333, "num_labels": 600 }, "ankle_right": { "count": 600, - "mean": 0.077779, - "median": 0.066732, - "std": 0.039218, - "sem": 0.001602, - "min": 0.018484, + "mean": 0.077527, + "median": 0.06667, + "std": 0.038806, + "sem": 0.001586, + "min": 0.033001, "max": 0.281311, - "recall-0.025": 0.003333, - "recall-0.05": 0.041667, - "recall-0.1": 0.893333, - "recall-0.15": 0.923333, + "recall-0.025": 0.0, + "recall-0.05": 0.036667, + "recall-0.1": 0.9, + "recall-0.15": 0.926667, "recall-0.25": 0.991667, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.18897, - "recall-0.05": 0.50064, - "recall-0.1": 0.87718, - "recall-0.15": 0.93423, + "recall-0.025": 0.18962, + "recall-0.05": 0.50128, + "recall-0.1": 0.87962, + "recall-0.15": 0.93526, "recall-0.25": 0.99603, - "recall-0.5": 0.99949 + "recall-0.5": 0.99923 } } { "total_parts": 8400, - "correct_parts": 8130, - "pcp": 0.967857 + "correct_parts": 8134, + "pcp": 0.968333 } ``` @@ -295,27 +295,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0415743, - "demosaicing": 0.000548337, - "avg_time_2d": 0.0104442, - "avg_time_3d": 0.000102827, - "time_tracks": 7.53299e-07, - "fps": 90.1218 + "img_loading": 0.041449, + "demosaicing": 0.000538481, + "avg_time_2d": 0.010343, + "avg_time_3d": 0.000104335, + "time_tracks": 7.30172e-07, + "fps": 91.0205 } { "triangulator_calls": 301, - "init_time": 2.5757e-06, - "undistort_time": 1.38599e-05, - "project_time": 1.70299e-06, - "match_time": 7.42211e-06, - "pairs_time": 3.51909e-06, - "pair_scoring_time": 2.20828e-05, - "grouping_time": 4.00774e-06, - "full_time": 2.23789e-05, - "merge_time": 1.09032e-05, - "post_time": 6.10427e-06, - "convert_time": 1.11395e-07, - "total_time": 9.49145e-05 + "init_time": 2.5243e-06, + "undistort_time": 1.40503e-05, + "project_time": 1.76531e-06, + "match_time": 7.66701e-06, + "pairs_time": 3.58301e-06, + "pair_scoring_time": 2.2612e-05, + "grouping_time": 4.06582e-06, + "full_time": 2.25735e-05, + "merge_time": 1.10049e-05, + "post_time": 6.13977e-06, + "convert_time": 1.12691e-07, + "total_time": 9.63485e-05 } { "person_nums": { @@ -334,10 +334,10 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 477, - "mean": 0.047597, - "median": 0.042661, - "std": 0.014947, - "sem": 0.000685, + "mean": 0.047552, + "median": 0.042651, + "std": 0.014836, + "sem": 0.00068, "min": 0.028932, "max": 0.107384, "recall-0.025": 0.0, @@ -348,18 +348,18 @@ Results of the model in various experiments on different datasets. \ "recall-0.5": 1.0, "num_labels": 477, "ap-0.025": 0.0, - "ap-0.05": 0.456736, - "ap-0.1": 0.755053, - "ap-0.15": 0.764546, - "ap-0.25": 0.764546, - "ap-0.5": 0.764546 + "ap-0.05": 0.453828, + "ap-0.1": 0.752279, + "ap-0.15": 0.761672, + "ap-0.25": 0.761672, + "ap-0.5": 0.761672 }, "head": { "count": 477, - "mean": 0.053421, + "mean": 0.053389, "median": 0.049509, - "std": 0.025337, - "sem": 0.001161, + "std": 0.025237, + "sem": 0.001157, "min": 0.005816, "max": 0.182842, "recall-0.025": 0.098532, @@ -404,9 +404,9 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 477, - "mean": 0.040136, + "mean": 0.04012, "median": 0.032194, - "std": 0.026056, + "std": 0.026044, "sem": 0.001194, "min": 0.003888, "max": 0.146492, @@ -436,14 +436,14 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 477, - "mean": 0.059143, - "median": 0.05442, - "std": 0.038602, + "mean": 0.059128, + "median": 0.054299, + "std": 0.038605, "sem": 0.001769, "min": 0.001595, "max": 0.314599, "recall-0.025": 0.155136, - "recall-0.05": 0.410901, + "recall-0.05": 0.412998, "recall-0.1": 0.91195, "recall-0.15": 0.968553, "recall-0.25": 0.991614, @@ -452,10 +452,10 @@ Results of the model in various experiments on different datasets. \ }, "wrist_right": { "count": 477, - "mean": 0.05783, + "mean": 0.057842, "median": 0.053422, - "std": 0.030837, - "sem": 0.001413, + "std": 0.030863, + "sem": 0.001415, "min": 0.008434, "max": 0.207547, "recall-0.025": 0.109015, @@ -516,15 +516,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 477, - "mean": 0.039912, + "mean": 0.039775, "median": 0.035222, - "std": 0.023393, - "sem": 0.001072, + "std": 0.023097, + "sem": 0.001059, "min": 0.006395, "max": 0.184949, "recall-0.025": 0.303983, "recall-0.05": 0.727463, - "recall-0.1": 0.972746, + "recall-0.1": 0.974843, "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -532,10 +532,10 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 477, - "mean": 0.036485, + "mean": 0.036458, "median": 0.028094, - "std": 0.030728, - "sem": 0.001408, + "std": 0.03061, + "sem": 0.001403, "min": 0.004185, "max": 0.222831, "recall-0.025": 0.429769, @@ -548,25 +548,25 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 477, - "mean": 0.041358, + "mean": 0.040999, "median": 0.030877, - "std": 0.040428, - "sem": 0.001853, + "std": 0.038354, + "sem": 0.001758, "min": 0.002443, - "max": 0.355429, + "max": 0.287278, "recall-0.025": 0.30608, "recall-0.05": 0.813417, "recall-0.1": 0.928721, "recall-0.15": 0.966457, - "recall-0.25": 0.993711, + "recall-0.25": 0.995807, "recall-0.5": 1.0, "num_labels": 477 }, "joint_recalls": { "num_labels": 6201, "recall-0.025": 0.21351, - "recall-0.05": 0.62119, - "recall-0.1": 0.94323, + "recall-0.05": 0.62151, + "recall-0.1": 0.94356, "recall-0.15": 0.98662, "recall-0.25": 0.99871, "recall-0.5": 1.0 @@ -574,8 +574,8 @@ Results of the model in various experiments on different datasets. \ } { "total_parts": 6678, - "correct_parts": 6623, - "pcp": 0.991764 + "correct_parts": 6625, + "pcp": 0.992063 } ``` @@ -583,27 +583,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00477884, - "demosaicing": 0.000105891, - "avg_time_2d": 0.00475547, - "avg_time_3d": 3.45411e-05, - "time_tracks": 8.63962e-07, - "fps": 204.216 + "img_loading": 0.00479131, + "demosaicing": 0.000109975, + "avg_time_2d": 0.00481255, + "avg_time_3d": 3.46939e-05, + "time_tracks": 5.59292e-07, + "fps": 201.703 } { "triangulator_calls": 222, - "init_time": 1.99938e-06, - "undistort_time": 5.71187e-06, - "project_time": 8.61266e-07, - "match_time": 2.61942e-06, - "pairs_time": 4.20405e-07, - "pair_scoring_time": 4.35068e-06, - "grouping_time": 9.27387e-07, - "full_time": 5.49219e-06, - "merge_time": 2.62484e-06, - "post_time": 5.03611e-06, - "convert_time": 9.22072e-08, - "total_time": 3.03843e-05 + "init_time": 2.07871e-06, + "undistort_time": 5.81449e-06, + "project_time": 9.79824e-07, + "match_time": 2.67114e-06, + "pairs_time": 4.23829e-07, + "pair_scoring_time": 4.36216e-06, + "grouping_time": 9.25365e-07, + "full_time": 5.44962e-06, + "merge_time": 2.59767e-06, + "post_time": 4.98663e-06, + "convert_time": 8.98243e-08, + "total_time": 3.06292e-05 } { "person_nums": { @@ -622,32 +622,32 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 376, - "mean": 0.075498, - "median": 0.073144, - "std": 0.014424, + "mean": 0.075152, + "median": 0.072589, + "std": 0.014426, "sem": 0.000745, "min": 0.040047, "max": 0.12107, "recall-0.025": 0.0, "recall-0.05": 0.007979, - "recall-0.1": 0.933511, + "recall-0.1": 0.930851, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, - "ap-0.05": 9.4e-05, - "ap-0.1": 0.843551, - "ap-0.15": 0.959589, - "ap-0.25": 0.959589, - "ap-0.5": 0.959589 + "ap-0.05": 8.3e-05, + "ap-0.1": 0.842634, + "ap-0.15": 0.966628, + "ap-0.25": 0.966628, + "ap-0.5": 0.966628 }, "head": { "count": 376, - "mean": 0.063289, + "mean": 0.06324, "median": 0.062777, - "std": 0.02607, - "sem": 0.001346, + "std": 0.025964, + "sem": 0.001341, "min": 0.007715, "max": 0.197424, "recall-0.025": 0.055851, @@ -660,9 +660,9 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_left": { "count": 376, - "mean": 0.066843, - "median": 0.064619, - "std": 0.029378, + "mean": 0.066815, + "median": 0.064487, + "std": 0.029383, "sem": 0.001517, "min": 0.016733, "max": 0.205046, @@ -676,10 +676,10 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 376, - "mean": 0.069399, + "mean": 0.069422, "median": 0.062402, - "std": 0.031883, - "sem": 0.001646, + "std": 0.03191, + "sem": 0.001648, "min": 0.017401, "max": 0.198707, "recall-0.025": 0.018617, @@ -692,15 +692,15 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 376, - "mean": 0.089682, + "mean": 0.089749, "median": 0.072996, - "std": 0.053299, - "sem": 0.002752, + "std": 0.053356, + "sem": 0.002755, "min": 0.009937, "max": 0.283516, "recall-0.025": 0.029255, "recall-0.05": 0.242021, - "recall-0.1": 0.651596, + "recall-0.1": 0.648936, "recall-0.15": 0.867021, "recall-0.25": 0.992021, "recall-0.5": 1.0, @@ -708,9 +708,9 @@ Results of the model in various experiments on different datasets. \ }, "elbow_right": { "count": 376, - "mean": 0.077757, + "mean": 0.077764, "median": 0.070519, - "std": 0.037705, + "std": 0.037706, "sem": 0.001947, "min": 0.004749, "max": 0.194529, @@ -724,33 +724,33 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 376, - "mean": 0.128965, - "median": 0.113502, - "std": 0.068869, - "sem": 0.003556, + "mean": 0.128876, + "median": 0.113244, + "std": 0.068811, + "sem": 0.003553, "min": 0.015136, - "max": 0.352772, + "max": 0.348579, "recall-0.025": 0.013298, "recall-0.05": 0.079787, - "recall-0.1": 0.417553, + "recall-0.1": 0.420213, "recall-0.15": 0.670213, - "recall-0.25": 0.920213, + "recall-0.25": 0.917553, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.102037, - "median": 0.097009, - "std": 0.044155, - "sem": 0.00228, + "mean": 0.101938, + "median": 0.097149, + "std": 0.043861, + "sem": 0.002265, "min": 0.002425, - "max": 0.277303, + "max": 0.277643, "recall-0.025": 0.005319, - "recall-0.05": 0.095745, + "recall-0.05": 0.093085, "recall-0.1": 0.521277, - "recall-0.15": 0.864362, - "recall-0.25": 0.994681, + "recall-0.15": 0.867021, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, @@ -772,10 +772,10 @@ Results of the model in various experiments on different datasets. \ }, "hip_right": { "count": 376, - "mean": 0.065421, + "mean": 0.065513, "median": 0.059695, - "std": 0.034174, - "sem": 0.001765, + "std": 0.034493, + "sem": 0.001781, "min": 0.005283, "max": 0.259007, "recall-0.025": 0.053191, @@ -804,15 +804,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 376, - "mean": 0.053806, - "median": 0.049906, - "std": 0.027608, - "sem": 0.001426, + "mean": 0.053549, + "median": 0.049537, + "std": 0.02723, + "sem": 0.001406, "min": 0.008841, "max": 0.230822, "recall-0.025": 0.087766, - "recall-0.05": 0.5, - "recall-0.1": 0.952128, + "recall-0.05": 0.50266, + "recall-0.1": 0.954787, "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -820,50 +820,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 376, - "mean": 0.074289, - "median": 0.066969, - "std": 0.045644, - "sem": 0.002357, + "mean": 0.072542, + "median": 0.066373, + "std": 0.043744, + "sem": 0.002259, "min": 0.009841, "max": 0.378337, "recall-0.025": 0.042553, - "recall-0.05": 0.327128, - "recall-0.1": 0.832447, - "recall-0.15": 0.944149, + "recall-0.05": 0.332447, + "recall-0.1": 0.853723, + "recall-0.15": 0.954787, "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_right": { "count": 376, - "mean": 0.066324, - "median": 0.052238, - "std": 0.048596, - "sem": 0.002509, + "mean": 0.063903, + "median": 0.052158, + "std": 0.045647, + "sem": 0.002357, "min": 0.007344, "max": 0.373408, "recall-0.025": 0.069149, - "recall-0.05": 0.430851, - "recall-0.1": 0.859043, - "recall-0.15": 0.946809, - "recall-0.25": 0.986702, + "recall-0.05": 0.43617, + "recall-0.1": 0.87766, + "recall-0.15": 0.957447, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "joint_recalls": { "num_labels": 4888, "recall-0.025": 0.04194, - "recall-0.05": 0.30115, - "recall-0.1": 0.79705, - "recall-0.15": 0.93208, - "recall-0.25": 0.98977, + "recall-0.05": 0.30176, + "recall-0.1": 0.79992, + "recall-0.15": 0.93351, + "recall-0.25": 0.98936, "recall-0.5": 1.0 } } { "total_parts": 5264, - "correct_parts": 5005, - "pcp": 0.950798 + "correct_parts": 5004, + "pcp": 0.950608 } ``` diff --git a/rpt/tracker.hpp b/rpt/tracker.hpp index d15937b..3d42643 100644 --- a/rpt/tracker.hpp +++ b/rpt/tracker.hpp @@ -24,7 +24,7 @@ struct Track class PoseTracker { public: - PoseTracker(float max_distance); + PoseTracker(float fps); std::vector>>> track_poses( const std::vector>> &poses_3d, @@ -36,7 +36,13 @@ public: private: float max_distance; size_t history_size = 3; - float max_movement_speed = 2.0; + + // Approach speed of EN ISO 13855 with 2000 mm/sec for hand speed + // and an additional factor to compensate for noise-based jumps + float max_movement_speed = 2.0 * 1.5; + + // The size of an A4 sheet of paper which is assumed to fit between two different persons + float max_base_distance = 0.3; std::vector timestamps; std::vector pose_tracks; @@ -64,9 +70,9 @@ private: // ================================================================================================= // ================================================================================================= -PoseTracker::PoseTracker(float max_distance) +PoseTracker::PoseTracker(float fps) { - this->max_distance = max_distance; + this->max_distance = max_base_distance + max_movement_speed / fps; } // ================================================================================================= diff --git a/scripts/test_skelda_dataset.cpp b/scripts/test_skelda_dataset.cpp index 7875106..c823fd9 100644 --- a/scripts/test_skelda_dataset.cpp +++ b/scripts/test_skelda_dataset.cpp @@ -130,12 +130,11 @@ int main(int argc, char **argv) std::make_unique( use_wb, min_bbox_score, min_bbox_area, batch_poses); - // Load 3D model + // Load 3D models std::unique_ptr tri_model = std::make_unique( min_match_score, min_group_size); - const float max_distance = 0.3 + 2.0 / ifps; std::unique_ptr pose_tracker = std::make_unique( - max_distance); + ifps); // Timers size_t time_count = dataset.size(); @@ -249,18 +248,26 @@ int main(int argc, char **argv) elapsed = std::chrono::high_resolution_clock::now() - stime; times_pose3d.push_back(elapsed.count()); - stime = std::chrono::high_resolution_clock::now(); - double ts = ((int)item["index"]) / ifps; - auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts); - std::vector>> poses_3d_refined; - for (size_t j = 0; j < pose_tracks.size(); j++) + if (ifps < 1) { - auto &pose = std::get<1>(pose_tracks[j]); - poses_3d_refined.push_back(pose); + // Disable pose tracking if frame rate is too low + times_tracks.push_back(0.0); + } + else + { + stime = std::chrono::high_resolution_clock::now(); + double ts = ((int)item["index"]) / ifps; + auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts); + std::vector>> poses_3d_refined; + for (size_t j = 0; j < pose_tracks.size(); j++) + { + auto &pose = std::get<1>(pose_tracks[j]); + poses_3d_refined.push_back(pose); + } + poses_3d = poses_3d_refined; + elapsed = std::chrono::high_resolution_clock::now() - stime; + times_tracks.push_back(elapsed.count()); } - poses_3d = poses_3d_refined; - elapsed = std::chrono::high_resolution_clock::now() - stime; - times_tracks.push_back(elapsed.count()); all_poses_3d.push_back(std::move(poses_3d)); all_ids.push_back(item["id"].get()); diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index 24c5b88..4c69657 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -85,7 +85,7 @@ datasets = { }, "campus": { "path": "/datasets/campus/skelda/test.json", - "fps": 20, + "fps": 25, "take_interval": 1, "min_match_score": 0.92, "min_bbox_score": 0.5, @@ -93,7 +93,7 @@ datasets = { "shelf": { "path": "/datasets/shelf/skelda/test.json", "take_interval": 1, - "fps": 20, + "fps": 25, "min_match_score": 0.95, "min_group_size": 2, }, From cc8b75b8bf2df9cae40350a915f61f6ca8d8ff65 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 23 Apr 2025 10:40:59 +0200 Subject: [PATCH 4/8] Improved tracker parametrization. --- rpt/tracker.hpp | 15 ++++------ scripts/test_skelda_dataset.cpp | 8 ++++-- scripts/test_skelda_dataset.py | 49 +++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 13 deletions(-) diff --git a/rpt/tracker.hpp b/rpt/tracker.hpp index 3d42643..b791f1b 100644 --- a/rpt/tracker.hpp +++ b/rpt/tracker.hpp @@ -24,7 +24,7 @@ struct Track class PoseTracker { public: - PoseTracker(float fps); + PoseTracker(float max_movement_speed, float max_distance); std::vector>>> track_poses( const std::vector>> &poses_3d, @@ -35,15 +35,9 @@ public: private: float max_distance; + float max_movement_speed; size_t history_size = 3; - // Approach speed of EN ISO 13855 with 2000 mm/sec for hand speed - // and an additional factor to compensate for noise-based jumps - float max_movement_speed = 2.0 * 1.5; - - // The size of an A4 sheet of paper which is assumed to fit between two different persons - float max_base_distance = 0.3; - std::vector timestamps; std::vector pose_tracks; @@ -70,9 +64,10 @@ private: // ================================================================================================= // ================================================================================================= -PoseTracker::PoseTracker(float fps) +PoseTracker::PoseTracker(float max_movement_speed, float max_distance) { - this->max_distance = max_base_distance + max_movement_speed / fps; + this->max_movement_speed = max_movement_speed; + this->max_distance = max_distance; } // ================================================================================================= diff --git a/scripts/test_skelda_dataset.cpp b/scripts/test_skelda_dataset.cpp index c823fd9..e93ce50 100644 --- a/scripts/test_skelda_dataset.cpp +++ b/scripts/test_skelda_dataset.cpp @@ -123,6 +123,8 @@ int main(int argc, char **argv) const size_t min_group_size = config["min_group_size"]; const int take_interval = config["take_interval"]; const float ifps = config["fps"]; + const float max_movement_speed = config["max_movement_speed"]; + const float max_track_distance = config["max_track_distance"]; // Load 2D model bool use_wb = utils_pipeline::use_whole_body(whole_body); @@ -134,7 +136,7 @@ int main(int argc, char **argv) std::unique_ptr tri_model = std::make_unique( min_match_score, min_group_size); std::unique_ptr pose_tracker = std::make_unique( - ifps); + max_movement_speed, max_track_distance); // Timers size_t time_count = dataset.size(); @@ -216,7 +218,7 @@ int main(int argc, char **argv) auto &item = dataset[i]; auto &poses_2d = all_poses_2d[i]; - if (old_scene != item["scene"] || old_id + take_interval < item["index"]) + if (old_scene != item["scene"] || old_id + take_interval != item["index"]) { // Reset last poses if scene changes tri_model->reset(); @@ -248,7 +250,7 @@ int main(int argc, char **argv) elapsed = std::chrono::high_resolution_clock::now() - stime; times_pose3d.push_back(elapsed.count()); - if (ifps < 1) + if (ifps <= 0) { // Disable pose tracking if frame rate is too low times_tracks.push_back(0.0); diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index 4c69657..e016121 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -51,6 +51,15 @@ default_min_group_size = 1 # If most of the time only one person is in a image, disable it, because it is slightly slower then default_batch_poses = True +# Approach speed of EN ISO 13855 with 2000 mm/sec for hand speed +# and an additional factor to compensate for noise-based jumps +default_max_movement_speed = 2.0 * 1.5 + +# The size of an A4 sheet of paper which is assumed to fit between two different persons +# and additionally the distance a person can move between two frames (here at 10 fps) +default_max_track_distance = 0.3 + default_max_movement_speed / 10 + + datasets = { "human36m": { "path": "/datasets/human36m/skelda/pose_test.json", @@ -61,6 +70,8 @@ datasets = { "min_bbox_score": 0.4, "min_bbox_area": 0.1 * 0.1, "batch_poses": False, + "max_movement_speed": 2.0 * 1.5, + "max_track_distance": 0.3 + default_max_movement_speed / (50 / 5), }, "panoptic": { "path": "/datasets/panoptic/skelda/test.json", @@ -69,16 +80,19 @@ datasets = { # "cams": ["00_03", "00_06", "00_12", "00_13", "00_23", "00_15", "00_10", "00_21", "00_09", "00_01"], # "cams": [], "take_interval": 3, + "fps": 30, "min_match_score": 0.95, "use_scenes": ["160906_pizza1", "160422_haggling1", "160906_ian5"], "min_group_size": 1, # "min_group_size": 4, # "min_group_size": 11, "min_bbox_area": 0.05 * 0.05, + "max_track_distance": 0.3 + default_max_movement_speed / (30 / 3), }, "mvor": { "path": "/datasets/mvor/skelda/all.json", "take_interval": 1, + "fps": -1, "with_depth": False, "min_match_score": 0.85, "min_bbox_score": 0.25, @@ -89,6 +103,7 @@ datasets = { "take_interval": 1, "min_match_score": 0.92, "min_bbox_score": 0.5, + "max_track_distance": 0.3 + default_max_movement_speed / 25, }, "shelf": { "path": "/datasets/shelf/skelda/test.json", @@ -96,82 +111,108 @@ datasets = { "fps": 25, "min_match_score": 0.95, "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / 25, }, "ikeaasm": { "path": "/datasets/ikeaasm/skelda/test.json", "take_interval": 2, + "fps": -1, "min_match_score": 0.92, "min_bbox_score": 0.20, }, "chi3d": { "path": "/datasets/chi3d/skelda/all.json", "take_interval": 5, + "fps": 50, + "max_track_distance": 0.3 + default_max_movement_speed / (50 / 5), }, "tsinghua": { "path": "/datasets/tsinghua/skelda/test.json", "take_interval": 3, + "fps": 30, "min_match_score": 0.95, "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / (30 / 3), }, "human36m_wb": { "path": "/datasets/human36m/skelda/wb/test.json", "take_interval": 100, + "fps": -1, "min_bbox_score": 0.4, "batch_poses": False, }, "egohumans_tagging": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "tagging", "min_match_score": 0.92, "min_group_size": 2, "min_bbox_score": 0.2, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_legoassemble": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "legoassemble", "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / (20 / 2), }, "egohumans_fencing": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "fencing", "min_group_size": 7, "min_bbox_score": 0.5, "min_bbox_area": 0.05 * 0.05, + "max_track_distance": 0.3 + default_max_movement_speed / (20 / 2), }, "egohumans_basketball": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "basketball", "min_group_size": 7, "min_bbox_score": 0.25, "min_bbox_area": 0.025 * 0.025, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_volleyball": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "volleyball", "min_group_size": 11, "min_bbox_score": 0.25, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_badminton": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "badminton", "min_group_size": 7, "min_bbox_score": 0.25, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_tennis": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "tennis", "min_group_size": 11, "min_bbox_area": 0.025 * 0.025, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, } @@ -338,6 +379,12 @@ def main(): min_bbox_score = datasets[dataset_use].get("min_bbox_score", default_min_bbox_score) min_bbox_area = datasets[dataset_use].get("min_bbox_area", default_min_bbox_area) batch_poses = datasets[dataset_use].get("batch_poses", default_batch_poses) + max_movement_speed = datasets[dataset_use].get( + "max_movement_speed", default_max_movement_speed + ) + max_track_distance = datasets[dataset_use].get( + "max_track_distance", default_max_track_distance + ) # Save config config_path = tmp_export_dir + "config.json" @@ -347,6 +394,8 @@ def main(): "min_bbox_score": min_bbox_score, "min_bbox_area": min_bbox_area, "batch_poses": batch_poses, + "max_movement_speed": max_movement_speed, + "max_track_distance": max_track_distance, "whole_body": whole_body, "take_interval": datasets[dataset_use]["take_interval"], "fps": datasets[dataset_use]["fps"], From e90d7c53f4e4e7ac5133f20e98880ef61cea3a1a Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 23 Apr 2025 10:41:47 +0200 Subject: [PATCH 5/8] Prevent duplicate track assignments. --- rpt/tracker.hpp | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/rpt/tracker.hpp b/rpt/tracker.hpp index b791f1b..d8049da 100644 --- a/rpt/tracker.hpp +++ b/rpt/tracker.hpp @@ -56,7 +56,7 @@ private: "ankle_right", }; - int match_to_track(const std::vector> &core_pose_3d); + std::tuple match_to_track(const std::vector> &core_pose_3d); std::vector> refine_pose(const Track &track); }; @@ -107,15 +107,41 @@ std::vector>>> PoseTracker:: } // Match core poses to tracks + std::vector> matches; for (size_t i = 0; i < core_poses.size(); ++i) { - int track_idx = match_to_track(core_poses[i]); + auto [track_idx, distance_sq] = match_to_track(core_poses[i]); + matches.emplace_back(i, track_idx, distance_sq); + } + std::sort(matches.begin(), matches.end(), + [](const auto &a, const auto &b) + { return std::get<2>(a) < std::get<2>(b); }); + + // If track is matched multiple times, only add the best and create new tracks for the rest + std::vector used(pose_tracks.size(), false); + for (size_t i = 0; i < matches.size(); ++i) + { + auto [pose_idx, track_idx, distance_sq] = matches[i]; + if (track_idx != -1 && !used[track_idx]) + { + used[track_idx] = true; + } + else + { + std::get<1>(matches[i]) = -1; + } + } + + // Update tracks + for (size_t i = 0; i < matches.size(); ++i) + { + auto [pose_idx, track_idx, distance_sq] = matches[i]; if (track_idx == -1) { // Create a new track Track new_track; - new_track.core_poses.push_back(core_poses[i]); - new_track.full_poses.push_back(poses_3d[i]); + new_track.core_poses.push_back(core_poses[pose_idx]); + new_track.full_poses.push_back(poses_3d[pose_idx]); new_track.timestamps.push_back(timestamp); new_track.id = pose_tracks.size(); pose_tracks.push_back(new_track); @@ -124,8 +150,8 @@ std::vector>>> PoseTracker:: { // Update existing track auto &track = pose_tracks[track_idx]; - track.core_poses.push_back(core_poses[i]); - track.full_poses.push_back(poses_3d[i]); + track.core_poses.push_back(core_poses[pose_idx]); + track.full_poses.push_back(poses_3d[pose_idx]); track.timestamps.push_back(timestamp); } } @@ -179,7 +205,7 @@ std::vector>>> PoseTracker:: // ================================================================================================= -int PoseTracker::match_to_track(const std::vector> &core_pose_3d) +std::tuple PoseTracker::match_to_track(const std::vector> &core_pose_3d) { int best_track = -1; float best_distance_sq = max_distance * max_distance; @@ -188,7 +214,9 @@ int PoseTracker::match_to_track(const std::vector> &core_po { const auto &track = pose_tracks[i]; if (track.core_poses.size() == 0) + { continue; + } // Calculate distance to the last pose in the track const auto &last_pose = track.core_poses.back(); @@ -208,7 +236,8 @@ int PoseTracker::match_to_track(const std::vector> &core_po best_track = static_cast(i); } } - return best_track; + + return {best_track, best_distance_sq}; } // ================================================================================================= From 79788cd7e048d22c5930b78a9987eac5d5fa2d3d Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 23 Apr 2025 14:05:04 +0200 Subject: [PATCH 6/8] Add tracking to ros wrapper. --- .../rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp | 37 +++++++++++++++++-- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp b/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp index b6314e4..9a17172 100644 --- a/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp +++ b/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp @@ -16,6 +16,7 @@ using json = nlohmann::json; #include "rpt_msgs/msg/poses.hpp" #include "/RapidPoseTriangulation/rpt/camera.hpp" #include "/RapidPoseTriangulation/rpt/interface.hpp" +#include "/RapidPoseTriangulation/rpt/tracker.hpp" // ================================================================================================= @@ -36,9 +37,14 @@ static const std::string pose_in_topic = "/poses/{}"; static const std::string cam_info_topic = "/{}/calibration"; static const std::string pose_out_topic = "/poses/humans3d"; -static const float min_match_score = 0.92; +static const float min_match_score = 0.94; static const size_t min_group_size = 1; +static const bool use_tracking = true; +static const float max_movement_speed = 2.0 * 1.5; +static const float cam_fps = 50; +static const float max_track_distance = 0.3 + max_movement_speed / cam_fps; + static const std::array, 2> roomparams = {{ {4.0, 5.0, 2.2}, {1.0, 0.0, 1.1}, @@ -59,9 +65,11 @@ public: this->joint_names = {}; this->all_poses_set.resize(cam_ids.size(), false); - // Load 3D model + // Load 3D models tri_model = std::make_unique( min_match_score, min_group_size); + pose_tracker = std::make_unique( + max_movement_speed, max_track_distance); // QoS rclcpp::QoS qos_profile(1); @@ -113,6 +121,7 @@ private: rclcpp::Publisher::SharedPtr pose_pub_; std::unique_ptr tri_model; + std::unique_ptr pose_tracker; std::vector all_cameras; std::mutex cams_mutex, pose_mutex, model_mutex; @@ -230,11 +239,32 @@ void Rpt3DWrapperNode::call_model() // Since the prediction is very fast, parallel callback threads only need to wait a short time cams_mutex.lock(); pose_mutex.lock(); - const auto valid_poses = tri_model->triangulate_poses( + const auto poses_3d = tri_model->triangulate_poses( all_poses, all_cameras, roomparams, joint_names); double min_ts = *std::min_element(all_timestamps.begin(), all_timestamps.end()); this->all_poses_set = std::vector(cam_ids.size(), false); + + std::vector>> valid_poses; + std::vector track_ids; + if (use_tracking) + { + auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names, min_ts); + std::vector>> poses_3d_refined; + for (size_t j = 0; j < pose_tracks.size(); j++) + { + auto &pose = std::get<1>(pose_tracks[j]); + poses_3d_refined.push_back(pose); + auto &track_id = std::get<0>(pose_tracks[j]); + track_ids.push_back(track_id); + } + valid_poses = std::move(poses_3d_refined); + } + else + { + valid_poses = std::move(poses_3d); + track_ids = {}; + } pose_mutex.unlock(); cams_mutex.unlock(); @@ -267,6 +297,7 @@ void Rpt3DWrapperNode::call_model() } } pose_msg.joint_names = joint_names; + jdata["track_ids"] = track_ids; pose_msg.extra_data = jdata.dump(); pose_pub_->publish(pose_msg); From 7bbb91896a143060c2aed3e76035c1a28b0c068d Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 24 Apr 2025 15:54:05 +0200 Subject: [PATCH 7/8] Update example script. --- scripts/test_triangulate.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/test_triangulate.py b/scripts/test_triangulate.py index 04c3885..207ac84 100644 --- a/scripts/test_triangulate.py +++ b/scripts/test_triangulate.py @@ -26,6 +26,9 @@ config = { "batch_poses": True, "whole_body": whole_body, "take_interval": 1, + "fps": -1, + "max_movement_speed": 0, + "max_track_distance": 0, } joint_names_2d = utils_pipeline.get_joint_names(whole_body) From f11f416151b92493026eae769688c6523f408bb0 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 28 May 2025 10:18:39 +0200 Subject: [PATCH 8/8] Updated results. --- media/RESULTS.md | 4044 +++++++++++++++++++++++----------------------- 1 file changed, 2041 insertions(+), 2003 deletions(-) diff --git a/media/RESULTS.md b/media/RESULTS.md index 194ae23..8f04b3b 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,27 +7,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0096864, - "demosaicing": 0.000437641, - "avg_time_2d": 0.00566353, - "avg_time_3d": 3.24314e-05, - "time_tracks": 3.44966e-07, - "fps": 163.027 + "img_loading": 0.0209625, + "demosaicing": 0.000622594, + "avg_time_2d": 0.00825327, + "avg_time_3d": 3.69146e-05, + "time_tracks": 4.75515e-07, + "fps": 112.192 } { "triangulator_calls": 600, - "init_time": 2.23792e-06, - "undistort_time": 3.78982e-06, - "project_time": 6.23085e-07, - "match_time": 1.21714e-06, - "pairs_time": 1.845e-07, - "pair_scoring_time": 5.14351e-06, - "grouping_time": 9.24192e-07, - "full_time": 6.75532e-06, - "merge_time": 3.04371e-06, - "post_time": 3.80595e-06, - "convert_time": 5.85167e-08, - "total_time": 2.80385e-05 + "init_time": 2.68551e-06, + "undistort_time": 3.71778e-06, + "project_time": 6.96477e-07, + "match_time": 1.27031e-06, + "pairs_time": 2.0875e-07, + "pair_scoring_time": 6.06621e-06, + "grouping_time": 1.3693e-06, + "full_time": 7.96046e-06, + "merge_time": 3.21646e-06, + "post_time": 4.74177e-06, + "convert_time": 6.763e-08, + "total_time": 3.22448e-05 } { "person_nums": { @@ -46,100 +46,100 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 600, - "mean": 0.060397, - "median": 0.052935, - "std": 0.028061, - "sem": 0.001147, - "min": 0.037548, - "max": 0.192385, + "mean": 0.060535, + "median": 0.053044, + "std": 0.028266, + "sem": 0.001155, + "min": 0.036391, + "max": 0.191685, "recall-0.025": 0.0, - "recall-0.05": 0.333333, - "recall-0.1": 0.948333, + "recall-0.05": 0.335, + "recall-0.1": 0.945, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.188107, - "ap-0.1": 0.910493, - "ap-0.15": 0.913236, + "ap-0.05": 0.189774, + "ap-0.1": 0.906441, + "ap-0.15": 0.914804, "ap-0.25": 1.0, "ap-0.5": 1.0 }, "nose": { "count": 600, - "mean": 0.107161, - "median": 0.095675, - "std": 0.040032, - "sem": 0.001636, - "min": 0.019811, - "max": 0.276049, - "recall-0.025": 0.005, - "recall-0.05": 0.02, - "recall-0.1": 0.565, + "mean": 0.106551, + "median": 0.095236, + "std": 0.039752, + "sem": 0.001624, + "min": 0.014823, + "max": 0.277586, + "recall-0.025": 0.003333, + "recall-0.05": 0.021667, + "recall-0.1": 0.585, "recall-0.15": 0.855, - "recall-0.25": 0.983333, + "recall-0.25": 0.988333, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_left": { "count": 600, - "mean": 0.038915, - "median": 0.027905, - "std": 0.035581, - "sem": 0.001454, - "min": 0.001434, - "max": 0.172065, - "recall-0.025": 0.425, - "recall-0.05": 0.816667, - "recall-0.1": 0.923333, - "recall-0.15": 0.96, + "mean": 0.038602, + "median": 0.027579, + "std": 0.034741, + "sem": 0.001419, + "min": 0.001432, + "max": 0.172853, + "recall-0.025": 0.418333, + "recall-0.05": 0.811667, + "recall-0.1": 0.931667, + "recall-0.15": 0.965, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_right": { "count": 600, - "mean": 0.045983, - "median": 0.034992, - "std": 0.039542, - "sem": 0.001616, - "min": 0.00206, - "max": 0.240597, + "mean": 0.045855, + "median": 0.034435, + "std": 0.039731, + "sem": 0.001623, + "min": 0.006883, + "max": 0.240549, "recall-0.025": 0.298333, - "recall-0.05": 0.753333, - "recall-0.1": 0.91, - "recall-0.15": 0.946667, + "recall-0.05": 0.775, + "recall-0.1": 0.908333, + "recall-0.15": 0.945, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.045328, - "median": 0.034177, - "std": 0.03755, - "sem": 0.001534, - "min": 0.002988, - "max": 0.194229, + "mean": 0.045211, + "median": 0.033767, + "std": 0.037653, + "sem": 0.001538, + "min": 0.004845, + "max": 0.194312, "recall-0.025": 0.26, - "recall-0.05": 0.763333, - "recall-0.1": 0.926667, - "recall-0.15": 0.953333, + "recall-0.05": 0.781667, + "recall-0.1": 0.923333, + "recall-0.15": 0.951667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.044168, - "median": 0.03193, - "std": 0.03869, - "sem": 0.001581, - "min": 0.005218, - "max": 0.427232, - "recall-0.025": 0.268333, - "recall-0.05": 0.783333, + "mean": 0.044041, + "median": 0.032214, + "std": 0.038365, + "sem": 0.001568, + "min": 0.004559, + "max": 0.407069, + "recall-0.025": 0.27, + "recall-0.05": 0.795, "recall-0.1": 0.928333, "recall-0.15": 0.941667, "recall-0.25": 0.998333, @@ -148,146 +148,146 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 600, - "mean": 0.039884, - "median": 0.022739, - "std": 0.04461, - "sem": 0.001823, - "min": 0.002345, - "max": 0.289452, - "recall-0.025": 0.553333, - "recall-0.05": 0.766667, - "recall-0.1": 0.91, - "recall-0.15": 0.93, + "mean": 0.03981, + "median": 0.022309, + "std": 0.044042, + "sem": 0.0018, + "min": 0.003241, + "max": 0.252773, + "recall-0.025": 0.548333, + "recall-0.05": 0.761667, + "recall-0.1": 0.911667, + "recall-0.15": 0.928333, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { - "count": 599, - "mean": 0.040157, - "median": 0.026117, - "std": 0.044323, - "sem": 0.001812, - "min": 0.003181, - "max": 0.296936, - "recall-0.025": 0.481667, - "recall-0.05": 0.806667, - "recall-0.1": 0.915, + "count": 598, + "mean": 0.04073, + "median": 0.025187, + "std": 0.044602, + "sem": 0.001825, + "min": 0.003514, + "max": 0.308979, + "recall-0.025": 0.491667, + "recall-0.05": 0.791667, + "recall-0.1": 0.913333, "recall-0.15": 0.925, - "recall-0.25": 0.995, - "recall-0.5": 0.998333, + "recall-0.25": 0.993333, + "recall-0.5": 0.996667, "num_labels": 600 }, "hip_left": { "count": 600, - "mean": 0.071005, - "median": 0.059386, - "std": 0.03579, - "sem": 0.001462, - "min": 0.026559, - "max": 0.217084, - "recall-0.025": 0.0, - "recall-0.05": 0.198333, - "recall-0.1": 0.863333, - "recall-0.15": 0.943333, + "mean": 0.070231, + "median": 0.058914, + "std": 0.035311, + "sem": 0.001443, + "min": 0.02269, + "max": 0.216665, + "recall-0.025": 0.001667, + "recall-0.05": 0.22, + "recall-0.1": 0.875, + "recall-0.15": 0.946667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "hip_right": { "count": 600, - "mean": 0.086356, - "median": 0.083732, - "std": 0.029541, - "sem": 0.001207, - "min": 0.019818, + "mean": 0.086387, + "median": 0.083718, + "std": 0.02924, + "sem": 0.001195, + "min": 0.010679, "max": 0.219502, - "recall-0.025": 0.013333, - "recall-0.05": 0.055, - "recall-0.1": 0.868333, - "recall-0.15": 0.946667, + "recall-0.025": 0.011667, + "recall-0.05": 0.058333, + "recall-0.1": 0.865, + "recall-0.15": 0.948333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "knee_left": { - "count": 599, - "mean": 0.052251, - "median": 0.042367, - "std": 0.042631, - "sem": 0.001743, - "min": 0.014466, - "max": 0.482769, - "recall-0.025": 0.06, - "recall-0.05": 0.698333, - "recall-0.1": 0.925, - "recall-0.15": 0.945, - "recall-0.25": 0.995, - "recall-0.5": 0.998333, + "count": 598, + "mean": 0.052822, + "median": 0.04235, + "std": 0.046029, + "sem": 0.001884, + "min": 0.01399, + "max": 0.493631, + "recall-0.025": 0.058333, + "recall-0.05": 0.701667, + "recall-0.1": 0.926667, + "recall-0.15": 0.941667, + "recall-0.25": 0.991667, + "recall-0.5": 0.996667, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.045065, - "median": 0.034037, - "std": 0.037143, - "sem": 0.001518, - "min": 0.010961, - "max": 0.293895, - "recall-0.025": 0.106667, - "recall-0.05": 0.825, - "recall-0.1": 0.931667, + "mean": 0.045515, + "median": 0.034198, + "std": 0.037407, + "sem": 0.001528, + "min": 0.009795, + "max": 0.29659, + "recall-0.025": 0.095, + "recall-0.05": 0.813333, + "recall-0.1": 0.928333, "recall-0.15": 0.948333, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "ankle_left": { - "count": 599, - "mean": 0.089107, - "median": 0.082601, - "std": 0.030725, - "sem": 0.001256, - "min": 0.048202, - "max": 0.271976, + "count": 598, + "mean": 0.089465, + "median": 0.08257, + "std": 0.031872, + "sem": 0.001304, + "min": 0.049959, + "max": 0.353694, "recall-0.025": 0.0, "recall-0.05": 0.001667, - "recall-0.1": 0.876667, - "recall-0.15": 0.941667, - "recall-0.25": 0.995, - "recall-0.5": 0.998333, + "recall-0.1": 0.871667, + "recall-0.15": 0.94, + "recall-0.25": 0.991667, + "recall-0.5": 0.996667, "num_labels": 600 }, "ankle_right": { "count": 600, - "mean": 0.077527, - "median": 0.06667, - "std": 0.038806, - "sem": 0.001586, - "min": 0.033001, - "max": 0.281311, + "mean": 0.077006, + "median": 0.066672, + "std": 0.037945, + "sem": 0.00155, + "min": 0.035939, + "max": 0.277096, "recall-0.025": 0.0, - "recall-0.05": 0.036667, - "recall-0.1": 0.9, - "recall-0.15": 0.926667, - "recall-0.25": 0.991667, + "recall-0.05": 0.031667, + "recall-0.1": 0.908333, + "recall-0.15": 0.931667, + "recall-0.25": 0.993333, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.18962, - "recall-0.05": 0.50128, - "recall-0.1": 0.87962, - "recall-0.15": 0.93526, - "recall-0.25": 0.99603, + "recall-0.025": 0.18833, + "recall-0.05": 0.50474, + "recall-0.1": 0.88205, + "recall-0.15": 0.93564, + "recall-0.25": 0.99564, "recall-0.5": 0.99923 } } { "total_parts": 8400, - "correct_parts": 8134, - "pcp": 0.968333 + "correct_parts": 8133, + "pcp": 0.968214 } ``` @@ -295,76 +295,76 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.041449, - "demosaicing": 0.000538481, - "avg_time_2d": 0.010343, - "avg_time_3d": 0.000104335, - "time_tracks": 7.30172e-07, - "fps": 91.0205 + "img_loading": 0.0410789, + "demosaicing": 0.000730512, + "avg_time_2d": 0.0147695, + "avg_time_3d": 0.000120724, + "time_tracks": 9.84223e-07, + "fps": 64.0135 } { "triangulator_calls": 301, - "init_time": 2.5243e-06, - "undistort_time": 1.40503e-05, - "project_time": 1.76531e-06, - "match_time": 7.66701e-06, - "pairs_time": 3.58301e-06, - "pair_scoring_time": 2.2612e-05, - "grouping_time": 4.06582e-06, - "full_time": 2.25735e-05, - "merge_time": 1.10049e-05, - "post_time": 6.13977e-06, - "convert_time": 1.12691e-07, - "total_time": 9.63485e-05 + "init_time": 3.06285e-06, + "undistort_time": 1.40894e-05, + "project_time": 2.08899e-06, + "match_time": 8.13459e-06, + "pairs_time": 4.04345e-06, + "pair_scoring_time": 2.6331e-05, + "grouping_time": 6.48039e-06, + "full_time": 2.68403e-05, + "merge_time": 1.17703e-05, + "post_time": 7.74161e-06, + "convert_time": 1.379e-07, + "total_time": 0.000110955 } { "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 847, + "total_preds": 839, "considered_empty": 0, "valid_preds": 477, - "invalid_preds": 370, + "invalid_preds": 362, "missing": 0, - "invalid_fraction": 0.43684, - "precision": 0.56316, + "invalid_fraction": 0.43147, + "precision": 0.56853, "recall": 1.0, - "f1": 0.72054, - "non_empty": 847 + "f1": 0.72492, + "non_empty": 839 }, "mpjpe": { "count": 477, - "mean": 0.047552, - "median": 0.042651, - "std": 0.014836, - "sem": 0.00068, - "min": 0.028932, - "max": 0.107384, + "mean": 0.047475, + "median": 0.042505, + "std": 0.01481, + "sem": 0.000679, + "min": 0.028778, + "max": 0.107262, "recall-0.025": 0.0, - "recall-0.05": 0.721174, - "recall-0.1": 0.987421, + "recall-0.05": 0.725367, + "recall-0.1": 0.985325, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477, "ap-0.025": 0.0, - "ap-0.05": 0.453828, - "ap-0.1": 0.752279, - "ap-0.15": 0.761672, - "ap-0.25": 0.761672, - "ap-0.5": 0.761672 + "ap-0.05": 0.459533, + "ap-0.1": 0.75171, + "ap-0.15": 0.762056, + "ap-0.25": 0.762056, + "ap-0.5": 0.762056 }, "head": { "count": 477, - "mean": 0.053389, - "median": 0.049509, - "std": 0.025237, - "sem": 0.001157, - "min": 0.005816, - "max": 0.182842, - "recall-0.025": 0.098532, - "recall-0.05": 0.524109, - "recall-0.1": 0.932914, + "mean": 0.052991, + "median": 0.048986, + "std": 0.025142, + "sem": 0.001152, + "min": 0.006559, + "max": 0.183673, + "recall-0.025": 0.106918, + "recall-0.05": 0.522013, + "recall-0.1": 0.937107, "recall-0.15": 0.993711, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -372,14 +372,14 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_left": { "count": 477, - "mean": 0.041942, - "median": 0.036994, - "std": 0.020721, - "sem": 0.00095, - "min": 0.003417, - "max": 0.1347, - "recall-0.025": 0.180294, - "recall-0.05": 0.740042, + "mean": 0.041955, + "median": 0.037041, + "std": 0.020741, + "sem": 0.000951, + "min": 0.004368, + "max": 0.132918, + "recall-0.025": 0.174004, + "recall-0.05": 0.754717, "recall-0.1": 0.985325, "recall-0.15": 1.0, "recall-0.25": 1.0, @@ -388,15 +388,15 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 477, - "mean": 0.049639, - "median": 0.046473, - "std": 0.02293, - "sem": 0.001051, + "mean": 0.049593, + "median": 0.046469, + "std": 0.022897, + "sem": 0.001049, "min": 0.005334, - "max": 0.148049, - "recall-0.025": 0.104822, - "recall-0.05": 0.559748, - "recall-0.1": 0.958071, + "max": 0.148157, + "recall-0.025": 0.100629, + "recall-0.05": 0.561845, + "recall-0.1": 0.955975, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -404,15 +404,15 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 477, - "mean": 0.04012, - "median": 0.032194, - "std": 0.026044, - "sem": 0.001194, - "min": 0.003888, - "max": 0.146492, - "recall-0.025": 0.301887, - "recall-0.05": 0.752621, - "recall-0.1": 0.953878, + "mean": 0.039987, + "median": 0.03197, + "std": 0.026065, + "sem": 0.001195, + "min": 0.003618, + "max": 0.145663, + "recall-0.025": 0.312369, + "recall-0.05": 0.756813, + "recall-0.1": 0.955975, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -420,63 +420,63 @@ Results of the model in various experiments on different datasets. \ }, "elbow_right": { "count": 477, - "mean": 0.053554, - "median": 0.043893, - "std": 0.04184, - "sem": 0.001918, - "min": 0.004565, - "max": 0.242926, - "recall-0.025": 0.251572, - "recall-0.05": 0.563941, - "recall-0.1": 0.903564, - "recall-0.15": 0.953878, + "mean": 0.053225, + "median": 0.043315, + "std": 0.040534, + "sem": 0.001858, + "min": 0.003567, + "max": 0.242994, + "recall-0.025": 0.27044, + "recall-0.05": 0.561845, + "recall-0.1": 0.897275, + "recall-0.15": 0.962264, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_left": { "count": 477, - "mean": 0.059128, - "median": 0.054299, - "std": 0.038605, - "sem": 0.001769, - "min": 0.001595, - "max": 0.314599, - "recall-0.025": 0.155136, - "recall-0.05": 0.412998, + "mean": 0.05886, + "median": 0.053989, + "std": 0.037537, + "sem": 0.001721, + "min": 0.00164, + "max": 0.32449, + "recall-0.025": 0.146751, + "recall-0.05": 0.415094, "recall-0.1": 0.91195, - "recall-0.15": 0.968553, - "recall-0.25": 0.991614, + "recall-0.15": 0.966457, + "recall-0.25": 0.993711, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_right": { "count": 477, - "mean": 0.057842, - "median": 0.053422, - "std": 0.030863, - "sem": 0.001415, - "min": 0.008434, - "max": 0.207547, - "recall-0.025": 0.109015, - "recall-0.05": 0.442348, - "recall-0.1": 0.907757, - "recall-0.15": 0.981132, + "mean": 0.057792, + "median": 0.053472, + "std": 0.031027, + "sem": 0.001422, + "min": 0.008622, + "max": 0.208627, + "recall-0.025": 0.113208, + "recall-0.05": 0.440252, + "recall-0.1": 0.90566, + "recall-0.15": 0.983229, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "hip_left": { "count": 477, - "mean": 0.047445, - "median": 0.042018, - "std": 0.025701, - "sem": 0.001178, - "min": 0.006507, - "max": 0.142872, + "mean": 0.047691, + "median": 0.042435, + "std": 0.025943, + "sem": 0.001189, + "min": 0.008125, + "max": 0.145941, "recall-0.025": 0.186583, - "recall-0.05": 0.631027, - "recall-0.1": 0.955975, + "recall-0.05": 0.628931, + "recall-0.1": 0.958071, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -484,15 +484,15 @@ Results of the model in various experiments on different datasets. \ }, "hip_right": { "count": 477, - "mean": 0.057685, - "median": 0.058526, - "std": 0.024022, - "sem": 0.001101, - "min": 0.00703, - "max": 0.130479, - "recall-0.025": 0.104822, - "recall-0.05": 0.356394, - "recall-0.1": 0.9413, + "mean": 0.057591, + "median": 0.058504, + "std": 0.023873, + "sem": 0.001094, + "min": 0.006301, + "max": 0.132422, + "recall-0.025": 0.102725, + "recall-0.05": 0.354298, + "recall-0.1": 0.943396, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -500,15 +500,15 @@ Results of the model in various experiments on different datasets. \ }, "knee_left": { "count": 477, - "mean": 0.040205, - "median": 0.03742, - "std": 0.024358, - "sem": 0.001116, - "min": 0.006193, - "max": 0.190208, - "recall-0.025": 0.255765, - "recall-0.05": 0.756813, - "recall-0.1": 0.974843, + "mean": 0.040294, + "median": 0.037394, + "std": 0.024582, + "sem": 0.001127, + "min": 0.00468, + "max": 0.190112, + "recall-0.025": 0.264151, + "recall-0.05": 0.752621, + "recall-0.1": 0.972746, "recall-0.15": 0.989518, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -516,14 +516,14 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 477, - "mean": 0.039775, - "median": 0.035222, - "std": 0.023097, - "sem": 0.001059, - "min": 0.006395, - "max": 0.184949, - "recall-0.025": 0.303983, - "recall-0.05": 0.727463, + "mean": 0.039683, + "median": 0.035562, + "std": 0.023058, + "sem": 0.001057, + "min": 0.005833, + "max": 0.184978, + "recall-0.025": 0.318658, + "recall-0.05": 0.735849, "recall-0.1": 0.974843, "recall-0.15": 0.997904, "recall-0.25": 1.0, @@ -532,13 +532,13 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 477, - "mean": 0.036458, - "median": 0.028094, - "std": 0.03061, - "sem": 0.001403, - "min": 0.004185, - "max": 0.222831, - "recall-0.025": 0.429769, + "mean": 0.036416, + "median": 0.027617, + "std": 0.030557, + "sem": 0.001401, + "min": 0.004893, + "max": 0.223793, + "recall-0.025": 0.42348, "recall-0.05": 0.819706, "recall-0.1": 0.947589, "recall-0.15": 0.983229, @@ -548,15 +548,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 477, - "mean": 0.040999, - "median": 0.030877, - "std": 0.038354, - "sem": 0.001758, - "min": 0.002443, - "max": 0.287278, - "recall-0.025": 0.30608, - "recall-0.05": 0.813417, - "recall-0.1": 0.928721, + "mean": 0.041098, + "median": 0.030845, + "std": 0.038414, + "sem": 0.001761, + "min": 0.003445, + "max": 0.28852, + "recall-0.025": 0.301887, + "recall-0.05": 0.807128, + "recall-0.1": 0.930818, "recall-0.15": 0.966457, "recall-0.25": 0.995807, "recall-0.5": 1.0, @@ -564,11 +564,11 @@ Results of the model in various experiments on different datasets. \ }, "joint_recalls": { "num_labels": 6201, - "recall-0.025": 0.21351, - "recall-0.05": 0.62151, + "recall-0.025": 0.21609, + "recall-0.05": 0.62329, "recall-0.1": 0.94356, - "recall-0.15": 0.98662, - "recall-0.25": 0.99871, + "recall-0.15": 0.98742, + "recall-0.25": 0.99903, "recall-0.5": 1.0 } } @@ -577,98 +577,118 @@ Results of the model in various experiments on different datasets. \ "correct_parts": 6625, "pcp": 0.992063 } +{ + "total_parts": { + "1": 2790, + "3": 1610, + "2": 370, + "sum": 4770 + }, + "correct_parts": { + "1": 2790, + "3": 1610, + "2": 370, + "sum": 4770 + }, + "pcp": { + "1": 1.0, + "3": 1.0, + "2": 1.0, + "avg": 1.0 + } +} ``` ### Campus ```json { - "img_loading": 0.00479131, - "demosaicing": 0.000109975, - "avg_time_2d": 0.00481255, - "avg_time_3d": 3.46939e-05, - "time_tracks": 5.59292e-07, - "fps": 201.703 + "img_loading": 0.00474583, + "demosaicing": 0.000182246, + "avg_time_2d": 0.006994, + "avg_time_3d": 4.00988e-05, + "time_tracks": 7.41094e-07, + "fps": 138.56 } { "triangulator_calls": 222, - "init_time": 2.07871e-06, - "undistort_time": 5.81449e-06, - "project_time": 9.79824e-07, - "match_time": 2.67114e-06, - "pairs_time": 4.23829e-07, - "pair_scoring_time": 4.36216e-06, - "grouping_time": 9.25365e-07, - "full_time": 5.44962e-06, - "merge_time": 2.59767e-06, - "post_time": 4.98663e-06, - "convert_time": 8.98243e-08, - "total_time": 3.06292e-05 + "init_time": 2.40937e-06, + "undistort_time": 5.79809e-06, + "project_time": 1.04741e-06, + "match_time": 2.8605e-06, + "pairs_time": 4.76198e-07, + "pair_scoring_time": 5.13216e-06, + "grouping_time": 1.41978e-06, + "full_time": 6.60292e-06, + "merge_time": 2.97085e-06, + "post_time": 6.31724e-06, + "convert_time": 1.13797e-07, + "total_time": 3.53814e-05 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 457, + "total_preds": 454, "considered_empty": 0, "valid_preds": 376, - "invalid_preds": 81, + "invalid_preds": 78, "missing": 0, - "invalid_fraction": 0.17724, - "precision": 0.82276, + "invalid_fraction": 0.17181, + "precision": 0.82819, "recall": 1.0, - "f1": 0.90276, - "non_empty": 457 + "f1": 0.90602, + "non_empty": 454 }, "mpjpe": { "count": 376, - "mean": 0.075152, - "median": 0.072589, - "std": 0.014426, - "sem": 0.000745, - "min": 0.040047, - "max": 0.12107, + "mean": 0.075162, + "median": 0.072556, + "std": 0.014034, + "sem": 0.000725, + "min": 0.039602, + "max": 0.1325, "recall-0.025": 0.0, - "recall-0.05": 0.007979, - "recall-0.1": 0.930851, + "recall-0.05": 0.00266, + "recall-0.1": 0.93883, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, - "ap-0.05": 8.3e-05, - "ap-0.1": 0.842634, - "ap-0.15": 0.966628, - "ap-0.25": 0.966628, - "ap-0.5": 0.966628 + "ap-0.05": 4e-05, + "ap-0.1": 0.858799, + "ap-0.15": 0.966406, + "ap-0.25": 0.966406, + "ap-0.5": 0.966406 }, "head": { "count": 376, - "mean": 0.06324, - "median": 0.062777, - "std": 0.025964, - "sem": 0.001341, - "min": 0.007715, - "max": 0.197424, - "recall-0.025": 0.055851, - "recall-0.05": 0.31117, - "recall-0.1": 0.928191, - "recall-0.15": 0.992021, + "mean": 0.062777, + "median": 0.061742, + "std": 0.025212, + "sem": 0.001302, + "min": 0.009563, + "max": 0.198442, + "recall-0.025": 0.050532, + "recall-0.05": 0.305851, + "recall-0.1": 0.933511, + "recall-0.15": 0.994681, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "shoulder_left": { "count": 376, - "mean": 0.066815, - "median": 0.064487, - "std": 0.029383, - "sem": 0.001517, - "min": 0.016733, - "max": 0.205046, - "recall-0.025": 0.039894, + "mean": 0.066762, + "median": 0.064778, + "std": 0.029588, + "sem": 0.001528, + "min": 0.013559, + "max": 0.205286, + "recall-0.025": 0.045213, "recall-0.05": 0.321809, - "recall-0.1": 0.893617, + "recall-0.1": 0.885638, "recall-0.15": 0.984043, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -676,15 +696,15 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_right": { "count": 376, - "mean": 0.069422, - "median": 0.062402, - "std": 0.03191, + "mean": 0.069569, + "median": 0.06227, + "std": 0.031907, "sem": 0.001648, - "min": 0.017401, - "max": 0.198707, + "min": 0.017146, + "max": 0.198854, "recall-0.025": 0.018617, - "recall-0.05": 0.316489, - "recall-0.1": 0.837766, + "recall-0.05": 0.31117, + "recall-0.1": 0.840426, "recall-0.15": 0.970745, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -692,127 +712,127 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 376, - "mean": 0.089749, - "median": 0.072996, - "std": 0.053356, - "sem": 0.002755, - "min": 0.009937, - "max": 0.283516, - "recall-0.025": 0.029255, - "recall-0.05": 0.242021, - "recall-0.1": 0.648936, + "mean": 0.090032, + "median": 0.073021, + "std": 0.053197, + "sem": 0.002747, + "min": 0.013567, + "max": 0.283982, + "recall-0.025": 0.026596, + "recall-0.05": 0.236702, + "recall-0.1": 0.646277, "recall-0.15": 0.867021, - "recall-0.25": 0.992021, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_right": { "count": 376, - "mean": 0.077764, - "median": 0.070519, - "std": 0.037706, - "sem": 0.001947, - "min": 0.004749, - "max": 0.194529, - "recall-0.025": 0.042553, + "mean": 0.077673, + "median": 0.070847, + "std": 0.037779, + "sem": 0.001951, + "min": 0.001558, + "max": 0.184804, + "recall-0.025": 0.037234, "recall-0.05": 0.276596, "recall-0.1": 0.726064, - "recall-0.15": 0.944149, + "recall-0.15": 0.941489, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_left": { "count": 376, - "mean": 0.128876, - "median": 0.113244, - "std": 0.068811, - "sem": 0.003553, - "min": 0.015136, - "max": 0.348579, + "mean": 0.13004, + "median": 0.115432, + "std": 0.068219, + "sem": 0.003523, + "min": 0.017061, + "max": 0.345868, "recall-0.025": 0.013298, - "recall-0.05": 0.079787, - "recall-0.1": 0.420213, - "recall-0.15": 0.670213, - "recall-0.25": 0.917553, + "recall-0.05": 0.077128, + "recall-0.1": 0.396277, + "recall-0.15": 0.672872, + "recall-0.25": 0.922872, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.101938, - "median": 0.097149, - "std": 0.043861, - "sem": 0.002265, - "min": 0.002425, - "max": 0.277643, + "mean": 0.101756, + "median": 0.096874, + "std": 0.044372, + "sem": 0.002291, + "min": 0.00426, + "max": 0.279842, "recall-0.025": 0.005319, - "recall-0.05": 0.093085, - "recall-0.1": 0.521277, - "recall-0.15": 0.867021, + "recall-0.05": 0.101064, + "recall-0.1": 0.523936, + "recall-0.15": 0.861702, "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, "hip_left": { "count": 376, - "mean": 0.067665, - "median": 0.064568, - "std": 0.024422, - "sem": 0.001261, - "min": 0.014176, - "max": 0.167623, + "mean": 0.067438, + "median": 0.064184, + "std": 0.024754, + "sem": 0.001278, + "min": 0.014493, + "max": 0.166706, "recall-0.025": 0.018617, "recall-0.05": 0.239362, - "recall-0.1": 0.898936, - "recall-0.15": 0.992021, + "recall-0.1": 0.893617, + "recall-0.15": 0.994681, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "hip_right": { "count": 376, - "mean": 0.065513, - "median": 0.059695, - "std": 0.034493, - "sem": 0.001781, - "min": 0.005283, - "max": 0.259007, - "recall-0.025": 0.053191, - "recall-0.05": 0.359043, - "recall-0.1": 0.904255, - "recall-0.15": 0.973404, - "recall-0.25": 0.992021, + "mean": 0.063234, + "median": 0.061541, + "std": 0.027789, + "sem": 0.001435, + "min": 0.011516, + "max": 0.197949, + "recall-0.025": 0.045213, + "recall-0.05": 0.367021, + "recall-0.1": 0.917553, + "recall-0.15": 0.989362, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "knee_left": { "count": 376, - "mean": 0.055998, - "median": 0.053819, - "std": 0.025189, - "sem": 0.001301, - "min": 0.006816, - "max": 0.178334, - "recall-0.025": 0.090426, - "recall-0.05": 0.430851, + "mean": 0.057101, + "median": 0.055438, + "std": 0.023745, + "sem": 0.001226, + "min": 0.006714, + "max": 0.175629, + "recall-0.025": 0.071809, + "recall-0.05": 0.390957, "recall-0.1": 0.954787, - "recall-0.15": 0.989362, + "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "knee_right": { "count": 376, - "mean": 0.053549, - "median": 0.049537, - "std": 0.02723, - "sem": 0.001406, - "min": 0.008841, - "max": 0.230822, - "recall-0.025": 0.087766, - "recall-0.05": 0.50266, - "recall-0.1": 0.954787, + "mean": 0.054043, + "median": 0.049743, + "std": 0.027289, + "sem": 0.001409, + "min": 0.011142, + "max": 0.228754, + "recall-0.025": 0.077128, + "recall-0.05": 0.505319, + "recall-0.1": 0.952128, "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -820,50 +840,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 376, - "mean": 0.072542, - "median": 0.066373, - "std": 0.043744, - "sem": 0.002259, - "min": 0.009841, - "max": 0.378337, - "recall-0.025": 0.042553, - "recall-0.05": 0.332447, - "recall-0.1": 0.853723, + "mean": 0.071464, + "median": 0.065404, + "std": 0.04228, + "sem": 0.002183, + "min": 0.010298, + "max": 0.378232, + "recall-0.025": 0.045213, + "recall-0.05": 0.329787, + "recall-0.1": 0.861702, "recall-0.15": 0.954787, - "recall-0.25": 0.989362, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_right": { "count": 376, - "mean": 0.063903, - "median": 0.052158, - "std": 0.045647, - "sem": 0.002357, - "min": 0.007344, - "max": 0.373408, + "mean": 0.065216, + "median": 0.052692, + "std": 0.047867, + "sem": 0.002472, + "min": 0.0034, + "max": 0.378972, "recall-0.025": 0.069149, "recall-0.05": 0.43617, - "recall-0.1": 0.87766, - "recall-0.15": 0.957447, - "recall-0.25": 0.989362, + "recall-0.1": 0.87234, + "recall-0.15": 0.952128, + "recall-0.25": 0.986702, "recall-0.5": 1.0, "num_labels": 376 }, "joint_recalls": { "num_labels": 4888, - "recall-0.025": 0.04194, - "recall-0.05": 0.30176, - "recall-0.1": 0.79992, - "recall-0.15": 0.93351, - "recall-0.25": 0.98936, + "recall-0.025": 0.03948, + "recall-0.05": 0.29828, + "recall-0.1": 0.7989, + "recall-0.15": 0.93453, + "recall-0.25": 0.99018, "recall-0.5": 1.0 } } { "total_parts": 5264, - "correct_parts": 5004, - "pcp": 0.950608 + "correct_parts": 5013, + "pcp": 0.952318 } ``` @@ -875,6 +895,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.0002937, "avg_time_2d": 0.00802104, "avg_time_3d": 4.47021e-05, + "time_tracks": 0, "fps": 119.625 } { @@ -1094,680 +1115,107 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0472362, - "demosaicing": 0.00104078, - "avg_time_2d": 0.016779, - "avg_time_3d": 0.000147258, - "fps": 55.6575 + "img_loading": 0.0479199, + "demosaicing": 0.00102993, + "avg_time_2d": 0.0167737, + "avg_time_3d": 0.000150704, + "time_tracks": 1.38331e-06, + "fps": 55.6924 } { "triangulator_calls": 420, - "init_time": 2.83825e-06, - "undistort_time": 1.62245e-05, - "project_time": 2.73635e-06, - "match_time": 1.22068e-05, - "pairs_time": 7.67092e-06, - "pair_scoring_time": 3.49176e-05, - "grouping_time": 7.59939e-06, - "full_time": 2.92463e-05, - "merge_time": 1.35496e-05, - "post_time": 8.52639e-06, - "convert_time": 1.49119e-07, - "total_time": 0.000135899 + "init_time": 3.30566e-06, + "undistort_time": 1.61718e-05, + "project_time": 2.97576e-06, + "match_time": 1.2894e-05, + "pairs_time": 8.03232e-06, + "pair_scoring_time": 3.56451e-05, + "grouping_time": 7.91833e-06, + "full_time": 2.95268e-05, + "merge_time": 1.38784e-05, + "post_time": 8.84109e-06, + "convert_time": 1.9884e-07, + "total_time": 0.000139622 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1488, + "total_preds": 1491, "considered_empty": 0, - "valid_preds": 1462, - "invalid_preds": 26, - "missing": 4, - "invalid_fraction": 0.01747, - "precision": 0.98253, - "recall": 0.99727, - "f1": 0.98984, - "non_empty": 1488 + "valid_preds": 1463, + "invalid_preds": 28, + "missing": 3, + "invalid_fraction": 0.01878, + "precision": 0.98122, + "recall": 0.99795, + "f1": 0.98952, + "non_empty": 1491 }, "mpjpe": { - "count": 1462, - "mean": 0.030476, - "median": 0.028098, - "std": 0.012636, - "sem": 0.000331, + "count": 1463, + "mean": 0.030572, + "median": 0.028132, + "std": 0.012776, + "sem": 0.000334, "min": 0.01063, "max": 0.124385, - "recall-0.025": 0.372442, + "recall-0.025": 0.369031, "recall-0.05": 0.931105, "recall-0.1": 0.993179, - "recall-0.15": 0.997271, - "recall-0.25": 0.997271, - "recall-0.5": 0.997271, + "recall-0.15": 0.997954, + "recall-0.25": 0.997954, + "recall-0.5": 0.997954, "num_labels": 1466, - "ap-0.025": 0.245129, - "ap-0.05": 0.91649, - "ap-0.1": 0.98951, - "ap-0.15": 0.99524, - "ap-0.25": 0.99524, - "ap-0.5": 0.99524 + "ap-0.025": 0.243066, + "ap-0.05": 0.9157, + "ap-0.1": 0.989328, + "ap-0.15": 0.995779, + "ap-0.25": 0.995779, + "ap-0.5": 0.995779 }, "nose": { - "count": 1461, - "mean": 0.015022, - "median": 0.011489, - "std": 0.017364, - "sem": 0.000454, + "count": 1462, + "mean": 0.015217, + "median": 0.011493, + "std": 0.018892, + "sem": 0.000494, "min": 0.00149, - "max": 0.276078, + "max": 0.300311, "recall-0.025": 0.91866, "recall-0.05": 0.968558, "recall-0.1": 0.993848, "recall-0.15": 0.995899, "recall-0.25": 0.996582, - "recall-0.5": 0.998633, + "recall-0.5": 0.999316, "num_labels": 1463 }, "shoulder_left": { - "count": 1462, - "mean": 0.016638, - "median": 0.014664, - "std": 0.01071, - "sem": 0.00028, + "count": 1463, + "mean": 0.016689, + "median": 0.014665, + "std": 0.010884, + "sem": 0.000285, "min": 0.000564, "max": 0.104098, "recall-0.025": 0.844475, "recall-0.05": 0.982265, - "recall-0.1": 0.996589, - "recall-0.15": 0.997271, - "recall-0.25": 0.997271, - "recall-0.5": 0.997271, - "num_labels": 1466 - }, - "shoulder_right": { - "count": 1461, - "mean": 0.016577, - "median": 0.014272, - "std": 0.01107, - "sem": 0.00029, - "min": 0.001248, - "max": 0.147753, - "recall-0.025": 0.833447, - "recall-0.05": 0.986348, - "recall-0.1": 0.996587, - "recall-0.15": 0.99727, - "recall-0.25": 0.99727, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "elbow_left": { - "count": 1461, - "mean": 0.021948, - "median": 0.015896, - "std": 0.020832, - "sem": 0.000545, - "min": 0.00084, - "max": 0.281775, - "recall-0.025": 0.752901, - "recall-0.05": 0.916041, - "recall-0.1": 0.990444, - "recall-0.15": 0.994539, - "recall-0.25": 0.995904, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "elbow_right": { - "count": 1461, - "mean": 0.020304, - "median": 0.015715, - "std": 0.015619, - "sem": 0.000409, - "min": 0.001752, - "max": 0.161231, - "recall-0.025": 0.801777, - "recall-0.05": 0.945318, - "recall-0.1": 0.996582, - "recall-0.15": 0.997949, - "recall-0.25": 0.998633, - "recall-0.5": 0.998633, - "num_labels": 1463 - }, - "wrist_left": { - "count": 1431, - "mean": 0.03238, - "median": 0.015898, - "std": 0.048121, - "sem": 0.001273, - "min": 0.00015, - "max": 0.400667, - "recall-0.025": 0.698047, - "recall-0.05": 0.856346, - "recall-0.1": 0.926778, - "recall-0.15": 0.961646, - "recall-0.25": 0.981869, - "recall-0.5": 0.997908, - "num_labels": 1434 - }, - "wrist_right": { - "count": 1455, - "mean": 0.025471, - "median": 0.016112, - "std": 0.031698, - "sem": 0.000831, - "min": 0.001381, - "max": 0.279434, - "recall-0.025": 0.703297, - "recall-0.05": 0.904533, - "recall-0.1": 0.971154, - "recall-0.15": 0.984203, - "recall-0.25": 0.99794, - "recall-0.5": 0.999313, - "num_labels": 1456 - }, - "hip_left": { - "count": 1461, - "mean": 0.035183, - "median": 0.030449, - "std": 0.023031, - "sem": 0.000603, - "min": 0.002484, - "max": 0.231182, - "recall-0.025": 0.346075, - "recall-0.05": 0.842321, - "recall-0.1": 0.980887, - "recall-0.15": 0.991809, - "recall-0.25": 0.99727, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "hip_right": { - "count": 1462, - "mean": 0.036793, - "median": 0.032149, - "std": 0.024013, - "sem": 0.000628, - "min": 0.003239, - "max": 0.27157, - "recall-0.025": 0.33015, - "recall-0.05": 0.804911, - "recall-0.1": 0.97749, - "recall-0.15": 0.993861, - "recall-0.25": 0.996589, - "recall-0.5": 0.997271, - "num_labels": 1466 - }, - "knee_left": { - "count": 1461, - "mean": 0.037426, - "median": 0.032762, - "std": 0.029219, - "sem": 0.000765, - "min": 0.00406, - "max": 0.464241, - "recall-0.025": 0.296928, - "recall-0.05": 0.812969, - "recall-0.1": 0.979522, - "recall-0.15": 0.989078, - "recall-0.25": 0.993174, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "knee_right": { - "count": 1455, - "mean": 0.03731, - "median": 0.031019, - "std": 0.025418, - "sem": 0.000667, - "min": 0.004194, - "max": 0.363111, - "recall-0.025": 0.371487, - "recall-0.05": 0.76902, - "recall-0.1": 0.969842, - "recall-0.15": 0.994517, - "recall-0.25": 0.996573, - "recall-0.5": 0.997258, - "num_labels": 1459 - }, - "ankle_left": { - "count": 1459, - "mean": 0.050406, - "median": 0.031859, - "std": 0.054672, - "sem": 0.001432, - "min": 0.003265, - "max": 0.439571, - "recall-0.025": 0.370472, - "recall-0.05": 0.700615, - "recall-0.1": 0.882433, - "recall-0.15": 0.944634, - "recall-0.25": 0.980861, - "recall-0.5": 0.997266, - "num_labels": 1463 - }, - "ankle_right": { - "count": 1452, - "mean": 0.048536, - "median": 0.031361, - "std": 0.058339, - "sem": 0.001532, - "min": 0.002507, - "max": 0.485436, - "recall-0.025": 0.367808, - "recall-0.05": 0.757534, - "recall-0.1": 0.895205, - "recall-0.15": 0.926712, - "recall-0.25": 0.974658, - "recall-0.5": 0.994521, - "num_labels": 1460 - }, - "joint_recalls": { - "num_labels": 18990, - "recall-0.025": 0.58668, - "recall-0.05": 0.86493, - "recall-0.1": 0.96551, - "recall-0.15": 0.98194, - "recall-0.25": 0.99236, - "recall-0.5": 0.99726 - } -} -{ - "total_parts": 20444, - "correct_parts": 20243, - "pcp": 0.990168 -} -``` - -##### 3 cameras - -```json -{ - "img_loading": 0.0292945, - "demosaicing": 0.000700228, - "avg_time_2d": 0.0100312, - "avg_time_3d": 6.66628e-05, - "fps": 92.6094 -} -{ - "triangulator_calls": 420, - "init_time": 2.95553e-06, - "undistort_time": 9.92935e-06, - "project_time": 1.49162e-06, - "match_time": 7.1829e-06, - "pairs_time": 2.24381e-06, - "pair_scoring_time": 1.12116e-05, - "grouping_time": 2.81234e-06, - "full_time": 1.00224e-05, - "merge_time": 5.28941e-06, - "post_time": 7.89963e-06, - "convert_time": 1.68905e-07, - "total_time": 6.14426e-05 -} -{ - "person_nums": { - "total_frames": 420, - "total_labels": 1466, - "total_preds": 1379, - "considered_empty": 0, - "valid_preds": 1366, - "invalid_preds": 13, - "missing": 100, - "invalid_fraction": 0.00943, - "precision": 0.99057, - "recall": 0.93179, - "f1": 0.96028, - "non_empty": 1379 - }, - "mpjpe": { - "count": 1366, - "mean": 0.056595, - "median": 0.045554, - "std": 0.03804, - "sem": 0.00103, - "min": 0.018518, - "max": 0.348157, - "recall-0.025": 0.018417, - "recall-0.05": 0.547067, - "recall-0.1": 0.84925, - "recall-0.15": 0.902456, - "recall-0.25": 0.925648, - "recall-0.5": 0.931787, - "num_labels": 1466, - "ap-0.025": 0.004947, - "ap-0.05": 0.4475, - "ap-0.1": 0.826634, - "ap-0.15": 0.892219, - "ap-0.25": 0.917603, - "ap-0.5": 0.924455 - }, - "nose": { - "count": 1365, - "mean": 0.023824, - "median": 0.018351, - "std": 0.017653, - "sem": 0.000478, - "min": 0.00138, - "max": 0.130817, - "recall-0.025": 0.611073, - "recall-0.05": 0.848257, - "recall-0.1": 0.926863, - "recall-0.15": 0.933014, - "recall-0.25": 0.933014, - "recall-0.5": 0.933014, - "num_labels": 1463 - }, - "shoulder_left": { - "count": 1366, - "mean": 0.020138, - "median": 0.016525, - "std": 0.014325, - "sem": 0.000388, - "min": 0.000838, - "max": 0.118475, - "recall-0.025": 0.701228, - "recall-0.05": 0.901774, - "recall-0.1": 0.927694, - "recall-0.15": 0.931787, - "recall-0.25": 0.931787, - "recall-0.5": 0.931787, - "num_labels": 1466 - }, - "shoulder_right": { - "count": 1365, - "mean": 0.022731, - "median": 0.017688, - "std": 0.018447, - "sem": 0.000499, - "min": 0.002084, - "max": 0.215048, - "recall-0.025": 0.653242, - "recall-0.05": 0.87372, - "recall-0.1": 0.926962, - "recall-0.15": 0.928328, - "recall-0.25": 0.931741, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "elbow_left": { - "count": 1365, - "mean": 0.032839, - "median": 0.021354, - "std": 0.031501, - "sem": 0.000853, - "min": 0.00105, - "max": 0.2673, - "recall-0.025": 0.546758, - "recall-0.05": 0.757679, - "recall-0.1": 0.877133, - "recall-0.15": 0.926962, - "recall-0.25": 0.929693, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "elbow_right": { - "count": 1365, - "mean": 0.031128, - "median": 0.021108, - "std": 0.031112, - "sem": 0.000842, - "min": 0.002016, - "max": 0.325627, - "recall-0.025": 0.57553, - "recall-0.05": 0.788107, - "recall-0.1": 0.901572, - "recall-0.15": 0.924129, - "recall-0.25": 0.930964, - "recall-0.5": 0.933014, - "num_labels": 1463 - }, - "wrist_left": { - "count": 1336, - "mean": 0.052095, - "median": 0.02347, - "std": 0.063364, - "sem": 0.001734, - "min": 0.001228, - "max": 0.492913, - "recall-0.025": 0.486053, - "recall-0.05": 0.651325, - "recall-0.1": 0.778243, - "recall-0.15": 0.837517, - "recall-0.25": 0.91841, - "recall-0.5": 0.93166, - "num_labels": 1434 - }, - "wrist_right": { - "count": 1359, - "mean": 0.047294, - "median": 0.024005, - "std": 0.059423, - "sem": 0.001613, - "min": 0.001712, - "max": 0.353775, - "recall-0.025": 0.486951, - "recall-0.05": 0.679945, - "recall-0.1": 0.820742, - "recall-0.15": 0.873626, - "recall-0.25": 0.907967, - "recall-0.5": 0.933379, - "num_labels": 1456 - }, - "hip_left": { - "count": 1365, - "mean": 0.042968, - "median": 0.037811, - "std": 0.026631, - "sem": 0.000721, - "min": 0.001201, - "max": 0.370723, - "recall-0.025": 0.201365, - "recall-0.05": 0.666894, - "recall-0.1": 0.908532, - "recall-0.15": 0.927645, - "recall-0.25": 0.930375, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "hip_right": { - "count": 1366, - "mean": 0.05136, - "median": 0.043963, - "std": 0.032543, - "sem": 0.000881, - "min": 0.004905, - "max": 0.27157, - "recall-0.025": 0.154161, - "recall-0.05": 0.542974, - "recall-0.1": 0.873806, - "recall-0.15": 0.918145, - "recall-0.25": 0.929741, - "recall-0.5": 0.931787, - "num_labels": 1466 - }, - "knee_left": { - "count": 1353, - "mean": 0.057829, - "median": 0.04077, - "std": 0.064952, - "sem": 0.001766, - "min": 0.003716, - "max": 0.396038, - "recall-0.025": 0.217065, - "recall-0.05": 0.590444, - "recall-0.1": 0.837543, - "recall-0.15": 0.868259, - "recall-0.25": 0.895563, - "recall-0.5": 0.923549, - "num_labels": 1465 - }, - "knee_right": { - "count": 1350, - "mean": 0.063263, - "median": 0.045916, - "std": 0.063862, - "sem": 0.001739, - "min": 0.006358, - "max": 0.413608, - "recall-0.025": 0.141193, - "recall-0.05": 0.514736, - "recall-0.1": 0.833448, - "recall-0.15": 0.860178, - "recall-0.25": 0.893763, - "recall-0.5": 0.925291, - "num_labels": 1459 - }, - "ankle_left": { - "count": 1298, - "mean": 0.108053, - "median": 0.070214, - "std": 0.110487, - "sem": 0.003068, - "min": 0.002475, - "max": 0.497978, - "recall-0.025": 0.168148, - "recall-0.05": 0.367738, - "recall-0.1": 0.576213, - "recall-0.15": 0.682843, - "recall-0.25": 0.768968, - "recall-0.5": 0.887218, - "num_labels": 1463 - }, - "ankle_right": { - "count": 1283, - "mean": 0.108268, - "median": 0.051324, - "std": 0.117911, - "sem": 0.003293, - "min": 0.002089, - "max": 0.499606, - "recall-0.025": 0.173288, - "recall-0.05": 0.426027, - "recall-0.1": 0.585616, - "recall-0.15": 0.641781, - "recall-0.25": 0.743151, - "recall-0.5": 0.878767, - "num_labels": 1460 - }, - "joint_recalls": { - "num_labels": 18990, - "recall-0.025": 0.39331, - "recall-0.05": 0.66198, - "recall-0.1": 0.82854, - "recall-0.15": 0.86535, - "recall-0.25": 0.89547, - "recall-0.5": 0.92296 - } -} -{ - "total_parts": 20444, - "correct_parts": 18282, - "pcp": 0.894248 -} -``` - -##### 7 cameras - -```json -{ - "img_loading": 0.0691732, - "demosaicing": 0.00157471, - "avg_time_2d": 0.0235997, - "avg_time_3d": 0.000278223, - "fps": 39.2887 -} -{ - "triangulator_calls": 420, - "init_time": 4.45287e-06, - "undistort_time": 2.29917e-05, - "project_time": 4.28683e-06, - "match_time": 1.83516e-05, - "pairs_time": 1.81177e-05, - "pair_scoring_time": 7.50915e-05, - "grouping_time": 1.66607e-05, - "full_time": 6.10801e-05, - "merge_time": 2.87935e-05, - "post_time": 9.30181e-06, - "convert_time": 1.58762e-07, - "total_time": 0.000259525 -} -{ - "person_nums": { - "total_frames": 420, - "total_labels": 1466, - "total_preds": 1516, - "considered_empty": 0, - "valid_preds": 1463, - "invalid_preds": 53, - "missing": 3, - "invalid_fraction": 0.03496, - "precision": 0.96504, - "recall": 0.99795, - "f1": 0.98122, - "non_empty": 1516 - }, - "mpjpe": { - "count": 1463, - "mean": 0.02777, - "median": 0.024836, - "std": 0.010928, - "sem": 0.000286, - "min": 0.010042, - "max": 0.100122, - "recall-0.025": 0.508186, - "recall-0.05": 0.952933, "recall-0.1": 0.997271, "recall-0.15": 0.997954, "recall-0.25": 0.997954, "recall-0.5": 0.997954, - "num_labels": 1466, - "ap-0.025": 0.363178, - "ap-0.05": 0.931973, - "ap-0.1": 0.988724, - "ap-0.15": 0.990273, - "ap-0.25": 0.990273, - "ap-0.5": 0.990273 - }, - "nose": { - "count": 1460, - "mean": 0.013217, - "median": 0.010495, - "std": 0.014266, - "sem": 0.000373, - "min": 0.002442, - "max": 0.276078, - "recall-0.025": 0.931647, - "recall-0.05": 0.984279, - "recall-0.1": 0.995899, - "recall-0.15": 0.995899, - "recall-0.25": 0.995899, - "recall-0.5": 0.997949, - "num_labels": 1463 - }, - "shoulder_left": { - "count": 1463, - "mean": 0.014306, - "median": 0.01258, - "std": 0.008789, - "sem": 0.00023, - "min": 0.000678, - "max": 0.066125, - "recall-0.025": 0.889495, - "recall-0.05": 0.991132, - "recall-0.1": 0.997954, - "recall-0.15": 0.997954, - "recall-0.25": 0.997954, - "recall-0.5": 0.997954, "num_labels": 1466 }, "shoulder_right": { "count": 1462, - "mean": 0.015837, - "median": 0.013118, - "std": 0.010557, - "sem": 0.000276, - "min": 0.000866, - "max": 0.108435, - "recall-0.025": 0.845734, - "recall-0.05": 0.983618, + "mean": 0.016612, + "median": 0.014272, + "std": 0.011142, + "sem": 0.000292, + "min": 0.001248, + "max": 0.147753, + "recall-0.025": 0.833447, + "recall-0.05": 0.986348, "recall-0.1": 0.99727, "recall-0.15": 0.997952, "recall-0.25": 0.997952, @@ -1776,178 +1224,754 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 1462, - "mean": 0.018735, - "median": 0.015662, - "std": 0.013059, - "sem": 0.000342, - "min": 0.000432, - "max": 0.142625, - "recall-0.025": 0.799317, - "recall-0.05": 0.96587, - "recall-0.1": 0.996587, - "recall-0.15": 0.997952, - "recall-0.25": 0.997952, + "mean": 0.022011, + "median": 0.015913, + "std": 0.02096, + "sem": 0.000548, + "min": 0.00084, + "max": 0.281775, + "recall-0.025": 0.752901, + "recall-0.05": 0.916041, + "recall-0.1": 0.990444, + "recall-0.15": 0.995222, + "recall-0.25": 0.996587, "recall-0.5": 0.997952, "num_labels": 1465 }, "elbow_right": { - "count": 1460, - "mean": 0.018781, - "median": 0.015557, - "std": 0.013965, - "sem": 0.000366, - "min": 0.001389, - "max": 0.15785, - "recall-0.025": 0.840055, - "recall-0.05": 0.958305, - "recall-0.1": 0.993848, - "recall-0.15": 0.997266, - "recall-0.25": 0.997949, - "recall-0.5": 0.997949, + "count": 1462, + "mean": 0.020344, + "median": 0.015717, + "std": 0.015692, + "sem": 0.000411, + "min": 0.001752, + "max": 0.161231, + "recall-0.025": 0.801777, + "recall-0.05": 0.945318, + "recall-0.1": 0.997266, + "recall-0.15": 0.998633, + "recall-0.25": 0.999316, + "recall-0.5": 0.999316, "num_labels": 1463 }, "wrist_left": { - "count": 1431, - "mean": 0.023223, - "median": 0.01503, - "std": 0.026136, - "sem": 0.000691, - "min": 0.000898, - "max": 0.222116, - "recall-0.025": 0.737099, - "recall-0.05": 0.911437, - "recall-0.1": 0.967922, - "recall-0.15": 0.987448, - "recall-0.25": 0.997908, - "recall-0.5": 0.997908, + "count": 1432, + "mean": 0.03242, + "median": 0.015947, + "std": 0.048128, + "sem": 0.001272, + "min": 0.00015, + "max": 0.400667, + "recall-0.025": 0.698047, + "recall-0.05": 0.856346, + "recall-0.1": 0.927476, + "recall-0.15": 0.962343, + "recall-0.25": 0.982566, + "recall-0.5": 0.998605, "num_labels": 1434 }, "wrist_right": { - "count": 1455, - "mean": 0.022685, - "median": 0.01411, - "std": 0.029711, - "sem": 0.000779, - "min": 0.001174, - "max": 0.311362, - "recall-0.025": 0.76511, - "recall-0.05": 0.923764, - "recall-0.1": 0.973901, + "count": 1456, + "mean": 0.025538, + "median": 0.016124, + "std": 0.031791, + "sem": 0.000833, + "min": 0.001381, + "max": 0.279434, + "recall-0.025": 0.703297, + "recall-0.05": 0.904533, + "recall-0.1": 0.971154, "recall-0.15": 0.98489, - "recall-0.25": 0.996566, - "recall-0.5": 0.999313, + "recall-0.25": 0.998626, + "recall-0.5": 1.0, "num_labels": 1456 }, "hip_left": { "count": 1462, - "mean": 0.029493, - "median": 0.027594, - "std": 0.015436, - "sem": 0.000404, - "min": 0.001996, - "max": 0.12705, - "recall-0.025": 0.436177, - "recall-0.05": 0.897611, - "recall-0.1": 0.995904, - "recall-0.15": 0.997952, + "mean": 0.035237, + "median": 0.030458, + "std": 0.023117, + "sem": 0.000605, + "min": 0.002484, + "max": 0.231182, + "recall-0.025": 0.346075, + "recall-0.05": 0.842321, + "recall-0.1": 0.980887, + "recall-0.15": 0.992491, "recall-0.25": 0.997952, "recall-0.5": 0.997952, "num_labels": 1465 }, "hip_right": { "count": 1463, - "mean": 0.032338, - "median": 0.028867, - "std": 0.01861, - "sem": 0.000487, - "min": 0.001585, - "max": 0.196952, - "recall-0.025": 0.389495, - "recall-0.05": 0.866985, - "recall-0.1": 0.991814, + "mean": 0.036829, + "median": 0.032162, + "std": 0.024043, + "sem": 0.000629, + "min": 0.003239, + "max": 0.27157, + "recall-0.025": 0.33015, + "recall-0.05": 0.804911, + "recall-0.1": 0.978172, "recall-0.15": 0.994543, - "recall-0.25": 0.997954, + "recall-0.25": 0.997271, "recall-0.5": 0.997954, "num_labels": 1466 }, "knee_left": { "count": 1462, - "mean": 0.031934, - "median": 0.028307, - "std": 0.018752, - "sem": 0.000491, - "min": 0.002743, - "max": 0.153637, - "recall-0.025": 0.416382, - "recall-0.05": 0.864846, - "recall-0.1": 0.989078, - "recall-0.15": 0.996587, - "recall-0.25": 0.997952, + "mean": 0.037451, + "median": 0.032777, + "std": 0.029225, + "sem": 0.000765, + "min": 0.00406, + "max": 0.464241, + "recall-0.025": 0.296928, + "recall-0.05": 0.812969, + "recall-0.1": 0.980205, + "recall-0.15": 0.989761, + "recall-0.25": 0.993857, "recall-0.5": 0.997952, "num_labels": 1465 }, "knee_right": { - "count": 1457, - "mean": 0.034476, - "median": 0.03083, - "std": 0.019836, + "count": 1456, + "mean": 0.037347, + "median": 0.031036, + "std": 0.02543, + "sem": 0.000667, + "min": 0.004194, + "max": 0.363111, + "recall-0.025": 0.371487, + "recall-0.05": 0.768334, + "recall-0.1": 0.970528, + "recall-0.15": 0.995202, + "recall-0.25": 0.997258, + "recall-0.5": 0.997944, + "num_labels": 1459 + }, + "ankle_left": { + "count": 1460, + "mean": 0.050611, + "median": 0.032049, + "std": 0.054472, + "sem": 0.001426, + "min": 0.003265, + "max": 0.439571, + "recall-0.025": 0.370472, + "recall-0.05": 0.697881, + "recall-0.1": 0.879699, + "recall-0.15": 0.945318, + "recall-0.25": 0.982228, + "recall-0.5": 0.997949, + "num_labels": 1463 + }, + "ankle_right": { + "count": 1453, + "mean": 0.048936, + "median": 0.031418, + "std": 0.058915, + "sem": 0.001546, + "min": 0.002507, + "max": 0.485436, + "recall-0.025": 0.367123, + "recall-0.05": 0.755479, + "recall-0.1": 0.894521, + "recall-0.15": 0.926027, + "recall-0.25": 0.974658, + "recall-0.5": 0.995205, + "num_labels": 1460 + }, + "joint_recalls": { + "num_labels": 18990, + "recall-0.025": 0.58662, + "recall-0.05": 0.86445, + "recall-0.1": 0.96593, + "recall-0.15": 0.98246, + "recall-0.25": 0.99279, + "recall-0.5": 0.99768 + } +} +{ + "total_parts": 20444, + "correct_parts": 20255, + "pcp": 0.990755 +} +``` + +##### 3 cameras + +```json +{ + "img_loading": 0.0297065, + "demosaicing": 0.000688111, + "avg_time_2d": 0.0099169, + "avg_time_3d": 6.60544e-05, + "time_tracks": 1.16308e-06, + "fps": 93.7012 +} +{ + "triangulator_calls": 420, + "init_time": 2.94144e-06, + "undistort_time": 9.86922e-06, + "project_time": 1.48401e-06, + "match_time": 7.04053e-06, + "pairs_time": 2.2787e-06, + "pair_scoring_time": 1.10473e-05, + "grouping_time": 2.84531e-06, + "full_time": 9.9795e-06, + "merge_time": 5.23312e-06, + "post_time": 7.87855e-06, + "convert_time": 1.79293e-07, + "total_time": 6.10098e-05 +} +{ + "person_nums": { + "total_frames": 420, + "total_labels": 1466, + "total_preds": 1405, + "considered_empty": 0, + "valid_preds": 1387, + "invalid_preds": 18, + "missing": 79, + "invalid_fraction": 0.01281, + "precision": 0.98719, + "recall": 0.94611, + "f1": 0.96621, + "non_empty": 1405 + }, + "mpjpe": { + "count": 1387, + "mean": 0.057809, + "median": 0.045733, + "std": 0.039393, + "sem": 0.001058, + "min": 0.018518, + "max": 0.348157, + "recall-0.025": 0.017735, + "recall-0.05": 0.549795, + "recall-0.1": 0.851296, + "recall-0.15": 0.912005, + "recall-0.25": 0.939973, + "recall-0.5": 0.946112, + "num_labels": 1466, + "ap-0.025": 0.004084, + "ap-0.05": 0.446064, + "ap-0.1": 0.826788, + "ap-0.15": 0.900299, + "ap-0.25": 0.930765, + "ap-0.5": 0.937125 + }, + "nose": { + "count": 1386, + "mean": 0.024278, + "median": 0.0185, + "std": 0.018718, + "sem": 0.000503, + "min": 0.00138, + "max": 0.185287, + "recall-0.025": 0.616541, + "recall-0.05": 0.857143, + "recall-0.1": 0.93985, + "recall-0.15": 0.946685, + "recall-0.25": 0.947368, + "recall-0.5": 0.947368, + "num_labels": 1463 + }, + "shoulder_left": { + "count": 1387, + "mean": 0.020631, + "median": 0.016653, + "std": 0.016094, + "sem": 0.000432, + "min": 0.000838, + "max": 0.233408, + "recall-0.025": 0.706003, + "recall-0.05": 0.911323, + "recall-0.1": 0.939973, + "recall-0.15": 0.944748, + "recall-0.25": 0.946112, + "recall-0.5": 0.946112, + "num_labels": 1466 + }, + "shoulder_right": { + "count": 1386, + "mean": 0.023485, + "median": 0.017809, + "std": 0.021117, + "sem": 0.000567, + "min": 0.002084, + "max": 0.215048, + "recall-0.025": 0.656655, + "recall-0.05": 0.883276, + "recall-0.1": 0.937201, + "recall-0.15": 0.939932, + "recall-0.25": 0.946075, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "elbow_left": { + "count": 1386, + "mean": 0.033508, + "median": 0.021443, + "std": 0.03405, + "sem": 0.000915, + "min": 0.00105, + "max": 0.406529, + "recall-0.025": 0.551536, + "recall-0.05": 0.765188, + "recall-0.1": 0.890102, + "recall-0.15": 0.939932, + "recall-0.25": 0.942662, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "elbow_right": { + "count": 1386, + "mean": 0.031599, + "median": 0.021155, + "std": 0.032062, + "sem": 0.000862, + "min": 0.002016, + "max": 0.325627, + "recall-0.025": 0.579631, + "recall-0.05": 0.797676, + "recall-0.1": 0.912509, + "recall-0.15": 0.936432, + "recall-0.25": 0.945318, + "recall-0.5": 0.947368, + "num_labels": 1463 + }, + "wrist_left": { + "count": 1357, + "mean": 0.052803, + "median": 0.024023, + "std": 0.064029, + "sem": 0.001739, + "min": 0.001228, + "max": 0.492913, + "recall-0.025": 0.488145, + "recall-0.05": 0.656904, + "recall-0.1": 0.788006, + "recall-0.15": 0.848675, + "recall-0.25": 0.933054, + "recall-0.5": 0.946304, + "num_labels": 1434 + }, + "wrist_right": { + "count": 1380, + "mean": 0.048042, + "median": 0.024233, + "std": 0.060625, + "sem": 0.001633, + "min": 0.001712, + "max": 0.405436, + "recall-0.025": 0.489698, + "recall-0.05": 0.686813, + "recall-0.1": 0.831044, + "recall-0.15": 0.885302, + "recall-0.25": 0.921016, + "recall-0.5": 0.947802, + "num_labels": 1456 + }, + "hip_left": { + "count": 1386, + "mean": 0.043694, + "median": 0.038134, + "std": 0.027801, + "sem": 0.000747, + "min": 0.001201, + "max": 0.370723, + "recall-0.025": 0.20273, + "recall-0.05": 0.67099, + "recall-0.1": 0.916724, + "recall-0.15": 0.940614, + "recall-0.25": 0.94471, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "hip_right": { + "count": 1387, + "mean": 0.052384, + "median": 0.044002, + "std": 0.034873, + "sem": 0.000937, + "min": 0.004905, + "max": 0.27157, + "recall-0.025": 0.156889, + "recall-0.05": 0.547749, + "recall-0.1": 0.880628, + "recall-0.15": 0.92633, + "recall-0.25": 0.944065, + "recall-0.5": 0.946112, + "num_labels": 1466 + }, + "knee_left": { + "count": 1372, + "mean": 0.059338, + "median": 0.041103, + "std": 0.066615, + "sem": 0.001799, + "min": 0.003716, + "max": 0.396038, + "recall-0.025": 0.217065, + "recall-0.05": 0.592491, + "recall-0.1": 0.840273, + "recall-0.15": 0.873038, + "recall-0.25": 0.907167, + "recall-0.5": 0.936519, + "num_labels": 1465 + }, + "knee_right": { + "count": 1372, + "mean": 0.064953, + "median": 0.046186, + "std": 0.065917, + "sem": 0.00178, + "min": 0.006358, + "max": 0.413608, + "recall-0.025": 0.141193, + "recall-0.05": 0.517478, + "recall-0.1": 0.836875, + "recall-0.15": 0.866347, + "recall-0.25": 0.9061, + "recall-0.5": 0.94037, + "num_labels": 1459 + }, + "ankle_left": { + "count": 1313, + "mean": 0.109506, + "median": 0.071209, + "std": 0.111954, + "sem": 0.003091, + "min": 0.002475, + "max": 0.497978, + "recall-0.025": 0.168831, + "recall-0.05": 0.368421, + "recall-0.1": 0.578947, + "recall-0.15": 0.686945, + "recall-0.25": 0.77512, + "recall-0.5": 0.897471, + "num_labels": 1463 + }, + "ankle_right": { + "count": 1303, + "mean": 0.111553, + "median": 0.052471, + "std": 0.120445, + "sem": 0.003338, + "min": 0.002089, + "max": 0.499606, + "recall-0.025": 0.173288, + "recall-0.05": 0.425342, + "recall-0.1": 0.585616, + "recall-0.15": 0.642466, + "recall-0.25": 0.74589, + "recall-0.5": 0.892466, + "num_labels": 1460 + }, + "joint_recalls": { + "num_labels": 18990, + "recall-0.025": 0.39563, + "recall-0.05": 0.66751, + "recall-0.1": 0.83665, + "recall-0.15": 0.87509, + "recall-0.25": 0.90758, + "recall-0.5": 0.93697 + } +} +{ + "total_parts": 20444, + "correct_parts": 18490, + "pcp": 0.904422 +} +``` + +##### 7 cameras + +```json +{ + "img_loading": 0.0676695, + "demosaicing": 0.00167722, + "avg_time_2d": 0.0236274, + "avg_time_3d": 0.000277402, + "time_tracks": 1.6014e-06, + "fps": 39.0875 +} +{ + "triangulator_calls": 420, + "init_time": 4.12762e-06, + "undistort_time": 2.27581e-05, + "project_time": 4.2093e-06, + "match_time": 1.80837e-05, + "pairs_time": 1.92128e-05, + "pair_scoring_time": 7.41403e-05, + "grouping_time": 1.65973e-05, + "full_time": 6.08105e-05, + "merge_time": 2.83742e-05, + "post_time": 9.35338e-06, + "convert_time": 1.858e-07, + "total_time": 0.000258086 +} +{ + "person_nums": { + "total_frames": 420, + "total_labels": 1466, + "total_preds": 1525, + "considered_empty": 0, + "valid_preds": 1465, + "invalid_preds": 60, + "missing": 1, + "invalid_fraction": 0.03934, + "precision": 0.96066, + "recall": 0.99932, + "f1": 0.97961, + "non_empty": 1525 + }, + "mpjpe": { + "count": 1465, + "mean": 0.027872, + "median": 0.024928, + "std": 0.011052, + "sem": 0.000289, + "min": 0.010042, + "max": 0.11011, + "recall-0.025": 0.505457, + "recall-0.05": 0.952933, + "recall-0.1": 0.998636, + "recall-0.15": 0.999318, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466, + "ap-0.025": 0.360471, + "ap-0.05": 0.930742, + "ap-0.1": 0.989824, + "ap-0.15": 0.99048, + "ap-0.25": 0.99048, + "ap-0.5": 0.99048 + }, + "nose": { + "count": 1462, + "mean": 0.013451, + "median": 0.010507, + "std": 0.016174, + "sem": 0.000423, + "min": 0.002442, + "max": 0.300311, + "recall-0.025": 0.931647, + "recall-0.05": 0.984279, + "recall-0.1": 0.996582, + "recall-0.15": 0.996582, + "recall-0.25": 0.996582, + "recall-0.5": 0.999316, + "num_labels": 1463 + }, + "shoulder_left": { + "count": 1465, + "mean": 0.014367, + "median": 0.012587, + "std": 0.009017, + "sem": 0.000236, + "min": 0.000678, + "max": 0.091593, + "recall-0.025": 0.889495, + "recall-0.05": 0.991814, + "recall-0.1": 0.999318, + "recall-0.15": 0.999318, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466 + }, + "shoulder_right": { + "count": 1464, + "mean": 0.015886, + "median": 0.013121, + "std": 0.010646, + "sem": 0.000278, + "min": 0.000866, + "max": 0.108435, + "recall-0.025": 0.845734, + "recall-0.05": 0.9843, + "recall-0.1": 0.998635, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "elbow_left": { + "count": 1464, + "mean": 0.0188, + "median": 0.015688, + "std": 0.013281, + "sem": 0.000347, + "min": 0.000432, + "max": 0.142625, + "recall-0.025": 0.8, + "recall-0.05": 0.966553, + "recall-0.1": 0.99727, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "elbow_right": { + "count": 1462, + "mean": 0.018846, + "median": 0.015574, + "std": 0.014075, + "sem": 0.000368, + "min": 0.001389, + "max": 0.15785, + "recall-0.025": 0.840055, + "recall-0.05": 0.958305, + "recall-0.1": 0.995215, + "recall-0.15": 0.998633, + "recall-0.25": 0.999316, + "recall-0.5": 0.999316, + "num_labels": 1463 + }, + "wrist_left": { + "count": 1433, + "mean": 0.02331, + "median": 0.015059, + "std": 0.026221, + "sem": 0.000693, + "min": 0.000898, + "max": 0.222116, + "recall-0.025": 0.737099, + "recall-0.05": 0.911437, + "recall-0.1": 0.969317, + "recall-0.15": 0.988842, + "recall-0.25": 0.999303, + "recall-0.5": 0.999303, + "num_labels": 1434 + }, + "wrist_right": { + "count": 1456, + "mean": 0.022755, + "median": 0.014112, + "std": 0.029818, + "sem": 0.000782, + "min": 0.001174, + "max": 0.311362, + "recall-0.025": 0.76511, + "recall-0.05": 0.923764, + "recall-0.1": 0.973901, + "recall-0.15": 0.985577, + "recall-0.25": 0.997253, + "recall-0.5": 1.0, + "num_labels": 1456 + }, + "hip_left": { + "count": 1464, + "mean": 0.029562, + "median": 0.027611, + "std": 0.01559, + "sem": 0.000408, + "min": 0.001996, + "max": 0.12705, + "recall-0.025": 0.436177, + "recall-0.05": 0.898294, + "recall-0.1": 0.996587, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "hip_right": { + "count": 1465, + "mean": 0.032376, + "median": 0.028909, + "std": 0.018656, + "sem": 0.000488, + "min": 0.001585, + "max": 0.196952, + "recall-0.025": 0.389495, + "recall-0.05": 0.867667, + "recall-0.1": 0.993179, + "recall-0.15": 0.995907, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466 + }, + "knee_left": { + "count": 1464, + "mean": 0.031951, + "median": 0.028307, + "std": 0.018777, + "sem": 0.000491, + "min": 0.002743, + "max": 0.153637, + "recall-0.025": 0.417065, + "recall-0.05": 0.865529, + "recall-0.1": 0.990444, + "recall-0.15": 0.997952, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "knee_right": { + "count": 1458, + "mean": 0.034502, + "median": 0.030849, + "std": 0.019855, "sem": 0.00052, "min": 0.002456, "max": 0.205948, "recall-0.025": 0.374914, "recall-0.05": 0.818369, - "recall-0.1": 0.986292, - "recall-0.15": 0.997944, - "recall-0.25": 0.998629, - "recall-0.5": 0.998629, + "recall-0.1": 0.986977, + "recall-0.15": 0.998629, + "recall-0.25": 0.999315, + "recall-0.5": 0.999315, "num_labels": 1459 }, "ankle_left": { - "count": 1459, - "mean": 0.054458, - "median": 0.033123, - "std": 0.059469, - "sem": 0.001557, + "count": 1461, + "mean": 0.054406, + "median": 0.033161, + "std": 0.058541, + "sem": 0.001532, "min": 0.002262, "max": 0.458662, - "recall-0.025": 0.367054, - "recall-0.05": 0.663021, + "recall-0.025": 0.36637, + "recall-0.05": 0.660971, "recall-0.1": 0.856459, - "recall-0.15": 0.920711, - "recall-0.25": 0.978127, - "recall-0.5": 0.997266, + "recall-0.15": 0.922078, + "recall-0.25": 0.980861, + "recall-0.5": 0.998633, "num_labels": 1463 }, "ankle_right": { - "count": 1455, - "mean": 0.049672, - "median": 0.029994, - "std": 0.06081, - "sem": 0.001595, + "count": 1457, + "mean": 0.050245, + "median": 0.030058, + "std": 0.06195, + "sem": 0.001624, "min": 0.001983, "max": 0.48623, - "recall-0.025": 0.381507, - "recall-0.05": 0.75274, - "recall-0.1": 0.887671, - "recall-0.15": 0.933562, + "recall-0.025": 0.380822, + "recall-0.05": 0.750685, + "recall-0.1": 0.886301, + "recall-0.15": 0.932877, "recall-0.25": 0.971918, - "recall-0.5": 0.996575, + "recall-0.5": 0.997945, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.62823, + "recall-0.025": 0.62828, "recall-0.05": 0.89073, - "recall-0.1": 0.9712, - "recall-0.15": 0.98441, - "recall-0.25": 0.99384, - "recall-0.5": 0.99747 + "recall-0.1": 0.97199, + "recall-0.15": 0.98531, + "recall-0.25": 0.99505, + "recall-0.5": 0.99884 } } { "total_parts": 20444, - "correct_parts": 20328, - "pcp": 0.994326 + "correct_parts": 20350, + "pcp": 0.995402 } ``` @@ -1955,63 +1979,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0918391, - "demosaicing": 0.00234244, - "avg_time_2d": 0.032068, - "avg_time_3d": 0.000509022, - "fps": 28.6373 + "img_loading": 0.0909658, + "demosaicing": 0.00242828, + "avg_time_2d": 0.0324017, + "avg_time_3d": 0.00050742, + "time_tracks": 2.20957e-06, + "fps": 28.2969 } { "triangulator_calls": 420, - "init_time": 5.07809e-06, - "undistort_time": 3.17605e-05, - "project_time": 6.21849e-06, - "match_time": 2.64733e-05, - "pairs_time": 4.0161e-05, - "pair_scoring_time": 0.000154257, - "grouping_time": 3.21627e-05, - "full_time": 0.000113045, - "merge_time": 5.76427e-05, - "post_time": 9.86215e-06, - "convert_time": 1.75738e-07, - "total_time": 0.000477074 + "init_time": 5.11671e-06, + "undistort_time": 3.19434e-05, + "project_time": 5.91598e-06, + "match_time": 2.61242e-05, + "pairs_time": 4.20959e-05, + "pair_scoring_time": 0.000152818, + "grouping_time": 3.22265e-05, + "full_time": 0.000112121, + "merge_time": 5.77592e-05, + "post_time": 9.8474e-06, + "convert_time": 2.03929e-07, + "total_time": 0.000476412 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1507, + "total_preds": 1514, "considered_empty": 0, "valid_preds": 1465, - "invalid_preds": 42, + "invalid_preds": 49, "missing": 1, - "invalid_fraction": 0.02787, - "precision": 0.97213, + "invalid_fraction": 0.03236, + "precision": 0.96764, "recall": 0.99932, - "f1": 0.98554, - "non_empty": 1507 + "f1": 0.98322, + "non_empty": 1514 }, "mpjpe": { "count": 1465, - "mean": 0.023772, - "median": 0.021615, - "std": 0.008777, - "sem": 0.000229, + "mean": 0.023806, + "median": 0.021658, + "std": 0.00879, + "sem": 0.00023, "min": 0.009663, "max": 0.096886, - "recall-0.025": 0.683492, + "recall-0.025": 0.682128, "recall-0.05": 0.982947, "recall-0.1": 0.999318, "recall-0.15": 0.999318, "recall-0.25": 0.999318, "recall-0.5": 0.999318, "num_labels": 1466, - "ap-0.025": 0.586004, - "ap-0.05": 0.975414, - "ap-0.1": 0.996807, - "ap-0.15": 0.996807, - "ap-0.25": 0.996807, - "ap-0.5": 0.996807 + "ap-0.025": 0.584467, + "ap-0.05": 0.9751, + "ap-0.1": 0.996648, + "ap-0.15": 0.996648, + "ap-0.25": 0.996648, + "ap-0.5": 0.996648 }, "nose": { "count": 1462, @@ -2191,15 +2216,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 1461, - "mean": 0.046212, - "median": 0.029973, - "std": 0.04745, - "sem": 0.001242, + "mean": 0.046375, + "median": 0.030042, + "std": 0.047543, + "sem": 0.001244, "min": 0.002652, "max": 0.385631, - "recall-0.025": 0.41285, - "recall-0.05": 0.711552, - "recall-0.1": 0.900889, + "recall-0.025": 0.412167, + "recall-0.05": 0.709501, + "recall-0.1": 0.900205, "recall-0.15": 0.947368, "recall-0.25": 0.991114, "recall-0.5": 0.998633, @@ -2207,26 +2232,26 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 1458, - "mean": 0.045464, - "median": 0.027247, - "std": 0.054105, - "sem": 0.001417, + "mean": 0.045756, + "median": 0.027306, + "std": 0.054394, + "sem": 0.001425, "min": 0.002526, "max": 0.431889, - "recall-0.025": 0.44863, - "recall-0.05": 0.776027, - "recall-0.1": 0.9, - "recall-0.15": 0.941781, + "recall-0.025": 0.44726, + "recall-0.05": 0.773288, + "recall-0.1": 0.89863, + "recall-0.15": 0.941096, "recall-0.25": 0.981507, "recall-0.5": 0.99863, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.69831, - "recall-0.05": 0.92765, - "recall-0.1": 0.98067, - "recall-0.15": 0.98973, + "recall-0.025": 0.69821, + "recall-0.05": 0.92728, + "recall-0.1": 0.98041, + "recall-0.15": 0.98968, "recall-0.25": 0.997, "recall-0.5": 0.99889 } @@ -2242,63 +2267,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.319281, - "demosaicing": 0.0108859, - "avg_time_2d": 0.097923, - "avg_time_3d": 0.00507466, - "fps": 8.7809 + "img_loading": 0.310243, + "demosaicing": 0.0108448, + "avg_time_2d": 0.0979978, + "avg_time_3d": 0.00494672, + "time_tracks": 5.76096e-06, + "fps": 8.78773 } { "triangulator_calls": 420, - "init_time": 1.43217e-05, - "undistort_time": 9.91696e-05, - "project_time": 1.87331e-05, - "match_time": 8.19258e-05, - "pairs_time": 0.000455438, - "pair_scoring_time": 0.0021466, - "grouping_time": 0.000299827, - "full_time": 0.00104798, - "merge_time": 0.00067489, - "post_time": 1.1215e-05, - "convert_time": 1.93167e-07, - "total_time": 0.00485053 + "init_time": 1.40068e-05, + "undistort_time": 9.76334e-05, + "project_time": 1.83197e-05, + "match_time": 8.03562e-05, + "pairs_time": 0.000470858, + "pair_scoring_time": 0.00206245, + "grouping_time": 0.000295279, + "full_time": 0.00101673, + "merge_time": 0.00066551, + "post_time": 1.12451e-05, + "convert_time": 2.09462e-07, + "total_time": 0.00473284 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1507, + "total_preds": 1513, "considered_empty": 0, "valid_preds": 1465, - "invalid_preds": 42, + "invalid_preds": 48, "missing": 1, - "invalid_fraction": 0.02787, - "precision": 0.97213, + "invalid_fraction": 0.03173, + "precision": 0.96827, "recall": 0.99932, - "f1": 0.98554, - "non_empty": 1507 + "f1": 0.98355, + "non_empty": 1513 }, "mpjpe": { "count": 1465, - "mean": 0.019183, - "median": 0.017921, - "std": 0.006796, + "mean": 0.019218, + "median": 0.018002, + "std": 0.006801, "sem": 0.000178, "min": 0.008759, "max": 0.110571, - "recall-0.025": 0.845839, + "recall-0.025": 0.844475, "recall-0.05": 0.996589, "recall-0.1": 0.998636, "recall-0.15": 0.999318, "recall-0.25": 0.999318, "recall-0.5": 0.999318, "num_labels": 1466, - "ap-0.025": 0.790961, - "ap-0.05": 0.988824, - "ap-0.1": 0.991856, - "ap-0.15": 0.993465, - "ap-0.25": 0.993465, - "ap-0.5": 0.993465 + "ap-0.025": 0.788471, + "ap-0.05": 0.988835, + "ap-0.1": 0.991878, + "ap-0.15": 0.993488, + "ap-0.25": 0.993488, + "ap-0.5": 0.993488 }, "nose": { "count": 1462, @@ -2478,15 +2504,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 1462, - "mean": 0.034903, - "median": 0.023878, - "std": 0.031775, - "sem": 0.000831, + "mean": 0.035099, + "median": 0.02398, + "std": 0.031942, + "sem": 0.000836, "min": 0.001969, "max": 0.245439, - "recall-0.025": 0.527683, - "recall-0.05": 0.805878, - "recall-0.1": 0.93985, + "recall-0.025": 0.524949, + "recall-0.05": 0.803828, + "recall-0.1": 0.938483, "recall-0.15": 0.993165, "recall-0.25": 0.999316, "recall-0.5": 0.999316, @@ -2494,26 +2520,26 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 1458, - "mean": 0.035343, - "median": 0.024611, - "std": 0.032968, - "sem": 0.000864, + "mean": 0.035597, + "median": 0.024811, + "std": 0.033369, + "sem": 0.000874, "min": 0.001251, "max": 0.285853, - "recall-0.025": 0.508904, - "recall-0.05": 0.787671, - "recall-0.1": 0.94589, - "recall-0.15": 0.981507, + "recall-0.025": 0.504795, + "recall-0.05": 0.785616, + "recall-0.1": 0.945205, + "recall-0.15": 0.980822, "recall-0.25": 0.99726, "recall-0.5": 0.99863, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.78231, - "recall-0.05": 0.95492, - "recall-0.1": 0.98836, - "recall-0.15": 0.99705, + "recall-0.025": 0.78183, + "recall-0.05": 0.95466, + "recall-0.1": 0.9882, + "recall-0.15": 0.997, "recall-0.25": 0.99879, "recall-0.5": 0.99889 } @@ -2533,6 +2559,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000678538, "avg_time_2d": 0.00855362, "avg_time_3d": 3.34318e-05, + "time_tracks": 0, "fps": 107.926 } { @@ -2816,286 +2843,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0171398, - "demosaicing": 0.000533731, - "avg_time_2d": 0.0099556, - "avg_time_3d": 6.45742e-05, - "fps": 94.7516 + "img_loading": 0.0170892, + "demosaicing": 0.000532315, + "avg_time_2d": 0.00996914, + "avg_time_3d": 6.4028e-05, + "time_tracks": 7.03068e-07, + "fps": 94.6416 } { "triangulator_calls": 390, - "init_time": 3.53722e-06, - "undistort_time": 7.38996e-06, - "project_time": 1.39629e-06, - "match_time": 3.33981e-06, - "pairs_time": 6.35672e-07, - "pair_scoring_time": 1.2211e-05, - "grouping_time": 2.98935e-06, - "full_time": 1.48329e-05, - "merge_time": 5.91435e-06, - "post_time": 6.31177e-06, - "convert_time": 9.48846e-08, - "total_time": 5.88911e-05 + "init_time": 3.56284e-06, + "undistort_time": 7.3621e-06, + "project_time": 1.43096e-06, + "match_time": 3.31098e-06, + "pairs_time": 6.62828e-07, + "pair_scoring_time": 1.19765e-05, + "grouping_time": 3.01562e-06, + "full_time": 1.45329e-05, + "merge_time": 5.97178e-06, + "post_time": 6.26503e-06, + "convert_time": 1.07297e-07, + "total_time": 5.84334e-05 } { "person_nums": { "total_frames": 390, "total_labels": 780, - "total_preds": 777, + "total_preds": 780, "considered_empty": 0, - "valid_preds": 777, + "valid_preds": 780, "invalid_preds": 0, - "missing": 3, + "missing": 0, "invalid_fraction": 0.0, "precision": 1.0, - "recall": 0.99615, - "f1": 0.99807, - "non_empty": 777 + "recall": 1.0, + "f1": 1.0, + "non_empty": 780 }, "mpjpe": { - "count": 777, - "mean": 0.059751, - "median": 0.057631, - "std": 0.011573, - "sem": 0.000415, + "count": 780, + "mean": 0.06014, + "median": 0.057675, + "std": 0.013345, + "sem": 0.000478, "min": 0.043081, - "max": 0.161047, + "max": 0.219433, "recall-0.025": 0.0, "recall-0.05": 0.058974, - "recall-0.1": 0.987179, - "recall-0.15": 0.992308, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.989744, + "recall-0.15": 0.99359, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780, "ap-0.025": 0.0, - "ap-0.05": 0.004978, - "ap-0.1": 0.987017, - "ap-0.15": 0.992192, - "ap-0.25": 0.996154, - "ap-0.5": 0.996154 + "ap-0.05": 0.005004, + "ap-0.1": 0.989373, + "ap-0.15": 0.993255, + "ap-0.25": 1.0, + "ap-0.5": 1.0 }, "head": { - "count": 777, - "mean": 0.032729, - "median": 0.028888, - "std": 0.017724, - "sem": 0.000636, + "count": 780, + "mean": 0.033024, + "median": 0.028914, + "std": 0.018606, + "sem": 0.000667, "min": 0.003336, "max": 0.236729, "recall-0.025": 0.369231, - "recall-0.05": 0.838462, - "recall-0.1": 0.992308, - "recall-0.15": 0.994872, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.05": 0.839744, + "recall-0.1": 0.99359, + "recall-0.15": 0.997436, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "shoulder_left": { - "count": 777, - "mean": 0.063705, - "median": 0.061636, - "std": 0.022704, - "sem": 0.000815, + "count": 780, + "mean": 0.06398, + "median": 0.061682, + "std": 0.023194, + "sem": 0.000831, "min": 0.003706, "max": 0.192847, "recall-0.025": 0.010256, "recall-0.05": 0.310256, - "recall-0.1": 0.961538, - "recall-0.15": 0.992308, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.962821, + "recall-0.15": 0.994872, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "shoulder_right": { - "count": 777, - "mean": 0.064214, - "median": 0.062251, - "std": 0.017583, - "sem": 0.000631, + "count": 780, + "mean": 0.064423, + "median": 0.06234, + "std": 0.017967, + "sem": 0.000644, "min": 0.00645, - "max": 0.133633, + "max": 0.157344, "recall-0.025": 0.014103, "recall-0.05": 0.174359, - "recall-0.1": 0.961538, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.962821, + "recall-0.15": 0.998718, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "elbow_left": { - "count": 776, - "mean": 0.055889, - "median": 0.048272, - "std": 0.027449, - "sem": 0.000986, + "count": 780, + "mean": 0.056511, + "median": 0.048275, + "std": 0.030203, + "sem": 0.001082, "min": 0.015892, - "max": 0.295215, + "max": 0.320733, "recall-0.025": 0.017949, "recall-0.05": 0.535897, - "recall-0.1": 0.932051, - "recall-0.15": 0.979487, - "recall-0.25": 0.992308, - "recall-0.5": 0.994872, + "recall-0.1": 0.935897, + "recall-0.15": 0.982051, + "recall-0.25": 0.994872, + "recall-0.5": 1.0, "num_labels": 780 }, "elbow_right": { - "count": 777, - "mean": 0.064095, - "median": 0.061518, - "std": 0.02484, + "count": 780, + "mean": 0.064215, + "median": 0.061608, + "std": 0.024896, "sem": 0.000892, "min": 0.015015, "max": 0.216922, "recall-0.025": 0.001282, "recall-0.05": 0.280769, - "recall-0.1": 0.941026, - "recall-0.15": 0.969231, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.94359, + "recall-0.15": 0.973077, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "wrist_left": { - "count": 774, - "mean": 0.048141, - "median": 0.043293, - "std": 0.034124, - "sem": 0.001227, + "count": 776, + "mean": 0.048531, + "median": 0.043412, + "std": 0.034692, + "sem": 0.001246, "min": 0.006671, "max": 0.430452, "recall-0.025": 0.133333, - "recall-0.05": 0.674359, + "recall-0.05": 0.673077, "recall-0.1": 0.947436, - "recall-0.15": 0.978205, - "recall-0.25": 0.987179, - "recall-0.5": 0.992308, + "recall-0.15": 0.979487, + "recall-0.25": 0.988462, + "recall-0.5": 0.994872, "num_labels": 780 }, "wrist_right": { - "count": 771, - "mean": 0.065368, - "median": 0.064564, - "std": 0.03443, - "sem": 0.001241, + "count": 772, + "mean": 0.065856, + "median": 0.064591, + "std": 0.035934, + "sem": 0.001294, "min": 0.013844, - "max": 0.282031, + "max": 0.347423, "recall-0.025": 0.016667, - "recall-0.05": 0.342308, - "recall-0.1": 0.923077, + "recall-0.05": 0.341026, + "recall-0.1": 0.921795, "recall-0.15": 0.960256, "recall-0.25": 0.985897, - "recall-0.5": 0.988462, + "recall-0.5": 0.989744, "num_labels": 780 }, "hip_left": { - "count": 777, - "mean": 0.083444, - "median": 0.084359, - "std": 0.020428, - "sem": 0.000733, + "count": 780, + "mean": 0.083555, + "median": 0.084407, + "std": 0.020482, + "sem": 0.000734, "min": 0.027865, "max": 0.144259, "recall-0.025": 0.0, "recall-0.05": 0.061538, - "recall-0.1": 0.783333, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.784615, + "recall-0.15": 1.0, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "hip_right": { - "count": 777, - "mean": 0.105743, - "median": 0.104462, - "std": 0.018111, - "sem": 0.00065, + "count": 780, + "mean": 0.105803, + "median": 0.104465, + "std": 0.018178, + "sem": 0.000651, "min": 0.05627, "max": 0.17111, "recall-0.025": 0.0, "recall-0.05": 0.0, - "recall-0.1": 0.389744, - "recall-0.15": 0.978205, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.391026, + "recall-0.15": 0.980769, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "knee_left": { - "count": 777, - "mean": 0.048228, - "median": 0.046753, - "std": 0.019927, - "sem": 0.000715, + "count": 780, + "mean": 0.048299, + "median": 0.04682, + "std": 0.019933, + "sem": 0.000714, "min": 0.012707, "max": 0.202218, "recall-0.025": 0.057692, "recall-0.05": 0.616667, - "recall-0.1": 0.953846, - "recall-0.15": 0.991026, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.957692, + "recall-0.15": 0.994872, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "knee_right": { - "count": 777, - "mean": 0.052412, - "median": 0.05017, - "std": 0.018144, + "count": 780, + "mean": 0.052462, + "median": 0.050225, + "std": 0.018164, "sem": 0.000651, "min": 0.01206, "max": 0.132138, "recall-0.025": 0.021795, - "recall-0.05": 0.489744, - "recall-0.1": 0.982051, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.05": 0.491026, + "recall-0.1": 0.985897, + "recall-0.15": 1.0, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "ankle_left": { - "count": 777, - "mean": 0.049664, - "median": 0.046727, - "std": 0.01492, - "sem": 0.000536, - "min": 0.014128, - "max": 0.175912, - "recall-0.025": 0.008974, + "count": 780, + "mean": 0.050036, + "median": 0.046745, + "std": 0.016743, + "sem": 0.0006, + "min": 0.003176, + "max": 0.223271, + "recall-0.025": 0.010256, "recall-0.05": 0.638462, "recall-0.1": 0.980769, - "recall-0.15": 0.99359, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.15": 0.996154, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "ankle_right": { - "count": 777, - "mean": 0.034181, - "median": 0.030198, - "std": 0.015575, - "sem": 0.000559, + "count": 780, + "mean": 0.034577, + "median": 0.030189, + "std": 0.018474, + "sem": 0.000662, "min": 0.007645, - "max": 0.160324, - "recall-0.025": 0.292308, - "recall-0.05": 0.870513, - "recall-0.1": 0.99359, - "recall-0.15": 0.994872, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "max": 0.26262, + "recall-0.025": 0.294872, + "recall-0.05": 0.873077, + "recall-0.1": 0.994872, + "recall-0.15": 0.996154, + "recall-0.25": 0.998718, + "recall-0.5": 1.0, "num_labels": 780 }, "joint_recalls": { "num_labels": 10140, - "recall-0.025": 0.07209, - "recall-0.05": 0.44832, - "recall-0.1": 0.90256, - "recall-0.15": 0.9858, - "recall-0.25": 0.99418, - "recall-0.5": 0.99517 + "recall-0.025": 0.07239, + "recall-0.05": 0.44852, + "recall-0.1": 0.90434, + "recall-0.15": 0.98836, + "recall-0.25": 0.99744, + "recall-0.5": 0.99882 } } { "total_parts": 10920, - "correct_parts": 10776, - "pcp": 0.986813 + "correct_parts": 10806, + "pcp": 0.98956 } ``` @@ -3103,26 +3131,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.107621, - "demosaicing": 0.00276719, - "avg_time_2d": 0.0182223, - "avg_time_3d": 0.000181552, - "fps": 47.2343 + "img_loading": 0.109176, + "demosaicing": 0.00278284, + "avg_time_2d": 0.0182905, + "avg_time_3d": 0.000181146, + "time_tracks": 9.5166e-07, + "fps": 47.0467 } { "triangulator_calls": 210, - "init_time": 3.61917e-06, - "undistort_time": 1.62847e-05, - "project_time": 2.65801e-06, - "match_time": 1.00396e-05, - "pairs_time": 5.07824e-06, - "pair_scoring_time": 4.18499e-05, - "grouping_time": 1.24074e-05, - "full_time": 4.94618e-05, - "merge_time": 2.10141e-05, - "post_time": 7.96508e-06, - "convert_time": 1.33171e-07, - "total_time": 0.000170749 + "init_time": 3.0223e-06, + "undistort_time": 1.5911e-05, + "project_time": 2.70853e-06, + "match_time": 9.89257e-06, + "pairs_time": 5.23378e-06, + "pair_scoring_time": 4.18337e-05, + "grouping_time": 1.22786e-05, + "full_time": 4.92026e-05, + "merge_time": 2.1051e-05, + "post_time": 8.00654e-06, + "convert_time": 1.46814e-07, + "total_time": 0.000169521 } { "person_nums": { @@ -3141,9 +3170,9 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 630, - "mean": 0.052822, + "mean": 0.052814, "median": 0.048901, - "std": 0.017798, + "std": 0.017799, "sem": 0.00071, "min": 0.030026, "max": 0.140544, @@ -3155,8 +3184,8 @@ Results of the model in various experiments on different datasets. \ "recall-0.5": 1.0, "num_labels": 630, "ap-0.025": 0.0, - "ap-0.05": 0.363228, - "ap-0.1": 0.948697, + "ap-0.05": 0.36398, + "ap-0.1": 0.948533, "ap-0.15": 1.0, "ap-0.25": 1.0, "ap-0.5": 1.0 @@ -3259,10 +3288,10 @@ Results of the model in various experiments on different datasets. \ }, "wrist_right": { "count": 625, - "mean": 0.050742, + "mean": 0.050698, "median": 0.046406, - "std": 0.023755, - "sem": 0.000951, + "std": 0.023717, + "sem": 0.000949, "min": 0.007026, "max": 0.225441, "recall-0.025": 0.0896, @@ -3355,14 +3384,14 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 602, - "mean": 0.047205, - "median": 0.041586, - "std": 0.044335, + "mean": 0.047152, + "median": 0.041546, + "std": 0.044331, "sem": 0.001808, "min": 0.004139, "max": 0.447056, "recall-0.025": 0.172026, - "recall-0.05": 0.694534, + "recall-0.05": 0.696141, "recall-0.1": 0.940514, "recall-0.15": 0.951768, "recall-0.25": 0.954984, @@ -3396,6 +3425,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000629685, "avg_time_2d": 0.00831252, "avg_time_3d": 3.5924e-05, + "time_tracks": 0, "fps": 111.382 } { @@ -3683,6 +3713,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000593971, "avg_time_2d": 0.0114823, "avg_time_3d": 0.000122483, + "time_tracks": 0, "fps": 81.9754 } { @@ -5968,286 +5999,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.293049, - "demosaicing": 0.0109994, - "avg_time_2d": 0.0272442, - "avg_time_3d": 0.000297134, - "fps": 25.9465 + "img_loading": 0.296396, + "demosaicing": 0.0109835, + "avg_time_2d": 0.0274345, + "avg_time_3d": 0.000302427, + "time_tracks": 2.3222e-06, + "fps": 25.8246 } { "triangulator_calls": 100, - "init_time": 4.32242e-06, - "undistort_time": 2.36708e-05, - "project_time": 5.92112e-06, - "match_time": 1.92183e-05, - "pairs_time": 1.83692e-05, - "pair_scoring_time": 7.12365e-05, - "grouping_time": 2.763e-05, - "full_time": 6.86531e-05, - "merge_time": 3.18226e-05, - "post_time": 1.03394e-05, - "convert_time": 1.8829e-07, - "total_time": 0.000281607 + "init_time": 3.71065e-06, + "undistort_time": 2.39244e-05, + "project_time": 5.87787e-06, + "match_time": 1.93786e-05, + "pairs_time": 1.90562e-05, + "pair_scoring_time": 7.28914e-05, + "grouping_time": 2.82991e-05, + "full_time": 7.00339e-05, + "merge_time": 3.26347e-05, + "post_time": 1.03018e-05, + "convert_time": 2.2031e-07, + "total_time": 0.000286564 } { "person_nums": { "total_frames": 100, "total_labels": 400, - "total_preds": 415, + "total_preds": 440, "considered_empty": 0, - "valid_preds": 399, - "invalid_preds": 16, - "missing": 1, - "invalid_fraction": 0.03855, - "precision": 0.96145, - "recall": 0.9975, - "f1": 0.97914, - "non_empty": 415 + "valid_preds": 400, + "invalid_preds": 40, + "missing": 0, + "invalid_fraction": 0.09091, + "precision": 0.90909, + "recall": 1.0, + "f1": 0.95238, + "non_empty": 440 }, "mpjpe": { - "count": 399, - "mean": 0.04787, - "median": 0.032737, - "std": 0.042237, - "sem": 0.002117, + "count": 400, + "mean": 0.048086, + "median": 0.03277, + "std": 0.042332, + "sem": 0.002119, "min": 0.014478, "max": 0.293976, "recall-0.025": 0.23, - "recall-0.05": 0.755, - "recall-0.1": 0.89, - "recall-0.15": 0.96, - "recall-0.25": 0.9825, - "recall-0.5": 0.9975, + "recall-0.05": 0.7525, + "recall-0.1": 0.8925, + "recall-0.15": 0.9625, + "recall-0.25": 0.985, + "recall-0.5": 1.0, "num_labels": 400, - "ap-0.025": 0.078761, - "ap-0.05": 0.720976, - "ap-0.1": 0.886036, - "ap-0.15": 0.957485, - "ap-0.25": 0.980421, - "ap-0.5": 0.997152 + "ap-0.025": 0.079127, + "ap-0.05": 0.721744, + "ap-0.1": 0.888083, + "ap-0.15": 0.959641, + "ap-0.25": 0.982717, + "ap-0.5": 0.99905 }, "head": { - "count": 399, - "mean": 0.042813, - "median": 0.037173, - "std": 0.030287, - "sem": 0.001518, + "count": 400, + "mean": 0.042894, + "median": 0.037183, + "std": 0.030292, + "sem": 0.001516, "min": 0.002942, "max": 0.356496, "recall-0.025": 0.2225, "recall-0.05": 0.7225, - "recall-0.1": 0.97, - "recall-0.15": 0.985, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9725, + "recall-0.15": 0.9875, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "shoulder_left": { - "count": 399, - "mean": 0.036775, - "median": 0.031587, - "std": 0.032239, - "sem": 0.001616, + "count": 400, + "mean": 0.036904, + "median": 0.031614, + "std": 0.032302, + "sem": 0.001617, "min": 0.003244, "max": 0.443177, "recall-0.025": 0.34, "recall-0.05": 0.8225, - "recall-0.1": 0.98, - "recall-0.15": 0.99, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9825, + "recall-0.15": 0.9925, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "shoulder_right": { - "count": 399, - "mean": 0.038614, - "median": 0.031493, - "std": 0.03247, - "sem": 0.001628, + "count": 400, + "mean": 0.038642, + "median": 0.031509, + "std": 0.032435, + "sem": 0.001624, "min": 0.002905, "max": 0.276902, "recall-0.025": 0.3225, - "recall-0.05": 0.815, - "recall-0.1": 0.9575, - "recall-0.15": 0.98, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.05": 0.8175, + "recall-0.1": 0.96, + "recall-0.15": 0.9825, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "elbow_left": { - "count": 399, - "mean": 0.029102, - "median": 0.024391, - "std": 0.029221, - "sem": 0.001465, + "count": 400, + "mean": 0.029274, + "median": 0.024454, + "std": 0.029384, + "sem": 0.001471, "min": 0.003375, "max": 0.38953, "recall-0.025": 0.52, "recall-0.05": 0.93, - "recall-0.1": 0.975, - "recall-0.15": 0.9875, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9775, + "recall-0.15": 0.99, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "elbow_right": { - "count": 399, - "mean": 0.036403, - "median": 0.028878, - "std": 0.032176, - "sem": 0.001613, + "count": 400, + "mean": 0.036488, + "median": 0.02897, + "std": 0.032181, + "sem": 0.001611, "min": 0.00479, "max": 0.324817, "recall-0.025": 0.4075, "recall-0.05": 0.83, - "recall-0.1": 0.965, - "recall-0.15": 0.985, - "recall-0.25": 0.99, - "recall-0.5": 0.9975, + "recall-0.1": 0.9675, + "recall-0.15": 0.9875, + "recall-0.25": 0.9925, + "recall-0.5": 1.0, "num_labels": 400 }, "wrist_left": { - "count": 399, - "mean": 0.035863, - "median": 0.027169, - "std": 0.031843, - "sem": 0.001596, + "count": 400, + "mean": 0.035955, + "median": 0.027174, + "std": 0.031856, + "sem": 0.001595, "min": 0.002868, "max": 0.283793, "recall-0.025": 0.45, "recall-0.05": 0.835, - "recall-0.1": 0.9525, - "recall-0.15": 0.9825, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.955, + "recall-0.15": 0.985, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "wrist_right": { - "count": 398, - "mean": 0.04469, - "median": 0.02742, - "std": 0.051664, - "sem": 0.002593, + "count": 399, + "mean": 0.044852, + "median": 0.027452, + "std": 0.051701, + "sem": 0.002592, "min": 0.002935, "max": 0.45148, "recall-0.025": 0.435, "recall-0.05": 0.7575, "recall-0.1": 0.9025, - "recall-0.15": 0.945, - "recall-0.25": 0.985, - "recall-0.5": 0.995, + "recall-0.15": 0.9475, + "recall-0.25": 0.9875, + "recall-0.5": 0.9975, "num_labels": 400 }, "hip_left": { - "count": 399, - "mean": 0.045965, - "median": 0.038335, - "std": 0.028662, - "sem": 0.001437, + "count": 400, + "mean": 0.046085, + "median": 0.038349, + "std": 0.028727, + "sem": 0.001438, "min": 0.006071, "max": 0.165726, "recall-0.025": 0.2475, "recall-0.05": 0.675, - "recall-0.1": 0.9475, - "recall-0.15": 0.995, - "recall-0.25": 0.9975, - "recall-0.5": 0.9975, + "recall-0.1": 0.95, + "recall-0.15": 0.9975, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 400 }, "hip_right": { - "count": 399, - "mean": 0.051312, - "median": 0.037656, - "std": 0.042706, - "sem": 0.002141, + "count": 400, + "mean": 0.051407, + "median": 0.03767, + "std": 0.042695, + "sem": 0.002137, "min": 0.002339, "max": 0.26692, "recall-0.025": 0.2575, "recall-0.05": 0.6675, - "recall-0.1": 0.8725, - "recall-0.15": 0.945, - "recall-0.25": 0.995, - "recall-0.5": 0.9975, + "recall-0.1": 0.875, + "recall-0.15": 0.9475, + "recall-0.25": 0.9975, + "recall-0.5": 1.0, "num_labels": 400 }, "knee_left": { - "count": 399, - "mean": 0.041604, - "median": 0.026238, - "std": 0.054874, - "sem": 0.002751, + "count": 400, + "mean": 0.041769, + "median": 0.02624, + "std": 0.054904, + "sem": 0.002749, "min": 0.002518, "max": 0.460411, "recall-0.025": 0.4725, "recall-0.05": 0.83, "recall-0.1": 0.935, - "recall-0.15": 0.955, - "recall-0.25": 0.9875, - "recall-0.5": 0.9975, + "recall-0.15": 0.9575, + "recall-0.25": 0.99, + "recall-0.5": 1.0, "num_labels": 400 }, "knee_right": { - "count": 393, - "mean": 0.050549, - "median": 0.02574, - "std": 0.086051, - "sem": 0.004346, + "count": 394, + "mean": 0.050653, + "median": 0.025753, + "std": 0.085967, + "sem": 0.004336, "min": 0.001908, "max": 0.491857, "recall-0.025": 0.4775, "recall-0.05": 0.7925, - "recall-0.1": 0.905, - "recall-0.15": 0.9175, - "recall-0.25": 0.9275, - "recall-0.5": 0.9825, + "recall-0.1": 0.9075, + "recall-0.15": 0.92, + "recall-0.25": 0.93, + "recall-0.5": 0.985, "num_labels": 400 }, "ankle_left": { - "count": 393, - "mean": 0.045179, - "median": 0.025352, - "std": 0.06552, - "sem": 0.003309, + "count": 394, + "mean": 0.045864, + "median": 0.025435, + "std": 0.066629, + "sem": 0.003361, "min": 0.001894, - "max": 0.472042, + "max": 0.471595, "recall-0.025": 0.4825, "recall-0.05": 0.7725, "recall-0.1": 0.9025, "recall-0.15": 0.9375, "recall-0.25": 0.9525, - "recall-0.5": 0.9825, + "recall-0.5": 0.985, "num_labels": 400 }, "ankle_right": { - "count": 379, - "mean": 0.071374, - "median": 0.030655, - "std": 0.10233, - "sem": 0.005263, + "count": 380, + "mean": 0.072469, + "median": 0.030738, + "std": 0.103524, + "sem": 0.005318, "min": 0.003144, "max": 0.481312, "recall-0.025": 0.39, "recall-0.05": 0.65, - "recall-0.1": 0.78, - "recall-0.15": 0.8075, + "recall-0.1": 0.7775, + "recall-0.15": 0.805, "recall-0.25": 0.8775, - "recall-0.5": 0.9475, + "recall-0.5": 0.95, "num_labels": 400 }, "joint_recalls": { "num_labels": 5200, "recall-0.025": 0.38654, - "recall-0.05": 0.77692, - "recall-0.1": 0.92654, - "recall-0.15": 0.95481, - "recall-0.25": 0.975, - "recall-0.5": 0.99115 + "recall-0.05": 0.77712, + "recall-0.1": 0.92808, + "recall-0.15": 0.95673, + "recall-0.25": 0.97712, + "recall-0.5": 0.99365 } } { "total_parts": 5600, - "correct_parts": 5443, - "pcp": 0.971964 + "correct_parts": 5457, + "pcp": 0.974464 } ``` @@ -6255,26 +6287,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.27129, - "demosaicing": 0.011134, - "avg_time_2d": 0.0239827, - "avg_time_3d": 0.000251315, - "fps": 28.2742 + "img_loading": 0.278285, + "demosaicing": 0.0110585, + "avg_time_2d": 0.0239786, + "avg_time_3d": 0.000251731, + "time_tracks": 9.95126e-07, + "fps": 28.3367 } { "triangulator_calls": 121, - "init_time": 4.36192e-06, - "undistort_time": 1.91289e-05, - "project_time": 4.35951e-06, - "match_time": 1.33109e-05, - "pairs_time": 1.08011e-05, - "pair_scoring_time": 6.10657e-05, - "grouping_time": 1.82683e-05, - "full_time": 6.92329e-05, - "merge_time": 3.33679e-05, - "post_time": 8.43239e-06, - "convert_time": 1.34463e-07, - "total_time": 0.0002427 + "init_time": 3.60429e-06, + "undistort_time": 1.8677e-05, + "project_time": 3.7664e-06, + "match_time": 1.28861e-05, + "pairs_time": 9.90012e-06, + "pair_scoring_time": 6.27622e-05, + "grouping_time": 1.80751e-05, + "full_time": 7.07869e-05, + "merge_time": 3.37148e-05, + "post_time": 8.32524e-06, + "convert_time": 1.54793e-07, + "total_time": 0.000242887 } { "person_nums": { @@ -6542,26 +6575,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.289362, - "demosaicing": 0.0124074, - "avg_time_2d": 0.0289188, - "avg_time_3d": 0.000433233, - "fps": 23.9467 + "img_loading": 0.299902, + "demosaicing": 0.0126655, + "avg_time_2d": 0.0290299, + "avg_time_3d": 0.000444933, + "time_tracks": 2.21974e-06, + "fps": 23.729 } { "triangulator_calls": 166, - "init_time": 4.16021e-06, - "undistort_time": 2.56551e-05, - "project_time": 5.68555e-06, - "match_time": 2.32618e-05, - "pairs_time": 2.42754e-05, - "pair_scoring_time": 0.000107763, - "grouping_time": 3.59843e-05, - "full_time": 0.000123872, - "merge_time": 5.7993e-05, - "post_time": 9.86665e-06, - "convert_time": 1.82283e-07, - "total_time": 0.000418932 + "init_time": 4.89887e-06, + "undistort_time": 2.5718e-05, + "project_time": 6.0061e-06, + "match_time": 2.35875e-05, + "pairs_time": 2.54117e-05, + "pair_scoring_time": 0.000109867, + "grouping_time": 3.66523e-05, + "full_time": 0.00012651, + "merge_time": 5.94845e-05, + "post_time": 1.05036e-05, + "convert_time": 2.23861e-07, + "total_time": 0.000429098 } { "person_nums": { @@ -6829,63 +6863,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.289758, - "demosaicing": 0.0111053, - "avg_time_2d": 0.0281809, - "avg_time_3d": 0.000408797, - "fps": 25.1921 + "img_loading": 0.292579, + "demosaicing": 0.0110868, + "avg_time_2d": 0.0281903, + "avg_time_3d": 0.000412008, + "time_tracks": 2.30442e-06, + "fps": 25.1944 } { "triangulator_calls": 110, - "init_time": 3.86123e-06, - "undistort_time": 2.4674e-05, - "project_time": 5.17193e-06, - "match_time": 2.30387e-05, - "pairs_time": 2.23814e-05, - "pair_scoring_time": 0.000108471, - "grouping_time": 5.07816e-05, - "full_time": 0.000101998, - "merge_time": 4.58232e-05, - "post_time": 9.98878e-06, - "convert_time": 1.80464e-07, - "total_time": 0.000396605 + "init_time": 4.04995e-06, + "undistort_time": 2.45463e-05, + "project_time": 5.12282e-06, + "match_time": 2.29104e-05, + "pairs_time": 2.32846e-05, + "pair_scoring_time": 0.00010895, + "grouping_time": 5.09008e-05, + "full_time": 0.000103292, + "merge_time": 4.60682e-05, + "post_time": 1.02196e-05, + "convert_time": 2.05991e-07, + "total_time": 0.000399788 } { "person_nums": { "total_frames": 110, "total_labels": 330, - "total_preds": 438, + "total_preds": 440, "considered_empty": 0, "valid_preds": 330, - "invalid_preds": 108, + "invalid_preds": 110, "missing": 0, - "invalid_fraction": 0.24658, - "precision": 0.75342, + "invalid_fraction": 0.25, + "precision": 0.75, "recall": 1.0, - "f1": 0.85938, - "non_empty": 438 + "f1": 0.85714, + "non_empty": 440 }, "mpjpe": { "count": 330, - "mean": 0.040713, - "median": 0.036776, - "std": 0.015671, - "sem": 0.000864, + "mean": 0.040993, + "median": 0.037063, + "std": 0.01607, + "sem": 0.000886, "min": 0.018223, "max": 0.119589, - "recall-0.025": 0.1, - "recall-0.05": 0.775758, + "recall-0.025": 0.09697, + "recall-0.05": 0.772727, "recall-0.1": 0.993939, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 330, - "ap-0.025": 0.01168, - "ap-0.05": 0.514216, - "ap-0.1": 0.756307, - "ap-0.15": 0.765149, - "ap-0.25": 0.765149, - "ap-0.5": 0.765149 + "ap-0.025": 0.011594, + "ap-0.05": 0.506581, + "ap-0.1": 0.752409, + "ap-0.15": 0.761225, + "ap-0.25": 0.761225, + "ap-0.5": 0.761225 }, "head": { "count": 330, @@ -6969,16 +7004,16 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 329, - "mean": 0.046373, + "mean": 0.046821, "median": 0.039868, - "std": 0.031237, - "sem": 0.001725, + "std": 0.032923, + "sem": 0.001818, "min": 0.00411, "max": 0.2482, "recall-0.025": 0.248485, "recall-0.05": 0.624242, - "recall-0.1": 0.939394, - "recall-0.15": 0.984848, + "recall-0.1": 0.936364, + "recall-0.15": 0.981818, "recall-0.25": 0.99697, "recall-0.5": 0.99697, "num_labels": 330 @@ -7065,50 +7100,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 330, - "mean": 0.030999, - "median": 0.025737, - "std": 0.022585, - "sem": 0.001245, + "mean": 0.032268, + "median": 0.025961, + "std": 0.029146, + "sem": 0.001607, "min": 0.002088, - "max": 0.150282, - "recall-0.025": 0.481818, - "recall-0.05": 0.845455, - "recall-0.1": 0.978788, - "recall-0.15": 0.99697, - "recall-0.25": 1.0, + "max": 0.347129, + "recall-0.025": 0.478788, + "recall-0.05": 0.842424, + "recall-0.1": 0.972727, + "recall-0.15": 0.993939, + "recall-0.25": 0.99697, "recall-0.5": 1.0, "num_labels": 330 }, "ankle_right": { "count": 330, - "mean": 0.029339, - "median": 0.024413, - "std": 0.020731, - "sem": 0.001143, + "mean": 0.031267, + "median": 0.024535, + "std": 0.030339, + "sem": 0.001673, "min": 0.000855, - "max": 0.144116, - "recall-0.025": 0.509091, - "recall-0.05": 0.881818, - "recall-0.1": 0.984848, - "recall-0.15": 1.0, - "recall-0.25": 1.0, + "max": 0.35043, + "recall-0.025": 0.506061, + "recall-0.05": 0.872727, + "recall-0.1": 0.978788, + "recall-0.15": 0.990909, + "recall-0.25": 0.99697, "recall-0.5": 1.0, "num_labels": 330 }, "joint_recalls": { "num_labels": 4290, - "recall-0.025": 0.29534, - "recall-0.05": 0.71935, - "recall-0.1": 0.96667, - "recall-0.15": 0.99557, - "recall-0.25": 0.99953, + "recall-0.025": 0.2951, + "recall-0.05": 0.71818, + "recall-0.1": 0.9655, + "recall-0.15": 0.99394, + "recall-0.25": 0.99907, "recall-0.5": 0.99977 } } { "total_parts": 4620, - "correct_parts": 4603, - "pcp": 0.99632 + "correct_parts": 4600, + "pcp": 0.995671 } ``` @@ -7116,286 +7151,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.421536, - "demosaicing": 0.0177444, - "avg_time_2d": 0.0511469, - "avg_time_3d": 0.000936227, - "fps": 14.321 + "img_loading": 0.432763, + "demosaicing": 0.0178295, + "avg_time_2d": 0.0512937, + "avg_time_3d": 0.000928159, + "time_tracks": 3.54476e-06, + "fps": 14.2745 } { "triangulator_calls": 121, - "init_time": 6.53029e-06, - "undistort_time": 5.17806e-05, - "project_time": 9.25822e-06, - "match_time": 3.9928e-05, - "pairs_time": 7.50967e-05, - "pair_scoring_time": 0.000313612, - "grouping_time": 0.000149834, - "full_time": 0.000180932, - "merge_time": 7.94846e-05, - "post_time": 1.11279e-05, - "convert_time": 2.07289e-07, - "total_time": 0.000918031 + "init_time": 6.75621e-06, + "undistort_time": 5.12374e-05, + "project_time": 8.89762e-06, + "match_time": 3.95005e-05, + "pairs_time": 7.64246e-05, + "pair_scoring_time": 0.000310209, + "grouping_time": 0.000147726, + "full_time": 0.000179946, + "merge_time": 7.92803e-05, + "post_time": 1.10982e-05, + "convert_time": 2.25504e-07, + "total_time": 0.000911537 } { "person_nums": { "total_frames": 121, "total_labels": 484, - "total_preds": 498, + "total_preds": 512, "considered_empty": 0, - "valid_preds": 481, - "invalid_preds": 17, - "missing": 3, - "invalid_fraction": 0.03414, - "precision": 0.96586, - "recall": 0.9938, - "f1": 0.97963, - "non_empty": 498 + "valid_preds": 483, + "invalid_preds": 29, + "missing": 1, + "invalid_fraction": 0.05664, + "precision": 0.94336, + "recall": 0.99793, + "f1": 0.96988, + "non_empty": 512 }, "mpjpe": { - "count": 481, - "mean": 0.028894, - "median": 0.026726, - "std": 0.010134, - "sem": 0.000463, + "count": 483, + "mean": 0.029255, + "median": 0.026842, + "std": 0.011654, + "sem": 0.000531, "min": 0.013032, - "max": 0.091125, + "max": 0.138905, "recall-0.025": 0.419421, "recall-0.05": 0.952479, - "recall-0.1": 0.993802, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484, - "ap-0.025": 0.185801, - "ap-0.05": 0.891151, - "ap-0.1": 0.970027, - "ap-0.15": 0.970027, - "ap-0.25": 0.970027, - "ap-0.5": 0.970027 + "ap-0.025": 0.181675, + "ap-0.05": 0.87054, + "ap-0.1": 0.95726, + "ap-0.15": 0.959219, + "ap-0.25": 0.959219, + "ap-0.5": 0.959219 }, "head": { - "count": 481, - "mean": 0.029533, - "median": 0.024426, - "std": 0.017999, - "sem": 0.000822, + "count": 483, + "mean": 0.029729, + "median": 0.024456, + "std": 0.018244, + "sem": 0.000831, "min": 0.002947, "max": 0.102943, "recall-0.025": 0.510331, "recall-0.05": 0.855372, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "shoulder_left": { - "count": 481, - "mean": 0.029629, - "median": 0.026044, - "std": 0.017006, - "sem": 0.000776, + "count": 483, + "mean": 0.029936, + "median": 0.02615, + "std": 0.017673, + "sem": 0.000805, "min": 0.004801, - "max": 0.106701, + "max": 0.12378, "recall-0.025": 0.477273, "recall-0.05": 0.873967, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "shoulder_right": { - "count": 481, - "mean": 0.029188, - "median": 0.025237, - "std": 0.017862, - "sem": 0.000815, + "count": 483, + "mean": 0.02931, + "median": 0.025345, + "std": 0.01794, + "sem": 0.000817, "min": 0.001207, "max": 0.120782, "recall-0.025": 0.495868, - "recall-0.05": 0.873967, - "recall-0.1": 0.987603, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.05": 0.876033, + "recall-0.1": 0.991736, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "elbow_left": { - "count": 481, - "mean": 0.029569, - "median": 0.026922, - "std": 0.01566, - "sem": 0.000715, + "count": 483, + "mean": 0.029716, + "median": 0.026997, + "std": 0.015822, + "sem": 0.000721, "min": 0.002764, "max": 0.107294, "recall-0.025": 0.454545, "recall-0.05": 0.882231, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "elbow_right": { - "count": 481, - "mean": 0.030148, - "median": 0.025142, - "std": 0.019918, - "sem": 0.000909, + "count": 483, + "mean": 0.030195, + "median": 0.025171, + "std": 0.019893, + "sem": 0.000906, "min": 0.001453, "max": 0.135761, "recall-0.025": 0.495868, - "recall-0.05": 0.869835, - "recall-0.1": 0.977273, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.05": 0.873967, + "recall-0.1": 0.981405, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "wrist_left": { - "count": 481, - "mean": 0.033997, - "median": 0.028323, - "std": 0.022891, - "sem": 0.001045, + "count": 483, + "mean": 0.034414, + "median": 0.028426, + "std": 0.023744, + "sem": 0.001081, "min": 0.002816, "max": 0.208094, "recall-0.025": 0.404959, "recall-0.05": 0.822314, "recall-0.1": 0.971074, - "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "wrist_right": { - "count": 481, - "mean": 0.033888, - "median": 0.028374, - "std": 0.026695, - "sem": 0.001218, + "count": 483, + "mean": 0.034014, + "median": 0.028476, + "std": 0.026712, + "sem": 0.001217, "min": 0.00351, "max": 0.284667, "recall-0.025": 0.390496, "recall-0.05": 0.849174, - "recall-0.1": 0.97314, - "recall-0.15": 0.989669, - "recall-0.25": 0.989669, - "recall-0.5": 0.993802, + "recall-0.1": 0.977273, + "recall-0.15": 0.993802, + "recall-0.25": 0.993802, + "recall-0.5": 0.997934, "num_labels": 484 }, "hip_left": { - "count": 481, - "mean": 0.034059, - "median": 0.030974, - "std": 0.016804, - "sem": 0.000767, + "count": 483, + "mean": 0.03467, + "median": 0.031172, + "std": 0.019736, + "sem": 0.000899, "min": 0.002885, - "max": 0.112591, + "max": 0.248625, "recall-0.025": 0.305785, "recall-0.05": 0.842975, "recall-0.1": 0.989669, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "hip_right": { - "count": 481, - "mean": 0.037366, - "median": 0.032222, - "std": 0.023149, - "sem": 0.001057, + "count": 483, + "mean": 0.038046, + "median": 0.032255, + "std": 0.025653, + "sem": 0.001168, "min": 0.003771, - "max": 0.144196, + "max": 0.258232, "recall-0.025": 0.31405, "recall-0.05": 0.799587, "recall-0.1": 0.966942, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.995868, + "recall-0.5": 0.997934, "num_labels": 484 }, "knee_left": { - "count": 481, - "mean": 0.021056, - "median": 0.016878, - "std": 0.015358, - "sem": 0.000701, + "count": 483, + "mean": 0.021558, + "median": 0.017019, + "std": 0.017418, + "sem": 0.000793, "min": 0.002951, - "max": 0.18051, + "max": 0.185898, "recall-0.025": 0.721074, "recall-0.05": 0.950413, - "recall-0.1": 0.991736, - "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.993802, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "knee_right": { - "count": 481, - "mean": 0.023866, - "median": 0.019475, - "std": 0.01567, - "sem": 0.000715, + "count": 483, + "mean": 0.024245, + "median": 0.01952, + "std": 0.016893, + "sem": 0.000769, "min": 0.001804, - "max": 0.101887, + "max": 0.154682, "recall-0.025": 0.654959, "recall-0.05": 0.923554, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "ankle_left": { - "count": 481, - "mean": 0.021426, - "median": 0.017845, - "std": 0.015273, - "sem": 0.000697, + "count": 483, + "mean": 0.022242, + "median": 0.017863, + "std": 0.01983, + "sem": 0.000903, "min": 0.001647, - "max": 0.158699, + "max": 0.231289, "recall-0.025": 0.714876, "recall-0.05": 0.954545, "recall-0.1": 0.987603, "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "ankle_right": { - "count": 481, - "mean": 0.021895, - "median": 0.018026, - "std": 0.013532, - "sem": 0.000618, + "count": 483, + "mean": 0.022243, + "median": 0.018055, + "std": 0.014583, + "sem": 0.000664, "min": 0.001986, - "max": 0.090749, + "max": 0.122528, "recall-0.025": 0.708678, "recall-0.05": 0.93595, - "recall-0.1": 0.993802, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "joint_recalls": { "num_labels": 6292, "recall-0.025": 0.51081, - "recall-0.05": 0.87858, - "recall-0.1": 0.98411, - "recall-0.15": 0.99285, - "recall-0.25": 0.99332, - "recall-0.5": 0.9938 + "recall-0.05": 0.87889, + "recall-0.1": 0.98665, + "recall-0.15": 0.99619, + "recall-0.25": 0.99746, + "recall-0.5": 0.99793 } } { "total_parts": 6776, - "correct_parts": 6730, - "pcp": 0.993211 + "correct_parts": 6755, + "pcp": 0.996901 } ``` @@ -7403,26 +7439,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.413332, - "demosaicing": 0.0175982, - "avg_time_2d": 0.0438098, - "avg_time_3d": 0.000727766, - "fps": 16.0938 + "img_loading": 0.425309, + "demosaicing": 0.0175828, + "avg_time_2d": 0.0439122, + "avg_time_3d": 0.000732078, + "time_tracks": 2.60839e-06, + "fps": 16.0695 } { "triangulator_calls": 183, - "init_time": 5.79021e-06, - "undistort_time": 4.21408e-05, - "project_time": 8.16923e-06, - "match_time": 3.26939e-05, - "pairs_time": 5.31224e-05, - "pair_scoring_time": 0.000196534, - "grouping_time": 7.74538e-05, - "full_time": 0.000190952, - "merge_time": 9.15214e-05, - "post_time": 1.07165e-05, - "convert_time": 2.0876e-07, - "total_time": 0.000709537 + "init_time": 5.78507e-06, + "undistort_time": 4.25049e-05, + "project_time": 8.30154e-06, + "match_time": 3.30885e-05, + "pairs_time": 5.5239e-05, + "pair_scoring_time": 0.000196453, + "grouping_time": 7.68858e-05, + "full_time": 0.000192775, + "merge_time": 9.31284e-05, + "post_time": 1.08601e-05, + "convert_time": 2.36311e-07, + "total_time": 0.000715494 } { "person_nums": { @@ -7690,26 +7727,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.626226, - "demosaicing": 0.0268474, - "avg_time_2d": 0.0513508, - "avg_time_3d": 0.000611629, - "fps": 12.6888 + "img_loading": 0.671268, + "demosaicing": 0.0270076, + "avg_time_2d": 0.051466, + "avg_time_3d": 0.000617507, + "time_tracks": 1.15879e-06, + "fps": 12.6435 } { "triangulator_calls": 181, - "init_time": 7.41259e-06, - "undistort_time": 3.17885e-05, - "project_time": 7.35977e-06, - "match_time": 1.57646e-05, - "pairs_time": 2.24304e-05, - "pair_scoring_time": 0.000162925, - "grouping_time": 5.9874e-05, - "full_time": 0.000175241, - "merge_time": 8.98064e-05, - "post_time": 7.85762e-06, - "convert_time": 1.16287e-07, - "total_time": 0.000580813 + "init_time": 7.98041e-06, + "undistort_time": 3.16803e-05, + "project_time": 7.51399e-06, + "match_time": 1.58883e-05, + "pairs_time": 2.35366e-05, + "pair_scoring_time": 0.000162144, + "grouping_time": 5.94076e-05, + "full_time": 0.000175584, + "merge_time": 9.06647e-05, + "post_time": 8.08327e-06, + "convert_time": 1.40492e-07, + "total_time": 0.000582859 } { "person_nums": {