Mask R-CNN

来源:互联网 发布:怎么查看淘宝会员等级 编辑:程序博客网 时间:2024/06/06 00:03

摘要:

提出了一个概念简单、灵活、通用的对象实例分割检测框架。这种方法能够高效的检测图片中的对象同时在每个实例上产生一个高质量的语义分割,这种方法称为Mask R-CNN,它通过与物体的方框识别平行的添加了一个预测物体mask的分支来扩展Faster R-CNN。 它在faster R-CNN之上只是添加了少量的开销。更多的,Mask R-CNN可以简单用于其他任务,如估计人的姿势。我们在COCO配套的三个挑战项目中都取得了最佳效果,包括实例分割,边界对象检测和人关键点检测。 没有任何技巧, Mask R-CNN在每个项目 胜过所有已经存在的单个输入模型,包括COCO2016的获奖者。 我们希望简单有效的方法将作为一个基础服务通过帮助减轻在实例级别的检测的难度。

1、简介

视觉快速发展得益于基础系统的强大,如Fast/Faster R-CNN 和 全卷积网络(FCN)架构对物体检测和予以分割。本文目标就是开发一个同等能力的实例分割框架。实例分割很有挑战因为需要准确分割图片中的每个物体并准确的分割。因此它融合了经典的计算机视觉任务对象检测,它额目标是分开每一个单独的对象并通过边界框进行定位,而语义分割的目标是将每个像素点划分到一个固定的类别中而不区分实例对象。

Mask R-CNN通过添加一个在每个感兴趣区域(Region of Interest  ROI)进行预测分割语义(segmentation mask)的分支,平行的还有一个已经存在的边界对象检测的分类分支。而这个mask分支是一个小的FCN被用于每一个ROI,来预测一个分割mask以像素到像素的方法。Mask R-CNN在Faster R-cnn框架基础上很容易实现。

本质上,Mask R-cnn是Faster R-CNN的扩展,但是构建mask分支是好结果的关键。最重要的, Faster R-CNN没有设计从输入到输出网络的像素到像素的矫正。很明显在RoIpool来从特征提取中执行粗糙的空间量化。为了修正这个失调, 我们提出了一个简单的量化自由层(quantization free layer)称为ROIAlign, 它忠实的保留了精确的空间位置。尽管是一小点变化,ROIAlign有很大的影响。它提升了mask准确率的10%到50%, 在更严格的本地化标准(stricter localization metrics)表现更好。第二点,我们发现解耦mask和分类预测是必要的,我们对每个类别单独的 预测一个二值的mask,而不是在多个类别中竞争,同时依赖ROI分类分支网络来进行预测类别。 相反, FCN通常耦合了分割和分类,基于我们的实验这样实例分割效果很差。

2、相关工作

Region-based CNN(R-CNN)方法对于边界对象检查是添加可控制的候选对象区域并对每个感兴趣的区域进行卷积估计。它也被扩展为可以添加ROIs在特征图上通过ROIPool,这可以导致更快的速度和更好的准确率。Faster R-CNN改进了这个流程通过使用区域推荐网络(Region Proposal Network RPN)来学习感兴趣的机制。它是灵活鲁棒对于性能提升,同事也是几个benchmarks的排名靠前框架。

由于R-CNN的有效性,很多实例分割的算法都基于跟个推荐。早期的方法【13,15,16,9】借助于bottom-up分割【38,2】. DeepMask【32】和记下来的工作【33,8】学习了推荐候选分割,之后通过Fast R-cnn分类。 在这些方法中,分割在识别之前,这些都减缓降低了准确行。同样,dai【10】提出了一种复杂的多阶段级联的结构用于预测分割推荐从推荐的边界框中,在分类之后。我们的方法基于同时进行mask的预测和label的分类,这更简单灵活。

最近,li【26】合并了语义推荐系统在【8】中和对象检测系统在【11】中得到“全卷积实例分割(FCIS)”。通常的idea在【8,11,26】中是预测一些列的位置敏感输出通道,这是输出通道用于同时给出物体的类别,边框和mask是的系统更快。但是FCIS容易在实例重叠部分产生错误。

3、Mask R-CNN

它在思想上很简单,faster R-CNN对于候选对象有两个输出,一个类别标签,一个方框offset。在这个基础上添加第三个分支输出对象的mask。Mask R-CNN是一个自然本质的想法。但是,添加的mask输出和类别和方框输出不同,需要提取很精细的物体空间轮廓的信息。接下来介绍主要要素,包括像素到像素的修正(alignment),这是Fast/Faster R-CNN主要的missing piece。

Faster R-CNN:先简要回顾一下这个检测起。它包含两个阶段,第一个阶段称为区域推荐网络(Region Proposal Network RPN),提供候选对象边界。第二阶段,这是也它的关键,使用ROIPool从每个候选框中提取特征同事执行分类和边框回归。两个阶段使用的特征可以共享为了更快的推断。【21】有最新的好理解的它和其他框架的比较。

Mask R-CNN:它采用相同的两阶段过程,以及相同第一阶段(RPN),第二阶段,一个平行的预测类别和边框offset, 它也输出一个二值的mask对每个ROI。这与最新的系统想法,那些分类依赖于mask预测【32,10,26】.我们的方法依照了Fast R-CNN的思想,使用边界分类和同时回归(这简化了原始的多阶段管道R-CNN【13】).

形式上,在训练期间,定义了多任务loss在每个ROI , L=Lcls+Lbox+Lmask. 分类损失Lcls和边界框损失Lbox与【12】中定义的相同。而mask分支有一个K m2维度的输出对于每个ROI,这编码K个二进制mask对于m×m的分辨率,每个对应K个类别。对于这个我们采用一个单像素的sigmoid,同事定义Lmask为平均二进制交叉熵loss(averay binary cross-entropy loss)。对于一个ROI相关联的ground-truth类k,Lmask是只定义在第k个mask熵的,其他的对loss不贡献。

定义的Lmask允许网络为每个类产生mask而不会在多个类中竞争。我们依赖奉献于分类的分支来预测类别标签用于选择输出mask。这解耦了mask和分类预测。这不同于普通的使用FCN方法来进行语义分割,FCN是使用每个像素的softmax和多像素交叉熵损失。在这种情况,mask和分类竞争,在我们的实例中,使用每个像素的sigmoid和二进制loss,他们没有竞争。这是好的实例分割结果的关键。

Mask Representation(mask表示):一个mask编码一个输入物体的空间轮廓。那么,不像类别标签和方框offset这些不可避免的通过全链接层进行折叠成小的向量输出,mask抽取的空间结构可以通过卷积提供的像素到像素的关系。

特别的,我们预测一个m×m的mask对于每个ROI使用FCN。这是的mask分支中的每个层维持一个明确的m×m的对象空间轮廓而不会被压缩成向量来表征少量的空间维度。不像以前的方法借助fc层来进行mask预测【32,33,10】,我们全卷积表示需要很少的参数和被实验证明更高的准确性。

这个像素到像素的行为需要我们的ROI特征,它们是小的特征图,来更好的保留准确的空间信息。这是开发RoIAlign层在mask预测扮演重要角色的原因。

ROIAligh:ROIPool是一个标准的操作来从每个RoI中提取一个小的特征图(如7×7). RoIPool首先将浮点值的RoI量化为离散的特征图,这个量化的ROI将会被细化为空间区域,最终这些特征值别每个空间区域聚合(max pooling)。量化的实现是在连续的坐标x被计算为【x/16】,这里16是一个特征图的步长同事【】是最近值。例如,量化表现为划分为7*7.这些量化引入了ROI和特征的误差。然而这不影响分类,它比较鲁棒对于小的转换,它有一个打的负影响在预测像素准确mask。

为了解决这个,提出一个ROIAlign它会消除ROIPool的严格量化,对其输入和特征提取。我们提出的 方法比较简单,避免ROI边界或bins的量化,如使用x/16,使用线性二插值来计算准确的输入特征值在四个简单的位置在每个ROI空间,同事聚合结果,使用max或者average。

ROIALign实现了很大的提升。同时比较了【10】中提出的ROIWarp,不过效果不如ROIAlign。

网络架构:为了证明方法的通用性,我们实例了Mask R-CNN在多种架构上。为了清晰,区分如下,(1)卷积骨干结构用于整个图片的特征提取,(2)网络head用于边界框识别,同时,mask预测用于预测每个ROI

评估了ResNet【19】和ResNeXt【40】网络,深度为50和101.采用ResNet进行特征提取从最终的第4阶段卷积提出,这个骨架ResNet50被定义为ResNet-50-C4,被常用【19,10,21,36】.

我们开发另一个更有效的骨架被Lin【27】提出的,称为Feature Pyramid Network(FPN)。FPN用一个横向连接的top-down架构创建一个单尺度输入的网络内部多特征图塔型的结构。Faster RCNN采用一个FPN架构提出ROI特征从不同级别的特征塔根据他们的尺度。然而,其他的方法是于ResNet相识。使用ResNet-FPN架构用于特征提取使得MASK RCNN提升了准确性和速度。FPN的细节,推荐读【27】

对于网络头(network head)我们遵循了之前工作提出的结构,只是添加了全连接mask预测分支。具体来说,我们扩展了Faster RCNNbox头从ResNet和FPN。

3.1实现细节

设置超参数遵循了以后的fast/fasterR-CNN工作【12,34,27】.虽然这些是用于做物体检测的,但是这个方法对这些参数鲁棒。

training:像Fast R-CNN,一个ROI被认为是正如果IOU和准确box值大于0.5,否则为负。对于mask的loss定义在正的ROIs。mask的目标是ROI和它相关联的准确mask的交叉部分。

我们采用image-centric training【12】.










原创粉丝点击