论文:Improving Multi-Person Pose Estimation using Label Correction

论文提出了一种openpose人体关键点算法的改进策略。由于官方的coco数据集中存在下面的问题,

  1. 图片之后的人体区域没有关键点的标注
  2. 遮挡情况下的人体区域没有关键点的标注
  3. 有些可见的关键点区域没有进行相应的关键点标注
  4. 可以忽略的区域的mask标注缺失

实验证明使用修正过的数据进行训练可以加速训练的收敛,并且提升模型的精度。

  1. 原始COCO数据集的关键点
  2. 根据关键点生成的PAF
  3. 使用openpose检测生成的PAF

可以看出由于COCO数据集对超出图片范围的肘部缺少标注,会对生成的PAF造成影响,最终影响训练精度。

 

人体姿态估计2种思路:

  1. 自顶向下Top-down

缺点,随着图片种人数量的增加,计算时间也会增加。

代表作,stacked hourglass network,Cascaded Pyramid Network,Mask RCNN

  1. 自底向上Bottom-up

优点,计算时间复杂度不受图片种人数量多少的影响。

代表作,DeepCut,Integer Linear Program (ILP),DeeperCut

 

Openpose网络结构:

网络整体以vgg19作为基础结构,后续接了6个stage。最后一个stage分别预测PAF(Part Affinity Fields)和PCM(part confidence map)。第一个stage之前的vgg基础结构共下采样3次,后续的stage都没有进行下采样操作。

以COCO数据集包含18个人体关键点为例子。最终网络的输出将会是18(关键点)+1(背景)个channel的PCM输出和(18+1)*2=38个channel的PAF输出。最终将PCM和PAF的输出concat后,共得到57个channel的输出。

假设输入图像大小为368*368。因此得出,网络输入大小为1*3*368*368,输出大小为1*57*46*46。

其中关键点对应的数字编号如下,

Openpose loss

PAF和PCM的loss都是MSE。

标签纠正:

H表示关键点PCM,L表示关键点的连接PAF。

纠正的思想很简单,

对于PCM直接取groundtruth和openpose模型预测的关键点中得分较大的。

对于PAF,由于得分有正负之分,因此取绝对值较大的。

 

蒸馏:

训练数据增强:

随机镜像翻转,-40度---+40度的随机旋转,0.5-1.1的随机缩放,368*368的随机crop。

 

实验结果:

 

总结:

对COCO中训练数据的错误label进行修正,有助于提升openpose训练的精度。

 

Reference

https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/output.md