论文阅读笔记--3D human pose estimation in video with temporal convolutions and semi-supervised training -1 (5)

论文提出的方法不依赖于任何固定的2D Pose Estimator, 因此作者在多个现有的2D Pose Estimator 上进行实验验证方法的可行性.利用 Mask R-CNN和CPN时, 首先是使用在COCO经过预训练之后的模型, 然后在Human3.6M上进行fine-tune.

Mask R-CNN以ResNet-101作为backbone, 重置最后一层预测keypoint的参数, 以及反卷积层的参数, 随后利用4GPU训练, 步长衰减学习率.
在inference时, 使用soft-argmax, 即在输出的heatmap中使用softmax, 并提取得到的2D分布的期望值 . 这比直接使用argmax(即hard-argmax)得到2D分布的结果要更平滑和精确.

CPN则使用ResNet-50作为backbone, 并输入384*288分辨率的图像, 在finetune时重新学习最后一层的参数并将GlobalNet和RefineNet的参数都重新学习, 指数衰减学习率.

最后将Mask R-CNN和CPN的结果相互比较.

3.3 3D Pose Estimation 实现细节

通过根据摄像机变换旋转和平移地面真实姿态,而不是使用全局轨迹(半监督设置除外), 对摄像机空间中的三维姿态进行训练和评估。优化过程使用Amsgrad作为优化器, 使用指数衰减学习率.在实验中, 作者发现在时间维度上的感受野>1时, 例如前面提到的243, 对于输入的样本间的相互关系非常敏感.

作者对此给出的解释是进行batch normalization时, sample1和sample2的相关性太强, 这违背了batch normalization假定的各sample需要相互独立.

个人理解是样本间如果关联性太强, 例如前243个frame组成的sample1和相邻243个frame组成的sample2之间如果只是头尾有些差别, 中间的241个frame都一样, 那么预测过程本身就是基于信息增益非常少的两个样本间的学习, 同样的, 在短时间内两个3D Pose之间变化也比较小, 学习进度就比较慢.

为了解决这一问题, 我们通过从不同的视频片段中选取训练片段来降低各训练样本的相关性。剪辑集的大小被设置为我们架构的感受野的宽度,例如将243个frame所对应的2D Pose和正中间的3D Pose共同裁剪为一个训练样本,这样模型就可以预测每个新训练样本的一个3D Pose。这对于模型泛化很重要,作者在论文的附录A.5中对此进行了详细分析。

在代码实现空洞卷积时可以用步长设置为扩张因子的步长卷积代替空洞卷积,从而极大地优化这种单帧设置(作者在论文的附录A.6中对此进行了详细分析)。这避免了计算从未使用过的状态,且仅在训练期间应用此优化。在推理过程中,模型可以处理整个序列,并重用其他3D帧的中间状态,以加快推理速度。因为模型没有在时间维度上使用任何形式的池化操作使得这一想法具有可行性。

作者在实现过程中观察到batch normalization的默认超参数会导致测试误差(±1mm)的大幅波动,以及用于推断的运行估计值的波动。为了获得更稳定的运行统计数据,作者对batch normalization的动量β指数衰减:设置β=0.1开始,然后指数衰减β,以便在最后一个epoch时降低到 β=0.001。

4.总结

个人阅读这篇论文时的理解:

这篇时序空洞卷积利用空洞卷积的特点在时间维度上提取信息, 充分利用时序信息补充2D Pose, 使得所预测的3D Pose更平稳丝滑,且无需任何特定的2D Pose Estimator, 给我们拓展了新思路, 后面也有一些工作是基于该论文研究的, 有时间会补上相应的阅读笔记.

采用了一个back-projection作为对2D HPE Datasets的补充, 或者称为半监督学习, 也给3D HPE带来了启发, 即充分考虑2D Pose和3D Pose的转换过程中的不变量, 以此作为中间层的监督信息, 促进深层神经网络的训练工作; 此处就是利用 Bone length L2 Loss作为约束条件, 那么我们是否可以设计一个Bone angle L2 Loss作为约束条件, 限制异常情况的angle, 毕竟正常人的四肢是不会出现反折的情况的,事实上也确实在inference时出现了很诡异的预测结果, 但具体效果还有待实验 .

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxwpp.html