Alphapose论文精读

作者

郝淑芳1∗,书琴谢1,泰宇荣2,策屋路 上海交通大学,中国腾讯优图

结论

本文提出了一种新的区域多人姿态估计(RMPE)框架,该框架在精度和效率上显著优于现有的多人姿态估计方法。它验证了当SPPE适用于人类检测器时,两步框架的潜力,即hu-man检测器+SPPE。我们的RMPE框架由三个新组件组成:带并行SPPE的对称STN、参数姿态NMS和姿态引导建议生成器(PGPGPG)。特别是,PGPG用于通过学习给定人体姿势的边界框建议的条件分布来对训练数据进行大量论证。由于对称STN和并行SPPE的使用,SPPE开始接受处理人类定位错误。最后,可以使用参数姿态NMS来减少冗余检测。

两个主要问题:

定位误差问题和冗余检测问题

Alphapose论文精读_第1张图片

定位误差:SPPE很容易受到包围盒错误的影响。即使在IOU>0.5的情况下,包围盒被认为是正确的,检测到的人的姿势仍然可能是错误的。

Alphapose论文精读_第2张图片

冗余检测问题:由于SPPE为每个给定的边界框生成一个姿态,因此冗余检测会产生不冗余的姿态。

相关工作:

a.设计了一个新的对称空间变换网络(SSTN),该网络与SPPE相连,用于从一个不精确的边界框中提取高质量的单人区域。

b.为了优化该网络,引入了一种新的并行SPPE分支。在训练阶段充当额外的正则化器,有助于避免局部最优的情况。

c.为了解决冗余检测问题,引入了一种参数化的NMS。我们的参数化姿势NMS通过使用一种新的姿势距离矩阵来比较姿势相似性,从而消除冗余姿势。采用数据驱动的方法优化姿态距离参数。

d.提出了一种新的姿势引导人类提议生成器(PGPG)来增加训练样本。通过学习不同姿势下人体检测器的输出分布,我们可以模拟人体边界框的生成,生成大量训练数据样本。

Alphapose论文精读_第3张图片

由人体检测器获得的人体边界盒被输入“对称STN+SPPE”模型,并自动生成姿势建议。生成的姿势建议通过参数化姿势NMS进行细化,以获得估计的人体姿势。在培训期间,我们引入了“并行SPPE”,以避免局部极小值,并进一步利用SSTN的力量。为了扩充现有的训练样本,设计了一个姿势引导建议生成器(PGPG)。在接下来的部分中,我们将介绍框架的三个主要组成部分。

STD和STDN

Alphapose论文精读_第4张图片

空间变压器网络(STN)在自动选择感兴趣区域方面表现出了优异的性能。在本文中,我们使用STN提取高质量的人类显性基因。从数学上讲,STN执行二维仿射变换,可以表示为

image-20220317101529264

其中θ1、θ2和θ3是R2中的向量。{xsi,ysi}和{xti,yti}分别是变换前后的坐标。在SPPE之后,生成的姿势被映射到原始人类提议图像中。自然地,需要一个空间去变换网络(SDTN)将估计的人体姿势重新映射回原始图像坐标。SDTN计算反变换的γ,并基于γ生成网格:

image-20220317101447582

由于SDTN是STN的逆过程,因此我们可以获得以下结果

image-20220317101618392

要通过SDTN反向传播,∂J(W,b)∂θ 可以被导出为

image-20220319113236399

关于θ1和θ2,以及

image-20220319113346506

Parallel SPPE

为了进一步帮助STN去提取更好的人体区域位置,在训练阶段添加了一个Parallel SPPE分支。这个Paralell SPPE也是从STN中链接出来,然后和SPPE并行处理,但是SDTN被忽略掉。这个分支的人体姿态标签被指定为中心。更准确的说,SPPE网络的输出直接和人体姿态标签的真实值进行对比。在训练过程中会关闭Parallel SPPE的所有层。这个分支的权重是固定的,其目的是将姿态定位后产生的误差反向传播到STN模块。如果STN提取的姿态不是中心位置,那么Parallel SPPE会返回一个较大的误差。通过这种方式,我们可以帮助STN聚焦在正确的中心位置并提取出高质量的区域位置。在测试阶段,Parallel SPPE不会使用,因此只有在训练阶段Parallel SPPE才会产生作用。

参数化姿态NMS

非最大值抑制(NMS)来消除冗余:首先,选取最有信心的姿态作为参考,并应用剔除准则对与其相近的姿态进行剔除。在剩余的姿势集上重复此过程,直到消除冗余姿势并且只报告唯一姿势。

定义了一个姿势距离度量(Pi,Pj |∧)来度量姿势相似性,并定义了一个阈值η作为消除准则,其中∧是函数d(·)的参数集:

image-20220317104057868

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

image-20220319121446120

通过组合公式(8)和(9),最终的距离函数可以写成:

image-20220319121642403

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

优化:给定检测到的冗余姿态,对消除准则f(Pi,pj|Λ,η)中的四个参数进行优化,以获得验证集的最大MAP,由于在4D空间中进行穷举搜索是困难的,因此我们通过迭代固定其他两个参数来一次优化两个参数。一旦达到收敛,参数就固定下来,并将在测试阶段使用。

PGPG

遵循Andriuka等人使用的方法来学习原子姿态。为了从人类姿势的注释中导出原子姿势,首先对齐所有姿势,使其躯干具有相同的长度。然后使用k-means算法对对齐的姿势进行聚类,计算出的聚类中心形成我们的原子姿势。现在,对于共享相同原子姿势a的每个人实例,我们计算其地面真实边界框和检测到的边界框之间的偏移。然后用该方向上的地面真值边界框的相应边长对偏移进行归一化。经过这些过程后,偏移量形成一个频率分布,我们将数据拟合为高斯混合分布。

Alphapose论文精读_第5张图片

​ 几种不同原子姿态的包围盒偏移量的高斯分布

数据集:

MPII多人数据集

MSCOCO关键点挑战赛

在本文中,我们使用基于VGG的SSD-512(ResNet152的FAST-RCNN)作为我们的人体检测器,因为它有效且高效地执行目标检测。为了保证整个人体区域都能被提取出来,检测到的人体提议在高度和宽度方向上都被扩展了30%。我们使用叠加沙漏模型作为单人姿势估计器,因为它具有优越的性能。对于STN网络,我们采用ResNet-18作为我们的本地化网络。考虑到存储效率,我们使用较小的4层沙漏网络作为并行SPPE。

为了证明我们的框架是通用的,并且适用于不同的人体检测器和姿势估计器,我们还用基于ResNet152的更快的RCNN替换了人体检测器,并用PyraNet替换了姿势估计器。在这种情况下,我们采用多尺度测试进行人体检测,并使用320x256作为PyraNet的输入大小。

结果:

Alphapose论文精读_第6张图片 image-20220319130927148 Alphapose论文精读_第7张图片

​ 消除实验

结论:RMPE中每个部件都是必不可少的。

缺陷:Alphapose论文精读_第8张图片

  1. SPPE不能处理很少出现的姿势(例如,在第一张图像中执行“人旗”的人)。
  2. 当两个人高度重叠时,我们的系统会变得混乱,无法将他们分开(例如,第二张图像左边的两个人)。
  3. 人物检测器的遗漏也会导致人体姿势的遗漏检测(例如,在第三幅图像中躺下的人)。
  4. 当目标看起来与人类非常相似时,仍然可能检测到错误的姿态,这可以欺骗人类检测器和SPPE(例如,第四幅图像中的背景对象)。

引用

image-20220319110527294

Pishchulin等人提出Deepcut首先检测所有身体部位,然后通过积分线性规划对这些部位进行标记和组装

image-20220319110947304

Insafut dinov等人[21]提出了一种基于ResNet[19]的更强部分检测器和更好的增量优化策略

image-20220319112619540

空间变压网络STN

你可能感兴趣的:(深度学习,3d)