专栏名称: 人工智能头条
专注人工智能技术前沿、实战技巧及大牛心得。
目录
相关文章推荐
宝玉xp  ·  1. ... ·  2 天前  
爱可可-爱生活  ·  【ErikKaum ... ·  2 天前  
量子位  ·  Ilya宣判:预训练即将终结!NeurIPS ... ·  2 天前  
爱可可-爱生活  ·  【FeatureAlignment:提升大型 ... ·  4 天前  
51好读  ›  专栏  ›  人工智能头条

【论文解读】Facebook 何凯明 Mask R-CNN 狙击目标实例分割

人工智能头条  · 公众号  · AI  · 2017-03-29 12:32

正文

导读:自从将卷积神经网络引入了目标检测领域后,从rcnn到fast-rcnn,然后到end-to-end的faster-rcnn,除了yolo一枝独秀外,基本垄断了整个目标检测领域;而何凯明的resnet基本成了整个图像分类算法的巅峰。这一次,他们强强联手准备狙击实例分割(instance segmentation)了。

什么是instance segmentation:简单讲,一群人在图片里面,我希望把每个人都给我分割出来。分类只能做到识别这个图片是人;目标检测只能检测到这个图片里有人,把人的地方框出来,对每一个人这个个体不一样是没有判断的,统一认为是人;而图像分割主要是将人和背景分割出来,而实例分割就是要把每个人清晰的分割出来。


作者:黄玮

来源:全球人工智能 aicapital


  Facebook MaskR-CNN 论文解读  

Facebook人工智能研究小组提出更简单灵活和通用的目标实例分割框架MaskR-CNN,文章提出了一种从概念上更简单、灵活和通用的用于目标实例分割(object instance segmentation)的框架Mask R-CNN,该方法能有效地在每个实例中探测同时出现的目标,并对每个实例生成一个高质量的分割掩码(segmentation mask)。

Mask R-CNN是在 Faster R-CNN 上的扩展——在其已有的用于边界框识别分支上添加了一个并行的用于预测目标掩码的分支。Mask R-CNN的训练很简单,只是在R-CNN的基础增加了少量的计算量,大约为5fps。另外,R-CNN掩码能够更好地适用于其他任务,例如估计同一图片中人物的姿态,本文在COCO挑战中的3种任务(包括实例分割、边界框目标探测、任务关键点检测)种都获得了最好的成绩。在没有适用其他技巧的情况下,Mask R­-CNN的表现超过了现有的单个模型,包括COCO 2016挑战赛的获胜模型。本报道将会简要从提出背景、关键概念、Mask R­-CNN简介以及相关实验结果四个发面进行介绍。

  提出背景  

视觉领域的研究飞速提升了目标探测和语义分割在近年来的成绩。Facebook提出的这一框架将对如Fast/Faster R-CNN和完全卷机网络(FCN)在内的目标探测和语义分割在内的基础框架有重大作用。

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

实例分割工作之所以很难,是因为它要求对同一图像中的多个对象进行精确的探测和分割,这样的工作需要结合经典经算计视觉的目标探测任务(tasks of object detection)中的多个元素,目标探测任务需要将每个个体实例进行分类,并在边界框内进行定位,最后进行语义分割(将每个像素进行分类的工作)。基于以上的描述,你可能觉得实例分割工作需要一个复杂的模型才能达到良好的效果,但是Facebook提出的Mask R-CNN模型却出乎意料地集简洁、灵活和快速于一身,并拥有目前来说最好的表现。

总的来说,Mask R-CNN是基于Faster R-CNN的基于上演进改良而来,FasterR-CNN并不是为了输入输出之间进行像素对齐的目标而设计的,为了弥补这个不足,我们提出了一个简洁非量化的层,名叫RoIAlign,RoIAlign可以保留大致的空间位置,除了这个改进之外,RoIAlign还有一个重大的影响:那就是它能够相对提高10%到50%的掩码精确度(Mask Accuracy),这种改进可以在更严格的定位度量指标下得到更好的度量结果。第二,我们发现分割掩码和类别预测很重要:为此,我们为每个类别分别预测了一个二元掩码。基于以上的改进,我们最后的模型Mask R-CNN的表现超过了之前所有COCO实例分割任务的单个模型,本模型可以在GPU的框架上以200ms的速度运行,在COCO的8-GPU机器上训练需要1到2天的时间,我们认为训练和测试速度、框架的灵活性以及精确性的改进会有益于未来的实例分割工作。

图 2 Mask R-CNN在COCO 测试集合中的结果展示。这些结果基于ResNet101,在 5 fps 的速度下实现了 35.7 的 mask AP。图中以不同的颜色表示不同的掩码,图中也显示了边界框、类别的置信度。

  相关概念解释  

  • R-CNN:基于地区的CNN(Region-based CNN),简称为R-CNN方法,它处理边界框中目标探测工作的原理是将区域理解为多个可管理的潜在实例区域,并评估每个RoI的卷积网络。R-CNN之后被延展到可以适用RoIPool来得到特征地图上的RoIs,这大大提高了框架的速度和精确度。通过使用Region Proposal Network(RPN)来学习注意力工作机制,研究人员得到了更先进的FasterR-CNN框架,Faster R-CNN以其灵活性和鲁棒性的优越性成为目前集中基准的主导框架。

  • 实例分割(Instance Segmentation):基于R-CNN方法的有效性,很多实例分割的研究都是基于对分割方法的建议,目前最新的进步是Li(2016)等人在其论文“Fully convolutional instance-aware semantic segmentation”中提出的“完全卷积实例分割”方法。更详细的分割方法论述请参见原文。

  Mask R-CNN介绍  

Mask R-CNN拥有简洁明了的思想:对于Faster R-CNN来说,对于每个目标对象,它有两个输出,一个是类标签(classlabel),一个是边界框的抵消值(bounding-box offset),在此基础上,Mask R-CNN方法增加了第三个分支的输出:目标掩码。目标掩码与已有的class和box输出的不同在于它需要对目标的空间布局有一个更精细的提取。接下来,我们详细介绍Mask R-CNN的主要元素,包括Fast/Faster R-CNN缺失的像素对齐(pixel-to pixel alignment)。

  Mask R-CNN的工作机理  

Mask R-CNN 使用了与Faster R-CNN相通的两阶段流程,第一阶段叫做RPN(Region Proposal Network),此步骤提出了候选对象边界框。第二阶段本质上就是FastR-CNN,它使用来自候选框架中的RoIPool来提取特征并进行分类和边界框回归,但Mask R-CNN更进一步的是为每个RoI生成了一个二元掩码,我们推荐读者进一步阅读Huang(2016)等人发表的“Speed/accuracy trade-offs for modern convolutional object detectors”论文详细对比Faster R-CNN和其他框架的不同。

掩码将一个对象的空间布局进行了编码,与类标签或框架不同的是,Mast R-CNN可以通过卷积的像素对齐来使用掩码提取空间结构。

ROIAlign:ROIPool是从每个ROI中提取特征图(例如7*7)的标准操作。

网络架构(Network Architecture):为了证明Mast R-CNN的普遍性,我们将Mask R-CNN的多个构架实例化,为了区分不同的架构,文中展示了卷积的主干架构(backbone architecture),该架构用于提取整张图片的特征;头架构(headarchitecture),用于边框识别(分类和回归)以及每个RoI的掩码预测。


图 3 Head框架介绍:我们拓展了两种现有的Faster R-CNN头框架。左/右的图分别展示了He等人(2016)年提出的ResNetC4/Lin等人(2016)年提出的FPN的主干框架,在这两个框架中都加入了掩码的分支。图中的数字代表了空间像素和信道,箭头表示卷积(conv)、去卷积(deconv)或全连接层(fc),具体情况可以实际推断(卷积会保持空间维度,去卷积会增加空间维度)。输出卷积是1x1之外,其他都是3x3,去卷积是2x2,步幅为2.我们再隐藏层中使用了Nair和Hinton(2010)提出的ReLU修正线性单元技术。在左图中,rest5表示ResNet的第五阶段,为了简明起见,我们对架构进行了修改,将第1层卷积层放在一个7x7的RoI上运行,步幅为1(而不是在He等人在“图片认知中的深度剩余学习”研究中使用的14x14/步幅为2);右图中的‘x4’代表了4个连续卷积的堆叠。

  相关实验结果  

实例分割

我们将Mask R-CNN的方法与已有的方法进行了对比,在所有实验中使用了COCO数据集。

图 4在COCO测试图片上使用Mask R-CNN的其他结果,使用了35.7掩码AP,ResNet­-101-FPN,运行速度是5fps。

我们的实验在COCO数据集上进行的测试,标准COCO测度包括AP(IoU阈值的平均值)、AP50、AP75和APs、APM、APL(不同规模的AP),如非特殊注明,AP是通过掩码IoU来估计得到。表1是Mask R-CNN与现有的实例分割方法对比的结果,图2和图4都是Mask R-CNN输出的可视化结果,图5是将Mask R­-CNN基准与FCIS+++对比结果,FCIS+++显示出其会受到实例分割基础性伪影的影响,而Mask R-CNN并不会出现这种情况。

表格 1实例分割结果:表中记录了将Mask R-CNN与其他实例分割方法对比得到的结果。我们的模型表现优于所有同类的模型。MNC和FCIS分别是COCO 2015和2016分割挑战赛的冠军。Mask R-CNN表现优于更复杂的FCIS+++,FCIS+++包括多规模的训练/测试、水平翻转测试和OHEM。所有的都是单模型结果。


图 5 FCIS+++(上)对比Mask R-CNN(下,ResNet-101-FPN),FCIS在重合物体问题上会出现系统性伪影(systematic artifacts)。

研究人员将Mask R-CNN进行了多项测试,结果如下表2所示:

表格 2 Mask R-CNN的Ablations实验结果,模型在trainval35k、minival上测试,并汇报了基于mask AP结果。

  • 表2(a)Backbone架构:更好的backbone能够带来期望的收获:更深入的网络效果更好、FPN表现超过了C4的特征,ResNeXt在ResNet基础上进行了改善。

  • 表2(b)多项式对比独立掩码(ResNet-50-C4)结果:通过每个类的二元掩码(sigmoid)进行的分解Decoupling对比多项式掩码(softmax)有更好的表现。

  • 表2(c)展示了RoIAlign(ResNet-50-C4)的结果:使用不同RoI层的掩码结果。我们的RoIAlign层提高了AP ~3 points,提高了AP75 ~5 points。使用合适的对齐(alignment)方法改善的原因之一。

  • 表2(d)RoIAlign(ResNet-50-C5, stride 32)展示的是基于large-stride特征的掩码水平和框水平的AP。比stride-16特征(如表2c所示),这里出现的对齐失误更严重,因而造成了大量的精确误差。

  • 表2(e)掩码分支(ResNet-50-FPN):完全卷积网络(Fully convolutionalnetworks, FCN)对比多层感知器(MLP,全连接)进行掩码预测。FCNs利用编码空间布局改善了结果。

表格 3目标检测:在test-dev上的单模型(边界框 AP)对比其他模型的结果。使用ResNet-101-FPN的Mask R-CNN结果比其他同类模型(这些模型忽略了掩码输出问题)表现更好,Mask R-CNN的好结果受益于使用了RoIAlign(+1.1 APbb)、多任务训练(+0.9 APbb)和ResNeXt-101(+1.6 APbb)。

图 6在COCO test上使用Mask R-CNN(ResNet-50-FPN)的关键点测试结果,利用相同的模型预测得到了人物分割掩码。此模型有63.1的关键点掩码,运行速度为5 fps。

利用Mask R-CNN也可以延用到人物姿态估计,作者进行了相关实验,表4是实验结果。

表格 4在COCO test-dev上的关键点探测AP,我们用的模型是ResNet-50-FPN,一个单一的模型,运行速度是5fps,CMU-Pose+++是2016年的冠军模型,使用了多层测试和后处理的CPM,利用目标探测过滤,以及累计的~5 points:G-RMI利用COCO plus MPII进行训练,使用了两个模型(Inception-ResNet-v2 + ResNet-101),此模型使用了更多的数据,因此跟Mask R-CNN不能直接比较。

考虑到Mask-CNN模型对于提取约束框、掩码和关键点的有效性,我们期待它是一个对于实例水平任务来说更有效的框架,Mask-CNN可以泛化到更多的实例层(instance level)的识别工作,并可以延展到更复杂的任务。

论文地址:https://arxiv.org/pdf/1703.06870.pdf

论文参考文献: