(四十三)论文阅读 | 目标检测之i-FPN

简介

在这里插入图片描述

图1:论文原文

该篇论文是对经典多尺度目标检测模型 F P N {\rm FPN} FPN的改进,提出一种隐式特征金字塔网络,实验结果为在多种目标检测模型上均有较大幅度的提升。论文原文


0. Abstract

当前,许多 F P N {\rm FPN} FPN通过堆叠多尺度模块以获得更大的感受野。基于深度均衡模型( D E Q {\rm DEQ} DEQ),作者提出引入隐函数对 F P N {\rm FPN} FPN进行建模,同时使用类似残差的迭代结构更新隐态。

论文贡献:(一)提出隐式金字塔结构 i {\rm i} i- F P N {\rm FPN} FPN;(二)引入类似残差模块以有效更新隐态,非线性转换器将提高模型的非线性拟合能力;(三)相比于 F P N {\rm FPN} FPN i {\rm i} i- F P N {\rm FPN} FPN在众多检测器上均获得了较大的提升。


1. Introduction

基于卷积神经网络的目标检测由三部分组成: b a c k b o n e {\rm backbone} backbone n e c k {\rm neck} neck h e a d {\rm head} head b a c k b o n e {\rm backbone} backbone用于提取输入图像的基本特征; n e c k {\rm neck} neck用于提取输入图像的高层语义特征; h e a d {\rm head} head的输出作为检测头的输入,用于最后的分类和回归。

对于 n e c k {\rm neck} neck部分,大多数模型都是基于 F P N {\rm FPN} FPN设计的,其设计遵从显式地堆叠多尺度模块的原则,如图:
在这里插入图片描述
F P N {\rm FPN} FPN通过一条自上而下的路径融合特征图, P A F P N {\rm PAFPN} PAFPN额外添加一条自下而上的路径将低层语义信息送往高层, N A S {\rm NAS} NAS- F P N {\rm FPN} FPN基于神经架构搜索得到优化的连接拓扑结构, E f f i c i e n t D e t {\rm EfficientDet} EfficientDet堆叠 P A F P N {\rm PAFPN} PAFPN的结构并添加双向连接。总之,显式结构可用以下式子表示: P = ( f θ 0 ∘ f θ 1 ⋯ f θ T ) ( B ) (1) P=(f_{\theta}^0\circ f_{\theta}^1\cdots f_{\theta}^T)(B)\tag{1} P=(fθ0fθ1fθT)(B)(1)

尽管可以通过以上方法提高模型性能,但并没有增大感受野,同也会增加参数和内存占用。如在 E f f i c i e n t D e t {\rm EfficientDet} EfficientDet中堆叠七个权重独立的 B i F P N {\rm BiFPN} BiFPN结构,一种减少参数的方法是共享每个模块中的权重。但当无限制堆叠权重共享的模块时,这些模块会收敛到一个固定点,这在机器翻译和序列模型中已得到验证。假设固定点存在,表示为: P ∗ = F θ ( P ∗ ; B ) (2) P^*=F_{\theta}(P^*;B)\tag{2} P=Fθ(P;B)(2)

作者将求解该固定点的结构称为隐式 F P N {\rm FPN} FPN。该问题存在两种解法:将权重共享的模块展开,但同时会增加内存占用;黑盒求解方法。后者具有两个优势:它模拟了无限堆叠模块的情景,但仅含有单个模块的参数;它会产生较大的感受野。

D E Q {\rm DEQ} DEQ中输入序列与隐藏序列以复杂的方式交互,这种交互可能导致梯度消失或难以解决寻找固定点的问题,论文提出一种类似残差的迭代结构来简化设计。将骨干网络的输出特征与原始金字塔特征直接相加,并将求和特征输入到非线性变换中。得益于残差结构,模型能够平稳地传播梯度,从而增强 i {\rm i} i- F P N {\rm FPN} FPN的特征。


2. Related Work

Object Detection

Pyramidal Representations 除以上提到的 F P N {\rm FPN} FPN的变种外, C B N e t {\rm CBNet} CBNet复合多个主干网络形成新的主干网络。以上方法均为显式地堆叠模块的方法,即重复使用相同或相似的模块以增强模型提取特征的能力。

Implicit Modeling R B P {\rm RBP} RBP基于微分技术隐式地训练递归系统;神经 O D E {\rm ODE} ODE采用黑盒 O D E {\rm ODE} ODE的方法隐式地对递归残差块建模,用于分析递归神经网络的稳定性; R e l l i s N e t {\rm RellisNet} RellisNet以权重绑定的方式堆叠大量层; D E Q {\rm DEQ} DEQ通过定点迭代模拟无限深度的网络; R A F T {\rm RAFT} RAFT使用大量 G R U {\rm GRU} GRU模块来获得固定的流场;基于 D E Q {\rm DEQ} DEQ M D E Q {\rm MDEQ} MDEQ设计了一个用于图像分类和图像分割的骨干网络。 i {\rm i} i- F P N {\rm FPN} FPN M D E Q {\rm MDEQ} MDEQ的不同之处在于:多尺度骨干网络特征作为有效学习隐态的强先验信息;为了有效更新隐态信息以及避免梯度消失,引入类似残差的迭代结构; i {\rm i} i- F P N {\rm FPN} FPN适用于目标检测任务,而 M D E Q {\rm MDEQ} MDEQ仅被用于图形分类任务。


3. Methods

3.1 Revisiting Deep Equilibrium Model

深度序列模型可以表示为: h k + 1 = f θ k ( h k ; x ) ,   k = 0 , 1 , 2 , . . . , L − 1 (3) h^{k+1}=f_{\theta}^k(h^k;x),\ k=0,1,2,...,L-1\tag{3} hk+1=fθk(hk;x), k=0,1,2,...,L1(3)

其中 L L L表示转换模块数量, x x x表示长度为 T T T的输入序列,隐态序列 h k + 1 h^{k+1} hk+1表示第 k k k个转换模块 f θ k f_{\theta}^k fθk的输出。近来研究表明,在每个模块使用相同的转换仍能获得相当的结果,即: f θ k = f θ (4) f_{\theta}^k=f_{\theta}\tag{4} fθk=fθ(4)

当不断堆叠权重共享的模块时,会收敛到一个固定点 h ∗ h^* h lim ⁡ k → ∞ h k + 1 = lim ⁡ k → ∞ f θ ( h k ; x ) = f θ ( h ∗ ; x ) = h ∗ (5) \lim_{k\rightarrow\infty}h^{k+1}=\lim_{k\rightarrow\infty}f_{\theta}(h^k;x)=f_{\theta}(h^*;x)=h^*\tag{5} klimhk+1=klimfθ(hk;x)=fθ(h;x)=h(5)

因此, D E Q {\rm DEQ} DEQ提出直接计算该固定点 h ∗ h^* h h ∗ = f θ ( h ∗ ; x ) (6) h^*=f_{\theta}(h^*;x)\tag{6} h=fθ(h;x)(6)

该固定点对应于无限深网络的最终转换结果, D E Q {\rm DEQ} DEQ采用黑盒寻根的方法来寻找该固定点。理论上,任何黑盒寻根方法都可以在给定隐态 h 0 h^0 h0的条件下寻找固定点。

3.2 Implicit Feature Pyramid Network

下图是 i {\rm i} i- F P N {\rm FPN} FPN的整体结构:
在这里插入图片描述

图2:i-FPN

它由三部分组成,首先是提取特征的骨干网络,得到输出 B = { B 1 , B 2 , . . . , B n } B=\{B_1,B_2,...,B_n\} B={B1,B2,...,Bn};然后是初始金字塔特征 P = { P 1 0 , P 2 0 , . . . , P n 0 } P=\{P^0_1,P^0_2,...,P_n^0\} P={P10,P20,...,Pn0},初始化为零且直接与 B B B相加(即基础 F P N {\rm FPN} FPN结构);然后得到特征 Z = { Z 1 , Z 2 , . . . , Z n } Z=\{Z_1,Z_2,...,Z_n\} Z={Z1,Z2,...,Zn},其作为非线性转换器 G θ G_{\theta} Gθ的输入;最后使用平衡特征求解器得到特征金字塔 P ∗ = { P 1 ∗ , P 2 ∗ , . . . , P n ∗ } P^*=\{P_1^*,P_2^*,...,P_n^*\} P={P1,P2,...,Pn},即隐式模型的解。

3.2.1 Residual-Like Iteration

在这里插入图片描述

图3:Residual-Like Iteration

i {\rm i} i- F P N {\rm FPN} FPN中引入类似残差的迭代结构,以模拟无限深度的- F P N {\rm FPN} FPN。首先,骨干网络的输出特征 B B B与初始特征 P 0 P^0 P0相加,并将相加结果送入非线性转换器 G θ G_{\theta} Gθ中,得到输出特征 P 1 P^1 P1。然后特征 P 1 P^1 P1与骨干网络的输出特征 B B B相加,从而得到后面的输出。当 G θ G_{\theta} Gθ不断细化求和特征时,这一迭代过程将会带来越来越小的贡献,直到最终得到固定点 P ∗ P^* P。即: P ∗ = G θ ( P ∗ + B ) (7) P^*=G_{\theta}(P^*+B)\tag{7} P=Gθ(P+B)(7)

这里,固定点 P ∗ P^* P可以通过展开求解器或 D E Q {\rm DEQ} DEQ中的 B r o y d e n {\rm Broyden} Broyden求解器得到。

3.2.2 Nonlinear Transformation G θ G_{\theta} Gθ

在这里插入图片描述

图4:各FPN连接方式

如图(c),鉴于特征仅与相邻层特征密切相关,作者引入金字塔卷积(SEPC),则最终非线性转换器可表示为: O i = ∑ j = i − 1 i + 1 W i j ( R j ( Z j ) ) (8) O_i=\sum_{j=i-1}^{i+1}W_{ij}(R_j(Z_j))\tag{8} Oi=j=i1i+1Wij(Rj(Zj))(8)

其中, Z j Z_j Zj表示第 j j j层的输入特征, R j R_j Rj表示第 j j j层的残差模块。如果 i = j i=j i=j,则 W i j W_{ij} Wij表示 3 × 3 3\times3 3×3卷积;如果 i < j i<j i<j,则 W i j W_{ij} Wij表示先使用双线性上采样,再接 3 × 3 3\times3 3×3卷积。注意,变量 j j j的范围使得当前层输出特征仅来自相邻三个输入层。

3.3 Optimization

前面替代,对于根 P ∗ P^* P的求解可以采用展开法或者黑盒法,该部分介绍黑盒求解法。对于黑盒求解法, i {\rm i} i- F P N {\rm FPN} FPN的优化过程包括前向过程和反向传播过程。给定非线性转换器 G θ G_{\theta} Gθ,对于前向过程,式(7)给定了求解固定点的方法。然后,经由反向传播算法更新骨干网络和非线性转换器。

Forward Solving 论文采用 D E Q {\rm DEQ} DEQ B r o y d e n {\rm Broyden} Broyden求解器的改进用于求解固定点: Q θ = G θ ( P + B ) − P (9) Q_{\theta}=G_{\theta}(P+B)-P\tag{9} Qθ=Gθ(P+B)P(9)

因此,当 Q θ = 0 Q_{\theta}=0 Qθ=0时即可求得固定点,基于 B r o y d e n {\rm Broyden} Broyden求解器的思想,该解为: P i + 1 = P i − α ( J Q θ − 1 ∣ P i ) Q θ ( P i + B ) ;   P 0 = 0 (10) P^{i+1}=P^i-\alpha(J^{-1}_{Q_{\theta}}|_{P_i})Q_{\theta}(P^i+B);\ P^0=0\tag{10} Pi+1=Piα(JQθ1Pi)Qθ(Pi+B); P0=0(10)

其中, J G θ − 1 J^{-1}_{G_{\theta}} JGθ1表示雅可比逆, α \alpha α表示步长大小。由于在目标检测中,输入通常是高维变量,雅可比逆难以求解,作者对其作如下改进: P i + 1 = P i − α ⋅ M i Q θ ( P i + B )   P 0 = 0 (11) P^{i+1}=P^i-\alpha\cdot M^iQ_{\theta}(P^i+B)\ P^0=0\tag{11} Pi+1=PiαMiQθ(Pi+B) P0=0(11)

其中, M i M^i Mi雅可比逆的近似低秩矩阵。( B r o y d e n {\rm Broyden} Broyden求解器的具体内容可参考论文12)。

Backward Propagation 不同于卷积神经网络中的反向传播使用链式法则,基于深度平衡模型,作者提出使用如下方法更新参数:
∂ L ∂ θ = ∂ L ∂ P ∗ ( − J Q θ − 1 ∣ P ∗ ) ∂ G θ ( P ∗ + B ) ∂ θ (12) \frac{\partial L}{\partial\theta}=\frac{\partial L}{\partial P^*}(-J^{-1}_{Q_{\theta}}|_{P^*})\frac{\partial G_{\theta}(P^*+B)}{\partial\theta}\tag{12} θL=PL(JQθ1P)θGθ(P+B)(12)

∂ L ∂ B = ∂ L ∂ P ∗ ( − J Q θ − 1 ∣ P ∗ ) ∂ G θ ( P ∗ + B ) ∂ B (13) \frac{\partial L}{\partial B}=\frac{\partial L}{\partial P^*}(-J^{-1}_{Q_{\theta}}|_{P^*})\frac{\partial G_{\theta}(P^*+B)}{\partial B}\tag{13} BL=PL(JQθ1P)BGθ(P+B)(13)

其中, L L L表示总损失函数,其计算如下: L ( p , y ) = L ( H ( P ∗ ) , y ) (14) L(p,y)=L(H(P^*),y)\tag{14} L(p,y)=L(H(P),y)(14)


4. Experiments

在这里插入图片描述

图5:FPN和i-FPN的比较

在这里插入图片描述

图6:不同求解器的比较

在这里插入图片描述

图7:不同求解器的比较

图中 R B L {\rm RBL} RBL表示残差模块, C S C {\rm CSC} CSC表示多尺度连接。

在这里插入图片描述

图8:Main Results


5. Limitation and Future Work

作者指出,尽管 i {\rm i} i- F P N {\rm FPN} FPN可以有效提高目标检测模型的性能,但其仍具有以下不足:展开求解法将引入大量参数和占据大量内存;对于 B r o y d e n {\rm Broyden} Broyden求解法,使用十五个 B r o y d e n {\rm Broyden} Broyden迭代后得到平衡特征金字塔。因此,尽管其占用内存仅考虑单个模块,它花费的时间是显式金字塔的六倍。今后,亟需寻找一种更优的求解器。


参考

  1. Wang T, Zhang X, Sun J. Implicit Feature Pyramid Network for Object Detection[J]. arXiv preprint arXiv:2012.13563, 2020.


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值