本文主要用于介绍Kaiming He, rbg等大神于2017年提出的Mask R-CNN网络,该网络架构是在其前作Fast R-CNN上的升级改进版可以用于实例分割。本笔记主要为自我温习回顾,以备后用。
论文链接: github主页: rbg大神个人主页: 恺明大神的演讲视频:
为更好的理解该论文,建议先行阅读Faster R-CNN网络的相关论文,这里也附上本菇之前写的1篇论文笔记供大家参考~ Faster R-CNN理解
基本目录如下:
------------------第一菇 - 摘要------------------
我们从概念上提出了一种简单,易变和通用的框架用于目标实例分割。我们的方法能够高效的在一张图片中检测出物体同时对于该物体生成高质量的分割蒙版(segmentation mask),我们称此方法为,“Mask R-CNN”,其本质也是由Faster R-CNN衍化而来的,就是在Faster R-CNN后面多加了一个分支用于预测目标的蒙版,跟预测目标的识别和位置的分支是平行的。Mask R-CNN也易于去训练,仅仅只比Faster R-CNN慢一点,运行效率达到5fps。另外,Mask R-CNN也能够十分简单的被转移去训练其他的任务,比如去预测人体的姿态关键点。我们在COCO数据集上运用该模型训练了多个任务,包括实例分割,目标框预测和人体关键点检测,均取得不错的成绩。我们希望Mask R-CNN能够成为业界新的标杆,并能被广泛运用于新领域的研究。
------------------第二菇 - 核心思想------------------
整体架构十分容易理解,就是在RPN之后新添了一个分支用于预测mask的。网上其他的讲解资料也很多,这里我只记录一下Mask R-CNN中的重点,RoIAlign。不过我们还是先来温习一下,什么是RoIPool的实现原理。
为了搞明白原理,我们先问一个问题,为什么需要RoIPool? 原因就是经过RPN生成的候选区域大小不一样,无法直接连接全连接层进行后续的分类及定位处理,因此需要RoIPool层将其转为固定维度大小的特征。当然这是很明确的一个原因,不过还有一个潜在的原因可以理解为特征的二次提取。因为在RPN中,特征只被共享卷积层提取过一次,而为了提升后续的定位及分类准确率,对于每一个候选区域进一步提取特征也是符合逻辑的,贴一张示意图,方便理解,
原理很简单,我们再来看具体的细节处理,会产生的像素偏差。
第一个就是从输入图上的RoI到特征图上的RoI Feature,
假如现在我们输入了一张 的图像,图像中有2个目标(狗和猫),其中狗的识别框为 ,经过VGG16网络后,图像得到对应的feature map为 (5次池化操作),而对应的狗的识别框就变为 了,因此这里就会有一个误差,于是这里就有了第一个量化操作,即取整,使其结果变为 ,如下所示(右图中未能重叠的部分就是误差了~)
第二个误差就是将每个特征转化为固定大小维度的时候所产生的。比如现在要将 的特征映射到 上,对应的大小就是 了,因此同上这里又会有一个误差,于是就有了第二个量化操作,也是取整。即原先由 大小生成的值,现在只由 的大小生成了~虽然看起来这是一个很小很小的误差,但是要知道,这时候我们的感受野已经是32倍了,相当于原图 的像素差了~
这里也贴一张网上流行的RoIPool的示意图,帮助理解,
因此以上两种取整的量化操作,对于分类问题来说可能影响不大,但是对于实例分割这种像素级别的,细微的像素误差可能就会导致最终结果的崩坏。因此,本文才会提出了RoIAlign,其主要目的就是为了消除这种误差的。
简单来讲,RoIAlign的作用就是用双线性插值的办法取代了之前的取整操作,从而使得每个RoI取得的特征能更好的对齐原图上的RoI区域。具体来讲,双线性插值是一种比较理想的图像缩放算法,他通过拟合一个虚拟的点(该点的值由其周围4个确定点的像素值决定),从而将那些浮点数的点的值给表达出来,如下图所示,
作者同时也强调了一件事情,即,
We note that the results are not sensitive to the exact sampling locations, or how many points are sampled, as long as no quantization is performed.
也就是说该方法对采样点的个数和位置并不是十分敏感在意的~而且采用了这种方法以后,准确率有了很大的提升~!
至此,整一个新的RoIAlign层的作用及原理算是讲明白了。
剩下的网络架构类的,实现细节等不再多记录了。
------------------第三菇 - 总结------------------
本文主要是记录了Mask R-CNN中的一个创新难点,ROIAlign的作用及实现方法,其他有关Mask R-CNN的相信不难理解。
参考文献: 【1】