姿态估计——PifPaf:Composite Fields for Human Pose Estimation

本文仅作为自己学习过程的一个记录。

论文地址:https://arxiv.org/pdf/1903.06593.pdf

GitHub地址:https://github.com/vita-epfl/openpifpaf

官方API:https://vita-epfl.github.io/openpifpaf/intro.html

浏览器在线测试:https://vita-epfl.github.io/openpifpafwebdemo/

https://www.cnpython.com/pypi/openpifpafwebdemo

使用接口文档:https://www.cnpython.com/pypi/openpifpaf

使用方法  :

预测单张图片:

运行效果:

 

调用本地服务,使用浏览器:

运行效果:

 

Abstract

我们提出了一种新的自下而上多人2D人体姿态估计方法,特别适合城市交通,如自动驾驶汽车和送货机器人。新的方法PifPaf使用一个Part Intensity Field(PIF)来定位身体部位,一个Part Association Field(PAF)将身体部位相互关联,形成完整的人体姿势。我们的方法在低分辨率和拥挤、杂乱和闭塞的场景中优于以前的方法,这得益于(i)我们新的复合场PAF编码细粒度信息,(ii)回归时选择了包含不确定性概念的拉普拉斯损失。我们的架构是基于完全卷积、单镜头、无盒的(box-free)设计。我们在标准COCO keypoint任务上的表现与现有的最先进的自下而上方法相同,并在运输领域的改进COCO keypoint任务上产生最先进的结果。

1.Introduction

        在流行的数据收集运动推动下,在估计人类“in the wild”姿势方面取得了巨大进展。然而,当谈到“交通领域”,如自动驾驶汽车或社交机器人时,我们仍然远远没有达到可接受的精度水平。虽然姿态估计不是最终目标,但它是人类的一种有效的低维和可解释的表示,足以及早发现自主导航系统的关键动作(例如,检测打算穿过街道的行人)。因此,人类姿态检测的效果越好,无人驾驶系统就会越安全。这直接关系到对感知人体姿态所需的最低分辨率的限制。


        在本工作中,我们解决了一个已建立的多人2D人体姿态估计问题。我们具体解决了自主导航设置中出现的挑战,如图1所示:(一)宽视角,对人类的分辨率有限,即高度为30-90像素,以及(二)行人相互遮挡的高密度人群。当然,我们的目标是高召回和精确。

        虽然在深度学习时代之前,姿态估计已经被研究过,但一个重要的基石是OpenPose[3]的工作,其次是MaskR-CNN[18]。前者是自下而上的方法(检测关节没有人检测器),后者是自顶向下的(首先使用人检测器,并在检测到的边界框中输出关节)。虽然这些方法的性能在足够高的分辨率图像上是惊人的,但它们在有限的分辨率范围内以及在人类部分相互遮挡的密集人群中表现不佳。

        在本文中,我们提出将姿态估计[3]中的场的概念扩展到标量场和向量场到复合场。我们提出了具有两个头部网络的神经网络体系结构。对于每个身体部分或关节,一个头部网络预测置信分数,精确的位置和这个关节的大小,我们称之为Part Intensity Field(PIF),它类似于融合的零件置信图(fused part confidence map)。另一个头部网络预测部件之间的关联,称为Part Association Field (PAF),它是一种新的复合结构。我们的编码方案具有在低分辨率激活映射上存储细粒度信息的能力。精确回归到关节位置是至关重要的,我们使用基于拉普拉斯 Laplace 的L1损失[23]而不是 vanilla L1损失[18]。我们的实验表明,在低分辨率图像上,我们的性能优于自下而上和建立的自上而下的方法,同时在高分辨率上有同样的表现。该软件是开源的,可在线使用。

 2.Related Work

       在过去的几年中,最先进的姿态估计方法是基于卷积神经网络。它们的性能优于传统的基于图形结构[12,8,9]和变形零件模型的方法。深度学习始于DeepPose,它使用一系列卷积网络进行全身姿态估计。然后,一些工作不是预测绝对人体关节位置,而是通过预测每次迭代的误差反馈(即校正)来细化姿态估计[4,17]或者使用人体姿态细化网络来利用输入和输出空间[13]之间的依赖关系。现在,在提出替代神经网络架构方面存在着军备竞赛:从卷积姿态机[42],堆叠沙漏网络[32,28],到循环网络[2],以及voting 模式,如[26]。所有这些人类姿态估计方法都可以分为自下而上和自上而下的方法。前者先估计每个身体的关节,然后将它们分组,形成一个独特的姿势。后者首先运行一个人检测器,并在检测到的包围盒中估计身体关节。

       Top-down methods

       自顶向下方法的例子有PoseNet[35]、RMPE[10]、CFN[20]、Mask R-CNN[18,15]以及最近的CPN[6]和MSRA[44]。这些方法得益于人类探测器和大量标记的bounding-box的进步。利用这些数据的能力将检测器的需求转化为优势。值得注意的是,Mask R-CNN处理关键点检测作为一个语义分割任务。在训练过程中,对于每个独立的关键点,目标被转换为包含单个前景像素的二进制掩码。一般来说,自顶向下的方法是有效的,但当人包围框重叠时,会很难。

      Bottom-up methods

      自下而上的方法包括Pishchulin与DeepCut[37]和Insafutdinov与DeeperCut[21]的开创性工作。它们解决了与整数线性程序的零件关联,该程序导致单个图像的处理时间为小时。后来的工作加快了预测时间[5]并拓宽了跟踪动物行为的应用。其他方法通过使用贪婪解码器与其他工具相结合大大减少了预测时间,Part Affinity Fields,Associate Embedding  PersonLab。最近,MultiPoseNet[24]开发了一种将检测、分割和姿态估计相结合的多任务学习体系结构。其他中间表示已经建立在图像平面上的二维姿态估计之上,包括三维姿态估计[29]、视频中的人体姿态估计[36]和密集姿态估计[16],这些都将从改进的二维姿态估计中获益。

3.Method

         我们的方法的目的是估计人在拥挤的图像中的姿势。我们处理与低分辨率和部分闭塞行人有关的挑战。自顶向下的方法,特别是当行人被其他行人遮挡时,bounding boxs 发生碰撞。以前的自下而上方法是无边框的,但仍然包含用于定位的粗特征映射。 我们的方法不受任何基于网格的关节空间定位约束,并且具有估计相互遮挡的多个姿态的能力。

        图2显示了我们的总体模型。它是一个共享的ResNet[19]基础网络,有两个头部网络:一个头部网络预测关节的置信度、精确位置和大小,我们称之为部件强度场(PIF),另一个头部网络预测部件之间的关联,称为部件关联场(PAF)。 我们把我们的方法称为PifPaf。在详细描述每个头部网络之前,我们简要地定义了我们的字段表示法。

    3.1. Field Notation
 Filed是解释图像顶部结构的有用工具。复合场的概念直接激励了我们提出的Part Association Fields。我们将使用i,j在空间上枚举神经网络的输出位置,x,y为实值坐标。在域(i,j)∈Z2上用fij表示一个场,并且可以具有同域(场的值)标量、向量或复合场。例如,标量场sij和向量场vij的组合可以表示为{s,vx,vy},这相当于用向量场“覆盖”置信映射。

   

    3.2. Part Intensity Fields
 Part Intensity Fields (PIF) 检测和精准定位身体部位。[35]介绍了一种用于关键点检测的置信图与回归的融合方法。在这里,我们用复合字段的语言重述这种技术,并添加一个规模σ作为一个新的组件来形成我们的PIF字段。

    PIF具有复合结构。它们由用于置信度的标量分量、指向特定类型中最接近的主体部分的向量分量和用于关节大小的另一个标量分量组成。更正式地说,在每个输出位置(i,j),PIF预测置信度c、带扩展b的向量(x,y)(第3.4节中的详细信息)和标度σ可以写成pij={pijc,pijx,pijy,pijb,pijσ}。

     

       PIF的置信度图非常粗糙。图3a显示了用于示例图像的左肩的置信度图。为了改进这个置信图的定位,我们将它与图3b所示的PIF的矢量部分融合成一个高分辨率的置信图。

这个方程强调了无网格定位的性质。

关节的空间范围σ是作为领域的一部分学习的。一个例子如图3c所示。产生的高度局部化关节的特征图用来姿态生成和新关节的评分。

3.3. Part Association Fields

      将关节组合成多个姿势在拥挤的场景中是很有挑战性的,在这些场景中,人们部分地相互遮挡。尤其是两个步骤——自上而下的方法——在这种情况下的挑战:首先,他们检测人bounding boxes,然后他们试图为每个bounding boxes找到一个关节类型。自下而上的方法是无边框的,因此不受边框冲突问题的影响。

       我们提出自下而上的部件关联场(PAF),以连接在一起的位置成姿势。       图4显示了PAF方案的说明。 在每个输出位置,PAFS预测一个置信度,两个向量到这个关联连接的两个部分,两个宽度b(详见3.4节),用于回归的空间精度。PAFs表示:

左肩和左髋关节之间的关联可视化如图5所示。

      这两个端点都是局部化的,回归不受离散化的影响,因为它们发生在基于网格的方法中。这有助于准确地解决近距离人员的联合位置,并将其解析为不同的annotations。

     在COCO数据集中,Person类有19个连接,每个连接两种类型的连接。例如,有一个右膝对右踝连接。在特定特征映射位置构造PAF组件的算法包括两个步骤。首先,找到两种类型中任何一种最接近的关节,它决定了向量分量之一。第二,ground truth姿态决定表示关联的另一个向量分量,第二个关节不一定是最接近的,可以很远。

     在训练时,fileds的组件必须指向应该关联的部分。类似于向量场的x分量总是指向与y分量相同的目标,PAF场的分量必须指向相同的部分关联。

3.4. Adaptive Regression Loss

人类姿态估计算法往往与人类姿态在图像中所能具有的尺度的多样性作斗争。虽然一个大的人的关节的定位错误可能很小,但同样的绝对错误可能是一个小的人的主要错误。我们使用L1型损失来训练回归输出。我们通过在回归损失(SmoothL1  or Laplace loss )中注入尺度依赖来提高网络的定位能力。光滑的L1损失允许调整半径r光滑周围的原点,在那里它产生更软的梯度。

3.5. Greedy Decoding

解码是将神经网络的输出特征映射转换成17个坐标集来进行人体姿态估计的过程。我们的过程类似于快速贪婪解码。一个新的姿态是由PIF向量seed的高分辨率置信图f(x,y)在方程1中的最高值。从seed开始,与其他关节的连接是在PAF字段的帮助下添加的。算法快速,贪婪。一旦连接到一个新的关节,这个决定是最终的。

多个PAF关联可以在当前和下一个联合之间形成连接。给定起始关节~x的位置,计算PAF关联a的分数s:

其中考虑了该连接AC的置信度、用双尾拉普拉斯分布概率校准的第一向量位置的距离和第二向量目标位置f2的高分辨率部分置信度。为了确认新关节的propose位置,我们运行反向匹配。这个过程被重复,直到得到一个完整的姿态。我们在关键点级别应用非极大抑制。抑制半径是动态的,基于PIF场的预测尺度分量。训练和测试期间,我们不会改进任何fields。

4.Experiments

      

5.Conclusions

我们开发了一种新的自下而上的多人2D人体姿态估计方法,该方法解决了在交通领域特别普遍的故障模式,即在自动驾驶汽车和社交机器人中。我们证明了我们的方法在低分辨率的情况下优于以前最先进的方法,并且在高分辨率下的性能是标准的。所提出的PAF字段也可以应用于其他任务。在图像域内,预测结构化图像概念是令人兴奋的下一步。

猜你喜欢

转载自blog.csdn.net/qq_41251963/article/details/110290058