目标检测模型Mask R-CNN
简介
Mask R-CNN由Faster R-CNN拓展而来,可以同时在一个网络中做目标检测和实例分割,特征提取采用ResNet-FPN的架构,另外多加了一个Mask预测分支,并引入了RoI Align代替Faster RCNN中的RoI Pooling。
特点:Mask预测分支
我们知道在Faster R-CNN中,对于每个ROI(文中叫candidate object)主要有两个输出,
一个输出是分类结果,也就是预测框的标签;
一个输出是回归结果,也就是预测框的坐标offset。
而Mask R-CNN则是添加了第三个输出:object mask,也就说对每个ROI都输出一个mask,该支路是通过FCN网络(如上图中的两个卷积层)来实现的。以上这三个输出支路相互之间都是平行关系,相比其他先分割再分类的实例分割算法相比,这种平行设计不仅简单而且高效。
特点:RoIAlign
RoIPool的目的是从RPN(区域候选网络)确定的ROI中导出较小的特征图(eg 7x7),ROI的大小各不相同,但是RoIPool后都变成了7x7大小。RPN网络会提出若干RoI的坐标以[x,y,w,h]表示,然后输入RoI Pooling,输出7x7大小的特征图供分类和定位使用。
问题就出在RoI Pooling的输出大小是7x7上,如果RON网络输出的RoI大小是8*8的,那么无法保证输入像素和输出像素是一一对应,首先他们包含的信息量不同(有的是1对1,有的是1对2),其次他们的坐标无法和输入对应起来。这对分类没什么影响,但是对分割却影响很大。RoIAlign的输出坐标使用插值算法得到,不再是简单的量化;每个grid中的值也不再使用max,同样使用差值算法。
优点
精准:识别精度高,分割准确
高效:掩码层只给整个系统增加一小部分计算量,运行速度很快
泛化性强:使用FasterRCNN的架构,可以兼容泛化到其他任务上
适用领域
广泛应用于目标检测、实例分割等领域。
在COCO比赛目标检测(object detection)、实例分割(instance segmentation)和行人关键点检测(person keypoint detection)任务上获得第一名
预训练模型
参考文献
@article{He_2017,
title={Mask R-CNN},
journal={2017 IEEE International Conference on Computer Vision (ICCV)},
publisher={IEEE},
author={He, Kaiming and Gkioxari, Georgia and Dollar, Piotr and Girshick, Ross},
year={2017},
month={Oct}
}