3D Human Pose Estimation with 2D Marginal Heatmaps
一. 论文简介
主要做的贡献如下(可能之前有人已提出):
- 使用2Dheatmap代替3Dheatmap
- 排列 \(x,y,z\) 的读取顺序
- 使用JSLoss规范heatmap的分布
二. 模块详解
2.1 2Dheatmap替代3Dheatmap
刚开始读论文的时候感觉作者想象力提丰富的,后面自己开发姿态估计小网络,压缩模型立马就想到此方法了(实测效果并不理想,可能是小网络的关系,按作者描述大网络效果好)
正常3DHeatmap操作大家都懂不懂的点击,这样做精度是很好,但是所花费的计算量非常庞大。
作者使用3个二维heatmap去替代一个3DHeatmap,按理说使用两张2D图即可表示3D,作者使用\([X,Y]\) 直接计算X和Y的结果, \([X,Z\)求\(Z_1\), \([Y,Z]\)求\(Z_2\) ,\(Z=(Z_1+Z_2)/2\) 具有一定的鲁棒性。
那么为什么不相应的使用 \(X=(X_1+X_2)/2\)、\(Y=(Y_1+Y_2)/2\) ?
个人猜测如下:
- 二维本身就没有三维的Heatmap拟合能力强,强行加上那么多限制会使得模型复杂度加大,训练难收敛
- Z轴本身就很难估计,Z和XY的尺度不一样,Z的标注精度差别很大
- 这种做法降低了计算量,实际上效果要差的(对比论文给出的数据和Integral Human Pose Regression论文给出的数据)
2.2 排列 \(x,y,z\) 的读取顺序
这部分思想有问题,不论是从思想还是最终结果(Ablation Study)
首先,如果顺序真的对网络那么重要,那么我们数据增强为什么要shuffle?为什么存在shufflenetV2网络?为什么现在的Non-local结构?
其次,从结果看增加0.3%个点,这种偶然性太多了,感觉是作者凑insight
2.3 使用JSLoss规范heatmap的分布
这部分想法挺好的,随着论文读的多了,这种思想随处可见
- 原始Heatmap就是一种单一分布(Delta分布)到学习一种分布关系(二维Gaussian分布)
- 3DHeatmap是从二维Gaussian分布转换到3D的任意分布
- 这篇论文是将3D的任意分布转换到三维Gaussian分布
2.4 总结
- 优点总结
- 关于3DHeatmap转2DHeatmap,关于Z的取平均是个好想法(想必作者实际操作遇到了Z的回归难度明显大于X和Y)
- 主要贡献还是在于分布上面,这点现在看来很正常,在之前能想到确实挺不错
- 缺点总结
- 实际测试在小模型上2DHeatmap明显弱于3DHeatmap
- 关于2.2的排序没有意义
- JS散度真的好难训练
- 先考最新检测论文,可以在分布上做改进,实际测试小模型有效果[论文