论文原文:https://arxiv.org/abs/2103.10643
目前FPN-based的方法大多存在Channel Reduction的固有缺陷,导致语义信息的丢失。而融合后的各种特征图可能会造成严重的混叠效果。本文提出了一种新的通道增强特征金字塔网络(CE-FPN),该网络由3个简单而有效的模块组成。
具体来说,受sub-pixel convolution的启发,提出了一种既实现Channel增强又实现上采样的sub-pixel skip fusion方法。它代替了原来的卷积和线性上采样,减少了由于Channel Reduction而造成的信息丢失。然后,然后本文还提出了一种sub-pixel context enhancement模块来提取更多的特征表示,由于通过Sub-pixel Convolution利用了丰富的通道信息,所以优于其他context方法。此外,引入了一个channel attention guided module(通道注意力引导模块)对每一层的最终集成特征进行优化,从而在较少的计算量下减轻了混叠效应。实验表明,CE-FPN在MS COCO基准上与最先进的FPN-based的检测器相比,具有竞争性的性能。
1. INTRODUCTION
FPN能有效解决物体的尺度变化问题,通过融合底层背景信息和高层语义信息大大提高了检测精度(YOLOF中指出FPN之所以成功除了多尺度特征融合,还有“分而治之”的作用,即不同level检测不同尺度物体,并且认为这个才是其成功关键)。然而,FPN还存在两个普遍认同的局限性:
(1)融合过程中的信息衰减 ;(2)跨尺度融合中的混叠效应。
此外,本文还认为**(3)存在Channel Reduction的固有缺陷**。
下面分别介绍这3点。
Information loss of channel reduction.
图1(a)中FPN-based的方法采用1×1 convolutional layers对backbone的输出特征映射 C i C_i Ci进行Channel降维,丢失了Channel信息。 C i C_i Ci通常在高级特征映射中提取数千个通道,这些通道在中被缩减为一个小得多的常数(比如说2048缩减为256)。现有的方法主要是在Channel Redection映射上增加额外的模块,而不是像图1(b)、1©所示的充分利用 C i C_i Ci。EfficientDet开发不同FPN通道的各种配置。这表明,增加FPN通道可以提高性能,同时增加更多的参数和FLOPs,所以EfficientDet仍然采用相对较少的通道,并提出了复杂连接的BiFPN以获得更好的精度。因此,虽然从主干网输出的Channel Redection大大减少了后续预测的计算消耗,但也带来了精度损失。
Information decay during fusion.
在目标检测中, low-level和high-level是互补的,而在自顶向下的特征融合过程中,语义信息会被稀疏化。
PAFPN和Libra R-CNN提出了融合方法,充分利用每一层的特征。然而,high-level语义特征的表征能力并没有被广泛应用于更大的感受野。而利用context信息是一种改善特征表示的比较好的方法,它避免了直接添加更深的卷积层而带来的计算负担。
Aliasing effects in cross-scale fusion.
Cross-scale fusion和skip connections已经被广泛用于提高模型的性能。简单的连接实现了在每个层次上的各种功能的充分利用。
然而,Cross-scale特征图存在语义差异,插值后直接融合可能会产生混叠效应。各种综合特征可能会混淆定位和识别任务。通过对融合特征的非局部注意的细化,可以设计更多的注意模块来优化融合的混叠特征,提高其识别能力。
首先,受超分辨率子像素卷积[15]的启发,我们引入了一种子像素跳过融合方法,以利用原始的跨尺度主干输出以及丰富的通道信息,如图1(d)所示。 其次,我们提出了一个子像素上下文增强模块,用于从*别的特征图中提取和集成各种上下文信息。 子像素卷积是一种先增加低分辨率图像的通道维度的上采样方法,这也带来了额外的计算量和不可靠性。 值得注意的是,FPN中的high-level 特征已获得足够数量的通道,从而可以直接使用子像素卷积。 代替原始的1×1卷积和上采样,所提出的方法可以减轻信道信息丢失。 因此,我们将亚像素卷积的原始上采样功能扩展为融合通道信息,这与CARAFE [16]不同。 第三,我们提出了一个简单而有效的频道关注引导模块,以优化每个级别上的最终集成功能。 注意模块仅在一些计算负担下减轻了混叠效果。 我们将整个模型命名为ChannelEnhancement Feature Pyramid Network(CE-FPN),它对于各种基于FPN的检测器都是灵活而通用的。
论文贡献:
- 受sub-pixel convolution启发,提出新的通道增强方法。将sub-pixel convolution固有的上采样功能扩展为扩展来整合模块中丰富通道信息。
- 引入简单有效的通道注意力导向模块来优化每层上的整合特征。
- 优于过去基于FPN的SOTA检测器。
2. Related Work
文章聚集于减少由于FPN建设中的信道下降而导致的信息丢失,并在复杂集成后优化最终特征。
3. Proposed Methods
CE-FPN有三个部分: Sub-pixel Skip Fusion(SSF), Sub-pixel Context Enhancement (SCE), 和ChannelAttention Guided Module (CAG).下面详细介绍这三个部分。
A. Overall
首先,网络整体架构如图2所示,CE-FPN和FPN一样生成4个level的特征图。骨干网的输入为{C2, C3, C4, C5},他们对应原输入图片的stride为{4, 8, 16, 32} pixels。{F2, F3, F4} 是1×1卷积后通道减少为相同的256的特征。特征金字塔{P2, P3, P4}通过FPN中top-down路径生成。因为我们提出的方法已经充分利用了C5的通道信息,所以删除了F5和P5的节点 。 重复的特征融合不仅可能导致更严重的混叠效果,还可能导致不必要的计算负担。 在IV-D节中分析了此过程的效果。 整合特征图 I I I是通过插值和最大池化生成的。最终结果{R2,R3,R4,R5} 与原始FPN的特征金字塔相对应,独立地在这些特征图上做预测。
B. Sub-pixel Skip Fusion
在FPN中,残差网络被广泛用作骨干网络,输出通道为{256,512,1024,2048},其中high-level特征{C4, C5}包含丰富的语义信息。 如图3(a)所示,为了提高计算效率,采用1×1卷积层来降低 C i C_i Ci的Channel维数,导致 C i C_i Ci的Channel信息严重丢失。改进的FPN-based的方法一般聚焦在256个Channel的特征金字塔 P i P_i Pi上开发有效的模块,而 C i C_i Ci的Channel信息丰富却没有得到充分利用。
基于这一观察,作者期望可以开发丰富通道的特征{C4, C5}来提高得到的特征金字塔的性能。为此,引入了一种直接融合方法,将低分辨率(LR)特征与高分辨率(HR)特征融合在一起。亚像素卷积是一种上采样方法,它通过对channel的尺寸进行变换来增加宽度和高度的尺寸。像素shuffle操作符将形状 H × W × C ⋅ r 2 H×W ×C·r^2 H×W×C⋅r2的特征重新排列为$ rH×rW ×C$,数学上定义为:
其中,r为upscaling factor,F为输入特征.
如图3b所示,在使用亚像素卷积进行上采样时,首先需要增加LR图像通道的尺寸,这带来了额外的计算量。HR图像是不可靠的,需要额外的训练。因此,FPN采用了最近邻上采样。然而,作者观察到{C4, C5}(1024,2048)中的通道数量足以执行亚像素卷积。
因此引入了亚像素跳变融合(SSF),在不进行channel缩减的情况下直接对LR图像进行上采样,如图3©所示。SSF利用{C4, C5}丰富的channel信息,并将它们合并到Fi中,描述为:
其中ϕ为减少信道的1x1卷积,i为金字塔层的指数, ϕ ˉ \bar{ϕ} ϕˉ为channel变换。采用亚像素卷积中的因子r作为2,使空间尺度加倍进行融合。 ϕ ˉ \bar{ϕ} ϕˉ采用1×1卷积或分割操作改变通道尺寸,实现2倍亚像素上采样。如果通道维度满足要求, ϕ ˉ \bar{ϕ} ϕˉ执行id映射。然后通过元素求和和最近邻上采样得到与FPN相同的特征金字塔。
如网络架构图所示,SSF可以看作是C5到F4和C4到F3的2个额外的连接。SSF同时进行上采样和channel融合,然后利用high-level特征{C4, C5}丰富的channel信息,增强了特征金字塔的表示能力。
C. Sub-pixel Context Enhancement
一方面,传统的FPN通过融合来自high-level的语义信息,自然地赋予low-level特征图不同的context信息;但*的特征只包含单一尺度的context信息,不能从其他信息中获益。
另一方面,高分辨率的输入图像需要具有更大感受野的神经元来获取更多的语义信息,以捕捉大的目标。
为了解决这两个问题,作者采用了集成图的框架,并引入了亚像素上下文增强(Subpixel Context Enhancement,SCE),在C5上利用更多的context信息和更大的感受野。将提取的context特征融合到集成图I中。
如图4所示。SCE的核心思想是融合大域局部信息和全局context信息,生成更具判别性的特征。假设输入特征图C5的形状为 2w × 2h × 8C,输出的集成图I为 4w×4h×C。C为256。通过如下的平行路径执行3个context特征。
第1步
在C5上应用3×3卷积来提取局部信息。同时,对通道尺寸进行变换,实现亚像素上采样。然后采用亚像素卷积进行双尺度上采样;
第2步
输入特征(这个输入特征是什么?还不知道,猜测也是c5)通过3×3的最大池化下行采样到w×h,并经过1×1卷积层来扩展Channel维度。然后进行4个亚像素卷积上采样。这个pathway可以为更大的感受野获得丰富的context信息。
第3步
在C5上对全局context信息执行全局平均池化。然后,得到了1×1×8C被压缩到1×1×C,并广播到大小4w×4h的feat map。第1和第3条路径分别提取局部和全局context信息。
第4步
3个生成的特征映射将按元素的总和聚合到集成映射I。通过扩展3个尺度的特征表征,SCE有效地扩大了C5的感受野,提高了I的表征能力。因此,*特征中的语义信息在FPN中得到了充分的利用。为了简单起见,删除了P5和F5的节点。
D. Channel Attention Guided Module
跨尺度特征map存在语义差异,综合的特征可能会产生混叠效应,混淆定位和识别任务。在FPN中,每一个合并的特征映射都要进行3×3的卷积,生成最终的特征金字塔。
本文提出的SSF和SCE融合了更多的跨尺度特征,使得混叠效应比原来的FPN更加严重。为了减轻混叠的负面影响,一个直观的解决方案是在特征金字塔上应用注意力模块。然而,在金字塔的每一层执行独立的注意力模块会带来巨大的计算,因为一些检测器采用6级金字塔甚至更多。同时,作者期望不同层次的注意机制能够从其他层次的信息中学习。
为此,作者提出了一个受CBAM启发的通道注意引导模块(CAG),它可以引导金字塔的各个层次来缓解混叠效应。CAG只通过集成映射I提取Channel权值,然后将Channel权值乘以每个输出特征。
CAG的流程如图5所示。首先分别使用全局平均池化和全局最大池化来聚合2种不同的空间context信息。接下来,这2个描述符分别被转发到FC层。最后,通过元素求和和sigmoid函数对输出特征向量进行合并。该过程可以表述为:
其中CA()为通道注意函数,σ为sigmoid函数,i为金字塔级指数。
公式(4)表示最终的特征图 R i R_i Ri由通道注意力和每个输出特征金字塔相乘得到。
IV. EXPERIMENTS
该模型基于mmdetection框架实现。
具体消融实验看原论文。
5. Conclusion
CE-FPN利用sub-pixel convolution中的上采样来有效利用有丰富通道信息的高维度通道,最后即实现了通道的降低,也没有丢失通道信息,而是“将通道信息转到了空间维度上”。此外,为了解决不同尺度特征图融合时导致的语义混乱问题,引入一个多level共享的通道注意力导向机制来缓解该问题。实验证明CE-FPN能够有效的融合到各种FPN-based的检测器上。
参考
https://mp.weixin.qq.com/s/WDKtvYmAxNWfhv5DF77AXw
启发:
是不是可以接着利用sub-pixel convolution在任何需要上采样并且减小维度的地方呢?
其它有特征融合的网络也可以引入这个通道注意力导向机制。