Abstract
神经网络中信息传递的方式很重要。本文提出 PANet 网络来增强 proposal-based 实例分割的信息流。具体的,提出bottom-up path augmentation,adaptive feature pooling和complementary branch。
1.Introduction
Mask R-CNN是一个简单有效的实例分割模型,FPN通过一个具有侧连接的top-down path来传递高级语义特征,并层级提取内部特征。Dense connection,Residual connection,split-transform-merge等模型策略都十分有效。
Our Finding: 我们发现Mask RCNN 中的信息流还可以优化。具体来说,低级的特征对large instance的识别有帮助,但是从底层到高层的path太长以至于很难得到精确的位置信息(广义的位置信息,包括定位和轮廓信息)。每一个proposal都对应于一个feature level。这可能会丢失其他level的信息。
Our Contributions: 首先,提出一个bottom-up path来缩短information path,通过低层次具有的精确地位置信息来增强特征金字塔。其次,提出adaptive feature pooling 来恢复proposal 和 all feature levels 之间破损的信息。最后,提出一个fc分支和FCN分支融合,共同预测mask.
2.Related Work
Instance Segmentation: Two stream for instance segmentation,一种是 proposal-based,一种是segmentation-based
Multi-level Features: SharpMask 融合不同的特征图进行分割。FCN,U-Net使用skip connections来融合不同层的信息。不同于TDM,使用融合的具有最大分辨率的特征图进行pool,FPN,SSD,DSSD,都是把proposals在合适的层进行inference。我们将FPN当做baseline。ION模型concate不同的层的feature grids,可以得到更好的结果但是需要normalization , concatenation , dimension reduction等操作。我们的方法会更简单。
Larger Context Region: Feature pooled from a larger region可以获得周围的环境。PSPNet和ParseNet使用Global pooling极大的提高了语义分割的效果。
3.Framework
一个自底向上的路径来使底层的信息更好的传播,使用adaptive feature pooling 使得proposal可以获得每一个level的信息,complementary path for mask brach。
3.1 Bottom-up Path Augmentation
高层的神经元通常对整个目标有很强的响应,而低层的神经元更容易被局部纹理,图案等**。所以在FPN网络中,增加了一个自顶向下的分支来将高层的强语义的特征传播到下层,使得所有的特征层都具有classification能力。
我们的模型增加了一个自底向上的分支,通过传播低层次的信息增加整个特征层的分类能力。因为底层的特征对edge及instance part有很高的响应,这对准确的定位实例有很大的作用(高层特征有助于classification,底层特征有助于localization)
图中的绿线即为分支,这是一个shortcut结果,少于十层,相对比于FPN网络中的红线,从底层到高层需要一百多层。
Bottom-up结构的block如下所示:
低层的通过一个卷积下采样之后和P通过逐像素的相加,最后再经过一个卷积操作。
3.2 Adaptive Feature Pooling
在FPN网络中,proposal会根据他的尺寸将之分配到某个feature level。这会将大的proposal分配到大的feature level,小的分配到小的。虽然这样简单有效,但会带来误差,比如有可能只差10像素的相似的proposal被分配到不同的feature level上。
高层次的特征具有更大的感受野,具有更丰富的上下文信息(语义信息),这些特征可以帮助小的proposal 获得有用的语义信息来进行预测。同理,低层次的特征具有精确的细节和位置信息,有助于大proposal的定位。所以我们从所有的level对每个proposal进行pooling操作,之后使用max operation来融合他们。
具体的框架,首先,对每一个proposal,将其映射到不同的feature level,之后执行ROIAlign,最后是一个融合操作(element-wise max or sum)。
Pool层先经过一个参数层后再进行融合操作。
我们的设计是融合in-network featurehierarchy信息而不是融合image pyramid不同的feature map的信息。
3.3 Fully-connected Fusion
FCN层基于local receptive field和共享参数来对每一个pixel进行预测,而fc层对位置敏感,因为对每一个位置的预测都是基于不同的参数,所以fc层具有适应不同空间位置的能力,预测也是基于entire proposal 的全局信息,这有利于区分不同实例以及相同物体的不同部件。我们将会融合这两者。
具体的框架如下所示:
对每一个类独立的预测了 binary pixel-wise mask,用以解耦mask和class。下面分支的第二层卷积channel缩小以减小运算量,fc层用来预测一个class-agnostic的背景/前景 mask。Mask的size设为28*28。仅使用一层fc层是怕丢失空间信息。
4.Experiments
4.1 Implementation Details
使用image centric training策略,对每一张图片,采样512个ROI,正负比例为1:3,weight decay 为 0.0001,momentum 设为0.9。
4.2 COCO
在AP,AP50,AP75,Aps,APm,APl上评价,image batch设置为16,图像resize到800,1000。学习率为0.02,0.002。
Multi-scale training,将长边设置为1400,短边设置为[400,1400]。
Multi-GPU synchronized batch normalization,在多gpu上应用BN。
Heavier head,使用box分类和回归共享参数的四个连续的3*3卷积层替代原来的两个fc层。
在所有的策略中,Multi-scale training 和 Multi-GPU sync BN占了一半的作用。
Adaptive feature pooling 对fusion operation不敏感,MAX和SUM的操作都可以。
Fully-connected Fusion,选择从第三个卷积层后进行SUM操作。
为在COCO数据集上达到Top performance,我们还进行了,deformable convolutions,multi-scale test,horizontal flip testing,mask voting 和 box voting。使用多个模型进行融合。