From c8c48e4bf23e1f8feb8cdd1c88b1f35423435604 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 2 Dec 2024 13:50:35 +0100 Subject: [PATCH] Using TensorRT backend. --- media/RESULTS.md | 282 +++++++++++++++++------------------ scripts/utils_2d_pose_ort.py | 13 +- 2 files changed, 149 insertions(+), 146 deletions(-) diff --git a/media/RESULTS.md b/media/RESULTS.md index af23192..0e7e5ae 100644 --- a/media/RESULTS.md +++ b/media/RESULTS.md @@ -6,9 +6,9 @@ Results of the model in various experiments on different datasets. ```json { - "avg_time_2d": 0.027316828905525854, - "avg_time_3d": 0.0004260645074359441, - "avg_fps": 36.04526698476189 + "avg_time_2d": 0.019079747846571064, + "avg_time_3d": 0.0003823995590209961, + "avg_fps": 51.381791492991674 } { "person_nums": { @@ -27,248 +27,248 @@ Results of the model in various experiments on different datasets. }, "mpjpe": { "count": 600, - "mean": 0.067549, - "median": 0.059367, - "std": 0.027836, + "mean": 0.067471, + "median": 0.059656, + "std": 0.027837, "sem": 0.001137, - "min": 0.044839, - "max": 0.190705, + "min": 0.04161, + "max": 0.191019, "recall-0.025": 0.0, - "recall-0.05": 0.046667, + "recall-0.05": 0.045, "recall-0.1": 0.93, "recall-0.15": 0.95, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600, "ap-0.025": 0.0, - "ap-0.05": 0.004947, - "ap-0.1": 0.890901, - "ap-0.15": 0.915998, + "ap-0.05": 0.005008, + "ap-0.1": 0.890421, + "ap-0.15": 0.915856, "ap-0.25": 1.0, "ap-0.5": 1.0 }, "nose": { "count": 600, - "mean": 0.116488, - "median": 0.100674, - "std": 0.042049, - "sem": 0.001718, - "min": 0.037604, - "max": 0.277341, - "recall-0.025": 0.0, - "recall-0.05": 0.008333, - "recall-0.1": 0.493333, - "recall-0.15": 0.82, - "recall-0.25": 0.991667, + "mean": 0.116291, + "median": 0.101326, + "std": 0.04236, + "sem": 0.001731, + "min": 0.021073, + "max": 0.288626, + "recall-0.025": 0.001667, + "recall-0.05": 0.006667, + "recall-0.1": 0.491667, + "recall-0.15": 0.821667, + "recall-0.25": 0.99, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_left": { "count": 600, - "mean": 0.03369, - "median": 0.025989, - "std": 0.031823, + "mean": 0.033847, + "median": 0.025987, + "std": 0.031824, "sem": 0.0013, - "min": 0.001966, - "max": 0.182109, - "recall-0.025": 0.476667, + "min": 0.002728, + "max": 0.181894, + "recall-0.025": 0.466667, "recall-0.05": 0.866667, "recall-0.1": 0.948333, - "recall-0.15": 0.966667, + "recall-0.15": 0.968333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "shoulder_right": { "count": 600, - "mean": 0.048891, - "median": 0.034053, - "std": 0.042652, - "sem": 0.001743, - "min": 0.004714, - "max": 0.251305, - "recall-0.025": 0.238333, - "recall-0.05": 0.756667, - "recall-0.1": 0.901667, - "recall-0.15": 0.943333, + "mean": 0.04973, + "median": 0.034604, + "std": 0.044052, + "sem": 0.0018, + "min": 0.00395, + "max": 0.256048, + "recall-0.025": 0.211667, + "recall-0.05": 0.753333, + "recall-0.1": 0.906667, + "recall-0.15": 0.936667, "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_left": { "count": 600, - "mean": 0.043307, - "median": 0.034999, - "std": 0.034727, - "sem": 0.001419, - "min": 0.001548, - "max": 0.196855, - "recall-0.025": 0.253333, - "recall-0.05": 0.808333, - "recall-0.1": 0.945, - "recall-0.15": 0.953333, + "mean": 0.042919, + "median": 0.035054, + "std": 0.034438, + "sem": 0.001407, + "min": 0.00136, + "max": 0.198368, + "recall-0.025": 0.246667, + "recall-0.05": 0.825, + "recall-0.1": 0.948333, + "recall-0.15": 0.955, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "elbow_right": { "count": 600, - "mean": 0.043417, - "median": 0.032847, - "std": 0.03524, - "sem": 0.00144, - "min": 0.006341, - "max": 0.220952, - "recall-0.025": 0.246667, - "recall-0.05": 0.813333, - "recall-0.1": 0.93, - "recall-0.15": 0.941667, - "recall-0.25": 1.0, + "mean": 0.043901, + "median": 0.033077, + "std": 0.036324, + "sem": 0.001484, + "min": 0.006465, + "max": 0.274304, + "recall-0.025": 0.241667, + "recall-0.05": 0.81, + "recall-0.1": 0.925, + "recall-0.15": 0.943333, + "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_left": { "count": 600, - "mean": 0.042168, - "median": 0.026768, - "std": 0.042016, - "sem": 0.001717, - "min": 0.002021, - "max": 0.200389, - "recall-0.025": 0.473333, - "recall-0.05": 0.733333, - "recall-0.1": 0.915, - "recall-0.15": 0.945, + "mean": 0.043044, + "median": 0.026871, + "std": 0.04257, + "sem": 0.001739, + "min": 0.000214, + "max": 0.202968, + "recall-0.025": 0.466667, + "recall-0.05": 0.731667, + "recall-0.1": 0.903333, + "recall-0.15": 0.941667, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "wrist_right": { "count": 600, - "mean": 0.044909, - "median": 0.026831, - "std": 0.055206, - "sem": 0.002256, - "min": 0.003601, - "max": 0.476436, - "recall-0.025": 0.453333, - "recall-0.05": 0.783333, - "recall-0.1": 0.896667, - "recall-0.15": 0.913333, - "recall-0.25": 0.993333, + "mean": 0.044102, + "median": 0.026291, + "std": 0.050657, + "sem": 0.00207, + "min": 0.003409, + "max": 0.460683, + "recall-0.025": 0.466667, + "recall-0.05": 0.776667, + "recall-0.1": 0.895, + "recall-0.15": 0.915, + "recall-0.25": 0.996667, "recall-0.5": 1.0, "num_labels": 600 }, "hip_left": { "count": 600, - "mean": 0.090573, - "median": 0.087143, - "std": 0.032802, + "mean": 0.090158, + "median": 0.08564, + "std": 0.032791, "sem": 0.00134, - "min": 0.019451, - "max": 0.236078, + "min": 0.014562, + "max": 0.236403, "recall-0.025": 0.001667, - "recall-0.05": 0.033333, - "recall-0.1": 0.798333, - "recall-0.15": 0.946667, + "recall-0.05": 0.036667, + "recall-0.1": 0.82, + "recall-0.15": 0.945, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "hip_right": { "count": 600, - "mean": 0.114861, - "median": 0.115523, - "std": 0.02614, - "sem": 0.001068, - "min": 0.044367, - "max": 0.234619, + "mean": 0.11407, + "median": 0.114481, + "std": 0.02606, + "sem": 0.001065, + "min": 0.045083, + "max": 0.233275, "recall-0.025": 0.0, - "recall-0.05": 0.003333, - "recall-0.1": 0.228333, - "recall-0.15": 0.946667, + "recall-0.05": 0.001667, + "recall-0.1": 0.251667, + "recall-0.15": 0.948333, "recall-0.25": 1.0, "recall-0.5": 1.0, "num_labels": 600 }, "knee_left": { "count": 600, - "mean": 0.061349, - "median": 0.044913, - "std": 0.061365, - "sem": 0.002507, - "min": 0.019282, - "max": 0.432248, - "recall-0.025": 0.046667, - "recall-0.05": 0.598333, - "recall-0.1": 0.913333, + "mean": 0.061433, + "median": 0.045616, + "std": 0.060807, + "sem": 0.002484, + "min": 0.018825, + "max": 0.425003, + "recall-0.025": 0.058333, + "recall-0.05": 0.593333, + "recall-0.1": 0.915, "recall-0.15": 0.923333, - "recall-0.25": 0.978333, + "recall-0.25": 0.98, "recall-0.5": 1.0, "num_labels": 600 }, "knee_right": { "count": 600, - "mean": 0.051142, - "median": 0.042244, - "std": 0.036288, - "sem": 0.001483, - "min": 0.01554, - "max": 0.258279, - "recall-0.025": 0.04, - "recall-0.05": 0.748333, + "mean": 0.050724, + "median": 0.042002, + "std": 0.036168, + "sem": 0.001478, + "min": 0.016654, + "max": 0.257622, + "recall-0.025": 0.038333, + "recall-0.05": 0.76, "recall-0.1": 0.941667, "recall-0.15": 0.945, - "recall-0.25": 0.996667, + "recall-0.25": 0.998333, "recall-0.5": 1.0, "num_labels": 600 }, "ankle_left": { "count": 599, - "mean": 0.098762, - "median": 0.086486, - "std": 0.050411, - "sem": 0.002061, - "min": 0.036478, - "max": 0.490644, + "mean": 0.09891, + "median": 0.086872, + "std": 0.051463, + "sem": 0.002104, + "min": 0.035674, + "max": 0.490677, "recall-0.025": 0.0, - "recall-0.05": 0.001667, + "recall-0.05": 0.003333, "recall-0.1": 0.831667, - "recall-0.15": 0.938333, + "recall-0.15": 0.936667, "recall-0.25": 0.98, "recall-0.5": 0.998333, "num_labels": 600 }, "ankle_right": { "count": 598, - "mean": 0.085796, - "median": 0.069833, - "std": 0.056865, - "sem": 0.002327, - "min": 0.02542, - "max": 0.440686, + "mean": 0.085207, + "median": 0.069747, + "std": 0.054773, + "sem": 0.002242, + "min": 0.030417, + "max": 0.440549, "recall-0.025": 0.0, - "recall-0.05": 0.018333, - "recall-0.1": 0.878333, + "recall-0.05": 0.021667, + "recall-0.1": 0.88, "recall-0.15": 0.906667, - "recall-0.25": 0.973333, + "recall-0.25": 0.978333, "recall-0.5": 0.996667, "num_labels": 600 }, "joint_recalls": { "num_labels": 7800, - "recall-0.025": 0.17103, - "recall-0.05": 0.47359, - "recall-0.1": 0.81628, + "recall-0.025": 0.16897, + "recall-0.05": 0.47551, + "recall-0.1": 0.81936, "recall-0.15": 0.92923, - "recall-0.25": 0.99269, + "recall-0.25": 0.99333, "recall-0.5": 0.99949 } } { "total_parts": 8400, - "correct_parts": 8092, - "pcp": 0.963333 + "correct_parts": 8091, + "pcp": 0.963214 } ``` diff --git a/scripts/utils_2d_pose_ort.py b/scripts/utils_2d_pose_ort.py index 7d5df48..d48bed4 100644 --- a/scripts/utils_2d_pose_ort.py +++ b/scripts/utils_2d_pose_ort.py @@ -13,9 +13,12 @@ class BaseModel(ABC): def __init__(self, model_path: str, warmup: int): self.opt = ort.SessionOptions() providers = ort.get_available_providers() + # ort.set_default_logger_severity(1) provider = "" - if "CUDAExecutionProvider" in providers: + if "TensorrtExecutionProvider" in providers: + provider = "TensorrtExecutionProvider" + elif "CUDAExecutionProvider" in providers: provider = "CUDAExecutionProvider" else: provider = "CPUExecutionProvider" @@ -328,10 +331,10 @@ def load_model(): print("Loading onnx model ...") model = TopDown( - "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmdet-nano_320x320_with-norm.onnx", - # "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmdet-nano_320x320_fp16_with-norm.onnx", - "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmpose-m_384x288_with-norm.onnx", - # "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmpose-m_384x288_fp16_with-norm.onnx", + # "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmdet-nano_320x320_with-norm.onnx", + "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmdet-nano_320x320_fp16_with-norm.onnx", + # "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmpose-m_384x288_with-norm.onnx", + "/RapidPoseTriangulation/extras/mmdeploy/exports/rtmpose-m_384x288_fp16_with-norm.onnx", conf_threshold=0.3, iou_threshold=0.3, warmup=30,