本论文将深度学习应用于人体姿态分析,同时用卷积图层表达纹理信息和空间信息。目前在2016年的MPII竞赛中名列前茅。作者在github提供了训练和测试源码。
convolutional pose machines, CVPR 2016.
论文:http://arxiv.org/abs/1602.00134
网络结构
framework
整个framework还是比较清晰的,从构建多个FCN网络来预测part/joint的heat maps,多个FCN就构成了convolutional pose machines(CPM)。
自然而然地满足了CPM得multi-loss的joint training,而且stage越往前的objective还起到解决梯度弥漫的作用,以及自然而然地提高CPM的感受野。
网络输入彩色图像。每个阶段都能输出各个部件的响应图,使用时以最后一个阶段的响应图输出为准。
center map是一个提前生成的高斯函数模板,用来把响应归拢到图像中心。
第一阶段(对应论文3.2.1)
第一阶段是一个基本的卷积网络 ,从彩色图像直接预测每个部件的响应。
第二阶段(对应论文3.2.1)
-纹理特征 ---- 阶段性的卷积结果 ;
- 空间约束----前一阶段各部件响应;
串联后的结果尺寸不变;
第三阶段
第四阶段以后
训练
数据扩展
为了丰富训练样本,对原始图片进行随机旋转缩放镜像。
标定
姿态数据集中标定的是各个部件的位置,可以通过在每个关键点的真实位置上放置一个高斯响应,来构造响应图的真值。
中继监督优化
如果直接对整个网络进行梯度下降,输出层的误差经过多层反向传播会大幅减小,即发生vanishing gradients现象。
为解决此问题,本文 在每个阶段的输出上都计算损失 。这种方法称为 intermediate supervision ,可以保证底层参数正常更新。训练时,初始化参数随机设定。
中继监督的效果
上图示出有中继监督(黑色)和无中继监督(红色)情况下,各层梯度的分布情况。 在无中继监督时,顶层梯度分布较均匀,而底层梯度都集中0附近,几乎无法更新网络。 有中继监督时,各层梯度分布情况良好,网络能够随着训练正常更新。
实验效果
结果可视化