Mask scoring rcnn翻译@TOC
仅仅作为翻译记录。如有参考,不当之处请见谅。
摘要
让一个深度网络意识到自己预测的质量是一个有趣但重要的问题。在实例分割任务中,大多数实例分割框架都使用实例分类的置信度作为掩码质量分数。然而,将掩码质量量化为实例掩码与其ground truth之间的IoU,通常与分类分数的相关性并不好。在本文中,我们研究了这个问题,并提出了包含网络块的掩码评分R-CNN来学习预测实例掩码的质量。提出的网络块结合实例特征和相应的预测掩码,对掩码IoU进行回溯。掩码评分策略校准掩码质量和掩码评分之间的不一致,并通过在COCO AP评估期间优先考虑更准确的掩码预测来提高实例分割性能。通过对COCO数据集的广泛评估,掩模评分R-CNN在不同模型下获得一致且显著的增益,并优于最先进的掩模RCNN。我们希望我们的简单有效的方法将为改进实例分割提供一个新的方向。我们方法的源代码在 https:/github.com/zjhuang22/maskscoring_rcnn上找到.
1. 介绍
深度网络极大地推动了计算机视觉的发展,导致了分类[22、16、35]、目标检测[12、17、32、27、33、34]、语义分割[28、4、37、18]等一系列任务的最新进展。从计算机视觉深度学习的发展可以看出,深度网络的能力正在逐步从图像级预测[22]提升到区域/盒级预测[12]、像素级预测[28]和实例/掩码级预测[15]。进行细粒度预测的能力不仅需要更详细的标签,还需要更精细的网络设计。
在本文中,我们重点研究了实例分割问题,这是目标检测的一个自然的下一步,从粗糙的盒子级实例识别到精确的像素级分类。具体来说,本文提出了一种对实例分割假设进行评分的新方法,对实例分割评价具有重要意义。原因在于大多数评价指标是根据假设得分来定义的,更精确的分数有助于更好地描述模型性能。例如,对于具有挑战性的实例分割数据集COCO[26],通常使用精度回忆曲线和平均精度(AP)。如果一个实例分割假设得分不正确,可能会被错误地认为是假阳性或假阴性,导致AP下降。
然 而,在大多数实例分割管道中,例如Mask R-CNN[15]和MaskLab[3],实例掩码的得分与box-level分类置信度共享,该置信度由应用于proposal feature的分类器预测。使用分类置信度来度量掩码质量是合适的,因为它只用于区分提案的语义类别,并不知道实例掩码的实际质量和完整性。分类置信度与掩码质量的偏差如图1所示,其中实例分割假设得到了准确的box-level定位结果和较高的分类分值,但对应的掩码不准确。显然,使用这样的分类评分对掩模进行评分会降低评价结果。
与以前的方法不同,我们的方法旨在获得更精确的实例定位或分割掩码,我们的方法侧重于对掩码进行评分。为了实现这个目标,我们的模型学习每个掩码的分数,而不是使用它的分类分数。为了清晰起见,我们将学习分数称为蒙版分数。
受实例分割AP度量的启发,我们提出了一种直接学习IoU的网络方法。本文将IOU表示为Mask IOU。一旦我们在测试阶段得到了预测的MaskIoU,通过将预测的MaskIoU与分类分数相乘,重新评估掩模评分。因此,掩码评分既知道语义类别,也知道实例掩码的完整性。
学习Mask IoU不同于目标分类或掩码预测,它需要将预测掩码与目标特征进行“比较”。在Mask RCNN框架下,我们实现了一个名为MaskIoU head的MaskIoU预测网络。它将mask head的输出和RoI特征作为输入,并使用简单的回归损失进行训练。我们将提出的模型命名为带掩模IoU头的掩模评分R-CNN (MS R-CNN)。使用我们的MS R-CNN进行了大量的实验,结果表明,由于掩模质量和分数之间的一致性,我们的方法提供了一致和显著的性能改进。
总而言之,这项工作的主要贡献突出如下:1. 我们提出了掩模评分R-CNN,这是第一个解决评分实例分割假设问题的框架。为提高实例分割模型的性能开辟了新的方向。考虑到实例掩码的完整性,如果实例掩码的分类分数高,而掩码不够好,则可以对实例掩码的得分进行惩罚。2. 我们的Mask IOU head 非常简单有效。在具有挑战性的COCO基准测试上的实验结果表明,当使用来自我们的MS R-CNN的掩模评分而不仅仅是分类置信度时在不同的骨干网中,AP持续提高约1.5%。
2. Related work
2.1 instance segmentation
当前的实例分割方法大致可以分为两类。一种是基于检测的方法,另一种是基于分割的方法。基于检测的方法利用最先进的检测器,如更快的R-CNN [33], R-FCN[8],得到每个实例的区域,然后预测每个区域的掩码。Pinheiro等人提出了一种基于深度掩模的滑动窗口方式对中心对象进行分割和分类。Dai等人提出了基于实例敏感的FCNs来生成位置敏感的映射,并将它们组装起来得到最终的掩码。FCIS[23]采用内/外分数的位置敏感映射生成实例分割结果。他等人[15]提出了一种基于更快的R-CNN的掩码R-CNN,通过增加一个实例级语义分割分支。基于掩模RCNN,Chenetal。[3]提出的MaskLab使用位置敏感评分来获得更好的结果。然而,这些方法的一个潜在缺点是掩模质量只由分类分数来衡量,从而导致了上面讨论的问题。
基于分割的方法首先预测每个像素的类别标签,然后将它们组合在一起形成实例分割结果。Liang等人使用光谱聚类对像素进行聚类。其他工作,如[20,21],在聚类过程中添加边界检测信息。Bai等人预测了像素级的能量值,并使用分水岭算法进行分组。最近,有一些工作[30,11,14,10]使用度量学习来学习嵌入。具体来说,这些方法学习每个像素的嵌入,以确保来自相同实例的像素具有类似的嵌入。然后对所学习的嵌入进行聚类,得到最终的实例标签。由于这些方法没有显式的分数来度量实例掩码的质量,因此必须使用平均像素级的分类分数作为替代。
上述两类方法都没有考虑掩码分数与掩码质量之间的一致性。由于掩模得分的不可靠性,IoU对ground truth越高的掩模假设,如果掩模得分越低,其优先级越低。在本例中,最终的AP因此降级。
2.2 Detection Score Correction 检测成绩更正
针对检测框分类分值的校正方法有多种,其目的与我们的方法相似。Tychsen-Smithetal等[36]提出了一种Fitness NMS算法,该算法利用检测到的边界框与其地面真实度之间的IoU对检测结果进行修正。该方法将框内IoU预测作为分类任务。我们的方法与此方法的不同之处在于,我们将掩码IoU估计作为一个回归任务。Jiang等人[19]提出了直接回归盒状IoU的IOU-NET,并将预测的IoU用于NMS和边界盒的细化。Chengetal [5]讨论了假阳性样本,并利用一个独立的网络对这些样本的分数进行校正。Soft NMS[2]使用两个框之间的重叠来纠正低分框。诺伊曼等29]提出Relaxed Softmax来预测安全关键行人检测标准Softmax中的温度尺度因子值。
与这些方法侧重于边界框级别检测不同,我们的方法是为实例分割而设计的。在mask IoU head对实例掩码进行进一步处理,使网络能够感知到实例掩码的完整性,最终的掩码分数能够反映实例分割假设的实际质量。这是提高实例分割性能的一个新方向。
3. Method
3.1. Motivation
在当前的Mask R-CNN框架中, 检测假设的得分(即实例分割)由分类得分中最大的元素决定。。由于背景杂波、遮挡等问题,有可能分类分值较高,但掩模质量较低,如图1所示。为了定量分析这一问题,我们将来自mask R-CNN的vanilla mask评分与预测的mask及其ground truth mask (MaskIoU)之间的实际IoU进行了比较。具体来说,我们在COCO 2017验证数据集上使用带ResNet-18 FPN的Mask R-CNN进行实验。然后我们选择了MaskIoU和分类分数均大于0.5的Soft-NFS后的检测假设。MaskIoU超过分类分值的分布如图2(a)所示,每个掩模IoU区间的平均分类分值如图2©所示为蓝色。从图中可以看出,在掩模R-CNN中,分类分值与MaskIoU的相关性不是很好。
在大多数实例分割评估协议中,如COCO,低MaskIoU和高分数的检测假设是有害的。在许多实际应用中,确定检测结果何时可以信任,何时不能信任[29]非常重要。这促使我们学习一个校准的面具评分根据每一个检测假设的MaskIOU学习一个校准的mask 得分。在不失一般性的前提下,我们研究了Mask R-CNN框架,并提出了Mask score R-CNN (MS R-CNN),这是一个带有额外MaskIoU head模块的Mask R-CNN,该模块学习MaskIoU对齐的Mask score。我们帧工作的预测掩模分数如图2(b)所示,橙色直方图如图2©所示。
3.2。Maskscoringin MaskR-CNN
Mask Scoring R-CNN概念简单:MASK RCNN采用MaskIoU Head,将实例特征与预测掩码一起作为输入,预测输入掩码与地面真值掩码之间的IoU,如图3所示。我们将在下面几节中介绍框架的细节。
Mask R-CNN:我们首先简要回顾一下mask R-CNN[15]。随着Faster R-CNN [33], Mask R-CNN由两个阶段组成。第一阶段是区域建议网络(RPN)。无论对象类别如何,它都提出候选对象边界框。第二阶段称为R-CNN阶段,对每个提案使用RoIAlign提取特征,并对提案进行分类、边界框回归和掩码预测。
**Mask scoring ?*我们将Smask定义为预测掩码的得分。理想的Smask等于预测掩模与其匹配的地面真实掩模之间的像素级IoU,以前称为MaskIoU。理想的Smask对于ground truth类别也应该只有正值,对于其他类应该为零,因为掩码只属于一个类。这就要求Mask Score 能够很好地完成两项任务:将mask 分类到正确的类别,并将提案的MaskIoU回归到前景对象类别。
仅仅使用一个目标函数来训练这两个任务是很困难的。为了简化,我们可以将mask score learning task分解为mask classification和IoU regression,对于所有对象类别,用Smask = scls·siou表示。scls主要对提案进行分类,siou主要对MaskIoU进行回归。
对于scls, scls的目标是对提案所属的类别进行分类,这已经在R-CNN阶段的分类任务中完成。所以我们可以直接取相应的分类分数。回归·siou是本文的目标,本文将在下一段中进行讨论。
**MaskIoU Head ?*MaskIoU Head的目标是在预测掩模和它的Ground truth mask 之间返回IoU。我们使用RoIAlign层的feature拼接和预测的掩模作为MaskIoU head的输入。在拼接时,我们使用内核大小为2,步长为2的max pooing层,使预测的掩模具有与RoI特征相同的空间大小。我们只选择返回地面真相类的MaskIoU(为了测试,我们选择预测类),而不是所有类。我们的MaskIoU Head由4个卷积层和3个完全连接的层组成。对于4个卷积层,我们按照mask head ,将所有卷积层的kernel size和filter number分别设置为3和256。对于3个完全连接的(FC)层,我们遵循RCNN head ,将前两个FC层的输出设置为1024,最后一个FC层的输出设置为类的数量。
Training :对于MaskIoU head的training,我们使用RPN提案作为培训样本。训练样本需要在proposal box和匹配的ground truth box之间有一个大于0.5的IoU,与Mask R-CNN的Mask head训练样本相同。
为了生成每个训练样本的回归目标,我们首先得到目标类的预测掩码,并使用0.5的阈值对预测掩码进行二值化然后利用二元掩码与匹配的地面真值之间的掩码作为掩码目标。我们使用’l2损失对MaskIoU进行回归,损失权重设置为1。将提出的MaskIoU Head集成到Mask R-CNN中,对整个网络进行端到端训练。
Interfence :在推理过程中,我们仅使用MaskIoU head对R-CNN生成的分类分数进行标定。具体来说,假设掩模R-CNN的R-CNN阶段输出N个边界框,其中选取SoftNMS[2]后的top-k(即k = 100)个计分框。然后将top-k盒输入掩模头部,生成多类掩模。这是标准的掩模R-CNN推理过程。我们也遵循这个过程,并输入top-k目标掩模来预测MaskIoU。将预测的MaskIoU与分类分数相乘,得到新的校正后的掩模分数作为最终的掩模置信度。
4. Experiments
所有实验均在80个对象类别的COCO数据集[26]上进行。我们遵循COCO 2017设置,使用115k图像训练分割用于训练,5k验证分割用于验证,20k测试开发分割用于测试。我们使用COCO评估指标AP(平均超过IoU阈值)来报告结果,包括[email protected]、[email protected],以及AP、APM、APL(不同规模的AP)。[email protected](或[email protected])表示使用IoU阈值0.5(或0.75)来确定预测的边界框或掩码在评估中是否为正。除非注明,AP是使用掩码IoU评估的。
4.1。实现细节
我们在所有的实验中都使用我们的重新生成的MASK R-CNN。我们使用基于ResNet-18的FPN网络进行消融研究,使用基于fast RCNN/FPN/DCN+FPN[9]的ResNet-18/50/101与其他基线结果进行比较。对于ResNet-18 FPN,将输入图像沿短轴调整为600px,长轴调整为1000px,用于训练和测试。与标准的FPN[25]不同,我们在ResNet-18中只使用C4、C5作为RPN方案和特征提取器。对于ResNet-50/101,输入图像的短轴调整为800像素,长轴调整为1333像素,用于培训和测试。ResNet-50/101的其余配置遵循Detectron[13]。我们对所有的网络进行了18个周期的训练,经过14个周期和17个周期后,学习速度降低了0.1倍。使用与momentum 0.9同步的SGD作为优化器。对于测试,我们使用SoftNMS并保留每个图像的top-100检测。
4.2.Quantitative Results
我们在不同的主干网络(包括ResNet-18/50/101)和不同的框架(包括更快的R-CNN/FPN/DCN+FPN[9])上报告了我们的结果,以证明我们的方法的有效性。结果如表1和表2所示。我们使用APm报告实例分割结果,APb报告检测结果。我们报告我们复制的蒙版R-CNN结果和我们的MS R-CNN结果。astable1显示,与mas - cnn相比,我们的MS R-CNN对主干网不敏感,可以在所有主干网上实现稳定的改进:我们的MS R-CNN可以得到显著的改进(大约1.5 AP)。特别是对于[email protected],我们的方法可以将基线提高大约2个点。表2表明,我们的MS R-CNN对不同的框架都是鲁棒的,包括更快的R-CNN/FPN/DCN+FPN。此外,我们的MS R-CNN不损害边界框检测性能;事实上,它稍微提高了边界框检测性能。表3报告了test-dev的结果,只报告了实例分割结果。
4.3.Ablation Study
我们在COCO 2017验证集上对我们的方法进行了全面的评估。我们使用ResNet-18 FPN进行了所有烧蚀研究实验。
MaskIoU head输入的设计选择:首先研究MaskIoU head输入的设计选择,即从mask head和RoI特征融合预测mask score map(28×28×C)。图4中有几个设计选择,解释如下:
(a)目标掩码连接RoI特征:取目标类的score map, max- pooling,与RoI特征连接。
(b)目标掩模乘以RoI特征:取目标类的得分图,取最大值池,与RoI特征相乘。
© All mask concatenates RoI feature:所有c类mask score map均为max- pooling,并与RoI feature连接。
(d)目标掩模拼接高分辨率RoI特征:取目标类的评分图,并拼接28×28个RoI特征。
结果如表4所示。可以看出,在融合掩模预测和RoI特征的不同方法下,MaskIoU头的性能是鲁棒的。在各种设计中都能看到性能的提高。由于将目标评分图和RoI特性连接起来可以获得最佳结果,所以我们将其作为默认选择。
The choices of the training target:
如前所述,我们将mask score learning任务分解为mask classification和MaskIoU regression。有可能直接学习蒙版分数吗?此外,RoI可能包含多个类别的对象。我们应该学习所有类别的MaskIoU吗?如何设定MaskIoU head的培训目标还有待探索。培训目标有很多不同的选择: