Mask R-CNN翻译

2021年11月24日 阅读数:4
这篇文章主要向大家介绍Mask R-CNN翻译,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

摘要

  咱们提出了一个概念上简单、灵活和通用的对象实例分割框架。咱们的方法高效地检测图像中的目标,同时为每一个实例生成高质量的分割掩码。这种称为Mask R-CNN的方法经过添加一个用于预测目标掩码的分支来扩展Faster R-CNN,该分支与现有的用于边框识别的分支并行。Mask R-CNN训练简单,只在Faster R-CNN上增长一个小的开销,运行速度为5fps。此外,Mask R-CNN很容易泛化到其它任务,例如,容许咱们在同一框架中估计人体姿式。咱们在COCO挑战“套件”所有三个“轨道”中展现了最佳结果,包括实例分割,边框目标检测和人员关键点检测。无需任何技巧,Mask R-CNN在每一个任务中赛过全部现有的单模型条目,包括COCO 2016挑战的获胜者。咱们但愿该简单有效的方法将成为一个坚实的基线,并有助于简化将来在实例级识别方面的研究。代码将可用。算法

1. 介绍

  视觉社区在一段时间内迅速改进了目标检测和语义分割结果。在很大程度上,这些进步是由强大的基线系统驱动的,例如分别用于目标检测和语义分割的Fast/Faster R-CNN[9, 29]和全卷积网络(FCN)【24】框架。这些方法在概念上是直观的,并提供灵活性和稳健性,以及快速的训练和推理时间。咱们在这项工做中的目标是为实例分割开发一个可比较的支持框架。网络

  实例分割具备挑战性,由于它须要正确检测图像中的全部对象,同时也精确地分割每一个实例。所以,它结合了来自目标检测的经典计算机视觉任务的元素,其目标是对各个目标进行分类并使用边界框对每一个目标进行定位,以及语义分割,其目标是将每一个像素分类为固定的一组类别而不区分的目标实例。鉴于此,人们可能指望须要一种复杂的方法来得到良好的结果。然而,咱们代表,一个使人惊讶的简单,灵活,快速的系统能够超越先前的先进实例分割结果。架构

图1:用于实例分割的Mask R-CNN框架。app

  咱们的方法称为Mask R-CNN,经过在每一个感兴趣区域(ROI)上添加一个分支来预测分割掩码,并与现有分支进行分类和边界框回归并行,从而扩展Faster R-CNN(图1)。掩码分支是应用于每一个RoI的小FCN,以像素到像素的方式预测分割掩码。在给定R-CNN框架的状况下,Mask R-CNN很容易实现和训练,这有助于普遍的灵活架构设计。另外,掩码分支只会增长一个小的计算开销,从而实现快速系统和快速实验。框架

  原则上,Mask R-CNN是Faster R-CNN的直观扩展,但正确构建掩码分支对于得到良好的结果相当重要。最重要的是,Faster R-CNN并不是设计用于网络输入和输出之间的像素到像素对齐。这一点在RoIPool(参与实例的事实上的核心操做)如何为特征提取执行粗略空间量化方面最为明显。为了解决这个错位,咱们提出了一个简单的,无量化的层,称为RoIAlign,忠实地保留了精确的空间位置。尽管看似微小的变化,但RoIAlign的影响很大:它将掩码精度提升了10%和50%,在更严格的定位衡量下显示处更大的收益。其次,咱们发现分离掩码和类预测是必不可少的:咱们独立地预测每一个类的二元掩码,没有类之间的竞争,并依赖于网络的RoI分类分支来预测类别。相比之下,FCN一般执行逐像素多类别分类,其结合分割和分类,而且基于咱们的实例分割实验效果不佳。ide

  在没有花里胡哨的状况下,Mask R-CNN超越了COCO实例分割任务的全部先前的最早进single-model结果,包括来自2016年比赛获胜者的精心设计的参赛做品。做为副产品,咱们的方法也擅长COCO目标检测任务。在消融实验中,咱们评估了多个基本实例,这使咱们可以证实其稳健性和分析核心因素的影响。布局

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

  最后,咱们经过对COCO关键点数据集的人体姿态估计的任务展现了咱们框架的通用性。经过将每一个关键点视为one-hot二元掩码,经过最小的修改,能够应用Mask R-CNN来检测特定于实例的姿式。没有技巧,Mask R-CNN超越了2016年COCO关键点竞赛的冠军,同时以5fps的速度运行。所以,Mask R-CNN能够更普遍地被视为用于实例级识别的灵活框架,而且能够容易地扩展到更复杂的任务。学习

  咱们将发布代码以促进将来的研究。测试

2. 相关工做

R-CNN:基于区域的CNN(R-CNN)边框目标检测方法关注可管理数量的目标区域,并在每一个RoI上独立地求卷积网络的值。R-CNN被扩展到容许在特征图的RoI上使用RoIPool,从而实现更快的速度和更高的准确性。Faster R-CNN经过使用区域建议网络(RPN)学习注意机制来推动这个发展。Faster R-CNN对于许多后续改进而言是灵活且稳健的,而且是几个基准测试中的当前领先框架。

Instance Segmentation:在R-CNN的有效性推进下,许多实例分割方法都基于分割提议。早期的方法采用自下而上的分割【33,2】。DeepMask【27】及其后续工做【28,5】学习提出分割候选,而后由Fast R-CNN分类。在这些方法中,分割先于识别,这是缓慢且不太准确的。一样,Dai等人【7】提出了一个复杂的多阶段级联,它能够从边界框提议中预测分割提议,而后进行分类。相反,咱们的方法基于掩码和类标签的并行预测,这更简单,更灵活。

  最近,Lei等人将【5】中的分割建议系统和【8】中的目标检测系统结合起来,用于“全卷积实例分割”(FCIS)。【5,8,21】中的常见想法是全卷积地预测一组位置敏感的输出通道。这些通道同时处理目标类,框和掩码,使系统快速。但FCIS在重叠实例上表现出系统偏差并产生虚假边缘(图5),代表它受到分割实例的基本困难的挑战。

图2:在COCO测试集上的Mask R-CNN结果。结果基于ResNet-101,实现了35.7的掩码AP而且运行速度为5fps。掩码用彩色表示,边框、类别、置信度也作了相应的展现。

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检测器【29】。Faster R-CNN包括两个阶段。第一阶段称为区域建议网络(RPN),提出候选对象边框。第二阶段,实质上是Fast R-CNN,从每一个候选框中使用RoIPool提取特征,并执行分类和边界框回归。能够共享两个阶段使用的特征,以便更快地推理。咱们向读者推荐【17】,以便在Faster R-CNN和其余框架之间进行最新,全面的比较。

Mask R-CNN:Mask R-CNN采用相同的两阶段步骤,具备相同的第一阶段(即RPN)。在第二阶段,与预测类和框偏移并行,Mask R-CNN还为每一个RoI输出一个二元掩码。这与最近的系统造成对比,它们的分类取决于掩码预测(例如【27,7,21】)。咱们的方法遵循Fast R-CNN【9】的精神,并行地应用了边界框分类和回归(结果很大程度上简化了原始R-CNN的多阶段流水线【10】)。

  形式上,在训练期间,咱们将每一个采样RoI的多任务损失定义为$L=L_{cls}+L_{box}+L_{mask}$。分类损失$L_{cls}$和边界框$L_{box}$与【9】中的定义一致。掩码分支对于每一个RoI具备$km^{2}$维输出,其编码分辨率为$m$x$m$的$K$个二元掩码,分别对应$K$个类。为此咱们为每一个像素应用sigmoid,并将$L_{mask}$定义为平均二元交叉熵损失。对于与真值类$k$相关联的RoI,$L_{mask}$仅在第$k$个掩码上定义(其它掩码输出不会致使损失)。

  咱们对$L_{mask}$的定义容许网络为每一个类生成掩码,而不须要在类之间进行竞争;咱们依靠专用的分类分支来预测用于选择输出掩码的类标签。这解耦了掩码和类预测。这与将FCN【24】应用于语义分割时的常规作法不一样,后者一般使用每像素softmax和多项交叉熵损失。在这种状况下,各种的掩码竞争;在咱们的例子中,有它们没有的每像素sigmoid和二元损失。咱们经过实验代表,该公式是良好实例分割结果的关键。

Mask Representation:掩码对输入目标的空间布局进行编码。所以,与不可避免地经过全链接(fc)层折叠成短输出向量的类标签或框偏移不一样,提取掩码的空间结构能够经过由卷积提供的像素到像素的对应天然地解决。

  具体来讲,咱们使用FCN为每一个RoI预测一个$m$x$m$的掩码。这容许掩码分支中的每一个图层保持明确地的$m$x$m$的对象空间布局,而不会将其折叠为缺乏空间维度的向量表示。与先前使用fc层进行掩码预测的方法不一样,咱们的全卷积表示须要更少的参数,而且如实验所示更准确。

  这种像素到像素的行为要求咱们的RoI特征(它们自己就是小特征映射)可以很好地对齐,以忠实地保持明确的每一个像素的空间对应关系。这促使咱们开发如下RoIAlign层,该层在掩码预测中起关键做用。

RoIAlign:RoIPool【9】是用于从每一个RoI中提取小特征图(例如$7$x$7$)的标准操做。RoIPool首先将浮点数的RoI量化为特征图的离散粒度,而后将该量化的RoI细分为自身量化的空间块,最后聚合每一个块覆盖的特征值(一般经过最大池化)。例如,经过计算$[x/16]$在连续坐标上执行量化,其中16是特征图步幅而且[·]是舍入;一样,当分红块(例如,$7$x$7$)时执行量化。这些量化引发RoI和提取的特征之间的不对齐。虽然这可能不会影响分类,这对小的平移很鲁棒,但它对预测像素级精确的掩码有很大的负面影响。

  为了解决这个问题,咱们提出一个$RoIAlign$层来消除RoIPool的苛刻量化,正确地将提取的特征与输入对齐。咱们提出的改变很简单:咱们避免对RoI边界或块的任何量化(例如,咱们使用$x/16$而不是$[x/16]$)。咱们使用双线性插值【18】来计算每一个RoI块中四个常规采样位置的输入特征的准确值,并汇总结果(使用最大值或平均值)。

  咱们在4.2中展现了RoIAlign带来的巨大改进。咱们还比较了【7】中提出的RoIWarp操做。与RoIAlign不一样,RoIWarp忽略了对齐问题,并在【7】实现了像RoIPool同样的量化RoI。所以,即便RoIWarp也采用【18】推进的双线性重采样,它的性能与RoIPool依旧至关,如实验所示(表2c中的更多细节),证实了对齐的关键做用。

Network Architecture:为了证实咱们方法的通用性,咱们将Mask R-CNN与多种框架创建联系。为清楚起见,咱们这样区分:(i)用于整个图像上的特征提取为卷积$backbone$架构,(ii)用于边界框识别(分类和回归)的网络为$head$和单独应用于每一个RoI的掩码预测。

  咱们使用命名法$network-depth-features$来表示$backbone$架构。咱们评估深度为50或101层的ResNet【15】和ResNeXt【35】。带有ResNets【15】的Faster R-CNN的原始实现从咱们称为C4的第4阶段的最终卷积层中提取了特征。例如,ResNet-50的这个backbone用ResNet-50-C4表示。这是【15,7,17,31】中通用的选择 。咱们还探索了Lin等【22】最近提出的另外一个更有效的backbone,称为特征金字塔(FPN)。FPN使用具备横向链接的自上而下架构,从单一尺度输入构建网内特征金字塔。具备FPN backbone的Faster R-CNN根据其尺度从特征金字塔的不一样级别提取RoI特征,可是方法其他相似于vanilla ResNet。使用ResNet-FPN backbone用于特征提取的Mask R-CNN在精度和速度方面得到极佳的提高。更多关于FPN的细节,请参阅【22】。

  对于网络$head$咱们密切关注先前工做中提出的架构,咱们在其中添加一个全卷积掩码预测分支。具体地说,咱们从ResNet【15】和FPN【22】论文中扩展了Faster R-CNN box heads。Figure 3展现了细节。ResNet-C4 backbone的head包括了ResNet第5阶段(即9层‘res5’【15】),这是计算密集型。对于FPN,backbone已经包含res5,所以容许使用更少滤波器的更高效的head。

  咱们注意到咱们的掩码分支有一个简单的结构。更复杂的设计有可能改善性能,但这不是这项工做的重点。

3.1 实现细节

  咱们根据现有的Fast/Faster R-CNN工做【9,29,22】设置超参数。虽然这些决策在原始论文【9,29,22】中是用于目标检测,可是咱们发现咱们的实例分割系统对他们是鲁棒的。

Training:如在Fast R-CNN中,若是RoI和真值框的IoU至少为0.5时被视为正,不然为负。掩码损失$L_{mask}$仅限于正的RoIs。掩码目标是RoI和其相关真值掩码之间的交集。

  咱们采用以图像为中心的训练方法【9】。调整图像大小以使其比例(最短的边)是800像素【22】。每一个小批量中采用每一个GPU上2个图像,每一个图像有$N$个采样RoI,正负比为1:3【9】。C4的backbone(如【9,29】所示)的$N$是64,FPN的是512(如【22】所示)。咱们在8个GPU(有效的小批量大小为16)上进行160k次迭代,学习率为0.02,在120k次迭代时减小10倍。咱们使用0.0001的权重衰减和0.9的动量。

  和【22】同样,RPN锚点跨越5个尺度和3个纵横比。为了方便消融,RPN单独训练而且不与Mask R-CNN共享特征,除非另有说明。对于本文中的每一个entry,RPN和Mask R-CNN有一样的backbones,所以他们是可共享的。

图3:Head Architecture:扩展两个现有的Faster R-CNN头部。左/右两图分别展现了ResNet C4和FPN的头部,在哪加上一个掩码分支。数字表示空间分辨率和通道数。箭头表示卷积、反卷积或者全链接,这个能够经过上下文推断出来(卷积保持空间维度,而反卷积增长)。全部的卷积是都3×3,除了输出卷积是1×1,反卷积是步长为2的2×2操做,在隐藏层使用ReLU。左:'res5'表示ResNet的第5阶段,为了简单才这么选择的以便于在7×7的RoI上使用步长为1首次卷积。右:'×4'表示四个连续的卷积堆。

Inference:在测试时,C4 backbone建议的数量是300(和【29】同样),FPN为1000(和【22】同样)。咱们在这些提议上运行框预测分支,而后是非极大值抑制【11】。而后将掩码分支应用于最高得分100个检测框。虽然这与训练中的并行计算不一样,但它加速了推理并提升了准确率(因为使用了更少更准确的RoIs)。掩码分支能够为每一个RoI预测$K$个掩码,可是咱们仅使用第$k$个掩码,其中$k$是分类分支的预测类。而后将$mxm$浮点数掩码输出调整为RoI尺寸,并在阈值0.5出进行二值化。

  请注意,因为咱们仅计算前100个检测框,所以Mask R-CNN在它的Faster R-CNN对应部分添加一点小开销(例如,在典型模型上约为 20%)。

4. 实验:实例分割

  咱们将Mask R-CNN与最早进的算法进行完全的对比,并进行全面的消融实验。咱们使用COCO数据集【23】进行全部实验。咱们报告标准COCO指标包括AP(平均IoU阈值),AP$_{50}$,AP$_{75}$,和AP$_{S}$,AP$_{M}$,AP$_{L}$(不一样尺度的AP)。除非另有说明,不然AP正在用$mask$ IoU进行评估。与以前的工做【3,22】同样,咱们使用80k训练集图像和验证集图像(trainval35k)的一个35k子集的联合来训练,并报告对剩余验证集图像(minival)5k子集的消融。咱们还在test-dev【23】上报告告终果,该结果没有公开的标签。发布后,咱们会按照建议把test-std上的所有结果上传到公共排行榜。

图4:在COCO测试集上使用ResNet-101-FPN的Mask R-CNN的更多结果,而且以5fps运行,35.7的掩码AP(表1)

4.1 主要结果

  咱们将Mask R-CNN与表1中实例分割的最早进的方法进行比较。咱们模型的全部实例都优于先前最早进模型的基线变体。这包括MNC【7】和FCIS【21】,它们分别是COCO 2015和2016分割挑战的获胜者。没有花里胡哨,具备ResNet-101-FPN backbone的Mask R-CNN优于FCIS+++【21】,其中包括多尺度训练/测试,水平翻转测试和在线硬件示例挖掘(OHEM)[30]。虽然超出了这项工做的范围,但咱们但愿许多此类改进使用于咱们。

  Mask R-CNN的输出在图2和4中可视化。Mask R-CNN即便在极具挑战性的条件下也能取得良好结果。在图5中,咱们比较了Mask R-CNN的基线和FCIS+++【21】。FCIS+++在重叠实例上展现了系统的伪像,代表它受到实例分割基本难度的挑战。Mask R-CNN没有显示这样的伪像。

 

图5:FCIS+++[21](上)vs. Mask R-CNN(下,ResNet-101-FPN)。FCIS展现了在重叠目标上的系统样本。

4.2 消融实验

  咱们提出了许多指控来分析Mask R-CNN。结果显示在表2中而且接下来详细讨论。

Architecture:表2a显示了具备各类backbones的Mask R-CNN。它受益于更深层次的网络(50vs101)和先进的设计,包括FPN和ResNeXt。咱们注意到并不是全部的框架都自动受益于更深或者先进的网络(参见【17】中的基准测试)。

Multinomial vs. Independent Masks:Mask R-CNN解耦掩码和类别预测:当现有的框分支预测类别标签的时候,咱们为每个类生成掩码而没有类别间的竞争(经过每一个像素的sigmoid和binary损失)。在表2b中,咱们将其与使用每像素softmax和多项式损失(如FCN【24】中经常使用)进行比较。该替代方法耦合了掩码和类别预测任务,并致使掩码AP的严重损失(5.5点)。这代表,一旦实例被分类为总体(经过框分支),就能够预测二元掩码而不关心类别,这使得模型更容易训练。

Class-Specific vs. Class-Agostic Masks:咱们默认的实例化预测特定类的掩码,即每一个类一个$m$x$m$的掩码。有趣的是,具备类别禁止掩码的Mask R-CNN(即,不管类别预测单个$m$x$m$输出)几乎同时有效:它具备29.7掩码AP和ResNet-50-C4上类特定对应物的30.3。这进一步突出了咱们方法中的分工,这在很大程度上解耦了分类和分割。

RoIAlign:咱们提出的RoIAlign层的评估显示在表2c中。对于本实验咱们使用ResNet-50-C4 backbone,它的步长为16。RoIAlign比RoIPool提升了约3点AP,其中大部分增高来自高IoU($AP_{75}$)。RoIAlign对最大/平均池化敏感;咱们在论文的其他部分使用平均池化。

  此外,咱们与MNC【7】中提出的RoIWarp相比较,该方法采用双线性采样。如第3节讨论的,RoIWarp仍然量化RoI,失去与输入对齐。从表2c能够看出,RoIWarp的表型和RoIPool至关而且比RoIAlign差。这突出了对齐是关键。

   咱们还评估了有ResNet-50-C5 backbone的RoIAlign,它有一个甚至更大的32像素的步长。咱们使用了与图3相同的head,由于res5的head不适用。表2d展现了RoIAlign经过大量7.3点改善了掩码$AP$,和经过10.5点改善掩码$AP_{75}$(50%的相关改善)。此外,咱们注意到使用RoIAlign,使用$stride-32 C5$特征(30.9$AP$)比使用$stride-16 C4$特征(30.3$AP$,表2c)更准确。RoIAlign在很大程度上使用大步特征进行检测和分割进行长期挑战。

  最后,当咱们使用FPN的时候,RoIAlign展现了增益为1.5掩码$AP$和0.5框$AP$,其中FPN有更精细的多级步长。对于须要更精细对齐的关键点检测,即便使用FPN,RoIAlign也显示出大的增益(表6)。

Mask Branch:分割是一个像素到像素的任务,而且咱们使用FCN来利用掩码的空间布局。在表2e中,咱们使用ResNet-50-FPN backbone来比较多层感知器(MLP)和FCNs。使用MLP可提供超过MLP的2.1掩码AP增益。咱们注意到,咱们选择这个主干以致于FCN head的卷积层没有被预训练,以便和MLP的公平比较。

4.3 边界框检测结果

  咱们将Mask R-CNN和表3中最早进的COCO $bounding-box$ 目标检测对比。对于此结果,即便训练完整的Mask R-CNN模型,也只在推理中使用分类和框输出(忽略掩码输出)。使用ResNet-101-FPN的Mask R-CNN优于全部先前最早进模型的基本变体,包括GRMI【17】的单模型变体,即COCO 2016检测挑战的获胜者。使用ResNeXt-101-FPN,Mask R-CNN进一步改善告终果,在【31】(使用Inception-ResNet-v2-TDM)的最佳先前单模型条目上有3.0点框$AP$的余量。

   做为进一步比较,咱们训练一种在表3中用“Faster R-CNN,RoIAlign”表示的没有掩码分支的Mask R-CNN的版本。因为RoIAlign,该模型优于【22】提出的模型。另外一方面,它比Mask R-CNN低0.9点框$AP$。所以,Mask R-CNN在框检测上的这种差距仅仅取决于多任务训练的好处。

  最后,咱们注意到Mask R-CNN在它的掩码和框$AP$之间得到小的差距:例如,37.1(掩码,表1)和39.8(框,表3)之间的2.7点。这代表咱们的方法在很大程度上减小了目标检测和更具挑战的实例分割任务之间的差距。

4.4 定时

Inference:咱们训练了ResNet-101-FPN模型,该模型在Faster R-CNN的4步训练后共享RPN和Mask R-CNN阶段之间的特征【29】。该模型在NVIDIA Tesla M40 GPU上以每一个图像195ms的速度运行(加上15ms的CPU时间,将输出调整为原始分辨率),并统计上得到与非共享掩码$AP$相同的掩码$AP$。咱们还报告说ResNet-101-C4变体须要约400ms,由于它有一个更重的框head(图3,),所以咱们不建议在实践中使用C4变体。

  虽然Mask R-CNN很快,可是咱们注意到咱们的设计没有针对速度优化,而且能够实现更好地速度/准确率的平衡【17】,例如,经过改变各类图像尺寸和提议数量,那个超出了本文的范围。

Training:Mask R-CNN训练得也快。在COCO trainval35k上使用ResNet-50-FPN进行8-GPU同步训练须要32小时(每16张图像小批量0.72秒),使用ResNet-101-FPN须要44小时。事实上,当在训练集上训练时,快速原型制做能够在不到一天的时间内完成。咱们但愿这样快速的训练将消除这个领域内的主要障碍,而且鼓励更多的人对这个具备挑战行的话题上进行研究。

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

  咱们的框架能够容易地扩展到人体姿态估计。咱们将关键点的位置建模为one-hot掩码,而且采用Mask R-CNN来预测$K$个掩码,每一个$K$关键点类型都有一个(例如,左肩,右肘)。这个任务帮助证实了Mask R-CNN的灵活性。

  咱们注意到咱们系统利用了人体姿态估计的最小领域知识,由于实验主要证实了Mask R-CNN框架的泛化性。咱们指望领域知识将与咱们的简单方法互补,但它超出了本文的范围。

Implementation Details:当咱们对关键点调整时,对分割系统记性微小的修改。每一个实例的$K$个关键点的每个,训练目标是一个one-hot的$m$x$m$的二元掩码,其中仅仅将一个单像素标记为前景。在训练期间,对于每个可见真值关键点,咱们最小化$s^{2}-way$ softmax输出(它鼓励单点检测)上的cross-entropy损失。咱们注意到,在实例分割中,$K$个关键点仍要独立对待。

  咱们采用ResNet-FPN,而且关键点head架构是与图3(right)中类似。关键点head由一堆八个3x3 512-d卷积层组成,其后是deconv层和2x双线性方法,产生了56x56的输出分辨率。咱们发现关键点级定位精度须要相对较高的分辨率输出。

  模型在全部包含注释关键点的COCO trainval35k的图像上训练。为了减小过拟合,由于训练集是更小的,咱们用从[640, 800]像素上随机采样的图像比例训练模型;推理是在800像素的单尺度上。咱们训练90k次迭代,从0.02学习率开始而且在60k和80k次迭代时减小10。咱们使用边界框非极大值抑制,阈值为0.5。其它实现和3.1节同样。

Experiments on Human Pose Estimation:咱们使用ResNet-50-FPN评估人员关键点$AP(AP^{kp})$。咱们已经对ResNet-101进行了实验,而且发现它实现了类似的结果,多是由于更深的模型受益于更多的训练数据,可是这个数据集相对较小。

  表4显示咱们的结果(62.7$AP^{kp}$)比用多阶段处理管道的COCO 2016关键点检测的获胜者【4】高出0.9分(参见表4的标题)。咱们的方法更简单,更快捷。

  更重要的是,咱们有一个统一的模型,能够同时预测框,分割和关键点,同时运行速度为5fps。添加分割分支(针对人员类别)能够将test-dev上的$AP^{kp}$改善为63.1(表4)。表5列出了在minival上多任务学习的更多摘要。添加掩码分支到box-only(例如,Faster R-CNN)或keypoint-only版本上能够一向地改善这些任务。可是,添加关键点分支会略微减小框/掩码$AP$,这代表虽然关键点检测能够从多任务训练中受益,可是它不会反过来帮助其它任务。然而,共同窗习三个任务能使一个统一的系统能够同时有效地预测全部输出(图6)。

  咱们还研究了关键点检测上RoIAlign的影响(表6)。虽然这个ResNet-50-FPN backbone有更精细的步长(例如,最精细的4个像素),RoIAlign仍然比RoIPool有显著改进,而且增长了4.4点$AP^{kp}$。这是由于关键点检测比定位精度更敏感。这再次代表对齐对于像素级定位是相当重要的,包括掩码和关键点。

  鉴于Mask R-CNN用于提取目标边界框,掩码和关键点的有效性,咱们指望它是其它实例级任务的有效框架。

References

【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.

【2】P. Arbelaez, J. Pont-Tuset, J. T. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping. In CVPR, 2014.

【3】S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016.

【4】Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multi-person 2d pose estimation using part affinity fields. In CVPR, 2017.

【5】J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. In ECCV, 2016.

【6】J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015.

【7】J. Dai, K. He, and J. Sun. Instance-aware semantic segmentation via multi-task network cascades. In CVPR, 2016.

【8】J. Dai, Y.Li, K. He, and J. Sun. R-FCN: Object detection via region-based fully convolutional networks. In NIPS, 2016.

【9】R. Girshick. Fast R-CNN. In ICCV, 2015.

【10】R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.

【11】R. Girshick, F. Iandola, T. Darrell, and J. Malik. Deformable part models are convolutioanl neural networks. In CVPR, 2015.

【12】B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Simultaneous detection and segmentation. In ECCV. 2014.

【13】B. Hariharan, P. Arbelaez, R. Girshick, and J. Malik. Hyper-columns for object segmentation and fine-grained localization. In CVPR, 2015.

【14】K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014.

【15】K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.

【16】J. Hosang, R. Benenson, R. Dollar, and B. Schiele. What makes for effective detection proposals? PAMI, 2015.

【17】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.

【18】M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu. Spatial transformer networks. In NIPS, 2015.

【19】A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012.

【20】Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackerl. Backpropagation applied to handwrittern zip code recognition. Neural computation, 1989.

【21】Y. Li, H. Qi, J. Dai, X. Ji, and Y. Wei. Fully convolutional instance-aware semantic segmentation. In CVPR, 2017.

【22】T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In CVPR, 2017.

【23】T.-Y Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft COCO: Common objects in context. In ECCV, 2014.

【24】J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation, In CVPR, 2015.

【25】V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In ICML, 2010.

【26】G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev, J. Tompson, C. Bregler, and K. Murphy. Towards accurate multi-person pose estimation in the wild. In CVPR, 2017.

【27】P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to segment object candidates. In NIPS, 2015.

【28】P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P. Dollar. Learning to refine object segments. In ECCV, 2016.

【29】S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.

【30】A. Shrivastava, A. Gupta, and R. Girshick. Training region-based object detectors with online har d example mining. In CVPR, 2016.

【31】A. Shrivastava, R. Sukthankar, J. Malik, and Gupta. Beyond skip connections: Top-down modulation for object detection. arXiv:1612.06851, 2016.

【32】C. Szegedy, S. Ioffe, and V. Vanhoucke. Inception-v4, inception-resnet and the impact of residual connections on learning. In ICLR Workshow, 2016.

【33】J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013.

【34】S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Convolutional pose machines. In CVPR, 2016.

【35】S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He. Aggregated residual transformations for deep neural networks. In CVPR, 2017.