一、简述
Mask RCNN是在Faster RCNN上的扩展——在其已有的用于边框识别分支的上添加了一个并行的用于预测目标掩码的分支。(实例分割)
Mask RCNN就是Faster RCNN加上了一个用于像素语义分割的FCN.
二、FCN 全卷积神经网络——开创分割新思路
CNN的强大之处在于它的多层结构能够自动学习特征,并且学习到各个层次的特征。较浅的卷积层感知域较小(感受野),学习到一下局部区域的特征;较深的卷积层具有较大的感知域(感受野),能够学习到更加抽象一些的特征,这些抽象特征包含物体的大小,位置,方向等低敏感性的特征,从而提高识别性能。
FCN用于图像的分割。该网络视图从抽象的特征中恢复出每个像素所属的类别,即从图像级别的分类延伸到像素级别的分类。
FCN原理
FCN将传统的CNN中的全连接层转化成卷积层,输出的是一张已经label好的图片。
在传统的CNN结构中(AlexNet等),前5层是卷积层,第6、7层分别是长度为4096的一维向量,第8层是长度为1000的一维向量,分别对应1000个类别的概率。
FCN则将这3层改为卷积层,卷积核大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(1000,1,1),所有层都是卷积层。
可以发现,经过多次卷积(或pooling)之后,得到的map越来越小,分辨率越来越低,FCN为了保证得到每个像素的类别,使用了上采样的方法(反卷积),使初略map,恢复到原图分辨率。
三、FPN(Feature Pyramid Networks)特征金字塔网络
使用特征金字塔网络来融合多层特征,改进了CNN特征提取能力。
利用固定的多尺度和金字塔形层次结构的网络来构造具有边际额外成本的金字塔网络。开发具有侧向连接的自顶向下的架构。
用于在所有尺度上构建高语义特征图,依靠一种通过自上而下的路径和横向连接,将低分辨率但语义强的特征(上层)与高分辨率语义弱的特征(下层)相结合。有利于小目标的检测。
方式:把高层特征做2倍上采样(最近上采样法),然后将其与前一层特征相结合。前一层特征需要进行1*1卷积改变通道数。
结合的方式是采用像素间的加法。
四、ROI Align
在原来ROI pooling,通过CNN在feature map,对原图边框进行映射时,当映射结果为小数时(通过整图感受野,求比例),将其量化为整数。当经过ROI pooling,分割区域时,求得每个区域仍然为小数,则再一次量化为整数。那么对于整体的结果就出现了偏差,对小目标影响较大。
思路:
取消量化操作,使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转化为连续的操作。
流程:
遍历每个候选区域,保持浮点数边界不做量化,将候选区域分割成k*k的单元,每个单元的边界不做量化,在每个单元中计算固定四点坐标位置,用双线性插值法计算出这四个位置的像素值,然后进行最大池化操作。四点坐标位置是指对每个单元再次分成5个小区域,取这四个区域的中心位置点。
[1] https://blog.youkuaiyun.com/linolzhang/article/details/71774168
[2] https://blog.youkuaiyun.com/whz1861/article/details/78783597