转载自3D视觉开发者社区用户“mudi”
原文链接:[技术分享]用Python玩转3D人体姿态估计
✨如果觉得文章内容不错,别忘了三连支持下哦~
姿态估计,一直是近几年的研究热点。它就是根据画面,捕捉人体的运动姿态,输出人在画面中2D(x,y)或者空间坐标系中的3D(x,y,z)骨架信息。
姿态估计在各个自动驾驶,虚拟形象,舞蹈,健身,游戏等等场景中,具有广泛的前景和应用价值。
奥比当前的SDK中提供了3D人体姿态估计算法,方便客户利用算法开发各种各样的应用。同时在后续的SDK更新中,会推出3D姿态估计算法的升级版。
那么在奥比更新3D人体姿态估计之前呢,就先来分享一个利用python得到3D人体姿态估计的开源工程:FrankMocap
FrankMocap 是港中文联合 Facebook AI 研究院提出的3D 人体姿态和形状估计算法。
不仅仅是估计人体的运动姿态,甚至连身体的形状,手部的动作都可以一起计算出来。
算法很强大,能够从单目视频同时估计出 3D 人体和手部运动。但该算法速度较慢,计算量较大,在一块 GeForce RTX 2080 GPU 上可以达到 9.5 FPS,达到实时性有一定难度,更别说在算力受限的开发板上。而奥比当前和后续更新的3D姿态估计算法,在算力受限的平台上,都能达到30FPS,这也是奥比的优势。
参照安装教程,进行工程的配置,除了常规的第三方库,还需要 Detectron2 用于手部动作捕捉,以及 Pytorch3D 做姿态渲染。推荐使用 Anaconda 配置,环境配置完毕,就可以开始体验了。
使用方法很简单,如果只做身体姿态捕捉,可以运行如下命令:
# using a machine with a monitor to show output on screenpython -m demo.demo_bodymocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output
# screenless mode (e.g., a remote server)xvfb-run -a python -m demo.demo_bodymocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output
如果只做手部姿态捕捉,可以运行如下命令:
# using a machine with a monitor to show outputs on screenpython -m demo.demo_handmocap --input_path ./sample_data/han_hand_short.mp4 --out_dir ./mocap_output
# screenless mode (e.g., a remote server)xvfb-run -a python -m demo.demo_handmocap --input_path ./sample_data/han_hand_short.mp4 --out_dir ./mocap_output
运行效果:
全身的姿态估计,使用如下指令:
# using a machine with a monitor to show outputs on screenpython -m demo.demo_frankmocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output
# screenless mode (e.g., a remote server)python -m demo.demo_frankmocap --input_path ./sample_data/han_short.mp4 --out_dir ./mocap_output
运行效果:
希望大家从这个项目中能体验到3D人体姿态估计算法的发展趋势。
同时奥比中光的产品Orbbec Pose SDK里就有人体姿态估计算法,感兴趣的可以跳转了解更多详情哦:https://developer.orbbec.com.cn/orbbec_pose.html
参考:https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/108957547
版权声明:本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文
3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~
也可移步微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦~