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

前言

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

它就是根据画面,捕捉人体的运动姿态,比如 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 配置,环境配置完毕,就可以开始体验了。

使用方法很简单:

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

# 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 人体全身运动姿态捕捉,可以做很多有意思的事情。

看到这项技术,你最先想到的,是能做个什么好玩的应用呢?返回搜狐,查看更多

责任编辑:

python生成3d人体模型_无限想象空间,用Python玩转3D人体姿态估计相关推荐

  1. python生成随机数方法_详解用python生成随机数的几种方法

    今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的 ...

  2. vs python生成exe文件_使用VScode编写python程序并打包成.exe文件-文件夹变成exe

    1. 下载vscode并安装 2. 配置Python环境 点击左下角的吃了图标,在弹出的菜单中选择extensions,在左上方搜索框内输入"Python",可以看到好多Pytho ...

  3. 【2020-CVPR-3D人体姿态估计】Deep Kinematics Analysis for Monocular 3D Human Pose Estimation

    Deep Kinematics Analysis for Monocular 3D Human Pose Estimation 题目:<单目三维人体姿态估计的深度运动学分析> 作者:Jin ...

  4. 卷积神经网络精确率不增反降_姿态跟踪论文研读--(1)利用卷积神经网络学习人体姿态估计特征...

    摘要 本文介绍了一种新的结构,就是利用多层卷积神经网络结构和模块化学习技术来习得低维特征和高维弱空间模型,以此来进行人体姿态估计.无约束的人体姿态估计是计算机视觉领域中最困难,最棘手的问题之一,而我们 ...

  5. Python+OpenCV+OpenPose实现人体姿态估计(人体关键点检测)

    目录 1.人体姿态估计简介 2.人体姿态估计数据集 3.OpenPose库 4.实现原理 5.实现神经网络 6.实现代码 1.人体姿态估计简介 人体姿态估计(Human Posture Estimat ...

  6. 人体姿态估计、识别与生成最新技术一览

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨WinstonDeng@知乎(已授权) 来源丨https://zhuanlan.zhihu.co ...

  7. 3D人体姿态估计综述 - 《3D Human pose estimation: A review of the literature and analysis of covariates》

    <3D Human pose estimation: A review of the literature and analysis of covariates> CVIU 2016 论文 ...

  8. 【人体姿态估计综述(2D、3D)】

    人体姿态估计综述(2D.3D) 一.任务描述 二.2D人体姿态估计 2.1 2D单人姿态估计 2.1.1 回归方法 2.1.2 heatmap方法 2.2 2D多人姿态估计 2.2.1 自顶向下 2. ...

  9. 基于3D深度视觉的人体姿态估计算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 人体姿态估计是当前计算机视觉领域的热点研究问 ...

  10. 3D 人体姿态估计简述

    0 前言 3D Human Pose Estimation(以下简称 3D HPE )的目标是在三维空间中估计人体关键点的位置.3D HPE 的应用非常广泛,包括人机交互.运动分析.康复训练等,它也可 ...

最新文章

  1. englishpod主持人对话文本_英语播客ESLPod学习方法+资源大全|Englishpod和eslpod的区别是什么...
  2. iOS学习之CoreLocation相关知识
  3. 地址已经被使用——Address already in use(来自《后台开发:核心技术于应用实践》)
  4. Android 第十八课 强大的滚动控件 RecyclerView
  5. spring 项目集成配置_Spring重试–与项目集成的方式
  6. 【转】WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务
  7. 详解3D物体检测模型: Voxel Transformer for 3D Object Detection
  8. 一天学一个模式_第一天:策略模式
  9. HTML中如何给HTML元素添加事件
  10. php jquery ajax实例,jQuery的$.ajax示例
  11. mysql 查询姓王_MySQL查询语句练习题,测试足够用了
  12. Eight Queens UVa 750
  13. 运维基础--虚拟机的使用(一)
  14. 软激活WIN7 Activation
  15. JAVA疫苗接种预约系统毕业设计 开题报告
  16. CSS基础常识问答(二)
  17. AFFF3%水成膜泡沫灭火剂生产厂家分析品牌哪家好数据说明
  18. seo如何做外链(做seo外链建设有哪些原则)
  19. 三星android 7.0 root,三星G920K 7.0 root教程及获取7.0的root权限
  20. rviz显示矩形框BoundingBox

热门文章

  1. python分组求和法_awk分组求和分组统计次数
  2. gini指数与cart 决策树
  3. 用美图秀秀给人像P上西装,并改成纯色背景
  4. 架构设计实践五部曲(一):架构与架构图
  5. H5点餐系统,微信公众号H5
  6. 第三章 机器人系统的动力学模型
  7. c语言无输出如何表示,c语言中的格式输出
  8. Java Spring Security 安全框架:(四)PasswordEncoder 密码解析器详解
  9. 计算机基础表格函数基础知识大全,计算机基础-EXCEL公式和函数
  10. 深入浅出计算机组成原理