输入一张人物图像,实现端到端的人体关键点检测,输出视频中每一帧图像人体的17点人体3D关键点坐标。
HDFormer | CannoicalPose3D |
该任务是单目相机下的3D人体关键点检测框架,通过端对端的快速推理,可以得到视频中的人体3D关键点坐标。其中2D人体检测基于此2D人体关键点检测模型.
本模型参考TPNet改进VideoPose3D,基于2D图像空间校准坐标,设计新网络优化3D全局轨迹。
使用范围:
应用场景:
在ModelScope框架上,提供输入视频,即可通过简单的Pipeline调用来完成人体关键点检测任务。
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
model_id = 'damo/cv_canonical_body-3d-keypoints_video'
body_3d_keypoints = pipeline(Tasks.body_3d_keypoints, model=model_id)
output = body_3d_keypoints('https://modelscope.oss-cn-beijing.aliyuncs.com/test/videos/Walking.54138969.mp4')
print(output)
configuration.json
里面指定的测试视频中使用的帧数:model.INPUT.MAX_FRAME
;configuration.json
里面指定render
字段中的方位角和偏转角;{
"keypoints": [ // 相机坐标系下的3D姿态关键点坐标
[[x, y, z]*17], // 每行为一帧图片的预测结果
[[x, y, z]*17],
...
],
"timestamps": [ // 每一帧测试视频对应的时间戳
"00:00:0.23",
"00:00:0.56",
"00:00:0.69",
...
],
"output_video": "xxx" // 渲染推理结果的视频二进制文件数据,可选,取决于模型配置文件中是否配置"render"字段。
}
configuration.json
中的 model.INPUT
字段进行定义。训练数据:Human3.6M。
@article{h36m_pami,
author = {Ionescu, Catalin and Papava, Dragos and Olaru, Vlad and Sminchisescu, Cristian},
title = {Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments},
journal = { IEEE Transactions on Pattern Analysis and Machine Intelligence},
publisher = {IEEE Computer Society},
year = {2014}
}
MPJPE | P-MPJPE | N-MPJPE | MPJVE |
---|---|---|---|
40.400 | 29.400 | 37.700 | 1.900 |
输出的3D关键点可视化结果如下: