用于人体姿势估计的 GStreamer Model-Proc 文件配置 - OpenVINO

用于人体姿势估计的 GStreamer Model-Proc 文件配置 - OpenVINO

我目前正在为 OpenVINO 模型 human-pose-estimation-0007 创建 GStreamer model-proc 文件。我已经有一个 human-pose-estimation-0001 的工作示例,您可以找到 model-proc 文件。

human-pose-estimation-0001 模型是一个基于 OpenPose 方法的多人 2D 姿势估计网络,使用经过调整的 MobileNet v1 作为特征提取器。它可以检测多达 18 个关键点,包括耳朵、眼睛、鼻子、颈部、肩膀、肘部、手腕、臀部、膝盖和脚踝。(https://docs.openvino.ai/2023.2/omz_models_model_human_pose_estimation_0001.html

以下是 human-pose-estimation-0001 对应的 model-proc 文件:

{
"json_schema_version": "2.2.0",
"input_preproc": [
    {
        "format": "image",
        "params": {
            "color_space": "BGR",
            "resize": "aspect-ratio",
            "padding": {
                "stride": 8,
                "fill_value": [0.0, 0.0, 0.0]
            }
        }
    }
],
"output_postproc": [
    {
        "converter": "keypoints_openpose",
        "point_names": [
            "nose", "neck", "shoulder_r", "elbow_r", "wrist_r", "shoulder_l", 
            "elbow_l", "wrist_l", "hip_r", "knee_r", "ankle_r", "hip_l", 
            "knee_l", "ankle_l", "eye_r", "eye_l", "ear_r", "ear_l"
        ],
        "point_connections": [
            "shoulder_l", "shoulder_r", "nose", "eye_l", "nose", "eye_r", 
            "eye_l", "ear_l", "eye_r", "ear_r", "elbow_l", "shoulder_l", 
            "elbow_r", "shoulder_r", "wrist_l", "elbow_l", "wrist_r", 
            "elbow_r", "hip_l", "knee_l", "hip_r", "knee_r", "knee_l", 
            "ankle_l", "knee_r", "ankle_r"
        ]
    }
]
}

现在,我正在尝试配置基于 EfficientHRNet 方法的 human-pose-estimation-0007 的 model-proc 文件。该模型可检测最多 17 个关键点(不包括颈部)https://docs.openvino.ai/2023.2/omz_models_model_human_pose_estimation_0007.html)。我已经调整了 model-proc 文件,如下所示,我参考了 (https://dlstreamer.github.io/dev_guide/model_proc_file.html):

{
"json_schema_version": "2.2.0",
"input_preproc": [
    {
        "format": "image",
        "params": {
            "color_space": "BGR",
            "resize": "aspect-ratio",
            "padding": {
                "stride": 8,
                "fill_value": [0.0, 0.0, 0.0]
            }
        }
    }
],
"output_postproc": [
    {
        "converter": "keypoints_hrnet",
        "point_names": [
            "nose", "shoulder_r", "elbow_r", "wrist_r", "shoulder_l", 
            "elbow_l", "wrist_l", "hip_r", "knee_r", "ankle_r", "hip_l", 
            "knee_l", "ankle_l", "eye_r", "eye_l", "ear_r", "ear_l"
        ],
        "point_connections": [
            "shoulder_l", "shoulder_r", "nose", "eye_l", "nose", "eye_r", 
            "eye_l", "ear_l", "eye_r", "ear_r", "elbow_l", "shoulder_l", 
            "elbow_r", "shoulder_r", "wrist_l", "elbow_l", "wrist_r", 
            "elbow_r", "hip_l", "knee_l", "hip_r", "knee_r", "knee_l", 
            "ankle_l", "knee_r", "ankle_r"
        ]
    }
]
}

但是我一直遇到这个错误:

    "ERROR default inference_impl.cpp:833:InferenceCompletionCallback: 
Post-processing has been exited with FAIL code."

任何见解或建议都将不胜感激。谢谢!

相关内容