论文链接:Numerical Coordinate Regression with Convolutional Neural Networks
时间:2018.01 ArXiv’2021
作者团队:Aiden Nibali Zhen He Stuart Morgan Luke Prendergast
分类:计算机视觉–人体关键点检测–2D integral_regression
目录:
1.DSNT背景
2.DSNT算法流程
3.DSNT结果评估
4.DSNT网络架构图
5.引用
1.主要在于学习记录,如有侵权,私聊我修改
2.水平有限,不足之处感谢指出
1.背景
目前主流的关键点回归就两种做法:
(1) 采用全连接层直接回归坐标点,输出即为坐标点,端到端的全微分训练;极大损害空间泛化能力,当特征拉伸后,权重训练不合理,容易丢失特征图上面的空间信息,严重依赖于训练数据的分布。
(2) 采用预测高斯热图方式,然后argmax找出峰值对应的索引即为坐标点。精度通常高于方法(1),从输入到坐标点输出不是一个全微分的模型,因为从heatmap到坐标点是通过argmax方式离线得到的。同时随着特征图变大计算量变大。
下表展示了heatmap,fully connection,DSNT三种得到坐标方法的优劣势。
直接回归坐标点的话,输出是浮点数,不会丢失精度;高斯热输出的整数涉及到理论误差下界,如果缩小的倍数越大,理论误差下界越大。
高斯热图回归的loss通过mse计算,对于上述三种情况,第一个为target图,后面两个为预测图,采用mse的话,第三幅图比第二幅图的loss小,但是第二副图的预测更准确些。
高斯热图的预测准确率优于回归方法,但是推理速度会相对更慢,存在理论误差下界,mse损失可能导致结果出现误差,不是全微分模型。
2.算法流程
本文提出一种DSNT的方法直接学习坐标。DSNT是对heatmap进行处理的,思路如下图所示。最后的处理过程,就是将heatmap通过softmax,得到一个基于heatmap的概率分布,再通过这个概率分布与预设好的X Y进行点乘,得到坐标的期望值。通过对heatmap添加一个坐标的正则化因子进行监督,可以有效减少heatmap转化成坐标的量化损失。监督损失也建立在坐标期望值上。
heatmap在输入到DSNT之前,要经过归一化处理,变成概率分布图。归一化的尝试有下表中的四种,最后选择softmax。
3.模型损失
监督损失直接对坐标进行,如下面的公式所表示的。
对损失函数加上heatmap的正则化项,损失函数变成以下公式。
方差正则化如下面公式表示,控制的是目标的方差。
分布正则化如下面公式所示,其对heatmap的形状添加严格的正则化,以直接鼓励某种形状。
4.DSNT结果评估
下图是使用heatmap监督和使用DSNT对坐标进行监督所学习的heatmap的区别,DSNT的结果更集中一些。
不同分辨率的heatmap和不同策略产生坐标的pckh值如下表7所示。不同heatmap分辨率下,通过带正则化项的DSNT的实验结果如下表8所示。不同输出策略在不同堆叠hourglass上的实验结果如下表9所示。
不同方法的精度、推理时间和内存占用对比。
hourglass + heatmap 与 ResNet + DSNTr 进行对比。