Mask R-CNN

原文链接:https://arxiv.org/abs/1703.06870
Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成果。在机器学习2017年的最新发展中,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是集成,复杂,一石多鸟的多任务网络模型。Mask R-CNN就是典型的代表。本篇大作的一作是何凯明,在该篇论文发表的时候,何凯明已经去了FaceBook。

Abstract

我们提出了一个概念上简单,灵活和通用的对象实例分割框架。我们的方法有效地检测图像中的对象,同时为每个实例生成高质量的分割蒙版。这种称为Mask R-CNN的方法通过添加一个用于预测对象掩码的分支来扩展更快的R-CNN,该分支与现有的用于边界框识别的分支并行。掩码R-CNN训练简单,只增加了一小部分开销,以更快的R-CNN,以5fps运行。此外,Mask R-CNN很容易推广到其他任务,例如允许我们在相同的框架中估计人的姿势。我们在COCO全套挑战的所有三个轨道中展示了最佳结果,包括实例分段,边界盒对象检测和人员关键点检测。Mask R-CNN无需花费大量时间就可胜任所有现有的单一模型作品,包括COCO 2016挑战获胜者。我们希望我们简单有效的方法将成为一个坚实的基线,并有助于缓解未来实例级别识别的研究。代码已在:https://github.com/ facebookresearch / Detectron上提供。

1.Introduction

视觉社区在短时间内迅速改进了对象检测和语义分割结果。在很大程度上,这些进步是由强大的基线系统驱动的,例如分别用于对象检测和语义分割的快速/更快RCNN [12,36]和全卷积网络(FCN)[30]框架。这些方法在概念上是直观的,并且具有灵活性和鲁棒性,以及快速训练和推理时间。我们在这项工作中的目标是为实例分割开发一个相对有利的框架。实例分割具有挑战性,因为它需要正确检测图像中的所有对象,同时也精确地分割每个实例。因此,它将经典的目标检测计算机视觉任务的元素进行了组合,其目标是对各个对象进行分类并使用边界框对每个对象进行本地化,然后进行语义分割,其目的是将每个像素分类为固定的一组类别,而不区分对象实例.1鉴于此,人们可能期望需要一个复杂的方法才能取得好的结果。然而,我们表明,一个令人惊讶的简单,灵活和快速的系统可以超越先前的最新实例分割结果。
我们的方法称为Mask R-CNN,可以使R-CNN更快。
figure1
图1.用于实例分段的Mask R-CNN框架。

[36]通过添加一个分支来预测每个感兴趣区域(RoI)上的分割掩模,并与现有分支进行分类和边界框回归(图1)。掩模分支是应用于每个RoI的小FCN,以像素 - 顶像素方式预测分割掩模。由于R-CNN框架更加快速,面罩R-CNN的实施和训练变得非常简单,这有助于广泛的灵活架构设计。另外,掩码分支只会增加一个小的计算开销,从而实现快速系统和快速实验。
原则上,Mask R-CNN是R-CNN的直观扩展,但正确构建掩模分支对于获得好的结果至关重要。最重要的是,更快的RCNN并非针对网络输入和输出之间的像素对像素对齐而设计的。RoIPool [18,12]是参与实例的事实核心操作,为特征提取执行粗略的空间量化,这一点最为明显。为了找到错位,我们提出了一个简单的,无量化的图层,称为RoIAlign,忠实地保留了确切的空间位置。尽管1遵循通用术语,但我们使用对象检测来表示通过边界框而不是掩码进行检测,并使用语义分割来表示每像素分类而不区分实例。但是我们注意到,实例分割既是语义的,也是一种检测形式。
figure2
图2.掩盖COCO测试集上的R-CNN结果。这些结果基于ResNet-101 [19],实现了35.7的掩模AP,并以5 fps运行。面具以彩色显示,还显示了边界框,类别和置信度。

一个看似微小的变化,RoIAlign具有很大的影响:它将掩模精度提高了10%到50%,在更严格的本地化指标下显示出更大的收益。其次,我们发现解耦模板和类别预测至关重要:我们独立预测每个类别的二进制掩码,而不需要在类别间进行竞争,并依靠网络的RoI分类分支来预测类别。相比之下,FCNs通常执行每像素多类别分类,结合分割和分类,并基于我们的实验在分割实例方面效果不佳。
没有花里胡哨之力,Mask R-CNN超越了COCO实例分割任务中所有先前的最新单模型结果[28],其中包括来自2016年竞赛冠军的大量工程项目。作为副产品,我们的方法也擅长COCO物体检测任务。在消融实验中,我们评估了多个基本实例,这使我们能够展示其强大性并分析核心因素的影响。
我们的模型可以在GPU上以每帧200毫秒的速度运行,并且在单个8 GPU计算机上进行COCO培训需要一到两天。我们相信,快速训练和测试速度,以及框架的灵活性和准确性,将会对实例分割的未来研究起到一定的作用。
最后,我们通过COCO关键点数据集上的人体姿态估计任务展示了我们框架的一般性[28]。通过将每个关键点视为一个热门的二进制掩码,只需进行最少的修改Mask R-CNN可用于检测实例特定的姿势。Mask R-CNN超越2016年COCO关键点竞赛的冠军,同时运行速度为5 fps。因此,面膜R-CNN可以更广泛地视为实例级别识别的灵活框架,并且可以很容易地扩展到更复杂的任务。
我们已发布代码以促进未来的研究。

2.Related Work

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

3.Mask R-CNN

掩码R-CNN在概念上是简单的:更快的R-CNN对于每个候选对象具有两个输出,一个类别标签和一个边界框偏移;为此,我们添加一个输出对象掩码的第三个分支。面具R-CNN因此是一个自然而直观的想法。但是额外的掩码输出与类和盒输出不同,需要提取对象的更精细的空间布局。接下来,我们介绍Mask R-CNN的关键元素,包括像素对像素对齐,这是Fast / Faster R-CNN的主要缺失部分。
更快的R-CNN:我们首先回顾一下更快的R-CNN探测器[36]。更快的R-CNN由两个阶段组成。第一阶段称为区域提议网络(RPN),提出候选对象边界框。第二阶段本质上是Fast R-CNN [12],使用每个候选框中的RoIPool提取特征,并执行分类和边界框回归。两个阶段使用的功能可以共享以加快推断速度。我们引用读者[21]对Faster R-CNN和其他框架进行最新,全面的比较。
掩码R-CNN:掩码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都有一个Km2维输出,它编码分辨率为m * m的K个二进制掩码,每个K类一个掩码。为此,我们应用每像素S形,并将Lmask定义为平均二叉交叉熵损失。对于与地面实况类别k相关的RoI,Lmask仅在第k个掩模上定义(其他掩模输出不会造成损失)。
我们对Lmask的定义允许网络为每个班级生成口罩,而不需要在班级间进行竞争;我们依靠专用分类分支来预测用于选择输出掩码的类别标签。这样可以将掩码和类别预测分开。这与将FCN [30]应用于语义分割时的常见做法不同,后者通常使用每像素softmax和多项叉熵损失。在这种情况下,跨班级的面具竞争;在我们的例子中,每像素S形和二进制丢失,他们不。我们通过实验显示这个公式对于良好的实例分割结果是关键的。
figure3

掩码表示法:掩码编码输入对象的空间布局。因此,与通过完全连接(fc)层不可避免地折叠成短输出矢量的类标签或框偏移不同,提取掩模的空间结构可以通过卷积提供的像素到像素对应自然地解决。
具体而言,我们使用FCN预测每个RoI的m * m掩码[30]。这允许掩码分支中的每个层保持显式m * m对象空间布局,而不将其折叠成缺少空间维度的向量表示。与之前采用fc层进行掩模预测的方法不同[33,34,10],我们的完全卷积表示需要更少的参数,并且如实验所证明的那样更精确。
这种像素到像素的行为要求我们的RoI特征(它们本身是小特征图)能够很好地对齐以忠实地保留显式的每像素空间对应关系。这促使我们开发了以下RoAlign图层,该图层在遮罩预测中发挥关键作用。
RoIlign:RoIPool [12]是从每个RoI提取小特征映射(例如7×7)的标准操作。RoIPool首先将浮点数RoI量化为特征映射的离散粒度,然后将这个量化的RoI细分为自身量化的空间仓,最后汇总每个仓所涵盖的特征值(通常通过最大池)。例如,通过计算在连续坐标x上执行量化,其中16是特征映射步长并且是舍入;同样地,当分成分箱(例如,7×7)时执行量化。这些量化引入了RoI和提取的特征之间的错位。虽然这可能不会影响分类,这对于小型翻译很有用,但它对预测像素精确的蒙版有很大的负面影响。
为了解决这个问题,我们提出一个RoIlign层,它可以消除RoIPool的严格量化,正确地将提取的特征与输入对齐。我们提出的改变很简单:我们避免任何RoI边界或分区的量化(即,我们使用x/16而不是|x/16|)。我们使用双线性插值[22]来计算每个RoI bin中四个有规律采样位置的输入特征的精确值,并汇总结果(使用最大值或平均值),详细信息请参见图3。我们注意到,只要未执行量化,结果对精确的采样位置不敏感,或者采样了多少个点。
正如我们在§4.2中所展示的,RoIAlign带来了巨大的改进。我们也比较了[10]中提出的RoIWarp操作。与RoIlign不同,RoIWarp忽略了对齐问题,并在[10]中将RoI与RoIPool一样量化为RoI。所以即使RoIWarp也采用[22]激励的双线性重采样,它可以像RoIPool一样实验(表2c中的更多细节),证明了对齐的关键作用。
网络体系结构:为了演示我们的方法的一般性,我们实例化具有多种体系结构的Mask R-CNN。为了清楚起见,我们区分:(i)用于整个图像上的特征提取的卷积骨干架构,以及(ii)用于边界框识别(分类和回归)的网络头和分别应用于每个RoI的掩模预测。我们用命名网络深度特征来表示骨干架构。我们评估深度为50或101层的ResNet [19]和ResNeXt [45]网络。带ResNets的更快的R-CNN的原始实施。
[19]从第四阶段的最后卷积层提取特征,我们称之为C4。例如,ResNet-50的骨干用ResNet-50-C4表示。这是[19,10,21,39]中常用的选择。
我们还探索了Lin等人最近提出的另一种更有效的骨干。 [27],称为特征金字塔网络(FPN)。FPN使用具有横向连接的自顶向下架构从单一比例输入构建网络内特征金字塔。更快的R-CNN和FPN骨干网根据其规模从不同层次的特征金字塔中提取RoI特征,但其他方法与vanilla ResNet类似。使用ResNet-FPN主干进行MaskNRCNN特征提取,可以提高精度和速度。有关FPN的更多详细信息,请参阅[27]。
对于网络负责人,我们密切关注以前工作中提出的架构,并在其中添加完全卷积掩码预测分支。具体而言,我们从ResNet [19]和FPN [27]论文中扩展了更快的R-CNN盒头。详细情况如图4所示。ResNet-C4主干上包含ResNet的第5级(即9层’res5’[19]),它是计算密集型的。对于FPN,骨干已经包含res5,因此可以使用更少的滤波器来提高效率。我们注意到我们的面具分支有一个简单的结构。更复杂的设计有提高性能的潜力,但不是这项工作的重点。
figure4
图4.头架构:我们扩展了两个现有的更快的RCNN头[19,27]。左/右面板分别显示来自[19]和[27]的ResNet C4和FPN骨干的头部,其中添加了掩膜分支。数字表示空间分辨率和频道。箭头表示可以从上下文推断的conv,deconv或fc图层(conv会保留空间维度,而deconv会增加它)。所有的转换都是3×3,除了输出转换为1×1,解压缩为2×2和步长2,并且我们在隐藏层中使用了ReLU [31]。左:res5表示ResNet的第五阶段,为了简单起见,我们改变了第一阶段的第一阶段,以步幅1(而不是14×14 /步幅2,如[19]中的7×7阶段)操作。右:“×4”表示一连串四次转换。

3.1.Implementation Details

我们在现有的快速/更快的R-CNN工作之后设置超参数[12,36,27]。尽管这些决策是在原始文件中进行对象检测的[12,36,27],但我们发现我们的实例分割系统对它们是强健的。
培训:与Fast R-CNN一样,如果RoI的IoU的地面实况框至少为0.5,则认为是正面的,否则为负面。掩模损失Lmask仅在正向RoI上定义。掩码目标是RoI与其关联的地面实况蒙版之间的交集。
我们采用图像中心训练[12]。调整图像的大小以使其比例(较短的边缘)为800像素[27]。每个微型批次每个GPU有2个图像,每个图像具有N个采样的RoI,比例为1:3的正负极[12]。C4骨架的N为64(如[12,36]),FPN为512(如[27])。我们在8个GPU(有效小批量大小为16)上进行160k次迭代训练,学习率为0.02,在120k迭代时减少10。我们使用0.0001的重量衰减和0.9的动量。使用ResNeXt [45],我们每个GPU训练1个图像,迭代次数相同,初始学习率为0.01。RPN锚点跨越5个尺度和3个纵横比,见[27]。为了方便消融,除非另有说明,否则RPN将单独进行培训并且不会与Mask R-CNN共享特征。对于本文中的每个条目,RPN和Mask R-CNN具有相同的主干,因此它们可共享。
推论:在测试时,C4主干的提案编号为300(如[36]),FPN的提案编号为1000(如[27])。我们对这些提议运行盒子预测分支,然后是非最大抑制[14]。然后将掩码分支应用于得分最高的100个检测框。虽然这与训练中使用的并行计算不同,但它加快了推理速度并提高了准确性(由于使用了更少,更准确的RoI)。掩模分支可以预测每个RoI的K个掩模,但我们只使用第k个掩模,其中k是分类分支预测的类。然后将m×m浮点数掩码输出调整为RoI大小,并在阈值0.5下进行二进制化。
figure5
图5.在COCO测试图像上使用ResNet-101-FPN并以5 fps运行并带有35.7掩模AP(表1)的Mask R-CNN的更多结果。

table1
表1. COCO test-dev上的实例分段掩码AP。跨国公司[10]和FCIS [26]分别是2015年和2016年分类挑战的赢家。没有花里胡哨的,Mask R-CNN胜过了更复杂的FCIS +++,其中包括多尺度训练/测试,水平测试和OHEM [38]。所有条目都是单模型结果。

请注意,由于我们仅计算前100个检测框中的掩码,Mask R-CNN为其较快的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列车图像和val图像的35k子集(trainval35k)的联合,并报告其余5k val图像(微型)上的消融。我们还在测试开发中报告结果[28]。

4.1.Main Results

我们将Mask R-CNN与表1中实例分割中的最新方法进行了比较。我们模型的所有实例都优于先前最先进的模型的基线变体。其中包括MNC [10]和FCIS [26],分别是2015年和2016年分类挑战的获胜者。ResNet-101-FPN骨干网掩码R-CNN的性能优于FCIS +++ [26],其中包括多尺度训练/测试,水平流测试和在线硬示例挖掘(OHEM)[38]。虽然超出了本工作的范围,但我们预计许多此类改进将适用于我们的工作。图2和图5中显示了掩膜R-CNN输出。面具R-CNN即使在具有挑战性的条件下也能取得良好效果。在图6中,我们比较了我们的Mask R-CNN基线和FCIS +++ [26]。FCIS +++在重叠的实例中展现出系统性的人为因素,这表明它受到实例分割根本困难的挑战。掩码R-CNN没有显示这样的文物。
figure6&table2

4.2. Ablation Experiments

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

4.3.Bounding Box Detection Results

我们将Mask R-CNN与表3中的最新COCO包围盒对象检测进行比较。对于这个结果,即使训练完整的Mask R-CNN模型,只有分类和框输出用于推理(掩码输出被忽略)。使用ResNet-101FPN的面罩R-CNN优于以前所有先进模型的基础变体,其中包括COMI 2016检测挑战赛获胜者GRMI [21]的单模型变体。使用ResNeXt-101-FPN,Mask R-CNN进一步改进了结果,与[39](使用Inception-ResNet-v2-TDM)的最佳单一模型条目相比,框AP的余量为3.0分。
作为进一步的比较,我们训练了一个版本的掩模R-CNN,但没有掩模分支,表3中的“Faster R-CNN,RoIlign”表示。由于RoIlign的原因,该模型的性能比[27]中介绍的模型要好。另一方面,比面具R-CNN低0.9个盒子AP。因此掩模R-CNN在盒子检测上的差距仅仅是由于多任务训练的好处。
最后,我们注意到Mask R-CNN在其掩模和盒AP之间获得了一个小间隙:例如,在37.1(掩模,表1)和39.8(框3)之间的2.7个点。这表明我们的方法在很大程度上缩小了对象检测与更具挑战性的实例分割任务之间的差距。

4.4.Timing

推论:我们训练了一个ResNet-101-FPN模型,该模型在R-CNN更快的四步训练之后训练RPN和Mask R-CNN阶段之间的特征[36]。Nvidia Tesla M40 GPU(加上15ms CPU时间,将输出调整为原始分辨率)时,该模型以195ms的速度运行,并实现与非共享模式相同的掩模AP。我们还报告说ResNet-101-C4变体需要400毫秒,因为它有一个较重的盒子头(图4),所以我们不建议在实践中使用C4变体。
尽管掩模R-CNN速度很快,但我们注意到我们的设计并未针对速度进行优化,并且可以实现更好的速度/精度折衷[21],例如,通过改变图像尺寸和提案编号,这超出了本白皮书的范围。
训练:面具R-CNN训练也很快。在COCO trainval35k上使用ResNet-50-FPN进行培训的同步8 GPU实现需要32小时(每16图像微型批次0.72s),使用ResNet-101-FPN需要44小时。实际上,快速原型设计可以在不到一天的时间内在火车上进行训练时完成。我们希望这种快速培训能够消除该领域的一个主要障碍,并鼓励更多的人对这个具有挑战性的话题进行研究。

5. Mask R-CNN for Human Pose Estimation

我们的框架可以很容易地扩展到人体姿态估计。我们将一个关键点的位置建模为一个单独的热掩模,并采用掩模R-CNN预测K个掩模,每个K个关键点类型(例如左肩,右肘)各一个。这项任务有助于展示Mask R-CNN的灵活性。我们注意到,我们的系统利用了人类姿态的最小领域知识,因为实验主要是为了展示Mask R-CNN框架的一般性。我们期望领域知识(例如,建模结构[6])将与我们简单的方法相辅相成。
实施细节:对关键点进行调整时,我们对细分系统进行细微修改。对于实例的每个K关键点,训练目标是一个热点二进制掩码,其中只有一个像素标记为前景。在训练过程中,对于每个可见的地面真值关键点,我们将 -way softmax输出的交叉熵损失最小化(鼓励[6]是2016年竞赛获胜者,使用多尺度测试,CPM后处理[使用两种模型(Inception-ResNet-1)对G-RMI进行COCO加MPII [1](25k图像)的训练,并用目标检测器进行滤波,累加约5个点(在个人通信中加以澄清) v2用于边界框检测,ResNet-101用于关键点)。
figure7
图7.使用Mask R-CNN(ResNet-50-FPN)在COCO测试中的关键点检测结果,以及从相同模型预测的人分割掩码。该模型的关键点AP为63.1,运行速度为5 fps。

单点待检测)。我们注意到,与实例分割一样,K关键点仍然是独立处理的。我们采用ResNet-FPN变体,关键点头结构与图4(右)相似。关键点头由8个3×3 512-d的conv层组成,其后是去卷积层和2倍双线性放大,产生56×56的输出分辨率。我们发现对于关键点级别的定位精度需要相对较高的分辨率输出(与掩模相比)。
模型在所有包含注释关键点的COCO trainval35k图像上进行训练。为减少过度训练,由于训练集较小,我们使用从[640,800]像素中随机采样的图像比例进行训练;推断是在800像素的单一尺度上进行的。我们训练90k迭代,从0.02的学习率开始,在60k和80k迭代时将其减少10。我们使用边界框NMS,阈值为0.5。其他细节与§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中更多关于微型多任务学习的消除。将掩码分支添加到仅包装盒(即更快的R-CNN)或仅有关键点的版本可以持续改进这些任务。但是,添加关键点分支会略微减少盒/掩码AP,这表明虽然多任务训练可以实现关键点检测,但它不会帮助其他任务。不过,联合学习所有三项任务可以使统一系统同时有效地预测所有输出(图7)。我们还调查RoIAlign对关键点检测的影响(表6)。尽管ResNet-50-FPN骨干网有很大的进展(例如,在嵌套层面上有4个像素),但RoIAlign仍然显示出比RoIPool有显着的提高,APkp增加4.4点。这是因为关键点检测对定位精度更敏感。这再次表明,对齐对像素级本地化至关重要,包括掩码和关键点。
table4/5/6

以上。

:转载文章请注明出处,谢谢~