如何在大片中实现人物的特效,最终应用人体姿态估计。本博客介绍了使用深度学习技术及其应用的多人姿势估计方法。

人体骨骼骨架以图形格式表达人体运动。基本上,它是一组坐标,用于描述一个人的姿势。骨架中的每个坐标称为此图的零件(或关节,关键点)。我们将两个组件之间的有效连接称为一对(对或肢)。但是,应该注意,并非所有组件组合都产生有效对。下图是人体骨架图的示例。

左图:人体骨骼骨架的COCO关键点格式; 右图:渲染后的人体姿势图

该图来源:https://github.com/CMU-Perceptual-Computing-Lab/openpose

获取人体姿势信息为多个真实世界的应用程序开辟了道路,其中一些应用程序将在本博客的最后讨论。近年来,研究人员提出了各种人体姿势估计方法,最早(也是最慢)的方法通常是在一个人的图像中估计一个人的姿势。这些方法通常识别各个组件,然后通过在它们之间形成连接来创建姿势。

当然,如果您处于多人的真实场景中,这些方法并不是非常有用。

多人姿势估计

由于图像中的人的位置和总人数未知,因此多人姿势估计比单人姿势估计更困难。一般来说,我们可以通过以下方法解决上述问题:

简单的方法是首先添加人体检测器,然后分别估计每个组件,最后计算每个人的姿势。这种方法称为“自上而下”的方法。

另一种方法是检测图像中的所有组件(即所有者的组件),然后关联/分组属于不同人的组件。这种方法称为“自下而上”的方法。

上部:传统的自上而下方法; 下部:传统的自下而上的方法。

通常,自上而下的方法比自下而上的方法更容易实现,因为添加人类检测器比使用关联/分组算法容易得多。很难判断哪种方法总体上表现更好,因为比较人体检测器和相关/分组算法会更好。

在这篇博客中,我们专注于使用深度学习技术的多人姿势估计技术。在下一节中,我们将回顾一些流行的自上而下和自下而上的方法。

深度学习方法

1.OpenPose

OpenPose是最受欢迎的自下而上多人姿势估计方法之一,部分原因在于其GitHub实现的友好文档。

与许多自下而上的方法一样,OpenPose首先检测图像中的部分(关键点),然后将部分分配给不同的个体。下图显示了OpenPose模型的体系结构。

OpenPose网络首先使用前几层(上图中的VGG-19)从图像中提取特征。然后将这些特征输入卷积层的两个平行分支。第一分支预测一组置信图(18),每个置信图表示人体骨架图的特定部分。第二个分支预测另一组部件亲和力字段(PAF,38),PAF表示组件之间的关联程度。

其余的OpenPose步骤用于优化每个分支的预测。使用组件置信度图,在组件对之间形成二分图(如上所示)。然后使用PAF值修剪二分图中的较弱链接。通过上述步骤,我们可以估计人体骨架图并将其分配给图像中的每个人。

2. DeepCut

DeepCut是一种自下而上的方法,可用于多人姿势估计。作者通过定义以下问题来完成此任务:

生成一组身体部位候选集D.此集合表示图像中所有人的身体部位的所有可能位置。从身体部位候选组中选择身体部位的子集。

用身体部位C类中的类别标记每个所选身体部位。身体部位类指示部位的类型,例如“手臂”,“腿”,“躯干”等。

指定属于同一个人的身体部位。

上述问题可以通过建模为整数线性规划(ILP)来解决。使用二进制随机变量的三元组(x,y,z)进行建模,二进制随机变量的域如下所示:

考虑来自身体部位候选组D的两个身体部位候选d和d',以及来自类别集C的类别c和c',其中通过更快的RCNN或密集CNN获得身体部位候选。现在我们可以开发以下一组语句。

如果x(d,c)= 1,则意味着身体部位候选d属于类别c。

如果y(d,d')= 1,则意味着身体部位候选者d和d'属于同一个人。

它们还定义z(d,d“,c,c”)= x(d,c)* x(d“,c”)* y(d,d“)。如果上述值是1,则意味着身体部位候选d属于类别c,身体部位候选d'属于类别c',并且最后的身体部位候选d,d'属于同一个人。

最后一个陈述可用于划分属于不同人的姿势。上述陈述显然可以使用线性方程表示为(x,y,z)的函数。通过这种方式,我们可以构建整数线性规划(ILP)模型并估计多人的姿势。有关完整的方程式和详细分析,请参阅文章“DeepCut:多人姿态估计的联合子集分区和标签”。

3. RMPE(AlphaPose)

RMPE是一种流行的自上而下的态度估计方法。作者认为,自上而下的方法通常依赖于人体探测器的性能,因为姿势估计是在某人所在的区域进行的。因此,定位误差和重复边界框预测可能导致姿态提取算法仅获得次优解。

为了解决这个问题,作者提出使用对称空间变换器网络(SSTN)从不准确的边界框中提取高质量的单人区域。在该区域中,使用单人姿势估计器(SPPE)来估计人体姿势骨架图。然后我们使用空间变换器网络(SDTN)将估计的人体姿势重新映射回原始图像坐标系。最后,参数姿态NMS技术用于解决冗余问题。

此外,作者还介绍了Pose Guided Proposals Generator,以增强训练样本,以更好地帮助训练SPPE和SSTN网络。RMPE的一个显着特征是该技术可以扩展到人类检测算法和SPPE的任何组合。

4.Mask RCNN

Mask RCNN是一种用于执行语义和实例分割的流行架构。该模型可以并行地预测图像中各种对象的边界框的位置以及用于对象的语义分割的掩模。该基本架构可以容易地扩展到用于人体姿势估计的方法。

基本架构首先使用CNN从图像中提取特征图。区域提议网络(RPN)使用这些要素图来获取对象的候选边界框。通过从CNN提取的特征图中选择区域来获得这些候选边界框。由于候选边界框可以具有各种大小,因此我们使用名为RoIAlign的层来减小提取的要素的大小,使它们具有相同的大小。现在,提取的特征被传递到CNN的并行分支,以最终预测边界框和分割掩模。

现在让我们看看执行拆分的分支。首先假设图像中的对象属于类别集K.分割分支可以输出大小为m×m的K个二进制掩码,其中每个二进制掩码仅表示属于该类的所有对象。我们可以将每种类型的关键点建模为不同的类,并将其视为分割问题,以提取属于图像中每个人的关键点。

同时,我们还可以训练目标检测算法来识别人的位置。通过将人们的位置信息与他们的关键点相结合,我们可以得到图像中每个人的人体骨架图。

该方法类似于自上而下的方法,但人类检测阶段与组件检测阶段并行执行。换句话说,临界点检测阶段和人体检测阶段彼此独立。

其他方法

多人体姿评估有很多解决方案。为简洁起见,本文仅介绍几种方法。有关方法的更详细列表,您可以查看以下信息:

可以应用于:

态度估计在许多领域都有应用,其中一些在下面列出。

1.活动识别

跟踪身体姿势随时间的变化也可用于活动,手势和步态识别。这些用例是:

  • 用于检测人是否摔倒或生病的应用程序。
  • 可以自主地教授正确的运动机制,运动技术和舞蹈活动的应用。
  • 可以理解全身手语的应用(例如:机场跑道信号,交警信号等)。
  • 可以增强监控的安全性和应用程序。

跟踪一个人的步态对于安全和监视区域非常有用

2.动作捕捉和增强现实

CGI应用程序是一种有趣的应用程序类型,它也利用了人体姿势估计。如果您可以估计一个人的姿势,您可以在人物上叠加图形,样式,设备和艺术品。通过跟踪这种人体姿势的变化,渲染的图形可以在人移动时“自然地适应”。

Animoji就是一个很好的例子。虽然上述研究仅追踪了脸部的结构,但这种想法可以扩展到人类的关键跟踪。相同的概念也可用于渲染模仿人体运动的增强现实(AR)元素。

3.训练机器人

我们可以跟踪执行动作的人体骨骼的轨迹,而不是手动编程机器人来跟踪轨迹。人类教练可以通过示范行动有效地教导机器人这些行动。然后,机器人可以计算如何移动关节以执行相同的动作。

4.控制台动作跟踪

姿势估计的另一个有趣的应用是跟踪交互式游戏中人体的运动。通常,Kinect使用3D姿势估计(使用红外传感器数据)来跟踪人类运动员的运动并使用它来渲染化身的动作。

总结

我们在人体姿态估计领域取得了很大进展,这使我们能够更好地服务于可能使用该技术的大量应用。此外,对姿势跟踪等相关领域的研究可以大大提高其在许多领域的生产利用率。

关注微信公众号:“图像算法”或者微信搜索imalg_cn 可获取更多有用资源

人体姿态骨架估计算法研究相关推荐

  1. 动作分析 姿态估计_单人或多人的人体姿态骨架估计算法概述

    原标题:单人或多人的人体姿态骨架估计算法概述 如何在大片中实现人物的特效,最终应用人体姿态估计.本博客介绍了使用深度学习技术及其应用的多人姿势估计方法. 人体骨骼骨架以图形格式表达人体运动.基本上,它 ...

  2. P1 Human Pose Estimation人体姿态综述估计调研

    人体姿态综述估计调研 本文简要的说明了人体姿态估计的评价方式以及发展历程,从单人的人体姿态估计到多人人体姿态估计. 并把多人人体姿态估计方法进行了分类,Top-down和Bottom-up,简单的提了 ...

  3. 谷歌极速人脸、手、人体姿态分析Blaze算法家族

    人脸分析.手势识别.人体姿态估计是计算机视觉领域热门话题,基于此有很多炫酷的应用,比如人脸贴纸.手势交互.体感游戏等. 谷歌近两年持续在此领域发明了BlazeFace.BlazePlam.BlazeP ...

  4. 计算机多媒体技术视差估计,立体视觉中视差估计算法研究

    摘要: 立体视觉是利用同一场景在不同姿态下获取的两幅影像得到空间场景三维信息,进而重建立体场景的一门学科,视差估计则是立体视觉的基础.本文在双目立体视觉的基础上重点研究讨论了空间域与频率域两类视差估计 ...

  5. 目标检测YOLO实战应用案例100讲-基于YOLOv5的目标检测与6D位姿估计算法研究

    目录 前言 传统的目标检测算法 基于深度学习的目标检测算法 传统的6D位姿估计算法

  6. 深度学习人体姿态估计算法综述

    https://www.infoq.cn/article/6Btg0-1crfmb7svRGa6H 人体骨架是以图形形式对一个人的方位所进行的描述.本质上,骨架是一组坐标点,可以连接起来以描述该人的位 ...

  7. 人工智能 信道估计 深度学习_深度学习人体姿态估计算法综述

    作者 | Bharath Raj 译者 | 李志 编辑 | Vincent AI 前线导读:人体姿态估计的任务是从包含人体的图片中检测出人体关键点,并恢复人体位姿.随着深度学习的发展,越来越多的深度学 ...

  8. 人体姿态估计(Human Pose Estimation)技巧方法汇总

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:Poeroz https://zhuanlan.zhihu.com/p/10 ...

  9. 动作分析 姿态估计_关于大片人物特效少不了的人体姿态估计,这里有一份综述文章...

    大片中的人物特效如何实现,少不了应用人体姿态估计.这篇博客简介了使用深度学习技术的多人姿态估计方法,及其应用. 人体姿态骨架图 (skeleton) 用图形格式表示人的动作.本质上,它是一组坐标,连接 ...

最新文章

  1. Python 之 风格规范(Google )
  2. 完全用链表实现的贪吃蛇
  3. 【学习笔记】SAP CO模块概念信息(上)
  4. iframe 自适应高度 [记录]
  5. 10-NSPersistentContainer介绍
  6. Javaweb学习笔记——(三)——————JavaScript基础DOM基础
  7. junit测试报告生成_这是东西:jUnit:动态测试生成
  8. linux下安装TensorFlow(centos)
  9. Pycharm远程调试服务器程序
  10. Type erroe in tensorflow
  11. 伪原创工具,AI采集伪原创,内容伪原创工具
  12. “罪魁祸首”已找到,微软回应修改 MIT 开源项目作者版权声明
  13. Docker技术之容器与外部相连
  14. Linux下ORACLE的/u01空间不足解决办法
  15. 远程桌面教程及指定主机远程连接方法
  16. 1.21.3 经典车间生产调度问题智能生产系统中的调度问题
  17. email邮箱登陆验证实例
  18. 真正的自由是节制欲望自律简朴地去生活
  19. gif动图过大怎么处理?怎么压缩gif图片大小?
  20. 1.17.Weblogic创建JMS服务

热门文章

  1. Android百度地图获取海拔高度为4.9e-324
  2. 物联网LoRa系列-24:LoRa终端--PingPong应用程序常见问题解析
  3. vscode 中C++运行编译运行多文件问题总结
  4. 利用Python进行数据分析(四):数据加载、存储与文件格式
  5. c语言万年历算天干地支,万年历计算 之 干支
  6. 安卓系统开发要学linux!算法题+JVM+自定义View,实战解析
  7. msm8974 camera reset pin时序问题汇总
  8. Barsetto百胜图BAV02自助咖啡机,创造便捷生活的无限可能
  9. Jetson AGX Xavier 刷机教程
  10. HTML 练习案例旅游网站首页