论文名称:Mask R-CNN

论文下载:https://arxiv.org/abs/1703.06870

论文年份:2017

论文被引:18354(2022/05/03)

Abstract

We present a conceptually simple, flexible, and general framework for object instance segmentation. Our approach efficiently detects objects in an image while simultaneously generating a high-quality segmentation mask for each instance. The method, called Mask R-CNN, extends Faster R-CNN by adding a branch for predicting an object mask in parallel with the existing branch for bounding box recognition. Mask R-CNN is simple to train and adds only a small overhead to Faster R-CNN, running at 5 fps. Moreover , Mask R-CNN is easy to generalize to other tasks, e.g., allowing us to estimate human poses in the same framework. We show top results in all three tracks of the COCO suite of challenges, including instance segmentation, boundingbox object detection, and person keypoint detection. Without bells and whistles, Mask R-CNN outperforms all existing, single-model entries on every task, including the COCO 2016 challenge winners. We hope our simple and effective approach will serve as a solid baseline and help ease future research in instance-level recognition.

我们提出了一个概念上简单、灵活和通用的目标实例分割框架(object instance segmentation)。我们的方法有效地检测图像中的目标,同时为每个实例生成高质量的分割掩码(mask)。该方法称为 Mask R-CNN,通过添加用于预测目标掩码的分支与用于边界框识别的现有分支并行来扩展 Faster R-CNNMask R-CNN 很容易训练,并且只为 Faster R-CNN 增加了一点开销,运行速度为 5 fps。此外,Mask R-CNN 很容易推广到其他任务,例如,允许我们在同一框架中估计人体姿势。我们在 COCO 挑战套件的所有三个轨道中展示了最佳结果,包括实例分割、边界框目标检测和人物关键点检测。没有花里胡哨的东西,Mask R-CNN 在每项任务上都优于所有现有的单一模型条目,包括 COCO 2016 挑战赛的获胜者。我们希望我们简单而有效的方法将作为一个坚实的基准,并有助于简化未来在实例级识别方面的研究。代码已在以下位置提供:https://github.com/facebookresearch/Detectron。

1. Introduction

视觉社区在短时间内迅速改进了目标检测和语义分割结果。在很大程度上,这些进步是由强大的基线系统推动的,例如分别用于目标检测和语义分割的 Fast/Faster RCNN [12, 36] 和全卷积网络 (FCN) [30] 框架。这些方法在概念上很直观,提供了灵活性和鲁棒性,以及快速的训练和推理时间。我们在这项工作中的目标是为实例分割开发一个类似的支持框架。

实例分割(Instance segmentation)具有挑战性,因为它需要正确检测图像中的所有目标,同时还要精确分割每个实例。因此,它结合了目标检测的经典计算机视觉任务中的元素,其中目标是对单个目标进行分类并使用边界框定位每个目标,以及语义分割,其中目标是将每个像素分类为一组固定的类别而不区分目标实例。鉴于此,人们可能会期望需要一种复杂的方法才能获得良好的结果。然而,我们表明,一个令人惊讶的简单、灵活和快速的系统可以超越先前最先进的实例分割结果。

我们的方法称为 Mask R-CNN,扩展了 Faster R-CNN [36],方法是在每个感兴趣区域 (Region of Interest , RoI) 上添加一个用于预测分割掩码的分支,与用于分类和边界框回归的现有分支并行(图 1)。掩码分支 (mask branch) 是应用于每个 RoI 的小型 FCN,以像素到像素的方式预测分割掩码。鉴于 Faster R-CNN 框架,Mask R-CNN 易于实现和训练,这有助于广泛的灵活架构设计。此外,掩码分支仅增加了少量计算开销,从而实现了快速系统和快速实验。

原则上,Mask R-CNN 是 Faster R-CNN 的直观扩展,但正确构建 mask 分支对于获得良好结果至关重要。最重要的是,Faster R-CNN 并不是为网络输入和输出之间的像素到像素对齐(pixel-to-pixel alignment)而设计的。这在 RoIPool [18, 12](用于处理实例的事实上的核心操作)如何为特征提取执行粗略空间量化时最为明显。为了解决错位(misalignment)问题,我们提出了一个简单的无量化层(quantization-free layer),称为 RoIAlign,它忠实地保留了精确的空间位置。尽管看起来很小的变化,但 RoIAlign 产生了很大的影响:它将掩码准确率提高了 10% 到 50%,在更严格的定位指标(localization metrics)下显示出更大的收益。其次,我们发现解耦(decouple)掩码和类别预测至关重要:我们独立地为每个类别预测一个二进制掩码,没有类别之间的竞争,并依靠网络的 RoI 分类分支来预测类别。相比之下,FCN 通常执行逐像素多类分类,将分割和分类结合起来,并且根据我们的实验,实例分割效果不佳

没有花里胡哨的东西,Mask R-CNN 在 COCO 实例分割任务 [28] 上超越了所有以前最先进的单模型结果,包括 2016 年竞赛获胜者的精心设计的条目。作为副产品,我们的方法在 COCO 目标检测任务上也表现出色。在消融实验中,我们评估了多个基本实例,这使我们能够证明其稳健性并分析核心因素的影响。

我们的模型可以在 GPU 上以每帧约 200 毫秒的速度运行,而在 COCO 上的训练在单个 8-GPU 机器上需要一到两天时间。我们相信,快速的训练和测试速度,以及框架的灵活性和准确性,将有利于并简化未来对实例分割的研究。

最后,我们通过在 COCO 关键点数据集 [28] 上进行人体姿态估计的任务展示了我们框架的通用性通过将每个关键点视为 one-hot 二进制掩码,只需进行最小修改,Mask R-CNN 就可以用于检测特定于实例的姿势。 Mask R-CNN 超越了 2016 年 COCO 关键点竞赛的获胜者,同时以 5 fps 的速度运行。因此,Mask R-CNN 可以被更广泛地视为实例级识别的灵活框架,并且可以很容易地扩展到更复杂的任务

我们已经发布了代码以促进未来的研究。

2. Related Work

R-CNN:基于区域的 CNN (Region-based 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])具有灵活性和鲁棒性,并且是当前多个基准测试中的领先框架。

实例分割(Instance Segmentation):在 RCNN 的有效性驱动下,许多实例分割方法都基于分割提议(segment proposals)

  • 早期的方法 [13, 15, 16, 9] 采用自下而上的分段 [42, 2]。

  • DeepMask [33] 和后续作品 [34, 8] 学习提出候选片段(propose segment candidates),然后由 Fast R-CNN 分类。

  • 在这些方法中,分割先于识别,这是缓慢且不太准确的。同样,[10] 提出了一个复杂的多阶段级联(multiple-stage cascade),从边界框建议中预测分段建议,然后进行分类

相反,我们的方法基于掩码和类标签的并行预测,更简单、更灵活

最近,[26] 将 [8] 中的分割提议系统(segment proposal system)和 [11] 中的目标检测系统结合起来,用于“全卷积实例分割”(fully convolutional instance segmentation, FCIS)。[8, 11, 26] 中的共同思想是全卷积地预测一组位置敏感的输出通道。这些通道同时处理目标类、框和掩码,使系统运行速度更快。但是 FCIS 在重叠实例上表现出系统错误并产生虚假边缘(图 6),表明它受到分割实例的基本困难的挑战

实例分割的另一类解决方案 [23, 4, 3, 29] 是由语义分割(semantic segmentation)的成功驱动的。从每个像素的分类结果(例如,FCN 输出)开始,这些方法试图将同一类别的像素切割成不同的实例。与这些方法的分割优先策略相比,Mask R-CNN 基于实例优先策略。我们预计未来将研究更深入地整合这两种策略。

3. Mask R-CNN

Mask R-CNN 在概念上很简单:Faster R-CNN 对每个候选目标有两个输出,一个类标签和一个边界框偏移量;为此,我们添加了输出目标掩码的第三个分支。因此,Mask R-CNN 是一个自然而直观的想法。但是额外的掩码输出与类和框输出不同,需要提取更精细的目标空间布局。接下来,我们介绍 Mask R-CNN 的关键元素,包括像素到像素对齐(pixel-to-pixel alignment),这是 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-CNNMask 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 都有一个 Km2Km^2Km2 维输出,它对分辨率为 m × m 的 K 个二进制掩码进行编码,K 个类中的每一个对应一个。为此,我们应用每像素 sigmoid,并将 Lmask 定义为平均二元交叉熵损失。对于与 ground-truth 类 k 相关的 RoI,Lmask 仅在第 k 个 mask 上定义(其他 mask 输出对损失没有贡献)

我们对 Lmask 的定义允许网络为每个类生成掩码,而不会在类之间进行竞争;我们依靠专用的分类分支来预测用于选择输出掩码的类标签。这将掩码和类别预测解耦。这与将 FCN [30] 应用于语义分割时的常见做法不同,FCN通常使用每像素 softmax 和多项交叉熵损失。在这种情况下,不同类别的掩码会相互竞争;在我们的例子中,对于每像素 sigmoid 和二元损失,它们不会。我们通过实验表明,该公式是获得良好实例分割结果的关键。

掩码表示掩码对输入目标的空间布局进行编码。因此,与通过全连接(fc)层不可避免地折叠成短输出向量的类标签或框偏移(box offsets)不同,提取掩码的空间结构可以通过卷积提供的像素到像素的对应关系自然地解决

具体来说,我们使用 FCN [30] 从每个 RoI 预测一个 m × m 掩码。这允许掩码分支中的每一层保持明确的 m × m 目标空间布局,而不会将其折叠成缺乏空间维度的向量表示。与以前使用 fc 层进行掩码预测的方法不同 [33、34、10],我们的完全卷积表示需要更少的参数,并且如实验所示更准确

这种像素到像素的行为要求我们的 RoI 特征(它们本身就是小特征图)能够很好地对齐,以忠实地保留显式的每像素空间对应关系。这促使我们开发以下 RoIAlign 层,该层在掩码预测中起关键作用

RoIAlign:RoIPool [12] 是一种标准操作,用于从每个 RoI 中提取一个小的特征图(例如,7×7)。 RoIPool 首先将一个浮点数 RoI 量化为特征图的离散粒度,然后将这个量化的 RoI 细分为空间 bin,这些空间 bin 本身也进行了量化,最后聚合每个 bin 覆盖的特征值(通常通过最大池化)。例如,通过计算 [x/16] 在连续坐标 x 上执行量化,其中 16 是特征图步幅,[·] 是舍入;同样,在划分为 bin(例如,7×7)时执行量化。这些量化引入了 RoI 和提取的特征之间的错位(misalignments)。虽然这可能不会影响分类,分类对小翻译很稳健,但它对预测像素精确的掩码有很大的负面影响

图 3. RoIAlign:虚线网格表示特征图,实线表示 RoI(在本例中为 2×2 箱),点表示每个箱中的 4 个采样点。 RoIAlign 通过特征图上附近网格点的双线性插值计算每个采样点的值。不对任何涉及 RoI、其 bin 或采样点的坐标执行量化。

为了解决这个问题,我们提出了一个 RoIAlign 层,它消除了 RoIPool 的苛刻量化(harsh quantization),将提取的特征与输入正确对齐。我们提出的改变很简单:我们避免对 RoI 边界或 bin 进行任何量化(即,我们使用 x/16 而不是 [x/16])。我们使用双线性插值(bilinear interpolation) [22] 来计算每个 RoI bin 中四个定期采样位置的输入特征的精确值,并聚合结果(使用最大值或平均值),详见图 3。我们注意到,只要不执行量化,结果对确切的采样位置或采样的点数不敏感

如第 4.2 节所示,RoIAlign 带来了巨大的改进。我们还比较了 [10] 中提出的 RoIWarp 操作。与 RoIAlign 不同,RoIWarp 忽略了对齐问题,并在 [10] 中实现为像 RoIPool 一样量化 RoI。因此,即使 RoIWarp 也采用了由 [22] 推动的双线性重采样,它的性能与实验所示的 RoIPool 相当(表 2c 中的更多细节),证明了对齐的关键作用。

网络架构:为了展示我们方法的通用性,我们用多种架构实例化了 Mask R-CNN。为清楚起见,我们区分:

i)用于对整个图像进行特征提取的卷积骨干架构

ii)用于边界框识别(分类和回归)和掩码预测的网络头,分别应用于每个 RoI

我们使用命名网络深度特征(network-depth-features)来表示骨干架构。我们评估深度为 50 或 101 层的 ResNet [19] 和 ResNeXt [45] 网络。使用 ResNets [19] 的 Faster R-CNN 的原始实现从第 4 阶段的最终卷积层中提取特征,我们称之为 C4。例如,具有 ResNet-50 的主干由 ResNet-50-C4 表示。这是 [19, 10, 21, 39] 中使用的常见选择。

我们还探索了 [27] 最近提出的另一个更有效的骨干网络,称为特征金字塔网络(FPN)。 FPN 使用带有横向连接的自上而下的架构,从单尺度输入构建网络内特征金字塔。具有 FPN 主干的 Faster R-CNN 根据其规模从特征金字塔的不同级别提取 RoI 特征,但除此之外,该方法的其余部分类似于 vanilla ResNet。使用 ResNet-FPN 骨干网和 Mask RCNN 进行特征提取可以在准确度和速度上获得出色的提升。有关 FPN 的更多详细信息,我们请读者参考 [27]。

图 4. 头部架构:我们扩展了两个现有的 Faster RCNN 头部 [19, 27]。左/右面板分别显示了来自 [19] 和 [27] 的 ResNet C4 和 FPN 主干的头部,其中添加了掩码分支。数字表示空间分辨率和通道。箭头表示可以从上下文推断的 conv、deconv 或 fc 层(conv 保留空间维度,而 deconv 增加它)。所有的 conv 都是 3×3,除了输出 conv 是 1×1,deconv 是 2×2,步长为 2,我们在隐藏层中使用 ReLU [31]。左:“res5”表示 ResNet 的第五阶段,为简单起见,我们对其进行了更改,以便第一个 conv 在 7×7 的 RoI 上运行,步幅为 1(而不是 [19] 中的 14×14 / 步幅 2)。右图:“×4”表示四个连续转换的堆栈。

对于网络头,我们密切遵循之前工作中提出的架构,我们在其中添加了一个完全卷积的掩码预测分支。具体来说,我们从 ResNet [19] 和 FPN [27] 论文中扩展了 Faster R-CNN box head。详细信息如图 4 所示。ResNet-C4 主干上的头部包括 ResNet 的第 5 阶段(即 9 层“res5”[19]),这是计算密集型的。对于 FPN,主干已经包含 res5,因此允许使用更少过滤器的更高效的部

我们注意到我们的掩码分支具有简单的结构。更复杂的设计有可能提高性能,但不是这项工作的重点。

3.1. Implementation Details

我们根据现有的 Fast/Faster R-CNN 工作 [12、36、27] 设置超参数。尽管这些决策是在原始论文 [12、36、27] 中针对目标检测做出的,但我们发现我们的实例分割系统对它们来说是稳健的。

训练(Traning):与 Fast R-CNN 一样,如果 RoI 的 IoU 与 ground-truth box 至少为 0.5,则认为 RoI 为正,否则为负掩码损失 Lmask 仅在正 RoI 上定义掩码目标是 RoI 与其关联的真实掩码之间的交集

我们采用以图像为中心的训练[12]。图像被调整大小,使其比例(较短的边缘)为 800 像素 [27]。每个 mini-batch 每个 GPU 有 2 个图像,每个图像有 N 个采样的 RoI,正负比为 1:3 [12]。对于 C4 主干网络,N 为 64(如 [12, 36] 中),对于 FPN 为 512(如 [27] 中)。我们在 8 个 GPU(因此有效的 minibatch 大小为 16)上训练 160k 次迭代,学习率为 0.02,在 120k 次迭代时降低了 10。我们使用 0.0001 的权重衰减和 0.9 的动量。使用 ResNeXt [45],我们使用每个 GPU 的 1 张图像和相同的迭代次数进行训练,起始学习率为 0.01。

RPN 锚点跨越 5 个尺度和 3 个纵横比(aspect ratios),遵循 [27]。为了方便消融,RPN 是单独训练的,不与 Mask R-CNN 共享特征,除非另有说明。对于本文中的每个条目,RPN 和 Mask R-CNN 具有相同的主干,因此它们是可共享的

推断(Inference):在测试时,C4 骨干网的提案编号为 300(如 [36] 中),FPN 为 1000(如 [27] 中)。我们在这些提议上运行框预测分支,然后是非最大抑制(non-maximum suppression) [14]。然后将掩码分支应用于得分最高的 100 个检测框。尽管这与训练中使用的并行计算不同,但它加速了推理并提高了准确性(由于使用了更少、更准确的 RoI)。mask 分支可以为每个 RoI 预测 K 个 mask,但我们只使用第 k 个 mask,其中 k 是分类分支预测的类。然后将 m×m 浮点数掩码输出调整为 RoI 大小,并以 0.5 的阈值进行二值化

请注意,由于我们只计算前 100 个检测框上的掩码,Mask R-CNN 为其 Faster R-CNN 对应物增加了少量开销(例如,在典型模型上约为 20%)。

4. Experiments: Instance Segmentation

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

4.1. Main Results

我们将 Mask R-CNN 与表 1 中实例分割中最先进的方法进行了比较。我们模型的所有实例都优于先前最先进模型的基线变体。这包括 MNC [10] 和 FCIS [26],分别是 COCO 2015 和 2016 细分挑战赛的获胜者。没有花里胡哨的东西,带有 ResNet-101-FPN 主干的 Mask R-CNN 优于 FCIS+++ [26],其中包括多尺度训练/测试、水平翻转测试和在线硬示例挖掘 (OHEM) [38]。虽然超出了这项工作的范围,但我们希望许多这样的改进适用于我们。

Mask R-CNN 输出在图 2 和图 5 中可视化。即使在具有挑战性的条件下,Mask R-CNN 也能取得良好的效果。在图 6 中,我们比较了我们的 Mask R-CNN 基线和 FCIS+++ [26]。 FCIS+++ 在重叠实例上表现出系统性伪影(systematic artifacts),这表明它受到实例分割基本困难的挑战。 Mask R-CNN 没有显示出这样的伪影。

4.2. Ablation Experiments

我们运行了许多消融来分析 Mask R-CNN。结果如表 2 所示,接下来将详细讨论。

架构:表 2a 显示了具有各种主干的 Mask R-CNN。它受益于更深层次的网络(50 对 101)和先进的设计,包括 FPN 和 ResNeXt。我们注意到,并非所有框架都会自动受益于更深或更高级的网络(参见 [21] 中的基准测试)。

多项式与独立掩码:掩码 R-CNN 将掩码和类预测解耦:由于现有的框分支预测类标签,我们为每个类生成一个掩码,而不会在类之间进行竞争(通过逐像素 sigmoid 和二元损失)。在表 2b 中,我们将其与使用每像素 softmax 和多项式损失(如 FCN [30] 中常用的)进行比较。这种替代方案将掩码和类别预测的任务结合起来,并导致掩码 AP 的严重损失(5.5 分)。这表明,一旦实例被分类为一个整体(通过框分支),就足以预测二进制掩码而无需考虑类别,这使得模型更容易训练。

Class-Specific vs. Class-Agnostic Masks:我们的默认实例预测类特定掩码,即每个类一个 m×m 掩码。有趣的是,具有类别不可知掩码的 Mask R-CNN(即预测单个 m×m 输出而不管类别)几乎同样有效:它具有 29.7 的掩码 AP,而 ResNet-50-C4 上的特定类别对应物的掩码 AP 为 30.3。这进一步突出了我们方法中的分工,该方法在很大程度上分离了分类和分割

RoIAlign:我们提出的 RoIAlign 层的评估如表 2c 所示。在这个实验中,我们使用 ResNet50-C4 主干,其步长为 16。RoIAlign 比 RoIPool 提高了大约 3 个点的 AP,其中大部分增益来自高 IoU (AP75)。 RoIAlign 对最大/平均池不敏感;我们在本文的其余部分使用平均值

此外,我们与同样采用双线性采样的 MNC [10] 中提出的 RoIWarp 进行了比较。如第 3 节所述,RoIWarp 仍然量化了 RoI,失去了与输入的对齐。从表 2c 中可以看出,RoIWarp 的性能与 RoIPool 相当,但比 RoIAlign 差得多。这突出表明正确对齐是关键

我们还使用 ResNet-50-C5 主干评估 RoIAlign,其步幅更大,为 32 像素。我们使用与图 4(右)相同的头,因为 res5 头不适用。表 2d 显示 RoIAlign 将 mask AP 提高了 7.3 个点,将 mask AP75 提高了 10.5 个点(相对提高了 50%)。此外,我们注意到使用 RoIAlign,使用 stride-32 C5 特征(30.9 AP)比使用 stride-16 C4 特征(30.3 AP,表 2c)更准确。 RoIAlign 在很大程度上解决了使用大步长特征进行检测和分割的长期挑战

最后,RoIAlign 在与 FPN 一起使用时显示了 1.5 mask AP 和 0.5 box AP 的增益,FPN 具有更精细的多级步幅。对于需要更精细对齐的关键点检测,即使使用 FPN,RoIAlign 也显示出很大的增益(表 6)。

掩码分支分割是一个像素到像素的任务,我们通过使用 FCN 来利用掩码的空间布局。在表 2e 中,我们使用 ResNet-50-FPN 主干比较了多层感知器 (MLP) 和 FCN。与 MLP 相比,使用 FCN 可提供 2.1 掩码 AP 增益。我们注意到我们选择了这个主干,以便 FCN 头部的卷积层没有预先训练,以便与 MLP 进行公平比较。

4.3. Bounding Box Detection Results

我们将 Mask R-CNN 与表 3 中最先进的 COCO 边界框目标检测进行了比较。对于这个结果,即使训练了完整的 Mask R-CNN 模型,也只使用了分类和框输出推理(掩码输出被忽略)。使用 ResNet-101FPN 的 Mask R-CNN 优于所有先前最先进模型的基本变体,包括 GRMI [21] 的单模型变体,它是 COCO 2016 检测挑战赛的获胜者。使用 ResNeXt-101-FPN,Mask R-CNN 进一步改进了结果,与 [39](使用 Inception-ResNet-v2-TDM)的最佳先前单个模型条目相比,框 AP 的边距为 3.0 点。

作为进一步的比较,我们训练了一个版本的 Mask R-CNN,但没有掩码分支,在表 3 中用“Faster R-CNN, RoIAlign”表示。由于 RoIAlign,该模型的性能优于 [27] 中提出的模型。另一方面,它比 Mask R-CNN 低 0.9 点 box AP。因此,Mask R-CNN 在框检测方面的差距完全是由于多任务训练的好处

最后,我们注意到 Mask R-CNN 在其 mask 和 box AP 之间获得了一个小的差距:例如,在 37.1(mask,表 1)和 39.8(box,表 3)之间有 2.7 个点。这表明我们的方法在很大程度上缩小了目标检测和更具挑战性的实例分割任务之间的差距

4.4. Timing

推理:我们训练了一个 ResNet-101-FPN 模型,该模型在 RPN 和 Mask R-CNN 阶段之间共享特征,遵循 Faster R-CNN [36] 的 4 步训练。该模型在 Nvidia Tesla M40 GPU 上以每张图像 195 毫秒的速度运行(加上将输出大小调整为原始分辨率的 15 毫秒 CPU 时间),并且在统计上实现了与非共享模型相同的掩码 AP。我们还报告说,ResNet-101-C4 变体需要 ∼400 毫秒,因为它具有较重的 box head(图 4),因此我们不建议在实践中使用 C4 变体

尽管 Mask R-CNN 速度很快,但我们注意到我们的设计并未针对速度进行优化,并且可以实现更好的速度/准确性权衡 [21],例如,通过改变图像大小和提议数量,这超出了本文的范围。

训练:Mask R-CNN 训练也很快。在 COCO trainval35k 上使用 ResNet-50-FPN 进行训练在我们同步的 8-GPU 实现中需要 32 小时(每 16 张图像小批量 0.72 秒),而使用 ResNet-101-FPN 需要 44 小时。事实上,在训练集上训练时,可以在不到一天的时间内完成快速原型制作。我们希望如此快速的训练能够消除这一领域的主要障碍,并鼓励更多人对这一具有挑战性的课题进行研究。

5. Mask R-CNN for Human Pose Estimation

我们的框架可以很容易地扩展到人体姿态估计。我们将关键点的位置建模为 one-hot 掩码,并采用 Mask R-CNN 预测 K 个掩码,K 个关键点类型(例如左肩、右肘)中的每一个对应一个掩码。此任务有助于展示 Mask R-CNN 的灵活性。

我们注意到,我们的系统利用了人体姿势的最小领域知识,因为实验主要是为了证明 Mask R-CNN 框架的通用性。我们期望领域知识(例如,modeling structures [6])将补充我们的简单方法。

实施细节:在为关键点调整分割系统时,我们对分割系统进行了微小的修改。对于一个实例的 K 个关键点中的每一个,训练目标是一个单一的 m × m 二进制掩码,其中只有一个像素被标记为前景(foreground)。在训练过程中,对于每个可见的 ground-truth 关键点,我们最小化 m2-way softmax 输出的交叉熵损失(这鼓励检测单个点)。我们注意到,在实例分割中,K 个关键点仍然是独立处理的。

我们采用 ResNet-FPN 变体,关键点头架构类似于图 4(右)。关键点头由八个 3×3 512-d 卷积层的堆栈组成,然后是一个反卷积层和 2× 双线性放大,产生 56×56 的输出分辨率。我们发现关键点级别的定位精度需要相对高分辨率的输出(与掩码相比)。

模型在所有包含注释关键点的 COCO trainval35k 图像上进行训练。为了减少过拟合,由于该训练集较小,我们使用从 [640, 800] 像素中随机采样的图像比例进行训练;推理是在 800 像素的单一尺度上进行的。我们训练 90k 次迭代,从 0.02 的学习率开始,在 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)。更多关于 minival 的多任务学习的消融在表 5 中。将掩码分支添加到仅框(即 Faster R-CNN)或仅关键点版本始终可以改进这些任务。然而,添加关键点分支会略微减少框/掩码 AP,这表明虽然关键点检测受益于多任务训练,但它反过来并不能帮助其他任务。然而,联合学习所有三个任务使统一系统能够同时有效地预测所有输出(图 7)。

我们还研究了 RoIAlign 对关键点检测的影响(表 6)。尽管这个 ResNet-50-FPN 主干具有更精细的步幅(例如,在最好的水平上有 4 个像素),但 RoIAlign 仍然显示出比 RoIPool 有显着改进,并将 APkp 提高了 4.4 个百分点。这是因为关键点检测对定位精度更敏感。这再次表明对齐对于像素级定位至关重要,包括掩码和关键点

鉴于 Mask R-CNN 在提取对象边界框、掩码和关键点方面的有效性,我们希望它成为其他实例级任务的有效框架

Appendix A: Experiments on Cityscapes

我们进一步报告了 Cityscapes [7] 数据集上的实例分割结果。该数据集具有 2975 个训练、500 个验证和 1525 个测试图像的精细注释。它有 20k 个没有实例注释的粗训练图像,我们不使用这些图像。所有图像均为 2048×1024 像素。实例分割任务涉及 8 个目标类别,

此任务上的实例分割性能由 COCO 样式的掩码 AP 测量(平均超过 IoU 阈值);还报告了 AP50(即 IoU 为 0.5 的掩码 AP)。

Appendix B: Enhanced Results on COCO

作为一个通用框架,Mask R-CNN 与为检测/分割开发的互补技术兼容,包括对 Fast/Faster R-CNN 和 FCN 的改进。在本附录中,我们描述了一些改进原始结果的技术。由于其通用性和灵活性,Mask R-CNN 在 COCO 2017 实例分割竞赛中被三个获胜团队用作框架,均显着优于之前的最先进技术。

Instance Segmentation and Object Detection

Keypoint Detection

【CV】Mask R-CNN:用于目标实例分割的通用框架相关推荐

  1. 华科提出首个用于伪装实例分割的一阶段框架OSFormer

    本篇分享 ECCV 2022 论文『OSFormer: One-Stage Camouflaged Instance Segmentation with Transformers』,华科&ET ...

  2. 何恺明团队推出Mask^X R-CNN,将实例分割扩展到3000类

    翻译 | AI科技大本营(ID:rgznai100) 参与 | shawn,刘畅 今年10月,何恺明的论文"Mask R-CNN"摘下ICCV 2017的最佳论文奖(Best Pa ...

  3. 【CV】FPN:用于目标检测的特征金字塔网络

    论文名称:Feature Pyramid Networks for Object Detection 论文下载:https://arxiv.org/abs/1612.03144 论文年份:2016 论 ...

  4. Mask RCNN综述以及建筑物实例分割

    基于Mask RCNN建筑物轮廓识别 介绍 实例分割研究综述 问题与难点 实例分割的基本流程 实例分割主要技术路线 自上而下的实例分割方法 自下而上的实例分割方法 实例分割方法的发展历程 实例分割方法 ...

  5. 完美替代Mask RCNN!BlendMask:实例分割新标杆

    点击我爱计算机视觉标星,更快获取CVML新技术 今天新出的论文BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation,提出一种自顶向 ...

  6. 【CV】SiamFC:用于目标跟踪的全卷积孪生网络

    论文名称:Fully-Convolutional Siamese Networks for Object Tracking 论文下载:https://arxiv.org/abs/1605.07648 ...

  7. NeurIPS | 3D-BoNet:3D 点云实例分割的新框架

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文对牛津大学.DeepMind 等单位合作完成的论文<Le ...

  8. CVPR2020:三维实例分割与目标检测

    CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...

  9. 卷积神经网络——实例分割之Mask R-CNN论文翻译

    论文链接 https://arxiv.org/abs/1703.06870 相关论文翻译链接 R-CNN:https://blog.csdn.net/itlilyer/article/details/ ...

最新文章

  1. ajax传递多个base64,H5移动开发Ajax上传多张Base64格式图片到服务器
  2. 遍历文件夹下所有文件,编辑删除
  3. SpringBoot 2.1.5(37)---SpringBoot 2.1.5 项目启动运行方式
  4. Scala tuple
  5. 全国统考计算机网考题库,全国统考计算机网考题库教程.doc
  6. map.entryk,v小用法(转)
  7. 带头结点的单链表的插入删除和遍历操作
  8. Open-Unmix - A Reference Implementation for Music Source Separation
  9. 努比亚更新系统服务器,努比亚N3升级更新V2.11官方最新完整rom包
  10. html中版权怎么写,HTML版权符号是怎么输入的、代表什么-京标知识产权
  11. Python: PS 滤镜--碎片特效
  12. Windows Xp SP3 chs 简体中文版下载
  13. [转]爬虫的现状和反爬虫
  14. 第二章---《实时语音处理实践指南》发音机理与器件学习笔记
  15. 手机状态信息里的IP地址和通过浏览器ip.cn查到的IP地址区别
  16. 自然语言处理中的迁移学习(上)
  17. linux安装iso软件命令,linux命令制作iso镜像
  18. 解读人工智能产业的2020:认知AI还未实现,我们仍然正在路上
  19. 刚刚!微软又放大招!让草稿几秒钟变App!
  20. 吴恩达深度学习编程作业 part 2-2

热门文章

  1. Nat. Commun.| 机器学习对可突变的治疗性抗体的亲和力和特异性进行共同优化
  2. Android带标题的列表,Listview Section 多个标题以及内容
  3. 美团-大众点评-春招面经
  4. 很简单能看懂阿里数据中台分析
  5. MBT简述:基于模型的测试
  6. 架构师知识体系(5)--建立自己的知识体系吧
  7. HTML5 canvas 瀑布流文字 (骇客帝国效果)
  8. 4G LTE网络空口时延
  9. 有IBM Guardium 看清谁动了我的数据
  10. android 键盘 自动消失,Android 系统键盘怎么也不消失