openpose 相关资料及改进策略
一、相关博客
1.Improving Multi-Person Pose Estimation using Label Correction论文精读
openpose改进策略
- coco数据集所存在的问题:
* 图片之后的人体区域没有关键点的标注
* 遮挡情况下的人体区域没有关键点的标注
* 有些可见的关键点区域没有进行相应的关键点标注
* 可以忽略的区域的mask标注缺失
- 实验证明使用修正过的数据进行训练可以加速训练的收敛,并且提升模型的精度。
a.原始COCO数据集的关键点
b.根据关键点生成的PAF
c.使用openpose检测生成的PAF
由于COCO数据集对超出图片范围的肘部缺少标注,会对生成的PAF造成影响,最终影响训练精度。
- 人体姿态估计2种思路:
1.自顶向下Top-down
缺点:随着图片种人数量的增加,计算时间也会增加。
举例:stacked hourglass network,Cascaded Pyramid Network,Mask RCNN
2.自底向上Bottom-up
优点:计算时间复杂度不受图片种人数量多少的影响。
举例:DeepCut,Integer Linear Program (ILP),DeeperCut8
- 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。(328/2/2/2=46 三次下采样 就是除三次2)
-
身体关键点标号
-
openpose lose
PAF和PCM的loss都是MSE。(y)
- 标签纠正
纠正的思想:
PCM直接取groundtruth和openpose模型预测的关键点中得分较大的。
PAF,由于得分有正负之分,因此取绝对值较大的。
H表示关键点PCM,L表示关键点的连接PAF。
-
蒸馏:
a.正常训练 b.知识蒸馏 c.标签纠正 d.数据蒸馏
-
训练数据增强
随机镜像翻转,-40度---+40度的随机旋转,0.5-1.1的随机缩放,368*368的随机crop。 -
实验结果
-
总结:
对COCO中训练数据的错误label进行修正,有助于提升openpose训练的精度。 -
reference
论文地址