这篇是face++2017年coco keypoint benchmark 数据集冠军的文章。主要提出了基于CPN(Cascaded PyramidNetwork)结构的人体关键点检测框架。

Top-down pipeline

整体框架采用Top-down自上而下的检测策略。首先使用行人检测框架,先检测出行人候选框。然后使用本文的CPN网络对每一个检测出来的行人候选框进行人体关键点的回归,进而输出最终结果。最终实现coco tes-dev 73 map,coco test-challengedataset 72.1map。

Motivation:

首先对于可以看见的easy 关键点直接预测得到,对于不可见的关键点,使用增大感受野来获得关键点位置,对于还未检测出的点,使用上下文context进行预测。

整体网络结构:

网络整体结构采用CPN(CascadedPyramid Network)结构,Cascaded指的是级联的意思,代表了网络级联了2个类似的模块(GolbalNet和RefineNet),Pyramid指的是类似于FPN的金字塔网络结构。

其中,GolbalNet负责网络所有关键点的检测,重点是对比较容易检测的眼睛,胳膊等部位的关键点预测效果较好,采用的损失函数为L2 loss。其中在每一个elem-sum操作之前,都对featuremap使用了1*1的卷积操作。

RefineNet指的是对GolbalNet预测的结果进行修正的网络。GolbalNet对身体部位的那些遮挡,看不见,或者有复杂背景的关键点预测误差较大,RefineNet则专门修正这些点。主要还是基于shortcut的思想。在该阶段的训练中,还使用了类似OHEM的online hard keypoints mining难例挖掘策略。

 

主要训练trick:

(1)数据增强,提升0.4map

训练数据的处理上使用了随机翻转,(-45度,45度)的随机旋转,(0,7,1.35)的随机尺度变换。

(2)大batch的训练,主要针对检测框架,提升0.4-0.7map

(3)在行人检测框架中使用soft NMS取代hard NMS,提升0.3map

soft NMS指的是将重叠较大的框中分数较小的那个框的分数拉到很低,但是不会去除到这个框,这样召回率相对较高。
hard NMS就是传统的NMS,直接将IOU大于一定阈值的框中得分较低的框直接去掉,相对召回率较低。

在人体关键点检测中,使用soft NMS会因为人体框召回率的提高而得到较高的分数。

(4)随着检测map的提高,关键点的map提升非常有限

5)online hard keypoints mining
在coco数据集中有17个关键点需要预测,GolbalNet预测所有的17个点,并计算所有17个点的loss,RefineNet也预测所有的17个点,但是只计算其中最难的8个点的loss。在训练中还使用了类似OHEM的OHKM策略。


(6)多模型融合集成,提升1.1-1.5map在coco minval数据集上


References:

Cascaded Pyramid Network for Multi-Person Pose Estimation