PANet论文笔记

论文:Path Aggregation Network for Instance Segmentation.Shu Liu,Lu Qi,Haifang Qin,Jianping Shi,Jiaya Jia. 


摘要

    在NN中让信息自由流动很重要,本文提出了PANet (Path Aggregation Network)用于在proposal-based的实例分割框架中提高了信息流动的能力。具体地说,本文通过自底向上的路径拓展来增强整体的特征层次,从而缩短了底层和顶层之间的信息传播距离。由此,本文提出了自适应特征池化,用于将预测和各特征层级连接起来,使得每个特征层的有用信息直接传播到后面的预测子网络。为了进一步改善mask的预测,本文还增加了一个互补分枝来获得每个proposal的不同视角。PANet获得了COCO2017实例分割比赛的第一名,和目标检测比赛的第二名。代码开源:https://github.com/ShuLiu1993/PANet 


引言

    FPN可以在金字塔特征图上抽取特征,这些金字塔具有自上而下(top-down)的路径来传播语义强特征。在设计图像分类网络或目标检测网络时有一些原则,比如可以通过残差连接和稠密连接(dense connection)来缩短信息流动的路径和让信息流动更容易。使用split-transform-merge策略通过增加并行路径来增加信息通路的灵活性和多样性。

    本文发现Mask R-CNN的信息流动有很大的提升空间,尤其是低层级特征对大型实例的识别很有用,但是从低层级到顶部特征图有很长的传输路径,而这增加了精确获取位置信息的能力。此外,每个预测的proposal基于单个特征图的特征网格池化,但是其它层级的特征也可能包含最终预测的信息。最后,掩码预测在单个视图上进行的,失去了获得更多其它信息的机会。

    由此,本文提出了PANet用于实例分割,具有如下特点:

    第一,为了缩短信息通路和通过低层级精确定位特征来增强特征金字塔能力,PANet创建了一个自底向上(bottom-up)的信息通路。很多模型都利用了低层级特征来提高精度,比如SSD、FCN和很多语义分割方法,但是实例分割上并不多见。

    第二,为了恢复在每个proposal和各个特征层级之间的信息通路,本文提出了自适应特征池化。自适应特征池化是一个在各个特征层级中聚合特征来预测每个proposal的方法,这样避免了随机使用某个特征层级来预测。

    第三,为了捕获每个proposal的不同视角,本文使用一个tiny fc层来提高掩码预测,这与Mask R-CNN里的FCN具有互补性。通过这两个视角的融合预测,使得信息的多样性得到了增加,预测的掩码质量更高了。

    第一、第二点也可以用来提高目标检测的结果。


相关

    实例分割:有两个主流方法:proposal-based和segmentation-based。前者以Mask R-CNN为代表,后者以Instance-aware为代表。

    多层级特征:使用多层级特征进行预测是是一个基本操作,比如FCN、U-Net将低层级信息通过skip-connection与高层级特征进行信息融合。而TDM、FPN通过横向连接创建一个自上而下的通路来进行目标检测。SSD、DSSD、MS-CNN和FPN将proposal分配到某个层的特征图上进行预测。


网络框架

    PANet的架构如下:

图片2.jpg

    如上图所示,PANet使用FPN作为backbone(a),在后面增加了一个bottum-up通路(b),然后通过自适应特征池化(c)得到proposal,后面进行包围框和掩码的预测。

Buttom-up通路:高层次特征响应整个目标,而低层次特征更倾向于响应局部纹理,因此有必要增加一条自上而下的通路来传播语义强特征。而本文的架构通过传播低层次特征的响应来进一步增强整个特征层级的定位能力,这是因为对物体边缘是的响应有助于提高精确定位实例。因此本文通过横向连接构建了一个自底向上的多层级金字塔。Figure 1中的绿色虚线就是一条从输入到最顶层信息通路,这条通路的层数一般少于10,因此可以更好的符合前面提到的短信息通路的原则。

    如下图所示,Buttom-up结构中,更高分辨率的层Ni和层Pi+1通过横向连接生成新的特征图Ni+1。Ni首先通过2 stride的卷积将分辨率降低,然后与Pi+1逐像素相加,将相加的特征再经过3x3卷积得到新的特征图Ni+1。

图片3.jpg

    这个过程迭代进行,所有的特征图通道数为256,每次卷积后接ReLU。

自适应特征池化:在FPN中,每个proposal根据大小被启发式分配到金字塔的某个特征层级中,大的proposal被分配到高特征层级上,而小的proposal被分配到低特征层级上。这种方法过于简单粗暴,可能会将相似的两个proposal分配到不同层级。而且特征的重要性与所属层级可能没那么相关。高层次特征的感受野更大有更丰富的背景信息,小目标获得这些特征可以更好利用背景信息;低层级特征有更精细的特征,大目标获得这些特征可以分割的更加精细。

    因此本文对每个proposal从所有特征层级上提取信息并进行融合,称之为自适应特征池化(adaptive feature pooling)。接下来分析使用自适应特征池化时特征来源的比例。这里使用最大池化来融合来自不同特征层级的信息,这可以让网络选择最有用的信息。然后将proposals根据FPN的方法划分为四组,每组proposal计算特征各个层级的比例,层级1-4表示特征从低到高,结果如下:

图片4.jpg


    可以看到,对于第一个level 1的proposal,其接近70%的特征来自与其它更高的层级;而对于level 4的proposal,超过50%的特征来自低层级。这一观察结果清楚地表明,多层次特征的结合有助于准确预测。

    对于每个proposal,我们将其映射到不同特征层级上,如Figure 1(b)所示,然后与Mask R-CNN一样,使用ROIAlign进行特征池化。接着对池化的各个特征进行融合(最大池化或求和)。如下图所示,池化后的特征各自经过一个fc层,然后进行特征融合,接着再通过一个fc层。

图片5.jpg

全连接融合:全连接(FC)层广泛用于实例分割的预测,而FCN也在Mask R-CNN上被用于预测掩码。这里认为FC层与FCN的预测属性不同,FCN基于局部感受野在每个像素上预测并在不同位置上参数共享,而FC层对位置敏感,因为不同空间位置的预测是通过参数改变实现的。因此这两个方法适用于不同的空间位置,而每个空间位置都使用整个proposal的全局信息。它有助于区分实例和识别属于同一对象的不同部分。考虑到fc和卷积层的性质不同,我们将这两种层的预测进行融合,以获得更好的掩码预测。

    掩码预测的实现如下:

图片6.jpg

    可以看到掩码预测网络由FCN通路和FC通路组成。FCN通路有连续四个卷积层和一个反卷积层组成,每个卷积层的通道数为256,反卷积层进行x2上采样。而FCN通路进行类别无关的预测,更加高效、泛化能力更强。最后将两个通路生成的28x28的掩码进行融合相加。


上一篇:
下一篇:

首页 所有文章 机器人 计算机视觉 自然语言处理 机器学习 编程随笔 关于