diff --git a/media/2d-k.png b/media/2d-k.png index f569cf9..4f31a50 100644 Binary files a/media/2d-k.png and b/media/2d-k.png differ diff --git a/media/2d-p.png b/media/2d-p.png index d3a7359..199c188 100644 Binary files a/media/2d-p.png and b/media/2d-p.png differ diff --git a/media/3d-p.png b/media/3d-p.png index 4df687b..a08aa06 100644 Binary files a/media/3d-p.png and b/media/3d-p.png differ diff --git a/media/RESULTS.md b/media/RESULTS.md index 9527103..f346c19 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,218 +7,218 @@ Results of the model in various experiments on different datasets. (duration 00:01:20) ```json { - "avg_time_2d": 0.08097348859754659, - "avg_time_3d": 0.0029713828684919973, - "avg_fps": 11.912580036584702 + "avg_time_2d": 0.08300593747931012, + "avg_time_3d": 0.0030075873358774994, + "avg_fps": 11.62607859808842 } { "person_nums": { "total_frames": 600, "total_labels": 600, - "total_preds": 602, - "considered_empty": 0, + "total_preds": 601, + "considered_empty": 1, "valid_preds": 600, - "invalid_preds": 2, + "invalid_preds": 0, "missing": 0, - "invalid_fraction": 0.00332, - "precision": 0.99668, + "invalid_fraction": 0.0, + "precision": 1.0, "recall": 1.0, - "f1": 0.99834, - "non_empty": 602 + "f1": 1.0, + "non_empty": 600 }, "mpjpe": { "count": 600, - "mean": 0.065734, - "median": 0.059207, - "std": 0.026966, - "sem": 0.001102, - "min": 0.043856, - "max": 0.192617, + "mean": 0.064525, + "median": 0.05712, + "std": 0.027463, + "sem": 0.001122, + "min": 0.042287, + "max": 0.195921, "recall-0.025": 0.0, - "recall-0.05": 0.045, - "recall-0.1": 0.948333, + "recall-0.05": 0.056667, + "recall-0.1": 0.95, "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.00657, - "ap-0.1": 0.914958, - "ap-0.15": 0.916544, - "ap-0.25": 0.9984, - "ap-0.5": 0.9984 + "ap-0.05": 0.007858, + "ap-0.1": 0.917143, + "ap-0.15": 0.917143, + "ap-0.25": 1.0, + "ap-0.5": 1.0 }, "nose": { "count": 600, - "mean": 0.11277, - "median": 0.09795, - "std": 0.040821, - "sem": 0.001668, + "mean": 0.110101, + "median": 0.100464, + "std": 0.037808, + "sem": 0.001545, "min": 0.025006, - "max": 0.269847, + "max": 0.312799, "recall-0.025": 0.0, - "recall-0.05": 0.028333, - "recall-0.1": 0.531667, - "recall-0.15": 0.815, - "recall-0.25": 0.993333, + "recall-0.05": 0.025, + "recall-0.1": 0.493333, + "recall-0.15": 0.88, + "recall-0.25": 0.996667, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_left": { "count": 600, - "mean": 0.033989, - "median": 0.025369, - "std": 0.032344, - "sem": 0.001322, + "mean": 0.034392, + "median": 0.025977, + "std": 0.032414, + "sem": 0.001324, "min": 0.004249, "max": 0.180174, - "recall-0.025": 0.49, - "recall-0.05": 0.868333, + "recall-0.025": 0.485, + "recall-0.05": 0.863333, "recall-0.1": 0.945, - "recall-0.15": 0.963333, + "recall-0.15": 0.965, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_right": { "count": 600, - "mean": 0.047097, - "median": 0.034615, - "std": 0.039203, - "sem": 0.001602, + "mean": 0.048199, + "median": 0.034951, + "std": 0.042251, + "sem": 0.001726, "min": 0.006416, - "max": 0.200896, + "max": 0.269687, "recall-0.025": 0.26, - "recall-0.05": 0.765, - "recall-0.1": 0.911667, - "recall-0.15": 0.948333, - "recall-0.25": 1.0, + "recall-0.05": 0.756667, + "recall-0.1": 0.91, + "recall-0.15": 0.941667, + "recall-0.25": 0.995, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.043117, - "median": 0.033579, - "std": 0.03565, - "sem": 0.001457, + "mean": 0.040558, + "median": 0.032981, + "std": 0.034221, + "sem": 0.001398, "min": 0.004306, "max": 0.195614, - "recall-0.025": 0.276667, - "recall-0.05": 0.821667, - "recall-0.1": 0.933333, - "recall-0.15": 0.958333, + "recall-0.025": 0.301667, + "recall-0.05": 0.846667, + "recall-0.1": 0.945, + "recall-0.15": 0.956667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.041943, - "median": 0.032362, - "std": 0.03346, - "sem": 0.001367, - "min": 0.00799, - "max": 0.308337, - "recall-0.025": 0.245, - "recall-0.05": 0.831667, - "recall-0.1": 0.938333, + "mean": 0.041025, + "median": 0.031643, + "std": 0.032573, + "sem": 0.001331, + "min": 0.009294, + "max": 0.18568, + "recall-0.025": 0.256667, + "recall-0.05": 0.846667, + "recall-0.1": 0.933333, "recall-0.15": 0.948333, - "recall-0.25": 0.998333, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_left": { "count": 600, - "mean": 0.043047, - "median": 0.024877, - "std": 0.047204, - "sem": 0.001929, + "mean": 0.03612, + "median": 0.022089, + "std": 0.039866, + "sem": 0.001629, "min": 0.001142, - "max": 0.270487, - "recall-0.025": 0.501667, - "recall-0.05": 0.733333, - "recall-0.1": 0.891667, - "recall-0.15": 0.935, - "recall-0.25": 0.996667, + "max": 0.197862, + "recall-0.025": 0.56, + "recall-0.05": 0.805, + "recall-0.1": 0.928333, + "recall-0.15": 0.946667, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { "count": 600, - "mean": 0.046558, - "median": 0.028199, - "std": 0.051162, - "sem": 0.00209, + "mean": 0.043361, + "median": 0.025784, + "std": 0.049311, + "sem": 0.002015, "min": 0.002724, - "max": 0.252783, - "recall-0.025": 0.443333, - "recall-0.05": 0.766667, - "recall-0.1": 0.885, - "recall-0.15": 0.905, - "recall-0.25": 0.995, + "max": 0.417717, + "recall-0.025": 0.478333, + "recall-0.05": 0.785, + "recall-0.1": 0.906667, + "recall-0.15": 0.918333, + "recall-0.25": 0.996667, "recall-0.5": 1.0, "num_labels": 600 }, "hip_left": { "count": 600, - "mean": 0.088603, - "median": 0.083264, - "std": 0.033261, - "sem": 0.001359, - "min": 0.023618, + "mean": 0.090597, + "median": 0.084569, + "std": 0.033223, + "sem": 0.001357, + "min": 0.032743, "max": 0.241896, - "recall-0.025": 0.003333, - "recall-0.05": 0.028333, - "recall-0.1": 0.82, - "recall-0.15": 0.95, + "recall-0.025": 0.0, + "recall-0.05": 0.026667, + "recall-0.1": 0.803333, + "recall-0.15": 0.945, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "hip_right": { "count": 600, - "mean": 0.113407, - "median": 0.112781, - "std": 0.027399, - "sem": 0.001119, + "mean": 0.112816, + "median": 0.11307, + "std": 0.027197, + "sem": 0.001111, "min": 0.046711, - "max": 0.236993, + "max": 0.233307, "recall-0.025": 0.0, "recall-0.05": 0.001667, - "recall-0.1": 0.223333, - "recall-0.15": 0.943333, + "recall-0.1": 0.215, + "recall-0.15": 0.948333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "knee_left": { "count": 600, - "mean": 0.058249, - "median": 0.045661, - "std": 0.048165, - "sem": 0.001968, + "mean": 0.056793, + "median": 0.042249, + "std": 0.055641, + "sem": 0.002273, "min": 0.016547, - "max": 0.354359, + "max": 0.398469, "recall-0.025": 0.031667, - "recall-0.05": 0.605, - "recall-0.1": 0.93, - "recall-0.15": 0.931667, + "recall-0.05": 0.696667, + "recall-0.1": 0.926667, + "recall-0.15": 0.93, "recall-0.25": 0.983333, "recall-0.5": 1.0, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.052499, - "median": 0.045662, - "std": 0.033659, - "sem": 0.001375, + "mean": 0.051022, + "median": 0.044567, + "std": 0.033612, + "sem": 0.001373, "min": 0.00962, "max": 0.234671, - "recall-0.025": 0.021667, - "recall-0.05": 0.688333, - "recall-0.1": 0.945, + "recall-0.025": 0.023333, + "recall-0.05": 0.726667, + "recall-0.1": 0.946667, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -226,50 +226,50 @@ Results of the model in various experiments on different datasets. }, "ankle_left": { "count": 600, - "mean": 0.0955, - "median": 0.087396, - "std": 0.03264, - "sem": 0.001334, - "min": 0.060148, - "max": 0.479475, + "mean": 0.095368, + "median": 0.086862, + "std": 0.030101, + "sem": 0.00123, + "min": 0.054699, + "max": 0.251619, "recall-0.025": 0.0, "recall-0.05": 0.0, - "recall-0.1": 0.848333, - "recall-0.15": 0.94, + "recall-0.1": 0.841667, + "recall-0.15": 0.936667, "recall-0.25": 0.996667, "recall-0.5": 1.0, "num_labels": 600 }, "ankle_right": { "count": 600, - "mean": 0.077765, - "median": 0.068378, - "std": 0.036897, - "sem": 0.001508, - "min": 0.028667, - "max": 0.329289, + "mean": 0.078476, + "median": 0.06841, + "std": 0.038477, + "sem": 0.001572, + "min": 0.034828, + "max": 0.328058, "recall-0.025": 0.0, - "recall-0.05": 0.021667, - "recall-0.1": 0.898333, - "recall-0.15": 0.935, + "recall-0.05": 0.01, + "recall-0.1": 0.905, + "recall-0.15": 0.926667, "recall-0.25": 0.993333, "recall-0.5": 1.0, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.17462, - "recall-0.05": 0.47321, - "recall-0.1": 0.82244, - "recall-0.15": 0.93179, - "recall-0.25": 0.99615, + "recall-0.025": 0.1841, + "recall-0.05": 0.49141, + "recall-0.1": 0.82256, + "recall-0.15": 0.93756, + "recall-0.25": 0.99679, "recall-0.5": 1.0 } } { "total_parts": 8400, - "correct_parts": 8117, - "pcp": 0.96631 + "correct_parts": 8120, + "pcp": 0.966667 } ``` @@ -278,58 +278,58 @@ Results of the model in various experiments on different datasets. (duration 00:00:56) ```json { - "avg_time_2d": 0.14836799483938315, - "avg_time_3d": 0.017724498440719553, - "avg_fps": 6.020741697901867 + "avg_time_2d": 0.14058070084483354, + "avg_time_3d": 0.016990919703060818, + "avg_fps": 6.346320463817576 } { "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 1136, - "considered_empty": 20, + "total_preds": 920, + "considered_empty": 3, "valid_preds": 477, - "invalid_preds": 639, + "invalid_preds": 440, "missing": 0, - "invalid_fraction": 0.57258, - "precision": 0.42742, + "invalid_fraction": 0.47983, + "precision": 0.52017, "recall": 1.0, - "f1": 0.59887, - "non_empty": 1116 + "f1": 0.68436, + "non_empty": 917 }, "mpjpe": { "count": 477, - "mean": 0.047315, - "median": 0.042138, - "std": 0.015147, - "sem": 0.000694, - "min": 0.028647, - "max": 0.114489, + "mean": 0.047596, + "median": 0.042193, + "std": 0.01524, + "sem": 0.000699, + "min": 0.027696, + "max": 0.107296, "recall-0.025": 0.0, - "recall-0.05": 0.691824, + "recall-0.05": 0.687631, "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.388784, - "ap-0.1": 0.713268, - "ap-0.15": 0.722361, - "ap-0.25": 0.722361, - "ap-0.5": 0.722361 + "ap-0.05": 0.408489, + "ap-0.1": 0.716941, + "ap-0.15": 0.729644, + "ap-0.25": 0.729644, + "ap-0.5": 0.729644 }, "head": { "count": 477, - "mean": 0.049118, - "median": 0.045106, - "std": 0.023343, - "sem": 0.00107, - "min": 0.003301, + "mean": 0.049676, + "median": 0.045101, + "std": 0.023903, + "sem": 0.001096, + "min": 0.003103, "max": 0.143894, - "recall-0.025": 0.121593, - "recall-0.05": 0.570231, - "recall-0.1": 0.955975, + "recall-0.025": 0.1174, + "recall-0.05": 0.574423, + "recall-0.1": 0.947589, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -337,47 +337,47 @@ Results of the model in various experiments on different datasets. }, "shoulder_left": { "count": 477, - "mean": 0.043445, - "median": 0.038191, - "std": 0.021055, - "sem": 0.000965, + "mean": 0.043574, + "median": 0.038038, + "std": 0.021245, + "sem": 0.000974, "min": 0.003232, - "max": 0.157207, - "recall-0.025": 0.171908, - "recall-0.05": 0.712788, - "recall-0.1": 0.983229, - "recall-0.15": 0.995807, + "max": 0.137213, + "recall-0.025": 0.176101, + "recall-0.05": 0.706499, + "recall-0.1": 0.976939, + "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "shoulder_right": { "count": 477, - "mean": 0.049137, - "median": 0.045682, - "std": 0.024752, - "sem": 0.001135, - "min": 0.003266, - "max": 0.160035, - "recall-0.025": 0.134172, - "recall-0.05": 0.572327, - "recall-0.1": 0.964361, - "recall-0.15": 0.995807, + "mean": 0.04967, + "median": 0.043113, + "std": 0.025621, + "sem": 0.001174, + "min": 0.002952, + "max": 0.156733, + "recall-0.025": 0.148847, + "recall-0.05": 0.57652, + "recall-0.1": 0.953878, + "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "elbow_left": { "count": 477, - "mean": 0.041395, - "median": 0.033043, - "std": 0.027196, - "sem": 0.001247, - "min": 0.003226, - "max": 0.152207, - "recall-0.025": 0.339623, - "recall-0.05": 0.719078, - "recall-0.1": 0.951782, + "mean": 0.040934, + "median": 0.032377, + "std": 0.026799, + "sem": 0.001228, + "min": 0.00373, + "max": 0.15787, + "recall-0.025": 0.32914, + "recall-0.05": 0.737945, + "recall-0.1": 0.947589, "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -385,63 +385,63 @@ Results of the model in various experiments on different datasets. }, "elbow_right": { "count": 477, - "mean": 0.053602, - "median": 0.045523, - "std": 0.042083, - "sem": 0.001929, + "mean": 0.053123, + "median": 0.043409, + "std": 0.041803, + "sem": 0.001916, "min": 0.004168, - "max": 0.253633, - "recall-0.025": 0.278826, - "recall-0.05": 0.557652, - "recall-0.1": 0.90566, - "recall-0.15": 0.960168, - "recall-0.25": 0.997904, + "max": 0.24972, + "recall-0.025": 0.274633, + "recall-0.05": 0.566038, + "recall-0.1": 0.901468, + "recall-0.15": 0.958071, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_left": { "count": 477, - "mean": 0.061717, - "median": 0.052702, - "std": 0.046414, - "sem": 0.002127, - "min": 0.006451, + "mean": 0.062605, + "median": 0.054875, + "std": 0.046093, + "sem": 0.002113, + "min": 0.009073, "max": 0.41084, - "recall-0.025": 0.113208, - "recall-0.05": 0.417191, + "recall-0.025": 0.1174, + "recall-0.05": 0.39413, "recall-0.1": 0.909853, - "recall-0.15": 0.949686, + "recall-0.15": 0.953878, "recall-0.25": 0.987421, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_right": { "count": 477, - "mean": 0.057621, - "median": 0.052403, - "std": 0.031001, - "sem": 0.001421, - "min": 0.008162, - "max": 0.222674, - "recall-0.025": 0.102725, - "recall-0.05": 0.444444, - "recall-0.1": 0.909853, - "recall-0.15": 0.981132, + "mean": 0.058259, + "median": 0.053297, + "std": 0.03118, + "sem": 0.001429, + "min": 0.004313, + "max": 0.246259, + "recall-0.025": 0.104822, + "recall-0.05": 0.42348, + "recall-0.1": 0.907757, + "recall-0.15": 0.987421, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "hip_left": { "count": 477, - "mean": 0.045082, - "median": 0.038157, - "std": 0.026061, - "sem": 0.001195, + "mean": 0.044762, + "median": 0.037892, + "std": 0.026384, + "sem": 0.001209, "min": 0.001857, - "max": 0.128869, - "recall-0.025": 0.224319, - "recall-0.05": 0.67086, - "recall-0.1": 0.947589, + "max": 0.12916, + "recall-0.025": 0.230608, + "recall-0.05": 0.668763, + "recall-0.1": 0.951782, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -449,31 +449,31 @@ Results of the model in various experiments on different datasets. }, "hip_right": { "count": 477, - "mean": 0.056117, - "median": 0.052888, - "std": 0.022784, - "sem": 0.001044, + "mean": 0.05601, + "median": 0.05311, + "std": 0.024411, + "sem": 0.001119, "min": 0.006227, - "max": 0.137531, - "recall-0.025": 0.083857, - "recall-0.05": 0.419287, - "recall-0.1": 0.960168, - "recall-0.15": 1.0, + "max": 0.181618, + "recall-0.025": 0.073375, + "recall-0.05": 0.427673, + "recall-0.1": 0.949686, + "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, "knee_left": { "count": 477, - "mean": 0.038063, - "median": 0.035282, - "std": 0.024315, - "sem": 0.001114, - "min": 0.003097, - "max": 0.183598, - "recall-0.025": 0.289308, - "recall-0.05": 0.792453, - "recall-0.1": 0.976939, + "mean": 0.039106, + "median": 0.036112, + "std": 0.025507, + "sem": 0.001169, + "min": 0.001035, + "max": 0.190355, + "recall-0.025": 0.285115, + "recall-0.05": 0.775681, + "recall-0.1": 0.972746, "recall-0.15": 0.989518, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -481,15 +481,15 @@ Results of the model in various experiments on different datasets. }, "knee_right": { "count": 477, - "mean": 0.039416, - "median": 0.035065, - "std": 0.023431, - "sem": 0.001074, - "min": 0.00488, + "mean": 0.040007, + "median": 0.035799, + "std": 0.023668, + "sem": 0.001085, + "min": 0.005618, "max": 0.190642, - "recall-0.025": 0.32914, - "recall-0.05": 0.748428, - "recall-0.1": 0.974843, + "recall-0.025": 0.320755, + "recall-0.05": 0.719078, + "recall-0.1": 0.976939, "recall-0.15": 0.997904, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -497,14 +497,14 @@ Results of the model in various experiments on different datasets. }, "ankle_left": { "count": 477, - "mean": 0.038475, - "median": 0.031307, - "std": 0.030146, - "sem": 0.001382, + "mean": 0.038379, + "median": 0.032357, + "std": 0.030279, + "sem": 0.001388, "min": 0.00131, - "max": 0.224915, - "recall-0.025": 0.400419, - "recall-0.05": 0.813417, + "max": 0.222879, + "recall-0.025": 0.396226, + "recall-0.05": 0.819706, "recall-0.1": 0.943396, "recall-0.15": 0.983229, "recall-0.25": 1.0, @@ -513,34 +513,34 @@ Results of the model in various experiments on different datasets. }, "ankle_right": { "count": 477, - "mean": 0.041902, - "median": 0.030437, - "std": 0.038265, - "sem": 0.001754, - "min": 0.002837, - "max": 0.296238, + "mean": 0.04264, + "median": 0.031508, + "std": 0.0383, + "sem": 0.001755, + "min": 0.00629, + "max": 0.296905, "recall-0.025": 0.320755, - "recall-0.05": 0.777778, + "recall-0.05": 0.781971, "recall-0.1": 0.926625, "recall-0.15": 0.968553, - "recall-0.25": 0.997904, + "recall-0.25": 0.995807, "recall-0.5": 1.0, "num_labels": 477 }, "joint_recalls": { "num_labels": 6201, - "recall-0.025": 0.22287, - "recall-0.05": 0.63119, - "recall-0.1": 0.94598, - "recall-0.15": 0.98549, - "recall-0.25": 0.99855, + "recall-0.025": 0.22158, + "recall-0.05": 0.62764, + "recall-0.1": 0.94227, + "recall-0.15": 0.98645, + "recall-0.25": 0.99839, "recall-0.5": 1.0 } } { "total_parts": 6678, - "correct_parts": 6616, - "pcp": 0.990716 + "correct_parts": 6618, + "pcp": 0.991015 } ``` @@ -549,58 +549,58 @@ Results of the model in various experiments on different datasets. (duration 00:00:29) ```json { - "avg_time_2d": 0.08269888724920885, - "avg_time_3d": 0.00582737405345125, - "avg_fps": 11.29608305247554 + "avg_time_2d": 0.08087322846898493, + "avg_time_3d": 0.005055366822008816, + "avg_fps": 11.637569503068683 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 855, - "considered_empty": 54, + "total_preds": 465, + "considered_empty": 3, "valid_preds": 376, - "invalid_preds": 425, + "invalid_preds": 86, "missing": 0, - "invalid_fraction": 0.53059, - "precision": 0.46941, + "invalid_fraction": 0.18615, + "precision": 0.81385, "recall": 1.0, - "f1": 0.63891, - "non_empty": 801 + "f1": 0.89737, + "non_empty": 462 }, "mpjpe": { "count": 376, - "mean": 0.073759, - "median": 0.068859, - "std": 0.018005, - "sem": 0.00093, + "mean": 0.078221, + "median": 0.074095, + "std": 0.021295, + "sem": 0.0011, "min": 0.0459, - "max": 0.163826, + "max": 0.171771, "recall-0.025": 0.0, - "recall-0.05": 0.015957, - "recall-0.1": 0.930851, - "recall-0.15": 0.984043, + "recall-0.05": 0.013298, + "recall-0.1": 0.87766, + "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, - "ap-0.05": 0.000283, - "ap-0.1": 0.811046, - "ap-0.15": 0.886091, - "ap-0.25": 0.896957, - "ap-0.5": 0.896957 + "ap-0.05": 0.000235, + "ap-0.1": 0.778666, + "ap-0.15": 0.914945, + "ap-0.25": 0.92169, + "ap-0.5": 0.92169 }, "head": { "count": 376, - "mean": 0.052892, - "median": 0.051862, - "std": 0.022186, - "sem": 0.001146, + "mean": 0.052183, + "median": 0.051419, + "std": 0.022001, + "sem": 0.001136, "min": 0.007866, - "max": 0.127, - "recall-0.025": 0.106383, - "recall-0.05": 0.476064, - "recall-0.1": 0.984043, + "max": 0.108791, + "recall-0.025": 0.117021, + "recall-0.05": 0.481383, + "recall-0.1": 0.986702, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, @@ -608,210 +608,210 @@ Results of the model in various experiments on different datasets. }, "shoulder_left": { "count": 376, - "mean": 0.060966, - "median": 0.056108, - "std": 0.031436, - "sem": 0.001623, + "mean": 0.06346, + "median": 0.057771, + "std": 0.035684, + "sem": 0.001843, "min": 0.003274, - "max": 0.185051, - "recall-0.025": 0.074468, - "recall-0.05": 0.404255, - "recall-0.1": 0.867021, - "recall-0.15": 0.994681, + "max": 0.225771, + "recall-0.025": 0.066489, + "recall-0.05": 0.385638, + "recall-0.1": 0.859043, + "recall-0.15": 0.978723, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "shoulder_right": { "count": 376, - "mean": 0.062879, - "median": 0.058314, - "std": 0.02496, - "sem": 0.001289, + "mean": 0.063112, + "median": 0.058901, + "std": 0.0254, + "sem": 0.001312, "min": 0.00855, "max": 0.182673, "recall-0.025": 0.031915, - "recall-0.05": 0.335106, - "recall-0.1": 0.922872, - "recall-0.15": 0.992021, + "recall-0.05": 0.329787, + "recall-0.1": 0.925532, + "recall-0.15": 0.989362, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_left": { "count": 376, - "mean": 0.077799, - "median": 0.067444, - "std": 0.041299, - "sem": 0.002133, - "min": 0.006015, + "mean": 0.07885, + "median": 0.065697, + "std": 0.042209, + "sem": 0.00218, + "min": 0.007947, "max": 0.199504, - "recall-0.025": 0.045213, - "recall-0.05": 0.295213, - "recall-0.1": 0.734043, - "recall-0.15": 0.930851, + "recall-0.025": 0.037234, + "recall-0.05": 0.279255, + "recall-0.1": 0.726064, + "recall-0.15": 0.917553, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_right": { "count": 376, - "mean": 0.069841, - "median": 0.059761, - "std": 0.035231, - "sem": 0.001819, + "mean": 0.069973, + "median": 0.059158, + "std": 0.035558, + "sem": 0.001836, "min": 0.010545, "max": 0.189846, - "recall-0.025": 0.037234, - "recall-0.05": 0.321809, - "recall-0.1": 0.803191, - "recall-0.15": 0.968085, + "recall-0.025": 0.039894, + "recall-0.05": 0.324468, + "recall-0.1": 0.800532, + "recall-0.15": 0.965426, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_left": { "count": 376, - "mean": 0.109924, - "median": 0.094822, - "std": 0.06246, - "sem": 0.003225, + "mean": 0.108457, + "median": 0.092822, + "std": 0.060912, + "sem": 0.003145, "min": 0.014099, - "max": 0.395002, - "recall-0.025": 0.010638, + "max": 0.365051, + "recall-0.025": 0.015957, "recall-0.05": 0.12234, - "recall-0.1": 0.534574, - "recall-0.15": 0.771277, - "recall-0.25": 0.952128, + "recall-0.1": 0.553191, + "recall-0.15": 0.779255, + "recall-0.25": 0.954787, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.094958, - "median": 0.092739, - "std": 0.036388, - "sem": 0.001879, + "mean": 0.094784, + "median": 0.091404, + "std": 0.038087, + "sem": 0.001967, "min": 0.020174, "max": 0.210411, "recall-0.025": 0.010638, - "recall-0.05": 0.101064, - "recall-0.1": 0.571809, - "recall-0.15": 0.920213, + "recall-0.05": 0.109043, + "recall-0.1": 0.582447, + "recall-0.15": 0.904255, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "hip_left": { "count": 376, - "mean": 0.084196, - "median": 0.083885, - "std": 0.027424, - "sem": 0.001416, + "mean": 0.085772, + "median": 0.087223, + "std": 0.027885, + "sem": 0.00144, "min": 0.008948, - "max": 0.147338, + "max": 0.151514, "recall-0.025": 0.007979, - "recall-0.05": 0.119681, - "recall-0.1": 0.696809, - "recall-0.15": 1.0, + "recall-0.05": 0.109043, + "recall-0.1": 0.68617, + "recall-0.15": 0.994681, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "hip_right": { "count": 376, - "mean": 0.088234, + "mean": 0.088207, "median": 0.089791, - "std": 0.029355, - "sem": 0.001516, + "std": 0.028703, + "sem": 0.001482, "min": 0.015462, "max": 0.210122, - "recall-0.025": 0.015957, - "recall-0.05": 0.103723, - "recall-0.1": 0.715426, - "recall-0.15": 0.962766, + "recall-0.025": 0.010638, + "recall-0.05": 0.106383, + "recall-0.1": 0.712766, + "recall-0.15": 0.965426, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "knee_left": { "count": 376, - "mean": 0.057064, - "median": 0.051737, - "std": 0.030122, - "sem": 0.001555, - "min": 0.01259, + "mean": 0.057089, + "median": 0.052373, + "std": 0.029635, + "sem": 0.00153, + "min": 0.013067, "max": 0.209373, - "recall-0.025": 0.093085, - "recall-0.05": 0.465426, - "recall-0.1": 0.917553, - "recall-0.15": 0.986702, + "recall-0.025": 0.087766, + "recall-0.05": 0.457447, + "recall-0.1": 0.920213, + "recall-0.15": 0.989362, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "knee_right": { "count": 376, - "mean": 0.062274, - "median": 0.055225, - "std": 0.028571, - "sem": 0.001475, + "mean": 0.061513, + "median": 0.054976, + "std": 0.026345, + "sem": 0.00136, "min": 0.004272, "max": 0.216432, "recall-0.025": 0.015957, - "recall-0.05": 0.356383, - "recall-0.1": 0.917553, - "recall-0.15": 0.981383, + "recall-0.05": 0.359043, + "recall-0.1": 0.928191, + "recall-0.15": 0.986702, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_left": { - "count": 370, - "mean": 0.062845, - "median": 0.057915, - "std": 0.036038, - "sem": 0.001876, + "count": 368, + "mean": 0.094784, + "median": 0.06093, + "std": 0.101506, + "sem": 0.005299, "min": 0.007413, - "max": 0.326849, - "recall-0.025": 0.074468, - "recall-0.05": 0.335106, - "recall-0.1": 0.896277, - "recall-0.15": 0.960106, - "recall-0.25": 0.976064, - "recall-0.5": 0.984043, + "max": 0.495541, + "recall-0.025": 0.06383, + "recall-0.05": 0.271277, + "recall-0.1": 0.792553, + "recall-0.15": 0.867021, + "recall-0.25": 0.880319, + "recall-0.5": 0.978723, "num_labels": 376 }, "ankle_right": { "count": 370, - "mean": 0.059691, - "median": 0.050609, - "std": 0.040774, - "sem": 0.002123, + "mean": 0.082929, + "median": 0.052987, + "std": 0.093697, + "sem": 0.004878, "min": 0.010702, - "max": 0.442452, - "recall-0.025": 0.06117, - "recall-0.05": 0.476064, - "recall-0.1": 0.893617, - "recall-0.15": 0.960106, - "recall-0.25": 0.976064, + "max": 0.495901, + "recall-0.025": 0.069149, + "recall-0.05": 0.444149, + "recall-0.1": 0.827128, + "recall-0.15": 0.885638, + "recall-0.25": 0.904255, "recall-0.5": 0.984043, "num_labels": 376 }, "joint_recalls": { "num_labels": 4888, - "recall-0.025": 0.04317, - "recall-0.05": 0.29992, - "recall-0.1": 0.80278, - "recall-0.15": 0.95479, - "recall-0.25": 0.99264, - "recall-0.5": 0.99755 + "recall-0.025": 0.04276, + "recall-0.05": 0.28969, + "recall-0.1": 0.79133, + "recall-0.15": 0.93883, + "recall-0.25": 0.97934, + "recall-0.5": 0.99693 } } { "total_parts": 5264, - "correct_parts": 4972, - "pcp": 0.944529 + "correct_parts": 4925, + "pcp": 0.9356 } ``` @@ -828,181 +828,181 @@ Results of the model in various experiments on different datasets. "person_nums": { "total_frames": 629, "total_labels": 1061, - "total_preds": 761, - "considered_empty": 259, - "valid_preds": 438, - "invalid_preds": 64, - "missing": 623, - "invalid_fraction": 0.12749, - "precision": 0.87251, - "recall": 0.41282, - "f1": 0.56046, - "non_empty": 502 + "total_preds": 1083, + "considered_empty": 111, + "valid_preds": 757, + "invalid_preds": 215, + "missing": 304, + "invalid_fraction": 0.22119, + "precision": 0.77881, + "recall": 0.71348, + "f1": 0.74471, + "non_empty": 972 }, "mpjpe": { - "count": 438, - "mean": 0.110999, - "median": 0.096758, - "std": 0.053021, - "sem": 0.002536, - "min": 0.041183, - "max": 0.457321, + "count": 757, + "mean": 0.108202, + "median": 0.091549, + "std": 0.058928, + "sem": 0.002143, + "min": 0.040155, + "max": 0.472298, "recall-0.025": 0.0, - "recall-0.05": 0.00377, - "recall-0.1": 0.219604, - "recall-0.15": 0.351555, - "recall-0.25": 0.402451, - "recall-0.5": 0.412818, + "recall-0.05": 0.00754, + "recall-0.1": 0.427898, + "recall-0.15": 0.613572, + "recall-0.25": 0.690858, + "recall-0.5": 0.713478, "num_labels": 1061, "ap-0.025": 0.0, - "ap-0.05": 0.000103, - "ap-0.1": 0.142082, - "ap-0.15": 0.290046, - "ap-0.25": 0.373209, - "ap-0.5": 0.386698 + "ap-0.05": 0.0001, + "ap-0.1": 0.289932, + "ap-0.15": 0.512528, + "ap-0.25": 0.61961, + "ap-0.5": 0.644567 }, "head": { - "count": 438, - "mean": 0.059301, - "median": 0.047955, - "std": 0.047348, - "sem": 0.002265, - "min": 0.007984, - "max": 0.409985, - "recall-0.025": 0.05655, - "recall-0.05": 0.221489, - "recall-0.1": 0.365693, - "recall-0.15": 0.39491, - "recall-0.25": 0.408106, - "recall-0.5": 0.412818, + "count": 754, + "mean": 0.058244, + "median": 0.046929, + "std": 0.049728, + "sem": 0.001812, + "min": 0.004184, + "max": 0.457029, + "recall-0.025": 0.108388, + "recall-0.05": 0.38737, + "recall-0.1": 0.640905, + "recall-0.15": 0.683318, + "recall-0.25": 0.701225, + "recall-0.5": 0.71065, "num_labels": 1061 }, "shoulder_left": { - "count": 437, - "mean": 0.057967, - "median": 0.037877, - "std": 0.058014, - "sem": 0.002778, + "count": 754, + "mean": 0.058204, + "median": 0.041815, + "std": 0.057554, + "sem": 0.002097, "min": 0.004852, - "max": 0.383066, - "recall-0.025": 0.112158, - "recall-0.05": 0.264844, - "recall-0.1": 0.354383, - "recall-0.15": 0.382658, - "recall-0.25": 0.402451, - "recall-0.5": 0.411876, + "max": 0.406925, + "recall-0.025": 0.173421, + "recall-0.05": 0.439208, + "recall-0.1": 0.626767, + "recall-0.15": 0.672008, + "recall-0.25": 0.692743, + "recall-0.5": 0.71065, "num_labels": 1061 }, "shoulder_right": { - "count": 438, - "mean": 0.055487, - "median": 0.036762, - "std": 0.057347, - "sem": 0.002743, - "min": 0.004536, - "max": 0.471274, - "recall-0.025": 0.097078, - "recall-0.05": 0.267672, - "recall-0.1": 0.363808, - "recall-0.15": 0.385485, - "recall-0.25": 0.405278, - "recall-0.5": 0.412818, + "count": 756, + "mean": 0.056776, + "median": 0.039074, + "std": 0.060238, + "sem": 0.002192, + "min": 0.002027, + "max": 0.452966, + "recall-0.025": 0.144204, + "recall-0.05": 0.450518, + "recall-0.1": 0.628652, + "recall-0.15": 0.675778, + "recall-0.25": 0.6918, + "recall-0.5": 0.712535, "num_labels": 1061 }, "elbow_left": { - "count": 435, - "mean": 0.105151, - "median": 0.073447, - "std": 0.086127, - "sem": 0.004134, - "min": 0.007643, - "max": 0.43204, - "recall-0.025": 0.051838, - "recall-0.05": 0.141376, - "recall-0.1": 0.249764, - "recall-0.15": 0.30443, - "recall-0.25": 0.37606, - "recall-0.5": 0.409991, + "count": 746, + "mean": 0.101452, + "median": 0.074471, + "std": 0.08217, + "sem": 0.00301, + "min": 0.00507, + "max": 0.481285, + "recall-0.025": 0.070688, + "recall-0.05": 0.232799, + "recall-0.1": 0.430726, + "recall-0.15": 0.549482, + "recall-0.25": 0.663525, + "recall-0.5": 0.70311, "num_labels": 1061 }, "elbow_right": { - "count": 436, - "mean": 0.079933, - "median": 0.055267, - "std": 0.074021, - "sem": 0.003549, - "min": 0.004321, - "max": 0.461444, - "recall-0.025": 0.059378, - "recall-0.05": 0.182846, - "recall-0.1": 0.312912, - "recall-0.15": 0.36098, - "recall-0.25": 0.386428, - "recall-0.5": 0.410933, + "count": 753, + "mean": 0.081978, + "median": 0.056745, + "std": 0.075906, + "sem": 0.002768, + "min": 0.003692, + "max": 0.49249, + "recall-0.025": 0.093308, + "recall-0.05": 0.309142, + "recall-0.1": 0.535344, + "recall-0.15": 0.622055, + "recall-0.25": 0.678605, + "recall-0.5": 0.709708, "num_labels": 1061 }, "wrist_left": { - "count": 432, - "mean": 0.12447, - "median": 0.079772, - "std": 0.10957, - "sem": 0.005278, + "count": 744, + "mean": 0.118477, + "median": 0.084179, + "std": 0.10046, + "sem": 0.003686, "min": 0.002322, - "max": 0.47313, - "recall-0.025": 0.05278, - "recall-0.05": 0.138549, - "recall-0.1": 0.229972, - "recall-0.15": 0.277097, - "recall-0.25": 0.344015, - "recall-0.5": 0.407163, + "max": 0.489601, + "recall-0.025": 0.077286, + "recall-0.05": 0.222432, + "recall-0.1": 0.396795, + "recall-0.15": 0.497644, + "recall-0.25": 0.613572, + "recall-0.5": 0.701225, "num_labels": 1061 }, "wrist_right": { - "count": 432, - "mean": 0.102391, - "median": 0.061378, - "std": 0.09479, - "sem": 0.004566, - "min": 0.006318, - "max": 0.479642, - "recall-0.025": 0.06409, - "recall-0.05": 0.175306, - "recall-0.1": 0.2705, - "recall-0.15": 0.303487, - "recall-0.25": 0.366635, - "recall-0.5": 0.407163, + "count": 747, + "mean": 0.10557, + "median": 0.069472, + "std": 0.093189, + "sem": 0.003412, + "min": 0.004086, + "max": 0.491182, + "recall-0.025": 0.074458, + "recall-0.05": 0.260132, + "recall-0.1": 0.439208, + "recall-0.15": 0.538172, + "recall-0.25": 0.63902, + "recall-0.5": 0.704053, "num_labels": 1061 }, "hip_left": { - "count": 431, - "mean": 0.190778, - "median": 0.168752, - "std": 0.08481, - "sem": 0.00409, - "min": 0.040111, - "max": 0.490925, - "recall-0.025": 0.0, - "recall-0.05": 0.000943, - "recall-0.1": 0.0377, - "recall-0.15": 0.147031, - "recall-0.25": 0.321395, - "recall-0.5": 0.406221, + "count": 742, + "mean": 0.176693, + "median": 0.160147, + "std": 0.076244, + "sem": 0.002801, + "min": 0.018035, + "max": 0.497407, + "recall-0.025": 0.001885, + "recall-0.05": 0.006598, + "recall-0.1": 0.065975, + "recall-0.15": 0.28935, + "recall-0.25": 0.609802, + "recall-0.5": 0.69934, "num_labels": 1061 }, "hip_right": { - "count": 430, - "mean": 0.188866, - "median": 0.170728, - "std": 0.083464, - "sem": 0.00403, - "min": 0.053341, - "max": 0.489645, - "recall-0.025": 0.0, - "recall-0.05": 0.0, - "recall-0.1": 0.04524, - "recall-0.15": 0.150801, - "recall-0.25": 0.328935, - "recall-0.5": 0.405278, + "count": 747, + "mean": 0.174326, + "median": 0.15763, + "std": 0.074824, + "sem": 0.002739, + "min": 0.01538, + "max": 0.491944, + "recall-0.025": 0.000943, + "recall-0.05": 0.004713, + "recall-0.1": 0.086711, + "recall-0.15": 0.312912, + "recall-0.25": 0.609802, + "recall-0.5": 0.704053, "num_labels": 1061 }, "knee_left": {}, @@ -1011,18 +1011,18 @@ Results of the model in various experiments on different datasets. "ankle_right": {}, "joint_recalls": { "num_labels": 9549, - "recall-0.025": 0.05435, - "recall-0.05": 0.15415, - "recall-0.1": 0.24736, - "recall-0.15": 0.30003, - "recall-0.25": 0.37061, - "recall-0.5": 0.40873 + "recall-0.025": 0.0821, + "recall-0.05": 0.25647, + "recall-0.1": 0.42727, + "recall-0.15": 0.53775, + "recall-0.25": 0.65494, + "recall-0.5": 0.70552 } } { "total_parts": 10610, - "correct_parts": 3342, - "pcp": 0.314986 + "correct_parts": 5946, + "pcp": 0.560415 } ``` @@ -1031,269 +1031,269 @@ Results of the model in various experiments on different datasets. (duration 00:02:28) ```json { - "avg_time_2d": 0.15851887609900497, - "avg_time_3d": 0.02711676795308183, - "avg_fps": 5.3868964934310455 + "avg_time_2d": 0.15420582527067603, + "avg_time_3d": 0.02728460067655982, + "avg_fps": 5.50993252002575 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1738, - "considered_empty": 52, - "valid_preds": 1454, - "invalid_preds": 232, - "missing": 12, - "invalid_fraction": 0.1376, - "precision": 0.8624, - "recall": 0.99181, - "f1": 0.92259, - "non_empty": 1686 + "total_preds": 1571, + "considered_empty": 25, + "valid_preds": 1453, + "invalid_preds": 93, + "missing": 13, + "invalid_fraction": 0.06016, + "precision": 0.93984, + "recall": 0.99113, + "f1": 0.96481, + "non_empty": 1546 }, "mpjpe": { - "count": 1454, - "mean": 0.042168, - "median": 0.036857, - "std": 0.02108, - "sem": 0.000553, - "min": 0.012479, - "max": 0.168256, - "recall-0.025": 0.177353, - "recall-0.05": 0.759891, - "recall-0.1": 0.965211, + "count": 1453, + "mean": 0.041966, + "median": 0.036953, + "std": 0.020003, + "sem": 0.000525, + "min": 0.013464, + "max": 0.192842, + "recall-0.025": 0.19236, + "recall-0.05": 0.729195, + "recall-0.1": 0.9809, "recall-0.15": 0.99045, - "recall-0.25": 0.991814, - "recall-0.5": 0.991814, + "recall-0.25": 0.991132, + "recall-0.5": 0.991132, "num_labels": 1466, - "ap-0.025": 0.060414, - "ap-0.05": 0.680845, - "ap-0.1": 0.943244, - "ap-0.15": 0.973463, - "ap-0.25": 0.974787, - "ap-0.5": 0.974787 + "ap-0.025": 0.092262, + "ap-0.05": 0.655826, + "ap-0.1": 0.964049, + "ap-0.15": 0.978568, + "ap-0.25": 0.97921, + "ap-0.5": 0.97921 }, "nose": { - "count": 1452, - "mean": 0.016822, - "median": 0.013121, - "std": 0.017966, - "sem": 0.000472, - "min": 0.002126, + "count": 1451, + "mean": 0.017869, + "median": 0.012877, + "std": 0.023358, + "sem": 0.000613, + "min": 0.002412, "max": 0.286093, - "recall-0.025": 0.883117, - "recall-0.05": 0.966507, - "recall-0.1": 0.989064, - "recall-0.15": 0.989747, - "recall-0.25": 0.989747, - "recall-0.5": 0.992481, + "recall-0.025": 0.877649, + "recall-0.05": 0.952153, + "recall-0.1": 0.984962, + "recall-0.15": 0.985646, + "recall-0.25": 0.987013, + "recall-0.5": 0.991798, "num_labels": 1463 }, "shoulder_left": { - "count": 1454, - "mean": 0.023702, - "median": 0.017862, - "std": 0.033742, - "sem": 0.000885, + "count": 1453, + "mean": 0.020303, + "median": 0.017861, + "std": 0.011814, + "sem": 0.00031, "min": 0.001613, - "max": 0.279487, - "recall-0.025": 0.744884, - "recall-0.05": 0.960437, - "recall-0.1": 0.975443, - "recall-0.15": 0.975443, - "recall-0.25": 0.975443, - "recall-0.5": 0.991814, + "max": 0.130922, + "recall-0.025": 0.746248, + "recall-0.05": 0.967258, + "recall-0.1": 0.99045, + "recall-0.15": 0.991132, + "recall-0.25": 0.991132, + "recall-0.5": 0.991132, "num_labels": 1466 }, "shoulder_right": { - "count": 1453, - "mean": 0.023312, - "median": 0.020179, - "std": 0.01516, - "sem": 0.000398, - "min": 0.003067, - "max": 0.146271, - "recall-0.025": 0.671672, - "recall-0.05": 0.949488, - "recall-0.1": 0.988396, - "recall-0.15": 0.991809, - "recall-0.25": 0.991809, - "recall-0.5": 0.991809, + "count": 1452, + "mean": 0.022985, + "median": 0.018884, + "std": 0.01682, + "sem": 0.000442, + "min": 0.00288, + "max": 0.179564, + "recall-0.025": 0.703072, + "recall-0.05": 0.939932, + "recall-0.1": 0.984983, + "recall-0.15": 0.990444, + "recall-0.25": 0.991126, + "recall-0.5": 0.991126, "num_labels": 1465 }, "elbow_left": { - "count": 1453, - "mean": 0.030356, - "median": 0.018233, - "std": 0.056255, - "sem": 0.001476, + "count": 1452, + "mean": 0.023518, + "median": 0.016469, + "std": 0.024124, + "sem": 0.000633, "min": 0.001722, - "max": 0.464792, - "recall-0.025": 0.694881, - "recall-0.05": 0.891468, - "recall-0.1": 0.967235, - "recall-0.15": 0.974061, - "recall-0.25": 0.974061, - "recall-0.5": 0.991809, + "max": 0.289094, + "recall-0.025": 0.733106, + "recall-0.05": 0.898294, + "recall-0.1": 0.9843, + "recall-0.15": 0.987031, + "recall-0.25": 0.988396, + "recall-0.5": 0.991126, "num_labels": 1465 }, "elbow_right": { - "count": 1452, - "mean": 0.022121, - "median": 0.017129, - "std": 0.016663, - "sem": 0.000437, + "count": 1451, + "mean": 0.023029, + "median": 0.017706, + "std": 0.017257, + "sem": 0.000453, "min": 0.001506, "max": 0.18224, - "recall-0.025": 0.714969, - "recall-0.05": 0.935065, - "recall-0.1": 0.987697, - "recall-0.15": 0.991798, - "recall-0.25": 0.992481, - "recall-0.5": 0.992481, + "recall-0.025": 0.693096, + "recall-0.05": 0.910458, + "recall-0.1": 0.989064, + "recall-0.15": 0.991114, + "recall-0.25": 0.991798, + "recall-0.5": 0.991798, "num_labels": 1463 }, "wrist_left": { - "count": 1426, - "mean": 0.031034, - "median": 0.015989, - "std": 0.041591, - "sem": 0.001102, - "min": 0.001413, - "max": 0.342328, - "recall-0.025": 0.678522, - "recall-0.05": 0.845886, - "recall-0.1": 0.928173, - "recall-0.15": 0.960251, - "recall-0.25": 0.990237, - "recall-0.5": 0.994421, + "count": 1424, + "mean": 0.030331, + "median": 0.016128, + "std": 0.040241, + "sem": 0.001067, + "min": 0.000698, + "max": 0.352684, + "recall-0.025": 0.670851, + "recall-0.05": 0.843096, + "recall-0.1": 0.933752, + "recall-0.15": 0.965132, + "recall-0.25": 0.988145, + "recall-0.5": 0.993026, "num_labels": 1434 }, "wrist_right": { - "count": 1449, - "mean": 0.024373, - "median": 0.016014, - "std": 0.025093, - "sem": 0.000659, - "min": 0.000914, - "max": 0.240789, - "recall-0.025": 0.703297, - "recall-0.05": 0.897665, - "recall-0.1": 0.973214, - "recall-0.15": 0.989011, - "recall-0.25": 0.995192, - "recall-0.5": 0.995192, + "count": 1448, + "mean": 0.026033, + "median": 0.017031, + "std": 0.030104, + "sem": 0.000791, + "min": 0.001676, + "max": 0.277396, + "recall-0.025": 0.671016, + "recall-0.05": 0.895604, + "recall-0.1": 0.96772, + "recall-0.15": 0.980769, + "recall-0.25": 0.993819, + "recall-0.5": 0.994505, "num_labels": 1456 }, "hip_left": { - "count": 1453, - "mean": 0.061695, - "median": 0.055825, - "std": 0.032837, - "sem": 0.000862, + "count": 1452, + "mean": 0.060205, + "median": 0.055544, + "std": 0.030444, + "sem": 0.000799, "min": 0.002276, - "max": 0.230798, - "recall-0.025": 0.066212, - "recall-0.05": 0.393174, - "recall-0.1": 0.894198, - "recall-0.15": 0.96314, - "recall-0.25": 0.991809, - "recall-0.5": 0.991809, + "max": 0.185238, + "recall-0.025": 0.085324, + "recall-0.05": 0.396587, + "recall-0.1": 0.886007, + "recall-0.15": 0.973379, + "recall-0.25": 0.991126, + "recall-0.5": 0.991126, "num_labels": 1465 }, "hip_right": { - "count": 1454, - "mean": 0.060155, - "median": 0.058702, - "std": 0.028867, - "sem": 0.000757, + "count": 1453, + "mean": 0.059293, + "median": 0.057358, + "std": 0.029747, + "sem": 0.000781, "min": 0.002677, - "max": 0.287728, + "max": 0.290069, "recall-0.025": 0.067531, - "recall-0.05": 0.369714, - "recall-0.1": 0.922237, + "recall-0.05": 0.401091, + "recall-0.1": 0.924284, "recall-0.15": 0.978172, - "recall-0.25": 0.991132, - "recall-0.5": 0.991814, + "recall-0.25": 0.989768, + "recall-0.5": 0.991132, "num_labels": 1466 }, "knee_left": { - "count": 1453, - "mean": 0.046027, - "median": 0.040423, - "std": 0.029428, - "sem": 0.000772, - "min": 0.002822, - "max": 0.274944, - "recall-0.025": 0.188396, - "recall-0.05": 0.661433, - "recall-0.1": 0.952218, - "recall-0.15": 0.974744, + "count": 1452, + "mean": 0.045651, + "median": 0.040178, + "std": 0.027998, + "sem": 0.000735, + "min": 0.002741, + "max": 0.353223, + "recall-0.025": 0.203413, + "recall-0.05": 0.627986, + "recall-0.1": 0.959727, + "recall-0.15": 0.983618, "recall-0.25": 0.989078, - "recall-0.5": 0.991809, + "recall-0.5": 0.991126, "num_labels": 1465 }, "knee_right": { - "count": 1452, - "mean": 0.047274, - "median": 0.041634, - "std": 0.026906, - "sem": 0.000706, + "count": 1450, + "mean": 0.046968, + "median": 0.039914, + "std": 0.029347, + "sem": 0.000771, "min": 0.001798, - "max": 0.187612, - "recall-0.025": 0.224812, - "recall-0.05": 0.584647, - "recall-0.1": 0.954764, - "recall-0.15": 0.991775, - "recall-0.25": 0.995202, - "recall-0.5": 0.995202, + "max": 0.351849, + "recall-0.025": 0.23852, + "recall-0.05": 0.60658, + "recall-0.1": 0.945853, + "recall-0.15": 0.989034, + "recall-0.25": 0.991775, + "recall-0.5": 0.993831, "num_labels": 1459 }, "ankle_left": { - "count": 1439, - "mean": 0.071808, - "median": 0.032165, - "std": 0.098716, - "sem": 0.002603, + "count": 1447, + "mean": 0.080437, + "median": 0.03297, + "std": 0.102844, + "sem": 0.002705, "min": 0.001232, - "max": 0.494486, - "recall-0.025": 0.382775, - "recall-0.05": 0.632946, - "recall-0.1": 0.78674, - "recall-0.15": 0.83527, - "recall-0.25": 0.91866, - "recall-0.5": 0.983595, + "max": 0.498074, + "recall-0.025": 0.380725, + "recall-0.05": 0.590567, + "recall-0.1": 0.734792, + "recall-0.15": 0.811347, + "recall-0.25": 0.915243, + "recall-0.5": 0.989064, "num_labels": 1463 }, "ankle_right": { - "count": 1440, - "mean": 0.081234, - "median": 0.033067, - "std": 0.119559, - "sem": 0.003152, + "count": 1441, + "mean": 0.084783, + "median": 0.031006, + "std": 0.118405, + "sem": 0.00312, "min": 0.001386, - "max": 0.499447, - "recall-0.025": 0.373973, - "recall-0.05": 0.677397, - "recall-0.1": 0.796575, - "recall-0.15": 0.839726, - "recall-0.25": 0.885616, - "recall-0.5": 0.986301, + "max": 0.492576, + "recall-0.025": 0.391096, + "recall-0.05": 0.678082, + "recall-0.1": 0.771233, + "recall-0.15": 0.808904, + "recall-0.25": 0.866438, + "recall-0.5": 0.986986, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.49136, - "recall-0.05": 0.75066, - "recall-0.1": 0.9317, - "recall-0.15": 0.95771, - "recall-0.25": 0.97483, - "recall-0.5": 0.9911 + "recall-0.025": 0.49652, + "recall-0.05": 0.74613, + "recall-0.1": 0.92728, + "recall-0.15": 0.95635, + "recall-0.25": 0.97457, + "recall-0.5": 0.99084 } } { "total_parts": 20444, - "correct_parts": 19848, - "pcp": 0.970847 + "correct_parts": 19868, + "pcp": 0.971825 } ``` @@ -1310,261 +1310,261 @@ Results of the model in various experiments on different datasets. "person_nums": { "total_frames": 288, "total_labels": 288, - "total_preds": 310, - "considered_empty": 51, - "valid_preds": 251, - "invalid_preds": 8, - "missing": 37, - "invalid_fraction": 0.03089, - "precision": 0.96911, - "recall": 0.87153, - "f1": 0.91773, - "non_empty": 259 + "total_preds": 398, + "considered_empty": 75, + "valid_preds": 266, + "invalid_preds": 57, + "missing": 22, + "invalid_fraction": 0.17647, + "precision": 0.82353, + "recall": 0.92361, + "f1": 0.8707, + "non_empty": 323 }, "mpjpe": { - "count": 251, - "mean": 0.065975, - "median": 0.053767, - "std": 0.046091, - "sem": 0.002915, + "count": 266, + "mean": 0.069965, + "median": 0.050911, + "std": 0.057715, + "sem": 0.003545, "min": 0.016763, - "max": 0.366032, - "recall-0.025": 0.048611, - "recall-0.05": 0.381944, - "recall-0.1": 0.732639, - "recall-0.15": 0.836806, - "recall-0.25": 0.857639, - "recall-0.5": 0.871528, + "max": 0.420076, + "recall-0.025": 0.055556, + "recall-0.05": 0.447917, + "recall-0.1": 0.763889, + "recall-0.15": 0.868056, + "recall-0.25": 0.899306, + "recall-0.5": 0.923611, "num_labels": 288, - "ap-0.025": 0.007366, - "ap-0.05": 0.204348, - "ap-0.1": 0.655256, - "ap-0.15": 0.81734, - "ap-0.25": 0.848678, - "ap-0.5": 0.865346 + "ap-0.025": 0.008543, + "ap-0.05": 0.271147, + "ap-0.1": 0.70313, + "ap-0.15": 0.84343, + "ap-0.25": 0.879676, + "ap-0.5": 0.902788 }, "head": { - "count": 237, - "mean": 0.038044, - "median": 0.029325, - "std": 0.033749, - "sem": 0.002197, + "count": 249, + "mean": 0.042778, + "median": 0.028667, + "std": 0.04469, + "sem": 0.002838, "min": 0.004678, - "max": 0.383215, - "recall-0.025": 0.333333, - "recall-0.05": 0.718519, - "recall-0.1": 0.855556, - "recall-0.15": 0.87037, - "recall-0.25": 0.874074, - "recall-0.5": 0.877778, + "max": 0.367713, + "recall-0.025": 0.351852, + "recall-0.05": 0.733333, + "recall-0.1": 0.859259, + "recall-0.15": 0.892593, + "recall-0.25": 0.907407, + "recall-0.5": 0.922222, "num_labels": 270 }, "shoulder_left": { - "count": 236, - "mean": 0.042516, - "median": 0.033226, - "std": 0.034694, - "sem": 0.002263, + "count": 251, + "mean": 0.047401, + "median": 0.03466, + "std": 0.045281, + "sem": 0.002864, "min": 0.006654, - "max": 0.327001, + "max": 0.386797, "recall-0.025": 0.193309, - "recall-0.05": 0.669145, - "recall-0.1": 0.855019, - "recall-0.15": 0.869888, - "recall-0.25": 0.869888, - "recall-0.5": 0.877323, + "recall-0.05": 0.680297, + "recall-0.1": 0.873606, + "recall-0.15": 0.910781, + "recall-0.25": 0.918216, + "recall-0.5": 0.933086, "num_labels": 269 }, "shoulder_right": { - "count": 228, - "mean": 0.038985, - "median": 0.029654, - "std": 0.033751, - "sem": 0.00224, + "count": 240, + "mean": 0.043419, + "median": 0.030383, + "std": 0.041376, + "sem": 0.002676, "min": 0.006179, - "max": 0.3875, + "max": 0.406481, "recall-0.025": 0.271318, - "recall-0.05": 0.717054, - "recall-0.1": 0.852713, - "recall-0.15": 0.872093, - "recall-0.25": 0.879845, - "recall-0.5": 0.883721, + "recall-0.05": 0.728682, + "recall-0.1": 0.864341, + "recall-0.15": 0.910853, + "recall-0.25": 0.922481, + "recall-0.5": 0.930233, "num_labels": 258 }, "elbow_left": { - "count": 218, - "mean": 0.038058, - "median": 0.024438, - "std": 0.044266, - "sem": 0.003005, + "count": 231, + "mean": 0.043148, + "median": 0.024415, + "std": 0.060148, + "sem": 0.003966, "min": 0.003563, - "max": 0.4313, - "recall-0.025": 0.452, - "recall-0.05": 0.692, - "recall-0.1": 0.82, - "recall-0.15": 0.852, - "recall-0.25": 0.864, - "recall-0.5": 0.872, + "max": 0.448784, + "recall-0.025": 0.48, + "recall-0.05": 0.712, + "recall-0.1": 0.84, + "recall-0.15": 0.884, + "recall-0.25": 0.908, + "recall-0.5": 0.924, "num_labels": 250 }, "elbow_right": { - "count": 184, - "mean": 0.034691, - "median": 0.022777, - "std": 0.046459, - "sem": 0.003434, + "count": 197, + "mean": 0.042602, + "median": 0.022686, + "std": 0.066465, + "sem": 0.004747, "min": 0.002853, "max": 0.462231, - "recall-0.025": 0.481132, - "recall-0.05": 0.707547, - "recall-0.1": 0.839623, - "recall-0.15": 0.858491, - "recall-0.25": 0.858491, - "recall-0.5": 0.867925, + "recall-0.025": 0.509434, + "recall-0.05": 0.745283, + "recall-0.1": 0.867925, + "recall-0.15": 0.886792, + "recall-0.25": 0.900943, + "recall-0.5": 0.929245, "num_labels": 212 }, "wrist_left": { - "count": 199, - "mean": 0.038361, - "median": 0.0213, - "std": 0.045916, - "sem": 0.003263, + "count": 209, + "mean": 0.045501, + "median": 0.02202, + "std": 0.062394, + "sem": 0.004326, "min": 0.003387, - "max": 0.407967, - "recall-0.025": 0.524444, + "max": 0.433444, + "recall-0.025": 0.502222, "recall-0.05": 0.702222, - "recall-0.1": 0.8, - "recall-0.15": 0.871111, - "recall-0.25": 0.88, - "recall-0.5": 0.884444, + "recall-0.1": 0.84, + "recall-0.15": 0.893333, + "recall-0.25": 0.906667, + "recall-0.5": 0.928889, "num_labels": 225 }, "wrist_right": { - "count": 194, - "mean": 0.035801, - "median": 0.019762, - "std": 0.051739, - "sem": 0.003724, + "count": 205, + "mean": 0.040028, + "median": 0.021097, + "std": 0.059433, + "sem": 0.004161, "min": 0.002012, "max": 0.433066, - "recall-0.025": 0.540541, - "recall-0.05": 0.711712, - "recall-0.1": 0.801802, - "recall-0.15": 0.846847, - "recall-0.25": 0.855856, - "recall-0.5": 0.873874, + "recall-0.025": 0.545045, + "recall-0.05": 0.720721, + "recall-0.1": 0.833333, + "recall-0.15": 0.887387, + "recall-0.25": 0.900901, + "recall-0.5": 0.923423, "num_labels": 222 }, "hip_left": { - "count": 166, - "mean": 0.097841, - "median": 0.080859, - "std": 0.063055, - "sem": 0.004909, - "min": 0.028679, + "count": 176, + "mean": 0.094577, + "median": 0.081116, + "std": 0.06204, + "sem": 0.00469, + "min": 0.028524, "max": 0.487868, "recall-0.025": 0.0, - "recall-0.05": 0.095238, - "recall-0.1": 0.608466, - "recall-0.15": 0.798942, - "recall-0.25": 0.835979, - "recall-0.5": 0.878307, + "recall-0.05": 0.116402, + "recall-0.1": 0.650794, + "recall-0.15": 0.862434, + "recall-0.25": 0.899471, + "recall-0.5": 0.931217, "num_labels": 189 }, "hip_right": { - "count": 101, - "mean": 0.102819, - "median": 0.087365, - "std": 0.062437, - "sem": 0.006244, + "count": 107, + "mean": 0.102396, + "median": 0.085044, + "std": 0.066336, + "sem": 0.006443, "min": 0.037131, "max": 0.395581, "recall-0.025": 0.0, "recall-0.05": 0.060345, - "recall-0.1": 0.594828, - "recall-0.15": 0.75, - "recall-0.25": 0.827586, - "recall-0.5": 0.87069, + "recall-0.1": 0.637931, + "recall-0.15": 0.810345, + "recall-0.25": 0.87069, + "recall-0.5": 0.922414, "num_labels": 116 }, "knee_left": { - "count": 125, - "mean": 0.087678, - "median": 0.058905, - "std": 0.091155, - "sem": 0.008186, + "count": 129, + "mean": 0.083314, + "median": 0.057132, + "std": 0.084831, + "sem": 0.007498, "min": 0.002789, - "max": 0.473302, - "recall-0.025": 0.19708, - "recall-0.05": 0.394161, - "recall-0.1": 0.671533, - "recall-0.15": 0.781022, - "recall-0.25": 0.846715, - "recall-0.5": 0.912409, + "max": 0.496749, + "recall-0.025": 0.175182, + "recall-0.05": 0.416058, + "recall-0.1": 0.715328, + "recall-0.15": 0.817518, + "recall-0.25": 0.890511, + "recall-0.5": 0.941606, "num_labels": 137 }, "knee_right": { - "count": 119, - "mean": 0.075441, - "median": 0.041921, - "std": 0.079578, - "sem": 0.007326, + "count": 125, + "mean": 0.072481, + "median": 0.047626, + "std": 0.07716, + "sem": 0.006929, "min": 0.005859, - "max": 0.408641, + "max": 0.392735, "recall-0.025": 0.233083, - "recall-0.05": 0.473684, - "recall-0.1": 0.661654, - "recall-0.15": 0.774436, - "recall-0.25": 0.857143, - "recall-0.5": 0.894737, + "recall-0.05": 0.496241, + "recall-0.1": 0.721805, + "recall-0.15": 0.857143, + "recall-0.25": 0.887218, + "recall-0.5": 0.93985, "num_labels": 133 }, "ankle_left": { - "count": 91, - "mean": 0.138874, - "median": 0.110764, - "std": 0.111323, - "sem": 0.011734, + "count": 95, + "mean": 0.161343, + "median": 0.131309, + "std": 0.121429, + "sem": 0.012524, "min": 0.008477, - "max": 0.434693, + "max": 0.452581, "recall-0.025": 0.052174, - "recall-0.05": 0.191304, - "recall-0.1": 0.382609, - "recall-0.15": 0.504348, - "recall-0.25": 0.669565, - "recall-0.5": 0.791304, + "recall-0.05": 0.147826, + "recall-0.1": 0.33913, + "recall-0.15": 0.495652, + "recall-0.25": 0.626087, + "recall-0.5": 0.826087, "num_labels": 115 }, "ankle_right": { - "count": 68, - "mean": 0.110192, - "median": 0.071169, - "std": 0.111019, - "sem": 0.013563, + "count": 78, + "mean": 0.151625, + "median": 0.081017, + "std": 0.148102, + "sem": 0.016878, "min": 0.01164, "max": 0.47701, "recall-0.025": 0.12766, - "recall-0.05": 0.287234, + "recall-0.05": 0.276596, "recall-0.1": 0.457447, - "recall-0.15": 0.56383, - "recall-0.25": 0.638298, - "recall-0.5": 0.723404, + "recall-0.15": 0.574468, + "recall-0.25": 0.62766, + "recall-0.5": 0.829787, "num_labels": 94 }, "joint_recalls": { "num_labels": 2490, - "recall-0.025": 0.29598, - "recall-0.05": 0.55502, - "recall-0.1": 0.75141, - "recall-0.15": 0.81406, - "recall-0.25": 0.84297, - "recall-0.5": 0.86827 + "recall-0.025": 0.3008, + "recall-0.05": 0.56627, + "recall-0.1": 0.77309, + "recall-0.15": 0.8498, + "recall-0.25": 0.87992, + "recall-0.5": 0.91888 } } { "total_parts": 2243, - "correct_parts": 1906, - "pcp": 0.849755 + "correct_parts": 1980, + "pcp": 0.882746 } ``` @@ -1581,260 +1581,260 @@ Results of the model in various experiments on different datasets. "person_nums": { "total_frames": 330, "total_labels": 780, - "total_preds": 1057, - "considered_empty": 23, - "valid_preds": 776, - "invalid_preds": 258, - "missing": 4, - "invalid_fraction": 0.24952, - "precision": 0.75048, - "recall": 0.99487, - "f1": 0.85557, - "non_empty": 1034 + "total_preds": 852, + "considered_empty": 2, + "valid_preds": 777, + "invalid_preds": 73, + "missing": 3, + "invalid_fraction": 0.08588, + "precision": 0.91412, + "recall": 0.99615, + "f1": 0.95337, + "non_empty": 850 }, "mpjpe": { - "count": 776, - "mean": 0.051933, - "median": 0.049863, - "std": 0.014382, - "sem": 0.000517, - "min": 0.029634, - "max": 0.290459, + "count": 777, + "mean": 0.053355, + "median": 0.050846, + "std": 0.021626, + "sem": 0.000776, + "min": 0.030764, + "max": 0.388758, "recall-0.025": 0.0, - "recall-0.05": 0.501282, - "recall-0.1": 0.992308, - "recall-0.15": 0.99359, + "recall-0.05": 0.462821, + "recall-0.1": 0.989744, + "recall-0.15": 0.991026, "recall-0.25": 0.99359, - "recall-0.5": 0.994872, + "recall-0.5": 0.996154, "num_labels": 780, "ap-0.025": 0.0, - "ap-0.05": 0.306795, - "ap-0.1": 0.991081, - "ap-0.15": 0.99261, - "ap-0.25": 0.99261, - "ap-0.5": 0.993698 + "ap-0.05": 0.266025, + "ap-0.1": 0.985969, + "ap-0.15": 0.987296, + "ap-0.25": 0.989637, + "ap-0.5": 0.993161 }, "head": { "count": 753, - "mean": 0.03895, - "median": 0.038185, - "std": 0.016016, - "sem": 0.000584, - "min": 0.004795, - "max": 0.097068, - "recall-0.025": 0.215139, - "recall-0.05": 0.77822, - "recall-0.1": 1.0, - "recall-0.15": 1.0, - "recall-0.25": 1.0, + "mean": 0.040928, + "median": 0.039126, + "std": 0.022925, + "sem": 0.000836, + "min": 0.00567, + "max": 0.385126, + "recall-0.025": 0.181939, + "recall-0.05": 0.741036, + "recall-0.1": 0.997344, + "recall-0.15": 0.997344, + "recall-0.25": 0.997344, "recall-0.5": 1.0, "num_labels": 753 }, "shoulder_left": { - "count": 776, - "mean": 0.061926, - "median": 0.061105, - "std": 0.020617, - "sem": 0.000741, - "min": 0.019191, - "max": 0.220586, - "recall-0.025": 0.008974, + "count": 777, + "mean": 0.062522, + "median": 0.059746, + "std": 0.024296, + "sem": 0.000872, + "min": 0.022216, + "max": 0.355614, + "recall-0.025": 0.003846, "recall-0.05": 0.308974, - "recall-0.1": 0.939744, + "recall-0.1": 0.941026, "recall-0.15": 0.99359, - "recall-0.25": 0.994872, - "recall-0.5": 0.994872, + "recall-0.25": 0.99359, + "recall-0.5": 0.996154, "num_labels": 780 }, "shoulder_right": { - "count": 776, - "mean": 0.064914, - "median": 0.060649, - "std": 0.022005, - "sem": 0.00079, + "count": 777, + "mean": 0.067595, + "median": 0.062627, + "std": 0.030316, + "sem": 0.001088, "min": 0.022078, - "max": 0.150885, + "max": 0.491641, "recall-0.025": 0.002564, - "recall-0.05": 0.283333, - "recall-0.1": 0.919231, - "recall-0.15": 0.99359, - "recall-0.25": 0.994872, - "recall-0.5": 0.994872, + "recall-0.05": 0.258974, + "recall-0.1": 0.901282, + "recall-0.15": 0.991026, + "recall-0.25": 0.99359, + "recall-0.5": 0.996154, "num_labels": 780 }, "elbow_left": { - "count": 771, - "mean": 0.048155, - "median": 0.044396, - "std": 0.022235, - "sem": 0.000801, - "min": 0.003098, - "max": 0.21128, - "recall-0.025": 0.108247, - "recall-0.05": 0.597938, + "count": 773, + "mean": 0.048114, + "median": 0.044687, + "std": 0.022592, + "sem": 0.000813, + "min": 0.00551, + "max": 0.209571, + "recall-0.025": 0.113402, + "recall-0.05": 0.614691, "recall-0.1": 0.972938, - "recall-0.15": 0.987113, - "recall-0.25": 0.993557, - "recall-0.5": 0.993557, + "recall-0.15": 0.990979, + "recall-0.25": 0.996134, + "recall-0.5": 0.996134, "num_labels": 776 }, "elbow_right": { "count": 773, - "mean": 0.051632, - "median": 0.046512, - "std": 0.034104, - "sem": 0.001227, - "min": 0.007278, - "max": 0.454768, - "recall-0.025": 0.11583, - "recall-0.05": 0.566281, + "mean": 0.052458, + "median": 0.047666, + "std": 0.035088, + "sem": 0.001263, + "min": 0.003696, + "max": 0.494536, + "recall-0.025": 0.114543, + "recall-0.05": 0.541828, "recall-0.1": 0.94852, - "recall-0.15": 0.985843, - "recall-0.25": 0.988417, + "recall-0.15": 0.98713, + "recall-0.25": 0.990991, "recall-0.5": 0.994852, "num_labels": 777 }, "wrist_left": { - "count": 765, - "mean": 0.050433, - "median": 0.04224, - "std": 0.031081, - "sem": 0.001124, - "min": 0.005464, - "max": 0.287068, - "recall-0.025": 0.146753, + "count": 767, + "mean": 0.049785, + "median": 0.042228, + "std": 0.030582, + "sem": 0.001105, + "min": 0.004885, + "max": 0.255015, + "recall-0.025": 0.166234, "recall-0.05": 0.620779, - "recall-0.1": 0.932468, - "recall-0.15": 0.984416, - "recall-0.25": 0.98961, - "recall-0.5": 0.993506, + "recall-0.1": 0.935065, + "recall-0.15": 0.985714, + "recall-0.25": 0.994805, + "recall-0.5": 0.996104, "num_labels": 770 }, "wrist_right": { "count": 744, - "mean": 0.06004, - "median": 0.049851, - "std": 0.042609, - "sem": 0.001563, - "min": 0.005678, - "max": 0.36077, - "recall-0.025": 0.109479, - "recall-0.05": 0.502003, + "mean": 0.060522, + "median": 0.050427, + "std": 0.043931, + "sem": 0.001612, + "min": 0.008534, + "max": 0.488707, + "recall-0.025": 0.104139, + "recall-0.05": 0.488652, "recall-0.1": 0.871829, - "recall-0.15": 0.946595, - "recall-0.25": 0.985314, + "recall-0.15": 0.949266, + "recall-0.25": 0.987984, "recall-0.5": 0.993324, "num_labels": 749 }, "hip_left": { - "count": 776, - "mean": 0.063849, - "median": 0.0596, - "std": 0.026494, - "sem": 0.000952, - "min": 0.0017, - "max": 0.217641, - "recall-0.025": 0.026923, - "recall-0.05": 0.30641, - "recall-0.1": 0.919231, - "recall-0.15": 0.978205, - "recall-0.25": 0.994872, - "recall-0.5": 0.994872, + "count": 777, + "mean": 0.065059, + "median": 0.058995, + "std": 0.031143, + "sem": 0.001118, + "min": 0.006973, + "max": 0.333501, + "recall-0.025": 0.023077, + "recall-0.05": 0.333333, + "recall-0.1": 0.903846, + "recall-0.15": 0.971795, + "recall-0.25": 0.99359, + "recall-0.5": 0.996154, "num_labels": 780 }, "hip_right": { - "count": 776, - "mean": 0.051607, - "median": 0.044657, - "std": 0.028833, - "sem": 0.001036, - "min": 0.007308, - "max": 0.192378, - "recall-0.025": 0.111538, - "recall-0.05": 0.587179, - "recall-0.1": 0.934615, + "count": 777, + "mean": 0.05311, + "median": 0.045129, + "std": 0.03416, + "sem": 0.001226, + "min": 0.007262, + "max": 0.377279, + "recall-0.025": 0.114103, + "recall-0.05": 0.580769, + "recall-0.1": 0.917949, "recall-0.15": 0.979487, - "recall-0.25": 0.994872, - "recall-0.5": 0.994872, + "recall-0.25": 0.99359, + "recall-0.5": 0.996154, "num_labels": 780 }, "knee_left": { - "count": 775, - "mean": 0.045965, - "median": 0.043071, - "std": 0.02706, - "sem": 0.000973, - "min": 0.005523, + "count": 776, + "mean": 0.048619, + "median": 0.043976, + "std": 0.031522, + "sem": 0.001132, + "min": 0.006994, "max": 0.362978, - "recall-0.025": 0.184852, - "recall-0.05": 0.634146, - "recall-0.1": 0.970475, - "recall-0.15": 0.984596, - "recall-0.25": 0.993582, - "recall-0.5": 0.994865, + "recall-0.025": 0.174583, + "recall-0.05": 0.603338, + "recall-0.1": 0.961489, + "recall-0.15": 0.983312, + "recall-0.25": 0.992298, + "recall-0.5": 0.996149, "num_labels": 779 }, "knee_right": { "count": 771, - "mean": 0.049529, - "median": 0.046727, - "std": 0.024371, - "sem": 0.000878, - "min": 0.006187, - "max": 0.178582, - "recall-0.025": 0.134367, - "recall-0.05": 0.578811, - "recall-0.1": 0.96124, - "recall-0.15": 0.989664, - "recall-0.25": 0.996124, + "mean": 0.051105, + "median": 0.046587, + "std": 0.030419, + "sem": 0.001096, + "min": 0.008215, + "max": 0.420776, + "recall-0.025": 0.140827, + "recall-0.05": 0.560724, + "recall-0.1": 0.962532, + "recall-0.15": 0.984496, + "recall-0.25": 0.99354, "recall-0.5": 0.996124, "num_labels": 774 }, "ankle_left": { - "count": 774, - "mean": 0.040168, - "median": 0.037831, - "std": 0.021928, - "sem": 0.000789, - "min": 0.002465, - "max": 0.213487, - "recall-0.025": 0.2362, - "recall-0.05": 0.716303, - "recall-0.1": 0.980745, - "recall-0.15": 0.988447, - "recall-0.25": 0.993582, - "recall-0.5": 0.993582, + "count": 775, + "mean": 0.042663, + "median": 0.037704, + "std": 0.032934, + "sem": 0.001184, + "min": 0.00377, + "max": 0.414303, + "recall-0.025": 0.240051, + "recall-0.05": 0.690629, + "recall-0.1": 0.97561, + "recall-0.15": 0.983312, + "recall-0.25": 0.98973, + "recall-0.5": 0.994865, "num_labels": 779 }, "ankle_right": { - "count": 769, - "mean": 0.043193, - "median": 0.039079, - "std": 0.025619, - "sem": 0.000924, - "min": 0.002305, - "max": 0.189483, - "recall-0.025": 0.216883, - "recall-0.05": 0.694805, - "recall-0.1": 0.963636, - "recall-0.15": 0.990909, - "recall-0.25": 0.998701, - "recall-0.5": 0.998701, + "count": 768, + "mean": 0.045821, + "median": 0.040081, + "std": 0.033126, + "sem": 0.001196, + "min": 0.004582, + "max": 0.448386, + "recall-0.025": 0.212987, + "recall-0.05": 0.668831, + "recall-0.1": 0.954545, + "recall-0.15": 0.987013, + "recall-0.25": 0.994805, + "recall-0.5": 0.997403, "num_labels": 770 }, "joint_recalls": { "num_labels": 10047, - "recall-0.025": 0.12292, - "recall-0.05": 0.55021, - "recall-0.1": 0.94685, - "recall-0.15": 0.98427, - "recall-0.25": 0.99343, - "recall-0.5": 0.99472 + "recall-0.025": 0.12163, + "recall-0.05": 0.53807, + "recall-0.1": 0.94118, + "recall-0.15": 0.98308, + "recall-0.25": 0.99273, + "recall-0.5": 0.99572 } } { "total_parts": 10800, - "correct_parts": 10664, - "pcp": 0.987407 + "correct_parts": 10645, + "pcp": 0.985648 } ``` diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index 3f674c3..071d718 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -352,13 +352,24 @@ def main(): time_2d = time.time() - start print("2D time:", time_2d) + minscores = { + # Choose this depending on the fraction of invalid/missing persons + # A higher value reduces the number of proposals + "panoptic": 0.95, + "human36m": 0.96, + "mvor": 0.87, + "campus": 0.96, + "shelf": 0.96, + } + minscore = minscores.get(dataset_use, 0.95) + start = time.time() if sum(np.sum(p) for p in poses_2d) == 0: poses3D = np.zeros([1, len(joint_names_3d), 4]) poses2D = np.zeros([len(images_2d), 1, len(joint_names_3d), 3]) else: poses3D = triangulate_poses.get_3d_pose( - poses_2d, label["cameras"], roomparams, joint_names_2d + poses_2d, label["cameras"], roomparams, joint_names_2d, minscore ) poses2D = [] for cam in label["cameras"]: diff --git a/scripts/test_triangulate.py b/scripts/test_triangulate.py index 7b9e215..f8ae332 100644 --- a/scripts/test_triangulate.py +++ b/scripts/test_triangulate.py @@ -288,17 +288,27 @@ def filter_poses(poses3D, poses2D, roomparams, joint_names, drop_few_limbs=True) drop.append(i) continue - # Drop persons with too small average limb length + # Drop persons with too small or high average limb length total_length = 0 + total_limbs = 0 for limb in main_limbs: start_idx = joint_names.index(limb[0]) end_idx = joint_names.index(limb[1]) + if pose[start_idx, -1] < 0.1 or pose[end_idx, -1] < 0.1: + continue limb_length = np.linalg.norm(pose[end_idx, :3] - pose[start_idx, :3]) total_length += limb_length - average_length = total_length / len(main_limbs) + total_limbs += 1 + if total_limbs == 0: + drop.append(i) + continue + average_length = total_length / total_limbs if average_length < 0.1: drop.append(i) continue + if average_length > 0.5: + drop.append(i) + continue new_poses3D = [] new_poses2D = [[] for _ in range(len(poses2D))] diff --git a/scripts/triangulate_poses.py b/scripts/triangulate_poses.py index a627be2..4e18ab7 100644 --- a/scripts/triangulate_poses.py +++ b/scripts/triangulate_poses.py @@ -28,16 +28,17 @@ core_joints = [ def undistort_points(points: np.ndarray, caminfo: dict): - K = np.array(caminfo["K"], dtype=np.float32) - DC = np.array(caminfo["DC"][0:5], dtype=np.float32) - w = caminfo["width"] - h = caminfo["height"] + """Undistorts 2D pixel coordinates""" + + K = np.asarray(caminfo["K"], dtype=np.float32) + DC = np.asarray(caminfo["DC"][0:5], dtype=np.float32) # Undistort camera matrix + w = caminfo["width"] + h = caminfo["height"] newK, _ = cv2.getOptimalNewCameraMatrix(K, DC, (w, h), 1, (w, h)) - caminfo = copy.deepcopy(caminfo) - caminfo["K"] = newK.tolist() - caminfo["DC"] = [0.0, 0.0, 0.0, 0.0, 0.0] + caminfo["K"] = newK + caminfo["DC"] = np.array([0.0, 0.0, 0.0, 0.0, 0.0]) # Undistort points pshape = points.shape @@ -45,7 +46,7 @@ def undistort_points(points: np.ndarray, caminfo: dict): points = cv2.undistortPoints(points, K, DC, P=newK) points = points.reshape(pshape) - return points, caminfo + return points # ================================================================================================== @@ -54,10 +55,11 @@ def undistort_points(points: np.ndarray, caminfo: dict): def get_camera_P(cam): """Calculate opencv-style projection matrix""" - R = np.array(cam["R"]) - T = np.array(cam["T"]) + R = np.asarray(cam["R"]) + T = np.asarray(cam["T"]) + K = np.asarray(cam["K"]) Tr = R @ (T * -1) - P = cam["K"] @ np.hstack([R, Tr]) + P = K @ np.hstack([R, Tr]) return P @@ -69,8 +71,8 @@ def calc_pair_score(pair, poses_2d, camparams, roomparams, joint_names_2d, use_j cam1 = camparams[pair[0][0]] cam2 = camparams[pair[0][1]] - pose1 = np.array(poses_2d[pair[0][0]][pair[0][2]]) - pose2 = np.array(poses_2d[pair[0][1]][pair[0][3]]) + pose1 = poses_2d[pair[0][0]][pair[0][2]] + pose2 = poses_2d[pair[0][1]][pair[0][3]] # Select core joints jids = [joint_names_2d.index(j) for j in use_joints] @@ -88,12 +90,13 @@ def calc_pose_scored(pose1, pose2, cam1, cam2, roomparams): """Triangulates a pair of persons and scores them based on the reprojection error""" # Mask out invisible joints - mask1a = pose1[:, 2] >= 0.1 - mask2a = pose2[:, 2] >= 0.1 + min_score = 0.1 + mask1a = pose1[:, 2] >= min_score + mask2a = pose2[:, 2] >= min_score mask = mask1a & mask2a - # If no joints are visible return a low score - if np.sum(mask) == 0: + # If too few joints are visible return a low score + if np.sum(mask) < 3: pose3d = np.zeros([len(pose1), 4]) score = 0.0 return pose3d, score @@ -104,8 +107,7 @@ def calc_pose_scored(pose1, pose2, cam1, cam2, roomparams): P1 = get_camera_P(cam1) P2 = get_camera_P(cam2) points3d = cv2.triangulatePoints(P1, P2, points1, points2) - points3d = points3d / points3d[3, :] - points3d = points3d[0:3, :].T + points3d = (points3d / points3d[3, :])[0:3, :].T pose3d = np.zeros([len(pose1), 4]) pose3d[mask] = np.concatenate([points3d, np.ones([points3d.shape[0], 1])], axis=-1) @@ -115,8 +117,11 @@ def calc_pose_scored(pose1, pose2, cam1, cam2, roomparams): maxs = np.max(pose3d[mask][:, 0:3], axis=0) rsize = np.array(roomparams["room_size"]) / 2 rcent = np.array(roomparams["room_center"]) + wdist = 0.1 center_outside = np.any((mean > rsize + rcent) | (mean < -rsize + rcent)) - limb_outside = np.any((maxs > rsize + rcent + 0.1) | (mins < -rsize + rcent - 0.1)) + limb_outside = np.any( + (maxs > rsize + rcent + wdist) | (mins < -rsize + rcent - wdist) + ) if center_outside or limb_outside: pose3d[:, 3] = 0.001 score = 0.001 @@ -124,29 +129,33 @@ def calc_pose_scored(pose1, pose2, cam1, cam2, roomparams): # Calculate reprojection error poses_3d = np.expand_dims(pose3d, axis=0) - repro1, _ = utils_pose.project_poses(poses_3d, cam1) - repro2, _ = utils_pose.project_poses(poses_3d, cam2) - repro1 = repro1[0] - repro2 = repro2[0] - error1 = np.linalg.norm(pose1[mask, 0:2] - repro1[mask, 0:2], axis=1) - error2 = np.linalg.norm(pose2[mask, 0:2] - repro2[mask, 0:2], axis=1) + repro1, dists1 = utils_pose.project_poses(poses_3d, cam1, calc_dists=True) + repro2, dists2 = utils_pose.project_poses(poses_3d, cam2, calc_dists=True) + error1 = np.linalg.norm(pose1[mask, 0:2] - repro1[0, mask, 0:2], axis=1) + error2 = np.linalg.norm(pose2[mask, 0:2] - repro2[0, mask, 0:2], axis=1) # Set errors of invisible reprojections to a high value penalty = (cam1["width"] + cam1["height"]) / 2 - mask1b = (repro1[:, 2] < 0.1)[mask] - mask2b = (repro2[:, 2] < 0.1)[mask] + mask1b = (repro1[0, :, 2] < min_score)[mask] + mask2b = (repro2[0, :, 2] < min_score)[mask] error1[mask1b] = penalty error2[mask2b] = penalty # Convert errors to a score - scale = (cam1["width"] + cam1["height"]) / 2 - error1 = error1.clip(0, scale / 4) - error2 = error2.clip(0, scale / 4) - error1 = error1 / scale - error2 = error2 / scale + # Scale by image size and distance to the camera + iscale = (cam1["width"] + cam1["height"]) / 2 + error1 = error1.clip(0, iscale / 4) / iscale + error2 = error2.clip(0, iscale / 4) / iscale + dscale1 = np.sqrt(np.mean(dists1[0, mask]) / 3.5) + dscale2 = np.sqrt(np.mean(dists2[0, mask]) / 3.5) + error1 = error1 * dscale1 + error2 = error2 * dscale2 error = (error1 + error2) / 2 scores = 1.0 / (1.0 + error * 10) - score = np.mean(scores) + + # Drop lowest scores + drop_k = math.floor(len(pose1) * 0.2) + score = np.mean(np.sort(scores, axis=-1)[drop_k:]) # Add score to 3D pose full_scores = np.zeros([poses_3d.shape[1], 1]) @@ -159,11 +168,10 @@ def calc_pose_scored(pose1, pose2, cam1, cam2, roomparams): # ================================================================================================== -def calc_grouping(all_pairs): +def calc_grouping(all_pairs, min_score: float): """Groups pairs that share a person""" # Calculate the pose center for each pair - min_score = 0.9 for i in range(len(all_pairs)): pair = all_pairs[i] pose_3d = pair[2][0] @@ -177,7 +185,7 @@ def calc_grouping(all_pairs): # Create new group if non exists if len(groups) == 0: - groups.append([pair[4], pair[2][0], [pair]]) + groups.append([pair[3], pair[2][0], [pair]]) continue # Check if the pair matches to an existing group @@ -188,7 +196,7 @@ def calc_grouping(all_pairs): for j in range(len(groups)): g0 = groups[j] center0 = g0[0] - center1 = pair[4] + center1 = pair[3] if np.linalg.norm(center0 - center1) < max_center_dist: pose0 = g0[1] pose1 = pair[2][0] @@ -206,14 +214,14 @@ def calc_grouping(all_pairs): if best_group >= 0: # Add pair to existing group and update the mean positions group = groups[best_group] - new_center = (group[0] * len(group[1]) + pair[4]) / (len(group[1]) + 1) + new_center = (group[0] * len(group[1]) + pair[3]) / (len(group[1]) + 1) new_pose = (group[1] * len(group[1]) + pair[2][0]) / (len(group[1]) + 1) group[2].append(pair) group[0] = new_center group[1] = new_pose else: # Create new group if no match was found - groups.append([pair[4], pair[2][0], [pair]]) + groups.append([pair[3], pair[2][0], [pair]]) return groups @@ -221,26 +229,38 @@ def calc_grouping(all_pairs): # ================================================================================================== -def merge_group(poses_3d: np.ndarray): +def merge_group(poses_3d: np.ndarray, min_score: float): """Merges a group of poses into a single pose""" # Merge poses to create initial pose # Use only those triangulations with a high score - min_score = 0.9 - mask = poses_3d[:, :, 3:4] > min_score - sum_poses = np.sum(poses_3d * mask, axis=0) - sum_mask = np.sum(mask, axis=0) + imask = poses_3d[:, :, 3:4] > min_score + sum_poses = np.sum(poses_3d * imask, axis=0) + sum_mask = np.sum(imask, axis=0) initial_pose_3d = np.divide( sum_poses, sum_mask, where=(sum_mask > 0), out=np.zeros_like(sum_poses) ) + # Use center as default if the initial pose is empty + jmask = initial_pose_3d[:, 3] > 0.0 + sum_joints = np.sum(initial_pose_3d[jmask, 0:3], axis=0) + sum_mask = np.sum(jmask) + center = np.divide( + sum_joints, sum_mask, where=(sum_mask > 0), out=np.zeros_like(sum_joints) + ) + initial_pose_3d[~jmask, 0:3] = center + + # Drop joints with low scores + offset = 0.1 + mask = poses_3d[:, :, 3:4] > (min_score - offset) + # Drop outliers that are far away from the other proposals - max_dist = 0.3 + max_dist = 1.2 distances = np.linalg.norm( poses_3d[:, :, :3] - initial_pose_3d[np.newaxis, :, :3], axis=2 ) - dist_mask = distances <= max_dist - mask = mask & np.expand_dims(dist_mask, axis=-1) + dmask = distances <= max_dist + mask = mask & np.expand_dims(dmask, axis=-1) # Select the best-k proposals for each joint that are closest to the initial pose keep_best = 3 @@ -265,13 +285,24 @@ def merge_group(poses_3d: np.ndarray): # ================================================================================================== -def get_3d_pose(poses_2d, camparams, roomparams, joint_names_2d): +def get_3d_pose(poses_2d, camparams, roomparams, joint_names_2d, min_score=0.95): + """Triangulates 3D poses from 2D poses of multiple views""" + + # Convert poses and camparams to numpy arrays + camparams = copy.deepcopy(camparams) + for i in range(len(camparams)): + poses_2d[i] = np.asarray(poses_2d[i]) + camparams[i]["K"] = np.array(camparams[i]["K"]) + camparams[i]["R"] = np.array(camparams[i]["R"]) + camparams[i]["T"] = np.array(camparams[i]["T"]) + camparams[i]["DC"] = np.array(camparams[i]["DC"][0:5]) # Undistort 2D points - for i, cam in enumerate(camparams): - poses = np.array(poses_2d[i]) - poses[:, :, 0:2], camparams[i] = undistort_points(poses[:, :, 0:2], cam) - poses_2d[i] = poses.tolist() + for i in range(len(camparams)): + poses = poses_2d[i] + cam = camparams[i] + poses[:, :, 0:2] = undistort_points(poses[:, :, 0:2], cam) + poses_2d[i] = poses # Create pairs of persons num_persons = [len(p) for p in poses_2d] @@ -302,28 +333,27 @@ def get_3d_pose(poses_2d, camparams, roomparams, joint_names_2d): # draw_utils.utils_view.show_plots() # Drop pairs with low scores - min_score = 0.9 all_pairs = [p for p in all_pairs if p[2][1] > min_score] + # Group pairs that share a person + groups = calc_grouping(all_pairs, min_score) + # Calculate full 3D poses poses_3d = [] for pair in all_pairs: cam1 = camparams[pair[0][0]] cam2 = camparams[pair[0][1]] - pose1 = np.array(poses_2d[pair[0][0]][pair[0][2]]) - pose2 = np.array(poses_2d[pair[0][1]][pair[0][3]]) + pose1 = poses_2d[pair[0][0]][pair[0][2]] + pose2 = poses_2d[pair[0][1]][pair[0][3]] pose_3d, _ = calc_pose_scored(pose1, pose2, cam1, cam2, roomparams) pair.append(pose_3d) - # Group pairs that share a person - groups = calc_grouping(all_pairs) - # Merge groups poses_3d = [] for group in groups: - poses = np.array([p[3] for p in group[2]]) - pose_3d = merge_group(poses) + poses = np.array([p[4] for p in group[2]]) + pose_3d = merge_group(poses, min_score) poses_3d.append(pose_3d) if len(poses_3d) > 0: diff --git a/skelda b/skelda index dcf3a0c..85db8d3 160000 --- a/skelda +++ b/skelda @@ -1 +1 @@ -Subproject commit dcf3a0c3df75915b4ab002c085e52f0c566cfa23 +Subproject commit 85db8d366dea4bf772b74dd97fc7b90881f1ba1d