Using TensorRT backend.

This commit is contained in:
Daniel
2024-12-02 13:50:35 +01:00
parent bf837fbca9
commit c8c48e4bf2
2 changed files with 149 additions and 146 deletions

View File

@ -6,9 +6,9 @@ Results of the model in various experiments on different datasets.
```json ```json
{ {
"avg_time_2d": 0.027316828905525854, "avg_time_2d": 0.019079747846571064,
"avg_time_3d": 0.0004260645074359441, "avg_time_3d": 0.0003823995590209961,
"avg_fps": 36.04526698476189 "avg_fps": 51.381791492991674
} }
{ {
"person_nums": { "person_nums": {
@ -27,248 +27,248 @@ Results of the model in various experiments on different datasets.
}, },
"mpjpe": { "mpjpe": {
"count": 600, "count": 600,
"mean": 0.067549, "mean": 0.067471,
"median": 0.059367, "median": 0.059656,
"std": 0.027836, "std": 0.027837,
"sem": 0.001137, "sem": 0.001137,
"min": 0.044839, "min": 0.04161,
"max": 0.190705, "max": 0.191019,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.046667, "recall-0.05": 0.045,
"recall-0.1": 0.93, "recall-0.1": 0.93,
"recall-0.15": 0.95, "recall-0.15": 0.95,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600, "num_labels": 600,
"ap-0.025": 0.0, "ap-0.025": 0.0,
"ap-0.05": 0.004947, "ap-0.05": 0.005008,
"ap-0.1": 0.890901, "ap-0.1": 0.890421,
"ap-0.15": 0.915998, "ap-0.15": 0.915856,
"ap-0.25": 1.0, "ap-0.25": 1.0,
"ap-0.5": 1.0 "ap-0.5": 1.0
}, },
"nose": { "nose": {
"count": 600, "count": 600,
"mean": 0.116488, "mean": 0.116291,
"median": 0.100674, "median": 0.101326,
"std": 0.042049, "std": 0.04236,
"sem": 0.001718, "sem": 0.001731,
"min": 0.037604, "min": 0.021073,
"max": 0.277341, "max": 0.288626,
"recall-0.025": 0.0, "recall-0.025": 0.001667,
"recall-0.05": 0.008333, "recall-0.05": 0.006667,
"recall-0.1": 0.493333, "recall-0.1": 0.491667,
"recall-0.15": 0.82, "recall-0.15": 0.821667,
"recall-0.25": 0.991667, "recall-0.25": 0.99,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"shoulder_left": { "shoulder_left": {
"count": 600, "count": 600,
"mean": 0.03369, "mean": 0.033847,
"median": 0.025989, "median": 0.025987,
"std": 0.031823, "std": 0.031824,
"sem": 0.0013, "sem": 0.0013,
"min": 0.001966, "min": 0.002728,
"max": 0.182109, "max": 0.181894,
"recall-0.025": 0.476667, "recall-0.025": 0.466667,
"recall-0.05": 0.866667, "recall-0.05": 0.866667,
"recall-0.1": 0.948333, "recall-0.1": 0.948333,
"recall-0.15": 0.966667, "recall-0.15": 0.968333,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"shoulder_right": { "shoulder_right": {
"count": 600, "count": 600,
"mean": 0.048891, "mean": 0.04973,
"median": 0.034053, "median": 0.034604,
"std": 0.042652, "std": 0.044052,
"sem": 0.001743, "sem": 0.0018,
"min": 0.004714, "min": 0.00395,
"max": 0.251305, "max": 0.256048,
"recall-0.025": 0.238333, "recall-0.025": 0.211667,
"recall-0.05": 0.756667, "recall-0.05": 0.753333,
"recall-0.1": 0.901667, "recall-0.1": 0.906667,
"recall-0.15": 0.943333, "recall-0.15": 0.936667,
"recall-0.25": 0.998333, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"elbow_left": { "elbow_left": {
"count": 600, "count": 600,
"mean": 0.043307, "mean": 0.042919,
"median": 0.034999, "median": 0.035054,
"std": 0.034727, "std": 0.034438,
"sem": 0.001419, "sem": 0.001407,
"min": 0.001548, "min": 0.00136,
"max": 0.196855, "max": 0.198368,
"recall-0.025": 0.253333, "recall-0.025": 0.246667,
"recall-0.05": 0.808333, "recall-0.05": 0.825,
"recall-0.1": 0.945, "recall-0.1": 0.948333,
"recall-0.15": 0.953333, "recall-0.15": 0.955,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"elbow_right": { "elbow_right": {
"count": 600, "count": 600,
"mean": 0.043417, "mean": 0.043901,
"median": 0.032847, "median": 0.033077,
"std": 0.03524, "std": 0.036324,
"sem": 0.00144, "sem": 0.001484,
"min": 0.006341, "min": 0.006465,
"max": 0.220952, "max": 0.274304,
"recall-0.025": 0.246667, "recall-0.025": 0.241667,
"recall-0.05": 0.813333, "recall-0.05": 0.81,
"recall-0.1": 0.93, "recall-0.1": 0.925,
"recall-0.15": 0.941667, "recall-0.15": 0.943333,
"recall-0.25": 1.0, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"wrist_left": { "wrist_left": {
"count": 600, "count": 600,
"mean": 0.042168, "mean": 0.043044,
"median": 0.026768, "median": 0.026871,
"std": 0.042016, "std": 0.04257,
"sem": 0.001717, "sem": 0.001739,
"min": 0.002021, "min": 0.000214,
"max": 0.200389, "max": 0.202968,
"recall-0.025": 0.473333, "recall-0.025": 0.466667,
"recall-0.05": 0.733333, "recall-0.05": 0.731667,
"recall-0.1": 0.915, "recall-0.1": 0.903333,
"recall-0.15": 0.945, "recall-0.15": 0.941667,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"wrist_right": { "wrist_right": {
"count": 600, "count": 600,
"mean": 0.044909, "mean": 0.044102,
"median": 0.026831, "median": 0.026291,
"std": 0.055206, "std": 0.050657,
"sem": 0.002256, "sem": 0.00207,
"min": 0.003601, "min": 0.003409,
"max": 0.476436, "max": 0.460683,
"recall-0.025": 0.453333, "recall-0.025": 0.466667,
"recall-0.05": 0.783333, "recall-0.05": 0.776667,
"recall-0.1": 0.896667, "recall-0.1": 0.895,
"recall-0.15": 0.913333, "recall-0.15": 0.915,
"recall-0.25": 0.993333, "recall-0.25": 0.996667,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"hip_left": { "hip_left": {
"count": 600, "count": 600,
"mean": 0.090573, "mean": 0.090158,
"median": 0.087143, "median": 0.08564,
"std": 0.032802, "std": 0.032791,
"sem": 0.00134, "sem": 0.00134,
"min": 0.019451, "min": 0.014562,
"max": 0.236078, "max": 0.236403,
"recall-0.025": 0.001667, "recall-0.025": 0.001667,
"recall-0.05": 0.033333, "recall-0.05": 0.036667,
"recall-0.1": 0.798333, "recall-0.1": 0.82,
"recall-0.15": 0.946667, "recall-0.15": 0.945,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"hip_right": { "hip_right": {
"count": 600, "count": 600,
"mean": 0.114861, "mean": 0.11407,
"median": 0.115523, "median": 0.114481,
"std": 0.02614, "std": 0.02606,
"sem": 0.001068, "sem": 0.001065,
"min": 0.044367, "min": 0.045083,
"max": 0.234619, "max": 0.233275,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.003333, "recall-0.05": 0.001667,
"recall-0.1": 0.228333, "recall-0.1": 0.251667,
"recall-0.15": 0.946667, "recall-0.15": 0.948333,
"recall-0.25": 1.0, "recall-0.25": 1.0,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"knee_left": { "knee_left": {
"count": 600, "count": 600,
"mean": 0.061349, "mean": 0.061433,
"median": 0.044913, "median": 0.045616,
"std": 0.061365, "std": 0.060807,
"sem": 0.002507, "sem": 0.002484,
"min": 0.019282, "min": 0.018825,
"max": 0.432248, "max": 0.425003,
"recall-0.025": 0.046667, "recall-0.025": 0.058333,
"recall-0.05": 0.598333, "recall-0.05": 0.593333,
"recall-0.1": 0.913333, "recall-0.1": 0.915,
"recall-0.15": 0.923333, "recall-0.15": 0.923333,
"recall-0.25": 0.978333, "recall-0.25": 0.98,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"knee_right": { "knee_right": {
"count": 600, "count": 600,
"mean": 0.051142, "mean": 0.050724,
"median": 0.042244, "median": 0.042002,
"std": 0.036288, "std": 0.036168,
"sem": 0.001483, "sem": 0.001478,
"min": 0.01554, "min": 0.016654,
"max": 0.258279, "max": 0.257622,
"recall-0.025": 0.04, "recall-0.025": 0.038333,
"recall-0.05": 0.748333, "recall-0.05": 0.76,
"recall-0.1": 0.941667, "recall-0.1": 0.941667,
"recall-0.15": 0.945, "recall-0.15": 0.945,
"recall-0.25": 0.996667, "recall-0.25": 0.998333,
"recall-0.5": 1.0, "recall-0.5": 1.0,
"num_labels": 600 "num_labels": 600
}, },
"ankle_left": { "ankle_left": {
"count": 599, "count": 599,
"mean": 0.098762, "mean": 0.09891,
"median": 0.086486, "median": 0.086872,
"std": 0.050411, "std": 0.051463,
"sem": 0.002061, "sem": 0.002104,
"min": 0.036478, "min": 0.035674,
"max": 0.490644, "max": 0.490677,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.001667, "recall-0.05": 0.003333,
"recall-0.1": 0.831667, "recall-0.1": 0.831667,
"recall-0.15": 0.938333, "recall-0.15": 0.936667,
"recall-0.25": 0.98, "recall-0.25": 0.98,
"recall-0.5": 0.998333, "recall-0.5": 0.998333,
"num_labels": 600 "num_labels": 600
}, },
"ankle_right": { "ankle_right": {
"count": 598, "count": 598,
"mean": 0.085796, "mean": 0.085207,
"median": 0.069833, "median": 0.069747,
"std": 0.056865, "std": 0.054773,
"sem": 0.002327, "sem": 0.002242,
"min": 0.02542, "min": 0.030417,
"max": 0.440686, "max": 0.440549,
"recall-0.025": 0.0, "recall-0.025": 0.0,
"recall-0.05": 0.018333, "recall-0.05": 0.021667,
"recall-0.1": 0.878333, "recall-0.1": 0.88,
"recall-0.15": 0.906667, "recall-0.15": 0.906667,
"recall-0.25": 0.973333, "recall-0.25": 0.978333,
"recall-0.5": 0.996667, "recall-0.5": 0.996667,
"num_labels": 600 "num_labels": 600
}, },
"joint_recalls": { "joint_recalls": {
"num_labels": 7800, "num_labels": 7800,
"recall-0.025": 0.17103, "recall-0.025": 0.16897,
"recall-0.05": 0.47359, "recall-0.05": 0.47551,
"recall-0.1": 0.81628, "recall-0.1": 0.81936,
"recall-0.15": 0.92923, "recall-0.15": 0.92923,
"recall-0.25": 0.99269, "recall-0.25": 0.99333,
"recall-0.5": 0.99949 "recall-0.5": 0.99949
} }
} }
{ {
"total_parts": 8400, "total_parts": 8400,
"correct_parts": 8092, "correct_parts": 8091,
"pcp": 0.963333 "pcp": 0.963214
} }
``` ```

View File

@ -13,9 +13,12 @@ class BaseModel(ABC):
def __init__(self, model_path: str, warmup: int): def __init__(self, model_path: str, warmup: int):
self.opt = ort.SessionOptions() self.opt = ort.SessionOptions()
providers = ort.get_available_providers() providers = ort.get_available_providers()
# ort.set_default_logger_severity(1)
provider = "" provider = ""
if "CUDAExecutionProvider" in providers: if "TensorrtExecutionProvider" in providers:
provider = "TensorrtExecutionProvider"
elif "CUDAExecutionProvider" in providers:
provider = "CUDAExecutionProvider" provider = "CUDAExecutionProvider"
else: else:
provider = "CPUExecutionProvider" provider = "CPUExecutionProvider"
@ -328,10 +331,10 @@ def load_model():
print("Loading onnx model ...") print("Loading onnx model ...")
model = TopDown( model = TopDown(
"/RapidPoseTriangulation/extras/mmdeploy/exports/rtmdet-nano_320x320_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/rtmdet-nano_320x320_fp16_with-norm.onnx",
"/RapidPoseTriangulation/extras/mmdeploy/exports/rtmpose-m_384x288_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/rtmpose-m_384x288_fp16_with-norm.onnx",
conf_threshold=0.3, conf_threshold=0.3,
iou_threshold=0.3, iou_threshold=0.3,
warmup=30, warmup=30,