利用边缘监督信息加速Mask R-CNN实例分割训练
算法思想
作者通过观察Mask R-CNN训练前期输出的预测图像,发现很多时候边缘都不在点上,很显然,神经网络在走弯路。
请看下面的例子:
这是Mask R-CNN深度网络训练前期的一些预测的Mask,发现它并没有像人类一样先把边缘找出来,甚至缺失的很离谱(你可以预测的不很精细准确,但至少要表现出在向这个方向努力吧!)。
为了避免神经网络走弯路,作者把实例的边缘信息作为一种监督的指引,即将groundtruth进行边缘滤波,让神经网络同时去预测实例的边缘。指了条明路。
Mask R-CNN的多任务损失函数:
具体的做法是,增加一个新分支,预测边缘并与groundtruth的边缘相比较,请看下图
作者仅是对每个实例28*28大小区域内(所以增加的计算量有限)进行上述操作,通过添加简单的3*3边缘检测计算预测和groundtruth的边缘,因为边缘检测往往和图像平滑一起用,所以右边的图增加了平滑的步骤。
上图中Lp代表计算两者差异的方式,如下:
p代表像素差值的幂次方参数。
作者尝试了普通的Sobel滤波和Laplacian滤波检测边缘。
作者通过Edge Agreement Head方式增加了一个损失函数,模型复杂度略微增加,没添加任何额外的需要训练的模型变量,训练的计算成本增加很小,而网络推断时不增加计算量。
实验结果
作者在MS COCO 2017数据集上做了实验,比较训练达到160k steps时基准模型和提出的模型的COCO AP metrics精度。
Table 1说明当训练达到160k steps时,使用Edge Agreement Head的模型训练达到了更高的精度,尤其是使用Soble边缘算子的模型。
Table 2表明不使用图像平滑加速更加明显,达到更高的精度。
预测结果比较图示:
Table 4表明,拉长训练时间,使用Edge Agreement Head仍然获得了更高的精度。
该文没有开源代码。
总结
这篇论文很简单,但给出的结论很有意思,Edge Agreement Head相当于提供了更多的监督信息,为深度网络指了一个方向,少走一些弯路。尤其在训练早期,网络更容易迷茫的时候就更需要指条明路。
尤其值得一提的是,很显然边缘信息可以有助于所有图像像素级理解的应用,比如深度估计、光流计算等,大家不妨一试。
最后推荐一篇52CV君之前分享过的一篇论文,利用边缘信息大幅改进了人脸对齐,如果你还没读,非常值得一读!
重磅!清华&商汤开源CVPR2018超高精度人脸对齐算法LAB
论文地址:
https://arxiv.org/abs/1809.07069v1