AlphaPose: Whole-Body Regional Multi-PersonPose Estimation and Tracking in Real-Time 论文翻译

论文地址:https://arxiv.org/abs/2211.03375

摘要:

准确的全身多人姿态估计和跟踪是计算机视觉中一个重要而又具有挑战性的课题。为了捕捉人类的细微动作以进行复杂的行为分析,包括面部、身体、手和脚的全身姿态估计比传统的仅身体姿态估计是必不可少的。在本文中,我们介绍了AlphaPose,这是一个可以在实时运行时联合执行准确的全身姿势估计和跟踪的系统。为此,我们提出了几种新技术:用于快速和精细定位的对称积分关键点回归(SIKR),用于消除冗余人体检测的参数姿态非最大值抑制(P-NMS)和用于联合姿态估计和跟踪的姿态感知身份嵌入。在训练过程中,我们采用部分引导的建议生成器(PGPG)和多领域知识蒸馏,以进一步提高准确性。我们的方法能够准确地定位全身关键点,并在不准确的边界框和冗余检测的情况下同时跟踪人类。我们在COCO-全身,COCO,PoseTrack和我们提出的Halpe-FullBody姿势估计数据集上的速度和准确性方面都比当前最先进的方法有了显着的改进。我们的模型,源代码和数据集在https://github.com/MVIG-SJTU/AlphaPose上公开提供。

关键词:人体姿态估计,姿态跟踪,全身姿态估计,手部姿态估计,实时,多人

1引言

        人体姿态估计是计算机视觉的一个基本挑战。它在人机交互[1],电影工业[2],动作识别[3]等方面有许多应用。在这项工作中,我们专注于多人全身姿态估计问题。在传统的仅身体姿态估计中,识别野外多个人的姿态比识别图像中单个人的姿态更具挑战性[4],[5],[6],[7],[8]。以前的尝试通过使用自顶向下的框架[9],[10]或自底向上的框架[11],[12],[13]来解决这个问题。我们的方法遵循自上而下的框架,首先检测人体边界框,然后独立地估计每个框内的姿势。对于基于自顶向下的方法,尽管它们的性能在常见的基准测试中占主导地位[14],[15],但这种方法有一些缺点。由于检测阶段和姿态估计阶段是分开的,i)如果检测器失败,则姿态估计器没有线索来恢复人类姿态,以及ii)当前研究人员为了准确性而采用强的人类检测器,这使得两步处理在推理中缓慢。为了解决自顶向下框架的这些缺点,我们提出了一种新的方法,使其在实践中有效和可靠。为了减轻遗漏检测问题,我们降低了检测置信度和NMS阈值,以提供更多的候选项用于后续检测姿态估计。

        通过引入一种新的位姿距离度量来比较位姿相似性,从而实现了一种参数化位姿NMS。数据驱动的方法被应用到优化的位姿距离参数。我们表明,通过这种策略,一个自上而下的框架与YOLOV3SPP检测器可以实现同等的性能与最先进的检测器,同时实现更高的效率。此外,为了在推理过程中加快自顶向下的框架,我们在AlphaPose中设计了一个多级并发管道,这使得我们的框架能够实时运行。除了仅身体姿态估计之外,野外的全身姿态估计更具挑战性,因为它面临几个额外的问题。对于自顶向下框架和自底向上框架,目前最常用的关键点表示是热图[16]。由于计算资源的限制,热图的大小通常是输入图像的四分之一。然而,为了定位身体、面部和手同时进行,但是这种表示是不合适的,因为它不能处理不同身体部位之间的大尺度变化。一个主要的问题被称为量化误差。如图1所示,由于热图表示是离散的,热图上的两个相邻网格都可能错过正确的位置。这对于身体姿势估计来说不是问题,因为正确的区域通常很大。然而,对于手部和面部上的精细级关键点,很容易错过正确的位置。

图1热图(绿色和蓝色线)导致的量化误差。通过我们的对称积分关键点回归(粉红线),我们可以解决定位误差。

        为了解决这个问题,以前的方法要么采用额外的子网络进行手部和面部估计[17],要么采用ROI-Align来放大特征图[18]。 然而,这两种方法都是计算昂贵的,特别是在多人的情况下。本文提出了一种新的对称积分关键点回归方法,可以在不同尺度下精确定位关键点。这是第一种回归方法,可以在消除量化误差的同时具有与热图表示相同的精度。全身姿势估计的另一个问题是缺乏训练数据。与具有丰富数据集的频繁研究的身体姿势估计不同[14],[19],全身姿势估计只有一个数据集[18]。为了促进这一领域的发展,我们为此任务注释了一个名为Halpe的新数据集,其中包括[18]中不可用的额外必要关节。为了进一步提高自顶向下框架在野外全身姿态估计的通用性,引入了两个关键组件。我们采用多领域知识蒸馏,将训练数据从不同的身体部位数据集。为了缓解不同数据集之间的领域差距和不完美的检测问题,我们提出了一种新的部分引导人类建议生成器(PGPG)来增加训练样本。通过学习不同姿势的人体检测器的输出分布,我们可以模拟人体边界框的生成,产生大量的训练数据样本。最后,我们引入了一个姿态感知的身份嵌入,使我们的自顶向下框架内的同步人体姿态跟踪。在姿态估计器上增加了一个人的re-id分支,并联合进行姿态估计和身份识别。借助姿态引导的区域注意,我们的姿态估计器能够准确地识别人。这样的设计使我们能够以统一的方式实现实时姿态估计和跟踪。这份手稿扩展了我们在ICCV 2017 [20]会议上发表的初步工作,沿着以下几个方面:

        我们将我们的框架扩展到全身姿态估计场景,并提出了一个新的对称积分关键点定位网络的精细定位。·

  • 我们扩展了我们的姿势引导建议生成器,以结合不同身体部位数据集上的多领域知识蒸馏。·
  • 我们注释了一个新的全身姿势估计基准(每个人136分),并与以前的方法进行了比较。·
  • 我们提出了姿态感知身份嵌入,以统一的方式在我们的自顶向下框架中实现姿态跟踪。
  • 这项工作记录了AlphaPose的发布,它实现了准确和实时的性能。我们的图书馆为许多研究人员提供了便利,并在GitHub上获得了超过6,000次的关注。

2相关工作

        在本节中,我们首先简要回顾了多人姿态估计方面的论文,这些论文提供了人体姿态估计的背景知识。节中2.2我们回顾了多人全身姿态估计的相关工作,并讨论了当前文献中的一个关键问题。节中2.3我们回顾了基于积分回归的关键点定位,并阐明了我们对以前工作的改进。节中2.4我们回顾了姿态跟踪,并总结了以前的工作和我们的方法之间的联系和区别。

2.1多人位姿估计

        自底向上方法,自底向上方法早期也被称为基于部分的方法。这些方法首先检测图像中所有可能的身体部位,然后将它们分组为单独的骨架。[10]、[11]、[12]、[13]、[21]、[22]、[23]等有代表性的著作。Chen等人。[11]提出了一种通过图形模型来解析大部分被遮挡的人的方法,该模型将人类建模为身体部位的灵活组合。Gkiox等人[10]使用k-possible来联合检测人,并通过所有激活的possible的加权平均来预测人姿势的位置。Pishchulin等人[12]提出深切切割首先检测所有身体部位,然后通过积分线性规划对这些部位进行标记、过滤和组装。Insafutdinov等人[13]提出了一种基于ResNet [24]和更好的增量优化策略的更强大的部分检测器,称为DeeperCut。Openpose [17],[25]引入了部分亲和字段(PAF)来编码身体部位与个体之间的关联分数,并通过将其分解为一组二分匹配子问题来解决匹配问题。纽韦尔等人[26]为检测到的每个部分学习一个标识标签,以指示它属于哪个个体,称为关联嵌入。Cheng等人[27]使用强大的多分辨率网络[28]作为骨干和高分辨率特征金字塔来学习尺度感知表示。OpenPifpaf [22],[23]提出了一个部分强度场(PIF)和一个部分关联场(PAF)分别定位和关联身体部位。

        虽然自下而上的方法已经证明了良好的性能,但它们的身体部位检测器可能是脆弱的,因为仅考虑小的局部区域,并且当图像中有小人物时面临尺度变化的挑战。

        自顶向下的方法我们的工作遵循自顶向下的范式,像其他人一样[9],[20],[28],[29],[30],[31],首先通过对象检测器获得每个人体的边界框,然后对裁剪图像进行单人姿势估计。Fang等人[20]提出了对称空间Transformer网络来解决人体检测器给出的具有巨大噪声的不完美边界框的问题。Mask R-CNN [29]通过添加与现有边界框识别分支并行的姿态估计分支来扩展Faster R-CNN [32],ROIAlign,实现端到端培训。PandaNet [33]提出了一种基于锚的方法,以单次拍摄的方式预测多人3D姿态估计,并实现了高效率。Chen等人[30]使用特征金字塔网络来定位简单的关节,并使用细化网络来集成来自先前网络的所有级别的特征以处理硬关节。一个简单结构的网络[31],其中ResNet [24]作为骨干,一些去卷积层作为上采样头,显示了有效和有竞争力的结果。Sun等人[28]提出了一种功能强大的高分辨率网络,其中在第一阶段建立高分辨率子网络,并在后续阶段中逐个并行添加高到低分辨率子网络,进行重复的多尺度特征融合。Bertasius等人[34]从图像扩展到视频,并提出了一种在稀疏标记的视频上学习姿势扭曲的方法。

        虽然最先进的自顶向下的方法在流行的大规模基准测试上取得了显着的精度,但两步范式使它们的推理速度慢于自底向上的方法。此外,缺乏库级框架实现也阻碍了它们应用于行业。因此,我们在本文中提出了AlphaPose,在其中我们开发了一个多级管道,以同时处理耗时的步骤并实现快速推理。

       一阶段方法 一些方法既不需要后关节分组,也不需要预先检测人体边界框。他们定位人体和检测自己的关节同时,以改善低效率的两阶段的方法。代表作品包括CenterNet [35],SPM [36],DirectPose [37]和Point-set锚[38]。然而,这些方法并没有达到自顶向下方法的高精度,部分原因是身体中心图和密集关节位移图是高语义非线性的,这使得网络很难学习。

2.2全身关键点定位

        多人的身体、脸部、手和脚的关键点的统一检测是一个相对较新的研究课题,目前提出的方法还不多。OpenPose [17]开发了一种级联方法。它首先使用PAF [25]检测身体关键点,然后采用两个单独的网络来估计面部标志和手部关键点。这样的设计使其时间效率低下,并消耗额外的计算资源。Hidalgo等人。[39]提出了一个单一的网络来估计整个身体的关键点。然而,由于其一步机制,输出分辨率有限,从而降低了其在面部和手部等精细关键点上的性能。Jin等人。[18]提出了一个ZoomNet,它使用ROIAlign来裁剪特征图上的手部和面部区域,并预测调整大小的特征图上的关键点。所有这些方法都采用热图表示进行关键点定位,因为它在身体关键点上具有主导性。然而,所提到的热图的量化问题会降低面部和手部关键点的准确性。大尺寸输入的要求也消耗更多的计算资源。在本文中,我们认为,软argmax介绍是更适合于全身姿态估计,并提出了一个改进版本的软argmax,产生更高的精度。Jin等人。[18]还将COCO数据集扩展到全身场景。然而,像头部和颈部这样的一些关节没有出现在这个数据集中,这在网格重建等任务中是必不可少的。同时,面部标注与300 LW中的面部标注不兼容。在本文中,我们贡献了一个新的在野外多人全身姿势估计基准。我们注释来自HICO-DET的40 K图像[40]使用Creative Common license1作为训练集,并扩展COCO关键点验证集(6K实例)作为我们的测试集。在该基准测试和COCOWholebody上的实验证明了该方法的优越性。

2.3整体关键点定位

        热图是人体姿态估计领域中关节定位的主要表示。从热图中读出的位置是离散的数字,因为热图只描述了每个空间网格中出现关节的可能性,这导致了不可避免的量化误差。如SEC所示。2.2,我们认为基于soft-argmax的积分回归更适合全身关键点定位。之前的几篇文章已经研究了softargmax操作,以从热图中读取连续的关节位置[41],[42],[43],[44],[45],[46]。具体而言,Luvizon等人。[43],[46]和Sun等人。[45]将soft-argmax运算成功应用于单人2D/3D姿势估计。然而,在这些作品中存在两个缺点,这降低了它们在姿态估计中的精度。我们总结的缺点,不对称梯度问题和大小相关的关键点评分问题。这些问题的详细情况见第2节。3.1,以及我们提出的新的梯度设计和关键点评分方法。通过解决这些问题,我们提出了一种新的关键点回归方法,具有更高的精度,它表现出良好的性能,在全身姿态估计和身体唯一的姿态估计。

2.4多人姿态跟踪

        多人姿态跟踪是从视频中的多人姿态估计扩展而来的,它随着时间的推移为每个预测的关键点提供相应的身份。与姿势估计文献类似,它可以分为两类:自上而下[31],[47],[48],[49],[50],[51],[52],[53],[54]和自下而上[23],[55],[56]。基于自下而上的姿势估计方法,[55],[56]使用检测到的关键点来构建时间和空间图,其旨在通过解决优化问题来链接相应的个体身体。然而,时间和空间图的先决条件阻止图切割优化以在线方式运行,这使得它们相当耗时和内存效率低。[49]利用3D MaskRCNN同时估计人管和姿势。[50]提出了前后向包围盒传播策略,消除了漏检问题。这些方法的输入是一个完整的视频序列,不能实现在线跟踪。其他一些自上而下的方法允许输入单个帧,然后使用设计的poseflow [47],GCN [48],[52],光流[31]或Transformer [54]进行身份匹配。Yang等人[53]在给定历史姿势序列的情况下预测当前姿势,并将它们与来自当前帧的姿势估计结果合并。这些方法的缺点是它们仅依赖于姿态的空间连续性,这在在线图像流不稳定或人类快速移动时可能不满足。具体来说,[57]建议使用re-ID特征来解决跟踪问题。我们的跟踪方法还明确采用了人类的re-ID功能来解决这个问题。与[57]相比,我们设计了一种姿势引导的re-ID特征提取,以避免潜在的背景噪声。此外,我们设计了一个多阶段的信息合并方法,同时利用框,姿势和重新ID功能。

3全身多人姿势估计

        我们提出的方法的整个管道如图2所示。在本节中,我们将介绍姿态估计的细节,如图2的顶行所示。

图二.我们的全身姿势估计和跟踪框架的插图。给定输入图像,我们首先获得(i)使用现成的对象检测器(如YoloV 3或EfficientDet)进行人体检测。对于每个检测到的人,我们裁剪和调整大小,并通过姿势估计和跟踪网络转发,以获得全身人体姿势和Re-ID特征。这两个网络的主干可以分开以适应不同的姿势配置,或者共享相同的权重以进行快速推理(因此图中未对齐)。(a)采用对称积分回归进行精细级关键点定位。我们采用(B)姿态NMS来消除冗余姿态。(c)将姿态引导对准(PGA)模块应用于预测的人类re-id特征以获得姿态对准的人类re-id特征。(d)多阶段身份匹配(MSIM)利用人体姿势、re-id特征和检测到的盒子来产生最终的跟踪身份。在训练过程中,采用了建议生成器和知识提取(e)来提高网络的泛化能力。

3.1对称积分关键点回归

        如第二节所述。2.3、在用于关键点回归的常规soft-argmax操作中存在两个问题。我们在下面的部分中说明它们,并提出我们的新解决方案。

3.1.1非对称梯度问题

        soft-argmax操作,也称为积分回归,是可微的,它将基于热图的方法转换为基于回归的方法,并允许端到端训练。积分回归运算定义为:

        其中x是每个像素的坐标,px表示归一化后热图上的像素似然性。在训练过程中,应用损失函数以最小化预测的关节位置μ和地面实况位置μ之间的范数:Lreg = μ − μ 1。每个像素的梯度可以用公式表示为:

        请注意,梯度振幅是不对称的。梯度的绝对值由像素的绝对位置(即x)而不是与地面实况的相对位置确定。它表示在相同的距离误差下,当关键点位于不同的位置时,梯度变得不同。这种不对称性破坏了CNN网络的平移不变性,从而导致性能下降。

        幅度对称梯度为了提高学习效率,我们提出了一种后向传播中的幅度对称梯度(ASG)函数,它是真实梯度的近似:

        其中,Δ grad表示梯度的幅度。这是一个常量,我们手动设置为热图大小的1/8,我们给予推导在下一段。使用我们的对称梯度,梯度分布以预测的关节位置为中心。在学习过程中,这种对称梯度分布可以更好地利用热图的优势,并以更直接的方式近似地面实况位置。例如,假设预测位置μ高于地面实况μ。一方面,网络倾向于抑制位于右侧的热图值,因为它们具有正梯度;

        另一方面,由于它们的负梯度,所以将激活位于µ左侧的热图值。ASG的稳定梯度在这里,我们进行了Lipschitz分析来推导Agrad的值,并表明ASG可以为训练提供更稳定的梯度。回想一下,f表示我们想要最小化的目标函数。我们说f是Lsmooth,如果:

        其中θ是网络参数,θ表示梯度。目标函数可以重写为:

        其中z表示网络预测的logit,而µ = h(z)表示归一化和soft-argmax函数的组合。这里,我们假设网络的梯度是平滑的,只分析复合函数,即:

        在传统的积分回归中,我们有:

        在这种情况下,Eq。6相当于:

        注意,x可以是热图上的任意位置。将热图的大小表示为W,我们在整个数据集上有x − µ ≤ W。因此,我们推导出积分回归的Lipschitz常数为:

        其中Ls是归一化函数的Lipschitz常数[58],[59]。它表明,传统的积分回归乘以因子W的Lipschitz常数的归一化。

        类似地,我们可以推导出所提出的振幅对称函数的Lipschitz常数。首先,logits的梯度为:

        我们设置Agrad = W/8,使梯度的平均范数与积分回归相同。具体

        所提出的振幅对称函数的Lipschitz常数推导为:

        结果表明,当Agrad = W/8时,该方法的Lipschitz常数比原积分回归方法小4倍,表明梯度空间更加光滑,模型更易于优化。

3.1.2尺寸相关的关键点评分问题

        在进行soft-argmax之前,预测的热图的元素和应该被归一化为1,即,px = 1。先前的工作[45],[46]采用软最大运算,其在单人姿势估计中效果良好,但与多人姿势估计中的最新技术[31],[45],[60]仍然存在很大的性能差距。这是因为在多人的情况下,我们不仅需要关节位置,还需要用于姿势NMS和计算mAP的关节置信度。在以前的方法中,热图的最大值被视为联合置信度,这是大小相关的,并且不准确。

        如果我们采用soft-max等一步归一化,热图的最大值与分布的尺度成反比,这高度依赖于身体关节的投影大小。因此,大尺寸关节(例如左髋关节)将生成比小尺寸关节(例如鼻子)更小的置信度值,这损害了预测置信度值的可靠性。

        两步热图归一化为了解耦置信度预测和积分回归,我们提出了两步热图归一化方式。在第一步中,我们执行逐元素归一化以生成置信度热图C:

        其中zx表示位置x的未归一化的logits值,cx表示位置x的置信热图值。因此,联合置信度可以由热图的最大值表示:

        由于我们在规范化的第一步使用了元素操作sigmoid,并且没有强制C的和为1,因此C的最大值不会受到关节大小的影响。以这种方式,预测的联合置信度仅与预测的位置相关。在第二步中,我们执行全局归一化以生成概率热图P:

        概率热图P的元素和为1,这确保了预测的关节位置在热图边界内,并稳定了训练过程。

        综上所述,我们通过第一步获得联合置信度,并在第二步生成的热图上获得联合位置。在第二节中进行了消融研究。6.6来展示我们的标准化方法的有效性。

3.2多领域知识蒸馏

        除了我们新颖的对称积分回归之外,网络的性能还可以进一步受益于额外的训练数据。除了注释新数据集(详见第6.1节)外,我们还采用了多领域知识提取来训练我们的网络采用了三个额外的数据集,即300 Wface [61],FreiHand [62]和InterHand [63]。这些数据集的详细信息将在第6.1节中介绍。结合这些数据集,我们的网络能够准确地预测野外图像的面部和手部关键点。

        在训练过程中,我们通过以固定比例采样不同的数据集来构建每个训练批次。具体来说,1/3的批次从我们的注释数据集中采样,1/3从COCO全身中采样,其余的从300 Wface和FreiHand中采样。对于每个样本,我们应用特定于小程序的增强,这将在下一节中介绍。

        虽然这些特定领域的数据集能够提供准确的中间监督,但它们的数据分布与野外图像有很大不同。为了解决这个问题,我们将[20]中的姿势引导提案生成器扩展到全身场景,并以统一的方式进行数据增强。

3.3对于两阶段姿态估计

        由人体检测器生成的人体提议通常产生与地面真实人体盒不同的数据分布。同时,人脸和手的空间分布在野外的全身图像和数据集中的仅部分图像之间也是不同的。在训练期间没有适当的数据增强的情况下,姿态估计器可能无法在检测到的人的测试阶段中正常工作。

        为了生成与人类检测器的输出具有相似分布的训练样本,我们提出了我们的partguided建议生成器。对于具有紧密包围的边界框的不同身体部位,建议生成器生成与人体检测器的输出的分布内联的新框。

        由于我们已经有了每个部件的真实边界框,因此我们将这个问题简化为对检测到的边界框和真实边界框之间的相对偏移分布进行建模,这些相对偏移在不同的部件之间变化。更具体地说,存在一种分布

        其中δxmin/δxmax是由人类检测器生成的边界框的最左/最右坐标与地面实况边界框的坐标之间的归一化偏移:

        类似地,δymin,δymax,p是地面真值部分类型。如果我们能够对这种分布进行建模,我们就能够生成许多训练样本,这些样本与人类检测器生成的人类建议相似。为了实现这一目标,我们采用了现成的对象检测器[64],并为我们的HalpeFullBody数据集生成人体检测。对于数据集中的每个实例,我们将面部,身体和手部的注释分开。为每个分离的部分,我们计算其紧密包围的边界框与整个人的检测边界框之间的偏移。由于水平方向和垂直方向的箱方差通常是独立的,我们将原始分布的建模简化为

        在Halpe-FullBody中处理所有实例后,偏移量形成频率分布,我们将数据拟合为高斯混合分布。对于不同的身体部位,我们有不同的高斯混合参数。我们在图3中可视化分布及其相应部分。

        在姿态估计器的训练阶段期间,对于属于部分p的训练样本,我们可以根据Px(δxmin,δxmax)通过密集采样来生成对其真实边界框的附加偏移|p)和Py(δymin,δymax|(p)提出强化培训建议。在实践中,我们发现在近似均匀分布中进行采样(图3中的红点框)也可以产生类似的性能。

图三.几个不同身体部位的边界框偏移分布。虚线框表示近似均匀分布的范围。最好用彩色看。

3.4参数化姿态NMS

        对于自上而下的方法,一个主要的缺点是早期承诺问题:如果人体检测器未能检测到一个人,姿态估计器就无法恢复它。大多数自上而下的方法[28],[30],[31],[65]都会遇到这个问题,因为它们将检测置信度设置为高值以避免冗余姿态。相反,我们将检测置信度设置为较低的值(在我们的实验中为0.1),以确保高检测召回率。在这种情况下,人体检测器不可避免地对某些人产生冗余检测,这导致冗余姿态估计。因此,姿态非最大抑制(NMS)是必要的,以消除冗余。以前的方法[11],[66]要么效率不高,要么不够准确。在本文中,我们提出了一种参数化的姿态NMS方法。类似于先前的子部分,具有m个关节的姿态Pi被表示为{k 1 i,c1 i},.....我们重新进行了姿态NMS,如下:首先,选择最可信的姿态作为参考,

        我们重新进行了姿态NMS,如下:首先,选择最可信的姿态作为参考,接近它的人会被淘汰,适用淘汰标准。对剩余的姿势集重复该过程,直到消除冗余姿势并且仅报告唯一姿势。

        消除准则我们需要定义姿势相似度,以消除彼此太接近和太相似的姿势。我们定义姿态距离度量d(Pi,Pj| Λ)来度量姿态相似性,并且阈值η作为消除准则,其中Λ是函数d(·)的参数集。我们的排除标准可以写为:

        如果d(·)小于η,则f(·)的输出应当为1,这指示姿态Pi由于与参考姿态Pj的冗余而应当被消除。

        姿势距离现在,我们给出距离函数dpose(Pi,Pj)。我们假设Pi的盒子是Bi。然后定义一个软匹配函数

        其中B(kn i)是在kn i处的盒中心,并且B(kn i)的每个维度是原始盒Bi的1/10。tanh操作过滤掉置信度低的姿势。当两个对应的关节都具有高置信度分数时,输出将接近1。

        该距离会柔和地计算姿势之间匹配的关节数。还考虑了部分之间的空间距离,其可以写为

        通过组合等式17和18,最终的距离函数可以写为:

        其中λ是平衡两个距离的权重,并且Λ = {σ1,σ2,λ}。请注意,先前的姿势NMS [11]手动设置姿势距离参数和阈值。相比之下,我们的参数可以以数据驱动的方式确定。

        最优化给定检测到的冗余姿态,消除准则f(Pi,Pj)中的四个参数|Λ,η)被优化以实现验证集的最大mAP。由于在4D空间中的穷举搜索是棘手的,我们通过以迭代方式固定其他两个参数来一次优化两个参数。一旦达到收敛,参数就固定下来,并将在测试阶段使用。

4多人姿势跟踪

        在本节中,我们将介绍图2中间一行所示的多人姿势跟踪方法。我们在姿态估计器上附加一个人重新ID分支。因此,该网络可以同时估计人体姿态和重新ID特征。采用姿态引导注意机制(PGA),增强个人身份特征。最后,我们设计的多阶段身份匹配(MSIM)算法集成的人的建议信息(身份嵌入,框和姿态),实现在线实时姿态跟踪。

4.1姿态引导注意机制

        人的重新识别特征可以用来从大量的人类提议中识别出同一个人。在我们自顶向下的框架中,我们从对象检测器产生的每个边界框中提取re-ID特征。然而,re-ID特征的质量会被边界框中的背景降低,特别是当存在其他人的身体时。为了解决这个问题,我们考虑使用预测的人体姿势来构建人体集中的区域。因此,姿态引导注意力(PGA)被提出来强制提取的特征集中在感兴趣的人体,而忽略背景的影响。消融研究中详细阐述了PGA的见解(第6.8)。

        姿态估计器生成k个热图,其中k表示每个人的关键点的数量。然后PGA模块将这些热图转换为带有简单conv层的注意力图(mA)。请注意,mA的大小与re-ID特征图(中)相同。因此,我们可以获得加权的re-ID特征图(mwid)

其中,表示Hadamard乘积。

        最后,身份嵌入(embid),这是一个128维的向量是由一个全连接层编码。

4.2多阶段身份匹配

        对于视频序列,令Hi t表示第t帧的第i个人类提议。如上所述,Hi t具有若干特征:姿态(Pi t)、bbox(Bi t)和身份嵌入(Ei t)。考虑到所有这些特征都可以确定一个人的身份,我们设计了MSIM算法为Hi t分配相应的id。假设已经获得了先前t-1帧的检测和跟踪结果并将其存储在跟踪池P1中。首先,卡尔曼滤波器被用来微调检测特征在当前帧,从而使轨迹更平滑。然后,我们通过计算第t帧的单位嵌入和Pl中存在的所有嵌入之间的亲和矩阵Mi emb来执行第一阶段匹配。匹配规则如下:

        这里,link(p,q)意味着Hp t与P1中的第q个人类提议共享相同的轨迹。µemb是阈值。在这里,我们将µemb设置为0.7 [67]。

        在第二阶段,我们考虑21中那些未跟踪的人类提议的位置和形状约束。具体地说,我们使用bboxes之间的IOU度量作为位置约束和归一化的姿态距离作为形状约束。对于两个人类提议Hi t和Hj t−δ,我们首先将它们的bbox调整为相同的比例并获得中心点c每一个bbox然后,我们通过从每个关键点坐标中减去中心来计算归一化的姿态向量。最后,我们可以通过等式11获得归一化的姿态距离(distnp)。19.因此,形状和位置的融合距离矩阵可以写为:

        其中IOU和distnp表示由IOU函数和未跟踪的提议之间的归一化姿态距离形成的矩阵和PI。λnp是平衡位置和形状距离矩阵的权重。在这里,我们还使用阈值µf来过滤不匹配的建议,如公式21,并根据经验将其设置为0.5。为了匹配与前一帧不太相似的轨迹,我们适当地降低阈值并重复上述阶段。如果仍然没有匹配的建议,我们认为这是一个新的tracklet,因此将为其分配一个新的id。

4.3联合培训战略

        为了简化整个网络的训练过程,我们同时训练姿态估计器和re-ID分支。我们的网络是在COCO [14]和PoseTrack [68]数据集上训练的。PoseTrack有姿态和身份标注,而COCO只有姿态标注。因此,当在COCO上训练时,由re-ID分支贡献的梯度不参与反向传播。我们遵循[69]中的损失平衡策略来联合优化姿态和识别子任务。

5 ALPHAPOSE

        在本节中,我们将介绍AlphaPose2,这是第一个联合全身姿势估计和跟踪系统。

5.1管道

        两步框架的一个缺点是推理速度的限制。为了方便大规模数据的快速处理,我们设计了一个五阶段的流水线与多处理实现,以加快我们的推理。图4说明了我们的AlphaPose流水线机制。我们将整个推理过程分为五个模块,遵循每个模块消耗相似的处理时间的原则。在推理过程中,每个模块都由独立的进程或线程托管。每个进程通过一个先进先出队列与后续进程通信,即它存储当前模块的计算结果,后续模块直接从队列中取出计算结果。通过这种设计,这些模块能够并行运行,从而显著提高速度并实现实时应用。

见图4。AlphaPose的系统架构我们的系统分为五个模块,即(a)数据加载模块,可以将图像、视频或相机流作为输入,(B)检测模块,提供人的建议,(c)数据变换模块,处理检测结果并为后续模块裁剪每个人,(d)姿态估计模块,为每个人生成关键点和/或人的身份,(e)后处理模块,用于处理并保存姿态结果。我们的框架是灵活的,每个模块包含几个组件,可以很容易地更换和更新。虚线框表示每个模块中的可选组件。请参阅文本了解更多细节,最好是彩色观看。

 5.2网络

        对于我们的两步框架,可以采用各种人体检测器和姿态估计器。在当前的实现中,我们采用了现成的检测器,包括YOLOV 3 [64]和EfficientDet [75],这些检测器在COCO [14]数据集上训练。我们没有重新训练这些模型,因为它们发布的模型在我们的案例中已经工作得很好了。对于姿态估计器,我们设计了一个新的骨干命名为FastPose,它产生了高精度和效率。网络结构如图5所示。我们使用ResNet [24]作为我们的网络骨干,从输入的裁剪图像中提取特征。采用三个密集上采样卷积(DUC)[76]模块对提取的特征进行上采样,然后是1×1卷积层以生成热图。DUC模块首先将2D卷积应用于维度为h × w × c的特征图,然后通过PixelShuffle [77]操作将其重塑为2 h × 2 w × c。为了进一步提高性能,我们还将可变形卷积算子纳入我们的ResNet主干[78]以改进特征提取。这种网络被称为FastPose-DCN。

图五.FastPose的网络架构。首先,采用ResNet作为网络骨干。然后,DUC模块被应用于上采样。最后,使用1 × 1卷积来生成热图。

5.3系统

        AlphaPose系统是基于PyTorch [79]和MXNet [80]开发的。得益于PyTorch的灵活性,AlphaPose同时支持Linux和Windows系统。AlphaPose经过高度优化,易于使用和进一步开发,因为我们将训练和测试管道分解为不同的模块,并且可以轻松地替换或更新不同的模块用于自定义目的。对于数据加载模块,我们支持通过指定图像名称,目录或路径列表来输入图像。也支持从摄像头输入视频文件或流。对于检测模块,我们采用YOLOX [81] YOLOV 3SPP [64],EfficientDet [75]和JDE [67]。其他检测器的检测结果也支持作为文件输入。也可以合并其他跟踪器,如[82]。对于数据转换模块,我们实现了vanilla box NMS和soft-NMS [83]。对于姿态估计模块,我们支持SimplePose [31],HRNet [28]以及我们提出的FastPose与FastPose-DCN等不同变体。我们基于ReID的跟踪算法也可在此模块中使用。

        对于后处理模块,我们提供了我们的参数姿态NMS和基于OKS的NMS [65]。另一个跟踪器PoseFlow [47]在这里可用,我们支持图像和视频渲染。我们的保存格式默认为COCO格式,可以与OpenPose兼容[17]。通过简单地指定输入参数,可以轻松地使用不同的设置运行AlphaPose。

6数据集和评价

6.1数据集

        Halpe-FullBody为了促进全身人体姿势估计的开发,我们标注了一个名为Halpe-FullBody 3的全身关键点数据集。对于每个人,我们注释了136个关键点,包括20个身体,6个脚,42个手和68个脸。关键点格式如图6所示。注意,由于面部关键点有两种流行的定义(见图7),我们只注释面部可见的下颌(图7中的绿色点),以便与这两个定义兼容。对于图像,我们的训练集使用HICO-DET [40]数据集的训练图像,我们的测试集使用COCO-val集。总的来说,我们的数据集包含5万个用于训练的实例和5 K个用于测试的图像。表1将我们的数据集与以前流行的人体姿势估计数据集进行比较。

 

表1用于RGB图像中的2D关键点估计的一些流行的公共数据集的概述。Kpt表示关键点,#Kpt表示带注释的数字。“野生”表示数据集是否在野生环境中收集。“H 0 I”表示人-对象交互身体部位标签。

见图6。Halpe-FullBody数据集中分别针对(a)身体和脚、(b)面部、(c)手部的注释关键点格式。放大面注释的详细信息,

见图7。下颌上两种不同的面部关键点定义。绿色点表示相同的定义,红色点表示它们的差异。在(a)和(B)中,左定义通常用于2D注释数据集,如[18],[61],[72],而右定义用于3D面部对齐任务,如[84]。

        COCO-WholeBody作为一项并行工作,Jin et.基于COCO数据集注释133个全身关键点。它们与我们共享类似的关键点定义,只是它们的注释中缺少头部、颈部和臀部点。总训练集包含118 K图像和250 K实例,测试集包含5 K图像。我们还在这个数据集上评估了我们的算法。

        COCO COCO数据集是人类关键点预测的标准基准。它包含17个人体关键点,没有脸部,手和脚的注释。总共有118 K张图像用于训练,5 K用于验证,41 K用于测试。我们在COCO 2017训练集上训练我们的算法,并将我们的FastPose网络和对称积分损失与COCO 2017测试开发集上以前的最先进模型进行比较。PoseTrack PoseTrack是一个用于多人姿势估计和跟踪的大规模数据集。它建立在MPII Human数据集提供的原始视频上[15]。

        PoseTrack有超过1356个视频序列,它们被分成训练、瓦尔和测试。每个标注的人物都有17个与COCO相似的关键点,但与COCO相比有两个不同的关键点,分别是“顶头”和“底头”。其他注释与COCO共享相同的格式。我们在PoseTrack-2018集上训练我们的方法,并将其与PoseTrack-2017-瓦尔和PoseTrack-2018-瓦尔集上的先前方法进行比较。

        300 Wface,FreiHand和InterHand被用作补充数据集,以提高我们的模型的泛化能力。300 Wface包含300张室内和300张室外野外图像。对于每个面,注释了68个关键点。FreiHand [62]包含33 K个用于训练的独特手部样本,每个样本包含21个关键点。InterHand [63]包含260万张具有交互手的图像,其中每只手也有21个关键点。

6.2评估指标和工具

Halpe-FullBody我们将COCO关键点的评估指标扩展到全身场景。COCO定义了一个对象关键点相似度,它由每个对象的常数k控制。对于我们新添加的关键点,我们将脚、脸和手的k设置为0.015。与COCO相同,我们报告AP 0.5:0.95:0.05作为主要结果,还报告了身体、足部、面部和手部的详细结果。

COCO-WholeBody COCO-WholeBody采用与我们相同的度量标准,除了常数k在某些关键点上与我们不同。

COCO我们采用COCO数据集的标准AP度量与以前的作品进行公平比较。

PoseTrack实际上,多人姿态跟踪可以看作是多人姿态估计和多目标跟踪的结合。因此,评价指标应遵循这两项任务。平均精度(mAP)[12]用于测量逐帧人体姿势精度。为了评估跟踪性能,MOT [85]度量独立地应用于每个身体关节。然后通过对每个联合mot度量进行平均,得到最终的跟踪性能。PCKh [15](正确关键点的头部归一化概率)是评估身体关节是否被正确预测的最常用度量之一。这里,它可以确定哪个预测的关节与地面实况关节匹配。为了评估posetrack验证数据集上的跟踪结果,我们使用名为poseval 4的官方工具,并报告多对象跟踪器精度(MOTA),多对象跟踪器精度(MOTP),精度和召回率。

6.3实现细节

        我们使用PyTorch进行实验[79]。我们用batch 32训练网络270个epoch。初始学习率为0.01,我们在epoch 100和170上将其衰减0.1。在历元200之后应用姿态引导建议生成器。在整个网络训练完成后,我们冻结骨干4。https://github.com/leonid-pishchulin/poseval,仅对posetrack数据集上的re-ID分支进行10个epoch的微调。微调阶段的学习率为1 e-4。我们在训练过程中采用Adam [86]优化器。所有实验都在8个Nvidia 2080 Ti GPU上进行。

6.4评估全身姿势估计

        我们首先评估我们的模型在HalpeFullBody和COCO-WholeBody数据集上的性能。由于HalpeFullBody是一个新的数据集,我们重新训练了几个最先进的模型,并将结果与我们进行比较。表.2给出最终结果。YOLOV 3被用作所有自顶向下模型的人体检测器。我们可以看到,自顶向下的方法可以达到更高的精度相比,自底向上的方法。然而,由于热图引入的量化误差,传统SPPE在面部和手部等精细级身体部位上减少了很多。配备了我们新颖的对称积分损失功能,我们的FastPose模型实现了最佳精度。值得注意的是,我们可以看到FastPose 50-si的产量比基于热图的对应物高2.4 mAP(相对5.7%)。这些改善主要来自面部和手部。它表明,热图的量化误差影响面部和手部关键点的精细定位,并且我们的对称积分回归在这种情况下效果良好。在COCO-WholeBody数据集上,我们嵌入了对称积分损失函数的FastPose也大大优于以前的最先进方法,特别是在面部和手部。值得注意的是,我们的FastPose在较小的输入尺寸下实现了最高的精度。模型复杂度也比以前的方法低得多。它展示了我们的网络结构的优越性和新颖的损失。全身姿势估计的一些定性结果在图8中示出。

见图8。AlphaPose在全身姿势估计任务上的定性结果。放大以获得更多细节和最佳彩色视图。

见图9。AlphaPose在全身姿势跟踪任务上的定性结果。放大以获得更多细节和最佳彩色视图。人物的颜色表示追踪ID,图像顺序由时间箭头表示。更多分析见正文。

Halpe-FullBody数据集上的全身姿势估计结果。为了公平比较,使用单尺度测试获得结果。“OpenPose-default”和“OpenPose-maxacc”分别表示其默认和最大精度配置。“hm”表示网络使用基于热图的定位,“si”表示网络使用我们的对称积分回归。“*”表示通过多领域知识蒸馏和PGP训练的模型。FastPose 50表示我们以ResNet 50为骨干的FastPose 152网络。“dcn”表示在ResNet骨干中采用可变形卷积层[78]。

6.5传统人体姿态估计的评估

        我们还对传统的仅人体姿态估计任务进行了实验,以证明我们的有效性。方法,虽然它不是我们的主要焦点。我们在COCO数据集上训练我们的模型,并在COCO testdev集上对其进行评估。结果见表4。4.对于基于热图的方法,我们可以看到,我们的FastPose主干可以实现与最先进的方法相当的性能,给定较小的输入大小和较弱的人类检测器。这证明了我们FastPose网络的优越性。请注意,由于我们的目标是提出一个新的基线模型,如SimplePose [31],我们进行这些实验以证明我们模型的准确性和效率。进一步追求更高的精度与速度和资源的权衡不是我们的目标,在本文中,我们离开他们为未来的研究。对于基于回归的方法,我们的方法以最低的GFLOPS实现了最先进的性能。与[45]相比,我们的网络可以作为未来研究的新基线。

COCO测试开发集上的身体姿势估计结果。为了公平比较,使用单尺度测试获得结果。“hm”表示网络使用基于热图的定位,“si”表示网络使用我们的对称积分回归。

6.6用于位姿估计的消融研究

        为了评估我们提出的姿势估计模块的有效性,我们还在COCO和Halpe-Fullbody数据集上进行了消融实验。我们采用FastPose 50作为基本网络,并分别报告COCO验证和Halpe-Fullbody测试集上的数字。结果总结见表1。5.热图归一化我们在第3.1节中阐述了在多人场景中应用基于积分的方法的两步热图归一化的本质。在这里,我们进行了烧蚀实验,以显示性能不同热图归一化方法的差距。我们可以看到,当将传统的一步热图归一化(soft-max)与我们的两步热图归一化进行比较时,在Halpe全身和COCO数据集上,多人姿势估计的性能分别下降了6 mAP和2.4 mAP。结果表明,两步归一化可以减轻尺寸依赖效应,提高性能。

SIKR模块我们将对称积分函数与原始积分回归进行比较[45]。对于全身姿势估计场景和传统的身体姿势估计,我们可以看到我们的对称积分函数大大优于原始积分回归。

Pose NMS模块如果没有Pose-NMS,将为单个人预测多个人体姿势。冗余的姿态会降低模型的性能。从Tab5,我们可以看到,我们的模型对于Halpe Fullbody和COCO数据集分别降低了0.4 mAP和1.3 mAP。

PGPG模块在训练过程中需要适当的数据扩充,以确保测试阶段的泛化能力。对于Halpe Fullbody数据集,我们比较了使用和不使用PGPG模块训练的FastPose 50-dcn的结果。选项卡.5表明,如果没有我们的部分指导建议生成,性能将由于训练中的域方差而下降。

概述了一些流行的公共数据集,用于RGB图像中的2D关键点估计。Kpt表示关键点,#Kpt表示带注释的数字。“野生”表示数据集是否在野生环境中收集。“H 0 I”表示人-对象交互身体部位标签。P Halpe全身数据集和COCO数据集的消融研究。“hm-norm”表示热图归一化。“*”表示使用来自多领域知识蒸馏的额外数据训练的结果。

6.7位姿跟踪评价

        为了验证我们的系统是否足以进行多人姿势跟踪任务,我们将其应用于posetrack验证数据集。表5.图6显示了与其他最先进方法的比较。我们采用的主干是FastPose152,检测器是YoloX。我们可以看到,我们的模型在mAP度量和MOTA度量方面都优于大多数方法,并且我们的速度相当快。这种近乎实时的处理速度可以应用于我们现实生活中的各种场景。值得注意的是,还有一些其他方法[49],[50]在posetrack数据集上取得了很好的效果,但它们主要考虑视频的整体时序信息,这意味着它们不是严格的在线算法。因此,我们的方法不直接与他们的方法进行比较。[52],[53],[54]的结果与我们的结果相比具有更高的精度。但是他们使用非常高的分辨率来输入和输出,这消耗大量的存储器并且在计算上是昂贵的。我们的方法在高效运行的同时达到了令人满意的精度。

概述了一些流行的公共数据集,用于RGB图像中的2D关键点估计。Kpt表示关键点,#Kpt表示带注释的数字。“野生”表示数据集是否在野生环境中收集。“H 0 I”表示人-对象交互身体部位标签。P Halpe全身数据集和COCO数据集的消融研究。“hm-norm”表示热图归一化。“*”表示使用来自多领域知识蒸馏的额外数据训练的结果。Posetrack验证数据集上的评估结果。“Res”表示姿态网络的输入分辨率,并且“Src”表示源代码是否可用。“Ours-UNI”表示用姿势和re-ID分支的共享主干训练的结果,并且“Ours-SEP”表示用分离的主干训练的结果。fps中的“*”表示不包括检测时间。在跟踪后处理之后获得mAP值。

6.8用于姿势跟踪的消融研究

        为了验证跟踪算法各部分的有效性,我们设计了几组消融实验。PGA模块PGA模块的功能是在关键点信息的帮助下帮助提取更有效的re-ID特征。作为比较,我们在我们的框架中删除了PGA模块,这意味着人体姿势和re-ID特征直接输入MSIM。在PoseTrack数据集上的测试表明,删除PGA模块后,跟踪性能会下降,如表7所示。与此同时,我们可视化了提取的re-ID特征,如图10所示,有或没有PGA模块。以来检测结果通常是一个比人体原始尺寸更大的盒子,背景在盒子中占有很大的比例。然而,背景信息使得人类身份嵌入携带无用的特征。这直观地解释了PGA的优势在于它可以更好地将注意力集中在目标人的区域。

见图10。PGA模块作用的可视化。当没有PGA模块时,某些背景区域也将具有高响应。加入PGA模块的结果表明,特征响应更集中于目标人。值得注意的是,从图(b)中我们可以看到,当两个人靠近时,特征响应在PGA的帮助下聚焦于目标人(放大以获得更多细节)。

        MSIM为了进一步验证模型的性能,我们在网络中添加了不同级别的信息。具体来说,我们设置了几组实验,分别使用GT框,GT姿势。这些结果见表7。结果表明,如果我们用更精确的网络代替人体检测器和姿态估计器,我们的跟踪性能将进一步提高。

提出的位姿跟踪方法的烧蚀研究结果。

7全身姿态跟踪

        在以上部分中,我们展示了我们的方法在全身姿态估计和姿态跟踪上的有效性。由于我们的跟踪算法是通用的,它也适用于全身场景。我们通过在PoseTrack数据集和Halpe-FullBody数据集上进行训练,采用弱监督策略。全身姿态跟踪的一些定性结果在图9中示出。我们可以看到,全身姿态估计和姿态跟踪都在非常拥挤的场景中产生高精度。我们的方法对人体的大小变化不敏感。具体来说,当一个人被其他人遮挡并重新出现时,我们的方法仍然给出正确的身份(例如,右边穿黑色短裤的人)。

8库分析

        在本节中,我们将我们的AlphaPose库与其他流行的开源库在姿态估计和姿态跟踪方面进行比较。结果是在单个Nvidia 20080 Ti GPU上获得的。图11显示了不同库的速度-准确度曲线。从图11(a)中可以看出,我们的方法具有最高的准确性和最高的产量。对全身和仅身体姿态估计的效率。虽然我们的自上而下的方法的缺点是,运行时间会增加场景中的人的增加,我们的并行处理管道大大弥补了这一不足。根据OpenPose [17]的统计,当场景中的人数少于20人时,我们的库比它更有效率。从图11(B)中我们可以看到,我们的姿态跟踪实现了与最先进的库相当的性能,同时运行效率很高

见图11。不同姿态估计和跟踪库的速度/精度比较。(a)在COCOWholeBody验证集和COCO验证集上获得的姿势估计结果。(b)在PoseTrack 18-瓦尔set上获得的姿势跟踪结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值