当前位置: 代码迷 >> 综合 >> Mask Scoring R-CNN阅读笔记
  详细解决方案

Mask Scoring R-CNN阅读笔记

热度:52   发布时间:2023-12-16 17:36:19.0
论文链接:https://arxiv.org/abs/1903.00241?context=cs

简介

对于一个深度神经网络来讲,如何评估该网络本身的预测质量是一个有趣并且有难度的任务。
在实例分割中,实例分类的置信得分被用作掩膜质量评估。然而,使用实例掩膜和实例GT计算的IoU得分,往往与分类得分不相关联。(问题)该篇文章探索这个问题并且提出了包含有一个学习评估预测到的实例掩膜质量的网络块的Mask Scoring R-CNN。该网络块同时考虑了实例特征和对应的预测掩膜来做掩膜IoU的计算。这个掩膜得分机制校准了掩膜质量和掩膜得分之间的偏差,并且通过在COCOAP的预估中优先考虑更准确的掩膜预测而提升了实例分割性能。通过在COCO数据集上的大量评估,该网络使用不同的模型都能获得一致的显著提升,并且超出了最佳的Mask R-CNN 的性能。

一、引言

深度神经网络极大地推动了计算机视觉的发展,包括在图像分类、物体检测和语义分割等领域。从以上发展中能够看出深度神经网络已经慢慢的从实现图片级的预测向区域/框级、像素级和实例级的预测发展。实现精细的预测不仅需要更多的细标注,同时也需要更多精心设计的网络。

文章关注实例分割问题,它是目标检测的进一步,从粗糙的框级实例辨别到细致的像素级分类。特别的,文章提出了一个新颖的方法,用来评估实例分割得分。大多数的评估机制根据假设的得分定义,更精确的得分能够帮助更好的提升模型性能。比如说,精度-召回曲线和AP经常用在COCO分割的挑战中,如果某一个实例分割假设没有被正确评分,就可能会被错看作FP或者FN,这会导致AP的下降。

然而在大多数实例分割流程当中,比如Mask R-CNN和MaskLab,他们的实例掩膜得分与框级分类得分共享,先在提议区域上进行分类再进行对应类别物体掩膜的预测。使用分类置信得分去衡量掩膜质量的方法是不合适的,因为分类只是分辨了提议区域的语义类别,并且忽略了实例掩膜其实际的质量和完整性的考虑。这种在分类得分和掩膜质量间的错位如下图1所示。
在这里插入图片描述
从上图中可见,使用原先的实例分割网络,虽然得分很高,但只是box位置和box分类比较准确,其mask质量却不够好,使用文章的网络可以看到,当出现这种情况时,得分会相对较低,而对于mask、class和box都很好的情况,文章网络的计算得分也很高。可以看到,如果对于掩膜的得分使用分类得分会导致评估结果的下降。

之前的网络致力于获得更准确的实例位置和分割掩膜,文章关注的是如何对掩膜评分,也就是掩膜评分机制。为了实现这个目的,文章模型学习如何为每一个掩膜评分而不是使用他们对应的类别得分。文章成这种学习得到的得分为掩膜得分(mask score)。受到AP的启发,文章提出了一个网络来直接学习IoU,文章中用MaskIoU表示。一旦在测试阶段获得了MaskIoU的预测值,掩膜得分就会通过将预测的MaskIoU和分类得分相乘来被重新评估。因此,得到的mask得分是能同时表征语义类别和实例掩膜的完整性的。

由于学习掩膜得分需要比较预测的掩膜和实例特征,因此这个任务与区域提议分类和掩膜预测任务都十分不同。使用Mask R-CNN的网络结构基础上,文章搭建了用于预测MaskIoU的网络头,命名为MaskIoU head。该网络头将掩膜头的输出和RoI特征作为输入,并且使用一个简单的回归loss进行训练。大量的实验结果说明我们的方法对于掩膜质量和得分上的偏差有一致的减弱效果,从而提升实例分割性能。总而言之,文章的贡献主要有以下两点:

1、文章提出的Mask Scoring R-CNN网络,这个网络是第一个说明目前的实例分割评估存在的问题的,它为提升实例分割性能探索了一个新的方向。由于考虑了实例掩膜的完整性,当某个实例的分类得分很高但是掩膜质量不高时,实例掩膜的得分会得到相应的惩罚而降低。

2、MaskIoU head 是十分简单有效的,在COCO挑战上的实验结果表明,当使用MS R-CNN得到的掩膜得分时,而不是使用传统的分类置信得分时,使用不同的基干网络,AP都一致提升了大约1.5%。

二、相关工作

2.1实例分割

目前的实例分割工作可大致分为两种,一种是基于检测一种是基于分割,前者致力于开发最好的检测器,如Faster R-CNN, R-FCN,用它们来获取实例区域,并在该区域内进行掩模预测。DeepMask以滑动窗口的方式分割并分类中心物体;instance-sensitive FCNs使用位置敏感图并且将它们组装进而获得最终的mask;FCIS在位置敏感图的基础上辅以内/外部得分进行实例分割;Mask R-CNN在Faster R-CNN的基础上添加了实例级分割分支;基于Mask R-CNN提出的MaskLab使用位置敏感得分提升效果。然而以上的各种方法有一个潜在缺点:掩模质量仅通过分类得分衡量,导致了上文讨论的问题出现。

基于分割的方法是现将像素进行语义分类,并将它们聚合成各个实例。有方法使用光谱群聚集像素为实例;有方法在聚集阶段辅以边界检测信息;有方法预测像素级能量值并使用分水岭算法聚集像素;最近还有方法提出学习机制学习嵌入像素。由于以上方法无法没有明确衡量掩模得分的方法,它们使用了平均像素级分类得分做代替。

以上两种方法都忽略了掩模质量和掩模得分之间的错位,由于以上方法获得了不可靠的眼膜得分,那么有些真正具有高IoU值的掩模提议会由于得分低被丢弃,由此最终的AP会变低。

2.2检测得分修正

与文章的目的相同,有很多方法都关注到了在边框检测时修正框分类得分,有人提出Fitness NMS使用提议框和GT之间的IoU校正检测得分,他将边框IoU预测建模成分类任务;文章方法与之不同,因为文章将IoU评估作为一个回归任务;也有人提出IoU-Net将框IoU直接进行回归,并且预测出的IoU直接用于NMS和包围框的细化;有人对FP样本进行讨论,并使用了一个独立网络修正这些样本的得分;SoftNMS两个边框间的重叠来修正低分框;Relaxed Softmax为了进行安全严谨的行人检测,在标准Softmax中预测温度范围因子值。

与关注包围框检测的以上方法不同,文章为实例分割而来,实例掩模在文章的Mask- IoU头中进一步处理,因此网络可感知到实例掩模的完整性,因此最终的掩模的分可以更好的反映实例分割掩模质量。这是一个提升实例分割性能的新方向。

三、方法

3.1动机

在Mask R-CNN框架中,检测提议的得分与它的分类的分关系巨大,由于背景混乱和遮挡,很有可能mask得分很高,但是mask质量低,如图1所示。为了定量分析该问题,文章将Mask R-CNN中的mask得分与实际的mask与与其对应的GT之间的IoU(文章使用该方法)作对比,其中Mask R-CNN使用ResNet-18 FPN,数据及使用COCO2017的验证集,使用Soft-NMS并分别使用MaskIoU机制和大于0.5的分类得分标准机制筛选检测提议,MaskIoU的分布于分类的分的关系如下图2(a)所示,每个MaskIoU间的平均分类得分如图2(c)蓝色所示,这些图像说明MaskIoU和分类得分间不甚匹配。
在这里插入图片描述
在大部分实例分割评估机制中,一个具有高分类得分但是低MaskIoU值的检测提议危害巨大,在很多实际应用中,决定一个检测提议是否可信至关重要,这是文章的出发点,致力于根据每一个检测提议的MaskIoU值,学习一个校准后的掩模得分。为了不损失普适性,文章在Mask R-CNN的基础上工作,并且提出MS R-CNN,它的本质是一个Mask R-CNN结构加上一个MaskIoU头,用来学习经过MaskIoU校准后的掩模得分,使用文章网络预测的掩模得分在图2(b)和图2(c)的橙色柱状图中展示。

3.2Mask R-CNN中的掩模得分

MS R-CNN想法简单:在Mask R-CNN基础上增加以个MaskIoU头,它以将实例特征和预测后的掩模作为输入,并预测输入掩模和GT之间的IoU,如图3所示。
在这里插入图片描述
Mask R-CNN
Mask R-CNN包括两个阶段,第一个阶段区域提议,该阶段提议前景物体框,它对物体类别不进行分类,第二阶段使用RoIAlign进行特征提取使各个提议框尺寸相同并进行提议区域分类、框回归和掩模预测。
掩模得分
将smask 作为预测掩模得分,理想上的该值与mask和GT见的IoU对应,准备定义为MaskIoU,因为一个掩模只有一个类别,因此理想的该值应该对真实类别有正值,对其他类别为0,这要求掩模得分适用于两种任务:将掩模正确分类;能对前景物体类别的提议MaskIoU进行回归。

使用一个函数很难同时实现上述两种任务,为了简化,文章将掩模得分学习任务分解成掩模分类和IoU回归两部分,对于所有的物体类别,smask = scls · siou ,其中scls代表分类得分,后者代表MaskIoU回归得分。对前者,Mask R-CNN已经实现,因此文章直接获得该分类得分,而后者是文章的目标。
MaskIoU头
该头目标在于回归预测掩模和其对应的GT之间的IoU,使用RoIAlign层的串联后的输出特征和预测的掩模作为该头输入,将两者进行串联时,使用了MaxPooling保证尺寸相等,MaskIoU头部结构如上图3所示。
训练
在训练MaskRoI头部时,使用RPN的提议作为训练样本,这些样本要求提议box与GTbox的IoU在0.5以上,为了给这些样本生成回归目标,文章首先获得了目标类别的预测掩模并以0.5位阈值二值化预测掩模,然后在二元掩模和它匹配的GT间使用MaskIoU作为MaskIoU目标。整个网络是端到端训练。
推测
在推测阶段,文章只使用MaskIoU头校准R-CNN中得到的分类得分,假设,Mask R-CNN的R-CNN部分产生了N个提议区域,经过softnms后留下得分前k的提议区域,这k个区域会被送入mask分支产生多类别mask,以上是标准Mask R-CNN的推测阶段,文章同样沿袭这个流程,并将这k个mask送入MaskIoU头,然后将MaskIoU输出得到的得分与R-CNN的分类得分相乘,由此获得校正过的最终掩模得分。

四、实验

所有的实验都是在COCO数据集上进行的。

4.1实施细节

使用文章作者自己复现的Mask R-CNN做所有的实验,使用ResNet-18 FPN做基线,与原始的FPN不同,文章只使用了C4、C5做RPN区域提议。

4.2量化结果

文章的结果如表1、2所示,APm代表实例分割精度,APb代表目标检测精度,表中展示了文章复现的Mask R-CNN结果和MS R-CNN结果,如表1所示,文章的方法相对于Mask R-CNN,无论对什么基干网络,都更为稳定的有所提升,大概提升1.5%AP。表2 表明文章的MS R-CNN网络对不同网络结构具有很强鲁棒性,实际上,它还能略微的提升包围框检测的性能。表3给出了在测试集上的结果,只汇报了实例分割结果。
在这里插入图片描述在这里插入图片描述

4.3消融实验

使用ResNet-18FPN做基线。
MaskIoU的输入设计选择
图4给出了一些设计方案,
在这里插入图片描述
结果如表4所示
在这里插入图片描述
可以看到MaskIoU头对以上几种方法鲁棒性能好。
训练目标的选择
前文提到,文章将掩模得分学习分解成掩模分类和MaskIoU回归,关于训练目标,也有很多选择:
1.学习目标类别的MaskIoU,同时在提议区域内的其他类别被忽略,这也是文章使用的默认训练目标,也是一个对照组。
2.学习所有类别的MaskIoU,如果一个类别未出现在RoI里,它的目标MaskIoU对应为0,这意味着回归仅用于预测MaskIoU,这要求回归器意识到无关类别的缺席。
3.学习所有正类别的MaskIoU,正类别意味着该类别在RoI区域中出现,并且该提议区域内的其他类别被忽略,这个设置可以看出在RoI里为更多的类别实行回归是否有益。
表5给出结果。
在这里插入图片描述
#1和#2对比表明将掩模得分学习分解成掩模分类和MaskIoU回归是有效的;#2和#3对比表明,对更多的类别回归其MaskIoU会给该网络头造成负担。因此使用了#2方案。
选择训练样本
因为MaskIoU网络头是建于Mask R-CNN网络之上的,因此根据Mask R-CNN的设置,该网络头的所有训练样本在框级IoU上是要求超过0.5的,然而这种情况下,提议区域对应的MaskIoU未必大于0.5。

给定阈值t,文章使用了自身MaskIoU值大于t的样本作为训练MaskIoU头的样本,如表6所示。
在这里插入图片描述
结果显示,使用所有样本的效果最好。

4.4讨论

文章讨论了MaskIoU头的质量、进一步调研了MS R-CNN的性能并且还分析了MaskIoU头的计算复杂度。
MaskIoU头质量
文章使用预测的mask和对应GT的相关系数表征mask质量,整个流程是:首先将softnms后提议区域分类得分前100的RoI送入mask分支并获得对应的预测掩模,接下来将预测掩模和对应的RoI特征送入MaskIoU网络头,该网络头的输出以及mask对应的分类得分被进一步整合成最终的mask得分。下图5给出了MaskIoU和GTMaskIoU的关系。
在这里插入图片描述
可见MaskIoU与GT具有高度相关,相关系数为0.74左右,也暗示了该性能对骨架网络的更换并不敏感,这与表1一致。
MS R-CNN性能上限
对于任何一个预测掩模,都能找到与之对应的GT掩模,为了实现性能上线的计算,用对应的GTMaskIoU大于0的mask替换掉该预测mask,结果如表7所示。
在这里插入图片描述
由上表可见,提升预测mask的质量后,仍然后2%多的上升空间。
模型规模和运行时间
运行时间与Mask R-CNN相同,同时,MaskIoU的计算量相比而言可忽略不计。

五、结论

文章调研了如何为实例分割掩模评分,并提出了MS R-CNN,其在Mask R-CNN之上加入MaskIoU头,以此来使用MaskIoU值校正最终的mask得分,这在大部分的实例分割网络中是被忽略的。提出的MaskIoU网络头简单易实现,量化结果显示其超出了Mask R-CNN的性能。

六、参考论文

[1] M. Bai and R. Urtasun. Deep watershed transform for in- stance segmentation. In IEEE Conference on Computer Vi- sion and Pattern Recognition, pages 2858–2866, 2017. 2

[2] N. Bodla, B. Singh, R. Chellappa, and L. S. Davis. Soft- nmsimproving object detection with one line of code. In IEEE International Conference on Computer Vision, pages 5562–5570, 2017. 3, 4

[3] L.-C. Chen, A. Hermans, G. Papandreou, F. Schroff, P. Wang, and H. Adam. Masklab: Instance segmentation by refining object detection with semantic and direction fea- tures. arXiv preprint arXiv:1712.04837, 2017. 1, 2, 6

[4] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully con- nected crfs. IEEE transactions on Pattern Analysis and Ma- chine Intelligence, pages 834–848, 2018. 1

[5] B. Cheng, Y. Wei, H. Shi, R. Feris, J. Xiong, and T. Huang. Revisiting rcnn: On awakening the classification power of faster rcnn. In European Conference on Computer Vision, pages 473–490, 2018. 3

[6] J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. In European Conference on Computer Vision, pages 534–549, 2016. 2

[7] J. Dai, K. He, and J. Sun. Instance-aware semantic segmen- tation via multi-task network cascades. In IEEE Conference on Computer Vision and Pattern Recognition, pages 3150– 3158, 2016. 6

[8] J. Dai, Y. Li, K. He, and J. Sun. R-fcn: Object detection via region-based fully convolutional networks. In Advances in Neural Information Processing Systems, pages 379–387, 2016. 2

  相关解决方案