0
点赞
收藏
分享

微信扫一扫

OpenPose论文阅读

OpenPose论文阅读_二维


文章目录

  • ​​简介​​
  • ​​综述​​
  • ​​通用的方法​​
  • ​​最初的自底向上的方法​​
  • ​​OpenPose的方法​​
  • ​​置信图​​
  • ​​PAF​​
  • ​​偶匹配​​
  • ​​结构​​
  • ​​OpenPose的人体姿态识别流程​​
  • ​​神经网络预测​​
  • ​​找到关节​​
  • ​​找到肢体连接​​
  • ​​拼装肢体结构成人​​
  • ​​参考​​

简介

本文的总结将让您更好地理解OpenPose的高级概念。因为我们将专注于他们的创造性管道和结构,在本总结中不会包含困难的数学或理论。
OpenPose论文阅读_二维_02

综述

在这项工作中,这篇paper提出了一种实时的方法来检测图像中多人的二维姿态。

该方法使用一种非参数表示,我们称之为部分亲和域(Part Affinity Fields, PAFs),学习将身体部位与图像中的个体联系起来。这种自底向上的系统实现了高精度和实时性能,无论图像中的人数。

为什么难?
让我们先来谈谈是什么让估计多人在一张图片中的姿势如此困难。这里列出了一些难题。

  • 人数不详
  • 人们可以以任何姿势或比例出现
  • 人们的联系和重叠
  • 运行时的复杂性随着人数的增加而增加

通用的方法

OpenPose绝对不是第一支面临这种挑战的团队。那么其他团队是如何解决这些问题的呢?
OpenPose论文阅读_神经网络_03
一种常见的方法是使用一个人检测器并对每个检测执行单人姿态估计。

这种自上而下的方法听起来非常直观和简单。然而,这种方法有一些隐藏的陷阱。

  • 早期承诺:当人员检测失败时,没有恢复资源
  • 运行时间与人数成正比
  • 即使人检测失败,也要执行姿态估计

最初的自底向上的方法

如果自上而下的方法听起来不是最好的方法。那我们为什么不试试自下而上呢?

毫不奇怪,OpenPose并不是第一个提出自底向上方法的团队。其他一些团队也尝试了自底向上的方法。然而,他们仍然面临着一些问题。

  • 在最终解析时需要昂贵的全局推理
  • 没有保留效率上的收益
  • 每张图片需要几分钟的时间

OpenPose的方法

OpenPose论文阅读_神经网络_04
(a)将整个图像作为CNN的输入
(b)预测人体部位检测的置信度图
©预测部件关联的PAFs
(d)进行一组二部匹配
(e)组装成一个全身姿势

置信图

置信图是对特定身体部位可以被定位的信念的二维表示。单个身体部分将在单个映射上表示。所以,映射的数量和身体部位的总数是一样的。

PAF

部分亲和域(Part Affinity Fields, PAFs),一组二维矢量域,在图像域上编码肢体的位置和方向。
OpenPose论文阅读_自底向上_05

偶匹配

OpenPose论文阅读_二维_06

当涉及到寻找多人的全身姿势时,确定Z是一个k维匹配问题。这个问题是NP-Hard,存在很多松弛。在这项工作中,我们在优化中添加了两个专门针对我们的领域的松弛。

  • 松弛1:选择最小边数得到生成树骨架。
  • 松弛2:进一步将匹配问题分解为一组二部匹配子问题。独立确定相邻树节点的匹配。

结构

原始结构
OpenPose论文阅读_神经网络_07
原来的结构被分成两个分支

  • 米色分支:预测信心图
  • 蓝色分支:预测PAF

两个分支都被组织成一个迭代预测体系结构。前一阶段的预测将与原始特征F连接起来,产生更精确的预测。

新结构
OpenPose论文阅读_自底向上_08

第一组阶段预测PAFs L t,最后一组阶段预测置信图S t。将每个阶段的预测结果与其对应的图像特征进行连接,用于后续的每个阶段。

与他们之前的出版物相比,他们有了重大突破,提出了一种新的结构。从上面的结构中可以看到,置信度图预测是在最精细的PAF预测之上运行的。

为什么?原因其实很简单。

直观地说,如果我们看PAF通道输出,可以猜测出身体部位的位置。

OpenPose的人体姿态识别流程

OpenPose算法包含以下四个步骤:
1、神经网络预测
2、找到关节
3、找到肢体连接
4、拼装肢体构成人
下面将对这4个步骤进行详细讲解。

神经网络预测

OpenPose论文阅读_神经网络_09

网络结构如图所示,首先通过vgg-19进行特征提取,然后通过两分支的多阶段CNN,第一分支用来预测confidence map St,第二分之用来预测PAFs Lt。在每个阶段之后,来自两个分支的预测以及图像特征被连接用于下一阶段。

为了既增加感受野,同时局部不能模糊,原始图像以四个固定的scale缩放后进入神经网络,将四个预测值求平均。右膝盖与右小腿的在四个scale下的heatmap与paf如图所示:
OpenPose论文阅读_神经网络_10
这样,我们输入的是image∈Rwh3,输出为heatmap_avg∈Rwh19 与paf_avg ∈Rwh38。

找到关节

通过第一步,我们获得了关节的heatmap。这一步,要从heatmap提取关节的具体位置。应用非最大抑制(NMS)算法来获得heatmap中的峰值,值为置信度作为该part的score。关节示意图输出为:
OpenPose论文阅读_神经网络_11

找到肢体连接

通过第二步,我们获得了关节的信息(位置,分数),这一步,用关节信息和paf来获得肢体连接。模型包含19个肢体,确定每一肢体所对应的两个part和paf,将两个part之间的paf信息进行积分所得结果作为该肢体的置信度。

例如,要寻找所有的左上臂,已经有左肩和左肘part信息,以及左上臂的paf信息。将左肩中的所有part与左肘的所有part进行匹配,计算两个part间的paf信息的积分,作为该part相连的score。最后将所有score排序,来确定part之间是否相连。

这样我们就获得了所有的连接信息,每一个连接都可以看作是一个肢体。右小腿paf图如下:
OpenPose论文阅读_自底向上_12

拼装肢体结构成人

在获得了所有肢体后,将拥有相同关节的肢体看作是同一个人的肢体,如下所示:
OpenPose论文阅读_神经网络_13

参考

​​https://towardsdatascience.com/openpose-research-paper-summary-realtime-multi-person-2d-pose-estimation-3563a4d7e66​​


举报

相关推荐

0 条评论