【论文阅读】RMPE 区域多人姿态估计

论文原文:https://arxiv.org/abs/1612.00137
参考翻译:https://blog.csdn.net/just_sort/article/details/79262059

摘要

1、提出背景

复杂环境下的人姿势估计具有挑战性。虽然最先进的人体探测器已经表现出良好的性能,但是在定位和识别方面的小错误是不可避免的,这些错误可能会导致单人姿势估计器(SPPE)的失败,尤其是对于完全依赖于人体检测结果的方法。

2、RPME简介

区域多人人体姿态估计框架,以便在存在不精确人体框时进行估计。

框架主要组成

  • 对称空间变换网络(SSTN)
  • 参数姿态非最大抑制(NMS)
  • 姿态引导提议生成器(PGPG)

优点

  • 能够处理不准确的边界框和冗余检测,让它在MPII(多人)数据集上达到76.7mAP

一、介绍

1、方法和目标

  • 方法:两步法( two-step framework),可以理解为自上而下
  • 目标:即使在边界框不正确的情况下,也能检测出准确的人体姿势

2、已有方法问题说明

为了说明以前的方法的问题,我们应用了最先进的物体探测器Faster-RCNN和SPPE堆叠沙漏模型。

主要问题有如下两个:

  • Figure 1:边界框定位错误
    SPPE很容易受到边框错误的影响。即使对于IoU> 0.5的边界框被认为是正确的情况,检测到的人体姿态仍可能是错误的。
    在这里插入图片描述

Figure 1.边界框定位错误问题。 红色框是地面真值边界框,黄色框是IoU> 0.5的检测到边界框。热图是SPPE的输出,对应于两种类型的盒子。黄色框的热图中未检测到相应的身体部位。请注意,如果IoU> 0.5,则将黄色框视为“正确”检测。但是,即使使用“正确的”边界框也无法检测到人体姿势。

  • Figure 2:冗余人体检测错误
    SPPE为每个给定的边界框产生一个姿态,所以冗余检测导致冗余姿态。
    在这里插入图片描述

Figure 2.多余的人类检测问题。左图显示了检测到的边界框。右图显示了估计的人体姿势。因为每个包围盒都是独立操作的,所以可以为一个人检测到多个姿势。

3、RMPE框架

改善了基于SPPE的性能。

  • 对称空间变换网络(SSTN)
    连接在SPPE上,从不精确的边界框中提取高质量的单人区域;
  • 并行SPPE
    优化网络,解决冗余检测问题;
  • 参数化姿态非最大抑制(NMS)
    通过使用新的姿态距离度量比较姿态相似性来消除冗余姿态。采用数据驱动的方法来优化姿态距离参数。
  • 姿态引导人类提议生成器(PGPG)
    增强训练样本。

二、相关工作(对原文翻译)

1、单人姿态估计

在单人姿势估计中,仅通过尝试估计一个人的姿势就简化了姿势估计问题,并假定该人主导图像内容。传统方法考虑了图形结构模型。 例如,树模型和随机森林模型已证明在人体姿态估计中非常有效。基于图的模型,例如随机场模型和依赖图模型,也已在文献中进行了广泛研究。
最近,深度学习已成为目标/人脸识别中一种有前途的技术,人体姿势估计也不例外。代表作品包括DeepPose(Toshev等人),基于DNN的模型和各种基于CNN的模型。 除了简单地估计人体姿态外,一些研究同时考虑人体解析和姿态估计。对于单人姿势估计,只有在人物正确定位的情况下,这些方法才能表现良好。但是,这个假设并不总是令人满意的。

2、多人姿态估计

Part-based Framework
对以部分探测为基础的框架的典型工作进行审阅。Chen提出了一种通过图形模型来解析大部分被遮挡的人的方法,该方法将人类模拟为身体部位的灵活组合。 Gkiox等人使用k-poselets来联合检测人物并预测人体姿势的位置。最后的姿势定位通过所有激活的姿态的加权平均来预测。Pishchulin提出DeepCut首先检测所有身体部位,然后通过整体线性规划对这些部位进行标记和组装。一个更强大的基于ResNet的部件检测器和更好的增量优化策略由Insafutdinov提出。虽然基于部分的方法已经表现出良好的性能,但是由于只考虑了小的局部区域,所以它们的身体部分探测器可能是脆弱的。
Two-step Framework
我们的工作遵循两步框架。在我们的工作中,我们使用基于CNN的SPPE方法估计姿势,而Pishchulin使用传统的图形结构模型进行姿态估计。 特别是,Insafutdinov提出了一个类似的两步流水线,它使用更快的R-CNN作为他们的人体检测器和DeeperCut作为他们的姿态估计器。 在MPI数据集上,他们的方法只能达到51.0,而我们的方法可以达到76.7 mAP。 随着目标检测和单人姿态估计的发展,两步框架的性能可以进一步提高。 本文旨在解决两步框架下人体检测不完善的问题,以最大限度地发挥SPPE的功能。

三、区域多人姿态估计

1、RMPE框架

框架流程

  • 人体检测器获得人体边界框;

  • 人体边界框送入“对称STN+SPPE”模块,自动生成姿态建议(对称STN由在SPPE之前和之后附加的STN和SDTN组成。 STN收到人工提案,SDTN生成姿态建议);

  • 生成的姿态建议由参数化姿态NMS进行优化,获取估计的人体姿态,消除冗余姿态估计;

    同时,训练期间:

  • 引入“并行SPPE”,充当额外的调节器,以避免局部最低限度,进一步利用SSTN的力量;

  • 设计了姿态引导提议生成器(PGPG),增加现有的训练样本,生成的图像用于训练SSTN+SPPE模块。
    在这里插入图片描述

Figure 3. 我们的RMPE框架的管道。我们的对称STN由STN和SDTN组成,它们分别连接在SPPE之前和之后。STN接收人工建议,而SDTN生成姿势建议。在训练阶段,并行SPPE充当额外的调节器。最后,执行参数姿势NMS(p-Pose NMS)以消除多余的姿势估计。 与传统训练不同,我们使用PGPG生成的图像训练SSTN + SPPE模块。

2、对称STN和并行SPPE

  • SPPE的问题:人体检测器提供的人体建议并不适合SPPE。这是因为SPPE是专门针对单人图像进行训练的,并且对定位错误非常敏感。已有研究表明,小规模翻译或裁剪人的建议可能会严重影响SPPE的性能。
  • 引入对称STN +并行SPPE的作用:可以在人类建议不完善时增强SPPE。

我们的SSTN和并行SPPE的模块如图4所示。
在这里插入图片描述

Figure 4. 对称STN架构的说明和并行SPPE的训练策略。使用的STN由Jaderberg开发。我们的SDTN取一个由定位网络( localization net)产生的参数θ,并计算γ进行反变换。我们遵循网格生成器(grid generator)和采样器(sampler)来提取人类主导地区。对于我们的并行SPPE分支,指定了一个位于中心的姿态标签。 我们固定并行行SPPE的所有层面的权重,以鼓励STN提取主导性的单人提案。

(1)STN 和 SDTN
1)STN空间变换网络(进一步了解)

在自动选择兴趣区域方面表现出优异的性能,本文中用STN来提取高质量的人工提案。
数学上执行二维自由度变换
在这里插入图片描述
θ1,θ2和θ3是R2中的矢量。xis、yis和xit、yit分别是转换前和转换后的坐标。

2)SDTN空间反变换网络

在SPPE之后,得到的姿势被映射到原始的人类建议图像。因此需要空间反变换网络(SDTN)来将估计的人体姿态重新映射回原始图像坐标。SDTN 是STN的逆过程 ,用于计算解除变换的γ并基于γ生成网格。
基于γ生成网格公式
在这里插入图片描述
其中γ的计算公式如下
在这里插入图片描述

3)SDTN反向传播(没有看太明白)

通过SDTN反向传播,介绍如下:
在这里插入图片描述
在提取高质量的人体提议区域之后,可以利用现成的SPPE进行精确的姿态估计。在训练中,SSTN与SPPE一起进行了调整。
个人理解:STN用于得到人类主导区域,也就是人工提案,然后基于SPPE进行人体姿态的识别,识别完成后,需要采用SDTN反变换,将估计的人体姿态重新映射到原始图像坐标中)

(2)并行SPPE
1)作用

进一步帮助STN提取良好的人类主导区域,增加一个并行SPPE;

2)结构

与原始的SPPE共享相同的STN,但是没有空间反变换网络SDTN;

3)详细描述

该分支的人体姿势标签指定为居中,也就是并行SPPE分支的输出直接与位于中心的地面真实姿势的标签进行比较。
在训练时,冻结并行SPPE的所有层。分支的权重是固定的,目的是反向传播中心定位的姿态误差到STN模块。如果所提取的STN姿态不在中心位置,则并行分支将反向传播大误差。这样,我们可以帮助STN专注于正确的区域并提取高质量的人类主导区域。
在测试阶段,并行SPPE被丢弃。并行SPPE的有效性将在我们的实验中得到验证。
个人理解:STN会给出一个人类主导区域,并行SPPE基于STN进行单人人体姿态识别,然后将识别的姿态(输出)与标记的真实姿态进行比较,得到的误差反向传播给STN,根据误差进一步训练STN,以期使STN专注于正确的区域,提取高质量的人类主导区域)

4)进一步讨论

训练期间,并行SPPE可以看作正则化作用(调节器),用来进一步加强STN提取优质的human proposal,有助于避免STN不将姿态转换到提取的人类区域的中心的不良解(局部最小值)。使用并行SPPE,训练STN以将人移动到提取区域的中心,以促进SPPE的准确姿态估计。
用SPPE(SDTN之前)的中心位置姿态回归损失代替平行SPPE可能看起来很直观, 但是这种方法会降低我们系统的性能。因此,为了确保STN和SPPE能够充分利用自己的力量,一个具有冻结权重的并行SPPE对于RPME框架是不可或缺的。 对于非中心姿态,并行SPPE始终会产生较大的误差,从而推动STN产生中心位置的姿态,而不影响主分支SPPE的性能。

3、参数化姿态NMS

(1)背景

人类检测器不可避免产生冗余检测,这又产生冗余的姿态估计。

(2)作用

消除冗余.

(3)具体描述
  1. 定义具有m个关节的姿态Pi
    在这里插入图片描述

  2. NMS方案
    选择得分最高的姿态A作为参考,应用消除标准来消除最接近姿态A的姿态,在其余姿态集上重复此过程,直到消除所有多余姿态,得到唯一的姿态。

  3. 消除标准
    需要定义姿态相似性,消除彼此过于接近和过于相似的姿态。
    1)首先定义一些参数:
    姿态距离度量,用于度量姿态相似度, Λ是 d(·) 的参数集:
    在这里插入图片描述
    阈值η,作为消除准则;
    2)然后写出消除准则的公式:
    在这里插入图片描述
    如果d(·)小于η,则f(·)的输出应该是1,这意味着由于参考姿势Pj的冗余,姿势Pi应该被消除。

  4. 姿态距离公式的进一步说明
    接下来详细介绍距离函数:在这里插入图片描述
    1)假定姿态Pi的框是Bi;
    2)定义软匹配函数,用于计算姿态间匹配的关节数:
    在这里插入图片描述
    3)定义各部分(理解为关节)之间的空间距离公式:
    在这里插入图片描述
    4)根据公式(8)和(9),最终得到姿态距离函数:
    在这里插入图片描述

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

(4)优化
  • 优化对象
    给定检测到的冗余姿态,消除准则 f(Pi,Pj |Λ,η)中的四个参数被优化以实现验证集的最大mAP。
  • 优化方法
    由于在4D空间中进行穷举搜索很困难,因此我们可以通过迭代地固定其他两个参数来一次优化两个参数。一旦收敛,参数将被固定,并将在测试阶段使用。

4、姿态引导提议生成器(PGPG)

(1)数据增强
  • 增强的必要性
    对于两阶段姿势估计,必须进行适当的数据扩充,以使SSTN + SPPE模块适应人类检测器生成的“不完美”人类提议。否则,该模块在人体探测器的测试阶段可能无法正常工作。
  • 增强方法
    使用提议生成器,可以使数量大大增加。因为已经有了每个人的地面真实姿态和一个物体检测边框,所以可以生成与人类检测器的输出具有相同分布的大量训练提议样本。通过这种技术,进一步提高系统性能。
(2)观察

作者发现检测到的边界框和地面真实边界框之间的相对偏移的分布在不同的姿态下是变化的。更具体地说,存在一个分布P(δB| P),其中δB是由人体检测器产生的边界框的坐标与地面真实边界框的坐标之间的偏移,P是地面真实姿态。如果可以对这个分布进行建模,就能够生成许多与人类检测器生成的人类提议相似的训练样本。

(3)模拟(没有看懂)

由于人体姿态的变化,直接学习分布P(δB| P)是困难的,,因此试图学习分布P(δB|原子§),其中原子§表示P的原子姿态。
原子姿态的推导过程

  • 对齐所有的姿势,使他们的躯干具有相同的长度;
  • 使用k-均值算法对对齐的姿势进行聚类,计算出的聚类中心形成本文的原子姿势;
  • 对于共享相同原子姿态a的每个人实例,计算其地面真​​值边界框和检测边界框之间的偏移;
  • 用该方向上相应的地面真实边界框的边长对偏移量进行归一化;
  • 经过这些过程后,偏移形成一个频率分布,将数据转换成高斯混合分布,对于不同的原子姿态,有不同的高斯混合参数。
    在这里插入图片描述

Figure 5. 几种不同原子姿势的边界框偏移量的高斯分布。在补充材料中可获得更多结果。

(4)提议生成器

在SSTN + SPPE的训练阶段,对于训练样本中的每个带注释的姿势,首先查找相应的原子姿势a。然后,根据P(δB| a)通过密集采样生成其他偏移,以产生增强的训练提议。
个人理解:SSTN+SPPE应该由SSD产生的人体提议框充分训练,因此需要适当的数据增强。这里主要是在训练过程中增加提议框的数量,虽然每张图只有n个人,每个人只有一个框,但是我们可以根据ground true的提议,通过提议生成器,生成和其分布相似的多个提议框一起训练)

四、实验

1、数据集

选用两个具有较大遮挡情况的标准多人数据集,定性和定量评估。

  • MPII多人数据集
    包括3844次训练和1758个测试组,包括遮挡和重叠人员,此外有28000个单人姿态估计训练样本。本文用单人数据集中的所有训练数据和90%的多人训练集调整SPPE,剩余10%用于验证。
  • MSCOCO关键点挑战数据集
    包括105,698次培训和大约80,000次测试人员实例。训练集包含超过100万个标记的关键点。

2、测试中的实验细节(网络结构)

  • 人体检测器
    采用基于VGG的SSD-512,能够有效和高效执行目标检测。为确保提取到整个人的区域,检测到的人工提议沿着高度和宽度方向延伸30%;
  • 单人姿态估计器(SPPE)
    采用堆叠式沙漏模型
  • STN网络
    采用ResNet-18作为本地化网络;
  • 并行SPPE
    考虑到内存效率,采用较小的四层沙漏网络。

3、结果

(1)MPII数据集

在这里插入图片描述

Tabel 1. MPII多人测试集(mAP)的结果。“++”表示使用softnms的fast-rcnn作为人类检测器,使用输入尺寸为320x256的PyraNet作为姿态估计器。

(2)MSCOCO数据集

在这里插入图片描述

Tabel 2. MSCOCO关键点挑战(AP)数据集的结果。MSCOCO网站仅提供技术概述。我们的结果是没有集合的。“++”表示使用softnms的fast-rcnn作为人类检测器,使用输入尺寸为320x256的PyraNet作为姿态估计器。我们只比较单个模型的结果。

AP50,AP60…等指的是取检测器的IoU阈值大于0.5,大于0.6…等。
mAP(large):大对象的平均精度(96 ^ 2像素<区域<10000 ^ 2像素)
mAP (medium):中等大小对象的平均精度(32 ^ 2像素<区域<96 ^ 2像素)
mAP (small):小对象的平均精度(区域<32 ^ 2像素)(此处为区域为面积)

4、消融研究

评估了三个提议组件的有效性,即SSTN,姿态指导提议生成器和参数姿态NMS。

  • (a) 第一个实验移除了包括并行SPPE在内的SSTN。第二个实验只删除了平行的SPPE并保持了对称的STN结构。 实验证明:具有单人图像标签的平行SPPE强烈鼓励STN提取单个人区域以最小化总损失;
  • (b) 首先从训练阶段删除数据增强,然后比较我们的数据增强技术和简单的基线,实验证明:姿态引导提议生成器根据分布生成训练建议可以看作是一种数据重新抽样,可以帮助模型更好地融合人的建议。
  • (c) 移除参数化姿态NMS,并采用先进姿态NMS算法,实验证明:由于缺少参数学习,这些方案执行效率比本文低。且时间上,本文的姿态NMS仅需1.8秒。

在这里插入图片描述

Tabel 3. 我们验证组上的消融实验结果.“w / o X”表示我们的管道中没有X模块。“random jittering*”表示通过抖动检测到的人类边界框的位置和纵横比来生成训练建议。“PoseNMS [x]”报告使用论文[x]中开发的姿势NMS算法时的结果。

5、失败案例

在这里插入图片描述
失败的情况

  • SPPE无法处理很少发生的姿势(例如,在第1幅图中执行“Human Flag”的人);
  • 当两个人高度重叠时,系统会无法将他们分开(例如,第二张图片左侧的两个人);
  • 人体检测器的遗漏也会导致人为姿势的遗漏检测(例如,在第三张图像中躺下的人);
  • 当物体看起来非常类似于人,可以欺骗人体探测器和SPPE(例如,第四幅图像中的背景物体),仍然可以检测到错误的姿势。

五、总结

本文提出了一种新的区域多人姿态估计(RMPE)框架,在精度和效率方面明显优于最先进的多人姿态估计方法。两步框架,人体检测器+ SPPE,SPPE适用于人体检测器。RMPE框架由三个部分组成:对称STN与并行SPPE,参数姿态NMS和姿态引导提议生成器(PGPG)。特别的,PGPG通过学习给定人体姿态的边界框提议的条件分布,极大地增加了训练数据。由于使用了SSTN和并行的SPPE,SPPE善于处理人为定位错误。最后,参数姿态NMS可用于减少冗余检测。在我们今后的工作中,探索以端到端的方式与人体探测器一起训练我们的框架的可能性将是有趣的。

六、一些补充知识

1、STN空间变换网络

详细解读Spatial Transformer Networks(STN)
STN:空间变换网络(Spatial Transformer Network)
简介
STN网络不需要关键点的标定,能够根据分类或者其它任务自适应地将数据进行空间变换和对齐(包括平移、缩放、旋转以及其它几何变换等)。在输入数据在空间差异较大的情况下,这个网络可以加在现有的卷积网络中,提高分类的准确性。
结构
在这里插入图片描述
主要由三个部分组成:

  • 参数预测:Localisation net
    这一层用于参数θ的选取,如需实现2D仿射变换,θ就是一个6维(2x3)向量的输出。
    feature map作为输入,我们要做的就是对feature map进行空间变换和对齐,因此过连续若干层计算(如卷积、FC等)进行实现,并回归出实现空间变换和对齐的参数θ,用于下一步计算;
    在这里插入图片描述

  • 坐标映射:Grid generator
    根据预测的参数,实现像素点坐标的对应关系,也就是经过空间变换后的图像的第(i,j)的位置,对应输入图像的哪个位置;
    在这里插入图片描述

  • 像素的采集:Sampler
    用Grid generator和输入的特征图同时作为输入产生输出,得到了特征图经过变换之后的结果,并实现了坐标求解的可微性。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值