如何修改pose_inference函数

github官网:

博客:

基于pyskl的poseC3D训练自己的数据集-CSDN博客

 发现少了compress=args.compress

回到github官网:

发现博客确实改了参数

 

def pose_inference(model, frames, det_results):
    assert len(frames) == len(det_results)
    total_frames = len(frames)
    num_person = max([len(x) for x in det_results])
    kp = np.zeros((num_person, total_frames, 17, 3), dtype=np.float32)
 
    for i, (f, d) in enumerate(zip(frames, det_results)):
        # Align input format
        d = [dict(bbox=x) for x in list(d)]
        pose = inference_top_down_pose_model(model, f, d, format='xyxy')[0]
        for j, item in enumerate(pose):
            kp[j, i] = item['keypoints']
    return kp

这段代码定义了一个pose_inference函数,用于进行姿态推断。

函数接受以下参数:

  • model:姿态估计模型。
  • frames:帧列表,包含要进行姿态推断的图像帧。
  • det_results:检测结果列表,包含每个帧的目标检测结果。

函数的主要逻辑如下:

  1. 首先,通过断言(assert)验证framesdet_results的长度相等,确保每个帧都有对应的检测结果。

  2. 初始化一个kp数组,用于存储姿态关键点信息。数组的维度为(num_person, total_frames, 17, 3),其中:

    • num_person表示检测结果中最大的目标数,用于确定数组中存储姿态信息的维度。
    • total_frames表示帧的总数,用于确定数组中存储姿态信息的维度。
    • 17表示姿态关键点的数量(例如,人体姿态中的关节点数)。
    • 3表示每个关键点的坐标值(x、y和可见性)。
  3. 使用enumerate函数遍历framesdet_results,同时获取索引i和对应的帧f和检测结果d

  4. 将检测结果d转换为适合输入格式的字典列表,其中每个字典包含一个目标框的边界框信息。

  5. 调用inference_top_down_pose_model函数进行姿态推断。该函数使用姿态估计模型model、帧f和检测结果d,并指定输入格式为xyxy(即边界框的格式)。函数返回一个姿态预测结果的列表。

  6. 遍历姿态预测结果列表pose,同时获取索引j和每个姿态预测结果item

  7. 将每个姿态预测结果中的关键点信息赋值给kp数组的相应位置,即kp[j, i] = item['keypoints']

  8. 返回最终的姿态关键点数组kp

函数的作用是通过姿态估计模型对每个帧的目标检测结果进行姿态推断,得到每个关键点的坐标信息。最终返回一个包含姿态关键点信息的数组。

下面这个是改动的地方

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C:\Users\TXN>CD C:// C:\>Python "C:\Program Files (x86)\Intel\openvino_2021.4.752\deployment_tools\open_model_zoo\demos\human_pose_estimation_demo\python\human_pose_estimation_demo.py" -at openpose -d CPU -i 0 -m D:\model\fall_detection_zpp\intel\human-pose-estimation-0001\FP16\human-pose-estimation-0001.xml [ INFO ] Initializing Inference Engine... [ INFO ] Loading network... [ INFO ] Reading network from IR... Traceback (most recent call last): File "C:\Program Files (x86)\Intel\openvino_2021.4.752\deployment_tools\open_model_zoo\demos\human_pose_estimation_demo\python\human_pose_estimation_demo.py", line 283, in <module> sys.exit(main() or 0) File "C:\Program Files (x86)\Intel\openvino_2021.4.752\deployment_tools\open_model_zoo\demos\human_pose_estimation_demo\python\human_pose_estimation_demo.py", line 184, in main model = get_model(ie, args, frame.shape[1] / frame.shape[0]) File "C:\Program Files (x86)\Intel\openvino_2021.4.752\deployment_tools\open_model_zoo\demos\human_pose_estimation_demo\python\human_pose_estimation_demo.py", line 111, in get_model prob_threshold=args.prob_threshold) File "C:\Program Files (x86)\Intel\openvino_2021.4.752\deployment_tools\open_model_zoo\demos\common\python\models\open_pose.py", line 62, in __init__ strides=(1, 1), name=self.pooled_heatmaps_blob_name) File "C:\Users\TXN\AppData\Local\Programs\Python\Python37\lib\site-packages\ngraph\utils\decorators.py", line 22, in wrapper node = node_factory_function(*args, **kwargs) TypeError: max_pool() missing 1 required positional argument: 'dilations'
05-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值