diff --git a/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp b/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp index b6314e4..9a17172 100644 --- a/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp +++ b/extras/ros/rpt3d_wrapper_cpp/src/rpt3d_wrapper.cpp @@ -16,6 +16,7 @@ using json = nlohmann::json; #include "rpt_msgs/msg/poses.hpp" #include "/RapidPoseTriangulation/rpt/camera.hpp" #include "/RapidPoseTriangulation/rpt/interface.hpp" +#include "/RapidPoseTriangulation/rpt/tracker.hpp" // ================================================================================================= @@ -36,9 +37,14 @@ static const std::string pose_in_topic = "/poses/{}"; static const std::string cam_info_topic = "/{}/calibration"; static const std::string pose_out_topic = "/poses/humans3d"; -static const float min_match_score = 0.92; +static const float min_match_score = 0.94; static const size_t min_group_size = 1; +static const bool use_tracking = true; +static const float max_movement_speed = 2.0 * 1.5; +static const float cam_fps = 50; +static const float max_track_distance = 0.3 + max_movement_speed / cam_fps; + static const std::array, 2> roomparams = {{ {4.0, 5.0, 2.2}, {1.0, 0.0, 1.1}, @@ -59,9 +65,11 @@ public: this->joint_names = {}; this->all_poses_set.resize(cam_ids.size(), false); - // Load 3D model + // Load 3D models tri_model = std::make_unique( min_match_score, min_group_size); + pose_tracker = std::make_unique( + max_movement_speed, max_track_distance); // QoS rclcpp::QoS qos_profile(1); @@ -113,6 +121,7 @@ private: rclcpp::Publisher::SharedPtr pose_pub_; std::unique_ptr tri_model; + std::unique_ptr pose_tracker; std::vector all_cameras; std::mutex cams_mutex, pose_mutex, model_mutex; @@ -230,11 +239,32 @@ void Rpt3DWrapperNode::call_model() // Since the prediction is very fast, parallel callback threads only need to wait a short time cams_mutex.lock(); pose_mutex.lock(); - const auto valid_poses = tri_model->triangulate_poses( + const auto poses_3d = tri_model->triangulate_poses( all_poses, all_cameras, roomparams, joint_names); double min_ts = *std::min_element(all_timestamps.begin(), all_timestamps.end()); this->all_poses_set = std::vector(cam_ids.size(), false); + + std::vector>> valid_poses; + std::vector track_ids; + if (use_tracking) + { + auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names, min_ts); + std::vector>> poses_3d_refined; + for (size_t j = 0; j < pose_tracks.size(); j++) + { + auto &pose = std::get<1>(pose_tracks[j]); + poses_3d_refined.push_back(pose); + auto &track_id = std::get<0>(pose_tracks[j]); + track_ids.push_back(track_id); + } + valid_poses = std::move(poses_3d_refined); + } + else + { + valid_poses = std::move(poses_3d); + track_ids = {}; + } pose_mutex.unlock(); cams_mutex.unlock(); @@ -267,6 +297,7 @@ void Rpt3DWrapperNode::call_model() } } pose_msg.joint_names = joint_names; + jdata["track_ids"] = track_ids; pose_msg.extra_data = jdata.dump(); pose_pub_->publish(pose_msg); diff --git a/media/RESULTS.md b/media/RESULTS.md index e7a6591..8f04b3b 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -7,26 +7,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0210844, - "demosaicing": 0.000613385, - "avg_time_2d": 0.00826702, - "avg_time_3d": 3.67275e-05, - "fps": 112.144 + "img_loading": 0.0209625, + "demosaicing": 0.000622594, + "avg_time_2d": 0.00825327, + "avg_time_3d": 3.69146e-05, + "time_tracks": 4.75515e-07, + "fps": 112.192 } { "triangulator_calls": 600, - "init_time": 2.66098e-06, - "undistort_time": 3.72397e-06, - "project_time": 7.0124e-07, - "match_time": 1.19658e-06, - "pairs_time": 2.10813e-07, - "pair_scoring_time": 5.9247e-06, - "grouping_time": 1.35449e-06, - "full_time": 7.78258e-06, - "merge_time": 3.15914e-06, - "post_time": 4.86037e-06, - "convert_time": 5.47233e-08, - "total_time": 3.18622e-05 + "init_time": 2.68551e-06, + "undistort_time": 3.71778e-06, + "project_time": 6.96477e-07, + "match_time": 1.27031e-06, + "pairs_time": 2.0875e-07, + "pair_scoring_time": 6.06621e-06, + "grouping_time": 1.3693e-06, + "full_time": 7.96046e-06, + "merge_time": 3.21646e-06, + "post_time": 4.74177e-06, + "convert_time": 6.763e-08, + "total_time": 3.22448e-05 } { "person_nums": { @@ -45,10 +46,10 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 600, - "mean": 0.060496, - "median": 0.053051, - "std": 0.028242, - "sem": 0.001154, + "mean": 0.060535, + "median": 0.053044, + "std": 0.028266, + "sem": 0.001155, "min": 0.036391, "max": 0.191685, "recall-0.025": 0.0, @@ -59,9 +60,9 @@ Results of the model in various experiments on different datasets. \ "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.189462, - "ap-0.1": 0.906596, - "ap-0.15": 0.914939, + "ap-0.05": 0.189774, + "ap-0.1": 0.906441, + "ap-0.15": 0.914804, "ap-0.25": 1.0, "ap-0.5": 1.0 }, @@ -147,15 +148,15 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 600, - "mean": 0.03991, + "mean": 0.03981, "median": 0.022309, - "std": 0.04422, - "sem": 0.001807, + "std": 0.044042, + "sem": 0.0018, "min": 0.003241, "max": 0.252773, "recall-0.025": 0.548333, "recall-0.05": 0.761667, - "recall-0.1": 0.91, + "recall-0.1": 0.911667, "recall-0.15": 0.928333, "recall-0.25": 0.998333, "recall-0.5": 1.0, @@ -243,17 +244,17 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 598, - "mean": 0.088855, - "median": 0.082483, - "std": 0.030683, - "sem": 0.001256, - "min": 0.046704, + "mean": 0.089465, + "median": 0.08257, + "std": 0.031872, + "sem": 0.001304, + "min": 0.049959, "max": 0.353694, "recall-0.025": 0.0, - "recall-0.05": 0.003333, - "recall-0.1": 0.875, - "recall-0.15": 0.943333, - "recall-0.25": 0.993333, + "recall-0.05": 0.001667, + "recall-0.1": 0.871667, + "recall-0.15": 0.94, + "recall-0.25": 0.991667, "recall-0.5": 0.996667, "num_labels": 600 }, @@ -277,8 +278,8 @@ Results of the model in various experiments on different datasets. \ "num_labels": 7800, "recall-0.025": 0.18833, "recall-0.05": 0.50474, - "recall-0.1": 0.88218, - "recall-0.15": 0.93577, + "recall-0.1": 0.88205, + "recall-0.15": 0.93564, "recall-0.25": 0.99564, "recall-0.5": 0.99923 } @@ -294,63 +295,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0415539, - "demosaicing": 0.000729576, - "avg_time_2d": 0.0147618, - "avg_time_3d": 0.000120587, - "fps": 64.0536 + "img_loading": 0.0410789, + "demosaicing": 0.000730512, + "avg_time_2d": 0.0147695, + "avg_time_3d": 0.000120724, + "time_tracks": 9.84223e-07, + "fps": 64.0135 } { "triangulator_calls": 301, - "init_time": 2.88489e-06, - "undistort_time": 1.4084e-05, - "project_time": 2.09862e-06, - "match_time": 8.48508e-06, - "pairs_time": 3.70267e-06, - "pair_scoring_time": 2.68451e-05, - "grouping_time": 6.3545e-06, - "full_time": 2.70454e-05, - "merge_time": 1.16283e-05, - "post_time": 7.58572e-06, - "convert_time": 1.18993e-07, - "total_time": 0.000111068 + "init_time": 3.06285e-06, + "undistort_time": 1.40894e-05, + "project_time": 2.08899e-06, + "match_time": 8.13459e-06, + "pairs_time": 4.04345e-06, + "pair_scoring_time": 2.6331e-05, + "grouping_time": 6.48039e-06, + "full_time": 2.68403e-05, + "merge_time": 1.17703e-05, + "post_time": 7.74161e-06, + "convert_time": 1.379e-07, + "total_time": 0.000110955 } { "person_nums": { "total_frames": 301, "total_labels": 477, - "total_preds": 824, + "total_preds": 839, "considered_empty": 0, "valid_preds": 477, - "invalid_preds": 347, + "invalid_preds": 362, "missing": 0, - "invalid_fraction": 0.42112, - "precision": 0.57888, + "invalid_fraction": 0.43147, + "precision": 0.56853, "recall": 1.0, - "f1": 0.73328, - "non_empty": 824 + "f1": 0.72492, + "non_empty": 839 }, "mpjpe": { "count": 477, - "mean": 0.047573, - "median": 0.042506, - "std": 0.014988, - "sem": 0.000687, + "mean": 0.047475, + "median": 0.042505, + "std": 0.01481, + "sem": 0.000679, "min": 0.028778, - "max": 0.118939, + "max": 0.107262, "recall-0.025": 0.0, - "recall-0.05": 0.72327, - "recall-0.1": 0.987421, + "recall-0.05": 0.725367, + "recall-0.1": 0.985325, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477, "ap-0.025": 0.0, - "ap-0.05": 0.45546, - "ap-0.1": 0.752725, - "ap-0.15": 0.761685, - "ap-0.25": 0.761685, - "ap-0.5": 0.761685 + "ap-0.05": 0.459533, + "ap-0.1": 0.75171, + "ap-0.15": 0.762056, + "ap-0.25": 0.762056, + "ap-0.5": 0.762056 }, "head": { "count": 477, @@ -402,17 +404,17 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 477, - "mean": 0.04052, + "mean": 0.039987, "median": 0.03197, - "std": 0.028831, - "sem": 0.001321, + "std": 0.026065, + "sem": 0.001195, "min": 0.003618, - "max": 0.309844, + "max": 0.145663, "recall-0.025": 0.312369, "recall-0.05": 0.756813, - "recall-0.1": 0.953878, - "recall-0.15": 0.997904, - "recall-0.25": 0.997904, + "recall-0.1": 0.955975, + "recall-0.15": 1.0, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, @@ -434,33 +436,33 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 477, - "mean": 0.059302, - "median": 0.054034, - "std": 0.038636, - "sem": 0.001771, + "mean": 0.05886, + "median": 0.053989, + "std": 0.037537, + "sem": 0.001721, "min": 0.00164, "max": 0.32449, "recall-0.025": 0.146751, - "recall-0.05": 0.412998, - "recall-0.1": 0.909853, - "recall-0.15": 0.964361, - "recall-0.25": 0.991614, + "recall-0.05": 0.415094, + "recall-0.1": 0.91195, + "recall-0.15": 0.966457, + "recall-0.25": 0.993711, "recall-0.5": 1.0, "num_labels": 477 }, "wrist_right": { "count": 477, - "mean": 0.05829, + "mean": 0.057792, "median": 0.053472, - "std": 0.034177, - "sem": 0.001566, + "std": 0.031027, + "sem": 0.001422, "min": 0.008622, - "max": 0.382984, + "max": 0.208627, "recall-0.025": 0.113208, "recall-0.05": 0.440252, "recall-0.1": 0.90566, - "recall-0.15": 0.981132, - "recall-0.25": 0.997904, + "recall-0.15": 0.983229, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 477 }, @@ -546,17 +548,17 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 477, - "mean": 0.040896, + "mean": 0.041098, "median": 0.030845, - "std": 0.037576, - "sem": 0.001722, + "std": 0.038414, + "sem": 0.001761, "min": 0.003445, "max": 0.28852, "recall-0.025": 0.301887, "recall-0.05": 0.807128, "recall-0.1": 0.930818, - "recall-0.15": 0.968553, - "recall-0.25": 0.997904, + "recall-0.15": 0.966457, + "recall-0.25": 0.995807, "recall-0.5": 1.0, "num_labels": 477 }, @@ -564,16 +566,16 @@ Results of the model in various experiments on different datasets. \ "num_labels": 6201, "recall-0.025": 0.21609, "recall-0.05": 0.62329, - "recall-0.1": 0.94291, - "recall-0.15": 0.9871, - "recall-0.25": 0.99871, + "recall-0.1": 0.94356, + "recall-0.15": 0.98742, + "recall-0.25": 0.99903, "recall-0.5": 1.0 } } { "total_parts": 6678, - "correct_parts": 6623, - "pcp": 0.991764 + "correct_parts": 6625, + "pcp": 0.992063 } { "total_parts": { @@ -584,15 +586,15 @@ Results of the model in various experiments on different datasets. \ }, "correct_parts": { "1": 2790, - "3": 1608, - "2": 369, - "sum": 4767 + "3": 1610, + "2": 370, + "sum": 4770 }, "pcp": { "1": 1.0, - "3": 0.998758, - "2": 0.997297, - "avg": 0.998685 + "3": 1.0, + "2": 1.0, + "avg": 1.0 } } ``` @@ -601,63 +603,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.00473995, - "demosaicing": 0.000176621, - "avg_time_2d": 0.0069666, - "avg_time_3d": 3.95759e-05, - "fps": 139.222 + "img_loading": 0.00474583, + "demosaicing": 0.000182246, + "avg_time_2d": 0.006994, + "avg_time_3d": 4.00988e-05, + "time_tracks": 7.41094e-07, + "fps": 138.56 } { "triangulator_calls": 222, - "init_time": 2.30386e-06, - "undistort_time": 5.79863e-06, - "project_time": 1.05762e-06, - "match_time": 2.8811e-06, - "pairs_time": 4.73671e-07, - "pair_scoring_time": 5.02461e-06, - "grouping_time": 1.36539e-06, - "full_time": 6.40501e-06, - "merge_time": 3.01859e-06, - "post_time": 6.25936e-06, - "convert_time": 1.01095e-07, - "total_time": 3.49216e-05 + "init_time": 2.40937e-06, + "undistort_time": 5.79809e-06, + "project_time": 1.04741e-06, + "match_time": 2.8605e-06, + "pairs_time": 4.76198e-07, + "pair_scoring_time": 5.13216e-06, + "grouping_time": 1.41978e-06, + "full_time": 6.60292e-06, + "merge_time": 2.97085e-06, + "post_time": 6.31724e-06, + "convert_time": 1.13797e-07, + "total_time": 3.53814e-05 } { "person_nums": { "total_frames": 222, "total_labels": 376, - "total_preds": 442, + "total_preds": 454, "considered_empty": 0, "valid_preds": 376, - "invalid_preds": 66, + "invalid_preds": 78, "missing": 0, - "invalid_fraction": 0.14932, - "precision": 0.85068, + "invalid_fraction": 0.17181, + "precision": 0.82819, "recall": 1.0, - "f1": 0.91932, - "non_empty": 442 + "f1": 0.90602, + "non_empty": 454 }, "mpjpe": { "count": 376, - "mean": 0.075547, - "median": 0.072512, - "std": 0.016669, - "sem": 0.000861, + "mean": 0.075162, + "median": 0.072556, + "std": 0.014034, + "sem": 0.000725, "min": 0.039602, - "max": 0.239068, + "max": 0.1325, "recall-0.025": 0.0, "recall-0.05": 0.00266, - "recall-0.1": 0.930851, - "recall-0.15": 0.99734, + "recall-0.1": 0.93883, + "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376, "ap-0.025": 0.0, "ap-0.05": 4e-05, - "ap-0.1": 0.851885, - "ap-0.15": 0.965231, - "ap-0.25": 0.967694, - "ap-0.5": 0.967694 + "ap-0.1": 0.858799, + "ap-0.15": 0.966406, + "ap-0.25": 0.966406, + "ap-0.5": 0.966406 }, "head": { "count": 376, @@ -677,97 +680,97 @@ Results of the model in various experiments on different datasets. \ }, "shoulder_left": { "count": 376, - "mean": 0.067112, - "median": 0.064801, - "std": 0.030176, - "sem": 0.001558, + "mean": 0.066762, + "median": 0.064778, + "std": 0.029588, + "sem": 0.001528, "min": 0.013559, "max": 0.205286, "recall-0.025": 0.045213, "recall-0.05": 0.321809, - "recall-0.1": 0.882979, - "recall-0.15": 0.981383, + "recall-0.1": 0.885638, + "recall-0.15": 0.984043, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "shoulder_right": { "count": 376, - "mean": 0.070564, + "mean": 0.069569, "median": 0.06227, - "std": 0.038676, - "sem": 0.001997, + "std": 0.031907, + "sem": 0.001648, "min": 0.017146, - "max": 0.497202, + "max": 0.198854, "recall-0.025": 0.018617, "recall-0.05": 0.31117, "recall-0.1": 0.840426, - "recall-0.15": 0.968085, - "recall-0.25": 0.99734, + "recall-0.15": 0.970745, + "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_left": { "count": 376, - "mean": 0.090691, + "mean": 0.090032, "median": 0.073021, - "std": 0.054828, - "sem": 0.002831, + "std": 0.053197, + "sem": 0.002747, "min": 0.013567, - "max": 0.347903, + "max": 0.283982, "recall-0.025": 0.026596, "recall-0.05": 0.236702, "recall-0.1": 0.646277, - "recall-0.15": 0.864362, - "recall-0.25": 0.986702, + "recall-0.15": 0.867021, + "recall-0.25": 0.989362, "recall-0.5": 1.0, "num_labels": 376 }, "elbow_right": { - "count": 375, - "mean": 0.077657, - "median": 0.070602, - "std": 0.037828, - "sem": 0.001956, + "count": 376, + "mean": 0.077673, + "median": 0.070847, + "std": 0.037779, + "sem": 0.001951, "min": 0.001558, "max": 0.184804, "recall-0.025": 0.037234, "recall-0.05": 0.276596, - "recall-0.1": 0.723404, - "recall-0.15": 0.93883, - "recall-0.25": 0.99734, - "recall-0.5": 0.99734, + "recall-0.1": 0.726064, + "recall-0.15": 0.941489, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 376 }, "wrist_left": { "count": 376, - "mean": 0.130122, - "median": 0.115218, - "std": 0.069844, - "sem": 0.003607, + "mean": 0.13004, + "median": 0.115432, + "std": 0.068219, + "sem": 0.003523, "min": 0.017061, - "max": 0.459038, + "max": 0.345868, "recall-0.025": 0.013298, "recall-0.05": 0.077128, - "recall-0.1": 0.398936, - "recall-0.15": 0.675532, - "recall-0.25": 0.920213, + "recall-0.1": 0.396277, + "recall-0.15": 0.672872, + "recall-0.25": 0.922872, "recall-0.5": 1.0, "num_labels": 376 }, "wrist_right": { "count": 376, - "mean": 0.103967, - "median": 0.097173, - "std": 0.050063, - "sem": 0.002585, + "mean": 0.101756, + "median": 0.096874, + "std": 0.044372, + "sem": 0.002291, "min": 0.00426, - "max": 0.461637, + "max": 0.279842, "recall-0.025": 0.005319, "recall-0.05": 0.101064, - "recall-0.1": 0.515957, - "recall-0.15": 0.851064, - "recall-0.25": 0.986702, + "recall-0.1": 0.523936, + "recall-0.15": 0.861702, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, @@ -821,66 +824,66 @@ Results of the model in various experiments on different datasets. \ }, "knee_right": { "count": 376, - "mean": 0.054065, + "mean": 0.054043, "median": 0.049743, - "std": 0.027363, - "sem": 0.001413, + "std": 0.027289, + "sem": 0.001409, "min": 0.011142, "max": 0.228754, "recall-0.025": 0.077128, "recall-0.05": 0.505319, "recall-0.1": 0.952128, - "recall-0.15": 0.989362, + "recall-0.15": 0.992021, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_left": { "count": 376, - "mean": 0.070912, - "median": 0.064896, - "std": 0.044349, - "sem": 0.00229, + "mean": 0.071464, + "median": 0.065404, + "std": 0.04228, + "sem": 0.002183, "min": 0.010298, - "max": 0.401341, + "max": 0.378232, "recall-0.025": 0.045213, "recall-0.05": 0.329787, - "recall-0.1": 0.875, - "recall-0.15": 0.968085, - "recall-0.25": 0.986702, + "recall-0.1": 0.861702, + "recall-0.15": 0.954787, + "recall-0.25": 0.992021, "recall-0.5": 1.0, "num_labels": 376 }, "ankle_right": { "count": 376, - "mean": 0.065105, + "mean": 0.065216, "median": 0.052692, - "std": 0.049817, - "sem": 0.002573, + "std": 0.047867, + "sem": 0.002472, "min": 0.0034, "max": 0.378972, - "recall-0.025": 0.066489, + "recall-0.025": 0.069149, "recall-0.05": 0.43617, - "recall-0.1": 0.880319, - "recall-0.15": 0.957447, - "recall-0.25": 0.984043, + "recall-0.1": 0.87234, + "recall-0.15": 0.952128, + "recall-0.25": 0.986702, "recall-0.5": 1.0, "num_labels": 376 }, "joint_recalls": { "num_labels": 4888, - "recall-0.025": 0.03908, + "recall-0.025": 0.03948, "recall-0.05": 0.29828, - "recall-0.1": 0.79971, - "recall-0.15": 0.93515, - "recall-0.25": 0.98813, - "recall-0.5": 0.99959 + "recall-0.1": 0.7989, + "recall-0.15": 0.93453, + "recall-0.25": 0.99018, + "recall-0.5": 1.0 } } { "total_parts": 5264, - "correct_parts": 5005, - "pcp": 0.950798 + "correct_parts": 5013, + "pcp": 0.952318 } ``` @@ -892,6 +895,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.0002937, "avg_time_2d": 0.00802104, "avg_time_3d": 4.47021e-05, + "time_tracks": 0, "fps": 119.625 } { @@ -1111,680 +1115,107 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0472362, - "demosaicing": 0.00104078, - "avg_time_2d": 0.016779, - "avg_time_3d": 0.000147258, - "fps": 55.6575 + "img_loading": 0.0479199, + "demosaicing": 0.00102993, + "avg_time_2d": 0.0167737, + "avg_time_3d": 0.000150704, + "time_tracks": 1.38331e-06, + "fps": 55.6924 } { "triangulator_calls": 420, - "init_time": 2.83825e-06, - "undistort_time": 1.62245e-05, - "project_time": 2.73635e-06, - "match_time": 1.22068e-05, - "pairs_time": 7.67092e-06, - "pair_scoring_time": 3.49176e-05, - "grouping_time": 7.59939e-06, - "full_time": 2.92463e-05, - "merge_time": 1.35496e-05, - "post_time": 8.52639e-06, - "convert_time": 1.49119e-07, - "total_time": 0.000135899 + "init_time": 3.30566e-06, + "undistort_time": 1.61718e-05, + "project_time": 2.97576e-06, + "match_time": 1.2894e-05, + "pairs_time": 8.03232e-06, + "pair_scoring_time": 3.56451e-05, + "grouping_time": 7.91833e-06, + "full_time": 2.95268e-05, + "merge_time": 1.38784e-05, + "post_time": 8.84109e-06, + "convert_time": 1.9884e-07, + "total_time": 0.000139622 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1488, + "total_preds": 1491, "considered_empty": 0, - "valid_preds": 1462, - "invalid_preds": 26, - "missing": 4, - "invalid_fraction": 0.01747, - "precision": 0.98253, - "recall": 0.99727, - "f1": 0.98984, - "non_empty": 1488 + "valid_preds": 1463, + "invalid_preds": 28, + "missing": 3, + "invalid_fraction": 0.01878, + "precision": 0.98122, + "recall": 0.99795, + "f1": 0.98952, + "non_empty": 1491 }, "mpjpe": { - "count": 1462, - "mean": 0.030476, - "median": 0.028098, - "std": 0.012636, - "sem": 0.000331, + "count": 1463, + "mean": 0.030572, + "median": 0.028132, + "std": 0.012776, + "sem": 0.000334, "min": 0.01063, "max": 0.124385, - "recall-0.025": 0.372442, + "recall-0.025": 0.369031, "recall-0.05": 0.931105, "recall-0.1": 0.993179, - "recall-0.15": 0.997271, - "recall-0.25": 0.997271, - "recall-0.5": 0.997271, + "recall-0.15": 0.997954, + "recall-0.25": 0.997954, + "recall-0.5": 0.997954, "num_labels": 1466, - "ap-0.025": 0.245129, - "ap-0.05": 0.91649, - "ap-0.1": 0.98951, - "ap-0.15": 0.99524, - "ap-0.25": 0.99524, - "ap-0.5": 0.99524 + "ap-0.025": 0.243066, + "ap-0.05": 0.9157, + "ap-0.1": 0.989328, + "ap-0.15": 0.995779, + "ap-0.25": 0.995779, + "ap-0.5": 0.995779 }, "nose": { - "count": 1461, - "mean": 0.015022, - "median": 0.011489, - "std": 0.017364, - "sem": 0.000454, + "count": 1462, + "mean": 0.015217, + "median": 0.011493, + "std": 0.018892, + "sem": 0.000494, "min": 0.00149, - "max": 0.276078, + "max": 0.300311, "recall-0.025": 0.91866, "recall-0.05": 0.968558, "recall-0.1": 0.993848, "recall-0.15": 0.995899, "recall-0.25": 0.996582, - "recall-0.5": 0.998633, + "recall-0.5": 0.999316, "num_labels": 1463 }, "shoulder_left": { - "count": 1462, - "mean": 0.016638, - "median": 0.014664, - "std": 0.01071, - "sem": 0.00028, + "count": 1463, + "mean": 0.016689, + "median": 0.014665, + "std": 0.010884, + "sem": 0.000285, "min": 0.000564, "max": 0.104098, "recall-0.025": 0.844475, "recall-0.05": 0.982265, - "recall-0.1": 0.996589, - "recall-0.15": 0.997271, - "recall-0.25": 0.997271, - "recall-0.5": 0.997271, - "num_labels": 1466 - }, - "shoulder_right": { - "count": 1461, - "mean": 0.016577, - "median": 0.014272, - "std": 0.01107, - "sem": 0.00029, - "min": 0.001248, - "max": 0.147753, - "recall-0.025": 0.833447, - "recall-0.05": 0.986348, - "recall-0.1": 0.996587, - "recall-0.15": 0.99727, - "recall-0.25": 0.99727, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "elbow_left": { - "count": 1461, - "mean": 0.021948, - "median": 0.015896, - "std": 0.020832, - "sem": 0.000545, - "min": 0.00084, - "max": 0.281775, - "recall-0.025": 0.752901, - "recall-0.05": 0.916041, - "recall-0.1": 0.990444, - "recall-0.15": 0.994539, - "recall-0.25": 0.995904, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "elbow_right": { - "count": 1461, - "mean": 0.020304, - "median": 0.015715, - "std": 0.015619, - "sem": 0.000409, - "min": 0.001752, - "max": 0.161231, - "recall-0.025": 0.801777, - "recall-0.05": 0.945318, - "recall-0.1": 0.996582, - "recall-0.15": 0.997949, - "recall-0.25": 0.998633, - "recall-0.5": 0.998633, - "num_labels": 1463 - }, - "wrist_left": { - "count": 1431, - "mean": 0.03238, - "median": 0.015898, - "std": 0.048121, - "sem": 0.001273, - "min": 0.00015, - "max": 0.400667, - "recall-0.025": 0.698047, - "recall-0.05": 0.856346, - "recall-0.1": 0.926778, - "recall-0.15": 0.961646, - "recall-0.25": 0.981869, - "recall-0.5": 0.997908, - "num_labels": 1434 - }, - "wrist_right": { - "count": 1455, - "mean": 0.025471, - "median": 0.016112, - "std": 0.031698, - "sem": 0.000831, - "min": 0.001381, - "max": 0.279434, - "recall-0.025": 0.703297, - "recall-0.05": 0.904533, - "recall-0.1": 0.971154, - "recall-0.15": 0.984203, - "recall-0.25": 0.99794, - "recall-0.5": 0.999313, - "num_labels": 1456 - }, - "hip_left": { - "count": 1461, - "mean": 0.035183, - "median": 0.030449, - "std": 0.023031, - "sem": 0.000603, - "min": 0.002484, - "max": 0.231182, - "recall-0.025": 0.346075, - "recall-0.05": 0.842321, - "recall-0.1": 0.980887, - "recall-0.15": 0.991809, - "recall-0.25": 0.99727, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "hip_right": { - "count": 1462, - "mean": 0.036793, - "median": 0.032149, - "std": 0.024013, - "sem": 0.000628, - "min": 0.003239, - "max": 0.27157, - "recall-0.025": 0.33015, - "recall-0.05": 0.804911, - "recall-0.1": 0.97749, - "recall-0.15": 0.993861, - "recall-0.25": 0.996589, - "recall-0.5": 0.997271, - "num_labels": 1466 - }, - "knee_left": { - "count": 1461, - "mean": 0.037426, - "median": 0.032762, - "std": 0.029219, - "sem": 0.000765, - "min": 0.00406, - "max": 0.464241, - "recall-0.025": 0.296928, - "recall-0.05": 0.812969, - "recall-0.1": 0.979522, - "recall-0.15": 0.989078, - "recall-0.25": 0.993174, - "recall-0.5": 0.99727, - "num_labels": 1465 - }, - "knee_right": { - "count": 1455, - "mean": 0.03731, - "median": 0.031019, - "std": 0.025418, - "sem": 0.000667, - "min": 0.004194, - "max": 0.363111, - "recall-0.025": 0.371487, - "recall-0.05": 0.76902, - "recall-0.1": 0.969842, - "recall-0.15": 0.994517, - "recall-0.25": 0.996573, - "recall-0.5": 0.997258, - "num_labels": 1459 - }, - "ankle_left": { - "count": 1459, - "mean": 0.050406, - "median": 0.031859, - "std": 0.054672, - "sem": 0.001432, - "min": 0.003265, - "max": 0.439571, - "recall-0.025": 0.370472, - "recall-0.05": 0.700615, - "recall-0.1": 0.882433, - "recall-0.15": 0.944634, - "recall-0.25": 0.980861, - "recall-0.5": 0.997266, - "num_labels": 1463 - }, - "ankle_right": { - "count": 1452, - "mean": 0.048536, - "median": 0.031361, - "std": 0.058339, - "sem": 0.001532, - "min": 0.002507, - "max": 0.485436, - "recall-0.025": 0.367808, - "recall-0.05": 0.757534, - "recall-0.1": 0.895205, - "recall-0.15": 0.926712, - "recall-0.25": 0.974658, - "recall-0.5": 0.994521, - "num_labels": 1460 - }, - "joint_recalls": { - "num_labels": 18990, - "recall-0.025": 0.58668, - "recall-0.05": 0.86493, - "recall-0.1": 0.96551, - "recall-0.15": 0.98194, - "recall-0.25": 0.99236, - "recall-0.5": 0.99726 - } -} -{ - "total_parts": 20444, - "correct_parts": 20243, - "pcp": 0.990168 -} -``` - -##### 3 cameras - -```json -{ - "img_loading": 0.0292945, - "demosaicing": 0.000700228, - "avg_time_2d": 0.0100312, - "avg_time_3d": 6.66628e-05, - "fps": 92.6094 -} -{ - "triangulator_calls": 420, - "init_time": 2.95553e-06, - "undistort_time": 9.92935e-06, - "project_time": 1.49162e-06, - "match_time": 7.1829e-06, - "pairs_time": 2.24381e-06, - "pair_scoring_time": 1.12116e-05, - "grouping_time": 2.81234e-06, - "full_time": 1.00224e-05, - "merge_time": 5.28941e-06, - "post_time": 7.89963e-06, - "convert_time": 1.68905e-07, - "total_time": 6.14426e-05 -} -{ - "person_nums": { - "total_frames": 420, - "total_labels": 1466, - "total_preds": 1379, - "considered_empty": 0, - "valid_preds": 1366, - "invalid_preds": 13, - "missing": 100, - "invalid_fraction": 0.00943, - "precision": 0.99057, - "recall": 0.93179, - "f1": 0.96028, - "non_empty": 1379 - }, - "mpjpe": { - "count": 1366, - "mean": 0.056595, - "median": 0.045554, - "std": 0.03804, - "sem": 0.00103, - "min": 0.018518, - "max": 0.348157, - "recall-0.025": 0.018417, - "recall-0.05": 0.547067, - "recall-0.1": 0.84925, - "recall-0.15": 0.902456, - "recall-0.25": 0.925648, - "recall-0.5": 0.931787, - "num_labels": 1466, - "ap-0.025": 0.004947, - "ap-0.05": 0.4475, - "ap-0.1": 0.826634, - "ap-0.15": 0.892219, - "ap-0.25": 0.917603, - "ap-0.5": 0.924455 - }, - "nose": { - "count": 1365, - "mean": 0.023824, - "median": 0.018351, - "std": 0.017653, - "sem": 0.000478, - "min": 0.00138, - "max": 0.130817, - "recall-0.025": 0.611073, - "recall-0.05": 0.848257, - "recall-0.1": 0.926863, - "recall-0.15": 0.933014, - "recall-0.25": 0.933014, - "recall-0.5": 0.933014, - "num_labels": 1463 - }, - "shoulder_left": { - "count": 1366, - "mean": 0.020138, - "median": 0.016525, - "std": 0.014325, - "sem": 0.000388, - "min": 0.000838, - "max": 0.118475, - "recall-0.025": 0.701228, - "recall-0.05": 0.901774, - "recall-0.1": 0.927694, - "recall-0.15": 0.931787, - "recall-0.25": 0.931787, - "recall-0.5": 0.931787, - "num_labels": 1466 - }, - "shoulder_right": { - "count": 1365, - "mean": 0.022731, - "median": 0.017688, - "std": 0.018447, - "sem": 0.000499, - "min": 0.002084, - "max": 0.215048, - "recall-0.025": 0.653242, - "recall-0.05": 0.87372, - "recall-0.1": 0.926962, - "recall-0.15": 0.928328, - "recall-0.25": 0.931741, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "elbow_left": { - "count": 1365, - "mean": 0.032839, - "median": 0.021354, - "std": 0.031501, - "sem": 0.000853, - "min": 0.00105, - "max": 0.2673, - "recall-0.025": 0.546758, - "recall-0.05": 0.757679, - "recall-0.1": 0.877133, - "recall-0.15": 0.926962, - "recall-0.25": 0.929693, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "elbow_right": { - "count": 1365, - "mean": 0.031128, - "median": 0.021108, - "std": 0.031112, - "sem": 0.000842, - "min": 0.002016, - "max": 0.325627, - "recall-0.025": 0.57553, - "recall-0.05": 0.788107, - "recall-0.1": 0.901572, - "recall-0.15": 0.924129, - "recall-0.25": 0.930964, - "recall-0.5": 0.933014, - "num_labels": 1463 - }, - "wrist_left": { - "count": 1336, - "mean": 0.052095, - "median": 0.02347, - "std": 0.063364, - "sem": 0.001734, - "min": 0.001228, - "max": 0.492913, - "recall-0.025": 0.486053, - "recall-0.05": 0.651325, - "recall-0.1": 0.778243, - "recall-0.15": 0.837517, - "recall-0.25": 0.91841, - "recall-0.5": 0.93166, - "num_labels": 1434 - }, - "wrist_right": { - "count": 1359, - "mean": 0.047294, - "median": 0.024005, - "std": 0.059423, - "sem": 0.001613, - "min": 0.001712, - "max": 0.353775, - "recall-0.025": 0.486951, - "recall-0.05": 0.679945, - "recall-0.1": 0.820742, - "recall-0.15": 0.873626, - "recall-0.25": 0.907967, - "recall-0.5": 0.933379, - "num_labels": 1456 - }, - "hip_left": { - "count": 1365, - "mean": 0.042968, - "median": 0.037811, - "std": 0.026631, - "sem": 0.000721, - "min": 0.001201, - "max": 0.370723, - "recall-0.025": 0.201365, - "recall-0.05": 0.666894, - "recall-0.1": 0.908532, - "recall-0.15": 0.927645, - "recall-0.25": 0.930375, - "recall-0.5": 0.931741, - "num_labels": 1465 - }, - "hip_right": { - "count": 1366, - "mean": 0.05136, - "median": 0.043963, - "std": 0.032543, - "sem": 0.000881, - "min": 0.004905, - "max": 0.27157, - "recall-0.025": 0.154161, - "recall-0.05": 0.542974, - "recall-0.1": 0.873806, - "recall-0.15": 0.918145, - "recall-0.25": 0.929741, - "recall-0.5": 0.931787, - "num_labels": 1466 - }, - "knee_left": { - "count": 1353, - "mean": 0.057829, - "median": 0.04077, - "std": 0.064952, - "sem": 0.001766, - "min": 0.003716, - "max": 0.396038, - "recall-0.025": 0.217065, - "recall-0.05": 0.590444, - "recall-0.1": 0.837543, - "recall-0.15": 0.868259, - "recall-0.25": 0.895563, - "recall-0.5": 0.923549, - "num_labels": 1465 - }, - "knee_right": { - "count": 1350, - "mean": 0.063263, - "median": 0.045916, - "std": 0.063862, - "sem": 0.001739, - "min": 0.006358, - "max": 0.413608, - "recall-0.025": 0.141193, - "recall-0.05": 0.514736, - "recall-0.1": 0.833448, - "recall-0.15": 0.860178, - "recall-0.25": 0.893763, - "recall-0.5": 0.925291, - "num_labels": 1459 - }, - "ankle_left": { - "count": 1298, - "mean": 0.108053, - "median": 0.070214, - "std": 0.110487, - "sem": 0.003068, - "min": 0.002475, - "max": 0.497978, - "recall-0.025": 0.168148, - "recall-0.05": 0.367738, - "recall-0.1": 0.576213, - "recall-0.15": 0.682843, - "recall-0.25": 0.768968, - "recall-0.5": 0.887218, - "num_labels": 1463 - }, - "ankle_right": { - "count": 1283, - "mean": 0.108268, - "median": 0.051324, - "std": 0.117911, - "sem": 0.003293, - "min": 0.002089, - "max": 0.499606, - "recall-0.025": 0.173288, - "recall-0.05": 0.426027, - "recall-0.1": 0.585616, - "recall-0.15": 0.641781, - "recall-0.25": 0.743151, - "recall-0.5": 0.878767, - "num_labels": 1460 - }, - "joint_recalls": { - "num_labels": 18990, - "recall-0.025": 0.39331, - "recall-0.05": 0.66198, - "recall-0.1": 0.82854, - "recall-0.15": 0.86535, - "recall-0.25": 0.89547, - "recall-0.5": 0.92296 - } -} -{ - "total_parts": 20444, - "correct_parts": 18282, - "pcp": 0.894248 -} -``` - -##### 7 cameras - -```json -{ - "img_loading": 0.0691732, - "demosaicing": 0.00157471, - "avg_time_2d": 0.0235997, - "avg_time_3d": 0.000278223, - "fps": 39.2887 -} -{ - "triangulator_calls": 420, - "init_time": 4.45287e-06, - "undistort_time": 2.29917e-05, - "project_time": 4.28683e-06, - "match_time": 1.83516e-05, - "pairs_time": 1.81177e-05, - "pair_scoring_time": 7.50915e-05, - "grouping_time": 1.66607e-05, - "full_time": 6.10801e-05, - "merge_time": 2.87935e-05, - "post_time": 9.30181e-06, - "convert_time": 1.58762e-07, - "total_time": 0.000259525 -} -{ - "person_nums": { - "total_frames": 420, - "total_labels": 1466, - "total_preds": 1516, - "considered_empty": 0, - "valid_preds": 1463, - "invalid_preds": 53, - "missing": 3, - "invalid_fraction": 0.03496, - "precision": 0.96504, - "recall": 0.99795, - "f1": 0.98122, - "non_empty": 1516 - }, - "mpjpe": { - "count": 1463, - "mean": 0.02777, - "median": 0.024836, - "std": 0.010928, - "sem": 0.000286, - "min": 0.010042, - "max": 0.100122, - "recall-0.025": 0.508186, - "recall-0.05": 0.952933, "recall-0.1": 0.997271, "recall-0.15": 0.997954, "recall-0.25": 0.997954, "recall-0.5": 0.997954, - "num_labels": 1466, - "ap-0.025": 0.363178, - "ap-0.05": 0.931973, - "ap-0.1": 0.988724, - "ap-0.15": 0.990273, - "ap-0.25": 0.990273, - "ap-0.5": 0.990273 - }, - "nose": { - "count": 1460, - "mean": 0.013217, - "median": 0.010495, - "std": 0.014266, - "sem": 0.000373, - "min": 0.002442, - "max": 0.276078, - "recall-0.025": 0.931647, - "recall-0.05": 0.984279, - "recall-0.1": 0.995899, - "recall-0.15": 0.995899, - "recall-0.25": 0.995899, - "recall-0.5": 0.997949, - "num_labels": 1463 - }, - "shoulder_left": { - "count": 1463, - "mean": 0.014306, - "median": 0.01258, - "std": 0.008789, - "sem": 0.00023, - "min": 0.000678, - "max": 0.066125, - "recall-0.025": 0.889495, - "recall-0.05": 0.991132, - "recall-0.1": 0.997954, - "recall-0.15": 0.997954, - "recall-0.25": 0.997954, - "recall-0.5": 0.997954, "num_labels": 1466 }, "shoulder_right": { "count": 1462, - "mean": 0.015837, - "median": 0.013118, - "std": 0.010557, - "sem": 0.000276, - "min": 0.000866, - "max": 0.108435, - "recall-0.025": 0.845734, - "recall-0.05": 0.983618, + "mean": 0.016612, + "median": 0.014272, + "std": 0.011142, + "sem": 0.000292, + "min": 0.001248, + "max": 0.147753, + "recall-0.025": 0.833447, + "recall-0.05": 0.986348, "recall-0.1": 0.99727, "recall-0.15": 0.997952, "recall-0.25": 0.997952, @@ -1793,178 +1224,754 @@ Results of the model in various experiments on different datasets. \ }, "elbow_left": { "count": 1462, - "mean": 0.018735, - "median": 0.015662, - "std": 0.013059, - "sem": 0.000342, - "min": 0.000432, - "max": 0.142625, - "recall-0.025": 0.799317, - "recall-0.05": 0.96587, - "recall-0.1": 0.996587, - "recall-0.15": 0.997952, - "recall-0.25": 0.997952, + "mean": 0.022011, + "median": 0.015913, + "std": 0.02096, + "sem": 0.000548, + "min": 0.00084, + "max": 0.281775, + "recall-0.025": 0.752901, + "recall-0.05": 0.916041, + "recall-0.1": 0.990444, + "recall-0.15": 0.995222, + "recall-0.25": 0.996587, "recall-0.5": 0.997952, "num_labels": 1465 }, "elbow_right": { - "count": 1460, - "mean": 0.018781, - "median": 0.015557, - "std": 0.013965, - "sem": 0.000366, - "min": 0.001389, - "max": 0.15785, - "recall-0.025": 0.840055, - "recall-0.05": 0.958305, - "recall-0.1": 0.993848, - "recall-0.15": 0.997266, - "recall-0.25": 0.997949, - "recall-0.5": 0.997949, + "count": 1462, + "mean": 0.020344, + "median": 0.015717, + "std": 0.015692, + "sem": 0.000411, + "min": 0.001752, + "max": 0.161231, + "recall-0.025": 0.801777, + "recall-0.05": 0.945318, + "recall-0.1": 0.997266, + "recall-0.15": 0.998633, + "recall-0.25": 0.999316, + "recall-0.5": 0.999316, "num_labels": 1463 }, "wrist_left": { - "count": 1431, - "mean": 0.023223, - "median": 0.01503, - "std": 0.026136, - "sem": 0.000691, - "min": 0.000898, - "max": 0.222116, - "recall-0.025": 0.737099, - "recall-0.05": 0.911437, - "recall-0.1": 0.967922, - "recall-0.15": 0.987448, - "recall-0.25": 0.997908, - "recall-0.5": 0.997908, + "count": 1432, + "mean": 0.03242, + "median": 0.015947, + "std": 0.048128, + "sem": 0.001272, + "min": 0.00015, + "max": 0.400667, + "recall-0.025": 0.698047, + "recall-0.05": 0.856346, + "recall-0.1": 0.927476, + "recall-0.15": 0.962343, + "recall-0.25": 0.982566, + "recall-0.5": 0.998605, "num_labels": 1434 }, "wrist_right": { - "count": 1455, - "mean": 0.022685, - "median": 0.01411, - "std": 0.029711, - "sem": 0.000779, - "min": 0.001174, - "max": 0.311362, - "recall-0.025": 0.76511, - "recall-0.05": 0.923764, - "recall-0.1": 0.973901, + "count": 1456, + "mean": 0.025538, + "median": 0.016124, + "std": 0.031791, + "sem": 0.000833, + "min": 0.001381, + "max": 0.279434, + "recall-0.025": 0.703297, + "recall-0.05": 0.904533, + "recall-0.1": 0.971154, "recall-0.15": 0.98489, - "recall-0.25": 0.996566, - "recall-0.5": 0.999313, + "recall-0.25": 0.998626, + "recall-0.5": 1.0, "num_labels": 1456 }, "hip_left": { "count": 1462, - "mean": 0.029493, - "median": 0.027594, - "std": 0.015436, - "sem": 0.000404, - "min": 0.001996, - "max": 0.12705, - "recall-0.025": 0.436177, - "recall-0.05": 0.897611, - "recall-0.1": 0.995904, - "recall-0.15": 0.997952, + "mean": 0.035237, + "median": 0.030458, + "std": 0.023117, + "sem": 0.000605, + "min": 0.002484, + "max": 0.231182, + "recall-0.025": 0.346075, + "recall-0.05": 0.842321, + "recall-0.1": 0.980887, + "recall-0.15": 0.992491, "recall-0.25": 0.997952, "recall-0.5": 0.997952, "num_labels": 1465 }, "hip_right": { "count": 1463, - "mean": 0.032338, - "median": 0.028867, - "std": 0.01861, - "sem": 0.000487, - "min": 0.001585, - "max": 0.196952, - "recall-0.025": 0.389495, - "recall-0.05": 0.866985, - "recall-0.1": 0.991814, + "mean": 0.036829, + "median": 0.032162, + "std": 0.024043, + "sem": 0.000629, + "min": 0.003239, + "max": 0.27157, + "recall-0.025": 0.33015, + "recall-0.05": 0.804911, + "recall-0.1": 0.978172, "recall-0.15": 0.994543, - "recall-0.25": 0.997954, + "recall-0.25": 0.997271, "recall-0.5": 0.997954, "num_labels": 1466 }, "knee_left": { "count": 1462, - "mean": 0.031934, - "median": 0.028307, - "std": 0.018752, - "sem": 0.000491, - "min": 0.002743, - "max": 0.153637, - "recall-0.025": 0.416382, - "recall-0.05": 0.864846, - "recall-0.1": 0.989078, - "recall-0.15": 0.996587, - "recall-0.25": 0.997952, + "mean": 0.037451, + "median": 0.032777, + "std": 0.029225, + "sem": 0.000765, + "min": 0.00406, + "max": 0.464241, + "recall-0.025": 0.296928, + "recall-0.05": 0.812969, + "recall-0.1": 0.980205, + "recall-0.15": 0.989761, + "recall-0.25": 0.993857, "recall-0.5": 0.997952, "num_labels": 1465 }, "knee_right": { - "count": 1457, - "mean": 0.034476, - "median": 0.03083, - "std": 0.019836, + "count": 1456, + "mean": 0.037347, + "median": 0.031036, + "std": 0.02543, + "sem": 0.000667, + "min": 0.004194, + "max": 0.363111, + "recall-0.025": 0.371487, + "recall-0.05": 0.768334, + "recall-0.1": 0.970528, + "recall-0.15": 0.995202, + "recall-0.25": 0.997258, + "recall-0.5": 0.997944, + "num_labels": 1459 + }, + "ankle_left": { + "count": 1460, + "mean": 0.050611, + "median": 0.032049, + "std": 0.054472, + "sem": 0.001426, + "min": 0.003265, + "max": 0.439571, + "recall-0.025": 0.370472, + "recall-0.05": 0.697881, + "recall-0.1": 0.879699, + "recall-0.15": 0.945318, + "recall-0.25": 0.982228, + "recall-0.5": 0.997949, + "num_labels": 1463 + }, + "ankle_right": { + "count": 1453, + "mean": 0.048936, + "median": 0.031418, + "std": 0.058915, + "sem": 0.001546, + "min": 0.002507, + "max": 0.485436, + "recall-0.025": 0.367123, + "recall-0.05": 0.755479, + "recall-0.1": 0.894521, + "recall-0.15": 0.926027, + "recall-0.25": 0.974658, + "recall-0.5": 0.995205, + "num_labels": 1460 + }, + "joint_recalls": { + "num_labels": 18990, + "recall-0.025": 0.58662, + "recall-0.05": 0.86445, + "recall-0.1": 0.96593, + "recall-0.15": 0.98246, + "recall-0.25": 0.99279, + "recall-0.5": 0.99768 + } +} +{ + "total_parts": 20444, + "correct_parts": 20255, + "pcp": 0.990755 +} +``` + +##### 3 cameras + +```json +{ + "img_loading": 0.0297065, + "demosaicing": 0.000688111, + "avg_time_2d": 0.0099169, + "avg_time_3d": 6.60544e-05, + "time_tracks": 1.16308e-06, + "fps": 93.7012 +} +{ + "triangulator_calls": 420, + "init_time": 2.94144e-06, + "undistort_time": 9.86922e-06, + "project_time": 1.48401e-06, + "match_time": 7.04053e-06, + "pairs_time": 2.2787e-06, + "pair_scoring_time": 1.10473e-05, + "grouping_time": 2.84531e-06, + "full_time": 9.9795e-06, + "merge_time": 5.23312e-06, + "post_time": 7.87855e-06, + "convert_time": 1.79293e-07, + "total_time": 6.10098e-05 +} +{ + "person_nums": { + "total_frames": 420, + "total_labels": 1466, + "total_preds": 1405, + "considered_empty": 0, + "valid_preds": 1387, + "invalid_preds": 18, + "missing": 79, + "invalid_fraction": 0.01281, + "precision": 0.98719, + "recall": 0.94611, + "f1": 0.96621, + "non_empty": 1405 + }, + "mpjpe": { + "count": 1387, + "mean": 0.057809, + "median": 0.045733, + "std": 0.039393, + "sem": 0.001058, + "min": 0.018518, + "max": 0.348157, + "recall-0.025": 0.017735, + "recall-0.05": 0.549795, + "recall-0.1": 0.851296, + "recall-0.15": 0.912005, + "recall-0.25": 0.939973, + "recall-0.5": 0.946112, + "num_labels": 1466, + "ap-0.025": 0.004084, + "ap-0.05": 0.446064, + "ap-0.1": 0.826788, + "ap-0.15": 0.900299, + "ap-0.25": 0.930765, + "ap-0.5": 0.937125 + }, + "nose": { + "count": 1386, + "mean": 0.024278, + "median": 0.0185, + "std": 0.018718, + "sem": 0.000503, + "min": 0.00138, + "max": 0.185287, + "recall-0.025": 0.616541, + "recall-0.05": 0.857143, + "recall-0.1": 0.93985, + "recall-0.15": 0.946685, + "recall-0.25": 0.947368, + "recall-0.5": 0.947368, + "num_labels": 1463 + }, + "shoulder_left": { + "count": 1387, + "mean": 0.020631, + "median": 0.016653, + "std": 0.016094, + "sem": 0.000432, + "min": 0.000838, + "max": 0.233408, + "recall-0.025": 0.706003, + "recall-0.05": 0.911323, + "recall-0.1": 0.939973, + "recall-0.15": 0.944748, + "recall-0.25": 0.946112, + "recall-0.5": 0.946112, + "num_labels": 1466 + }, + "shoulder_right": { + "count": 1386, + "mean": 0.023485, + "median": 0.017809, + "std": 0.021117, + "sem": 0.000567, + "min": 0.002084, + "max": 0.215048, + "recall-0.025": 0.656655, + "recall-0.05": 0.883276, + "recall-0.1": 0.937201, + "recall-0.15": 0.939932, + "recall-0.25": 0.946075, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "elbow_left": { + "count": 1386, + "mean": 0.033508, + "median": 0.021443, + "std": 0.03405, + "sem": 0.000915, + "min": 0.00105, + "max": 0.406529, + "recall-0.025": 0.551536, + "recall-0.05": 0.765188, + "recall-0.1": 0.890102, + "recall-0.15": 0.939932, + "recall-0.25": 0.942662, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "elbow_right": { + "count": 1386, + "mean": 0.031599, + "median": 0.021155, + "std": 0.032062, + "sem": 0.000862, + "min": 0.002016, + "max": 0.325627, + "recall-0.025": 0.579631, + "recall-0.05": 0.797676, + "recall-0.1": 0.912509, + "recall-0.15": 0.936432, + "recall-0.25": 0.945318, + "recall-0.5": 0.947368, + "num_labels": 1463 + }, + "wrist_left": { + "count": 1357, + "mean": 0.052803, + "median": 0.024023, + "std": 0.064029, + "sem": 0.001739, + "min": 0.001228, + "max": 0.492913, + "recall-0.025": 0.488145, + "recall-0.05": 0.656904, + "recall-0.1": 0.788006, + "recall-0.15": 0.848675, + "recall-0.25": 0.933054, + "recall-0.5": 0.946304, + "num_labels": 1434 + }, + "wrist_right": { + "count": 1380, + "mean": 0.048042, + "median": 0.024233, + "std": 0.060625, + "sem": 0.001633, + "min": 0.001712, + "max": 0.405436, + "recall-0.025": 0.489698, + "recall-0.05": 0.686813, + "recall-0.1": 0.831044, + "recall-0.15": 0.885302, + "recall-0.25": 0.921016, + "recall-0.5": 0.947802, + "num_labels": 1456 + }, + "hip_left": { + "count": 1386, + "mean": 0.043694, + "median": 0.038134, + "std": 0.027801, + "sem": 0.000747, + "min": 0.001201, + "max": 0.370723, + "recall-0.025": 0.20273, + "recall-0.05": 0.67099, + "recall-0.1": 0.916724, + "recall-0.15": 0.940614, + "recall-0.25": 0.94471, + "recall-0.5": 0.946075, + "num_labels": 1465 + }, + "hip_right": { + "count": 1387, + "mean": 0.052384, + "median": 0.044002, + "std": 0.034873, + "sem": 0.000937, + "min": 0.004905, + "max": 0.27157, + "recall-0.025": 0.156889, + "recall-0.05": 0.547749, + "recall-0.1": 0.880628, + "recall-0.15": 0.92633, + "recall-0.25": 0.944065, + "recall-0.5": 0.946112, + "num_labels": 1466 + }, + "knee_left": { + "count": 1372, + "mean": 0.059338, + "median": 0.041103, + "std": 0.066615, + "sem": 0.001799, + "min": 0.003716, + "max": 0.396038, + "recall-0.025": 0.217065, + "recall-0.05": 0.592491, + "recall-0.1": 0.840273, + "recall-0.15": 0.873038, + "recall-0.25": 0.907167, + "recall-0.5": 0.936519, + "num_labels": 1465 + }, + "knee_right": { + "count": 1372, + "mean": 0.064953, + "median": 0.046186, + "std": 0.065917, + "sem": 0.00178, + "min": 0.006358, + "max": 0.413608, + "recall-0.025": 0.141193, + "recall-0.05": 0.517478, + "recall-0.1": 0.836875, + "recall-0.15": 0.866347, + "recall-0.25": 0.9061, + "recall-0.5": 0.94037, + "num_labels": 1459 + }, + "ankle_left": { + "count": 1313, + "mean": 0.109506, + "median": 0.071209, + "std": 0.111954, + "sem": 0.003091, + "min": 0.002475, + "max": 0.497978, + "recall-0.025": 0.168831, + "recall-0.05": 0.368421, + "recall-0.1": 0.578947, + "recall-0.15": 0.686945, + "recall-0.25": 0.77512, + "recall-0.5": 0.897471, + "num_labels": 1463 + }, + "ankle_right": { + "count": 1303, + "mean": 0.111553, + "median": 0.052471, + "std": 0.120445, + "sem": 0.003338, + "min": 0.002089, + "max": 0.499606, + "recall-0.025": 0.173288, + "recall-0.05": 0.425342, + "recall-0.1": 0.585616, + "recall-0.15": 0.642466, + "recall-0.25": 0.74589, + "recall-0.5": 0.892466, + "num_labels": 1460 + }, + "joint_recalls": { + "num_labels": 18990, + "recall-0.025": 0.39563, + "recall-0.05": 0.66751, + "recall-0.1": 0.83665, + "recall-0.15": 0.87509, + "recall-0.25": 0.90758, + "recall-0.5": 0.93697 + } +} +{ + "total_parts": 20444, + "correct_parts": 18490, + "pcp": 0.904422 +} +``` + +##### 7 cameras + +```json +{ + "img_loading": 0.0676695, + "demosaicing": 0.00167722, + "avg_time_2d": 0.0236274, + "avg_time_3d": 0.000277402, + "time_tracks": 1.6014e-06, + "fps": 39.0875 +} +{ + "triangulator_calls": 420, + "init_time": 4.12762e-06, + "undistort_time": 2.27581e-05, + "project_time": 4.2093e-06, + "match_time": 1.80837e-05, + "pairs_time": 1.92128e-05, + "pair_scoring_time": 7.41403e-05, + "grouping_time": 1.65973e-05, + "full_time": 6.08105e-05, + "merge_time": 2.83742e-05, + "post_time": 9.35338e-06, + "convert_time": 1.858e-07, + "total_time": 0.000258086 +} +{ + "person_nums": { + "total_frames": 420, + "total_labels": 1466, + "total_preds": 1525, + "considered_empty": 0, + "valid_preds": 1465, + "invalid_preds": 60, + "missing": 1, + "invalid_fraction": 0.03934, + "precision": 0.96066, + "recall": 0.99932, + "f1": 0.97961, + "non_empty": 1525 + }, + "mpjpe": { + "count": 1465, + "mean": 0.027872, + "median": 0.024928, + "std": 0.011052, + "sem": 0.000289, + "min": 0.010042, + "max": 0.11011, + "recall-0.025": 0.505457, + "recall-0.05": 0.952933, + "recall-0.1": 0.998636, + "recall-0.15": 0.999318, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466, + "ap-0.025": 0.360471, + "ap-0.05": 0.930742, + "ap-0.1": 0.989824, + "ap-0.15": 0.99048, + "ap-0.25": 0.99048, + "ap-0.5": 0.99048 + }, + "nose": { + "count": 1462, + "mean": 0.013451, + "median": 0.010507, + "std": 0.016174, + "sem": 0.000423, + "min": 0.002442, + "max": 0.300311, + "recall-0.025": 0.931647, + "recall-0.05": 0.984279, + "recall-0.1": 0.996582, + "recall-0.15": 0.996582, + "recall-0.25": 0.996582, + "recall-0.5": 0.999316, + "num_labels": 1463 + }, + "shoulder_left": { + "count": 1465, + "mean": 0.014367, + "median": 0.012587, + "std": 0.009017, + "sem": 0.000236, + "min": 0.000678, + "max": 0.091593, + "recall-0.025": 0.889495, + "recall-0.05": 0.991814, + "recall-0.1": 0.999318, + "recall-0.15": 0.999318, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466 + }, + "shoulder_right": { + "count": 1464, + "mean": 0.015886, + "median": 0.013121, + "std": 0.010646, + "sem": 0.000278, + "min": 0.000866, + "max": 0.108435, + "recall-0.025": 0.845734, + "recall-0.05": 0.9843, + "recall-0.1": 0.998635, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "elbow_left": { + "count": 1464, + "mean": 0.0188, + "median": 0.015688, + "std": 0.013281, + "sem": 0.000347, + "min": 0.000432, + "max": 0.142625, + "recall-0.025": 0.8, + "recall-0.05": 0.966553, + "recall-0.1": 0.99727, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "elbow_right": { + "count": 1462, + "mean": 0.018846, + "median": 0.015574, + "std": 0.014075, + "sem": 0.000368, + "min": 0.001389, + "max": 0.15785, + "recall-0.025": 0.840055, + "recall-0.05": 0.958305, + "recall-0.1": 0.995215, + "recall-0.15": 0.998633, + "recall-0.25": 0.999316, + "recall-0.5": 0.999316, + "num_labels": 1463 + }, + "wrist_left": { + "count": 1433, + "mean": 0.02331, + "median": 0.015059, + "std": 0.026221, + "sem": 0.000693, + "min": 0.000898, + "max": 0.222116, + "recall-0.025": 0.737099, + "recall-0.05": 0.911437, + "recall-0.1": 0.969317, + "recall-0.15": 0.988842, + "recall-0.25": 0.999303, + "recall-0.5": 0.999303, + "num_labels": 1434 + }, + "wrist_right": { + "count": 1456, + "mean": 0.022755, + "median": 0.014112, + "std": 0.029818, + "sem": 0.000782, + "min": 0.001174, + "max": 0.311362, + "recall-0.025": 0.76511, + "recall-0.05": 0.923764, + "recall-0.1": 0.973901, + "recall-0.15": 0.985577, + "recall-0.25": 0.997253, + "recall-0.5": 1.0, + "num_labels": 1456 + }, + "hip_left": { + "count": 1464, + "mean": 0.029562, + "median": 0.027611, + "std": 0.01559, + "sem": 0.000408, + "min": 0.001996, + "max": 0.12705, + "recall-0.025": 0.436177, + "recall-0.05": 0.898294, + "recall-0.1": 0.996587, + "recall-0.15": 0.999317, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "hip_right": { + "count": 1465, + "mean": 0.032376, + "median": 0.028909, + "std": 0.018656, + "sem": 0.000488, + "min": 0.001585, + "max": 0.196952, + "recall-0.025": 0.389495, + "recall-0.05": 0.867667, + "recall-0.1": 0.993179, + "recall-0.15": 0.995907, + "recall-0.25": 0.999318, + "recall-0.5": 0.999318, + "num_labels": 1466 + }, + "knee_left": { + "count": 1464, + "mean": 0.031951, + "median": 0.028307, + "std": 0.018777, + "sem": 0.000491, + "min": 0.002743, + "max": 0.153637, + "recall-0.025": 0.417065, + "recall-0.05": 0.865529, + "recall-0.1": 0.990444, + "recall-0.15": 0.997952, + "recall-0.25": 0.999317, + "recall-0.5": 0.999317, + "num_labels": 1465 + }, + "knee_right": { + "count": 1458, + "mean": 0.034502, + "median": 0.030849, + "std": 0.019855, "sem": 0.00052, "min": 0.002456, "max": 0.205948, "recall-0.025": 0.374914, "recall-0.05": 0.818369, - "recall-0.1": 0.986292, - "recall-0.15": 0.997944, - "recall-0.25": 0.998629, - "recall-0.5": 0.998629, + "recall-0.1": 0.986977, + "recall-0.15": 0.998629, + "recall-0.25": 0.999315, + "recall-0.5": 0.999315, "num_labels": 1459 }, "ankle_left": { - "count": 1459, - "mean": 0.054458, - "median": 0.033123, - "std": 0.059469, - "sem": 0.001557, + "count": 1461, + "mean": 0.054406, + "median": 0.033161, + "std": 0.058541, + "sem": 0.001532, "min": 0.002262, "max": 0.458662, - "recall-0.025": 0.367054, - "recall-0.05": 0.663021, + "recall-0.025": 0.36637, + "recall-0.05": 0.660971, "recall-0.1": 0.856459, - "recall-0.15": 0.920711, - "recall-0.25": 0.978127, - "recall-0.5": 0.997266, + "recall-0.15": 0.922078, + "recall-0.25": 0.980861, + "recall-0.5": 0.998633, "num_labels": 1463 }, "ankle_right": { - "count": 1455, - "mean": 0.049672, - "median": 0.029994, - "std": 0.06081, - "sem": 0.001595, + "count": 1457, + "mean": 0.050245, + "median": 0.030058, + "std": 0.06195, + "sem": 0.001624, "min": 0.001983, "max": 0.48623, - "recall-0.025": 0.381507, - "recall-0.05": 0.75274, - "recall-0.1": 0.887671, - "recall-0.15": 0.933562, + "recall-0.025": 0.380822, + "recall-0.05": 0.750685, + "recall-0.1": 0.886301, + "recall-0.15": 0.932877, "recall-0.25": 0.971918, - "recall-0.5": 0.996575, + "recall-0.5": 0.997945, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.62823, + "recall-0.025": 0.62828, "recall-0.05": 0.89073, - "recall-0.1": 0.9712, - "recall-0.15": 0.98441, - "recall-0.25": 0.99384, - "recall-0.5": 0.99747 + "recall-0.1": 0.97199, + "recall-0.15": 0.98531, + "recall-0.25": 0.99505, + "recall-0.5": 0.99884 } } { "total_parts": 20444, - "correct_parts": 20328, - "pcp": 0.994326 + "correct_parts": 20350, + "pcp": 0.995402 } ``` @@ -1972,63 +1979,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0918391, - "demosaicing": 0.00234244, - "avg_time_2d": 0.032068, - "avg_time_3d": 0.000509022, - "fps": 28.6373 + "img_loading": 0.0909658, + "demosaicing": 0.00242828, + "avg_time_2d": 0.0324017, + "avg_time_3d": 0.00050742, + "time_tracks": 2.20957e-06, + "fps": 28.2969 } { "triangulator_calls": 420, - "init_time": 5.07809e-06, - "undistort_time": 3.17605e-05, - "project_time": 6.21849e-06, - "match_time": 2.64733e-05, - "pairs_time": 4.0161e-05, - "pair_scoring_time": 0.000154257, - "grouping_time": 3.21627e-05, - "full_time": 0.000113045, - "merge_time": 5.76427e-05, - "post_time": 9.86215e-06, - "convert_time": 1.75738e-07, - "total_time": 0.000477074 + "init_time": 5.11671e-06, + "undistort_time": 3.19434e-05, + "project_time": 5.91598e-06, + "match_time": 2.61242e-05, + "pairs_time": 4.20959e-05, + "pair_scoring_time": 0.000152818, + "grouping_time": 3.22265e-05, + "full_time": 0.000112121, + "merge_time": 5.77592e-05, + "post_time": 9.8474e-06, + "convert_time": 2.03929e-07, + "total_time": 0.000476412 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1507, + "total_preds": 1514, "considered_empty": 0, "valid_preds": 1465, - "invalid_preds": 42, + "invalid_preds": 49, "missing": 1, - "invalid_fraction": 0.02787, - "precision": 0.97213, + "invalid_fraction": 0.03236, + "precision": 0.96764, "recall": 0.99932, - "f1": 0.98554, - "non_empty": 1507 + "f1": 0.98322, + "non_empty": 1514 }, "mpjpe": { "count": 1465, - "mean": 0.023772, - "median": 0.021615, - "std": 0.008777, - "sem": 0.000229, + "mean": 0.023806, + "median": 0.021658, + "std": 0.00879, + "sem": 0.00023, "min": 0.009663, "max": 0.096886, - "recall-0.025": 0.683492, + "recall-0.025": 0.682128, "recall-0.05": 0.982947, "recall-0.1": 0.999318, "recall-0.15": 0.999318, "recall-0.25": 0.999318, "recall-0.5": 0.999318, "num_labels": 1466, - "ap-0.025": 0.586004, - "ap-0.05": 0.975414, - "ap-0.1": 0.996807, - "ap-0.15": 0.996807, - "ap-0.25": 0.996807, - "ap-0.5": 0.996807 + "ap-0.025": 0.584467, + "ap-0.05": 0.9751, + "ap-0.1": 0.996648, + "ap-0.15": 0.996648, + "ap-0.25": 0.996648, + "ap-0.5": 0.996648 }, "nose": { "count": 1462, @@ -2208,15 +2216,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 1461, - "mean": 0.046212, - "median": 0.029973, - "std": 0.04745, - "sem": 0.001242, + "mean": 0.046375, + "median": 0.030042, + "std": 0.047543, + "sem": 0.001244, "min": 0.002652, "max": 0.385631, - "recall-0.025": 0.41285, - "recall-0.05": 0.711552, - "recall-0.1": 0.900889, + "recall-0.025": 0.412167, + "recall-0.05": 0.709501, + "recall-0.1": 0.900205, "recall-0.15": 0.947368, "recall-0.25": 0.991114, "recall-0.5": 0.998633, @@ -2224,26 +2232,26 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 1458, - "mean": 0.045464, - "median": 0.027247, - "std": 0.054105, - "sem": 0.001417, + "mean": 0.045756, + "median": 0.027306, + "std": 0.054394, + "sem": 0.001425, "min": 0.002526, "max": 0.431889, - "recall-0.025": 0.44863, - "recall-0.05": 0.776027, - "recall-0.1": 0.9, - "recall-0.15": 0.941781, + "recall-0.025": 0.44726, + "recall-0.05": 0.773288, + "recall-0.1": 0.89863, + "recall-0.15": 0.941096, "recall-0.25": 0.981507, "recall-0.5": 0.99863, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.69831, - "recall-0.05": 0.92765, - "recall-0.1": 0.98067, - "recall-0.15": 0.98973, + "recall-0.025": 0.69821, + "recall-0.05": 0.92728, + "recall-0.1": 0.98041, + "recall-0.15": 0.98968, "recall-0.25": 0.997, "recall-0.5": 0.99889 } @@ -2259,63 +2267,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.319281, - "demosaicing": 0.0108859, - "avg_time_2d": 0.097923, - "avg_time_3d": 0.00507466, - "fps": 8.7809 + "img_loading": 0.310243, + "demosaicing": 0.0108448, + "avg_time_2d": 0.0979978, + "avg_time_3d": 0.00494672, + "time_tracks": 5.76096e-06, + "fps": 8.78773 } { "triangulator_calls": 420, - "init_time": 1.43217e-05, - "undistort_time": 9.91696e-05, - "project_time": 1.87331e-05, - "match_time": 8.19258e-05, - "pairs_time": 0.000455438, - "pair_scoring_time": 0.0021466, - "grouping_time": 0.000299827, - "full_time": 0.00104798, - "merge_time": 0.00067489, - "post_time": 1.1215e-05, - "convert_time": 1.93167e-07, - "total_time": 0.00485053 + "init_time": 1.40068e-05, + "undistort_time": 9.76334e-05, + "project_time": 1.83197e-05, + "match_time": 8.03562e-05, + "pairs_time": 0.000470858, + "pair_scoring_time": 0.00206245, + "grouping_time": 0.000295279, + "full_time": 0.00101673, + "merge_time": 0.00066551, + "post_time": 1.12451e-05, + "convert_time": 2.09462e-07, + "total_time": 0.00473284 } { "person_nums": { "total_frames": 420, "total_labels": 1466, - "total_preds": 1507, + "total_preds": 1513, "considered_empty": 0, "valid_preds": 1465, - "invalid_preds": 42, + "invalid_preds": 48, "missing": 1, - "invalid_fraction": 0.02787, - "precision": 0.97213, + "invalid_fraction": 0.03173, + "precision": 0.96827, "recall": 0.99932, - "f1": 0.98554, - "non_empty": 1507 + "f1": 0.98355, + "non_empty": 1513 }, "mpjpe": { "count": 1465, - "mean": 0.019183, - "median": 0.017921, - "std": 0.006796, + "mean": 0.019218, + "median": 0.018002, + "std": 0.006801, "sem": 0.000178, "min": 0.008759, "max": 0.110571, - "recall-0.025": 0.845839, + "recall-0.025": 0.844475, "recall-0.05": 0.996589, "recall-0.1": 0.998636, "recall-0.15": 0.999318, "recall-0.25": 0.999318, "recall-0.5": 0.999318, "num_labels": 1466, - "ap-0.025": 0.790961, - "ap-0.05": 0.988824, - "ap-0.1": 0.991856, - "ap-0.15": 0.993465, - "ap-0.25": 0.993465, - "ap-0.5": 0.993465 + "ap-0.025": 0.788471, + "ap-0.05": 0.988835, + "ap-0.1": 0.991878, + "ap-0.15": 0.993488, + "ap-0.25": 0.993488, + "ap-0.5": 0.993488 }, "nose": { "count": 1462, @@ -2495,15 +2504,15 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 1462, - "mean": 0.034903, - "median": 0.023878, - "std": 0.031775, - "sem": 0.000831, + "mean": 0.035099, + "median": 0.02398, + "std": 0.031942, + "sem": 0.000836, "min": 0.001969, "max": 0.245439, - "recall-0.025": 0.527683, - "recall-0.05": 0.805878, - "recall-0.1": 0.93985, + "recall-0.025": 0.524949, + "recall-0.05": 0.803828, + "recall-0.1": 0.938483, "recall-0.15": 0.993165, "recall-0.25": 0.999316, "recall-0.5": 0.999316, @@ -2511,26 +2520,26 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 1458, - "mean": 0.035343, - "median": 0.024611, - "std": 0.032968, - "sem": 0.000864, + "mean": 0.035597, + "median": 0.024811, + "std": 0.033369, + "sem": 0.000874, "min": 0.001251, "max": 0.285853, - "recall-0.025": 0.508904, - "recall-0.05": 0.787671, - "recall-0.1": 0.94589, - "recall-0.15": 0.981507, + "recall-0.025": 0.504795, + "recall-0.05": 0.785616, + "recall-0.1": 0.945205, + "recall-0.15": 0.980822, "recall-0.25": 0.99726, "recall-0.5": 0.99863, "num_labels": 1460 }, "joint_recalls": { "num_labels": 18990, - "recall-0.025": 0.78231, - "recall-0.05": 0.95492, - "recall-0.1": 0.98836, - "recall-0.15": 0.99705, + "recall-0.025": 0.78183, + "recall-0.05": 0.95466, + "recall-0.1": 0.9882, + "recall-0.15": 0.997, "recall-0.25": 0.99879, "recall-0.5": 0.99889 } @@ -2550,6 +2559,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000678538, "avg_time_2d": 0.00855362, "avg_time_3d": 3.34318e-05, + "time_tracks": 0, "fps": 107.926 } { @@ -2833,286 +2843,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.0171398, - "demosaicing": 0.000533731, - "avg_time_2d": 0.0099556, - "avg_time_3d": 6.45742e-05, - "fps": 94.7516 + "img_loading": 0.0170892, + "demosaicing": 0.000532315, + "avg_time_2d": 0.00996914, + "avg_time_3d": 6.4028e-05, + "time_tracks": 7.03068e-07, + "fps": 94.6416 } { "triangulator_calls": 390, - "init_time": 3.53722e-06, - "undistort_time": 7.38996e-06, - "project_time": 1.39629e-06, - "match_time": 3.33981e-06, - "pairs_time": 6.35672e-07, - "pair_scoring_time": 1.2211e-05, - "grouping_time": 2.98935e-06, - "full_time": 1.48329e-05, - "merge_time": 5.91435e-06, - "post_time": 6.31177e-06, - "convert_time": 9.48846e-08, - "total_time": 5.88911e-05 + "init_time": 3.56284e-06, + "undistort_time": 7.3621e-06, + "project_time": 1.43096e-06, + "match_time": 3.31098e-06, + "pairs_time": 6.62828e-07, + "pair_scoring_time": 1.19765e-05, + "grouping_time": 3.01562e-06, + "full_time": 1.45329e-05, + "merge_time": 5.97178e-06, + "post_time": 6.26503e-06, + "convert_time": 1.07297e-07, + "total_time": 5.84334e-05 } { "person_nums": { "total_frames": 390, "total_labels": 780, - "total_preds": 777, + "total_preds": 780, "considered_empty": 0, - "valid_preds": 777, + "valid_preds": 780, "invalid_preds": 0, - "missing": 3, + "missing": 0, "invalid_fraction": 0.0, "precision": 1.0, - "recall": 0.99615, - "f1": 0.99807, - "non_empty": 777 + "recall": 1.0, + "f1": 1.0, + "non_empty": 780 }, "mpjpe": { - "count": 777, - "mean": 0.059751, - "median": 0.057631, - "std": 0.011573, - "sem": 0.000415, + "count": 780, + "mean": 0.06014, + "median": 0.057675, + "std": 0.013345, + "sem": 0.000478, "min": 0.043081, - "max": 0.161047, + "max": 0.219433, "recall-0.025": 0.0, "recall-0.05": 0.058974, - "recall-0.1": 0.987179, - "recall-0.15": 0.992308, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.989744, + "recall-0.15": 0.99359, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780, "ap-0.025": 0.0, - "ap-0.05": 0.004978, - "ap-0.1": 0.987017, - "ap-0.15": 0.992192, - "ap-0.25": 0.996154, - "ap-0.5": 0.996154 + "ap-0.05": 0.005004, + "ap-0.1": 0.989373, + "ap-0.15": 0.993255, + "ap-0.25": 1.0, + "ap-0.5": 1.0 }, "head": { - "count": 777, - "mean": 0.032729, - "median": 0.028888, - "std": 0.017724, - "sem": 0.000636, + "count": 780, + "mean": 0.033024, + "median": 0.028914, + "std": 0.018606, + "sem": 0.000667, "min": 0.003336, "max": 0.236729, "recall-0.025": 0.369231, - "recall-0.05": 0.838462, - "recall-0.1": 0.992308, - "recall-0.15": 0.994872, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.05": 0.839744, + "recall-0.1": 0.99359, + "recall-0.15": 0.997436, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "shoulder_left": { - "count": 777, - "mean": 0.063705, - "median": 0.061636, - "std": 0.022704, - "sem": 0.000815, + "count": 780, + "mean": 0.06398, + "median": 0.061682, + "std": 0.023194, + "sem": 0.000831, "min": 0.003706, "max": 0.192847, "recall-0.025": 0.010256, "recall-0.05": 0.310256, - "recall-0.1": 0.961538, - "recall-0.15": 0.992308, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.962821, + "recall-0.15": 0.994872, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "shoulder_right": { - "count": 777, - "mean": 0.064214, - "median": 0.062251, - "std": 0.017583, - "sem": 0.000631, + "count": 780, + "mean": 0.064423, + "median": 0.06234, + "std": 0.017967, + "sem": 0.000644, "min": 0.00645, - "max": 0.133633, + "max": 0.157344, "recall-0.025": 0.014103, "recall-0.05": 0.174359, - "recall-0.1": 0.961538, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.962821, + "recall-0.15": 0.998718, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "elbow_left": { - "count": 776, - "mean": 0.055889, - "median": 0.048272, - "std": 0.027449, - "sem": 0.000986, + "count": 780, + "mean": 0.056511, + "median": 0.048275, + "std": 0.030203, + "sem": 0.001082, "min": 0.015892, - "max": 0.295215, + "max": 0.320733, "recall-0.025": 0.017949, "recall-0.05": 0.535897, - "recall-0.1": 0.932051, - "recall-0.15": 0.979487, - "recall-0.25": 0.992308, - "recall-0.5": 0.994872, + "recall-0.1": 0.935897, + "recall-0.15": 0.982051, + "recall-0.25": 0.994872, + "recall-0.5": 1.0, "num_labels": 780 }, "elbow_right": { - "count": 777, - "mean": 0.064095, - "median": 0.061518, - "std": 0.02484, + "count": 780, + "mean": 0.064215, + "median": 0.061608, + "std": 0.024896, "sem": 0.000892, "min": 0.015015, "max": 0.216922, "recall-0.025": 0.001282, "recall-0.05": 0.280769, - "recall-0.1": 0.941026, - "recall-0.15": 0.969231, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.94359, + "recall-0.15": 0.973077, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "wrist_left": { - "count": 774, - "mean": 0.048141, - "median": 0.043293, - "std": 0.034124, - "sem": 0.001227, + "count": 776, + "mean": 0.048531, + "median": 0.043412, + "std": 0.034692, + "sem": 0.001246, "min": 0.006671, "max": 0.430452, "recall-0.025": 0.133333, - "recall-0.05": 0.674359, + "recall-0.05": 0.673077, "recall-0.1": 0.947436, - "recall-0.15": 0.978205, - "recall-0.25": 0.987179, - "recall-0.5": 0.992308, + "recall-0.15": 0.979487, + "recall-0.25": 0.988462, + "recall-0.5": 0.994872, "num_labels": 780 }, "wrist_right": { - "count": 771, - "mean": 0.065368, - "median": 0.064564, - "std": 0.03443, - "sem": 0.001241, + "count": 772, + "mean": 0.065856, + "median": 0.064591, + "std": 0.035934, + "sem": 0.001294, "min": 0.013844, - "max": 0.282031, + "max": 0.347423, "recall-0.025": 0.016667, - "recall-0.05": 0.342308, - "recall-0.1": 0.923077, + "recall-0.05": 0.341026, + "recall-0.1": 0.921795, "recall-0.15": 0.960256, "recall-0.25": 0.985897, - "recall-0.5": 0.988462, + "recall-0.5": 0.989744, "num_labels": 780 }, "hip_left": { - "count": 777, - "mean": 0.083444, - "median": 0.084359, - "std": 0.020428, - "sem": 0.000733, + "count": 780, + "mean": 0.083555, + "median": 0.084407, + "std": 0.020482, + "sem": 0.000734, "min": 0.027865, "max": 0.144259, "recall-0.025": 0.0, "recall-0.05": 0.061538, - "recall-0.1": 0.783333, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.784615, + "recall-0.15": 1.0, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "hip_right": { - "count": 777, - "mean": 0.105743, - "median": 0.104462, - "std": 0.018111, - "sem": 0.00065, + "count": 780, + "mean": 0.105803, + "median": 0.104465, + "std": 0.018178, + "sem": 0.000651, "min": 0.05627, "max": 0.17111, "recall-0.025": 0.0, "recall-0.05": 0.0, - "recall-0.1": 0.389744, - "recall-0.15": 0.978205, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.391026, + "recall-0.15": 0.980769, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "knee_left": { - "count": 777, - "mean": 0.048228, - "median": 0.046753, - "std": 0.019927, - "sem": 0.000715, + "count": 780, + "mean": 0.048299, + "median": 0.04682, + "std": 0.019933, + "sem": 0.000714, "min": 0.012707, "max": 0.202218, "recall-0.025": 0.057692, "recall-0.05": 0.616667, - "recall-0.1": 0.953846, - "recall-0.15": 0.991026, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.1": 0.957692, + "recall-0.15": 0.994872, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "knee_right": { - "count": 777, - "mean": 0.052412, - "median": 0.05017, - "std": 0.018144, + "count": 780, + "mean": 0.052462, + "median": 0.050225, + "std": 0.018164, "sem": 0.000651, "min": 0.01206, "max": 0.132138, "recall-0.025": 0.021795, - "recall-0.05": 0.489744, - "recall-0.1": 0.982051, - "recall-0.15": 0.996154, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.05": 0.491026, + "recall-0.1": 0.985897, + "recall-0.15": 1.0, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "ankle_left": { - "count": 777, - "mean": 0.049664, - "median": 0.046727, - "std": 0.01492, - "sem": 0.000536, - "min": 0.014128, - "max": 0.175912, - "recall-0.025": 0.008974, + "count": 780, + "mean": 0.050036, + "median": 0.046745, + "std": 0.016743, + "sem": 0.0006, + "min": 0.003176, + "max": 0.223271, + "recall-0.025": 0.010256, "recall-0.05": 0.638462, "recall-0.1": 0.980769, - "recall-0.15": 0.99359, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "recall-0.15": 0.996154, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 780 }, "ankle_right": { - "count": 777, - "mean": 0.034181, - "median": 0.030198, - "std": 0.015575, - "sem": 0.000559, + "count": 780, + "mean": 0.034577, + "median": 0.030189, + "std": 0.018474, + "sem": 0.000662, "min": 0.007645, - "max": 0.160324, - "recall-0.025": 0.292308, - "recall-0.05": 0.870513, - "recall-0.1": 0.99359, - "recall-0.15": 0.994872, - "recall-0.25": 0.996154, - "recall-0.5": 0.996154, + "max": 0.26262, + "recall-0.025": 0.294872, + "recall-0.05": 0.873077, + "recall-0.1": 0.994872, + "recall-0.15": 0.996154, + "recall-0.25": 0.998718, + "recall-0.5": 1.0, "num_labels": 780 }, "joint_recalls": { "num_labels": 10140, - "recall-0.025": 0.07209, - "recall-0.05": 0.44832, - "recall-0.1": 0.90256, - "recall-0.15": 0.9858, - "recall-0.25": 0.99418, - "recall-0.5": 0.99517 + "recall-0.025": 0.07239, + "recall-0.05": 0.44852, + "recall-0.1": 0.90434, + "recall-0.15": 0.98836, + "recall-0.25": 0.99744, + "recall-0.5": 0.99882 } } { "total_parts": 10920, - "correct_parts": 10776, - "pcp": 0.986813 + "correct_parts": 10806, + "pcp": 0.98956 } ``` @@ -3120,26 +3131,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.107621, - "demosaicing": 0.00276719, - "avg_time_2d": 0.0182223, - "avg_time_3d": 0.000181552, - "fps": 47.2343 + "img_loading": 0.109176, + "demosaicing": 0.00278284, + "avg_time_2d": 0.0182905, + "avg_time_3d": 0.000181146, + "time_tracks": 9.5166e-07, + "fps": 47.0467 } { "triangulator_calls": 210, - "init_time": 3.61917e-06, - "undistort_time": 1.62847e-05, - "project_time": 2.65801e-06, - "match_time": 1.00396e-05, - "pairs_time": 5.07824e-06, - "pair_scoring_time": 4.18499e-05, - "grouping_time": 1.24074e-05, - "full_time": 4.94618e-05, - "merge_time": 2.10141e-05, - "post_time": 7.96508e-06, - "convert_time": 1.33171e-07, - "total_time": 0.000170749 + "init_time": 3.0223e-06, + "undistort_time": 1.5911e-05, + "project_time": 2.70853e-06, + "match_time": 9.89257e-06, + "pairs_time": 5.23378e-06, + "pair_scoring_time": 4.18337e-05, + "grouping_time": 1.22786e-05, + "full_time": 4.92026e-05, + "merge_time": 2.1051e-05, + "post_time": 8.00654e-06, + "convert_time": 1.46814e-07, + "total_time": 0.000169521 } { "person_nums": { @@ -3158,9 +3170,9 @@ Results of the model in various experiments on different datasets. \ }, "mpjpe": { "count": 630, - "mean": 0.052822, + "mean": 0.052814, "median": 0.048901, - "std": 0.017798, + "std": 0.017799, "sem": 0.00071, "min": 0.030026, "max": 0.140544, @@ -3172,8 +3184,8 @@ Results of the model in various experiments on different datasets. \ "recall-0.5": 1.0, "num_labels": 630, "ap-0.025": 0.0, - "ap-0.05": 0.363228, - "ap-0.1": 0.948697, + "ap-0.05": 0.36398, + "ap-0.1": 0.948533, "ap-0.15": 1.0, "ap-0.25": 1.0, "ap-0.5": 1.0 @@ -3276,10 +3288,10 @@ Results of the model in various experiments on different datasets. \ }, "wrist_right": { "count": 625, - "mean": 0.050742, + "mean": 0.050698, "median": 0.046406, - "std": 0.023755, - "sem": 0.000951, + "std": 0.023717, + "sem": 0.000949, "min": 0.007026, "max": 0.225441, "recall-0.025": 0.0896, @@ -3372,14 +3384,14 @@ Results of the model in various experiments on different datasets. \ }, "ankle_right": { "count": 602, - "mean": 0.047205, - "median": 0.041586, - "std": 0.044335, + "mean": 0.047152, + "median": 0.041546, + "std": 0.044331, "sem": 0.001808, "min": 0.004139, "max": 0.447056, "recall-0.025": 0.172026, - "recall-0.05": 0.694534, + "recall-0.05": 0.696141, "recall-0.1": 0.940514, "recall-0.15": 0.951768, "recall-0.25": 0.954984, @@ -3413,6 +3425,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000629685, "avg_time_2d": 0.00831252, "avg_time_3d": 3.5924e-05, + "time_tracks": 0, "fps": 111.382 } { @@ -3700,6 +3713,7 @@ Results of the model in various experiments on different datasets. \ "demosaicing": 0.000593971, "avg_time_2d": 0.0114823, "avg_time_3d": 0.000122483, + "time_tracks": 0, "fps": 81.9754 } { @@ -5985,286 +5999,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.293049, - "demosaicing": 0.0109994, - "avg_time_2d": 0.0272442, - "avg_time_3d": 0.000297134, - "fps": 25.9465 + "img_loading": 0.296396, + "demosaicing": 0.0109835, + "avg_time_2d": 0.0274345, + "avg_time_3d": 0.000302427, + "time_tracks": 2.3222e-06, + "fps": 25.8246 } { "triangulator_calls": 100, - "init_time": 4.32242e-06, - "undistort_time": 2.36708e-05, - "project_time": 5.92112e-06, - "match_time": 1.92183e-05, - "pairs_time": 1.83692e-05, - "pair_scoring_time": 7.12365e-05, - "grouping_time": 2.763e-05, - "full_time": 6.86531e-05, - "merge_time": 3.18226e-05, - "post_time": 1.03394e-05, - "convert_time": 1.8829e-07, - "total_time": 0.000281607 + "init_time": 3.71065e-06, + "undistort_time": 2.39244e-05, + "project_time": 5.87787e-06, + "match_time": 1.93786e-05, + "pairs_time": 1.90562e-05, + "pair_scoring_time": 7.28914e-05, + "grouping_time": 2.82991e-05, + "full_time": 7.00339e-05, + "merge_time": 3.26347e-05, + "post_time": 1.03018e-05, + "convert_time": 2.2031e-07, + "total_time": 0.000286564 } { "person_nums": { "total_frames": 100, "total_labels": 400, - "total_preds": 415, + "total_preds": 440, "considered_empty": 0, - "valid_preds": 399, - "invalid_preds": 16, - "missing": 1, - "invalid_fraction": 0.03855, - "precision": 0.96145, - "recall": 0.9975, - "f1": 0.97914, - "non_empty": 415 + "valid_preds": 400, + "invalid_preds": 40, + "missing": 0, + "invalid_fraction": 0.09091, + "precision": 0.90909, + "recall": 1.0, + "f1": 0.95238, + "non_empty": 440 }, "mpjpe": { - "count": 399, - "mean": 0.04787, - "median": 0.032737, - "std": 0.042237, - "sem": 0.002117, + "count": 400, + "mean": 0.048086, + "median": 0.03277, + "std": 0.042332, + "sem": 0.002119, "min": 0.014478, "max": 0.293976, "recall-0.025": 0.23, - "recall-0.05": 0.755, - "recall-0.1": 0.89, - "recall-0.15": 0.96, - "recall-0.25": 0.9825, - "recall-0.5": 0.9975, + "recall-0.05": 0.7525, + "recall-0.1": 0.8925, + "recall-0.15": 0.9625, + "recall-0.25": 0.985, + "recall-0.5": 1.0, "num_labels": 400, - "ap-0.025": 0.078761, - "ap-0.05": 0.720976, - "ap-0.1": 0.886036, - "ap-0.15": 0.957485, - "ap-0.25": 0.980421, - "ap-0.5": 0.997152 + "ap-0.025": 0.079127, + "ap-0.05": 0.721744, + "ap-0.1": 0.888083, + "ap-0.15": 0.959641, + "ap-0.25": 0.982717, + "ap-0.5": 0.99905 }, "head": { - "count": 399, - "mean": 0.042813, - "median": 0.037173, - "std": 0.030287, - "sem": 0.001518, + "count": 400, + "mean": 0.042894, + "median": 0.037183, + "std": 0.030292, + "sem": 0.001516, "min": 0.002942, "max": 0.356496, "recall-0.025": 0.2225, "recall-0.05": 0.7225, - "recall-0.1": 0.97, - "recall-0.15": 0.985, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9725, + "recall-0.15": 0.9875, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "shoulder_left": { - "count": 399, - "mean": 0.036775, - "median": 0.031587, - "std": 0.032239, - "sem": 0.001616, + "count": 400, + "mean": 0.036904, + "median": 0.031614, + "std": 0.032302, + "sem": 0.001617, "min": 0.003244, "max": 0.443177, "recall-0.025": 0.34, "recall-0.05": 0.8225, - "recall-0.1": 0.98, - "recall-0.15": 0.99, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9825, + "recall-0.15": 0.9925, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "shoulder_right": { - "count": 399, - "mean": 0.038614, - "median": 0.031493, - "std": 0.03247, - "sem": 0.001628, + "count": 400, + "mean": 0.038642, + "median": 0.031509, + "std": 0.032435, + "sem": 0.001624, "min": 0.002905, "max": 0.276902, "recall-0.025": 0.3225, - "recall-0.05": 0.815, - "recall-0.1": 0.9575, - "recall-0.15": 0.98, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.05": 0.8175, + "recall-0.1": 0.96, + "recall-0.15": 0.9825, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "elbow_left": { - "count": 399, - "mean": 0.029102, - "median": 0.024391, - "std": 0.029221, - "sem": 0.001465, + "count": 400, + "mean": 0.029274, + "median": 0.024454, + "std": 0.029384, + "sem": 0.001471, "min": 0.003375, "max": 0.38953, "recall-0.025": 0.52, "recall-0.05": 0.93, - "recall-0.1": 0.975, - "recall-0.15": 0.9875, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.9775, + "recall-0.15": 0.99, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "elbow_right": { - "count": 399, - "mean": 0.036403, - "median": 0.028878, - "std": 0.032176, - "sem": 0.001613, + "count": 400, + "mean": 0.036488, + "median": 0.02897, + "std": 0.032181, + "sem": 0.001611, "min": 0.00479, "max": 0.324817, "recall-0.025": 0.4075, "recall-0.05": 0.83, - "recall-0.1": 0.965, - "recall-0.15": 0.985, - "recall-0.25": 0.99, - "recall-0.5": 0.9975, + "recall-0.1": 0.9675, + "recall-0.15": 0.9875, + "recall-0.25": 0.9925, + "recall-0.5": 1.0, "num_labels": 400 }, "wrist_left": { - "count": 399, - "mean": 0.035863, - "median": 0.027169, - "std": 0.031843, - "sem": 0.001596, + "count": 400, + "mean": 0.035955, + "median": 0.027174, + "std": 0.031856, + "sem": 0.001595, "min": 0.002868, "max": 0.283793, "recall-0.025": 0.45, "recall-0.05": 0.835, - "recall-0.1": 0.9525, - "recall-0.15": 0.9825, - "recall-0.25": 0.9925, - "recall-0.5": 0.9975, + "recall-0.1": 0.955, + "recall-0.15": 0.985, + "recall-0.25": 0.995, + "recall-0.5": 1.0, "num_labels": 400 }, "wrist_right": { - "count": 398, - "mean": 0.04469, - "median": 0.02742, - "std": 0.051664, - "sem": 0.002593, + "count": 399, + "mean": 0.044852, + "median": 0.027452, + "std": 0.051701, + "sem": 0.002592, "min": 0.002935, "max": 0.45148, "recall-0.025": 0.435, "recall-0.05": 0.7575, "recall-0.1": 0.9025, - "recall-0.15": 0.945, - "recall-0.25": 0.985, - "recall-0.5": 0.995, + "recall-0.15": 0.9475, + "recall-0.25": 0.9875, + "recall-0.5": 0.9975, "num_labels": 400 }, "hip_left": { - "count": 399, - "mean": 0.045965, - "median": 0.038335, - "std": 0.028662, - "sem": 0.001437, + "count": 400, + "mean": 0.046085, + "median": 0.038349, + "std": 0.028727, + "sem": 0.001438, "min": 0.006071, "max": 0.165726, "recall-0.025": 0.2475, "recall-0.05": 0.675, - "recall-0.1": 0.9475, - "recall-0.15": 0.995, - "recall-0.25": 0.9975, - "recall-0.5": 0.9975, + "recall-0.1": 0.95, + "recall-0.15": 0.9975, + "recall-0.25": 1.0, + "recall-0.5": 1.0, "num_labels": 400 }, "hip_right": { - "count": 399, - "mean": 0.051312, - "median": 0.037656, - "std": 0.042706, - "sem": 0.002141, + "count": 400, + "mean": 0.051407, + "median": 0.03767, + "std": 0.042695, + "sem": 0.002137, "min": 0.002339, "max": 0.26692, "recall-0.025": 0.2575, "recall-0.05": 0.6675, - "recall-0.1": 0.8725, - "recall-0.15": 0.945, - "recall-0.25": 0.995, - "recall-0.5": 0.9975, + "recall-0.1": 0.875, + "recall-0.15": 0.9475, + "recall-0.25": 0.9975, + "recall-0.5": 1.0, "num_labels": 400 }, "knee_left": { - "count": 399, - "mean": 0.041604, - "median": 0.026238, - "std": 0.054874, - "sem": 0.002751, + "count": 400, + "mean": 0.041769, + "median": 0.02624, + "std": 0.054904, + "sem": 0.002749, "min": 0.002518, "max": 0.460411, "recall-0.025": 0.4725, "recall-0.05": 0.83, "recall-0.1": 0.935, - "recall-0.15": 0.955, - "recall-0.25": 0.9875, - "recall-0.5": 0.9975, + "recall-0.15": 0.9575, + "recall-0.25": 0.99, + "recall-0.5": 1.0, "num_labels": 400 }, "knee_right": { - "count": 393, - "mean": 0.050549, - "median": 0.02574, - "std": 0.086051, - "sem": 0.004346, + "count": 394, + "mean": 0.050653, + "median": 0.025753, + "std": 0.085967, + "sem": 0.004336, "min": 0.001908, "max": 0.491857, "recall-0.025": 0.4775, "recall-0.05": 0.7925, - "recall-0.1": 0.905, - "recall-0.15": 0.9175, - "recall-0.25": 0.9275, - "recall-0.5": 0.9825, + "recall-0.1": 0.9075, + "recall-0.15": 0.92, + "recall-0.25": 0.93, + "recall-0.5": 0.985, "num_labels": 400 }, "ankle_left": { - "count": 393, - "mean": 0.045179, - "median": 0.025352, - "std": 0.06552, - "sem": 0.003309, + "count": 394, + "mean": 0.045864, + "median": 0.025435, + "std": 0.066629, + "sem": 0.003361, "min": 0.001894, - "max": 0.472042, + "max": 0.471595, "recall-0.025": 0.4825, "recall-0.05": 0.7725, "recall-0.1": 0.9025, "recall-0.15": 0.9375, "recall-0.25": 0.9525, - "recall-0.5": 0.9825, + "recall-0.5": 0.985, "num_labels": 400 }, "ankle_right": { - "count": 379, - "mean": 0.071374, - "median": 0.030655, - "std": 0.10233, - "sem": 0.005263, + "count": 380, + "mean": 0.072469, + "median": 0.030738, + "std": 0.103524, + "sem": 0.005318, "min": 0.003144, "max": 0.481312, "recall-0.025": 0.39, "recall-0.05": 0.65, - "recall-0.1": 0.78, - "recall-0.15": 0.8075, + "recall-0.1": 0.7775, + "recall-0.15": 0.805, "recall-0.25": 0.8775, - "recall-0.5": 0.9475, + "recall-0.5": 0.95, "num_labels": 400 }, "joint_recalls": { "num_labels": 5200, "recall-0.025": 0.38654, - "recall-0.05": 0.77692, - "recall-0.1": 0.92654, - "recall-0.15": 0.95481, - "recall-0.25": 0.975, - "recall-0.5": 0.99115 + "recall-0.05": 0.77712, + "recall-0.1": 0.92808, + "recall-0.15": 0.95673, + "recall-0.25": 0.97712, + "recall-0.5": 0.99365 } } { "total_parts": 5600, - "correct_parts": 5443, - "pcp": 0.971964 + "correct_parts": 5457, + "pcp": 0.974464 } ``` @@ -6272,26 +6287,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.27129, - "demosaicing": 0.011134, - "avg_time_2d": 0.0239827, - "avg_time_3d": 0.000251315, - "fps": 28.2742 + "img_loading": 0.278285, + "demosaicing": 0.0110585, + "avg_time_2d": 0.0239786, + "avg_time_3d": 0.000251731, + "time_tracks": 9.95126e-07, + "fps": 28.3367 } { "triangulator_calls": 121, - "init_time": 4.36192e-06, - "undistort_time": 1.91289e-05, - "project_time": 4.35951e-06, - "match_time": 1.33109e-05, - "pairs_time": 1.08011e-05, - "pair_scoring_time": 6.10657e-05, - "grouping_time": 1.82683e-05, - "full_time": 6.92329e-05, - "merge_time": 3.33679e-05, - "post_time": 8.43239e-06, - "convert_time": 1.34463e-07, - "total_time": 0.0002427 + "init_time": 3.60429e-06, + "undistort_time": 1.8677e-05, + "project_time": 3.7664e-06, + "match_time": 1.28861e-05, + "pairs_time": 9.90012e-06, + "pair_scoring_time": 6.27622e-05, + "grouping_time": 1.80751e-05, + "full_time": 7.07869e-05, + "merge_time": 3.37148e-05, + "post_time": 8.32524e-06, + "convert_time": 1.54793e-07, + "total_time": 0.000242887 } { "person_nums": { @@ -6559,26 +6575,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.289362, - "demosaicing": 0.0124074, - "avg_time_2d": 0.0289188, - "avg_time_3d": 0.000433233, - "fps": 23.9467 + "img_loading": 0.299902, + "demosaicing": 0.0126655, + "avg_time_2d": 0.0290299, + "avg_time_3d": 0.000444933, + "time_tracks": 2.21974e-06, + "fps": 23.729 } { "triangulator_calls": 166, - "init_time": 4.16021e-06, - "undistort_time": 2.56551e-05, - "project_time": 5.68555e-06, - "match_time": 2.32618e-05, - "pairs_time": 2.42754e-05, - "pair_scoring_time": 0.000107763, - "grouping_time": 3.59843e-05, - "full_time": 0.000123872, - "merge_time": 5.7993e-05, - "post_time": 9.86665e-06, - "convert_time": 1.82283e-07, - "total_time": 0.000418932 + "init_time": 4.89887e-06, + "undistort_time": 2.5718e-05, + "project_time": 6.0061e-06, + "match_time": 2.35875e-05, + "pairs_time": 2.54117e-05, + "pair_scoring_time": 0.000109867, + "grouping_time": 3.66523e-05, + "full_time": 0.00012651, + "merge_time": 5.94845e-05, + "post_time": 1.05036e-05, + "convert_time": 2.23861e-07, + "total_time": 0.000429098 } { "person_nums": { @@ -6846,63 +6863,64 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.289758, - "demosaicing": 0.0111053, - "avg_time_2d": 0.0281809, - "avg_time_3d": 0.000408797, - "fps": 25.1921 + "img_loading": 0.292579, + "demosaicing": 0.0110868, + "avg_time_2d": 0.0281903, + "avg_time_3d": 0.000412008, + "time_tracks": 2.30442e-06, + "fps": 25.1944 } { "triangulator_calls": 110, - "init_time": 3.86123e-06, - "undistort_time": 2.4674e-05, - "project_time": 5.17193e-06, - "match_time": 2.30387e-05, - "pairs_time": 2.23814e-05, - "pair_scoring_time": 0.000108471, - "grouping_time": 5.07816e-05, - "full_time": 0.000101998, - "merge_time": 4.58232e-05, - "post_time": 9.98878e-06, - "convert_time": 1.80464e-07, - "total_time": 0.000396605 + "init_time": 4.04995e-06, + "undistort_time": 2.45463e-05, + "project_time": 5.12282e-06, + "match_time": 2.29104e-05, + "pairs_time": 2.32846e-05, + "pair_scoring_time": 0.00010895, + "grouping_time": 5.09008e-05, + "full_time": 0.000103292, + "merge_time": 4.60682e-05, + "post_time": 1.02196e-05, + "convert_time": 2.05991e-07, + "total_time": 0.000399788 } { "person_nums": { "total_frames": 110, "total_labels": 330, - "total_preds": 438, + "total_preds": 440, "considered_empty": 0, "valid_preds": 330, - "invalid_preds": 108, + "invalid_preds": 110, "missing": 0, - "invalid_fraction": 0.24658, - "precision": 0.75342, + "invalid_fraction": 0.25, + "precision": 0.75, "recall": 1.0, - "f1": 0.85938, - "non_empty": 438 + "f1": 0.85714, + "non_empty": 440 }, "mpjpe": { "count": 330, - "mean": 0.040713, - "median": 0.036776, - "std": 0.015671, - "sem": 0.000864, + "mean": 0.040993, + "median": 0.037063, + "std": 0.01607, + "sem": 0.000886, "min": 0.018223, "max": 0.119589, - "recall-0.025": 0.1, - "recall-0.05": 0.775758, + "recall-0.025": 0.09697, + "recall-0.05": 0.772727, "recall-0.1": 0.993939, "recall-0.15": 1.0, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 330, - "ap-0.025": 0.01168, - "ap-0.05": 0.514216, - "ap-0.1": 0.756307, - "ap-0.15": 0.765149, - "ap-0.25": 0.765149, - "ap-0.5": 0.765149 + "ap-0.025": 0.011594, + "ap-0.05": 0.506581, + "ap-0.1": 0.752409, + "ap-0.15": 0.761225, + "ap-0.25": 0.761225, + "ap-0.5": 0.761225 }, "head": { "count": 330, @@ -6986,16 +7004,16 @@ Results of the model in various experiments on different datasets. \ }, "wrist_left": { "count": 329, - "mean": 0.046373, + "mean": 0.046821, "median": 0.039868, - "std": 0.031237, - "sem": 0.001725, + "std": 0.032923, + "sem": 0.001818, "min": 0.00411, "max": 0.2482, "recall-0.025": 0.248485, "recall-0.05": 0.624242, - "recall-0.1": 0.939394, - "recall-0.15": 0.984848, + "recall-0.1": 0.936364, + "recall-0.15": 0.981818, "recall-0.25": 0.99697, "recall-0.5": 0.99697, "num_labels": 330 @@ -7082,50 +7100,50 @@ Results of the model in various experiments on different datasets. \ }, "ankle_left": { "count": 330, - "mean": 0.030999, - "median": 0.025737, - "std": 0.022585, - "sem": 0.001245, + "mean": 0.032268, + "median": 0.025961, + "std": 0.029146, + "sem": 0.001607, "min": 0.002088, - "max": 0.150282, - "recall-0.025": 0.481818, - "recall-0.05": 0.845455, - "recall-0.1": 0.978788, - "recall-0.15": 0.99697, - "recall-0.25": 1.0, + "max": 0.347129, + "recall-0.025": 0.478788, + "recall-0.05": 0.842424, + "recall-0.1": 0.972727, + "recall-0.15": 0.993939, + "recall-0.25": 0.99697, "recall-0.5": 1.0, "num_labels": 330 }, "ankle_right": { "count": 330, - "mean": 0.029339, - "median": 0.024413, - "std": 0.020731, - "sem": 0.001143, + "mean": 0.031267, + "median": 0.024535, + "std": 0.030339, + "sem": 0.001673, "min": 0.000855, - "max": 0.144116, - "recall-0.025": 0.509091, - "recall-0.05": 0.881818, - "recall-0.1": 0.984848, - "recall-0.15": 1.0, - "recall-0.25": 1.0, + "max": 0.35043, + "recall-0.025": 0.506061, + "recall-0.05": 0.872727, + "recall-0.1": 0.978788, + "recall-0.15": 0.990909, + "recall-0.25": 0.99697, "recall-0.5": 1.0, "num_labels": 330 }, "joint_recalls": { "num_labels": 4290, - "recall-0.025": 0.29534, - "recall-0.05": 0.71935, - "recall-0.1": 0.96667, - "recall-0.15": 0.99557, - "recall-0.25": 0.99953, + "recall-0.025": 0.2951, + "recall-0.05": 0.71818, + "recall-0.1": 0.9655, + "recall-0.15": 0.99394, + "recall-0.25": 0.99907, "recall-0.5": 0.99977 } } { "total_parts": 4620, - "correct_parts": 4603, - "pcp": 0.99632 + "correct_parts": 4600, + "pcp": 0.995671 } ``` @@ -7133,286 +7151,287 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.421536, - "demosaicing": 0.0177444, - "avg_time_2d": 0.0511469, - "avg_time_3d": 0.000936227, - "fps": 14.321 + "img_loading": 0.432763, + "demosaicing": 0.0178295, + "avg_time_2d": 0.0512937, + "avg_time_3d": 0.000928159, + "time_tracks": 3.54476e-06, + "fps": 14.2745 } { "triangulator_calls": 121, - "init_time": 6.53029e-06, - "undistort_time": 5.17806e-05, - "project_time": 9.25822e-06, - "match_time": 3.9928e-05, - "pairs_time": 7.50967e-05, - "pair_scoring_time": 0.000313612, - "grouping_time": 0.000149834, - "full_time": 0.000180932, - "merge_time": 7.94846e-05, - "post_time": 1.11279e-05, - "convert_time": 2.07289e-07, - "total_time": 0.000918031 + "init_time": 6.75621e-06, + "undistort_time": 5.12374e-05, + "project_time": 8.89762e-06, + "match_time": 3.95005e-05, + "pairs_time": 7.64246e-05, + "pair_scoring_time": 0.000310209, + "grouping_time": 0.000147726, + "full_time": 0.000179946, + "merge_time": 7.92803e-05, + "post_time": 1.10982e-05, + "convert_time": 2.25504e-07, + "total_time": 0.000911537 } { "person_nums": { "total_frames": 121, "total_labels": 484, - "total_preds": 498, + "total_preds": 512, "considered_empty": 0, - "valid_preds": 481, - "invalid_preds": 17, - "missing": 3, - "invalid_fraction": 0.03414, - "precision": 0.96586, - "recall": 0.9938, - "f1": 0.97963, - "non_empty": 498 + "valid_preds": 483, + "invalid_preds": 29, + "missing": 1, + "invalid_fraction": 0.05664, + "precision": 0.94336, + "recall": 0.99793, + "f1": 0.96988, + "non_empty": 512 }, "mpjpe": { - "count": 481, - "mean": 0.028894, - "median": 0.026726, - "std": 0.010134, - "sem": 0.000463, + "count": 483, + "mean": 0.029255, + "median": 0.026842, + "std": 0.011654, + "sem": 0.000531, "min": 0.013032, - "max": 0.091125, + "max": 0.138905, "recall-0.025": 0.419421, "recall-0.05": 0.952479, - "recall-0.1": 0.993802, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484, - "ap-0.025": 0.185801, - "ap-0.05": 0.891151, - "ap-0.1": 0.970027, - "ap-0.15": 0.970027, - "ap-0.25": 0.970027, - "ap-0.5": 0.970027 + "ap-0.025": 0.181675, + "ap-0.05": 0.87054, + "ap-0.1": 0.95726, + "ap-0.15": 0.959219, + "ap-0.25": 0.959219, + "ap-0.5": 0.959219 }, "head": { - "count": 481, - "mean": 0.029533, - "median": 0.024426, - "std": 0.017999, - "sem": 0.000822, + "count": 483, + "mean": 0.029729, + "median": 0.024456, + "std": 0.018244, + "sem": 0.000831, "min": 0.002947, "max": 0.102943, "recall-0.025": 0.510331, "recall-0.05": 0.855372, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "shoulder_left": { - "count": 481, - "mean": 0.029629, - "median": 0.026044, - "std": 0.017006, - "sem": 0.000776, + "count": 483, + "mean": 0.029936, + "median": 0.02615, + "std": 0.017673, + "sem": 0.000805, "min": 0.004801, - "max": 0.106701, + "max": 0.12378, "recall-0.025": 0.477273, "recall-0.05": 0.873967, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "shoulder_right": { - "count": 481, - "mean": 0.029188, - "median": 0.025237, - "std": 0.017862, - "sem": 0.000815, + "count": 483, + "mean": 0.02931, + "median": 0.025345, + "std": 0.01794, + "sem": 0.000817, "min": 0.001207, "max": 0.120782, "recall-0.025": 0.495868, - "recall-0.05": 0.873967, - "recall-0.1": 0.987603, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.05": 0.876033, + "recall-0.1": 0.991736, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "elbow_left": { - "count": 481, - "mean": 0.029569, - "median": 0.026922, - "std": 0.01566, - "sem": 0.000715, + "count": 483, + "mean": 0.029716, + "median": 0.026997, + "std": 0.015822, + "sem": 0.000721, "min": 0.002764, "max": 0.107294, "recall-0.025": 0.454545, "recall-0.05": 0.882231, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "elbow_right": { - "count": 481, - "mean": 0.030148, - "median": 0.025142, - "std": 0.019918, - "sem": 0.000909, + "count": 483, + "mean": 0.030195, + "median": 0.025171, + "std": 0.019893, + "sem": 0.000906, "min": 0.001453, "max": 0.135761, "recall-0.025": 0.495868, - "recall-0.05": 0.869835, - "recall-0.1": 0.977273, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.05": 0.873967, + "recall-0.1": 0.981405, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "wrist_left": { - "count": 481, - "mean": 0.033997, - "median": 0.028323, - "std": 0.022891, - "sem": 0.001045, + "count": 483, + "mean": 0.034414, + "median": 0.028426, + "std": 0.023744, + "sem": 0.001081, "min": 0.002816, "max": 0.208094, "recall-0.025": 0.404959, "recall-0.05": 0.822314, "recall-0.1": 0.971074, - "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "wrist_right": { - "count": 481, - "mean": 0.033888, - "median": 0.028374, - "std": 0.026695, - "sem": 0.001218, + "count": 483, + "mean": 0.034014, + "median": 0.028476, + "std": 0.026712, + "sem": 0.001217, "min": 0.00351, "max": 0.284667, "recall-0.025": 0.390496, "recall-0.05": 0.849174, - "recall-0.1": 0.97314, - "recall-0.15": 0.989669, - "recall-0.25": 0.989669, - "recall-0.5": 0.993802, + "recall-0.1": 0.977273, + "recall-0.15": 0.993802, + "recall-0.25": 0.993802, + "recall-0.5": 0.997934, "num_labels": 484 }, "hip_left": { - "count": 481, - "mean": 0.034059, - "median": 0.030974, - "std": 0.016804, - "sem": 0.000767, + "count": 483, + "mean": 0.03467, + "median": 0.031172, + "std": 0.019736, + "sem": 0.000899, "min": 0.002885, - "max": 0.112591, + "max": 0.248625, "recall-0.025": 0.305785, "recall-0.05": 0.842975, "recall-0.1": 0.989669, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "hip_right": { - "count": 481, - "mean": 0.037366, - "median": 0.032222, - "std": 0.023149, - "sem": 0.001057, + "count": 483, + "mean": 0.038046, + "median": 0.032255, + "std": 0.025653, + "sem": 0.001168, "min": 0.003771, - "max": 0.144196, + "max": 0.258232, "recall-0.025": 0.31405, "recall-0.05": 0.799587, "recall-0.1": 0.966942, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.995868, + "recall-0.5": 0.997934, "num_labels": 484 }, "knee_left": { - "count": 481, - "mean": 0.021056, - "median": 0.016878, - "std": 0.015358, - "sem": 0.000701, + "count": 483, + "mean": 0.021558, + "median": 0.017019, + "std": 0.017418, + "sem": 0.000793, "min": 0.002951, - "max": 0.18051, + "max": 0.185898, "recall-0.025": 0.721074, "recall-0.05": 0.950413, - "recall-0.1": 0.991736, - "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.993802, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "knee_right": { - "count": 481, - "mean": 0.023866, - "median": 0.019475, - "std": 0.01567, - "sem": 0.000715, + "count": 483, + "mean": 0.024245, + "median": 0.01952, + "std": 0.016893, + "sem": 0.000769, "min": 0.001804, - "max": 0.101887, + "max": 0.154682, "recall-0.025": 0.654959, "recall-0.05": 0.923554, - "recall-0.1": 0.991736, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.993802, + "recall-0.15": 0.995868, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "ankle_left": { - "count": 481, - "mean": 0.021426, - "median": 0.017845, - "std": 0.015273, - "sem": 0.000697, + "count": 483, + "mean": 0.022242, + "median": 0.017863, + "std": 0.01983, + "sem": 0.000903, "min": 0.001647, - "max": 0.158699, + "max": 0.231289, "recall-0.025": 0.714876, "recall-0.05": 0.954545, "recall-0.1": 0.987603, "recall-0.15": 0.991736, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "ankle_right": { - "count": 481, - "mean": 0.021895, - "median": 0.018026, - "std": 0.013532, - "sem": 0.000618, + "count": 483, + "mean": 0.022243, + "median": 0.018055, + "std": 0.014583, + "sem": 0.000664, "min": 0.001986, - "max": 0.090749, + "max": 0.122528, "recall-0.025": 0.708678, "recall-0.05": 0.93595, - "recall-0.1": 0.993802, - "recall-0.15": 0.993802, - "recall-0.25": 0.993802, - "recall-0.5": 0.993802, + "recall-0.1": 0.995868, + "recall-0.15": 0.997934, + "recall-0.25": 0.997934, + "recall-0.5": 0.997934, "num_labels": 484 }, "joint_recalls": { "num_labels": 6292, "recall-0.025": 0.51081, - "recall-0.05": 0.87858, - "recall-0.1": 0.98411, - "recall-0.15": 0.99285, - "recall-0.25": 0.99332, - "recall-0.5": 0.9938 + "recall-0.05": 0.87889, + "recall-0.1": 0.98665, + "recall-0.15": 0.99619, + "recall-0.25": 0.99746, + "recall-0.5": 0.99793 } } { "total_parts": 6776, - "correct_parts": 6730, - "pcp": 0.993211 + "correct_parts": 6755, + "pcp": 0.996901 } ``` @@ -7420,26 +7439,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.413332, - "demosaicing": 0.0175982, - "avg_time_2d": 0.0438098, - "avg_time_3d": 0.000727766, - "fps": 16.0938 + "img_loading": 0.425309, + "demosaicing": 0.0175828, + "avg_time_2d": 0.0439122, + "avg_time_3d": 0.000732078, + "time_tracks": 2.60839e-06, + "fps": 16.0695 } { "triangulator_calls": 183, - "init_time": 5.79021e-06, - "undistort_time": 4.21408e-05, - "project_time": 8.16923e-06, - "match_time": 3.26939e-05, - "pairs_time": 5.31224e-05, - "pair_scoring_time": 0.000196534, - "grouping_time": 7.74538e-05, - "full_time": 0.000190952, - "merge_time": 9.15214e-05, - "post_time": 1.07165e-05, - "convert_time": 2.0876e-07, - "total_time": 0.000709537 + "init_time": 5.78507e-06, + "undistort_time": 4.25049e-05, + "project_time": 8.30154e-06, + "match_time": 3.30885e-05, + "pairs_time": 5.5239e-05, + "pair_scoring_time": 0.000196453, + "grouping_time": 7.68858e-05, + "full_time": 0.000192775, + "merge_time": 9.31284e-05, + "post_time": 1.08601e-05, + "convert_time": 2.36311e-07, + "total_time": 0.000715494 } { "person_nums": { @@ -7707,26 +7727,27 @@ Results of the model in various experiments on different datasets. \ ```json { - "img_loading": 0.626226, - "demosaicing": 0.0268474, - "avg_time_2d": 0.0513508, - "avg_time_3d": 0.000611629, - "fps": 12.6888 + "img_loading": 0.671268, + "demosaicing": 0.0270076, + "avg_time_2d": 0.051466, + "avg_time_3d": 0.000617507, + "time_tracks": 1.15879e-06, + "fps": 12.6435 } { "triangulator_calls": 181, - "init_time": 7.41259e-06, - "undistort_time": 3.17885e-05, - "project_time": 7.35977e-06, - "match_time": 1.57646e-05, - "pairs_time": 2.24304e-05, - "pair_scoring_time": 0.000162925, - "grouping_time": 5.9874e-05, - "full_time": 0.000175241, - "merge_time": 8.98064e-05, - "post_time": 7.85762e-06, - "convert_time": 1.16287e-07, - "total_time": 0.000580813 + "init_time": 7.98041e-06, + "undistort_time": 3.16803e-05, + "project_time": 7.51399e-06, + "match_time": 1.58883e-05, + "pairs_time": 2.35366e-05, + "pair_scoring_time": 0.000162144, + "grouping_time": 5.94076e-05, + "full_time": 0.000175584, + "merge_time": 9.06647e-05, + "post_time": 8.08327e-06, + "convert_time": 1.40492e-07, + "total_time": 0.000582859 } { "person_nums": { diff --git a/rpt/tracker.hpp b/rpt/tracker.hpp new file mode 100644 index 0000000..d8049da --- /dev/null +++ b/rpt/tracker.hpp @@ -0,0 +1,319 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +// ================================================================================================= + +struct Track +{ + std::vector>> core_poses; + std::vector>> full_poses; + + std::vector timestamps; + size_t id; +}; + +// ================================================================================================= + +class PoseTracker +{ +public: + PoseTracker(float max_movement_speed, float max_distance); + + std::vector>>> track_poses( + const std::vector>> &poses_3d, + const std::vector &joint_names, + const double timestamp); + + void reset(); + +private: + float max_distance; + float max_movement_speed; + size_t history_size = 3; + + std::vector timestamps; + std::vector pose_tracks; + + const std::vector core_joints = { + "shoulder_left", + "shoulder_right", + "hip_left", + "hip_right", + "elbow_left", + "elbow_right", + "knee_left", + "knee_right", + "wrist_left", + "wrist_right", + "ankle_left", + "ankle_right", + }; + + std::tuple match_to_track(const std::vector> &core_pose_3d); + + std::vector> refine_pose(const Track &track); +}; + +// ================================================================================================= +// ================================================================================================= + +PoseTracker::PoseTracker(float max_movement_speed, float max_distance) +{ + this->max_movement_speed = max_movement_speed; + this->max_distance = max_distance; +} + +// ================================================================================================= + +void PoseTracker::reset() +{ + pose_tracks.clear(); + timestamps.clear(); +} + +// ================================================================================================= + +std::vector>>> PoseTracker::track_poses( + const std::vector>> &poses_3d, + const std::vector &joint_names, + const double timestamp) +{ + // Extract core joints + std::vector core_joint_idx; + for (const auto &joint : core_joints) + { + auto it = std::find(joint_names.begin(), joint_names.end(), joint); + core_joint_idx.push_back(std::distance(joint_names.begin(), it)); + } + std::vector>> core_poses; + core_poses.resize(poses_3d.size()); + for (size_t i = 0; i < poses_3d.size(); ++i) + { + core_poses[i].resize(core_joint_idx.size()); + for (size_t j = 0; j < core_joint_idx.size(); ++j) + { + for (size_t k = 0; k < 4; ++k) + { + core_poses[i][j][k] = poses_3d[i][core_joint_idx[j]][k]; + } + } + } + + // Match core poses to tracks + std::vector> matches; + for (size_t i = 0; i < core_poses.size(); ++i) + { + auto [track_idx, distance_sq] = match_to_track(core_poses[i]); + matches.emplace_back(i, track_idx, distance_sq); + } + std::sort(matches.begin(), matches.end(), + [](const auto &a, const auto &b) + { return std::get<2>(a) < std::get<2>(b); }); + + // If track is matched multiple times, only add the best and create new tracks for the rest + std::vector used(pose_tracks.size(), false); + for (size_t i = 0; i < matches.size(); ++i) + { + auto [pose_idx, track_idx, distance_sq] = matches[i]; + if (track_idx != -1 && !used[track_idx]) + { + used[track_idx] = true; + } + else + { + std::get<1>(matches[i]) = -1; + } + } + + // Update tracks + for (size_t i = 0; i < matches.size(); ++i) + { + auto [pose_idx, track_idx, distance_sq] = matches[i]; + if (track_idx == -1) + { + // Create a new track + Track new_track; + new_track.core_poses.push_back(core_poses[pose_idx]); + new_track.full_poses.push_back(poses_3d[pose_idx]); + new_track.timestamps.push_back(timestamp); + new_track.id = pose_tracks.size(); + pose_tracks.push_back(new_track); + } + else + { + // Update existing track + auto &track = pose_tracks[track_idx]; + track.core_poses.push_back(core_poses[pose_idx]); + track.full_poses.push_back(poses_3d[pose_idx]); + track.timestamps.push_back(timestamp); + } + } + + // Remove old tracks + timestamps.push_back(timestamp); + if (timestamps.size() > history_size) + { + timestamps.erase(timestamps.begin()); + } + double max_age = timestamps.front(); + for (size_t i = 0; i < pose_tracks.size();) + { + auto &track = pose_tracks[i]; + double last_timestamp = track.timestamps.back(); + if (last_timestamp < max_age) + { + pose_tracks.erase(pose_tracks.begin() + i); + } + else + { + ++i; + } + } + + // Remove old poses from tracks + for (auto &track : pose_tracks) + { + while (track.core_poses.size() > history_size) + { + track.core_poses.erase(track.core_poses.begin()); + track.full_poses.erase(track.full_poses.begin()); + track.timestamps.erase(track.timestamps.begin()); + } + } + + // Refine poses + std::vector>>> tracked_poses; + for (size_t i = 0; i < pose_tracks.size(); ++i) + { + auto &track = pose_tracks[i]; + if (track.core_poses.size() > 0) + { + std::vector> refined_pose = refine_pose(track); + tracked_poses.emplace_back(track.id, refined_pose); + } + } + + return tracked_poses; +} + +// ================================================================================================= + +std::tuple PoseTracker::match_to_track(const std::vector> &core_pose_3d) +{ + int best_track = -1; + float best_distance_sq = max_distance * max_distance; + + for (size_t i = 0; i < pose_tracks.size(); ++i) + { + const auto &track = pose_tracks[i]; + if (track.core_poses.size() == 0) + { + continue; + } + + // Calculate distance to the last pose in the track + const auto &last_pose = track.core_poses.back(); + float distance_sq = 0.0; + for (size_t j = 0; j < core_pose_3d.size(); ++j) + { + float dx = core_pose_3d[j][0] - last_pose[j][0]; + float dy = core_pose_3d[j][1] - last_pose[j][1]; + float dz = core_pose_3d[j][2] - last_pose[j][2]; + distance_sq += dx * dx + dy * dy + dz * dz; + } + distance_sq /= core_pose_3d.size(); + + if (distance_sq < best_distance_sq) + { + best_distance_sq = distance_sq; + best_track = static_cast(i); + } + } + + return {best_track, best_distance_sq}; +} + +// ================================================================================================= + +std::vector> PoseTracker::refine_pose(const Track &track) +{ + // Restrict maximum movement by physical constraints, by clipping the pose to the maximum + // movement distance from one of the track's history poses + // + // While advanced sensor filtering techniques, like using a Kalman-Filter, might improve the + // average accuracy of the pose, they introduce update delays on fast movement changes. For + // example, if a person stands still for a while and then suddenly moves, the first few frames + // will likely be treated as outliers, since the filter will not be able to adapt fast enough. + // This behaviour is not desired in a real-time critical applications, where the pose needs to + // be updated to the real physical position of the person as fast as possible. Therefore, only + // the movement speed is limited here. + + if (track.core_poses.size() < 2) + { + return track.full_poses.back(); + } + + // Calculate maximum possible movement distance from each history pose + std::vector max_movement_dists_sq; + max_movement_dists_sq.resize(track.core_poses.size() - 1); + double last_timestamp = track.timestamps.back(); + for (size_t i = 0; i < track.core_poses.size() - 1; ++i) + { + double ts = track.timestamps[i]; + float max_movement = max_movement_speed * (last_timestamp - ts); + max_movement_dists_sq[i] = max_movement * max_movement; + } + + // Clip joint if required + std::vector> refined_pose = track.full_poses.back(); + for (size_t i = 0; i < refined_pose.size(); ++i) + { + float min_dist_sq = std::numeric_limits::infinity(); + size_t closest_idx = 0; + bool clip = true; + + for (size_t j = 0; j < max_movement_dists_sq.size(); ++j) + { + + float dx = refined_pose[i][0] - track.full_poses[j][i][0]; + float dy = refined_pose[i][1] - track.full_poses[j][i][1]; + float dz = refined_pose[i][2] - track.full_poses[j][i][2]; + float dist_sq = dx * dx + dy * dy + dz * dz; + if (dist_sq < min_dist_sq) + { + min_dist_sq = dist_sq; + closest_idx = j; + } + if (dist_sq <= max_movement_dists_sq[j]) + { + clip = false; + break; + } + } + + if (clip) + { + float dist_sq = min_dist_sq; + float scale = max_movement_dists_sq[closest_idx] / dist_sq; + + float dx = refined_pose[i][0] - track.full_poses[closest_idx][i][0]; + float dy = refined_pose[i][1] - track.full_poses[closest_idx][i][1]; + float dz = refined_pose[i][2] - track.full_poses[closest_idx][i][2]; + refined_pose[i][0] = track.full_poses[closest_idx][i][0] + dx * scale; + refined_pose[i][1] = track.full_poses[closest_idx][i][1] + dy * scale; + refined_pose[i][2] = track.full_poses[closest_idx][i][2] + dz * scale; + + // Set confidence to a low value if the joint is clipped + refined_pose[i][3] = 0.1; + } + } + + return refined_pose; +} diff --git a/scripts/test_skelda_dataset.cpp b/scripts/test_skelda_dataset.cpp index 37b8626..e93ce50 100644 --- a/scripts/test_skelda_dataset.cpp +++ b/scripts/test_skelda_dataset.cpp @@ -17,6 +17,7 @@ using json = nlohmann::json; #include "/RapidPoseTriangulation/rpt/camera.hpp" #include "/RapidPoseTriangulation/rpt/interface.hpp" +#include "/RapidPoseTriangulation/rpt/tracker.hpp" #include "/RapidPoseTriangulation/scripts/utils_2d_pose.hpp" #include "/RapidPoseTriangulation/scripts/utils_pipeline.hpp" @@ -121,6 +122,9 @@ int main(int argc, char **argv) const float min_match_score = config["min_match_score"]; const size_t min_group_size = config["min_group_size"]; const int take_interval = config["take_interval"]; + const float ifps = config["fps"]; + const float max_movement_speed = config["max_movement_speed"]; + const float max_track_distance = config["max_track_distance"]; // Load 2D model bool use_wb = utils_pipeline::use_whole_body(whole_body); @@ -128,9 +132,11 @@ int main(int argc, char **argv) std::make_unique( use_wb, min_bbox_score, min_bbox_area, batch_poses); - // Load 3D model + // Load 3D models std::unique_ptr tri_model = std::make_unique( min_match_score, min_group_size); + std::unique_ptr pose_tracker = std::make_unique( + max_movement_speed, max_track_distance); // Timers size_t time_count = dataset.size(); @@ -138,10 +144,12 @@ int main(int argc, char **argv) std::vector times_debayer; std::vector times_pose2d; std::vector times_pose3d; + std::vector times_tracks; times_image.reserve(time_count); times_debayer.reserve(time_count); times_pose2d.reserve(time_count); times_pose3d.reserve(time_count); + times_tracks.reserve(time_count); size_t print_steps = (size_t)std::floor((float)time_count / 100.0f); print_steps = std::max((size_t)1, print_steps); @@ -214,6 +222,7 @@ int main(int argc, char **argv) { // Reset last poses if scene changes tri_model->reset(); + pose_tracker->reset(); old_scene = item["scene"]; } @@ -241,6 +250,27 @@ int main(int argc, char **argv) elapsed = std::chrono::high_resolution_clock::now() - stime; times_pose3d.push_back(elapsed.count()); + if (ifps <= 0) + { + // Disable pose tracking if frame rate is too low + times_tracks.push_back(0.0); + } + else + { + stime = std::chrono::high_resolution_clock::now(); + double ts = ((int)item["index"]) / ifps; + auto pose_tracks = pose_tracker->track_poses(poses_3d, joint_names_2d, ts); + std::vector>> poses_3d_refined; + for (size_t j = 0; j < pose_tracks.size(); j++) + { + auto &pose = std::get<1>(pose_tracks[j]); + poses_3d_refined.push_back(pose); + } + poses_3d = poses_3d_refined; + elapsed = std::chrono::high_resolution_clock::now() - stime; + times_tracks.push_back(elapsed.count()); + } + all_poses_3d.push_back(std::move(poses_3d)); all_ids.push_back(item["id"].get()); old_id = item["index"]; @@ -254,23 +284,27 @@ int main(int argc, char **argv) double time_debayer = 0.0; double time_pose2d = 0.0; double time_pose3d = 0.0; + double time_tracks = 0.0; for (size_t i = warmup; i < time_count; i++) { time_image += times_image[i]; time_debayer += times_debayer[i]; time_pose2d += times_pose2d[i]; time_pose3d += times_pose3d[i]; + time_tracks += times_tracks[i]; } double avg_time_image = time_image / (time_count - warmup); double avg_time_debayer = time_debayer / (time_count - warmup); double avg_time_pose2d = time_pose2d / (time_count - warmup); double avg_time_pose3d = time_pose3d / (time_count - warmup); - double fps = 1.0 / (avg_time_debayer + avg_time_pose2d + avg_time_pose3d); + double avg_time_tracks = time_tracks / (time_count - warmup); + double fps = 1.0 / (avg_time_debayer + avg_time_pose2d + avg_time_pose3d + avg_time_tracks); std::cout << "{\n" << " \"img_loading\": " << avg_time_image << ",\n" << " \"demosaicing\": " << avg_time_debayer << ",\n" << " \"avg_time_2d\": " << avg_time_pose2d << ",\n" << " \"avg_time_3d\": " << avg_time_pose3d << ",\n" + << " \"time_tracks\": " << avg_time_tracks << ",\n" << " \"fps\": " << fps << "\n" << "}" << std::endl; tri_model->print_stats(); diff --git a/scripts/test_skelda_dataset.py b/scripts/test_skelda_dataset.py index d184f23..688bb52 100644 --- a/scripts/test_skelda_dataset.py +++ b/scripts/test_skelda_dataset.py @@ -51,15 +51,27 @@ default_min_group_size = 1 # If most of the time only one person is in a image, disable it, because it is slightly slower then default_batch_poses = True +# Approach speed of EN ISO 13855 with 2000 mm/sec for hand speed +# and an additional factor to compensate for noise-based jumps +default_max_movement_speed = 2.0 * 1.5 + +# The size of an A4 sheet of paper which is assumed to fit between two different persons +# and additionally the distance a person can move between two frames (here at 10 fps) +default_max_track_distance = 0.3 + default_max_movement_speed / 10 + + datasets = { "human36m": { "path": "/datasets/human36m/skelda/pose_test.json", "take_interval": 5, + "fps": 50, "min_match_score": 0.95, "min_group_size": 1, "min_bbox_score": 0.4, "min_bbox_area": 0.1 * 0.1, "batch_poses": False, + "max_movement_speed": 2.0 * 1.5, + "max_track_distance": 0.3 + default_max_movement_speed / (50 / 5), }, "panoptic": { "path": "/datasets/panoptic/skelda/test.json", @@ -69,6 +81,7 @@ datasets = { # "cams": ["00_03", "00_06", "00_12", "00_13", "00_23", "00_15", "00_10", "00_21", "00_09", "00_01"], # "cams": [], "take_interval": 3, + "fps": 30, "min_match_score": 0.95, "use_scenes": ["160906_pizza1", "160422_haggling1", "160906_ian5"], "min_group_size": 1, @@ -77,101 +90,132 @@ datasets = { # "min_group_size": 2, # "min_group_size": 11, "min_bbox_area": 0.05 * 0.05, + "max_track_distance": 0.3 + default_max_movement_speed / (30 / 3), }, "mvor": { "path": "/datasets/mvor/skelda/all.json", "take_interval": 1, + "fps": -1, "min_match_score": 0.81, "min_bbox_score": 0.25, }, "campus": { "path": "/datasets/campus/skelda/test.json", + "fps": 25, "take_interval": 1, "min_match_score": 0.91, "min_bbox_score": 0.5, + "max_track_distance": 0.3 + default_max_movement_speed / 25, }, "shelf": { "path": "/datasets/shelf/skelda/test.json", "take_interval": 1, + "fps": 25, "min_match_score": 0.95, "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / 25, }, "ikeaasm": { "path": "/datasets/ikeaasm/skelda/test.json", "take_interval": 2, + "fps": -1, "min_match_score": 0.81, "min_bbox_score": 0.20, }, "chi3d": { "path": "/datasets/chi3d/skelda/all.json", "take_interval": 5, + "fps": 50, + "max_track_distance": 0.3 + default_max_movement_speed / (50 / 5), }, "tsinghua": { "path": "/datasets/tsinghua/skelda/test.json", "take_interval": 3, + "fps": 30, "min_match_score": 0.95, "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / (30 / 3), }, "human36m_wb": { "path": "/datasets/human36m/skelda/wb/test.json", "take_interval": 100, + "fps": -1, "min_bbox_score": 0.4, "batch_poses": False, }, "egohumans_tagging": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "tagging", "min_match_score": 0.89, "min_group_size": 1, "min_bbox_score": 0.2, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_legoassemble": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "legoassemble", "min_group_size": 2, + "max_track_distance": 0.3 + default_max_movement_speed / (20 / 2), }, "egohumans_fencing": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "fencing", "min_group_size": 7, "min_bbox_score": 0.5, "min_bbox_area": 0.05 * 0.05, + "max_track_distance": 0.3 + default_max_movement_speed / (20 / 2), }, "egohumans_basketball": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "basketball", "min_group_size": 4, "min_bbox_score": 0.25, "min_bbox_area": 0.025 * 0.025, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_volleyball": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "volleyball", "min_match_score": 0.95, "min_group_size": 7, "min_bbox_score": 0.25, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_badminton": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "badminton", "min_group_size": 7, "min_bbox_score": 0.25, "min_bbox_area": 0.05 * 0.05, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, "egohumans_tennis": { "path": "/datasets/egohumans/skelda/all.json", "take_interval": 2, + "fps": 20, "subset": "tennis", "min_group_size": 11, "min_bbox_area": 0.025 * 0.025, + "max_movement_speed": 4.0 * 1.5, + "max_track_distance": 0.3 + (4.0 * 1.5) / (20 / 2), }, } @@ -338,6 +382,12 @@ def main(): min_bbox_score = datasets[dataset_use].get("min_bbox_score", default_min_bbox_score) min_bbox_area = datasets[dataset_use].get("min_bbox_area", default_min_bbox_area) batch_poses = datasets[dataset_use].get("batch_poses", default_batch_poses) + max_movement_speed = datasets[dataset_use].get( + "max_movement_speed", default_max_movement_speed + ) + max_track_distance = datasets[dataset_use].get( + "max_track_distance", default_max_track_distance + ) # Save config config_path = tmp_export_dir + "config.json" @@ -347,8 +397,11 @@ def main(): "min_bbox_score": min_bbox_score, "min_bbox_area": min_bbox_area, "batch_poses": batch_poses, + "max_movement_speed": max_movement_speed, + "max_track_distance": max_track_distance, "whole_body": whole_body, "take_interval": datasets[dataset_use]["take_interval"], + "fps": datasets[dataset_use]["fps"], } utils_pipeline.save_json(config, config_path) diff --git a/scripts/test_triangulate.py b/scripts/test_triangulate.py index 04c3885..207ac84 100644 --- a/scripts/test_triangulate.py +++ b/scripts/test_triangulate.py @@ -26,6 +26,9 @@ config = { "batch_poses": True, "whole_body": whole_body, "take_interval": 1, + "fps": -1, + "max_movement_speed": 0, + "max_track_distance": 0, } joint_names_2d = utils_pipeline.get_joint_names(whole_body)