Small updates.

This commit is contained in:
Daniel
2025-04-22 17:13:30 +02:00
parent ff735759f7
commit 98399cc00e
4 changed files with 277 additions and 264 deletions

View File

@ -7,27 +7,27 @@ Results of the model in various experiments on different datasets. \
```json ```json
{ {
"img_loading": 0.00954196, "img_loading": 0.0096864,
"demosaicing": 0.000437263, "demosaicing": 0.000437641,
"avg_time_2d": 0.00563337, "avg_time_2d": 0.00566353,
"avg_time_3d": 3.22195e-05, "avg_time_3d": 3.24314e-05,
"time_tracks": 2.56698e-06, "time_tracks": 3.44966e-07,
"fps": 163.789 "fps": 163.027
} }
{ {
"triangulator_calls": 600, "triangulator_calls": 600,
"init_time": 2.34263e-06, "init_time": 2.23792e-06,
"undistort_time": 3.69506e-06, "undistort_time": 3.78982e-06,
"project_time": 5.953e-07, "project_time": 6.23085e-07,
"match_time": 1.23644e-06, "match_time": 1.21714e-06,
"pairs_time": 1.78917e-07, "pairs_time": 1.845e-07,
"pair_scoring_time": 5.10816e-06, "pair_scoring_time": 5.14351e-06,
"grouping_time": 8.91258e-07, "grouping_time": 9.24192e-07,
"full_time": 6.67602e-06, "full_time": 6.75532e-06,
"merge_time": 2.95392e-06, "merge_time": 3.04371e-06,
"post_time": 3.7758e-06, "post_time": 3.80595e-06,
"convert_time": 5.69e-08, "convert_time": 5.85167e-08,
"total_time": 2.7759e-05 "total_time": 2.80385e-05
} }
{ {
"person_nums": { "person_nums": {
@ -46,23 +46,23 @@ Results of the model in various experiments on different datasets. \
}, },
"mpjpe": { "mpjpe": {
"count": 600, "count": 600,
"mean": 0.060543, "mean": 0.060397,
"median": 0.053007, "median": 0.052935,
"std": 0.028089, "std": 0.028061,
"sem": 0.001148, "sem": 0.001147,
"min": 0.037548, "min": 0.037548,
"max": 0.192385, "max": 0.192385,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.325, "recall-0.05": 0.333333,
"recall-0.1": 0.946667, "recall-0.1": 0.948333,
"recall-0.15": 0.95, "recall-0.15": 0.95,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600, "num_labels": 600,
"ap-0.025": 0.0, "ap-0.025": 0.0,
"ap-0.05": 0.179324, "ap-0.05": 0.188107,
"ap-0.1": 0.907003, "ap-0.1": 0.910493,
"ap-0.15": 0.91147, "ap-0.15": 0.913236,
"ap-0.25": 1.0, "ap-0.25": 1.0,
"ap-0.5": 1.0 "ap-0.5": 1.0
}, },
@ -100,82 +100,82 @@ Results of the model in various experiments on different datasets. \
}, },
"shoulder_right": { "shoulder_right": {
"count": 600, "count": 600,
"mean": 0.046158, "mean": 0.045983,
"median": 0.034992, "median": 0.034992,
"std": 0.039877, "std": 0.039542,
"sem": 0.001629, "sem": 0.001616,
"min": 0.00206, "min": 0.00206,
"max": 0.240597, "max": 0.240597,
"recall-0.025": 0.298333, "recall-0.025": 0.298333,
"recall-0.05": 0.753333, "recall-0.05": 0.753333,
"recall-0.1": 0.908333, "recall-0.1": 0.91,
"recall-0.15": 0.945, "recall-0.15": 0.946667,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"elbow_left": { "elbow_left": {
"count": 600, "count": 600,
"mean": 0.045362, "mean": 0.045328,
"median": 0.034249, "median": 0.034177,
"std": 0.037307, "std": 0.03755,
"sem": 0.001524, "sem": 0.001534,
"min": 0.002988, "min": 0.002988,
"max": 0.194229, "max": 0.194229,
"recall-0.025": 0.258333, "recall-0.025": 0.26,
"recall-0.05": 0.761667, "recall-0.05": 0.763333,
"recall-0.1": 0.925, "recall-0.1": 0.926667,
"recall-0.15": 0.955, "recall-0.15": 0.953333,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"elbow_right": { "elbow_right": {
"count": 600, "count": 600,
"mean": 0.04432, "mean": 0.044168,
"median": 0.03193, "median": 0.03193,
"std": 0.038646, "std": 0.03869,
"sem": 0.001579, "sem": 0.001581,
"min": 0.005218, "min": 0.005218,
"max": 0.383954, "max": 0.427232,
"recall-0.025": 0.268333, "recall-0.025": 0.268333,
"recall-0.05": 0.783333, "recall-0.05": 0.783333,
"recall-0.1": 0.926667, "recall-0.1": 0.928333,
"recall-0.15": 0.94, "recall-0.15": 0.941667,
"recall-0.25": 0.998333, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"wrist_left": { "wrist_left": {
"count": 600, "count": 600,
"mean": 0.04031, "mean": 0.039884,
"median": 0.022792, "median": 0.022739,
"std": 0.044965, "std": 0.04461,
"sem": 0.001837, "sem": 0.001823,
"min": 0.002345, "min": 0.002345,
"max": 0.289452, "max": 0.289452,
"recall-0.025": 0.551667, "recall-0.025": 0.553333,
"recall-0.05": 0.763333, "recall-0.05": 0.766667,
"recall-0.1": 0.906667, "recall-0.1": 0.91,
"recall-0.15": 0.93, "recall-0.15": 0.93,
"recall-0.25": 0.998333, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"wrist_right": { "wrist_right": {
"count": 600, "count": 599,
"mean": 0.041059, "mean": 0.040157,
"median": 0.026221, "median": 0.026117,
"std": 0.04525, "std": 0.044323,
"sem": 0.001849, "sem": 0.001812,
"min": 0.003181, "min": 0.003181,
"max": 0.296936, "max": 0.296936,
"recall-0.025": 0.476667, "recall-0.025": 0.481667,
"recall-0.05": 0.801667, "recall-0.05": 0.806667,
"recall-0.1": 0.91, "recall-0.1": 0.915,
"recall-0.15": 0.921667, "recall-0.15": 0.925,
"recall-0.25": 0.996667, "recall-0.25": 0.995,
"recall-0.5": 1.0, "recall-0.5": 0.998333,
"num_labels": 600 "num_labels": 600
}, },
"hip_left": { "hip_left": {
@ -212,31 +212,31 @@ Results of the model in various experiments on different datasets. \
}, },
"knee_left": { "knee_left": {
"count": 599, "count": 599,
"mean": 0.05212, "mean": 0.052251,
"median": 0.042367, "median": 0.042367,
"std": 0.039681, "std": 0.042631,
"sem": 0.001623, "sem": 0.001743,
"min": 0.014466, "min": 0.014466,
"max": 0.303977, "max": 0.482769,
"recall-0.025": 0.06, "recall-0.025": 0.06,
"recall-0.05": 0.696667, "recall-0.05": 0.698333,
"recall-0.1": 0.921667, "recall-0.1": 0.925,
"recall-0.15": 0.943333, "recall-0.15": 0.945,
"recall-0.25": 0.996667, "recall-0.25": 0.995,
"recall-0.5": 0.998333, "recall-0.5": 0.998333,
"num_labels": 600 "num_labels": 600
}, },
"knee_right": { "knee_right": {
"count": 600, "count": 600,
"mean": 0.045269, "mean": 0.045065,
"median": 0.034108, "median": 0.034037,
"std": 0.03723, "std": 0.037143,
"sem": 0.001521, "sem": 0.001518,
"min": 0.010961, "min": 0.010961,
"max": 0.293895, "max": 0.293895,
"recall-0.025": 0.105, "recall-0.025": 0.106667,
"recall-0.05": 0.821667, "recall-0.05": 0.825,
"recall-0.1": 0.93, "recall-0.1": 0.931667,
"recall-0.15": 0.948333, "recall-0.15": 0.948333,
"recall-0.25": 0.998333, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
@ -244,50 +244,50 @@ Results of the model in various experiments on different datasets. \
}, },
"ankle_left": { "ankle_left": {
"count": 599, "count": 599,
"mean": 0.089795, "mean": 0.089107,
"median": 0.082637, "median": 0.082601,
"std": 0.03326, "std": 0.030725,
"sem": 0.00136, "sem": 0.001256,
"min": 0.048202, "min": 0.048202,
"max": 0.351142, "max": 0.271976,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.001667, "recall-0.05": 0.001667,
"recall-0.1": 0.871667, "recall-0.1": 0.876667,
"recall-0.15": 0.94, "recall-0.15": 0.941667,
"recall-0.25": 0.991667, "recall-0.25": 0.995,
"recall-0.5": 0.998333, "recall-0.5": 0.998333,
"num_labels": 600 "num_labels": 600
}, },
"ankle_right": { "ankle_right": {
"count": 600, "count": 600,
"mean": 0.077779, "mean": 0.077527,
"median": 0.066732, "median": 0.06667,
"std": 0.039218, "std": 0.038806,
"sem": 0.001602, "sem": 0.001586,
"min": 0.018484, "min": 0.033001,
"max": 0.281311, "max": 0.281311,
"recall-0.025": 0.003333, "recall-0.025": 0.0,
"recall-0.05": 0.041667, "recall-0.05": 0.036667,
"recall-0.1": 0.893333, "recall-0.1": 0.9,
"recall-0.15": 0.923333, "recall-0.15": 0.926667,
"recall-0.25": 0.991667, "recall-0.25": 0.991667,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"joint_recalls": { "joint_recalls": {
"num_labels": 7800, "num_labels": 7800,
"recall-0.025": 0.18897, "recall-0.025": 0.18962,
"recall-0.05": 0.50064, "recall-0.05": 0.50128,
"recall-0.1": 0.87718, "recall-0.1": 0.87962,
"recall-0.15": 0.93423, "recall-0.15": 0.93526,
"recall-0.25": 0.99603, "recall-0.25": 0.99603,
"recall-0.5": 0.99949 "recall-0.5": 0.99923
} }
} }
{ {
"total_parts": 8400, "total_parts": 8400,
"correct_parts": 8130, "correct_parts": 8134,
"pcp": 0.967857 "pcp": 0.968333
} }
``` ```
@ -295,27 +295,27 @@ Results of the model in various experiments on different datasets. \
```json ```json
{ {
"img_loading": 0.0415743, "img_loading": 0.041449,
"demosaicing": 0.000548337, "demosaicing": 0.000538481,
"avg_time_2d": 0.0104442, "avg_time_2d": 0.010343,
"avg_time_3d": 0.000102827, "avg_time_3d": 0.000104335,
"time_tracks": 7.53299e-07, "time_tracks": 7.30172e-07,
"fps": 90.1218 "fps": 91.0205
} }
{ {
"triangulator_calls": 301, "triangulator_calls": 301,
"init_time": 2.5757e-06, "init_time": 2.5243e-06,
"undistort_time": 1.38599e-05, "undistort_time": 1.40503e-05,
"project_time": 1.70299e-06, "project_time": 1.76531e-06,
"match_time": 7.42211e-06, "match_time": 7.66701e-06,
"pairs_time": 3.51909e-06, "pairs_time": 3.58301e-06,
"pair_scoring_time": 2.20828e-05, "pair_scoring_time": 2.2612e-05,
"grouping_time": 4.00774e-06, "grouping_time": 4.06582e-06,
"full_time": 2.23789e-05, "full_time": 2.25735e-05,
"merge_time": 1.09032e-05, "merge_time": 1.10049e-05,
"post_time": 6.10427e-06, "post_time": 6.13977e-06,
"convert_time": 1.11395e-07, "convert_time": 1.12691e-07,
"total_time": 9.49145e-05 "total_time": 9.63485e-05
} }
{ {
"person_nums": { "person_nums": {
@ -334,10 +334,10 @@ Results of the model in various experiments on different datasets. \
}, },
"mpjpe": { "mpjpe": {
"count": 477, "count": 477,
"mean": 0.047597, "mean": 0.047552,
"median": 0.042661, "median": 0.042651,
"std": 0.014947, "std": 0.014836,
"sem": 0.000685, "sem": 0.00068,
"min": 0.028932, "min": 0.028932,
"max": 0.107384, "max": 0.107384,
"recall-0.025": 0.0, "recall-0.025": 0.0,
@ -348,18 +348,18 @@ Results of the model in various experiments on different datasets. \
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 477, "num_labels": 477,
"ap-0.025": 0.0, "ap-0.025": 0.0,
"ap-0.05": 0.456736, "ap-0.05": 0.453828,
"ap-0.1": 0.755053, "ap-0.1": 0.752279,
"ap-0.15": 0.764546, "ap-0.15": 0.761672,
"ap-0.25": 0.764546, "ap-0.25": 0.761672,
"ap-0.5": 0.764546 "ap-0.5": 0.761672
}, },
"head": { "head": {
"count": 477, "count": 477,
"mean": 0.053421, "mean": 0.053389,
"median": 0.049509, "median": 0.049509,
"std": 0.025337, "std": 0.025237,
"sem": 0.001161, "sem": 0.001157,
"min": 0.005816, "min": 0.005816,
"max": 0.182842, "max": 0.182842,
"recall-0.025": 0.098532, "recall-0.025": 0.098532,
@ -404,9 +404,9 @@ Results of the model in various experiments on different datasets. \
}, },
"elbow_left": { "elbow_left": {
"count": 477, "count": 477,
"mean": 0.040136, "mean": 0.04012,
"median": 0.032194, "median": 0.032194,
"std": 0.026056, "std": 0.026044,
"sem": 0.001194, "sem": 0.001194,
"min": 0.003888, "min": 0.003888,
"max": 0.146492, "max": 0.146492,
@ -436,14 +436,14 @@ Results of the model in various experiments on different datasets. \
}, },
"wrist_left": { "wrist_left": {
"count": 477, "count": 477,
"mean": 0.059143, "mean": 0.059128,
"median": 0.05442, "median": 0.054299,
"std": 0.038602, "std": 0.038605,
"sem": 0.001769, "sem": 0.001769,
"min": 0.001595, "min": 0.001595,
"max": 0.314599, "max": 0.314599,
"recall-0.025": 0.155136, "recall-0.025": 0.155136,
"recall-0.05": 0.410901, "recall-0.05": 0.412998,
"recall-0.1": 0.91195, "recall-0.1": 0.91195,
"recall-0.15": 0.968553, "recall-0.15": 0.968553,
"recall-0.25": 0.991614, "recall-0.25": 0.991614,
@ -452,10 +452,10 @@ Results of the model in various experiments on different datasets. \
}, },
"wrist_right": { "wrist_right": {
"count": 477, "count": 477,
"mean": 0.05783, "mean": 0.057842,
"median": 0.053422, "median": 0.053422,
"std": 0.030837, "std": 0.030863,
"sem": 0.001413, "sem": 0.001415,
"min": 0.008434, "min": 0.008434,
"max": 0.207547, "max": 0.207547,
"recall-0.025": 0.109015, "recall-0.025": 0.109015,
@ -516,15 +516,15 @@ Results of the model in various experiments on different datasets. \
}, },
"knee_right": { "knee_right": {
"count": 477, "count": 477,
"mean": 0.039912, "mean": 0.039775,
"median": 0.035222, "median": 0.035222,
"std": 0.023393, "std": 0.023097,
"sem": 0.001072, "sem": 0.001059,
"min": 0.006395, "min": 0.006395,
"max": 0.184949, "max": 0.184949,
"recall-0.025": 0.303983, "recall-0.025": 0.303983,
"recall-0.05": 0.727463, "recall-0.05": 0.727463,
"recall-0.1": 0.972746, "recall-0.1": 0.974843,
"recall-0.15": 0.997904, "recall-0.15": 0.997904,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
@ -532,10 +532,10 @@ Results of the model in various experiments on different datasets. \
}, },
"ankle_left": { "ankle_left": {
"count": 477, "count": 477,
"mean": 0.036485, "mean": 0.036458,
"median": 0.028094, "median": 0.028094,
"std": 0.030728, "std": 0.03061,
"sem": 0.001408, "sem": 0.001403,
"min": 0.004185, "min": 0.004185,
"max": 0.222831, "max": 0.222831,
"recall-0.025": 0.429769, "recall-0.025": 0.429769,
@ -548,25 +548,25 @@ Results of the model in various experiments on different datasets. \
}, },
"ankle_right": { "ankle_right": {
"count": 477, "count": 477,
"mean": 0.041358, "mean": 0.040999,
"median": 0.030877, "median": 0.030877,
"std": 0.040428, "std": 0.038354,
"sem": 0.001853, "sem": 0.001758,
"min": 0.002443, "min": 0.002443,
"max": 0.355429, "max": 0.287278,
"recall-0.025": 0.30608, "recall-0.025": 0.30608,
"recall-0.05": 0.813417, "recall-0.05": 0.813417,
"recall-0.1": 0.928721, "recall-0.1": 0.928721,
"recall-0.15": 0.966457, "recall-0.15": 0.966457,
"recall-0.25": 0.993711, "recall-0.25": 0.995807,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 477 "num_labels": 477
}, },
"joint_recalls": { "joint_recalls": {
"num_labels": 6201, "num_labels": 6201,
"recall-0.025": 0.21351, "recall-0.025": 0.21351,
"recall-0.05": 0.62119, "recall-0.05": 0.62151,
"recall-0.1": 0.94323, "recall-0.1": 0.94356,
"recall-0.15": 0.98662, "recall-0.15": 0.98662,
"recall-0.25": 0.99871, "recall-0.25": 0.99871,
"recall-0.5": 1.0 "recall-0.5": 1.0
@ -574,8 +574,8 @@ Results of the model in various experiments on different datasets. \
} }
{ {
"total_parts": 6678, "total_parts": 6678,
"correct_parts": 6623, "correct_parts": 6625,
"pcp": 0.991764 "pcp": 0.992063
} }
``` ```
@ -583,27 +583,27 @@ Results of the model in various experiments on different datasets. \
```json ```json
{ {
"img_loading": 0.00477884, "img_loading": 0.00479131,
"demosaicing": 0.000105891, "demosaicing": 0.000109975,
"avg_time_2d": 0.00475547, "avg_time_2d": 0.00481255,
"avg_time_3d": 3.45411e-05, "avg_time_3d": 3.46939e-05,
"time_tracks": 8.63962e-07, "time_tracks": 5.59292e-07,
"fps": 204.216 "fps": 201.703
} }
{ {
"triangulator_calls": 222, "triangulator_calls": 222,
"init_time": 1.99938e-06, "init_time": 2.07871e-06,
"undistort_time": 5.71187e-06, "undistort_time": 5.81449e-06,
"project_time": 8.61266e-07, "project_time": 9.79824e-07,
"match_time": 2.61942e-06, "match_time": 2.67114e-06,
"pairs_time": 4.20405e-07, "pairs_time": 4.23829e-07,
"pair_scoring_time": 4.35068e-06, "pair_scoring_time": 4.36216e-06,
"grouping_time": 9.27387e-07, "grouping_time": 9.25365e-07,
"full_time": 5.49219e-06, "full_time": 5.44962e-06,
"merge_time": 2.62484e-06, "merge_time": 2.59767e-06,
"post_time": 5.03611e-06, "post_time": 4.98663e-06,
"convert_time": 9.22072e-08, "convert_time": 8.98243e-08,
"total_time": 3.03843e-05 "total_time": 3.06292e-05
} }
{ {
"person_nums": { "person_nums": {
@ -622,32 +622,32 @@ Results of the model in various experiments on different datasets. \
}, },
"mpjpe": { "mpjpe": {
"count": 376, "count": 376,
"mean": 0.075498, "mean": 0.075152,
"median": 0.073144, "median": 0.072589,
"std": 0.014424, "std": 0.014426,
"sem": 0.000745, "sem": 0.000745,
"min": 0.040047, "min": 0.040047,
"max": 0.12107, "max": 0.12107,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.007979, "recall-0.05": 0.007979,
"recall-0.1": 0.933511, "recall-0.1": 0.930851,
"recall-0.15": 1.0, "recall-0.15": 1.0,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 376, "num_labels": 376,
"ap-0.025": 0.0, "ap-0.025": 0.0,
"ap-0.05": 9.4e-05, "ap-0.05": 8.3e-05,
"ap-0.1": 0.843551, "ap-0.1": 0.842634,
"ap-0.15": 0.959589, "ap-0.15": 0.966628,
"ap-0.25": 0.959589, "ap-0.25": 0.966628,
"ap-0.5": 0.959589 "ap-0.5": 0.966628
}, },
"head": { "head": {
"count": 376, "count": 376,
"mean": 0.063289, "mean": 0.06324,
"median": 0.062777, "median": 0.062777,
"std": 0.02607, "std": 0.025964,
"sem": 0.001346, "sem": 0.001341,
"min": 0.007715, "min": 0.007715,
"max": 0.197424, "max": 0.197424,
"recall-0.025": 0.055851, "recall-0.025": 0.055851,
@ -660,9 +660,9 @@ Results of the model in various experiments on different datasets. \
}, },
"shoulder_left": { "shoulder_left": {
"count": 376, "count": 376,
"mean": 0.066843, "mean": 0.066815,
"median": 0.064619, "median": 0.064487,
"std": 0.029378, "std": 0.029383,
"sem": 0.001517, "sem": 0.001517,
"min": 0.016733, "min": 0.016733,
"max": 0.205046, "max": 0.205046,
@ -676,10 +676,10 @@ Results of the model in various experiments on different datasets. \
}, },
"shoulder_right": { "shoulder_right": {
"count": 376, "count": 376,
"mean": 0.069399, "mean": 0.069422,
"median": 0.062402, "median": 0.062402,
"std": 0.031883, "std": 0.03191,
"sem": 0.001646, "sem": 0.001648,
"min": 0.017401, "min": 0.017401,
"max": 0.198707, "max": 0.198707,
"recall-0.025": 0.018617, "recall-0.025": 0.018617,
@ -692,15 +692,15 @@ Results of the model in various experiments on different datasets. \
}, },
"elbow_left": { "elbow_left": {
"count": 376, "count": 376,
"mean": 0.089682, "mean": 0.089749,
"median": 0.072996, "median": 0.072996,
"std": 0.053299, "std": 0.053356,
"sem": 0.002752, "sem": 0.002755,
"min": 0.009937, "min": 0.009937,
"max": 0.283516, "max": 0.283516,
"recall-0.025": 0.029255, "recall-0.025": 0.029255,
"recall-0.05": 0.242021, "recall-0.05": 0.242021,
"recall-0.1": 0.651596, "recall-0.1": 0.648936,
"recall-0.15": 0.867021, "recall-0.15": 0.867021,
"recall-0.25": 0.992021, "recall-0.25": 0.992021,
"recall-0.5": 1.0, "recall-0.5": 1.0,
@ -708,9 +708,9 @@ Results of the model in various experiments on different datasets. \
}, },
"elbow_right": { "elbow_right": {
"count": 376, "count": 376,
"mean": 0.077757, "mean": 0.077764,
"median": 0.070519, "median": 0.070519,
"std": 0.037705, "std": 0.037706,
"sem": 0.001947, "sem": 0.001947,
"min": 0.004749, "min": 0.004749,
"max": 0.194529, "max": 0.194529,
@ -724,33 +724,33 @@ Results of the model in various experiments on different datasets. \
}, },
"wrist_left": { "wrist_left": {
"count": 376, "count": 376,
"mean": 0.128965, "mean": 0.128876,
"median": 0.113502, "median": 0.113244,
"std": 0.068869, "std": 0.068811,
"sem": 0.003556, "sem": 0.003553,
"min": 0.015136, "min": 0.015136,
"max": 0.352772, "max": 0.348579,
"recall-0.025": 0.013298, "recall-0.025": 0.013298,
"recall-0.05": 0.079787, "recall-0.05": 0.079787,
"recall-0.1": 0.417553, "recall-0.1": 0.420213,
"recall-0.15": 0.670213, "recall-0.15": 0.670213,
"recall-0.25": 0.920213, "recall-0.25": 0.917553,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 376 "num_labels": 376
}, },
"wrist_right": { "wrist_right": {
"count": 376, "count": 376,
"mean": 0.102037, "mean": 0.101938,
"median": 0.097009, "median": 0.097149,
"std": 0.044155, "std": 0.043861,
"sem": 0.00228, "sem": 0.002265,
"min": 0.002425, "min": 0.002425,
"max": 0.277303, "max": 0.277643,
"recall-0.025": 0.005319, "recall-0.025": 0.005319,
"recall-0.05": 0.095745, "recall-0.05": 0.093085,
"recall-0.1": 0.521277, "recall-0.1": 0.521277,
"recall-0.15": 0.864362, "recall-0.15": 0.867021,
"recall-0.25": 0.994681, "recall-0.25": 0.992021,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 376 "num_labels": 376
}, },
@ -772,10 +772,10 @@ Results of the model in various experiments on different datasets. \
}, },
"hip_right": { "hip_right": {
"count": 376, "count": 376,
"mean": 0.065421, "mean": 0.065513,
"median": 0.059695, "median": 0.059695,
"std": 0.034174, "std": 0.034493,
"sem": 0.001765, "sem": 0.001781,
"min": 0.005283, "min": 0.005283,
"max": 0.259007, "max": 0.259007,
"recall-0.025": 0.053191, "recall-0.025": 0.053191,
@ -804,15 +804,15 @@ Results of the model in various experiments on different datasets. \
}, },
"knee_right": { "knee_right": {
"count": 376, "count": 376,
"mean": 0.053806, "mean": 0.053549,
"median": 0.049906, "median": 0.049537,
"std": 0.027608, "std": 0.02723,
"sem": 0.001426, "sem": 0.001406,
"min": 0.008841, "min": 0.008841,
"max": 0.230822, "max": 0.230822,
"recall-0.025": 0.087766, "recall-0.025": 0.087766,
"recall-0.05": 0.5, "recall-0.05": 0.50266,
"recall-0.1": 0.952128, "recall-0.1": 0.954787,
"recall-0.15": 0.992021, "recall-0.15": 0.992021,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
@ -820,50 +820,50 @@ Results of the model in various experiments on different datasets. \
}, },
"ankle_left": { "ankle_left": {
"count": 376, "count": 376,
"mean": 0.074289, "mean": 0.072542,
"median": 0.066969, "median": 0.066373,
"std": 0.045644, "std": 0.043744,
"sem": 0.002357, "sem": 0.002259,
"min": 0.009841, "min": 0.009841,
"max": 0.378337, "max": 0.378337,
"recall-0.025": 0.042553, "recall-0.025": 0.042553,
"recall-0.05": 0.327128, "recall-0.05": 0.332447,
"recall-0.1": 0.832447, "recall-0.1": 0.853723,
"recall-0.15": 0.944149, "recall-0.15": 0.954787,
"recall-0.25": 0.989362, "recall-0.25": 0.989362,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 376 "num_labels": 376
}, },
"ankle_right": { "ankle_right": {
"count": 376, "count": 376,
"mean": 0.066324, "mean": 0.063903,
"median": 0.052238, "median": 0.052158,
"std": 0.048596, "std": 0.045647,
"sem": 0.002509, "sem": 0.002357,
"min": 0.007344, "min": 0.007344,
"max": 0.373408, "max": 0.373408,
"recall-0.025": 0.069149, "recall-0.025": 0.069149,
"recall-0.05": 0.430851, "recall-0.05": 0.43617,
"recall-0.1": 0.859043, "recall-0.1": 0.87766,
"recall-0.15": 0.946809, "recall-0.15": 0.957447,
"recall-0.25": 0.986702, "recall-0.25": 0.989362,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 376 "num_labels": 376
}, },
"joint_recalls": { "joint_recalls": {
"num_labels": 4888, "num_labels": 4888,
"recall-0.025": 0.04194, "recall-0.025": 0.04194,
"recall-0.05": 0.30115, "recall-0.05": 0.30176,
"recall-0.1": 0.79705, "recall-0.1": 0.79992,
"recall-0.15": 0.93208, "recall-0.15": 0.93351,
"recall-0.25": 0.98977, "recall-0.25": 0.98936,
"recall-0.5": 1.0 "recall-0.5": 1.0
} }
} }
{ {
"total_parts": 5264, "total_parts": 5264,
"correct_parts": 5005, "correct_parts": 5004,
"pcp": 0.950798 "pcp": 0.950608
} }
``` ```

View File

@ -24,7 +24,7 @@ struct Track
class PoseTracker class PoseTracker
{ {
public: public:
PoseTracker(float max_distance); PoseTracker(float fps);
std::vector<std::tuple<size_t, std::vector<std::array<float, 4>>>> track_poses( std::vector<std::tuple<size_t, std::vector<std::array<float, 4>>>> track_poses(
const std::vector<std::vector<std::array<float, 4>>> &poses_3d, const std::vector<std::vector<std::array<float, 4>>> &poses_3d,
@ -36,7 +36,13 @@ public:
private: private:
float max_distance; float max_distance;
size_t history_size = 3; 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<double> timestamps; std::vector<double> timestamps;
std::vector<Track> pose_tracks; std::vector<Track> 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;
} }
// ================================================================================================= // =================================================================================================

View File

@ -130,12 +130,11 @@ int main(int argc, char **argv)
std::make_unique<utils_2d_pose::PosePredictor>( std::make_unique<utils_2d_pose::PosePredictor>(
use_wb, min_bbox_score, min_bbox_area, batch_poses); use_wb, min_bbox_score, min_bbox_area, batch_poses);
// Load 3D model // Load 3D models
std::unique_ptr<Triangulator> tri_model = std::make_unique<Triangulator>( std::unique_ptr<Triangulator> tri_model = std::make_unique<Triangulator>(
min_match_score, min_group_size); min_match_score, min_group_size);
const float max_distance = 0.3 + 2.0 / ifps;
std::unique_ptr<PoseTracker> pose_tracker = std::make_unique<PoseTracker>( std::unique_ptr<PoseTracker> pose_tracker = std::make_unique<PoseTracker>(
max_distance); ifps);
// Timers // Timers
size_t time_count = dataset.size(); size_t time_count = dataset.size();
@ -249,6 +248,13 @@ int main(int argc, char **argv)
elapsed = std::chrono::high_resolution_clock::now() - stime; elapsed = std::chrono::high_resolution_clock::now() - stime;
times_pose3d.push_back(elapsed.count()); times_pose3d.push_back(elapsed.count());
if (ifps < 1)
{
// Disable pose tracking if frame rate is too low
times_tracks.push_back(0.0);
}
else
{
stime = std::chrono::high_resolution_clock::now(); stime = std::chrono::high_resolution_clock::now();
double ts = ((int)item["index"]) / ifps; double ts = ((int)item["index"]) / ifps;
auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts); auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts);
@ -261,6 +267,7 @@ int main(int argc, char **argv)
poses_3d = poses_3d_refined; poses_3d = poses_3d_refined;
elapsed = std::chrono::high_resolution_clock::now() - stime; elapsed = std::chrono::high_resolution_clock::now() - stime;
times_tracks.push_back(elapsed.count()); times_tracks.push_back(elapsed.count());
}
all_poses_3d.push_back(std::move(poses_3d)); all_poses_3d.push_back(std::move(poses_3d));
all_ids.push_back(item["id"].get<std::string>()); all_ids.push_back(item["id"].get<std::string>());

View File

@ -85,7 +85,7 @@ datasets = {
}, },
"campus": { "campus": {
"path": "/datasets/campus/skelda/test.json", "path": "/datasets/campus/skelda/test.json",
"fps": 20, "fps": 25,
"take_interval": 1, "take_interval": 1,
"min_match_score": 0.92, "min_match_score": 0.92,
"min_bbox_score": 0.5, "min_bbox_score": 0.5,
@ -93,7 +93,7 @@ datasets = {
"shelf": { "shelf": {
"path": "/datasets/shelf/skelda/test.json", "path": "/datasets/shelf/skelda/test.json",
"take_interval": 1, "take_interval": 1,
"fps": 20, "fps": 25,
"min_match_score": 0.95, "min_match_score": 0.95,
"min_group_size": 2, "min_group_size": 2,
}, },