阅读:2019.10.8
刊物:CVPR 2018
引用:Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759-8768.
1 PANet概述
PANet主要探索的是FPN构建特征金字塔中信息传递的有效性,进而推出FPN得到的特征的有效性,认为在resnet这类深度卷积神经网络构建特征金字塔,信息传递路径过长,导致信息被“稀释掉”了,因此想到通过压缩信息传递的路径长度,以保证从浅层传递到深层的信息“纯度”会比较高,从而得到更高质量的特征,以提高检测准确率。PANet结构如图11-1所示。在普通FPN的结构后,提出了一个路径更短的,从底到上的金字塔结构。
2 PANet创新点
- 利用自底向上的、路径更短的特征金字塔结构,提高了不同层级特征对物体定位的准确性。一般来讲,浅层特征分辨率高,更利于对物体进行定位,通过自底向上、路径更短的金字塔结构,浅层特征的这种特性更有效的传递到深层特征种
- 提出了一种自适应特征池化(adaptive feature pooling),其连接所有级别的特征,使每个级别的有效信息能够传播到检测器网络中
- 在mask分支,创建了一个新分支,捕获每个proposal的不同视图,以提高mask质量
3 Introduction
在设计图像分类网络时,常用的一些技巧也可以用到设计目标检测网络中,比如设计短的信息传播路径、通过残差设计简化信息传递的过程,以及密集连接,上述方法都是为了让信息更有效的传播,减缓因网络深度而导致信息质量下降的问题。另外,提高信息传递路径的灵活性(flexibility)和多样性(diversity)也能够有利于提高网络的性能。
作者认为,mask rcnn中的信息传播路径还能够进一步优化。
1)浅层特征传送到深层的路径可以优化
浅层特征的分辨率高,有利于检测大物体,但是从浅层到深层的路径太长,以至于将浅层信息传递到深层时,丢失了信息的有效性,深层特征难以利用浅层特征的位置信息对物体进行定位。
针对这个问题,作者提出的优化方法是,新增一个“自底向上”的金字塔结构,用于缩短浅层特征到深层的传送路径。将浅层特征信息增强到其他层级特征的方法已经用在许多目标检测算法中,但PANet是首次将其用到instance recognition当中。
2)可以融合不同层级的特征,得到新的特征,而不是利用单一层级的特征生成prosposal
此外,每个proposal是根据某一个层级特征的像素点提出的(特征网格),这是基于启发式的(heuristically)。这个操作是可以优化的,因为其生成proposal仅用到了多个层级特征中的某一个,但是其他层级的特征可能对检测目标也有作用,所有如果将其他层级的特征也利用上,那么应该能够有利于最终的检测。
针对这个问题,作者提出了“Adaptive feature pooling”模块,用于融合不同层级的特征。
3)改进mask分支
Mask rcnn中的mask分支仅仅只是从单一角度(view)预测mask,这丢失了获取多样性信息的机会。
针对这个问题,作者在原始的mask分支上添加了一个“tiny fully-connected(fc)”,用于获取proposal不同角度的信息。
4 PANet Framework
4.1 Bottom-up Path Augmentation
- Motivation
《Visualizing and understanding convolutional networks》指出,深层神经元(深层卷积)能够生成整个目标的特征,即对目标整体比较敏感,而其他神经元(卷积层)更容易捕获局部纹理特征(更容易被局部特征激活),通过自上而下的路径,将深层特征的语义信息传递到浅层特征中。
PANet通过将浅层信息有效的传递到各个层级的特征,使得能够增强所有层级特征对物体定位的性能。PANet构建了新的自底向上的分支,共10层左右,这比主干网络(通常100+层)更短,因此信息能够更有效的传递。
- Augmented Bottom-up Structure
图11-2 PANet设计的新模块
如图11-1所示,PANet首先是一个FPN结构,然后接上一个新的自底向上的模块,这个模块的设计参照了FPN的设计:具有相同大小的特征图放在同一阶段,每个特征级别对应着一个阶段。
传统FPN中,采用ResNet作为骨干网络,使用{P2,P3,P4,P5}特征来构建FPN。PANet提出的新模块,以浅层的P2为输入(N2=P2),逐步与P3,P4,P5融合,新模块采用3x3 conv s=2的卷积进行操作,卷积的同时实现了下采样操作,逐步降低分辨率。
N系列特征经过步长为2的卷积操作后,与P系列特征融合,再送入一个3x3 conv生成新的N特征。反复迭代知道P5,每个conv都接一个ReLU。
最终利用N系列特征生成proposal。
4.2 Adaptive Feature Pooling
- Motivation
在FPN中,不同层级的特征图,生成对应大小的proposal,即小的proposal在浅层特征图生成,大的proposal在深层特征图生成。这种方案简单、有效,但还可以进一步优化。如果两个proposal只差几个pixel(大部分pixel是相同的),被分配到不同层级的特征来生成,实际上两者是十分相似的。
特征的重要性与其所在的层次没有强联系。深层次特征具有更大的感受野,所以能够捕获更丰富的上下文(context information),小的proposal获得了这些特征能够利用上下位信息进行更准确的预测。浅层次特征具有更多的细节信息,以及高的定位准确率,对于大物体定位具有明显的帮助。基于上述的分析,作者提出了融合不同层次特征的想法,即adaptive feature pooling。
利用最大操作(max operation)来融合不同级别的特征,从而使网络选择元素级别(element-wise)有用的信息。基于原始FPN的特征级别,作者将proposal聚类成4类,对于每一类,都会分析其特征来源的比例(每一类的特征都是融合了不同层级的特征,对不同层级的占比都会进行分析),如图11-3所示,蓝色曲线表示小物体,可看到30%的特征来自level1低层次,70%的特征来自其他层次;黄色曲线表示大物体,可看到百分之五十多的特征来自除深层的其他特征。这表明,融合不同层级的特征有利于提高检测准确率,同时也表明构建bottom-up的增强路径是有效的。
图11-3 不同层次特征
- Adaptive Feature Pooling Structure
首先计算不同层次的proposal大小,并将它们映射到特征中,如图11-4的灰色区域。再利用ROIAlign归一化特征大小尺寸。最后采用融合操作(像素级别的最操操作或求和)融合不同层级的特征。如图11-4所示,每个层级的特征经过一个专属的fc层,再进行融合操作,以使网络能够适应特征(to enable network adapt feature)。最后,将融合的特征送入fc层。后面作者对融合操作的位置进行消融实验。
Adaptive feature pooling structure的设计主要侧重于融合来自网络内部的特征层次结构信息,而不是融合来自输入图像金字塔的不同特征图的信息。
图11-4 Adaptive feature pooling