Mask R-CNN论文

目录

  • 摘要
  • 1.引言
  • 2.相关工作
  • 3.Mask R-CNN
    • 3.1 实施细节
  • 4.实验:实例分割
    • 4.1 主要结果
    • 4.2 消融实验
    • 4.3 边界框检测结果
    • 4.4 时序
  • 5.Mask R-CNN 用于人体姿态估计
  • 附录A:关于城市景观的实验
  • 附录B:关于COCO的增强结果
    • 实例分割和对象检测
    • 关键点检测
  • 参考文献

传送门:
论文原文.
代码.

摘要

我们为实例分割提供了一个概念上简单,灵活且通用的框架。我们的方法有效检测了图像中的对象,并同时为每个实例生成了高质量的分割蒙版。该方法称为“Mask R-CNN”,通过与现有的用于边界框识别的分支并行添加一个用于预测对象遮罩的分支,扩展了Faster R-CNN。 Mask R-CNN易于训练并且只在Faster R-CNN添加了很小的开销,并以 5 fpts 的速度运行。此外, Mask R-CNN很容易推广到其他其他任务,比如允许我们在同一框架中估计人体姿态。我们在COCO挑战套件的所有三个轨迹中均显示了最佳结果,包括实例分割边界框目标检测人体关键点检测。Mask R-CNN在所有任务上都胜过了现存的单一模型,包括2016年COCO挑战赛获奖者。我们希望我们简单有效的方法可以作为坚实的基准,并有助于简化实例识别的未来研究。代码已在以下位置提供:https://github.com/facebookresearch/Detectron.

1.引言

视觉领域在短时间内迅速改善了对象检测和语义分割结果。在很大程度上,这些进步是由强大的基线系统驱动的,例如分别用于对象检测和语义分段的Fast/Faster RCNN [12,36]和完全卷积网络(FCN)[30]框架。这些方法在概念上很直观,并具有灵活性,鲁棒性以及快速的训练和推理时间。我们在这项工作中的目标是为实例分割开发一个可比较的框架。
实例分割具有挑战性,因为它需要正确检测图像中的所有对象,同时还要精确分割每个实例。因此,它结合了目标检测的经典计算机视觉任务中的元素,其中的目标是使用边界框和语义分割对单个对象进行分类并对其进行定位,其目标是将每个像素分类为一组固定的类别,而无需区分对象实例。鉴于此,人们可能期望一种复杂的方法才能获得良好的结果。但是,我们展示出的惊人地简单,灵活和快速的系统可以超越现有的最新的实例分割结果。
我们的方法称为Mask R-CNN,它通过添加一个分支来预测每个关注区域(RoI)上的分割蒙版,从而扩展了Faster R-CNN [36],与现有的用于分类和边界框回归的分支并行(Figure 1) 。遮罩分支是应用于每个RoI的小FCN,以像素到像素的方式预测分段遮罩。有了Faster R-CNN框架,Mask R-CNN易于实施和训练,从而促进了多种灵活的体系结构设计。另外,mask分支仅增加了少量的计算开销,就能够实现一个快速系统和快速实验。
Mask R-CNN论文_第1张图片
原则上,Mask R-CNN是Faster R-CNN的直观扩展,但正确构造Mask分支对于获得良好的结果至关重要。最重要的是,Faster R-CNN并不是为网络输入和输出之间的像素到像素的对齐而设计的。这在加入实例的核心操作RoIPool [18,12怎样对特征提取进行组略的空间量化的过程中] 最为明显。为了解决不对齐问题,我们提出了一个简单的无量化层,称为RoIAlign,它保留了准确的空间位置。尽管看似很小的变化,RoIAlign仍具有很大的影响:它将掩模的精度提高了10%至5​​0%,在更严格的本地化指标下显示出更大的收益。其次,我们发现将遮罩和类别预测分离开来是至关重要的:我们独立地为每个类别预测二进制掩码,而无需类别之间的竞争,并依靠网络的RoI分类分支来预测类别。相比之下,FCN通常执行按像素的多类分类,这将分割和分类结合在一起,并且基于我们的实验,分割的效果很差。
没有其他花里胡哨的添加,Mask R-CNN在COCO实例分割任务[28]上超过了所有先前的最新单模型结果,包括2016年竞赛获胜者的精心设计的项目。作为副产品,我们的方法还擅长于COCO对象检测任务。在消融实验中,我们评估了多个基本实例,这使我们能够证明其鲁棒性并分析核心因素的影响。
我们的模型在GPU上每帧的运行时间约为200毫秒,在一台8-GPU机器上进行COCO的训练需要一到两天。我们相信,快速的训练和测试速度,以及框架的灵活性和准确性,将有益于并简化未来对实例细分的研究。
最后,我们通过在COCO关键点的数据集上进行人体姿势估计任务来展示我们框架的通用性[28]。通过将每个关键点视为一个一次性二进制的蒙版,只需要进行最少的修改即可将Mask R-CNN应用于检测特定实例的姿势。 Mask R-CNN超越了2016年COCO关键点竞赛的获胜者,同时以5 fps的速度运行。因此,Mask R-CNN可以更广泛地视为实例级别识别的灵活框架,并且可以轻松扩展到更复杂的任务。
我们已经发布了代码以方便将来的研究。

2.相关工作

R-CNN: 基于边界的CNN(R-CNN)进行边界框对象检测的方法[13]涉及可管理数量的候选对象区域[42、20]并在每个RoI上独立评估卷积网络[25、24]。 R-CNN进行了扩展[18,12],允许使用RoIPool加入功能图上的RoI,从而提高了速度和准确性。Faster R-CNN [36]通过使用区域提议网(RPN)学习注意力机制来推进这一流程。Faster R-CNN对许多后续改进(例如[38、27、21])都具有灵活性和鲁棒性,并且在多个基准测试中都是当前领先的框架。
实例分割: 在R-CNN的有效性的驱动下,很多实例分割的方法都是基于分割提案的。较早的方法[13、15、16、9]采用自下而上的方法[42、2]。 DeepMask [33]和随后的工作[34,8]学习去建议分段候选者,然后由Fast R-CNN对其进行分类。在这些方法中,分割先于识别,然后再进行识别,速度较慢且准确性较低。同样,Dai等人。 [10]提出了一个复杂的多阶段级联,从边界框提议中预测分段提议,然后进行分类。相反,我们的方法基于对掩码和类标签的并行预测,这更简单,更灵活。
最近,Li等人。 [26]结合了[8]中的分段提议系统和[11]中的对象检测系统,以实现“全卷积实例分割”(FCIS)。 [8、11、26]中的共同思想是完全卷积地预测一组位置敏感的输出通道。这些通道同时处理对象类,框和掩码,从而使系统快速运行。但是,FCIS在重叠的实例上表现出系统性错误并产生虚假边缘(图6),这表明它受到了分割实例基本困难的挑战。
实例分割的另一类解决方案[23、4、3、29]是由语义分割的成功驱动的。从按像素分类的结果(例如FCN输出)开始,这些方法尝试将相同类别的像素切成不同的实例。与这些方法的分割优先策略相反,Mask R-CNN基于实例优先策略。我们希望将来将对这两种策略进行更深入的研究。

3.Mask R-CNN

Mask R-CNN概念上很简单:Faster R-CNN对每个候选对象都有两个输出,一个是类标签,另一个是边界框偏移。为此,我们添加了第三个分支,用于输出对象蒙版。 因此,Mask R-CNN是一个自然而直观的想法。但是附加的遮罩输出与类和框输出不同,需要提取对象的更精细的空间布局。接下来,我们介绍Mask R-CNN的关键元素,包括像素到像素对齐,这是Fast / Faster R-CNN主要缺少的部分。
Faster R-CNN: 我们首先简要回顾一下Faster R-CNN检测器[36]。Faster R-CNN包含两个阶段。第一阶段称为区域提议网络(RPN),提出候选对象边界框。第二阶段本质上是Fast R-CNN [12],它使用RoIPool从每个候选框中提取特征,并执行分类和边界框回归。可以共享两个阶段使用的功能,以加快推理速度。我们建议读者参考[21],以了解Faster R-CNN与其他框架之间最新的,全面的比较。
Mask R-CNN: Mask R-CNN采用相同的两阶段过程,具有相同的第一阶段(即RPN)。在第二阶段,与预测类和框偏移量并行,Mask R-CNN还为每个RoI输出一个二进制掩码。这与多数最近出现的系统相反,在最新系统中,分类取决于蒙版预测(例如[33、10、26])。我们的方法遵循了Fast R-CNN [12]的精神,该思想并行应用边界框分类和回归(结果是大大简化了原始R-CNN [13]的多阶段流水线)。
正式地来讲,在训练期间,我们将每个采样的RoI定义为多任务损失,即L = Lcls + Lbox + Lmask。分类损失Lcls和边界框损失Lbox与[12]中定义的相同。掩码分支对每个RoI都有Km^2维输出,该输出编码K个分辨率为m×m的二进制掩码,K个类别中的每个掩码都一个。为此,我们应用了每个像素的S形,并将Lmask定义为平均二进制交叉熵损失。对于与真实级别k相关的RoI,Lmask仅在第k个掩模上定义(其他掩模输出对损耗无贡献)。
我们对 Lmask 的定义允许网络为每个类生成掩码,而无需在类之间进行竞争。我们依靠专用分类分支来预测用于选择输出掩码的类标签。这使掩码和类别预测脱钩。这与将FCN [30]应用于语义分割时的惯例不同,语义分割通常使用每像素softmax和多项式交叉熵损失。在这种情况下,蒙版跨阶级竞争。在我们的情况下,每像素S形和二进制损失,它们没有。我们通过实验表明,此公式对于良好的实例分割结果至关重要。
蒙版表示Mask Representation: 蒙版对输入对象的空间布局进行编码。因此,与通过完全连接的(fc)层不可避免地折叠成短输出向量的类标签或框偏移不同,提取遮罩的空间结构可以自然地通过卷积提供的像素间关系解决。具体来说,我们使用FCN预测每个RoI的m×m掩模[30]。这使mask分支中的每一层都可以保持显式的m×m对象空间布局,而无需将其折叠为缺少空间尺寸的矢量表示。与先前的方法使用fc层进行蒙板预测[33、34、10]不同,我们的全卷积表示需要更少的参数,并且如实验所示更准确。这种像素到像素的行为要求我们的RoI特征(它们本身是小的特征图)必须正确对齐以忠实地保留显式的每个像素空间的对应关系。这促使我们开发出以下RoIAlign层,该层在掩模预测中起关键作用。
Mask R-CNN论文_第2张图片
RoIAlign: RoIPool [12]是一种标准操作,用于从每个RoI中提取一个小的特征图(例如7×7)。 RoIPool首先将浮点数RoI量化为特征图的离散粒度,然后将此量化的RoI细分为自身被量化的bin,最后汇总每个bin所覆盖的特征值(通常通过最大池化)。量化例如通过计算[x / 16]从而在连续坐标x上执行,其中16是特征图跨度,[·]是舍入;同样地,当划分为bins(例如7×7)时执行量化。这些量化在RoI和提取的特征之间并未对准。尽管这可能不会影响分类(对于小转换而言是稳健的),但它对预测像素准确的蒙版具有很大的负面影响。
为了解决这个问题,我们提出了一个RoIAlign层,该层消除了RoIPool的苛刻量化,将提取的特征与输入正确对齐。我们提出的更改很简单:我们避免对RoI边界或bin进行任何量化(即,我们使用x / 16代替[x / 16])。我们使用双线性插值[22]来计算每个RoI箱中四个定期采样位置的输入要素的准确值,并汇总结果(使用最大值或平均值),有关详细信息,请参见图3。我们注意到,只要不执行量化,结果对精确的采样位置或采样的点数都不敏感。
正如我们在§4.2中所示,RoIAlign带来了巨大的改进。我们还与[10]中提出的RoIWarp操作进行了比较。与RoIAlign不同,RoIWarp忽略了对齐问题,并在[10]中实现了像RoIPool一样量化RoI。因此,即使RoIWarp也采用了[22]所激发的双线性重采样,它的性能与RoIPool相当,如实验所示(Table 2c(见下文)中的更多详细信息),证明了对齐的关键作用。
网络架构 为了演示我们方法的通用性,我们实例化具有多种体系结构的Mask R-CNN。为了清楚起见,我们区分:(i)用于整个图像特征提取的卷积主干架构,以及(ii)分别应用于每个RoI的边界框识别(分类和回归)和掩码预测的网络头。我们使用命名网络深度功能来表示骨干架构。我们评估深度为50或101层的ResNet [19]和ResNeXt [45]网络。带有ResNets的Faster R-CNN的最初实现[19]从第4阶段的最终卷积层中提取了特征,我们称之为C4。例如,具有ResNet-50的主干网由ResNet-50-C4表示。这是[19,10,21,39]中常用的选择。我们还探索了Lin等人最近提出的另一个更有效的主干。 [27],称为特征金字塔网络(FPN)。 FPN使用具有横向连接的自上而下的体系结构,可以根据单比例输入构建网络内要素金字塔。具有FPN主干的更快的R-CNN可根据特征金字塔的规模从不同层次的特征金字塔中提取RoI特征,但其他方法与普通ResNet类似。通过使用ResNet-FPN主干与Mask RCNN进行特征提取,可以在准确性和速度上获得出色的收益。有关FPN的更多详细信息,请参考[27]。对于网络负责人,我们紧密遵循先前工作中介绍的体系结构,并向其中添加了完全卷积的掩码预测分支。具体来说,我们从ResNet [19]和FPN [27]的论文中扩展了Faster R-CNN的标注框头。详细信息如Figure 4所示。ResNet-C4骨干网的头部包括ResNet的第5阶段(即9层“ res5” [19]),这是计算密集型的。对于FPN,骨干网已经包含res5,因此可以使用更少的过滤器来获得更高效的磁头。我们注意到,掩码分支具有简单明了的结构。更复杂的设计具有改善性能的潜力,但并不是本工作的重点。
Mask R-CNN论文_第3张图片

3.1 实施细节

我们根据现有的Fast/Faster R-CNN的研究工作[12、36、27]设置超参数。尽管这些决策是针对原始论文[12、36、27]进行的,但我们发现它们也能很好地适用于我们的实例分割系统。
训练:与Fast R-CNN一样,如果RoI的IoU的ground truth框至少为0.5,则RoI被视为正,否则为负。掩模损失函数仅在正的ROI上定义。遮罩目标是RoI及其关联的ground遮罩之间的交集。我们采用以图像为中心的训练[12]。调整图像大小,使其比例(较短边缘)为800像素[27]。每个微型批处理具有每个GPU2个图像的处理能力,每个图像具有N个采样的RoI,正负比为1:3 [12]。对于C4主干,N为64(如[12,36])对于FPN为512(如[27])也一样。我们在8个GPU(有效最小批大小为16)上进行了16万次迭代训练,学习率0.02,这在12万次迭代中降低了10。我们使用0.0001的权重衰减和0.9的动量。使用ResNeXt [45],我们为每个GPU训练1张图像,并且迭代次数相同,起始学习率为0.01。 RPN锚点跨越5个比例和3个长宽比,紧随[27]。为了方便消融,除非另有说明,否则RPN单独训练,并且不与Mask R-CNN共享功能。对于本文的每个条目,RPN和Mask R-CNN具有相同的主干,因此可以共享。
推论:在测试时,对于C4骨干网(如[36]),提案编号为300;对于FPN(如[27]),提案编号为1000。我们对这些建议运行框预测分支,然后进行非最大抑制[14]。然后将mask分支应用于得分最高的100个检测盒。尽管这与训练中使用的并行计算有所不同,但它可以加快推理速度并提高准确性(由于使用了更少,更准确的RoI)。Masrer分支可以预测每个RoI的K个掩码,但是我们仅使用第k个掩码,其中k是分类分支的预测类。然后将m×m浮点数掩码输出调整为RoI大小,并以0.5的阈值进行二值化。请注意,由于我们仅在前100个检测盒上计算蒙版,因此Mask R-CNN为其Faster R-CNN对应产品增加了少量开销(例如,在典型型号上约为20%)。

Mask R-CNN论文_第4张图片

4.实验:实例分割

我们对Mask R-CNN与现有技术进行了彻底的比较,并对COCO数据集进行了全面的烧蚀[28]。我们报告标准的COCO指标,包括AP(超过IoU阈值的平均值),AP50,AP75,以及APS,APM,APL(不同规模的AP)。除非另有说明,否则A​​P正在使用掩码IoU进行评估。与以前的工作[5,27]一样,我们使用80k火车图像和val图像的35k子集(trainval35k)的联合进行训练,并报告剩余5k val图像的消融(最小)。我们还报告有关test-dev的结果[28]。

4.1 主要结果

在表1的实例分割中,我们将Mask R-CNN与最新方法进行了比较。我们模型的所有实例化都优于先前最新模型的基线变体。其中包括MNC [10]和FCIS [26],分别是2015年和2016年COCO细分挑战赛的获胜者。没有障碍,带有ResNet-101-FPN主干的Mask R-CNN的性能优于FCIS +++ [26],其中包括多尺度训练/测试,水平翻转测试和在线硬示例挖掘(OHEM)[38]。尽管不在本工作范围之内,但我们希望许多此类改进适用于我们的改进。图2和图5中显示了模板R-CNN的输出。即使在挑战性条件下,模板R-CNN也能取得良好的效果。在图6中,我们比较了Mask R-CNN基线和FCIS +++ [26]。 FCIS +++在重叠的实例上表现出系统的伪像,表明它受到实例分割的基本困难的挑战。遮罩R-CNN没有显示此类伪像。

Mask R-CNN论文_第5张图片

4.2 消融实验

我们进行了多次消融来分析Mask R-CNN。结果示于表2,接下来将详细讨论。
体系结构: 表2a显示了具有各种主干的Mask R-CNN。它得益于更深的网络(50和101)和先进的设计,包括FPN和ResNeXt。我们注意到,并非所有框架都会自动从更深层次的网络或高级网络中受益(请参见[21]中的基准测试)。
多项式与独立遮罩: 遮罩R-CNN将遮罩与类别预测分离开来:随着现有的框分支预测类别标签,我们为每个类别生成一个遮罩,而各类别之间没有竞争(通过每个像素的S型和二进制损失)。在表2b中,我们将此与使用每像素softmax和多项式损失(在FCN [30]中常用)进行了比较。这种替代方案将遮罩和类别预测的任务结合在一起,并导致遮罩AP的严重损失(5.5分)。这表明,一旦实例(通过框分支)被分类为一个整体,就足以预测二进制掩码而无需考虑类别,这使得模型更易于训练。
特定于类别的掩码与不可区分类别的掩码: 我们的默认实例化可预测特定于类别的掩码,即每个类别一个m×m掩码。有趣的是,具有分类诊断掩码的Mask R-CNN(即预测单个m×m输出,与类别无关)几乎一样有效:它具有29.7个掩码AP,而ResNet-50-C4上具有特定类别的掩码的AP为30.3。这进一步突出了我们方法中的劳动分工,这在很大程度上使分类和细分脱钩。
RoIAlign: 对我们建议的RoIAlign层的评估如表2c所示。在本实验中,我们使用的ResNet50-C4骨干网已经迈出了16步。与RoIPool相比,RoIAlign将AP提升了约3个点,其中大部分收益来自高IoU(AP75)。 RoIAlign对最大/平均池不敏感;我们在本文的其余部分中使用平均值。另外,我们与MNC [10]中提出的RoIWarp进行了比较,后者也采用了双线性采样。如第3节所述,RoIWarp仍会量化RoI,而与输入失去一致性。从表2c中可以看出,RoIWarp的性能与RoIPool相当,并且比RoIAlign差得多。这突出表明正确对齐是关键。我们还使用ResNet-50-C5主干评估RoIAlign,该主干的步幅更大,为32像素。我们使用与图4(右)相同的头,因为res5头不适用。表2d显示RoIAlign将掩模AP大幅提高7.3点,将掩模AP75提升10.5点(相对改善50%)。此外,我们注意到,使用RoIAlign,使用stride-32 C5功能(30.9 AP)比使用stride-16 C4功能(30.3 AP,表2c)更为准确。 RoIAlign在很大程度上解决了使用大步距特征进行检测和分割的长期挑战。最后,RoIAlign与FPN一起使用时,增益为1.5掩膜AP和0.5盒式AP,具有更高的多级跨度。对于需要更精确对准的关键点检测,即使使用FPN,RoIAlign也显示出很大的增益(表6)。
蒙版分支: 分割是一个像素到像素的任务,我们通过使用FCN利用蒙版的空间布局。在表2e中,我们使用ResNet-50-FPN主干比较了多层感知器(MLP)和FCN。使用FCN比MLP可获得2.1的掩码AP增益。我们注意到,我们选择此主干是为了不对FCN头的conv层进行预训练,以便与MLP进行公平比较。
Mask R-CNN论文_第6张图片

4.3 边界框检测结果

我们在表3中将Mask R-CNN与最新的COCO边界框对象检测进行了比较。对于此结果,即使训练了完整的Mask R-CNN模型,也仅在以下位置使用分类和框输出推理(忽略掩码输出)。使用ResNet-101-FPN的Mask R-CNN优于所有以前的最新模型的基本变量,包括GRMI的单模型变量[21],这是COCO 2016检测挑战赛的冠军。使用ResNeXt-101-FPN,Mask R-CNN进一步改善了结果,与[39]中使用最佳In-ResNet-v2-TDM的最佳单个模型条目相比,AP的裕度为3.0点框。作为进一步的比较,我们训练了Mask R-CNN的一个版本,但没有Mask分支,在表3中用“ Faster R-CNN,RoIAlign”表示。由于RoIAlign,该模型的性能优于[27]中提出的模型。另一方面,它的AP比Mask R-CNN低0.9点。因此,Mask R-CNN在盒子检测上的差距仅归因于多任务训练的优势。最后,我们注意到Mask R-CNN在其mask与框AP之间有一个小间隙:例如,在37.1(mask,表1)和39.8(box,表3)之间有2.7点。这表明我们的方法大大缩小了对象检测与更具挑战性的实例分割任务之间的差距。

4.4 时序

推断: 我们按照Faster R-CNN的4步训练[36],训练了一个在RPN和Mask R-CNN阶段之间共享特征的ResNet-101-FPN模型。该模型在Nvidia Tesla M40 GPU上以每张图像195ms的速度运行(加上15ms的CPU时间将输出调整为原始分辨率),并且在统计上实现了与未共享的相同的模板AP。我们还报告说ResNet-101-C4变型的箱头较重,大约需要400毫秒(图4),因此我们不建议在实践中使用C4变型。尽管Mask R-CNN速度很快,但我们注意到我们的设计并未针对速度进行优化,例如,通过更改图像大小和建议编号,可以实现更好的速度/精度折衷[21],这超出了本文的范围。
训练: Mask R-CNN训练也很快。在我们的同步8-GPU实施中,使用ResNet-50-FPN进行COCO trainval35k的培训需要32个小时(每16幅图像的迷你批处理需要0.72s),而使用ResNet-101-FPN则需要44个小时。实际上,在火车上进行训练时,不到一天就能完成快速原型制作。我们希望这样的快速培训将消除该领域的主要障碍,并鼓励更多的人对这个具有挑战性的主题进行研究。

5.Mask R-CNN 用于人体姿态估计

我们的框架可以轻松扩展到人体姿势估计。我们将关键点的位置建模为一个热口罩,并使用Mask R-CNN预测K个口罩,每种K个关键点类型(例如,左肩,右肘)都使用一个。此任务有助于证明Mask R-CNN的灵活性。我们注意到,由于我们的实验主要是为了证明Mask R-CNN框架的一般性,因此我们的系统已利用了最少的人体姿势领域知识。我们希望领域知识(例如建模结构[6])将补充我们的简单方法。
实施细节: 在使分割系统适应关键点时,我们会对分割系统进行了少量修改。对于实例的K个关键点中的每个关键点,训练目标是单热点m×m二进制掩码,其中仅将单个像素标记为前景。在训练期间,对于每个可见的地面真相关键点,我们将m2向softmax输出上的交叉熵损失最小化(这鼓励了要检测的单点)。我们注意到,与实例细分一样,K个关键点仍然被独立对待。我们采用ResNet-FPN变体,关键点头架构与图4(右)类似。关键点包括8个3×3 512-d转换层的堆栈,然后是deconv层和2×双线性放大,从而产生56×56的输出分辨率。我们发现,关键点级别的定位精度需要相对较高的分辨率输出(与蒙版相比)。在所有包含带注释的关键点的COCO trainval35k图像上训练模型。为了减少过度拟合,当此训练集较小时,我们使用从[640,800]像素中随机采样的图像比例进行训练;推论是在800像素的单一尺度上。我们从0.02的学习率开始训练90k迭代,然后在60k和80k迭代中将其减少10。我们使用阈值为0.5的边界框NMS。其他细节与第3.1节相同。
主要结果和消融: 我们评估人员关键点AP(APkp),并使用ResNet-50-FPN主干网进行实验;附录中将研究更多主干。表4显示我们的结果(62.7 APkp)比使用多阶段处理管道的COCO 2016关键点检测获胜者[6]高0.9点(请参见表4的标题)。我们的方法相当简单和快捷。更重要的是,我们有一个统一的模型同时以5 fps的速度预测框,分段和关键点。在test-dev上添加一个细分分支(针对人员类别)可将APkp提升至63.1(表4)。有关最小化的多任务学习的更多信息,请参见表5。将mask分支添加到仅框式(即Faster R-CNN)或仅关键点的版本中,可以持续改善这些任务。但是,添加关键点分支会稍微减少盒子/遮罩AP,这表明虽然关键点检测受益于多任务训练,但并不能帮助其他任务。尽管如此,共同学习所有三个任务可以使一个统一的系统有效地同时预测所有输出(图7)。我们还研究了RoIAlign对关键点检测的影响(表6)。尽管此ResNet-50-FPN主干的步幅更小(例如,最好水平为4像素),但RoIAlign仍比RoIPool表现出显着改善,并且APkp增加了4.4点。这是因为关键点检测对定位精度更敏感。这再次表明对齐对于像素级定位(包括遮罩和关键点)至关重要。鉴于Mask R-CNN在提取对象边界框,遮罩和关键点方面的有效性,我们希望它是用于其他实例级任务的有效框架。

Mask R-CNN论文_第7张图片
Mask R-CNN论文_第8张图片
Mask R-CNN论文_第9张图片

附录A:关于城市景观的实验

我们进一步报告关于城市景观[7]数据集的实例分割结果。该数据集具有2975个火车,500 val和1525个测试图像的精细注释。它具有20k粗略训练图像,没有实例注释,我们不使用它。所有图像均为2048×1024像素。实例分割任务涉及8个对象类别,在精细训练集中的实例数量为:
在这里插入图片描述
此任务的实例分段性能由COCO样式的掩码AP(在IoU阈值上求平均值)来衡量;还报告了AP50(即IoU为0.5的掩码AP)。
实施: 我们将Mask R-CNN模型与ResNet-FPN-50主干一起应用;由于数据集较小,我们发现101层对应对象的性能类似。我们使用从[800,1024]中随机采样的图像比例(较短的一面)进行训练,从而减少了过拟合;推断是在1024像素的单个范围内。我们使用每个GPU 1个图像的最小批量大小(因此8个GPU上为8个),并针对24k迭代训练模型,从0.01的学习率开始,然后在18k迭代时将其降低到0.001。在此设置下,在一台8-GPU机器上需要大约4个小时的培训。
结果: 表7将我们的结果与val和测试集上的最新技术进行了比较。在不使用粗略训练集的情况下,我们的方法可以在测试中达到26.2 AP,比以前的最佳入门(DIN [3])相对提高了30%以上,也比SGN的25.0 [29]的同步工作要好。 DIN和SGN都使用精细+粗略数据。与仅使用精细数据的最佳条目(17.4 AP)相比,我们实现了约50%的改进。对于人员和汽车类别,Cityscapes数据集显示大量类别内重叠实例(每个图像平均6个人和9辆汽车)。我们认为类别内重叠是实例分割的核心困难。即使我们的方法没有利用粗略的数据,我们的方法也显示出这两个类别相对于其他最佳条目的巨大改进(人均从21.8降低到40%〜40%改善了30.5,汽车的人从39.4改进到了46.9〜20%)。 Cityscapes数据集的主要挑战是在低数据状态下的训练模型,尤其是卡车,公共汽车和火车等类别的火车,其火车数量约为200-500.为了部分解决此问题,我们进一步报告了使用COCO预训练的结果。为此,我们从预先训练的COCO Mask R-CNN模型(随机初始化骑手)中初始化Cityscapes中相应的7个类别。我们针对4k次迭代对该模型进行了微调,其中3k次迭代会降低学习率,在给定COCO模型的情况下,训练需要约1个小时。经COCO预训练的Mask R-CNN模型在测试中达到了32.0 AP,比仅精细模型提高了6点。这表明培训数据量发挥着重要作用。这也表明,关于“城市景观”的方法可能受其低调学习性能的影响。我们证明了在此数据集上使用COCO预训练是一种有效的策略。最后,我们观察到val和测试AP之间存在偏差,这也可以从[23,4,29]的结果中观察到。我们发现这种偏差主要是由卡车,公共汽车和火车类别引起的,仅精细模型的val / test AP分别为28.8 / 22.8、53.5 / 32.2和33.0 / 18.6。这表明在这些类别上存在领域转移,而这些类别的培训数据也很少。 COCO预培训有助于最大程度地改善这些类别的结果;但是,域偏移分别以38.0 / 30.1、57.5 / 40.9和41.2 / 30.9 val / test AP持续存在。请注意,对于人员和汽车类别,我们看不到任何此类偏差(val / test AP在±1点以内)。关于城市景观的示例结果如图8所示。
Mask R-CNN论文_第10张图片

附录B:关于COCO的增强结果

作为一般框架,Mask R-CNN与为检测/分段而开发的补充技术兼容,包括对快速/快速R-CNN和FCN进行的改进。在本附录中,我们描述了一些可以改善原始结果的技术。由于其通用性和灵活性,在COCO 2017实例细分大赛中,三支获胜团队将Mask R-CNN用作框架,所有这些都大大超过了以前的技术水平。

实例分割和对象检测

Mask R-CNN论文_第11张图片
我们在表8中报告了Mask R-CNN的一些增强结果。总体而言,这些改进将Mask AP的5.1点(从36.7提升到41.8)和box AP的7.7点(从39.6提升到47.3)。每种模型的改进都一致地增加了遮罩AP和盒式AP,这显示了对遮罩R-CNN框架的良好概括。接下来,我们将详细说明改进之处。这些结果以及未来的更新可以通过我们在https://github.com/facebookresearch/Detectron上发布的代码进行复制,并且可以作为将来研究的更高基准。更新的基线:我们从更新的基线开始,该基线具有一组不同的超参数。我们将训练延长到180k迭代,其中在120k和160k迭代时学习率降低10。我们还将NMS阈值更改为0.5(从默认值0.3)。更新的基准具有37.0掩码AP和40.5框AP。端到端训练:所有以前的结果都使用阶段性训练,即将RPN训练为第一阶段,将Mask R-CNN训练为第二阶段。 [37]之后,我们评估了联合训练RPN和Mask RCNN的端到端(e2e)培训。我们在[37]中采用了“近似”版本,该版本仅通过忽略梯度w.r.t来计算RoIAlign层中的部分梯度。 RoI坐标。表8显示e2e训练可将蒙版AP提升0.6,框AP提升1.2。 ImageNet-5k预训练:在[45]之后,我们对在ImageNet的5k类子集上进行预训练的模型进行实验(与标准1k类子集相反)。预训练数据的这种5倍增长同时改善了掩模和框1 AP。作为参考,[40]使用了多出约250倍的图像(300M),并在其基线上报告了2-3框AP的改进。
训练时增强:训练时进行比例增强进一步改善了结果。在训练期间,我们从[640,800]像素中随机采样一个比例,并将迭代次数增加到260k(在200k和240k迭代时,学习率降低了10)。训练时间的增加可将蒙版AP提升0.6,将盒子AP提升0.8。模型体系结构:通过将101层ResNeXt升级到152层对应物[19],我们观察到掩模AP和0.6盒AP的增加。这表明更深层次的模型仍然可以改善COCO的结果。使用最近提出的非本地(NL)模型[43],我们实现了40.3个蒙版AP和45.0个盒式AP。此结果没有增加测试时间,并且该方法在测试时在Nvidia Tesla P100 GPU上以3fps的速度运行。测试时间扩充:我们将使用[400,1200]像素的比例评估的模型结果与100的步长以及水平翻转相结合。这为我们提供了41.8模板AP和47.3盒式AP的单模型结果。以上结果是我们提交COCO 2017竞赛(也使用了合奏,此处未讨论)的基础。据报道,实例分割任务的前三支获胜团队全部基于Mask R-CNN框架的扩展。

关键点检测

Mask R-CNN论文_第12张图片
我们在表9中报告了关键点检测的增强结果。作为更新的基准,我们将训练计划扩展到了130k迭代,其中在100k和120k迭代时学习率降低了10。这样可以将APkp提高约1点。用ResNet-101和ResNeXt-101替换ResNet-50会使APkp分别增加到66.1和67.3。使用一种称为数据蒸馏的最新方法[35],我们能够利用COCO提供的其他120k未标记图像。简而言之,数据提纯是一种自我训练策略,它使用在标记数据上训练的模型来预测未标记图像上的注释,然后使用这些新注释更新模型。 Mask R-CNN为这种自我训练策略提供了有效的框架。通过数据蒸馏,Mask R-CNN APkp提高了1.8点,达到69.1。我们观察到Mask R-CNN可以从额外的数据中受益,即使这些数据没有标签。通过使用与实例细分相同的测试时间扩充,我们将APkp进一步提高到70.4。
致谢: 我们要感谢Ilija Radosavovic对代码发布和增强结果的贡献,并感谢Caffe2团队的工程支持。

参考文献

[1] M. Andriluka, L. Pishchulin, P. Gehler, and B. Schiele. 2D
human pose estimation: New benchmark and state of the art
analysis. In CVPR, 2014. 8
[2] P. Arbelaez, J. Pont-Tuset, J. T. Barron, F. Marques, and ´
J. Malik. Multiscale combinatorial grouping. In CVPR,
2014. 2
[3] A. Arnab and P. H. Torr. Pixelwise instance segmentation
with a dynamically instantiated network. In CVPR, 2017. 3,
9
[4] M. Bai and R. Urtasun. Deep watershed transform for instance segmentation. In CVPR, 2017. 3, 9
[5] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Insideoutside net: Detecting objects in context with skip pooling
and recurrent neural networks. In CVPR, 2016. 5
[6] Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multiperson 2d pose estimation using part affinity fields. In CVPR,
2017. 7, 8
[7] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler,
R. Benenson, U. Franke, S. Roth, and B. Schiele. The
Cityscapes dataset for semantic urban scene understanding.
In CVPR, 2016. 9
[8] J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive
fully convolutional networks. In ECCV, 2016. 2
[9] J. Dai, K. He, and J. Sun. Convolutional feature masking for
joint object and stuff segmentation. In CVPR, 2015. 2
[10] J. Dai, K. He, and J. Sun. Instance-aware semantic segmentation via multi-task network cascades. In CVPR, 2016. 2, 3,
4, 5, 6
[11] J. Dai, Y. Li, K. He, and J. Sun. R-FCN: Object detection via
region-based fully convolutional networks. In NIPS, 2016. 2
[12] R. Girshick. Fast R-CNN. In ICCV, 2015. 1, 2, 3, 4, 6
[13] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic
segmentation. In CVPR, 2014. 2, 3
[14] R. Girshick, F. Iandola, T. Darrell, and J. Malik. Deformable
part models are convolutional neural networks. In CVPR,
2015. 4
[15] B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Simul- ´
taneous detection and segmentation. In ECCV. 2014. 2
[16] B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Hyper- ´
columns for object segmentation and fine-grained localization. In CVPR, 2015. 2
[17] Z. Hayder, X. He, and M. Salzmann. Shape-aware instance
segmentation. In CVPR, 2017. 9
[18] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling
in deep convolutional networks for visual recognition. In
ECCV. 2014. 1, 2
[19] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning
for image recognition. In CVPR, 2016. 2, 4, 7, 10
[20] J. Hosang, R. Benenson, P. Dollar, and B. Schiele. What ´
makes for effective detection proposals? PAMI, 2015. 2
[21] J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara,
A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, et al.
Speed/accuracy trade-offs for modern convolutional object
detectors. In CVPR, 2017. 2, 3, 4, 6, 7
[22] M. Jaderberg, K. Simonyan, A. Zisserman, and
K. Kavukcuoglu. Spatial transformer networks. In
NIPS, 2015. 4
[23] A. Kirillov, E. Levinkov, B. Andres, B. Savchynskyy, and
C. Rother. Instancecut: from edges to instances with multicut. In CVPR, 2017. 3, 9
[24] A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS,
2012. 2
[25] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E.
Howard, W. Hubbard, and L. D. Jackel. Backpropagation
applied to handwritten zip code recognition. Neural computation, 1989. 2
[26] Y. Li, H. Qi, J. Dai, X. Ji, and Y. Wei. Fully convolutional
instance-aware semantic segmentation. In CVPR, 2017. 2,
3, 5, 6
[27] T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and ´
S. Belongie. Feature pyramid networks for object detection.
In CVPR, 2017. 2, 4, 5, 7
[28] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft COCO: Com- ´
mon objects in context. In ECCV, 2014. 2, 5
[29] S. Liu, J. Jia, S. Fidler, and R. Urtasun. SGN: Sequential grouping networks for instance segmentation. In ICCV,
2017. 3, 9
[30] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional
networks for semantic segmentation. In CVPR, 2015. 1, 3, 6
[31] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In ICML, 2010. 4
[32] G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev, J. Tompson, C. Bregler, and K. Murphy. Towards accurate multiperson pose estimation in the wild. In CVPR, 2017. 8
[33] P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to segment object candidates. In NIPS, 2015. 2, 3
[34] P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P. Dollar. Learn- ´
ing to refine object segments. In ECCV, 2016. 2, 3
[35] I. Radosavovic, P. Dollar, R. Girshick, G. Gkioxari, and ´
K. He. Data distillation: Towards omni-supervised learning.
arXiv:1712.04440, 2017. 10
[36] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. 1, 2, 3, 4, 7
[37] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In TPAMI, 2017. 10
[38] A. Shrivastava, A. Gupta, and R. Girshick. Training regionbased object detectors with online hard example mining. In
CVPR, 2016. 2, 5
[39] A. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Beyond skip connections: Top-down modulation for object detection. arXiv:1612.06851, 2016. 4, 7
[40] C. Sun, A. Shrivastava, S. Singh, and A. Gupta. Revisiting
unreasonable effectiveness of data in deep learning era. In
ICCV, 2017. 10
[41] C. Szegedy, S. Ioffe, and V. Vanhoucke. Inception-v4,
inception-resnet and the impact of residual connections on
learning. In ICLR Workshop, 2016. 7
[42] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W.
Smeulders. Selective search for object recognition. IJCV,
2013. 2
[43] X. Wang, R. Girshick, A. Gupta, and K. He. Non-local neural
networks. arXiv:1711.07971, 2017. 10
[44] S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Convolutional pose machines. In CVPR, 2016. 8
[45] S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He. Aggregated ´
residual transformations for deep neural networks. In CVPR,
2017. 4, 10

图片完全搬运自论文,基本上是机翻,自己做了一些修改,后续还会继续校对
小白一枚,记下翻译便于自己的理解,有理解翻译不到位的地方请指正,侵删

你可能感兴趣的:(Mask,R-CNN,深度学习)