(11) Multi-person Pose Estimation : RMPE

RMPE: Regional Multi-Person Pose Estimation(精读)


ICCV 2017

reading time :2019/09/16 

paper address : https://arxiv.org/pdf/1612.00137.pdf


论文中,作者提出了新的regional multi-person pose estimation(RMPE) 用来在出现不正确人脸框的时候,促进姿态估计。框架包括三个部分:Symmetric Spatial Transformer Network(SSTN)Parametric Pose Non-Maximum-Suppression(NMS)。Pose-Guided Proposals Generator(PGPG)

 

上图,是作者发现的多人姿态估计中的两个主要问题。第一是bounding box定位误差问题。 红色是ground truth,黄色是检测得到的IOU>0.5的检测框。发现对应黄色框的heatmap中没有检测到相应的人体部位。右侧的黄色检测框IOU>0.5,可以被认为是“正确的”但是没有检测到人体关键点。第二个问题是,自上而下的多人姿态估计,产生冗余的bounding boxs,然后SPPE对每一个人体框进行姿态估计,导致冗余。

regional multi-person pose estimation(RMPE)

    SSTN(Symmetric spatial transformer network)

        有人体检测得到的检测框并不适合SPPE。从一个不精确的bounding box得到一个高质量的人体区域。 

 STN(spatial transformer network) 和 SDTN 是来自一篇论文。SDTN也就是反变换将其坐标返回到原图上去。

  1. Localization net根据输入图,计算得到一个ΘΘ
  2. Grid generator根据输出图的坐标点和ΘΘ,计算出输入图的坐标点,举例来说想知道输出图上(2,2)应该填充什么坐标点,则跟ΘΘ运算,得到(1.6,2.4)
  3. Sampler根据自己定义的填充规则(一般用双线性插值)来填充,比如(2,2)坐标对应到输入图上的坐标为(1.6,2.4),那么就要根据输入图上(1.6,2.4)周围的四个坐标点(1,2),(1,3),(2,2),(2,3)的像素值来填充

     所以说,STN网络可以通过bp来训练。

Parallel SPPE(可以被认为是训练阶段的regularizer)

    这个平行的分支与SSTN公用了STN部分,但是没有SDTN部分。它的输出直接和center-located ground truth对比。parallel SPPE的所有层的参数都是冻结的,它的作用是反向传播误差到STN模块。如果提取的姿态不是位于中心的,parallel SPPE就会方向传播大的误差。这项可以帮助STN集中于争取的区域,提取高质量的区域。那么为什么不在SDTN之前对SPPE的输出做loss。作者认为这个方法会降低系统的性能,虽然STN会部分的变换输入,但是不可能和label值一样。作者认为输入和SPPE标签的坐标空间的差异,这样会极大的影响SPPE学习姿态估计的能力(不是很理解,难道是网络既要学习怎么变换图像还要学习姿态估计,会导致性能的下降)。

Parametric Pose NMS (p-Pose NMS)

    作者定义的姿态距离度量d(.)用来衡量姿态相似性。η是相处标准。如果d(.)小于η
,那么f(.)的输出应该为1。说明姿态Pi和参考姿态Pj之间存在冗余,需要被消除。

   Pose Distance

    距离函数d_{pose}(P_{i},P_{j}),我们假设Pi的box是Bi。然后定义了软匹配函数。

tanh操作可以过滤掉低置信度的姿态。当两个相应的结点都有很高的置信度,输出近似1。这个距离可以计算姿态之间匹配关节的数目。

空间的部件之间的激励也可以写作上述公式。所以 最后的距离韩式为:d(P_{i},P_{j}|\Lambda ) = K_{sim}(P_{i},P_{j}|\sigma _{1}) + \lambda H_{sim}(P_{i},P_{j}|\sigma _{2})。这里的\Lambda =\left \{ \sigma_{1},{\sigma_{2},\lambda \right \}, η。不是人为指定的,而是由数据驱动的方式。优化策略是固定两个,优化其他两个。

Pose-guided Proposal Generator

    因为我们有每一个人的姿态ground truth,和目标检测bounding box。我们可以产生很多和人类检测器一样分布的大样本用于训练。

问题:不同姿态之间的检测bounding box和ground truth之间的bounding box之间的offset分布是不同的。具体而言,存在分布P(\delta B|P)\delta B代表偏移量。作者建模了这个分布。

方法:由于Pose很多,作者对Pose进行了聚类。所以,作者试图学习P(\delta B|atom(P))。从人体姿态的标注获得原子姿态。首先将所有姿态对齐,是他们的躯干有相同的长度。然后使用K-means聚类。现在对于共享相同原子姿态a的每一个person实例,我们计算ground truth边界框和检测到的边界框之间的偏移量。然后将偏移量按该方向对应的ground truth 的 bounding box边长进行归一化。经过这些处理后,偏移量形成了频率分布,,我们将数据拟合成高斯混合分布。对于不同的原子姿态,我们有不同的高斯混合参数。

增强数据:先看训练样本对应的原子姿态,得到额外的偏移得到新的bounding box用于训练。

 

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值