RMPE: Regional Multi-person Pose Estimation 论文解读 男娘i 2024-04-18 21:52 9阅读 0赞 **paper title**: RMPE: Regional Multi-person Pose Estimation **paper link**: https://arxiv.org/pdf/1612.00137.pdf **project**: https://www.mvig.org/research/alphapose.html **oral or demo video**:https://www.youtube.com/watch?v=RHNdbEY5xn4 **github**: https://github.com/MVIG-SJTU/AlphaPose **conf & anthor**: ICCV 17, Hao-Shu Fang et al.(SJTU) **arXiv submit v1**: 2016.12 姿态估计系列: * [DeepPose - human pose estimation via deep nerual networks][] * [Efficient Object Localization Using Convolutional Networks][] * [Convolutional Pose Machines ][Convolutional Pose Machines] * [Human Pose Estimation with Iterative Error Feedback][] * [Hourglass Network - stacked hourglass network for human pose estimation ][Hourglass Network - stacked hourglass network for human pose estimation] * [OpenPose - Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields][] * [RMPE: Regional Multi-person Pose Estimation][RMPE_ Regional Multi-person Pose Estimation] * [Pose flow: Efficient Online Pose Tracking][Pose flow_ Efficient Online Pose Tracking] * [CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark][CrowdPose_ Efficient Crowded Scenes Pose Estimation and A New Benchmark] **主要内容**: 这篇文章主要介绍了一种two-stage的多人人体姿态估计方法。与通常的two-stage方法一致,第一阶段使用人体检测器检测出图像中的人,第二阶段使用单个人人体姿态估计(SPPE)模型进行人体关键点检测。 文章在two-stage的算法流程基础上,有三点主要变化: (1) 在SPPE网络之间增加了一个Spatial Transformer Network(STN,关于STN可参考 [Spatial Transformer Network][]) 对检测出的人体的区域做一个空间变换,并在SPPE之后进行一个反变换;设置了两个SPPE网络分支,一个是(1)中所述,另外一个主要用来对网络进行正则; (2) 提出了一种参数化的Pose NMS方法去除冗余; (3) 使用了一种Pose Guided Porposal Generate(PGPG)方法进行训练集扩增。 **网络结构**: RMPE的网络结构如下图所示: ![RMPE framework][] 首先是一个人体检测网络产生人体proposal;然后是两个单人人体姿态估计网络分支,暂称之为主SPPE和辅SPPE,辅SPPE只在训练的时候用到,训练的时候使用PGPG产生proposal;之后是Pose NMS处理模块,最后得到姿态估计结果。下面就这几个部分作更详细一些的说明。 `(1)SPPE` 主SPPE是一个单人人体姿态估计网络,可以是[Hourglass Network][Hourglass Network - stacked hourglass network for human pose estimation]等网络。这里的特殊之处是在网络之前和之后分别添加了了一个[STN][Spatial Transformer Network])和SDTN,STN会对输入的图像进行一个空间变换(如仿射变换),然后经过SPPE进行人体关键点检测,检测完后再通过SDTN变换回原来的空间状态。STN中的localization network在训练的时候是有参数参与训练的,训练得到变换参数 θ \\theta θ,而SDTN中则直接使用STN中的 θ \\theta θ的反向变换即可。 `(2)Parallel SPPE` parallel SPPE的模型结构与主SPPE一致,但是在训练过程中,模型中的参数都是冻结的,并不参与训练,推理的时候是不需要该分支的。另外这条分支使用的label是center-located,目的是让STN变换后的pose是处在图像中心的,以降低关键点检测的难度并提高准确性。这条分支对STN起到一个正则化的作用。 既然parallel SPPE的目的是反向传播center-located的误差,那么是不是可以直接在主SPPE的SDTN模块之前加一个center-located的回归损失?文章对这个问题作出了解释,如果在主SPPE分支上直接加一个损失,输入的坐标空间可label的坐标空间表示的不同,会降低原本的SPPE的姿态估计效果。 `(3)PGPG(Pose Guided Proposal Generator)` 在得到人体检测的bounding box之后,可以通过对bounding box平移缩放等操作扩增数据集,提高模型的性能。文章提出的PGPG是基于已知的pose label 和检测的bounding box,通过发现不同pose的bounding box和label box之间的一些位置关系的统计情况,为不同的pose设置“pose-guided”的不同的数据增强方式。 具体来说,不同的pose P P P的lable和检测的bbox的偏移 δ B \\delta B δB的分布情况是不同的,如下图,可以找到这个分布 P ( δ B ∣ P ) P(\\delta B|P) P(δB∣P)。 ![pose-offset distribution][] 但是直接求分布 P ( δ B ∣ P ) P(\\delta B|P) P(δB∣P)是比较困难的,文章中首先都所有ground truth pose进行归一化并使用k-means进行聚类,聚类中心使用[atom pose][]。最后将atom pose的偏移 δ B \\delta B δB建模成混合高斯分布。 `(4)Parametric Pose NMS` 人体检测会出现冗余的bbox,导致估计的人体姿态也有冗余,需要使用NMS消除冗余,文章提出了一种参数化的Pose NMS方法,通过检测的关键点的置信度和距离来衡量不同pose之间的距离,依此进行冗余消除,方法中使用的参数都是从数据中学习到的。 具体来说,对于第i和Pose P i P\_i Pi, k i j k\_i^j kij和 c i j c\_i^j cij分别表示第j个关键点的位置和置信度。对于 P i P\_i Pi和 P j P\_j Pj分别计算它们之间两个距离: (1)一定空间范围内的对应关键点的置信度距离: D c ( P i , P j ∣ σ 1 ) = ∑ n t a n h ( c i n / σ 1 ) ∗ t a n h ( c j n / σ 1 ) D\_c(P\_i,P\_j|\\sigma\_1) = \\sum\_ntanh(c\_i^n/\\sigma\_1)\*tanh(c\_j^n/\\sigma\_1) Dc(Pi,Pj∣σ1)=n∑tanh(cin/σ1)∗tanh(cjn/σ1) 当 P j P\_j Pj位于以 P i P\_i Pi为中心的矩形框内的时候按照上式计算置信度距离,否则直接为0;j矩形框的大小设置为 P i P\_i Pi的bbox长宽各自的十分之一;tanh(·)是对置信度做一个非线性变换; (2)对应关键点的位置距离: D k ( P i , P j ∣ σ 2 ) = ∑ n e x p ( ( k i n − k j n ) 2 / σ 2 ) D\_k(P\_i,P\_j|\\sigma\_2) = \\sum\_nexp((k\_i^n-k\_j^n)^2/\\sigma\_2) Dk(Pi,Pj∣σ2)=n∑exp((kin−kjn)2/σ2) 最后, P i P\_i Pi和 P j P\_j Pj的距离为: D ( P i , P j ∣ λ ) = D c ( P i , P j ∣ σ 1 ) + λ D k ( P i , P j ∣ σ 2 ) D(P\_i,P\_j|\\lambda) = D\_c(P\_i,P\_j|\\sigma\_1) + \\lambda D\_k(P\_i,P\_j|\\sigma\_2) D(Pi,Pj∣λ)=Dc(Pi,Pj∣σ1)\+λDk(Pi,Pj∣σ2) λ \\lambda λ调节置信度距离和位置距离的权重。最后设置一个阈值参数 η \\eta η,如果 D ( P i , P j ∣ λ ) D(P\_i,P\_j|\\lambda) D(Pi,Pj∣λ)大于 η \\eta η,则保留,否则去掉该pose。 上面说的NMS中的四个参数 σ 1 , σ 2 , λ , η \\sigma\_1,\\sigma\_2,\\lambda,\\eta σ1,σ2,λ,η都是在验证集上最大化mAP优化得到的。 **论文实验和结果**: `(1)论文实验` 实验中使用VGG-based SSD-512作为人体检测器,stacked hourglass network作为主SPPE, 4-stacked hourglass network作为parallel SPPE, ResNet-18作为STN中的localization network。 实验测试了文章中主要的几个模块对结果的影响,具体如下: ![experiment result][] `(2)数据集上结果` MPII: ![RMPE-MPII-result][] COCO: ![RMPE-COCO-result][] (文本图片均来自原论文) [DeepPose - human pose estimation via deep nerual networks]: https://blog.csdn.net/JerryZhang__/article/details/97561493 [Efficient Object Localization Using Convolutional Networks]: https://blog.csdn.net/JerryZhang__/article/details/97561974 [Convolutional Pose Machines]: https://blog.csdn.net/JerryZhang__/article/details/97562875 [Human Pose Estimation with Iterative Error Feedback]: https://blog.csdn.net/JerryZhang__/article/details/97563255 [Hourglass Network - stacked hourglass network for human pose estimation]: https://blog.csdn.net/JerryZhang__/article/details/98308729 [OpenPose - Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields]: https://blog.csdn.net/JerryZhang__/article/details/98667549 [RMPE_ Regional Multi-person Pose Estimation]: https://blog.csdn.net/JerryZhang__/article/details/100767171 [Pose flow_ Efficient Online Pose Tracking]: https://blog.csdn.net/JerryZhang__/article/details/100835787 [CrowdPose_ Efficient Crowded Scenes Pose Estimation and A New Benchmark]: https://blog.csdn.net/JerryZhang__/article/details/100937176 [Spatial Transformer Network]: https://blog.csdn.net/JerryZhang__/article/details/100703368 [RMPE framework]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS83NThlYTM1Y2JhMTE1MGQ5YTRiNTMyYTNhNjFmOTk2ZS94bWxub3RlL0Q1OEMyM0FDNTUwMDRBOUZCRUQ2MzA5NDlBREVDNkUwLzIwODM3?x-oss-process=image/format,png [pose-offset distribution]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS83NThlYTM1Y2JhMTE1MGQ5YTRiNTMyYTNhNjFmOTk2ZS94bWxub3RlLzc5OUZDOEM1ODdGQTQyNTZCMjA2RDdBQUZCRTlENDE2LzIwOTUw?x-oss-process=image/format,png [atom pose]: http://vision.stanford.edu/pdf/yaopami12.pdf [experiment result]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS83NThlYTM1Y2JhMTE1MGQ5YTRiNTMyYTNhNjFmOTk2ZS94bWxub3RlLzI1RUYxNjcxOEM0NTRDMTY5MkU2MTYxOTQwMDVERDI3LzIxMDU0?x-oss-process=image/format,png [RMPE-MPII-result]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS83NThlYTM1Y2JhMTE1MGQ5YTRiNTMyYTNhNjFmOTk2ZS94bWxub3RlLzFDNzE1QjNDQzBDQjQ4NzlCNjE5NzJERkQ5NjkwMUQzLzIxMDQy?x-oss-process=image/format,png [RMPE-COCO-result]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9ub3RlLnlvdWRhby5jb20veXdzL3B1YmxpYy9yZXNvdXJjZS83NThlYTM1Y2JhMTE1MGQ5YTRiNTMyYTNhNjFmOTk2ZS94bWxub3RlLzJFNzA4Q0Y1MjlBRTQ3ODdCMTYyMTY2MzMzQjVGMzgyLzIxMDQ1?x-oss-process=image/format,png
还没有评论,来说两句吧...