基于部分亲和字段PAF实时多人2D姿态估计

摘要
本文提出一种在图片中高效识别多人2D动作。该方法使用无参函数并通过学习图片中每个人身体相关部分,我们称之为PAFs。该方法编译全局环境,允许一个greed booton-up parsing,在实现实行性能的同时保持高精度,而不论图像中有多少人。该架构旨在通过相同序列预测过程的两个分支联合学习部分位置及其关联。我们的方法在COCO2016骨骼点挑战赛上首次提出,并且以显著的优势超过之前方法。

1.介绍
人体2D动作识别会非常关注找到人体各个部分,主要是找骨骼点。推导图像中多人姿态,尤其在实际情况下的人体,是一个特殊的挑战。首先,每张图像出现人数不确定、出现位置不确定、大小不确定。然后,由于人体之间接触、遮挡、躯干的结构会产生空间上的干扰,会使身体躯干的联系变得困难。最后,运行时的复杂度往往随着人数的增加而增加,使实时性成为挑战。
通常方法在每次检测时使用人体编码器并执行当人体姿态估计。这些自上而下的方法直接利用现有技术进行单人姿态估计,但是早起commitment:如果人体检测器失败(比如当一个人太靠近检测器时)就不能做到恢复。此外,这些自上而下方法的运行时间与人数成正比:对于每个检测,运行单人姿态估计器,更多人的时计算成本会更高。相比之下,自下而上的方法更有优势,因为它们提供了早期commitment的健壮性,并且有将运行时复杂性与图像中的人体分离的潜力。同样,自下而上的方法不是直接使用其他人身体部分的全局contextual cues。实际上之前的自下而上方法没有保留效率的提高,因为最终解释需要大量的全局解释。例如,Pishchulin提出的具有创意性的工作。论文【22】中提出的自下而上的方法,采用联合标记部分候选的检测器并将其与个人相关联。然而,在全连接图上接解决整数线性规划问题是NP难问题并且平均处理时间在数小时左右。Insafudinov等人通过[22]的基础上建立了基于ResNet的更强的不减检测器和图像相关的分数,并且大幅提升了运行时间,但是这个方法依旧需要几分钟一个图像,限制了部件提案的数量。【11】中使用的成对表示难以精确回归,因此需要单独的逻辑回归。
在本文中,我们提出了一种多人姿态估计的高效方法,在多个公共基准上具有最新的精确性。通过部分亲和字段(PADs)呈现关联分数的第一个自下而上的表示,该集合是在图像域上编码肢体的位置和方向的一组2D矢量场。我们证明,同时推断检测和关联的这些自下而上的表示可以充分良好地编码全局上下文,一允许贪婪解析获取高质量的结果,仅占计算成本的一小部分。我们已经公布了全面重现性的代码,介绍了多人2D的第一个实时系统姿态检测。

2.方法
图二演示了整个方法的整体流程。系统获取一个w*h的彩色图像作为输入,输出图像中的每一个人的骨骼关键点的2D位置。首先,前馈网络同时预测一组预测身体部位2D confidence map S,一组2D部位关系矢量L,其作用是编码部位之间相似性程度。集合有J个置信映射,每一个部分。集合有C个vector fields,每一个分支,,每一个图像位置在LC中编码成2D矢量。最后,通过greed inference(图2)解释confidence maps和affinity fields,并输出图像中的所有人的2D关键点。
2.1 同时检测与关联
我们的结构展示在图3中,编码部分到部分同时预测检测器confidence maps和affinity fiekds。网络分成两个分支:以米色显示的顶部分支,预测confidence maps,以蓝色显示的底部分支,预测affinity fields。每个分支是迭代预测模型,通过Wei等人【31】,细化连续阶段的预测,在每个预测中进行中级监督。
图像首先通过卷积神经网络(有VGG-19[26]的前10层进行初始化)并生成一组特征映射集合F,该集合被输入到第一阶段。在第一阶段,网络产生了一组检测器的confidence maps。 和一组part affinity fields
,这里p和O是第一阶段CNN的推导。在后续的每个阶段,前一阶段的两个分支的预测将联合图像原始特征F,以产生更加精确的预测:

           图3  二分支

图4展示了通过阶段提取confidence maps 和affinity fields。为了引导网络迭代预测第一个分支的身体部分confidence maps,和第二个分支部分的PAF,我们在每一个分支后面都加上一个损失函数。我们在估计预测和实际maps与部分之间使用L2损失函数。这里,通过空间损失函数的权重我们可以解决一些实际问题,比如有些数据没有给所有的人做了标记。在阶段t的两个分支的损失函数:
其中Sj是真实部分confidence map,Lc是真实部分affinity vector field,W是二进制掩码,当图像上位置p的标识消失的时候w(p)=0。掩码为了避免在训练的时候过分惩罚正确的预测。每个阶段的中间监督通过定期补充梯度来解决梯度消失的问题,最后总的目标是:

2.2 Confidence Maps for Part Detection
为了评估在训练中公示5的fs,我们从带注释的2D骨骼点产生真实的confidence maps S。每个confidence map是发生在特定身体部位的像素位置的2D表示。理想情况下,如果图像中只出现一个人,且对应的部位可见,则每个confidencde maps中都存在单个峰值;如果图像中出现多个人,则每个人k中应该有对应的部分j的峰值。
首先生成每个人k的单个confidence maps。其中是图像中人体k的身体部分j的真实位置。在位置的的数值为:

其中控制峰值的传递。通过网络预测的真实confidence map是通过max运算符对各个confidence maps进行聚合:

我们取得最大的confidence maps 而不是平均值,使得峰值接近精度保持不变,如下面所示:

在测试的时候,我们预测confidence maps(如图4第一行所示),并且执行非最大抑制来获得对圣地部位的候选。

2.3Part Affinity Fields for Part Association
给定一组检测到的身体部位(如图5a中的红色和蓝色点),怎么样知道在不知道图像中人数的情况下将它们组合成完整的身体?我们需要对每一个检测出来的身体的部分进行关联度检测,以至于他们属于同一个人。一种方法是检测每个肢体的间的额外中点,并检测候选人之间的发生概率,如图5b所示。然而,当人们聚集在一起的时候,这些中点可能会误连接(图5中的b)。这种误连接是由于两个表现的限制:(1)仅仅编码了每个躯体的位置,没有编码两个方向。(2)减少了躯体到单个点的支持。
为了解决这些局限性,我们提出了一种新颖的特征称之为part affinity fields ,保留了两者的位置和方向信息在整个躯干(图5c)。每一个关节的2D表示就是part affinity,如图1d:对于特定枝干的区域中的每一个像素,2D矢量编码的方向是从一个从躯体的一部分到达另一个部分。每种类型的躯干具有连接其两个相关联的身体部分的相应的亲和力场。
单个躯干的如下图表示。使得表示为图像中的人k的身体躯干c的部位j1和j2的真实位置。如果在躯干上冲j1到j2上有一个单位向量其数值为;对于其他的关键点,这个矢量为0值。

图5中fL在训练的时候,我们定义了真实的part affinity vector 区域,像素点在图像中的:

这里是躯干的单位向量。躯干上的点集合p是定义为线段上的距离阈值内的那些电,

这里躯干的宽度是像素的宽度,长度是
并且两者垂直。
froundtruth part affinity 平均affinity field 图像中所有人

其中nc(p)是所有人k在点p上的非零向量的数量(比如躯干的像素被不同人覆盖住)。
在测试中,我们通过计算线性积分测量来候选部分检测之间的关联对应的PAF,沿着连接部分位置的线段。换句话说,我们可以通过联系测试者的身体部分形成候选者的躯干预测的PAF。具体的,我们对两个候选部分位置dj1和dj2,沿着线对预测部分和度场Lc进行采样,来衡量他们关联程度:
这里p(u)插入一个两个人身体部分dj1dj2
实际上,我们通过对u的均匀间隔值进行采样和求和来逼近积分。

2.4MultiPerson Parsing using PAFs
我们检测进行非线性最大抑制在confidence maps 以获得离散的部分候选位置集合。对于每个位置,我们可能结果候选部分,因为在图像中有多人或者虚假位置(图6b)。这些候选人定义了一群可能的躯干。使用线性积分对每个候选躯干计算PAF,如方程式10。找到最佳匹配问题对应于在k维下的匹配问题是已知的NP难问题。在这篇文章中我们提出一个greed relaxation,一直产生高质量的匹配。我们推测的成对关联分数隐含地编码全局信息,原因是由于PAF网络的大容量领域。
正式而言,我们第一次选择一组多人身体部分检测器Dj,这里
随着Nj是各种j部分的,是身体部分j的第m个候选坐标。这些部分待确定的点还需要联系其他点(同一个人的),或者说是我们需要一对连接躯体的一对点。我们定义
为两个相互连接的的可能点,其目的是发现所有可能连接中的最优的估计,
如果我们将两个单独的部分(比如脖子和右髋)认为是一个躯干c上的两个部分j1和j2,发现其最优联系减少成了二分类图匹配的参数最大化问题。如图5b所示。在这个图匹配问题上,图中节点是身体部分估计点Dj1和Dj2,边表示所有一对带预测点的可能连接诶方式。此外每一个边的权重由10式(part affinity connections)。二分类匹配是使用不同两个边不共享一个节点的子集问题。我们的目标是发现最大化权重的边:
这里Ec是从躯干c上的权重,Zc是躯干c上的Z的组合,Emn是part affinity 是Dj1和Dj2之间的部分(公式10)。公式13和公式14确保没有两个边共享一个节点,不会出现两个躯干共享一个部分。我们使用Hungarian algorithm来选择最优匹配。
当涉及到发现多人姿态匹配,确定是一个Z是k维匹配问题。这是一个NP难问题且有许多relaxations exits.在本文中,我们添加两个relaxations的优化,尤其在我们的主领域。首先,我们用最小边来获得人体动作的生成树而不是运用完整的图,如图6c所示。第二,我们进一步将匹配问题分解为一个二分法匹配问题,并独立确定相邻树节点匹配,如图6d。在3.1节中我们给出了详细的比对结果,其中表明最小化greedy最接近全局解决方案,只占计算成本的一小部分。原因是相邻节点间的关系是由PAFs建模的,但在内部,非相邻树节点的关系由CNN隐式建模。这种属性出现是因为CNN收到大的接受场的训练,来自不相邻的树节点的PAF出现也影响的PAF.
通过两个松弛,优化被分解成:
因此,我们通过12-14获得每个肢体待连接独立。随着所有的躯干连接,我们可以将所有待检测点组合成多人全身姿态。我们的优化方法树结构比完全连接图像上所有的店优化快几个数量级。

3.结果
我们通过两个多人动作识别评判标准来判断性能好坏:(1)MPII 2016多人数据集(2)COCO2016关键点挑战赛。这两个数据集包含许多现实生活中具有挑战的场景,包括人群的拥挤,尺度变化、闭塞,人体接触。我们的方法是在COCO2016关键点挑战赛上表现最好的方法,并且显著的超过了在多人MPII数据集上原有的方法。我们提供了运行时分析来量化运行效率,公式10从公式上展示了定性的结果。

3.1 Results on the MPII MultiPerson
Dataset
通过在MPII数据集上比较,我们使用工具箱来对所有在PCKh阈值的身体部分进行平均查准率(mAP)。表1中使用一组288个子测试机,整个MPI测试集,以及自己的验证集上和已有方案进行了对比。除此之外,我们比较了处理每张图片所用时间。在288个图像子集中,我们的方法比已有的最好的自下而上的方法高出8.5%。更加明显的是,我们的方法比已有的方法小大约六个数量级。更多运行时间的分析在3.3部分。对于整个MPII部分,我们的在模型不扩大的情况下大幅胜过了已有的方法13%。在三种规模上(x0.7,x1,x1.3)进一步增大到75.6%mAP。比已有最好的自下而上方法更高效是因为我们采用新的特征表示(PAFs)来联系各个人体部位。以树状结构为基础,我们的greedy parsing 方法比基于全连接树状图形优化公式有更好的准确率。
在表2中,我们通过验证集比较了图6中不同骨骼结构,通过了MPII数据集中选出343张图像。以全连接图像为基础训练模型,并选择所有边来比较结果(图6b,),最小化树状边(图6c),以及通过greed algorithm的图6d。它们类似的表现展示了最小边的数量就足以满足。我们训练了另一个只能学习最小边缘以充分利用网络容量的模型(本文所提出的模型),如图6d(sep)所示。该方法在保持效率的同时优于6c,甚至优于6b。主要原因是部件联系的通道更小(13边的树状和91边图)使得训练更加容易。
图7展示了验证的消融分析组。对于PCKh-0.5的阈值,使用PAFs的结果优于使用中点表示的结果,具体而言,比单中点高2%,比两中点高2.3%。PAFs,编码人体位置和方向信息能更好的区分常见的交叉情况,使用伪标记的人体面具训练进一步提高了2.3%,因为避免了在训练过程中损失真正的真正预测。如果我们用解析算法与真实位置坐标,我们能获得88.3%。在图7中a中,由于没有定位误差,我们用GT检测解析mAP在不同阈值之间是恒定的。使用GT连接我们的关键点得到81.6%。值得注意的是,使用基于OAFs的解析算法获得类似使用GT连接的mAP效果(79.4%vs81.6%)。这表明了基于PAF的解析在联合正确部位时相当健壮。图7b表明阶段性能表示。mAP随着完美的细化框架而单调增加。图4展示了阶段预测的质量改进。

3.2 Results on the COCO Keypoints Challenge
COCO训练集有超过100k人的实例组成,标有100多万个关键点(身体部分)。测试集包含“测试挑战”,“测试开发”,“测试标准”子集,每个大约有20k张图像。COCO评估对象关键点相似度(OKS),并使用超过10个OKS阈值的平均精度(AP)作为主要竞争度量。OKS对对象中的IoU起着相同的作用,它是从人的尺度和预测点GT间的距离。表3表示了顶级队伍在比赛中的表现。值得注意的是,我们的方法在小规模(APm)低于自伤而下的精度要低。因为我们的方法必须在一幅图像中处理所有人的图像,其范围更大。相比之下,自上而下的方法可以将每个检测到的区域的贴片重新调整到更大的尺寸,从而在较小的尺度下遭受更小的下降。
在表4中,我们实验一个自己的自我比较COCO验证集,随机选择1160张图像。如果我们使用GT边界框和单人CPM,通过使用CPM的自上而下的方法达到一个上限,62.7%AP。如果我们使用最新的object detedtor,Single Shot MultiBox Detector(SSD),性能下降10%。这种比较表明自上而下的方法的性能人体检测器。相反的是,我们自下而上的方法获得58.4%AP。如果我们通过单人CPM 的方法结果估计每个重新调整区域,按照我们的方法解析,我们获得了2.6%的AP总体增长。注意我们只更新两种方法的预测估计足够好,提高精度与recall。我们希望通过更大规模能进一步提升自下而上的方法。图8展示了我们方法在COCO验证集上的误差细分。大多数误分类来自于不精确的本地,而不是混乱。这表明识识别身体部位外观方面,捕获空间依赖性有很多的改进空间。

扫描二维码关注公众号,回复: 3745269 查看本文章

3.3. Runtime Analysis
为了分析我们方法的运行时的性能,我们收集不同的人数的视屏。原本帧大小是1080*1920,调整为368*654并在测试时自动适合GPU内存。运行时使用一台NVIDIA GeForce笔记本执行CTX-1080GPU(在图8d),我们使用人体检测单CPM作为自上而下的比较,其中运行时间大概与人数成正比。相比之下,自下而上的方法运行时间随着人数的增加而缓慢增加。运行时间有两部分组成:(1)运行时复杂度为O(1)的CNN处理的时间,不断变换的人数(2)其运行时复杂度为O(n2),多人解析时间,这里n表示多人。然而,解析时间并不会显著影响整个运行时间,因为它比CNN小两个数量级,例如对于九个人,分析解析需要0.58ms,而CNN处理时间需要99.6ms。我们的方法已经对于19人视屏实现了8.8fs速度。

  1. Discussion
    时刻的社会意义,超过其他事情,使人们制作照片和视屏。我们的照片捕获了人们有意义的时刻:生日,婚礼,假期,朝圣,体育赛事等等。让机器明白这些这些照片的意义,就需要知道图像中每个人。机器,实时赋予这种感觉,就能反应甚至参与个人及社会行为的人。
    在本文中,我们考虑了这一关键因素:实时在图像中检测多人2D姿态检测算法。提出编码人体躯干位置和方向的关键点联系的非参数表示。其次,我们设计了一个联合学习部分和架构。第三,我们展示了greed parsing algorithm足以产生身体姿态的高质量解析,即图像中的人数增加,也能保持效率。在图9中展示了代表性的故障案例。我们公开发布了我们的代码(包括经过培训的模型),以确保完全重新性,并鼓励未来在该领域的研究。

猜你喜欢

转载自blog.csdn.net/qq_36893052/article/details/79470449