2017:Mask R-CNN - 扩展 Faster R-CNN 以用于像素级分割
背景
何凯明的这篇大作是想像Fast/Faster-RCNN,FCN做为检测任务与分割任务的基础框架那样,将MASK-RCNN做为实例分割的基础框架。
由于既要求检测出图像中的每个物体,又要求分割出每一个实例,这里有可能一类物体同时出现多个实例,这样就会使问题的难度增加,因此实例分割是一项非常有挑战性的任务。
本文的方法是在Faster R-CNN的基础上,增加一个预测分支,这个分支主要是在RoI上进行分割任务。与原来的分类与bounding box的回归任务平行。
掩码分支是一个小的FCN,对每一个ROI生成一个像素级别的掩码。
在给定Faster R-CNN的架构后,MASK-RCNN的实施训练非常简单,而且适用于很多灵活的架构。
另外这个掩码分支计算代价很小,保证了系统的实时性。
重要的一点Faster R-CNN不是像素到像素的网络结构,有力的证据就是ROI pool的时候,特征提取的空间量化比较粗糙。为了弥补这个缺陷,本文提出一种简单不必量化的层,RoIAlign,能够很好的保持空间位置信息。
虽然看起来改变很小,但是RoIAlign的作用确是巨大的:它提升了mask的准确率10%-50%,在严格的定位方面具有更大的优势;第二,本文发现将分类与分割分开是很有必要的。
本文给每一个类别预测一个二值的掩码,基于ROI分类的分支来预测所属类别。形成对比的是FCN,通常解决像素级别的多类分割任务,但是在实例分割中表现却一般。
Mask R-CNN介绍
在原有Faster R-CNN的基础上增加掩码预测分支,如下图所示:
目标掩码与已有的class和box输出的不同在于它需要对目标的空间布局有一个更精细的提取。
因为原有的Faster R-CNN架构缺少精细的像素对齐,故此Mask R-CNN进行了一定程度的弥补。