前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无限想象空间,用Python玩转3D人体姿态估计

无限想象空间,用Python玩转3D人体姿态估计

作者头像
AI科技大本营
发布2020-10-27 10:38:31
1.3K0
发布2020-10-27 10:38:31
举报
文章被收录于专栏:AI科技大本营的专栏

前言

姿态估计,一直是近几年的研究热点

它就是根据画面,捕捉人体的运动姿态,比如 2D 姿态估计:

再比如 3D 姿态估计:

看着好玩,那这玩应有啥用呢

自动驾驶,大家应该都不陌生,很多公司研究这个方向。

自动驾驶里,就用到了人体行为识别

通过摄像头捕捉追踪人体的动作变化,根据肢体动作或变化角度判断人体动作行为,可用于无人车、机器人、视频监控等行为分析需求场景。

而这些的基础,就是人体的姿态估计。

再比如,虚拟形象

通过真人驱动,让虚拟形象具备类比真人的肢体动作,并支持与3D人脸特效、手势识别等功能结合应用,让虚拟形象更加灵活生动,可用于虚拟IP驱动、肢体驱动类游戏、远程授课或播报等场景。

姿态估计,无疑有着巨大的应用价值

但今天,咱们说的这个算法,比上文提到的,还要酷炫一些!

它就是 FrankMocap。

FrankMocap

FrankMocap 是港中文联合 Facebook AI 研究院提出的3D 人体姿态和形状估计算法

不仅仅是估计人体的运动姿态,甚至连身体的形状手部的动作都可以一起计算出来。

算法很强大,能够从单目视频同时估计出 3D 人体和手部运动,在一块 GeForce RTX 2080 GPU 上能够达到 9.5 FPS。

缺点就是,速度有点慢,计算量较大,达到实时性有一定难度。

不过随着硬件的快速发展,这都不是问题,「老黄刀法」很给力。

FrankMocap 算法就在这几天,刚刚开源,有 Python 和深度学习基础的朋友,不容错过。

项目地址:

https://github.com/facebookresearch/frankmocap

算法使用 SMPL-X 人体模型。

给定一张彩色图片,通过两个网络模块分别预测手部姿态和人体姿态。

然后再通过整合模块将手和身体组合在一起,得到最终的3D全身模型,整个流程如下图所示:

在具体的各个模块的实现,那就涉及具体的数学公式了。

本文就不多做扩展了,感兴趣的小伙伴,可以直接看论文。

论文地址:

https://arxiv.org/pdf/2008.08324.pdf

论文对每个模块的公式,记录的很详细。

FrankMocap 算法怎么玩?

这里有详细的安装教程:

https://github.com/facebookresearch/frankmocap/blob/master/docs/INSTALL.md

除了常规的第三方库,还需要 Detectron2 用于手部动作捕捉,以及 Pytorch3D 做姿态渲染。

推荐使用 Anaconda 配置,环境配置完毕,就可以开始体验了。

使用方法很简单:

如果只做身体姿态捕捉,可以运行如下命令:

代码语言:javascript
复制
# using a machine with a monitor to show output on screen
python -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

运行效果:

如果只做手部姿态捕捉,可以运行如下命令:

代码语言:javascript
复制
# using a machine with a monitor to show outputs on screen
python -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

运行效果:

全身的姿态估计,使用如下指令:

代码语言:javascript
复制
# using a machine with a monitor to show outputs on screen
python -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 人体全身运动姿态捕捉,可以做很多有意思的事情。

看到这项技术,你最先想到的,是能做个什么好玩的应用呢?

代码语言:javascript
复制
更多精彩推荐打通语言理论和统计NLP,Transformers/GNNs架构能做到吗?
自拍卡通化,拯救动画师,StyleGAN再次玩出新花样
干货!高频手撕算法合集来了
放弃 Windows 后 ,开源操作系统能成为主流桌面系统吗?
起底 ARM:留给中国队的时间不多了
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档