论文阅读|目标检测之隐式的求解特征金字塔i-FPN

论文相关信息

1.论文题目:Implicit Feature Pyramid Network for Object Detection

2.发表时间:2020.12

3.文献地址:https://arxiv.org/abs/2012.13563

4.论文源码:

论文贡献:
1.提出用于目标检测的隐式他特征金字塔网络i-FPN,基于固定点迭代直接生成有全局感受野的平衡特征。
2.提出残差迭代的循环机制,用于更新金字塔设计的隐藏状态。

Abstract

文章提出了一个用于目标检测的隐式特征金字塔网络。当前的FPN通过堆叠不同尺度的blocks来获取大的感受野,作者则提出使用一种隐函数来模拟FPN的转换。文章还设计了一种类似于残差的迭代结构高效地更新隐藏状态。在MS COCO上的实验表明,i-FPN能够显著的提高基于ResNet-50-FPN的RetinaNet, Faster-RCNN, FCOS, ATSS and AutoAssign等模型,且分别提高了+3.4, +3.2, +3.5, +4.2, +3.2 mAP。

论文有点难理解。。。。

1. Introduction

在这里插入图片描述

基于CNN的目标检测器一般分3部分:backbone,neck,head。其中backbone提取特征,neck生成拥有高层次的感受野和语义信息的特征图,head基于neck输出的特征图做最终的分类和回归。
当前大部分的模型都是基于FPNs构建neck来融合多尺度特征以及扩张感受野。这种FPN的设计遵循一种显示方式,即堆叠不同尺度的连接块。如图1(a)所示,来自骨干网的多尺度特征倍送入几个权重独立的块,每个块都构建了跨尺度的连接来融合不同层的特征。例如,FPN引入top-down的路径来逐步融合特征。基于FPN,PANet增加额外的bottom-up的路径把低层次特征传递到高层中。NAS-FPN利用了神经架构搜索(NAS)来获取一个最优拓扑链接。EfficientDet则提出重复堆叠BiFPN块,BiFPN块简化了PANet并增加了双重方向的跨尺度连接。显示的FPN可以表示如下:
P = ( f θ 0 º f θ 1 ⋅ ⋅ ⋅ f θ T ) ( B ) P=(f_\theta^0ºf_\theta^1···f_\theta^T)(B) P=(fθ0ºfθ1fθT)(B), (1)
其中B是骨干网的多尺度特征图, f θ t f_\theta^t fθt则是第t个跨尺度连接块,P是最终的特征金字塔。
上述的显示FPN虽然能提高检测性能,但是获得的感受野有限。而且简单增加“块”的数量会导致很大的参数量和内存消耗,例如EfficientDet堆叠了7个权重独立的BiFPN块。
减少参数的一种有效方式是共享所有跨尺度连接块的权重,这也意味着$f_\theta^t=f_\theta,∀t $。当堆叠的块的数量趋近无穷时,这种权重共享的块的输出将收敛到一个固定点,这和机器翻译和序列建模中的发现相似。
如果该固定点存在,则应该满足下式:
P ∗ = F θ ( P ∗ ; B ) P*=F_\theta(P^*;B) P=Fθ(P;B), (2)
其中 P ∗ P^* P是(equilibrium feature pyramid)平衡特征金字塔, F θ F_\theta Fθ是参数 θ \theta θ的非线性变换,在所有的块中共享。作者把求解不动点的过程称为隐式FPN(implicit FPN)
有两种方案可以求解满足等式2的固定点 P ∗ P^* P,一是展开权重共享的块,然这会导致极大的内存负担;另一种是黑盒根寻找(root-finding)方法,可以用来直接生成平衡金字塔 P ∗ P^* P。后者有两个有点:它模拟了无限堆叠模块的情景,但仅含有单个模块的参数;它会产生有全局(较大)的感受野的平衡特征。

DEQ中的隐函数采用了一种复杂交互设计,其中隐藏序列和输入序列有复杂的交互方式,这种交互可能导致梯度消失问题,并使得难以通过根秋节方法求解隐函数的固定点。论文提出一种类似残差的迭代结构来简化设计,将骨干网络的输出特征与原始金字塔特征直接相加,并将相加后的特征输入到非线性变换中。得益于残差结构,模型能够平稳地传播梯度,从而增强i-FPN的特征学习。

2. Related Work

这部分介绍了一些经典目标检测器,如FCOS,DETR等,然后是介绍了neck部分金字塔的相关工作,如FPN,PANet,Bi-FPN以及NAS-FPN,CBNet等,并指出这些方法都是显示得堆叠不同尺度的模块来增加感受野的,而论文提出的是一种隐式金字塔网络。接着就implicit modeling做了介绍,这方面的工作以及由几十年了,经典的有RBP,Nerual ODE,近期的有TrellisNet,DEQ,RAFT,GRU,MDEQ等。

3. Methods

本节详细回顾深度平衡模型deep equilibrium model (DEQ),然后展示隐式特征金字塔以及和残差相似的迭代。最后是整体的优化过程。

3.1 Revisiting Deep Equilibrium Model

深度序列模型可表示如下:
h k + 1 = f θ k ( h k ; x ) , k = 0 , 1 , 2 , . . . , L − 1 h^{k+1}=f_\theta^k(h^k;x),k=0,1,2,...,L-1 hk+1=fθk(hk;x),k=0,1,2,...,L1 (3)
其中L是变换模块的数量,x是输入的长为T的序列。隐藏序列 h k + 1 h^{k+1} hk+1是第k个带有 θ \theta θ的变换 f θ k f_\theta^k fθk
近期工作表明在每个块中应用这些相同的变换仍能取得不错的表现,这表明:
f θ k = f θ f_\theta^k=f_\theta fθk=fθ, (4)
当堆叠无数次时,这些权重共享块的输出逐渐收敛于一个固定点,达到一个平衡 h ∗ h^* h
lim ⁡ k → ∞ h k + 1 = lim ⁡ k → ∞ f θ ( h k ; x ) = f θ ( h ∗ ; x ) = h ∗ \lim_{k \to \infty} h^{k+1}=\lim_{k \to \infty}f_\theta(h^k;x)=f_\theta(h^*;x)=h^* limkhk+1=limkfθ(hk;x)=fθ(h;x)=h, (5)
接着可用DEQ来直接计算下面非线性变换中的固定点 h ∗ h* h
h ∗ = f θ ( h ∗ ; x ) h^*=f_\theta(h^*;x) h=fθ(h;x) , (6)
固定点对应无限深度(infinite-depth)网络的最后一个变换块的输出。与直接显示的堆叠无限个块不同,DEQ使用black-box root-finding黑盒根寻找方法来解固定点 h ∗ h^* h。理论上来说,给定一个初始隐藏状 h 0 h^0 h0,则使用任意黑盒根寻找方法都能获取该固定点。

3.2. Implicit Feature Pyramid Network

在这里插入图片描述

图2.带隐式特征金字塔的目标检测器的整体结构。最初的金字塔特征(灰色的)初始化为0,和骨干网特征图(绿色的)一起送入隐式FPN(Implicit FPN)。Implicit FPN(图中圆框部分包含的这部分,即固定点的求解过程)中,使用非线性变换 G θ G_\theta Gθ(浅蓝色的)来构造隐函数,然后使用平衡特征求解器求解隐函数的带固定点 P ∗ P^* P(黄色的)。最后平衡特征金字塔送入网络头生成最终检测结果(深蓝色的)。

网络的总体架构如图2所示,包含基本特征提取,隐式特征金字塔网络和检测头。骨干网使用的是ResNet来提取得到骨干网特征图 B = B 1 , B 2 , . . . B n B={B_1,B_2,...B_n} B=B1,B2,...Bn。对于i-FPN,初始的金字塔特征 P 0 = P 1 0 , P 2 0 , . . . P n 0 P^0={P_1^0,P_2^0,...P_n^0} P0=P10,P20,...Pn0被初始化到0,然后和B相加。 相加后的特征 Z = Z 1 , Z 2 , . . . Z n Z={Z_1,Z_2,...Z_n} Z=Z1,Z2,...Zn被送入到非线性变换 G θ G_\theta Gθ,这里 G θ G_\theta Gθ充当着隐函数。然后平衡特征求解器通过求解隐函数得到平衡金字塔 P ∗ = P 1 ∗ , P 2 ∗ , . . . P n ∗ P^*={P_1^*,P_2^*,...P_n^*} P=P1,P2,...Pn。最终,平衡特征金字塔 P ∗ P^* P送入检测头生成最终的分类和回归预测。

3.2.1 Residual-Like Iteration

在这里插入图片描述

图3. The pipeline of residual-like iteration.骨干网的特征图开始时和初始金字塔特征(初始化为0)相加,然后送入非线性变换 G θ G_\theta Gθ生成中间特征,生成的中间特征又和骨干网的特征相加并在此送入非线性变换,如此不断重复,理论上能够重复无限次,迭代得到平衡特征金字塔 P ∗ P^* P

图3展示了模拟无限的FPN的residual-like iteration,也即我们i-FPN的显示形式,其中骨干网受限和初始特征 P 0 P^0 P0相加,然后结果特征输入到非线性变换 G θ G_\theta Gθ生成中间特征 P 1 P^1 P1,如此重复, G θ G_\theta Gθ的贡献越来越小,迭代无数次之后得到平衡特征金字塔 P ∗ P^* P。按照这种方式,可以总结residual-like iteration,将等式2定义为:

P ∗ = G θ ( P ∗ + B ) P^*=G_\theta(P^*+B) P=Gθ(P+B), (7)

其中固定点 P ∗ P^* P可以通过展开求解器(solver)或者DEQ中的Broyden solver得到。和ResNet相似,residual-like iteration也通过shortcut连接进行残差学习,骨干网特征充当有力的prior,领导非线性变换 G θ G_\theta Gθ的学习,因此residual-like iteration可以阻止i-FPN的梯度消失问题,而且理论是得到一个无限深度的FPN。这种设计方式,使得信息能够反向传播,增强i-FPN的特征学习。

3.2.2 Nonlinear Transformation G θ G_θ Gθ

非线性变化 G θ G_θ Gθ用于构造i-FPN的implicit function(隐函数),因此 G θ G_θ Gθ的结构决定了implicit-nodeling的表示能力,对于 G θ G_θ Gθ的设计,现有几种设计策略。

在这里插入图片描述

与HRNet中的特征融合模块相似,一种直接的方式是建立一个dense FPN,如图4(a),每个输出特征都和所有的输入特征相连。如果输入特征和输出特征在同一层,则连接代表侧边连接(紫色线),这种可以通过1×1卷积实现。如果输入层比输出层高,输入层将被1×1卷积核一个上采样(蓝色线)处理,对于低层的输入层,输入特征被stride为2的3×3卷积下采样(黄色线)。

虽然输出层聚集所有输入层的特征,但是每层的非线性还远不够,于是b中加入给每个输入特征加入另一个基本残差模块(basic residual block)来增加非线性特性。每个基本残差模块包括一个shortcut连接和两个带有组卷积的3×3的卷积。

然后考虑到骨干网的特征只与邻近层高度相关,于是图4©中应用了金字塔卷积来减少计算冗余并高效地融合不同尺度特征。因此,i-FPN中的非线性变化可以被表示如下:

在这里插入图片描述

其中 Z j Z_j Zj指第j层的输入特征, R j R_j Rj指的是第j层的基础残差模块。如果i=j,那么 W i j W_{ij} Wij指代一个3×3卷积,如果i<j,那么 W i j W_{ij} Wij 表示跟着双线性上采样的3×3卷积, W i j W_{ij} Wij 中也可以使用BN和deformable kernel。

3.3. Optimization

等式7中固定点可以通过展开求解或者黑盒求解,如果使用展开方式,骨干网和非线性变化的参数通过反向传播练链式更新。这里主要介绍黑盒求解方式的优化过程。对于黑盒求解,i-FPN的全局优化处理包括前向求解(forward solving)和反向传播,基于上文提到的非线性变换 G θ G_\theta Gθ,前向求解得到等式7中的固定点 P ∗ P^* P,表示i-FPN的平衡特征金字塔。然后骨干网和非线性变换 G θ G_\theta Gθ的参数由基于已解得的平衡特征金字塔的反向传播来更新。

**Forward Solving:**这里使用的是DEQ引入了 Broyden solver 解固定点 P ∗ P^* P。 这里将函数 Q θ Q_\theta Qθ定义为:
Q θ = G θ ( P + B ) − P Q_\theta=G_\theta(P+B)-P Qθ=Gθ(P+B)P , (9)

所以求解固定点等价于求 Q θ = 0 Q_\theta=0 Qθ=0,骨干网特征给定时,可以通过下式求解:

在这里插入图片描述

其中 J Q θ − 1 J_{Q_\theta}^{-1} JQθ1是 Jacobian inverse(逆雅可比矩阵(行列式的逆)),α是步长。但是由于输入是高维度的,雅可比矩阵极大且难以计算,所以应用 Broyden方法:

在这里插入图片描述

其中, M i M^i Mi是一个逆雅可比矩阵的低阶近似, Broyden方法的详细信息间DEQ和MDEQ论文。

Backward Propagation: 不同于卷积神经网络中的反向传播使用链式法则,基于深度平衡模型,作者提出使用如下方法更新参数:

在这里插入图片描述

其中,L LL表示总损失函数,其计算如下:

在这里插入图片描述

4. Experiments

FPN的比较:

在这里插入图片描述

主要结果:

在这里插入图片描述

5. Limitation and Future Work

虽然可以有效提高目标检测模型的性能,但其仍具有以下不足:展开求解法将引入大量参数和占据大量内存;对于Broyden求解法,使用十五个Broyden迭代后得到平衡特征金字塔。因此,尽管其占用单个模块内存,花费的时间也是显式金字塔的六倍。所以之后期待寻找一种更优的求解器。

参考

  1. Wang T, Zhang X, Sun J. Implicit Feature Pyramid Network for Object Detection[J]. arXiv preprint arXiv:2012.13563, 2020.
  2. (四十三)论文阅读 | 目标检测之i-FPN

猜你喜欢

转载自blog.csdn.net/yanghao201607030101/article/details/114140197