实例分割论文-PANet

论文提出了PANet,在Mask R-CNN的基础上进一步聚合底层和高层特征。具体的说,FPN提供了从上到下的特征路径,论文又增加了一个从下到上的增强路径。对于ROIAlign在多个特征层次上采样候选区域对应的特征网格,通过自适应特征池化做融合操作用于后续预测。

PANet

Path Aggregation Network for Instance Segmentation

收录:CVPR2018(IEEE Conference on Computer Vision and Pattern Recognition)

相关: COCO2017/CityScapes instance segmentation 第一

原文地址:PANet

代码:


Abstract

论文提出了Path Aggregation Network(PANet),旨在提升基于侯选区域的实例分割框架内的信息流传播。具体来讲,通过自下向上(bottom-up)的路径增强在较低层(lower layer)中准确的定位信息流,建立底层特征和高层特征之间的信息路径,从而增强整个特征层次架构。

论文提出自适应特征池化(adaptive feature pooling),连接特征网格(feature grid)和所有特征层次(image level),让每个特征层次的有用信息直接传播到后续的候选区域子网络。另外创建了一个分支用于捕获各个候选区域的不同识图,进一步提升mask预测。

PANet获得COCO2017实例分割第一,目标检测第二。在MVD和CityScapes上达到state-of-the-art水准。


Introduction

实例分割目的是确定图片中存在的兴趣目标位置和类别。这项技术对于自动驾驶、机器人很有用。基于CNN的系统在实例分割任务上的表现持续上升,例如基于Faster R-CNN的Mask R-CNN,为了达到高性能,使用FPN做主干提取网络内部特征结构,使用具有侧向连接的从上到下(top-down)的路径增加强语义特征的流动。

最近一些新发布的数据集为算法提升提供了很大的提升空间。COCO包含了20万张图片,每张图中存在多个空间排布复杂的实例目标。CityScapes和MVD提供的城市街道图片中有大量的交通参与者。这些数据集中包括一些模糊、高度重叠和极小的目标。

图像分类任务中设计网络的几个原理同样对目标检测也有效,例如Dense连接和Residual连接可以简化信息传递路径。通过在split-transform-merge策略(ResNeXt)后创建平行路径可增加信息路径的灵活性和多样性。

Our Findings

论文认为在Mask R-CNN中信息流动可以进一步提升。具体来说,low-layer feature有助于识别大型目标,但低层(low-level)feature到高层(high level)feature的路径太长,这增加了定位信息流动的难度

进一步来讲,每个候选区域都是源于一个特征层次上的特征网络池化的,这样的分配是启发式的。这个过程可以进一步提升,因为其他没有使用的特征层次信息可能有助于最终预测,原先mask的预测是在单个视图上,这失去收集不同信息的机会。

Our Contributions

论文提出了PANet,结构如下图所示:

mark

主要贡献如下:

  • 创建自下而上(bottom-up)的增强路径(图 b绿色虚线)。用于缩短信息路径,利用low-level 特征中存储的精确定位信号,提升特征金字塔架构

  • 创建了自适应特征池化(Adaptive feature pooling)(图 c)。用于恢复每个候选区域和所有特征层次之间被破坏的信息路径,聚合每个特征层次上的每个候选区域,避免任意分配的结果。

  • 使用一个小型fc层用于补充mask预测,这能够捕获每个候选区域不同视图,这个fc层与Mask R-CNN原始的FCN有互补作用。通过融合两个识图,信息的多样性会增加,预测的mask效果更好

模型的前两个组件是目标检测和实例分割共享的,这大大提高了两个任务的性能。

Experimental Results

PANet在多个数据集上达到了state-of-the-art。以ResNet50为基础网络的PANet,在COCO16的目标检测和实例分割双任务上超过了冠军表现,这还只是测试单尺度的性能。PANet在COCO2017的实例分割上获得第一,在目标检测任务上获得第二。在CityScapes和MVD都表现出一流的结果。


Related Work

Instance Segmentation

对于实例分割有两个主流方法:

  • 基于候选区域:这样的方法和目标检测有很强的联系。R-CNN中候选区域使用Selective Search方法提取,送到模型中提取特征用于分类。Fast/Faster R-CNN 和SPPNet通过池化全局特征映射加速处理过程。也有工作是在网络中生成实例mask作为候选区域或最终结果。Mask R-CNN也是基于侯选区域的,本文以Mask R-CNN为基础从几个不同方向上做了改进。

  • 基于分割:这样的方法是学习特定的设计转换或实例边界。实例mask是从预测转换上解码出来的。DIN的工作是融合物体检测和语义分割系统。也有使用图模型来推断实例顺序。

Multi-level Features

来自不同的层的feature可用于图像识别。 SharpMask、LRR融合feature用于精细分割;FCN、U-Net通过skip-connection 融合来自low-layer的信息;TDM、FPN通过侧向连接增加了从上到下的路径用于目标检测,TDM是将最高分辨率feature融入到池化feature中,与TDM不同的是,SDD、MS-CNN、FPN将候选区域分配到合适的特征层次用于推断。论文采用FCN为基准并大幅度增强它。

ION、Hypernet串接了不同层的特征网络用于预测,相比于这一系列的操作(例如,标准化、串接、降维等为了获取可用feature),论文的方案简单了很多。

也有为了每个候选区域,融合来自不同源的特征网格。但是这个方法在不同尺度的输入上提取了feature,然后将特征融合(通过最大池化)用于改善来自输入图片金字塔的特征选择。论文使用的是在网络内部特征结构下的所有特征层次的信息,且是单尺度输入并支持end2end训练。

Larger Context Region

有的方法池化每个候选区域的foveal结构的feature,用于开发不同分辨率区域下的上下文信息。大型区域的池化feature
提供周围的上下文信息。PSPNet、ParseNet在语义分割上使用全局池化大幅度提升性能。论文让mask预测分支同样支持获取全局信息,但是技术完全不同。


Framework

PANet的框架如下所示:

mark

自下而上的路径用于增强low-layer的信息传播。设计了自适应特征池化允许每个候选区域可以获取所有特征层次的信息用于预测。论文添加了一个互补分支用于预测mask。

Bottom-up Path Augmentation

Motivation

介绍一个见解很深的观点:高层的神经元对应整个目标的响应,其他的神经元更可能是被局部纹理所激活。这表明需要增强从上而下的传播强语义feature。

模型通过传播low-level响应,进一步提升整个feature结构的定位能力。这是基于如下事实的:对于边界和实例的高级响应是精准定位实例的强力指向标。因此,论文从low level到high level构建一个清晰的侧向连接路径。这样的“短连接”(图中绿色虚线)包含的层10个都不到。相比之下,FPN的长路径路线(红色虚线)超过了100多层。新的增强路径让底层信息流通更快

Augmented Bottom-up Structure

论文遵循FPN的定义,产生相同尺寸大小的feature的层处于网络的同一阶段。每个特征层次(feature level)对应一个阶段。以ResNet作为基础结构,使用$ {P_2,P_3,P_4,P_5 }$表示FPN生成对应的特征层次。增强路径从$P_2$逐渐接近$P_5$,如图(b)部分所示:

mark

从$P_2$到$P_5$,空间尺度大小每层次做2倍下采样。使用${ N_2,N_3,N_4,N_5}$对应表示$ {P_2,P_3,P_4,P_5 }$生成的feature map,注意$N_2$就是$P_2$,没有做任何处理。

可以看到每个构建块通过侧向连接将较高分辨率的$N_i$和模糊的$P_{i+1}$连接到一起,生成新的特征图$N_{i+1}$,如图所示:

mark

具体的连接操作如下:

  • 每个特征图$N_i$先经过步长为2的$3×3$卷积,减少空间尺寸
  • 特征图$P_{i+1}$的每个元素和下采样的特征图通过侧向连接做相加
  • 再过一个$3×3$的卷积生成$N_{i+1}$

所有的特征图都使用256通道,所有卷积后接ReLU。每个候选区域的特征网络是从新生成的${ N_2,N_3,N_4,N_5}$上池化生成的

Adaptive Feature Pooling

Motivation

在FPN中,依据候选区域的大小将候选区域分配到不同特征层次。这样小的候选区域分配到low-level,大的候选区域分配到high-level,这虽然简单但却很有效,但这可能会产生非最优结果。例如两个具有10个像素差的候选区域可能分配到不同特征层次,实际上,这两个候选区域非常相似。

进一步,特征的重要性可能与他们所属的特征层次没有太大关系。

  • High-level特征具有大的接受野并捕获了丰富的上下文信息。允许小型候选区域获取这些特征更好的使用上下文信息做预测。

  • low-level特征具有许多微小细节和高定位精度。这允许大型侯选区域获取这些特征,这显然是有益的。

也就是说,无论是high还是low的feature都有用。有了这样的想法,对于每个候选区域,我们提出了池化来自所有层次的特征,然后融合它们做预测,这称之为adaptive feature pooling(自适应特征池化).

我们分析adaptive feature pooling中,来自不同层次的特征池化的因子。我们使用最大池化操作融合不同层次特征,这允许网络逐元素选择有用信息。依据FPN中将信息分配的层次,我们将候选区域聚类成四类。对于每组候选区域,我们计算来自不同层次的特征比例。 level1-4表示从low-high的特征,如下图:

mark

蓝线表示原先FPN将小型候选区域分配给level1,令人惊讶的是有近70%的特征来源于其他高层feature。黄线表示FPN中将大型候选区域分配给level4,有50%的feature从都是从其他低级层次来的。这可以清楚的看到,特征来自多个层次有助于提高精度,这也是对设计自下而上增强路径强有力的支持。

Adaptive Feature Pooling Structure:

Adaptive Feature Pooling实际上非常容易实现,如下图(c)所示:

mark

具体来说:

  • 对于每个候选区域,我们将其映射到不同特征层次,如图(b)深灰色区域
  • 使用ROIAlign池化来自不同层次的特征网格
  • 再使用融合操作(逐像素SUM或ADD)融合不同层次的特征网格

在随后的网络中,池化后的特征网格经过一个独立的参数层,然后再接融合操作,让网络适应特征。

候选区域对应融合后的特征网格用于的进一步预测,即分类、框回归和mask预测,下图是自适应特征池化的详细示意图:

mark

注意到融合操作处于fc1fc2之间, 融合操作的位置在实验部分是有探究的。

Fully-connected Fusion

Motivation

全连接层和MLP广泛应用于实例分割中,用于预测mask和生成mask候选区域。有工作显示FCN同样也能够预测逐像素的mask。 Mask R-CNN使用了一个小型的FCN应用于池化后特征网格用于预测对于的mask。

fc层与FCN相比具有不同的属性:

  • FCN给出了像素级预测,这是基于局部接受野和共享的核参数。
  • 与此相反,fc层是位置敏感的,因为对于不同空间位置的预测都是通过一组可变参数实现的。故认为fc具有适应不同空间位置的能力。同时fc对于每个空间位置预测是基于整个候选区域的全局信息,这对于区分不同实例和识别属于同一对象的分离部分很有效。

考虑到fc和卷积层之间的不同特性,论文是将这两种层的预测结果融合以达到更好的预测。

Mask Prediction Structure

负责预测mask的组件是一个轻量级、易实现的分支,mask分支的输入是每个候选区域融合后的池化特征网格,如下图:

mark

具体来说:

  • 主分支是4个连续的卷积层和一个deconv,每个卷积层核大小为$3×3$通道为256个,后面再接一个上采样2倍的deconv。这是用于预测每个类别mask的二进制像素值。

  • 使用一个短路径从$conv3$连接到fc层,中间过两个卷积层conv4_fc,conv5_fcconv5_fc卷积层通道数减半以减少计算量。

  • mask大小设置为$28×28$。fc层产生$784×1×1$的向量,故reshape成和FCN预测的mask同样的空间尺寸。再和FCN的输出相加得到最终预测。

fc用于预测类不可知的背景/前景 mask,这不仅效率高,而且允许更多样本训练fc层的参数,是的泛化能力更强。只使用一个fc层的原因是防止隐藏的空间特征坍塌成短特征向量问题,这会丢失空间信息。


Experiment

论文在COCO、CityScapes、MVD数据集上与其他先进模型做对比,结果都很好。论文在COCO数据集上也对模型做了全方面的ablation study实验。 用于对比的Mask R-CNN和FPN是基于Caffe复现的。

在实验中使用的所有的预训练模型都是公开可用的,采用图像中心训练,对于每张图片,选取512个ROI,正负样本比例1:3。权重衰减为0.0001,动量为0.9。候选区域来自独立的RPN,目标检测/实例分割的网络主干不共享。采用常用的评价指标,例如$AP,AP_{50},AP_{75},AP_{S},AP_{M},AP_{L}$,后面三项用于衡量不同尺度物体对象。

Experiments on COCO

Hyper-parameters: 训练是一个batch包含16张图片,图片大小为800x1000。对于实例分割,使用0.02学习率迭代120k,使用0.002迭代40k。对于目标检测,使用0.02学习率迭代60k,使用0.002迭代20k。

Instance Segmentation Results

结果如下表所示:

mark

以ResNet50为主干的PANet使用多尺度训练,单尺度测试的结果在COCO2016上超过了Mask R-CNN(使用ResNet101为主干,多种训练测试技巧)。

Object Detection Results

对于目标的边框检测结果如下所示:

mark

可以看到使用单尺度训练,单尺度测试的基于ResNet50的PANet比其他模型效果都要出色,尽管其他模型有着更深的ResNet101或更多的训练技巧。

Component Ablation Studies

首先,分析各个模型中各个组件的重要性,除了自下而上的增强通道(bottom-up path augmentation)、自适应特征池化(adaptive feature pooling)和FC融合(fully-connected fusion),论文同样分析了多尺度训练(multi-scale training),多GPU同步BN(multi-GPU synchronized batch normalization)和heavier head.

  • 对于多尺度训练,设置长边为1400,其他的在400-1400之间。
  • 对于多GPU同步BN, 在一个batch前计算所有样本的均值和方差,一起更新,而不是batch里面一张一张更新。
  • heavier head,使用4个连续的$3×3$卷积共享box分类和box回归,而不是使用fc层。

ResNet50作为网络的初始模块。结果如下:

mark

  • Re-implemented Baseline: 复现了Mask R-CNN的表现,论文的模型效果更好。

  • Multi-scale Training & Multi-GPU Sync. BN:这两个技术帮助网络收敛的更好,泛化能力更强。

  • Bottom-up Path Augmentation: 无论是否使用自适应池化卷积。自下而上增强路径提高了预测mask的表现。这验证了低层特征信息的有效性。
  • Adaptive Feature Pooling:无论是否使用自下而上的增强路径。自适应池化滤波都不断提升性能。其他层的特征对最终预测是有用的。
  • Fully-connected Fusion:全连接融合目的是提高mask预测的质量。这对于所有尺度都适用。
  • Heavier Head: 对于bbox训练非常有效,对于mask预测效果一般。

Ablation Studies on Adaptive Feature Pooling

论文进一步探究自适应特征池化操作的的放置位置。fu.fc1fc2表示将融合操作放在ROIAlign和fc1之间,fc1fu.fc2表示将融合操作放在fc1fc2之间,实现结果如下:

mark

类似的设置也用于测试mask预测分支中的融合操作。论文还测试了MAX和SUN这两个特征融合操作。由表可知自适应特征池化对融合操作不是很敏感,但是,允许参数使用来自不同层次的特征网格非常重要。最终模型使用MAX的融合操作,放置于第一个参数层后。

Ablation Studies on Fully-connected Fusion

论文进一步测试了以不同方式去增强fc层。从两方面考虑:

  • 一个是fc分支的起始点,论文测试了从conv2,conv3,conv4创建路径。
  • 另一个是fc分支和FCN的融合操作,使用PROD,SUM,MAX做融合操作。

使用复现的Mask R-CNN配合自下向上的增强路径和自适应特征池化为基准,测试结果如下:

mark

可以看到从conv3开始做SUM操作融合效果是最好的。

COCO 2017 Challenge

PANet的COCO2017上的表现,如下表所示:

实例分割:

mark

目标检测上:

mark

可以看到PANet在没有大规模训练的情况下达到了顶尖水平。同时论文也在PANet中添加了一些细节实验,采用了DCN,各种测试技巧,使用公开的大型初始模型。

Experiments on CityScapes

在CityScapes上使用和Mask R-CNN一样的参数,具体来讲,训练时短边随机在${800,1024}$之间采样,测试使用1024。没有使用DCN或者测试技巧。使用0.01的学习率迭代了18K,使用0.001学习率迭代了6K。每个batch设置8张图片,ResNet50作为基础层。

Results: 论文与一些其他先进方法做对比,结果如下:
mark

可以看到只是使用fine的数据就已经比其他模型效果要好了。可视化的结果如下图所示:

mark

Ablation Study: 实验结果如下:

mark

包括增加多GPU同步BN,和完整的PANet。

Experiments on MVD

PANet与UCenter方法的对比:

mark

可以看到PANet的效果要出色。


Conclusion

论文提出了面向实例分割的PANet,设计了几个组件有效的提升信息传播:自下而上的增强路径建立了从低层到高层之间流通的短路径,自适应特征池化汇集了来自不同层次的特征。PANet的多个数据集取得了state-of-the-art结果。


Thanks for your support!