如何利用边缘监督信息加速面具R-CNN实例分割训练

本篇文章给大家分享的是有关如何利用边缘监督信息加速Mask R-CNN实例分割训练,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。


Mask R-CNN是实例分割的经典模型,作者通过在Mask R-CNN框架上附加一个新任务,达到更快的网络收敛速度。
该文对MaskR-CNN添加了一个新的预测任务,称为Edge Agreement Head(也许可以翻译为“边缘协定预测端”?),它的灵感来自人工实例标注的方式。当人们对实例进行像素级标注的时候,仅仅会关注实例的边缘部分,而实例内部则只需要简单的复制边缘的标注信息就可以了。所以实例的mask边缘非常有用,它们很好地表征了实例。Edge Agreement Head的作用即鼓励深度网络训练时预测的实例mask边缘与groundtruth的边缘相似。

算法思想

作者通过观察Mask R-CNN训练前期输出的预测图像,发现很多时候边缘都不在点上,很显然,神经网络在走弯路。
请看下面的例子:
如何利用边缘监督信息加速Mask R-CNN实例分割训练
这是Mask R-CNN深度网络训练前期的一些预测的Mask,发现它并没有像人类一样先把边缘找出来,甚至缺失的很离谱(你可以预测的不很精细准确,但至少要表现出在向这个方向努力吧!)。
为了避免神经网络走弯路,作者把实例的边缘信息作为一种监督的指引,即将groundtruth进行边缘滤波,让神经网络同时去预测实例的边缘。指了条明路。
Mask R-CNN的多任务损失函数:
如何利用边缘监督信息加速Mask R-CNN实例分割训练
具体的做法是,增加一个新分支,预测边缘并与groundtruth的边缘相比较,请看下图

如何利用边缘监督信息加速Mask R-CNN实例分割训练

作者仅是对每个实例28*28大小区域内(所以增加的计算量有限)进行上述操作,通过添加简单的3*3边缘检测计算预测和groundtruth的边缘,因为边缘检测往往和图像平滑一起用,所以右边的图增加了平滑的步骤。
上图中Lp代表计算两者差异的方式,如下:
如何利用边缘监督信息加速Mask R-CNN实例分割训练
p代表像素差值的幂次方参数。

作者尝试了普通的Sobel滤波和Laplacian滤波检测边缘。

作者通过Edge Agreement Head方式增加了一个损失函数,模型复杂度略微增加,没添加任何额外的需要训练的模型变量,训练的计算成本增加很小,而网络推断时不增加计算量。

实验结果
作者在MS COCO 2017数据集上做了实验,比较训练达到160k steps时基准模型和提出的模型的COCO AP metrics精度。
如何利用边缘监督信息加速Mask R-CNN实例分割训练
Table 1说明当训练达到160k steps时,使用Edge Agreement Head的模型训练达到了更高的精度,尤其是使用Soble边缘算子的模型。
Table 2表明不使用图像平滑加速更加明显,达到更高的精度。
预测结果比较图示:

如何利用边缘监督信息加速Mask R-CNN实例分割训练

如何利用边缘监督信息加速Mask R-CNN实例分割训练
Table 4表明,拉长训练时间,使用Edge Agreement Head仍然获得了更高的精度。

以上就是如何利用边缘监督信息加速Mask R-CNN实例分割训练,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

如何利用边缘监督信息加速面具R-CNN实例分割训练