论文proposal(论文分享 | Pose Proposal Networks)

论文proposal
论文分享
作者:李彦霖

编辑整理:萝卜兔

本周论文分享一篇ECCV2018关于人体姿态估计的文章《Pose Proposal Networks》。人体姿态估计的目的需要检测出人体关键点的姿态。这在实际中非常有用,比如运动分析,人机交互等。
本文要解决的是从2D的静态图像中检测出人体姿态。先来看下之前的解决方法,之前的方法可以分为两大类:一类是首先检出人的位置,然后在人的区域内去估计姿态,这是top-down的思想;另一类则是先检出关键点,再将它们合并到一个人上,这是bottom-up的思想。top-down的方法计算代价更高一些,因为它和图片中人的数量成正比,这限制了这类方法在一些实时场景中的应用。而bottom-up的方法需要将关键点进行关联,并合并到单个人上的后续处理流程。

Method
本文根据之前方法的缺点,将姿态检测的复杂度与CNN的特征图分辨率分离开来,借鉴单阶段目标检测(single-shot)的思想,将人体姿态估计转换为目标检测问题,从图像中直接回归出人和关键点的位置。另外不同于逐像素的关节连接方法,本文直接从CNN输出关节连接和生成候选姿态。

整体流程如图2所示: 
将输入图像规范化,resize到统一大小;
经过CNN直接输出人的位置,关节位置,关节连接信息(PRs);
对上述的候选区域使用非极大值抑制(NMS);
将候选区域与单个人对应起来并生成候选姿态。

PPNs(Pose Proposal Networks)
这部分借鉴的是YOLO 的思想。输入图像经过CNN后被分成了H x W大小的网格,每个网格都对应着输入的一个区域,对于每一个网格都输出一组检测结果,其中i代表网格的索引,k代表需要检测的目标索引(比如k=0代表头部)。
每个包括了检测框的位置信息(中心点+长宽)和两个概率。其中p(R | k, i) 是指grid i 负责检出关键点k的概率,当关键点的真实位置的中心落在某个grid对应的区域内,那么这个grid负责检测出关键点k。p(I | R, k, i)这个条件概率是检测框的置信度。对于每个人的位置可以通过一个包含整个身体或者头部的矩形框进行描述。

对于每个位于x的grid cell i,CNN 还输出了关节连接概率的集合, L 表示可以组成肢体的关键点的索引。
其中p(C|k1 , k2 , x, x + ?x)表示从x处的k1到x + ?x处的k2之间有关节连接的概率,如图3所示。在这里我们假设位于x处的关节只能与一个局部区域H’ x W’ 内的关节相连。
因此最后CNN输出的Tensor 维度为,训练时的Loss为:
其中,表示grid cell i 是否负责检出关键点k。

Pose proposal generation
有了上述的候选区域,接下来就是如何连接关节生成姿态了。通过NMS生成一组离散的关键点候选位置,这些关键点候选位置由于多人或者误检的情况,每个关键点存在多个候选位置。从这些关键点中生成最优的姿态,这是一个K部图匹配的NP-hard问题。针对这个场景,可以进行2点简化。首先选择最少的边可以得到关节姿态的生成树,它的节点和边代表节点之间有直接的连接,而不是使用整体图。其次匹配的问题可以分解为一组二部图匹配的问题,如图4所示。另外作者考虑到使用的CNN模型较小,其感知野相对较小,提出了考虑到非邻接节点关系的匹配方法,详细的步骤参考论文Sec 3.2。

Experiments
来看下在数据集MPII Single-Person上的性能,可以看出在单个人的图像上效果不错,在速度上使用GTX1080Ti达到的388FPS。
不过虽然在效果和速度上表现不错,但是在一些极端的pose,人多等时候存在一些误检,还有提升的空间。

参考链接:
http://openaccess.thecvf.com/content_ECCV_2018/papers/Sekii_Pose_Proposal_Networks_ECCV_2018_paper.pdf
<<  向左滑动,添加@Eva 入群>>

论文proposal相关文章