完整word版Mask RCNN 中文翻译.docx
《完整word版Mask RCNN 中文翻译.docx》由会员分享,可在线阅读,更多相关《完整word版Mask RCNN 中文翻译.docx(22页珍藏版)》请在冰豆网上搜索。
完整word版MaskRCNN中文翻译
MaskR-CNN
KaimingHeGeorgiaGkioxariPiotrDollárRossGirshick
FacebookAIResearch(FAIR)
Facebook的人工智能研究
文摘
我们提出了一个概念上简单、灵活、通用的对象实例来分割框架。
我们的方法可以有效地检测图像中的对象,同时为每个人生成一个高质量的分割掩码。
这个方法,称为MaskR-CNN,通过添加一个分支来预测一个对象掩码,并与现有的用于边界框识别的分支并行,扩展了FasterR-CNN。
MaskR-CNN很容易训练,并且只增加了一个很小的开销,以FasterR-CNN,以5帧的速度运行。
此外,MaskR-CNN很容易被其他的任务所概括,例如,允许我们在同一个框架中估计人类的姿势。
我们在这三种可处理的挑战中显示了最高的结果,包括实例分割、弹盒对象检测和人的关键点检测。
在没有技巧的情况下,MaskR-CNN在每项任务上都胜过所有现有的单一模型条目,包括2016年的COCO挑战奖得主。
我们希望我们的简单和有效的方法可以作为一个可靠的基准,并有助于在实例级识别中简化未来的研究。
代码将会提供出来。
1.介绍
视觉社区在短时间内迅速改善了目标检测和语义分割的结果。
在很大程度上,这些进步是由强大的基线系统驱动的,例如:
Fast/FasterR-CNN[12,34]和完全卷积网络(FCN)[29]框架分别用于对象检测和语义分割。
这些方法在概念上是直观的,并且提供了灵活性和健壮性,以及快速的训练和推断时间。
我们的目标是开发一个相对支持的框架,例如分割之类。
实例分割是很有挑战性的,因为它需要正确地检测图像中的所有对象,同时还要精确地分割每个实例。
因此结合了古典元素从计算机视觉任务的对象国民住宅检测,目标是分类个人对象工程和本地化。
使用一个边界框,和语义分割,目标是每个像素分类为一组固定的类别没有区分对象——立场。
考虑到这一点,人们可能会期望得到一个复杂的方法来获得好的结果。
然而,我们展示了一个令人惊讶的简单、灵活和快速的系统可以超越先前的最先进的实例分割结果。
我们的方法,称为MaskR-CNN,延展FasterR-CNN[34]通过添加一个分支预测分割Mask感兴趣的每个区域(ROI),与前存在的并行分支分类和边界框回归——锡安(图1)。
Mask分支是一个小FCN应用于每一个ROI,预测像素像素的方式分割掩模。
MaskR-CNN很容易实现和训练,因为它提供了FasterR-CNN框架,它为各种灵活的架构设计提供了便利。
此外,掩码分支只增加了一个很小的计算开销,支持快速的系统和快速的实验。
在原则上,MaskR-CNN是FasterR-CNN的一个直观的延伸,但是正确地构建掩码分支是对好的结果的关键。
更重要的是,FasterR-CNN不是为像素-像素的对齐而设计的-网络输入和输出。
这一点在ROIPool[18,12],实际上是对实例的实际核心操作中很明显的,对特征提取进行了粗略的空间量化。
为了修正偏差,我们提出了一个简单的无量化层,叫做ROI对齐,它忠实地保留了精确的空间位置。
尽管表面上看起来很小,但ROI对齐有很大的影响:
它可以使掩码的准确度提高10%到50%,在更严格的本地化指标下显示出更大的收益。
其次,我们发现分离蒙版和类预测至关重要:
我们可以独立预测每个类的二进制掩码,不需要类之间的竞争,并且依赖于网络的ROI分类分支来预测类别。
相比之下,FCNs通常执行每个像素的多类分类,对分割和分类进行分类,基于我们的实验对实例分割的效果很差。
没有花哨的功能,MaskR-CNN将会超越之前所有的先进的单一模型,在COCO实例分割任务28中,包括来自2016年竞争对手的大量工程项目。
作为副产品,我们的方法在COCO对象检测任务上也有优势。
在消融实验中,我们对多个基本实例进行了评估,使我们能够证明其鲁棒性,并分析其核心因素的影响。
我们的模型可以在GPU上以每帧大约200毫秒的速度运行,而在一台8GPU的机器上,在COCO上的训练需要一到两天的时间。
我们相信,快速的列车和测试速度,以及框架的灵活性和准确性,将有利于并简化未来对实例分割的研究。
最后,我们通过对COCO关键数据集[28]的人工姿势估算来展示我们的框架的通用性。
通过将每个键点视为一个热的二进制掩码,用最小的修改MaskR-CNN可用于检测实例特定的姿态。
在没有技巧的情况下,MaskR-CNN将会超越2016年COCO键比赛的冠军,同时以5秒的时间进行比赛。
因此,MaskR-CNN可以更广泛地看作是一个灵活的实例级识别框架,可以很容易地扩展到更复杂的任务。
我们将发布代码以促进未来的研究。
根据常用的术语,我们使用对象检测来表示检测,通过边界框,而不是掩码,和语义分段来表示每个像素的分类而不区分实例。
然而,我们注意到,实例分割既是语义的,也是检测的一种形式。
图2。
MaskR-CNN在COCO测试集上的结果。
这些结果是基于re斯内-10119,获得一个35.7的Mask,以5fps的速度运行。
在颜色上显示了Mask,并且显示了边框、类别和机密。
2.相关工作
R-CNN:
基于区域的CNN(R-CNN)接近世贸组织的对象检测[13],是要关注一个可管理的候选对象区域[38,20],并在每个ROI上独立评估卷积网络[25,24]。
R-CNN被扩展[18,12]到允许使用ROIPool在功能地图上使用ROIs,这导致了快速的速度和更高的准确性。
FasterR-CNN[34]通过一个区域提议网络(RPN)学习注意力机制来推进这一流。
FasterR-CNN是灵活的,并且对许多后续的改进(例如,[35,27,21]进行了改进,并且是目前领先的几个基准框架。
论坛细分:
受R-CNN的有效性的驱动,许多实例分割的方法都是基于片段的建议。
早期的方法[13,15,16,9]采用了自下而上的方法[38,2].。
深度掩模[32]和以下的工作学习[33,8]了如何提出片段的日期,然后被FastR-CNN分类。
在这些方法中,分割先于识别,这是缓慢而不准确的。
同样地,戴等人提出了一个复杂的多阶段级联,[10]该级联可以预测出从包装盒提议中获得的部分建议,然后是分类。
相反,我们的方法是基于对Mask和类标签的并行预测,这种方法更简单、更灵活。
最近,李等人[26]结合了“全卷积性实例分割”(FCIS)的“分段-posal系统”[8]和“对象检测系统”[11]。
通常的想法是,预测一组位置——敏感的输出通道[8,11,26],完全是在螺旋形的。
这些通道同时处理对象类、框和掩码,使系统快速。
但是FCIS在重叠的实例上展示了系统的错误,并产生了虚假的边缘(图5),显示了它受到了分割实例的有趣的困难的挑战。
3.MaskR-CNN
MaskR-CNN在概念上很简单:
FasterR-CNN有两个输出分别为每个候选对象,一个类标签和一个限定框的偏移量;为此,我们添加了第三个分支——将对象掩码。
因此,MaskR-CNN是一种自然而又有目的的想法。
但是额外的蒙版输出与类和框输出不同,需要提取对象的更精细的空间布局。
接下来,我们将介绍MaskR-CNN的关键部分,包括像素到像素的对齐,这是Fast/FasterR-CNN的主要缺失部分。
FasterR-CNN:
我们首先简单回顾一下R-CNN探测器的速度更快。
FasterR-CNN由两个阶段组成。
第一个阶段称为区域建议书网络(RPN),它提出候选对象边界框。
第二阶段,本质上是快速的R-CNN[12],从每一个候选的盒子中提取出的ROIPool,并进行分类和限定框回归。
两个阶段所使用的特性可以用于更快的推理。
我们将读者推荐给21岁的读者,让他们对FasterR-CNN和其他框架进行全面的比较。
MaskR-CNN:
MaskR-CNN采用相同的两步程序,具有相同的第一阶段(即RPN)。
在第二阶段,与预测类和盒偏移量平行,MaskR-CNN也为每个ROI输出一个二进制掩码。
这与最近的系统形成了鲜明的对比,在那里,古典化依赖于MaskR-CNN的预测(例如,[32,10,26])。
我们的方法遵循了FastR-CNN[12]的精神,它在平行等位基因中应用了限定框的分类和回归(这在很大程度上简化了原始R-CNN[13]的多阶段管道)。
正式地,在培训期间,我们在每个抽样的ROI上定义一个多任务损失,如L=Lcls+Lbox+Lmask。
古典化损失Lcls和边界框损失Lbox是12个定义的。
这个掩码分支为每个ROI都有一个Km2-维度输出,它为每一个K类编码K个二进制掩码。
为此,我们应用了每一个像素的s型,并将Lmask定义为平均的二进制交叉熵损失。
对于与地真相类k相关联的ROI,Lmask仅在k-thMask上定义(其他掩码输出不会造成损失)。
我们对Lmask的定义允许网络为每个类生成类型,而不需要在类之间进行竞争;我们依赖专用的分类分支来预测用于选择输出掩码的类标签。
这就分离了蒙版和类预测。
这与一般的做法不同,在应用FCNs[29]到语义分段时,通常使用一个像素的软最大值和一个多的交叉熵损失。
在这种情况下,各个阶层的Mask竞争;在我们的例子中,每个像素的s型和二进制的损失,他们都没有。
我们通过实验证明,这种规划是很好的实例分割结果的关键。
掩码表示:
一个掩码可以编码输入对象的空间布局。
因此,不像类标签或盒偏移,通过完全连接的(fc)层不可避免地折叠成简短的输出向量,因此,通过卷积所提供的像素到像素的对应关系,可以很自然地提取出掩码的空间结构。
具体来说,我们使用FCN[29]来预测每个ROI的一个m⇥m掩码。
这允许掩码分支中的每一层都保持显式的m⇥m对象空间的空间,而不将其折叠成缺乏空间维度的向量表示。
与之前的方法不同,我们的完全卷积表示需要更少的参数,更准确的是通过实验来证明。
这个像素到像素的行为需要我们的ROI特性,这些特性本身就是一个小的特征图,可以很好地对齐,以忠实地保存每一个像素的空间数据。
这促使我们开发了下面的ROI对齐层,它在掩码预测中起着关键的作用。
ROI对齐:
ROIPool[12]是一个从每个ROI提取一个小功能图(例如,7⇥7)的标准操作。
ROIPool首先将一个浮动数字的ROI量化到特征映射的离散的格兰拉度,然后将这个量化的ROI细分为一个被量化的空间容器,最后将每个容器所覆盖的特征值聚合起来(通常是通过最大的池)。
量化是通过计算x/16的连续坐标x来实现的,其中16是一个特征图跨步,并且是舍入;同样地,当划分为垃圾箱时,就会执行量化处理(例如,7⇥7)。
这些量化引入了ROI和提取的特性之间的偏差。
虽然这可能不会影响分类,这对小的翻译来说是很强大的,但它对预测像素精确的Mask有很大的负面影响。
为了解决这个问题,我们提出了一个ROI对齐层,它将对ROIPool进行严格的量化,将提取的特性与输入进行适当的对齐。
我们提出的改变很简单:
我们避免任何量化的ROI边界或垃圾箱(即:
我们用x/16代替x/16)。
我们使用bi线性插值[22]
来计算每个ROI容器中四个常规采样点的输入特性的确切值,并汇总结果(使用最大值或平均值)。
ROI对齐会带来很大的改进,就像我们在4.2中展示的那样。
我们还比较了所提出的罗经机操作[10]。
与ROI对齐不同的是,ROI跃迁忽略了对齐的问题[10],并在量化投资回报率上与ROIPool相似。
因此,即使ROI跃迁也采用了由实验驱动的双线性重采样[22],它的表现与实验所示的ROIPool相同(在Ta-2c中有更多细节),显示了校准的关键作用。
网络架构:
为了演示我们的方法的通用性,我们实例化了带有多个架构的MaskR-CNN。
为了清晰起见,我们区分了:
(i)用于特性前的卷积骨架架构,以及(ii)网络头用于边界识别(分类和回归)和掩码预测,分别应用于每个ROI。
我们使用术语网络深度特征来表示主干架构。
我们评估了深度50或101层的ResNet[19]
和ResNeXt网络[40]。
FasterR-CNN和ResNets的最初实现从第四阶段的卷积层中提取出了一些特征[19],我们称之为C4。
例如,resnet-50的主干,由resnet-50-c4表示。
这是一个常用的选择[19,10,21,36]。
我们还将探索另一种更有效的主干,由林等人提出,称为“中端网络”(FPN)。
FPN使用一个自顶向下的架构,在一个单尺度的输入中构建一个内网特性金字塔。
FasterR-CNN和FPN的背-骨从不同级别的fea-金字塔中提取ROI特征,根据他们的规模,但是其余的方法和香草的雷斯网相似。
使用一个re球鞋-fpn的骨干,用MaskR-CNN,在准确性和速度方面都取得了很好的成绩。
有关FPN的详细信息,我们请读者参考。
对于网络头,我们密切关注在之前的工作中所呈现的架构,我们添加了一个完全的-容量掩码的掩模预测分支。
特别地,我们从雷斯特[19]和FPN[27]的论文中得到了FasterR-CNN框头。
图3显示了详细信息。
在ResNet-c4的主干中包含了第5级的ResNet(即9层“res5”[19]),这是计算密集型的。
对于FPN,主干已经包含了res5,因此可以使用更高效的头部,使用更少的过滤器。
我们注意到,我们的掩码分支有一个简单的结构。
更复杂的设计有潜力——证明性能,但不是这项工作的重点。
我们对4个常规位置进行采样,这样我们就可以对最大值或平均池进行评估。
实际上,在每个bin中心(没有池)中只插入一个值几乎同样有效。
我们还可以在每个箱子中取样超过四个位置,我们发现这些地点的收益递减。
3.1.实现细节
我们在现有的Fast/FasterR-CNN工作中设置了超参数。
尽管这些决策是在原始文件中进行对象检测的[12,34,27],但我们发现我们的实例分割系统对它们是很健壮的[12,34,27]。
培训:
就像在FastR-CNN中一样,如果它有一个至少为0.5或者否定的事实的真相盒子,那么它的ROI就会被认为是正的。
Lmask仅在正面的ROIs上定义。
Mask的目标是一个ROI和它相关的地真相掩码的交点。
我们采用以图像为中心的训练[12]。
图像的尺寸大小(较短的边缘)是800像素[27]。
每一个小批处理每GPU有2个图像,每一个图像都有N个采样的ROIs,其比率为1:
3的正与负3。
Head架构:
我们扩展了两个现有的FasterR-CNN头部[19,27]。
左边/右边的面板显示的是分别用于添加一个掩码分支的ResNetC4和FPN脊骨的头部。
[19]和[27]数字表示空间的恢复和通道。
箭头表示的是conv、解除v或fc层,可以从上下文中推断出来(conv保留了空间维度,而解则增加了它)。
所有的共v都是33,除了输出的conv是11,解除vs是22,我们在隐藏层中使用ReLU[30]。
左:
“res5”表示ResNet的第5个阶段,为了简单起见,我们修改了第一个conv,在第7个步骤中使用第1步(而不是1414/2步)。
[19]右:
“4”表示一堆连续4个连续的圆锥。
[12]N为C4主干(如[12,34])和512为FPN(如[27])。
我们在8个gpu(如此有效的迷你-批量大小为16)的迭代中进行了训练,在120k的迭代中,学习速率为0.02,减少了10。
我们用0。
0001的重力衰减和0。
9的动量。
RPN的锚点跨越5个等级和3个纵横比,为方便的消融术[27],RPN接受了9个月的训练,并且没有与MaskR-CNN的特征,没有指定。
对于本文中的每一个条目,RPN和MaskR-CNN都有相同的脊骨,所以它们是可共享的。
推理:
在测试时,建议号为C4脊梁(如[34])和1000对FPN(如[27])的数量为300。
我们在这些建议上运行了box预测分支,然后进行了非最大的抑制[14]。
然后将掩码分支应用到最高的100个检测箱中。
虽然这与训练中所使用的并行计算不同,但它加速了推理并提高了准确性(由于使用的是更少、更准确的ROIs)。
掩码分支可以预测每个ROI的K个掩码,但是我们只使用K-th掩码,其中K是分类分支所预测的类。
然后,将浮动数字掩码输出调整为ROI大小,并将其绑定到0.5的阈值。
请注意,由于我们只在前100个检测盒中计算出了掩码,MaskR-CNN增加了边缘运行时的运行速度,以FasterR-CNN(例如,在典型模型上有20%)。
图3。
Head架构:
我们扩展了两个现有的FasterR-CNN的头部,19,27。
左边/右边的面板分别显示了来自19和27的ResNetC4和FPN后骨的头部,并添加了一个掩码分支。
数字表示空间的恢复和通道。
箭头表示的是conv、解除v或fc层,可以从上下文中推断出来(conv保留了空间维度,而解则增加了它)。
所有的都是33,除了输出的conv是11,解反是22步2,我们在隐藏层中使用了ReLU30。
左:
“res5”表示ResNet的第5个阶段,为了简单起见,我们修改了第一个conv,在第一个步骤1(而不是1414/大步2)中,第一个conv。
右:
“4”表示一堆连续4个连续的圆锥。
4.实验:
实例分割
我们对MaskR-CNN和艺术的现状进行了彻底的比较,以及全面的消融术。
我们使用COCO数据集[28]进行所有的实验。
我们报告了标准的COCO度量标准,包括AP(在IoU阈值上的值)、AP50,AP75,andAPS,APM,APL(不同级别的AP)。
除非另有说明,API使用掩码IoU进行评估[5,27]。
和之前的工作一样,我们使用80k的火车图像和一个35k的val图像(trainval35k)的组合来训练,并报告在剩下的5公里的val图像(MINIVAL)上的烧蚀。
我们还报告了测试开发的结果[28],没有公开的标签。
在发布后,我们将按照建议将我们的测试性测试结果上传到公众排行榜上。
图4。
更多的MaskR-CNN在COCO测试图像上,使用ResNet-101-FPN,以5帧的速度运行,有35.7个掩码(表1)。
表1。
例如,在COCO测试开发中,实例分割掩码。
MNC10和FCIS26分别是COCO2015和2016年细分挑战的赢家。
如果没有铃声和口哨声,MaskR-CNN将会比更复杂的FCIS+++更复杂,包括多尺度的火车/测试,水平翻转测试,和OHEM[35]。
所有条目都是单模型结果。
4.1.主要结果
我们比较了MaskR-CNN和表1中最先进的甲基化甲类。
我们的模型的所有实例化都胜过之前最先进的模型的基线变量。
这其中包括MNC[10]和FCIS[26]分别是COCO2015和2016年细分挑战的赢家。
如果没有铃声和口哨声,用ResNet-101-FPN的主链进行屏蔽,就会超过FCIS++26,其中包括多尺度的训练/测试,水平翻转测试,以及在线的硬实例挖掘(OHEM)[35]。
尽管在这项工作的范围之外,我们预计许多这样的改进将适用于我们的工作。
MaskR-CNN输出如图2和图4所显示。
即使在挑战条件下,MaskR-CNN也能取得好成绩。
在图5中,我们比较了我们的MaskR-CNN基线和FCIS++[26]。
FCIS++在重叠的实例上展示了系统的工件,这表明它是由实例分割的基本困难所设计的。
MaskR-CNN没有这样的工件。
4.2.烧蚀实验
我们进行了大量的烧蚀分析来分析MaskR-CNN。
结果如表2所示,下一节将详细讨论。
架构:
表2a展示了带有各种背景的MaskR-CNN。
它得益于更深层次的网络(50对101)和高级设计,包括FPN和ResNeXt3。
我们注意到并不是所有的框架都能自动从更深的或高级的网络中获益(参见[21]中的基准测试)。
多项与独立的掩码:
MaskR-CNN分离掩码和类预测:
:
当现有的box分支预测类标签时,我们为每个类生成一个蒙版,而不需要在类之间进行竞争(通过一个像素的团体-a-b和二进制的损失)。
在表2b中,我们将其与使用每个像素的softmax和多项损失进行比较(如FCN[29]中常用的)。
这一替代方案对蒙版和类预测的任务进行了测试,结果导致了MaskAP(5.5分)的严重损失。
这表明,一旦实例被划分为一个整体(通过box分支),就足以预测一个二进制掩码,而不必考虑类别,这使得模型更容易进行培训。
阶级特定vs类不可知论的Mask:
我们的缺省情况是:
我们的默认情况下,我们有特定的特定的Mask。
每个类都有一个mm个遮罩。
有趣的是,MaskR-CNN与类的不可知的Mask(即:
预测一个单级的输出级的无级输出)几乎同样有效:
它有29.7个掩码和30.3的对应于re斯内-50-c4的类特定的对应。
这进一步突出了我们的劳动分工在很大程度上分离了分类和分类。
ROI对齐:
对我们提议的ROI对齐层的评估显示在表2中。
在这个实验中,我们使用了50-c4的脊梁,它的跨度为16。
ROI对齐在ROIPool上提高了大约3个百分点,其中大部分的收益都来自于高IoU(AP75)。
ROI对齐对max/平均数不敏感;我们在论文的其余部分使用平均值。
此外,我们还比较了MNC[10]所提出的ROI跃迁,并采用双线性抽样法。
正如在3中所讨论的,ROI跃迁仍然量化了ROI,失去了与输入的一致性。
如表2中所显示的,在与ROIPool相同的情况下,在与ROIPool相同的情况下,比ROI对齐要糟糕得多。
这强调了正确的对齐是关键。
我们还用一个50-c5的骨干来评估ROI对齐,它的跨度为32个像素。
我们使用与图3(右)相同的头部,因为res5头部不适用。
表2d显示,ROI对齐使Mask的质量提高了7.3分,并使AP75的Mask增加了10.5个百分点(相对改进的50%)。
此外,我们注意到,使用ROI对齐,使用条纹-32C5特性(30.9AP)比使用条纹-16C4特性(30.3AP,表2c)更有ac-副。
ROI对齐在很大程度上解决了使用大跨步特性检测和分割的长期挑战。
最后,当使用FPN时,ROI对齐显示了1.5个掩码AP和0.5盒AP的增益,它有更好的多级步幅。
对于需要更精细的对齐的键点检测,ROI对齐显示了即使是FPN(表6)的巨大收益。
掩码:
分割是一个像素到像素的任务,我们利用一个FCN来利用Mask的空间布局。
在表2e中,我们比较多层感知机(MLP)和FCNs,使用的是一个50-FPN的主干。
使用FCNs可以得到一个2.1个掩码的AP增益超过了mlp。
我们注意到,我们选择了这个脊梁,使得FCN头的锥层没有经过预先训练,与MLP进行了公平的比较。
表3。
对象检测单模型结果(边界框AP),与测试开发的最先进的技术。
使用resnet-101-FPN的MaskR-CNN比所有以前的最先进的模型(在这些实验中忽略了掩模输出)的基本变体。
MaskR-CNN超过27的增益来自于使用ROI对齐(+1.1APbb),多任务训练(+0.9APbb),以及resnext-101(+1.6APbb)。
4.3.边界框检测结果
我们比较了MaskR-CNN和最先进的可在表3中发现的COCO包装物。
对于这个结果,即使完整的MaskR-CNN模型经过了训练,但是只有分类和框输出被用于推断(掩码输出被忽略)。
MaskR-CNN使用了resnet-101-FPN,它超