在faster-rcnn网络上增加了一条与bbox回归和分类平行的结构,检测目标的同时输出目标的分割掩码图,运行效率为5fps,网络结构如下图所示:
掩码分支是一个用于每个RoI的小fcn网络,以pixel-to-pixel的方式预测分割掩码。Faster-RCNN不是设计来pixel-to-pixel的对齐,在特征提取过程中,RoIPool提供的是粗糙空间量化信息。Mask R-CNN提出了RoIAlign用于保存精确的空间信息。
相关工作
RCNN
Faster RCNN
实例分割:DeepMask,FCIS(全卷积实例分割)
Mask-RCNN对每个RoI输出一个二值mask,对每个RoI,损失函数为:
L=Lcls+Lbox+Lmask
。
对每个RoI,mask分支有
Km2
维输出,表示K类的mask。
Lmask
是平均二值交叉熵损失。只有对应泪的mask对
Lmask
有贡献,保证了类间没有竞争。这与FCN不同,FCN使用per-pixel sigmoid和多项式交叉熵损失,mask之间存在竞争。
Mask表示
提取mask的空间结构信息,可以使用卷积层提供的pixel-to-pixel对应关系。对于每个Roi,预测一个m*m的mask。点到点的表示要求RoI特征是小的特征图,与每个像素的空间关系相对应。RoIAlign用来解决这个问题。
RoIAlign
RoIPool是从ROI中提取小特征图的标准方法,ROIPool良好一个浮点表示的ROI来离散化特征图的粒度,量化后的ROI之后划分为空间bins,之后使用最大池化得到最终特征。这种量化导致特征和RoI不能对齐。RoIAlign作了一个小改变:避免对RoI边缘量化,使用双线性插值计算四个采样位置的精确值,最后使用最大池化得到结果。
网络结构
分别使用不同的图像特征提取网络ResNet/FPN,及不同的网络验证,两种结构如下所示:
实验结果
在COCO测试集上的实验结果: