《PANet:Path Aggregation Network for Instance Segmentation》论文笔记

代码地址:PANet

1. 概述

导读:这篇论文是港中文大学与腾讯优图实验室联合发表的论文,其中提出神经网络中信息的传输是很重要的,由此提出了PANet的网络模型,增加了Bottom-up的金字塔特征,提取所有特征层信息的自适应池化层,在mask分支通过二值分类优化分割性能。该网络在COCO2017实例分割中取得第一名,目标检测第二名的成绩。

作者首先在前人工作基础上提出了两个疑问:
特征路径的问题:
低等级的特征能帮助识别大目标,但是低等级的特征信息需要走过较长的路径才能到达最高等级的特征层,这就是使得利用低等级的特征实现更高精度的定位变得困难。

特征池化操作中的问题:
在之前的工作中候选检测框的预测都是在一个特征层上进行的,这样其它层的信息就被抛弃掉了,失去了获得更多多样信息的机会。

在这篇文章中提出了PANet的网络结构,文章的主要贡献可以归结为如下几点:

  • 1)在该网络结构中为了缩短对低层级特征的采集距离与使用低层级增强特征金字塔的定位准确度,由下至上特征传播路径被提出,见图1中(b)部分。
  • 2)为了修复每个proposal与所有特征图之前的信息中断(FPN按照目标大小分配特征层),文章提出了自适应的特征池化操作,它为每个proposal整合所有特征层的信息;
  • 3)为了捕捉每个proposal的不同视图,使用微小的全连接(fc)层来增强掩模预测,这些层具有与FCN互补的特性,最初是在Mask R-CNN中使用的;

2. 网络设计

PANet的网络结构如下图所示,很明显可以看到有一个由下而上的金字塔结构,之后融合的特征再进行检测框分类与回归、实例分割。
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记

2.1 由下至上的路径增广

FPN中top-down思想:一般来说高层级的特征层对整图全部目标具有较高响应,而其它低层级的特征对局部的纹理等特征具有更好的表达,这样就可以使用top-down的方式将高层级的特征与低层级的特征混合,从而提高FPN中所有具有合理分类能力的特征。而在这篇文章中作者使用bottom-up的思想进一步融合特征,使得高层级特征获得低层级特征的路径变短。

这里设计的bottom-up的特征连接结构如图2所示,特征PP是FPN网络产生的特征层,特征NN是论文bottom-up产生的特征,特征的尺度缩减是通过kernel=33,stride=2kernel=3*3,stride=2的卷积层实现的,之后融合的特征通过一个kernel=33kernel=3*3的卷积层生成特征层NN。其中特别的P2,N2P2,N2是简单拷贝的,并没有做任何其它操作。这里涉及到的卷积层channel都是256的,并且之后跟了一个ReLU**层。之后每个proposal进行pooling的时候都会取用特征层NN的所有特征。
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记

2.2 自适应特征池化

在FPN网络中会按照每个proposal的尺寸将其分配到不同的特征层上进行特征池化,文中说这样的方法带来的结果可能不是最优的,例如,两个很接近的proposal因为10个像素的差距而被分配到了不同的特征层级。而且分配的特征层对该proposal可能并不是最适合的。

在此基础上文章提出了自适应池化操作,就是在每个特征层NN上面进行采样,并取这些不同特征层的最大值作为最后的结果。下面的图3展示了,按照FPN方法被分类的proposal在文章的自适应池化之后在各层级的分布情况, 由此可以看出FPN中的proposal分类方式并不是最优的
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记
在RoIPooling之后需要对对于这些特征进行融合,这些特征在融合之前首先经过一层全连接层,之后再融合回归检测框与类别,具体见图6所示:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记

2.3 全连接融合

作者在Mask RCNN的mask分支的基础上添加一个FC全连接层,是针对原有的分割支路(FCN)引入一个前背景二分类的全连接支路,通过融合这两条支路的输出得到更加精确的分割结果。其结构如下图所示:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记
上图的结构在原来的mask支路(图4上面那条支路,也就是传统的FCN结构)上增加了Figure4下面那条支路做融合。增加的这条支路包含2个333*3的卷积层(其中第二个为了降低计算量还将通道缩减为原来的一半),然后接一个全连接层,再经过reshape操作得到维度和上面支路相同的前背景mask,也就是说下面这条支路做的是前景和背景的二分类,因此输出维度类似文中说到的2828128*28*1。上面这条支路,也就是传统的FCN结构将输出针对每个类别的二分类mask,因此输出的通道就是类别的数量,输出维度类似2828K28*28*KKK表示类别数。最终,这两条支路的输出mask做融合得到最终的结果。因此可以看出这里增加了关于每个像素点的前背景分类支路,通过融合这部分特征得到更加精确的分割结果。

3. 实验结果

3.1 网络的性能

分割性能比较:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记
检测性能比较:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记

3.2 各模块重要性分析

《PANet:Path Aggregation Network for Instance Segmentation》论文笔记
自适应池化特征融合时的消融实验:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记
分割中的全连接分支消融实验:
《PANet:Path Aggregation Network for Instance Segmentation》论文笔记