code: ​​https://github.com/CMU-Perceptual-Computing-Lab/openpose_train​


文章目录

摘要

我们提出了第一个二维全身姿态估计的单网络方法,它要求同时定位身体、脸、手和脚的关键点。由于采用自底向上的方法,无论图像中有多少人,我们的方法都能保持恒定的实时性能。该网络通过一个改进的架构在一个单一的阶段使用多任务学习进行训练,该架构可以处理身体/脚和脸/手关键点之间的尺度差异。我们的方法在OpenPose[9]的基础上有了很大的改进,OpenPose[9]是目前为止唯一能够在速度和全局精度方面进行全身姿态估计的方法。与[9]不同的是,我们的方法不需要为每只手和每一张脸的候选对象运行一个额外的网络,这使得它在多人场景中运行速度大大提高。这项工作直接导致减少计算复杂度的应用程序,需要2D的整体信息(如。,VR / AR,重新将)。此外,它产生更高的准确性,特别是对遮挡,模糊,低分辨率的脸和手。

介绍

OpenPose[9] 的早期版本,它遵循一个多阶段的方法。首先,通过自底向上的方式从输入图像[10]获得所有的身体姿势,然后为每个被检测到的人运行额外的脸部和手部关键点探测器[58]。作为一种多网络方法,它直接使用现有的身体、脸部和手部关键点检测算法。

但是,它存在的问题: 如果身体探测器失败,特别是在部分可见的情况下,只有脸或手在图像中可见,则无法恢复。此外,它的运行时间与图像中的人的数量成正比,使得整个身体的姿态估计对于多人和实时应用来说非常昂贵。一种单阶段的方法,即在一遍中估计多人的整体姿势,将更有吸引力,因为它将产生一个固定的推理耗时,独立于场景中的人数。

不幸的是,身体/脚和 脸部/手部关键点之间存在固有的尺度差异。前者需要一个大的接受域来学习人之间的复杂交互(接触、遮挡、肢体关节),而后者需要更高的图像分辨率。因为脚的姿势高度依赖于身体的姿势,不像脸和手,它理想的比例是与身体的比例一致的。

此外,尺度问题有两个关键后果。首先,带有完整注释的数据集目前不存在,因为每个关键点集的特征导致了不同类型的数据集。身体数据集主要包含多个人物的图像,通常导致脸和手的分辨率相当低,而脸和手数据集主要包含单个、裁剪的脸或手的图像。其次,单网络模型的架构设计必须不同于最先进的关键点检测器,以提供高分辨率和更大的接受域,同时提高多网络方法的推理运行时间。

为了克服数据集的问题,我们采用了多任务学习(multi-task learning, MTL),这是一种经典的机器学习技术[19,36,73],其中相关的学习任务通过利用它们之间的共性和差异来同时解决。在此之前,MTL已经成功地训练了一个body-foot关键点探测器[9]。然而,由于潜在的尺度问题,它并没有推广到全身评估。因此,本文的主要贡献总结如下:

  • 创新点: 我们提出了一种结合改进的体系结构设计的MTL方法,为具有不同规模特征的各种关键点检测任务训练统一的模型。这就产生了第一个用于全身多个体姿态估计的单网络方法。
  • 速度: 在测试时,无论检测到多少人,我们的单网络方法都提供了一个恒定的实时推断,大约比最先进的(OpenPose[9])的n人图像快n倍。此外,它是在一个单独的阶段进行训练,而不需要对每个单独的任务进行独立的网络训练。这大约减少了一半的总训练时间。
  • 准确性: 我们的方法也比之前的OpenPose产生了更高的准确性,特别是在脸部和手部关键点检测上,更适用于遮挡、模糊和低分辨率的脸部和手部。

相关的工作

为了克服目前最先进的全身姿态估计的问题,我们的目标是应用多任务学习(MTL)从四个不同的任务: 身体,脸,手,脚检测,来训练一个单一的全身估计模型。应用于深度学习的MTL可分为隐含层的软参数共享和硬参数共享。在软参数共享中,每个任务都有自己的模型,但将参数之间的距离正则化,以鼓励模型之间的相似性[16,70]。硬参数共享是计算机视觉中最常用的MTL方法,在许多应用中得到应用,如脸部对齐[73]或表面法向预测[36]。

方法

我们的系统采用了连续流的方法,使用RGB图像为每个检测到的人生成一组完整的人体关键点。这个全局管道如图2所示。提取的关键点包含脸部、躯干、手臂、手、腿和脚的信息。提出的全身关键点检测器的网络结构可以基于任何最先进的全身关键点检测器。为了公平地将我们的结果与OpenPose[9,10,58]以前的版本进行比较,我们重用了它的Part Affinity Field (PAF) 网络架构。
Single-Network Whole-Body Pose Estimation论文简读_sed

1. PAF-based Body Pose Estimation

在这里,我们回顾了基于PAF的方法的主要细节。我们请读者参阅[10]以获得完整的描述。这种方法迭代地预测部件关联字段(PAFs), PAFs对部件之间的关联进行编码,并检测置信度图。每个PAF被定义为一个2D方向向量,它从一个关键点指向另一个关键点。

我最初的输入图像进行卷积网络(pretrained VGG-19[59]),生成一组特征图F .接下来,F是送入第一阶段φ(1)网络的φ,预测一组PAFs L (1)。对于每个后续阶段i,前一阶段L(t−1)的PAFs被连接到F上,并被细化生成L(t)。经过N个阶段,我们得到最终的PAF通道集L=L(N)。然后,F和L连接,输入网络ρ,预测关键点置信度图,也就是说,

Single-Network Whole-Body Pose Estimation论文简读_神经网络_02
在每一阶段结束时,应用L2损失函数,对于每个置信度图©、PAF(f)通道 的每个像素§ 比较估计的预测值和groundtruth图(S*)、字段(L*)©:

Single-Network Whole-Body Pose Estimation论文简读_神经网络_03
C和F 是各阶段的预测的置信度图和PAF的数量, W是一个二进制掩模, 当第i个置信度图或者PAF通道的第p个像素的注释丢失时,Wi § = 0。NMS执行置信度图上获取一组离散的身体部分候选的位置。最后,使用 bipartite graph matching [65]将共享相同部分检测候选的连接装配成图像中每个人的全身姿态。

2. Whole-Body Pose Estimation

我们希望整个身体的姿势估计是准确的,但也要快。训练一个单独的基于PAF的网络来预测每一个单独的关键点集将会达到第一个目标,但是在计算上也是低效的。取而代之的是,我们将身体的PAF框架扩展到全身姿态估计,对训练方法和网络结构做了各种修改。

3. Multi-task learning training:

我们将关键点置信度图S的定义修改为置信度图的拼接: body SB、face SF、hand SH和foot SO。类似地,t阶段的PAFs集L(t)被定义为PAFs的拼接: body L(t)B,face L(t)F,hand L(t)H,foot L(t)O。

必须创建不同注释任务之间的互连,以便将同一个人的不同关键字集合在一起。例如,我们通过在两个数据集中都有注释的踝关节关键点来连接身体和脚部关键点。类似地,手腕连接身体和手的关键点,而眼睛连接身体和脸。管道的其余部分(对置信度图的非最大抑制和组装完整人的二部图匹配( bipartite matching))保持完整。与为每个关键点注释任务建立专用网络相反,所有关键点现在都在相同的模型结构中定义。这是硬参数共享的一个极端版本,其中只有最后一层是特定于任务的。

4. Balanced dataset-based probability ratio:

如果我们有完整的身体数据集,我们可以按照身体训练方法训练一个组合模型。不幸的是,每个可用的数据集只包含关键字子集的注释。为了克服组合数据集的不足,我们采用了Caoet al.[9]的single-network body-foot detector的probability ratio 思想,该方法是从体body-only 和 body-foot 数据集训练而来。从每个可用的数据集中随机挑选出一批图像,并掩盖与非标记关键点相关的置信度图和PAF通道的损失。即,其二进制掩码Wi§设置为0。作为一种总线标记,概率比(probability ratio)Pd被定义为从数据集中选取下一批带注释的图像的概率。这个概率分布在不同的数据集中,具体取决于每个数据集中的图像数量。当应用于具有相似尺度属性的关键点(例如,身体和脚[9]),将产生一个健壮的关键点检测器。然而,当它应用于全身评估时,它不收敛,现在包括脸部和手部关键点。此外,身体和脚的探测器的准确性大大降低。通过深入分析每组关键点的性质和差异,可以解决脸和手的收敛问题。

5. Dataset-based augmentation:

身体/脚 和 脸/手 的关键点之间存在固有的尺度差异,这导致每一组关键点都有不同的数据集。人体数据集主要包含多人图像,脸部和手部分辨率低; 脸部数据集专注于单个人或裁剪过的脸的图像;其中作为手数据集通常包含一个完整的人的图像。图3显示了每个数据集的典型示例。为了解决这个问题,每个关键点集的扩展参数都是不同的。例如,在数据扩充过程中减少了人脸数据集的最小规模,以便将我们的模型暴露给小面孔,以模拟“野外”环境的现实。相反,最大尺度的手数据集增加,使全尺寸的手出现更频繁,允许网络推广到高分辨率的手。

Single-Network Whole-Body Pose Estimation论文简读_数据集_04

6. Overfitting:

利用以上的想法,脸部和手部的检测器汇聚在一起,让我们建立一个初始的全身姿态检测器。然而,我们在一些验证集上观察到很大程度的过拟合,特别是在脸部和实验室记录的数据集上。尽管初始的概率比Pd是均匀分布的,但这些数据集的数据复杂度低于具有挑战性的多人野外数据集的复杂度。此外,可能的脸部姿势的范围远远小于可能的身体姿势和手部姿势的数量。因此,从人脸和实验室记录的数据集中选择一批数据的概率比必须进一步降低。根据经验,我们对数据集之间的概率比进行了调整,使得每个数据集的验证精度以相同的速度收敛。

7. High false positive rate

脸部、手部和脚部关键点的假阳性率较高,在各自的置信图和PAF通道上产生“ghosting”效应。从视觉上看,这意味着这些通道在不包含人员的区域输出一个非零值。为了缓解这个问题,他们的二进制掩码Wi§在没有人员的图像区域的COCO数据集中重新启用。此外,我们补充训练与一个额外的数据集构成没有人的COCO图像。

8. Further refinement

脸部和手部数据集并不一定要注释每张图片中出现的所有人。我们使用Mask R-CNN [23]掩盖图像的非标记人的区域。此外,人脸和手关键点探测器的像素定位精度较低。为了对其进行适当的改进,我们减小了高斯分布的半径来生成其置信图通道的groundtruth。

9. Shallow whole-body detector:

在这一点上,我们可以建立一个工作的全身姿势检测器。此改进检测器的推理运行时与在[9]中运行body-foot的推理运行时相匹配。然而,它仍然面临两个主要问题。

一方面,身体和脚精度大大降低,相比于它的独立模拟(即,来自Caoet al.[9]的体足检测器)。网络输出的复杂性已经从预测25个关键点增加到135个关键点(以及相应的PAFs)。在相同数量的参数下,网络必须压缩大约5倍的信息,从而降低每个单独部分的准确性。

另一方面,在基准测试中,人脸和手的检测精度与Caoet al.[9]相似,但是定性结果显示,其像素定位精度仍然较低。这是由于使用了与身体姿态估计相同的低输入分辨率的网络。人脸和手的检测需要更高分辨率的网络来提供具有高像素定位精度的结果。这个初始探测器在第4节中被定义为“Shallow whole-body”。

10. Improved network architecture:

为了匹配body-only 探测器的精度,解决人脸和手的分辨率问题,必须与Caoet al.[9]的whole-body 结构相背离。它必须保持一个大的接受领域,以准确的身体检测,但也提供高分辨率图,为精确的脸部和手部关键点检测。此外,它的推理耗时 应该与它的类似的多阶段全身探测器的推理耗时 类似或改进。我们最终的模型架构,为全身估计而精化,如图2所示,与原始基线在以下细节上有所不同:

  • 增加了网络输入分辨率,大大提高了人脸和手的精度。不幸的是,这暗中降低了有效的接受域(进一步降低了身体的准确性)。
  • 增加每个PAF阶段的卷积块数量,以恢复之前减少的有效接受域。
  • 增加了最后PAF阶段每个卷积层的宽度,提高了整体精度,使我们的模型能够匹配独立体检测器的体精度。
  • 以前的解决方案大大提高了我们的方法的整体准确性,但也损害了训练和测试速度。PAF阶段的数量被减少,以部分地克服这个问题,这只会导致总体精度的适度降低。

这种改进的模型在速度上远远超过Caoet al.[9],对于包含n个人的图像,速度大约快了n倍。此外,它还稍微提高了全局精度(Secs. 4.3、4.4和4.5)。这个网络在第4节中被称为“Deep whole-body”。

结论

本文采用多任务学习与改进的模型结构相结合的方法,训练了第一个用于二维整体估计的 single-network方法。我们的工作将多个目前独立的关键点检测任务合并到一个统一的框架中。我们在多个关键点检测基准上评估我们的方法,并将其与最先进的方法进行比较,在训练和测试速度上都大大超过了它,并略微提高了它的准确性。我们定性地在图5中显示,我们的脸部和手部探测器可以更好地泛化到野外图像中,这得益于它们对大量身体数据集的间接暴露。然而,我们的方法仍有一些局限性。首先,当目标人物的重要部分被遮挡或在图像边界之外时,我们观察全局失败的情况。其次,脸部,尤其是手部关键点探测器的准确性仍然有限,在严重的运动模糊、小人和极端手势的情况下无法检测。第三,我们定性地观察到,当姿势简单且没有遮挡时,先前版本的开放姿势在脸部和手部检测方面优于我们的开放姿势。前面的方法裁剪那些边界框候选对象的边界框建议,调整它们的大小,并将它们输入到它的专用网络中。如果关键点检测成功,则更高的输入分辨率可以提高像素的定位精度。
Single-Network Whole-Body Pose Estimation论文简读_机器学习_05