之前介绍了 R-CNN Fast R-CNN Faster R-CNN,这是本系列的第四篇Mask R-CNN
Mask R-CNN是何凯明在Faster R-CNN基础上加入一个新分支,集Object Detection 和 Instance Segmentation于一体的新网络。该网络在进行目标检测的同时完成了高质量的实例分割。
首先我们先来看看实例分割(Instance segmentation)和语义分割(Semantic segmentation)的区别
图中的c和d图,c图是对a图进行语义分割的结果,d图是对a图进行实例分割的结果。两者最大的区别就是图中的"cube对象",在语义分割中给了它们相同的颜色,而在实例分割中却给了不同的颜色。即实例分割需要在语义分割的基础上对同类物体进行更精细的分割。
下面我们就开始介绍Mask R-CNN,首先是Mask R-CNN整体的结构
这张图可能不是很具体,那再看看下面这张图。
和Faster R-CNN整体相似,只是将Faster R-CNN中的RoI Pooling 替换成了RoI Align 并加了一个mask branch。
Mask R-CNN有以下几个贡献:
- 替换卷积backbone
- 引入RoI Align 替换RoI Pooling
- Loss Function
贡献
Resnet + FPN
在Faster R-CNN中提取特征的卷积神经网络使用的是VGG,在Mask R-CNN中为了获得更强的特征表达能力,作者使用了R