(七)论文阅读 | 目标检测之ASFF


简介

(七)论文阅读 | 目标检测之ASFF_第1张图片

图1:论文原文

论文是 2019 2019 2019年的一篇关于目标检测的论文,其聚焦的问题是目标检测过程中的特征融合。我们知道,现在很多模型都是类 F P N {\rm FPN} FPN形式,所以有效的特征融合对于提取丰富的语义信息至关重要。 C V P R   2018 {\rm CVPR\ 2018} CVPR 2018 P A N e t {\rm PANet} PANet也旨在改善特征融合这一问题。本论文的主要创新点是针对 F P N {\rm FPN} FPN结构的模型中提出一种自适应特征融合方式,并给出了较为严格的数学证明。在 C O C O {\rm COCO} COCO数据集上的实验结果为 38.17 % A P   60 F P S {\rm 38.17\%AP\ 60FPS} 38.17%AP 60FPS 42.4 % A P   45 F P S {\rm 42.4\%AP\ 45FPS} 42.4%AP 45FPS 43.9 % A P   29 F P S {\rm 43.9\%AP\ 29FPS} 43.9%AP 29FPS。论文原文 源码


0. Abstract

在摘要部分,作者首先指出特征金字塔 F P N {\rm FPN} FPN是一种常用的解决目标检测中的尺度变化问题,但不同层的语义特征不同,直接融合难免会丢失掉有价值的信息。论文提出一种自适应特征融合方式,在基于 Y O L O v 3 {\rm YOLOv3} YOLOv3这一强大的 B a s e l i n e {\rm Baseline} Baseline上获得了较大的提升。

本文贡献:(一)提出一种自适应特征融合方法 A S F F {\rm ASFF} ASFF,并以实验证明了其有效性;(二) A S F F {\rm ASFF} ASFF的泛化性较好,可以提高 F P N {\rm FPN} FPN形式模型的性能;(三) A S F F {\rm ASFF} ASFF具有较强的理论证明,且实现简单、计算量小。


1. Introduction

引言部分,首先介绍了经典 C N N {\rm CNN} CNN、公开数据集和多尺度检测网络。 S S D {\rm SSD} SSD首次利用金字塔式的特征,通过复用不同层的特征信息预测不同尺寸的目标。但这种自下而上的结构对小目标检测不具有鲁棒性,因为 S S D {\rm SSD} SSD中用于小目检测的前面层语义信息不足从而导致了准确率较低。 F P N {\rm FPN} FPN结合自下而上和自上而下的结构,通过侧路连接融合相邻层的特征,间接地综合了底层语义信息和高层语义信息。但作者指出 F P N {\rm FPN} FPN中特征直接融合方法仍遗漏了大量语义信息。 N A S {\rm NAS} NAS- F P N {\rm FPN} FPN通过 N A S {\rm NAS} NAS方法得到的 F P N {\rm FPN} FPN结构中融合方法进一步提高了网络性能。( N A S {\rm NAS} NAS方法现在还在不断完善以缩小搜索空间、加快搜索速度、减小对硬件的依赖等) S N I P {\rm SNIP} SNIP中使用尺度归一化方法,在多尺度图像金字塔中选择性地训练和推理使用合适的目标尺寸。但这种方法显著地增加了推理时间。总结就是,现在主流的模型借鉴的还是 F P N {\rm FPN} FPN的特征融合的思想。

相比于图像金字塔,特征金字塔的一大缺点是不同尺度特征的不一致性,特别是对于一阶段检测器。确切地说,在 F P N {\rm FPN} FPN形式的网络中启发式地选择特征,高层语义信息中检测大目标、低层语义信息中检测小目标。当某个目标在某一层被当做正类时,相应地该目标区域在其它层被当做负类。如果一幅图像中既有大目标也有小目标,那么不同层间的特征的不一致性将会影响最后检测结果(大目标的检测在某一层,小目标的检测在另一层,但是网络的多尺寸检测不会仅仅检测一个特定的区域,而是综合整幅图进行检测。

论文提出了一种自适应特征融合方法,让网络自动学习过滤掉其它层无用的信息,保留有用信息以高效地融合特征。具体地,对于某一层的特征,在融合其他层特征前首先将其他层特征调整尺寸与当前层相同,然后通过训练使模型学习最佳的融合方式(即学习在融合时各层特征的权重占比)。最后给出实验结果的对比,由图可知,在加入 A S F F {\rm ASFF} ASFF后, Y O L O v 3 {\rm YOLOv3} YOLOv3模型性能的提升较为明显。

(七)论文阅读 | 目标检测之ASFF_第2张图片

图2:在MS COCO数据集上的实验结果对比


2. Related Work

当前主流的特征融合方式包括 F P N {\rm FPN} FPN P A N e t {\rm PANet} PANet D L A {\rm DLA} DLA N A S {\rm NAS} NAS- F P N {\rm FPN} FPN T r i d e n t N e t {\rm TridentNet} TridentNet L i b r a   R {\rm Libra \ R} Libra R- C N N {\rm CNN} CNN等。与此同时, A S F F {\rm ASFF} ASFF的提出还参考了以下工作: G {\rm G} G- F R N e t {\rm FRNet} FRNet论文指出在语义分割任务中直接通过跳跃连接将编码器的特征直接传至解码器进行融合是有问题的,因为编码器中的语义较浅而具有歧义性(前面层的语义信息较弱、感受野较小,如看到的一个动物背部并不能有效判断该动物的具体类别),而解码器中的特征具有较大的感受野更有良好的判断能力。文章的解决办法是在融合特征前设置一个门控单元过滤掉浅层特征的歧义性。而本文介绍的论文作者指出,这种方法不能完全适用于目标检测中,因为语义分割任务不需要目标检测中的启发式特征。目标检测中通常需要设置先验框信息以及对样本进行正负性判断,模型的判断限制在框内部的区域;语义分割是一种像素检测任务,它只需要判断当前位置的标签。因此在目标检测中它不能有效地减少不同层的歧义。 G U {\rm GU} GU- N e t {\rm Net} Net在跳跃连接中设置一个门控单元用于优化信息的流动,但它没有处理层间的信息歧义性。 A C N e t {\rm ACNet} ACNet自适应地确定来自 C N N {\rm CNN} CNN、多层感知机和非本地网络的特征节点之间的连接状态,在处理特征时以灵活的方式来切换全局和局部推理。


3. Method

3.1 Strong Baseline

Y O L O v 3 {\rm YOLOv3} YOLOv3是一阶段检测算法中经典的经典,凭借其结构简单、性能良好等特点,它在学术界和工业界都广受青睐,大多数学者都在魔改这一强大的 B a s e l i n e {\rm Baseline} Baseline,而本论文算是比较成功的一种改动。随着目标检测方法的推陈出新,仅将 m i x u p {\rm mixup} mixup S G D R {\rm SGDR} SGDR C G B N {\rm CGBN} CGBN等方法加入到原始 Y O L O v 3 {\rm YOLOv3} YOLOv3模型中就可以获得较大的提升。

3.2 Adaptively Spatial Feature Fusion

(七)论文阅读 | 目标检测之ASFF_第3张图片

图3:ASFF

传统特征融合多采用直接相加或拼接的形式,而论文使用的是学习不同特征图的融合权重。如上图是
A S F F {\rm ASFF} ASFF的结构,左边是一个经典的 F P N {\rm FPN} FPN结构,我们以 A S F F {\rm ASFF} ASFF- 3 3 3为例说明。首先,图中三个特征图中的下采样倍数分别是 32 32 32 16 16 16 8 8 8 A S F F {\rm ASFF} ASFF- 3 3 3的融合结构同时由三个特征图决定,以图中的符号表示为: A S F F − 3 = X 1 → 3 ⊗ α 3 + X 2 → 3 ⊗ β 3 + X 3 → 3 ⊗ γ 3 (1) {\rm ASFF-3}={\rm X}^{1→3}\otimes\alpha^3+{\rm X}^{2→3}\otimes\beta^3+{\rm X}^{3→3}\otimes\gamma^3\tag{1} ASFF3=X13α3+X23β3+X33γ3(1)

其中 α \alpha α β \beta β γ \gamma γ是可学习参数, ⊗ \otimes 是卷积操作。更一般地,令 x i j n → l {\rm x}^{n→l}_{ij} xijnl表示得到第 l l l层特征图的融合前的第 n n n层特征图上 ( x , y ) (x,y) (x,y)位置处的特征向量,则得到第 l l l层特征图的方式是: y i j l = α i j l ⋅ x i j 1 → l + β i j l ⋅ x i j 2 → l + γ i j l ⋅ x i j 3 → l (2) {\rm y}^l_{ij}=α^l_{ij}·{\rm x}^{1→l}_{ij}+β^l_{ij}·{\rm x}^{2→l}_{ij}+γ^l_{ij}·{\rm x}^{3→l}_{ij}\tag{2} yijl=αijlxij1l+βijlxij2l+γijlxij3l(2)

y i j l {\rm y}^l_{ij} yijl表示输出特征图上对应位置的特征向量。 α i j l α^l_{ij} αijl β i j l β^l_{ij} βijl γ i j l γ^l_{ij} γijl是在第 l l l层特征图学习到的权重,其中规定三者满足以下关系式: α i j l + β i j l + γ i j l = 1 ,      α i j l = e λ α i j l e λ α i j l + e λ β i j l + e λ γ i j l (3) α^l_{ij}+β^l_{ij}+γ^l_{ij}=1,\ \ \ \ α^l_{ij}=\frac{e^{λ^l_{α_{ij}}}}{e^{λ^l_{α_{ij}}}+e^{λ^l_{β_{ij}}}+e^{λ^l_{γ_{ij}}}}\tag{3} αijl+βijl+γijl=1,    αijl=eλαijl+eλβijl+eλγijleλαijl(3)

这里是常见的 s o f t m a x {\rm softmax} softmax的形式, λ ∗ l λ^l_* λl 1 × 1 1×1 1×1卷积分别作用在 x n − l {\rm x}^{n-l} xnl上得到,可以通过反向传播更新学习。

3.3 Consistency Property

本节以数学形式分析 A S F F {\rm ASFF} ASFF为什么能够做到有效的特征融合。不失一般性,首先讨论未经尺寸变化(融合特征图时需要将所有调整所有特征图的大小一致)的 l e v e l   1 {\rm level\ 1} level 1中位置 ( x , y ) (x,y) (x,y)处向量的梯度: ∂ L ∂ x i j 1 = ∂ y i j 1 ∂ x i j 1 ⋅ ∂ L ∂ y i j 1 + ∂ x i j 1 → 2 ∂ x i j 1 ⋅ ∂ y i j 2 ∂ x i j 1 → 2 ⋅ ∂ L ∂ y i j 2 + ∂ x i j 1 → 3 ∂ x i j 1 ⋅ ∂ y i j 3 ∂ x i j 1 → 3 ⋅ ∂ L ∂ y i j 3 (4) \frac{∂L}{∂{\rm x}^{1}_{ij}}=\frac{∂{\rm y}^{1}_{ij}}{∂{\rm x}^{1}_{ij}}·\frac{∂L}{∂{\rm y}^{1}_{ij}}+\frac{∂{\rm x}^{1→2}_{ij}}{∂{\rm x}^{1}_{ij}}·\frac{∂{\rm y}^{2}_{ij}}{∂{\rm x}^{1→2}_{ij}}·\frac{∂L}{∂{\rm y}^{2}_{ij}}+\frac{∂{\rm x}^{1→3}_{ij}}{∂{\rm x}^{1}_{ij}}·\frac{∂{\rm y}^{3}_{ij}}{∂{\rm x}^{1→3}_{ij}}·\frac{∂L}{∂{\rm y}^{3}_{ij}}\tag{4} xij1L=xij1yij1yij1L+xij1xij12xij12yij2yij2L+xij1xij13xij13yij3yij3L(4)

因为第一层特征图上位置 ( x , y ) (x,y) (x,y)处的特征向量会产生三条不同的输出(如上图),这里采用链式法则将偏导形式展开。特征图的上采样通常通过插值实现,下采样通过池化形式。我们假定 ∂ x i j 1 → l ∂ x i j 1 ≈ 1 \frac{∂{\rm x}^{1→l}_{ij}}{∂{\rm x}^{1}_{ij}}≈1 xij1xij1l1,则上式变为( x 1 → l {\rm x}^{1→l} x1l是调整尺寸后的特征向量, x 1 {\rm x}^1 x1为原特征向量,二者在调整尺寸前后几乎不变,可以将其导数近似看作 1 1 1): ∂ L ∂ x i j 1 = ∂ y i j 1 ∂ x i j 1 ⋅ ∂ L ∂ y i j 1 + ∂ y i j 2 ∂ x i j 1 → 2 ⋅ ∂ L ∂ y i j 2 + ∂ y i j 3 ∂ x i j 1 → 3 ⋅ ∂ L ∂ y i j 3 (5) \frac{∂L}{∂{\rm x}^{1}_{ij}}=\frac{∂{\rm y}^{1}_{ij}}{∂{\rm x}^{1}_{ij}}·\frac{∂L}{∂{\rm y}^{1}_{ij}}+\frac{∂{\rm y}^{2}_{ij}}{∂{\rm x}^{1→2}_{ij}}·\frac{∂L}{∂{\rm y}^{2}_{ij}}+\frac{∂{\rm y}^{3}_{ij}}{∂{\rm x}^{1→3}_{ij}}·\frac{∂L}{∂{\rm y}^{3}_{ij}}\tag{5} xij1L=xij1yij1yij1L+xij12yij2yij2L+xij13yij3yij3L(5)

基于 R e t i n a N e t {\rm RetinaNet} RetinaNet Y O L O v 3 {\rm YOLOv3} YOLOv3中的特征融合方式,这里设置 ∂ y i j 1 ∂ x i j 1 = 1 \frac{∂{\rm y}^{1}_{ij}}{∂{\rm x}^{1}_{ij}}=1 xij1yij1=1 ∂ y i j l ∂ x i j 1 → l = 1 \frac{∂{\rm y}^{l}_{ij}}{∂{\rm x}^{1→l}_{ij}}=1 xij1lyijl=1 x i j 1 → l {\rm x}_{ij}^{1\rightarrow l} xij1l表示调整尺寸后的特征向量, x i j l {\rm {\rm x}_{ij}^l} xijl表示卷积后产生的结果。 y {\rm y} y相当于是对 x {\rm x} x的激活结果,而常用的激活函数采用的是 R e L U {\rm ReLU} ReLU系列,所以其导数值可视为 1 1 1),上式即写为: ∂ L ∂ x i j 1 = ∂ L ∂ y i j 1 + ∂ L ∂ y i j 2 + ∂ L ∂ y i j 3 (6) \frac{∂L}{∂{\rm x}^{1}_{ij}}=\frac{∂L}{∂{\rm y}^{1}_{ij}}+\frac{∂L}{∂{\rm y}^{2}_{ij}}+\frac{∂L}{∂{\rm y}^{3}_{ij}}\tag{6} xij1L=yij1L+yij2L+yij3L(6)

根据上式,我们来进行相关分析。假设根据某种机制 l e v e l   1 {\rm level\ 1} level 1(最小特征图上)上位置 ( x , y ) (x,y) (x,y)处的特征向量通过融合后判断为正样本,则 ∂ L ∂ y i j 1 \frac{∂L}{∂{\rm y}^{1}_{ij}} yij1L为对应正样本的梯度。而在其他层上相应位置的向量被视为负样本,即 ∂ L ∂ y i j 2 \frac{∂L}{∂{\rm y}^{2}_{ij}} yij2L ∂ L ∂ y i j 3 \frac{∂L}{∂{\rm y}^{3}_{ij}} yij3L为相应负样本梯度。如果直接将其相加,正负样本的不一致性干扰了融合后的梯度 ∂ L ∂ x i j 1 \frac{∂L}{∂{\rm x}^{1}_{ij}} xij1L,降低了原始特征 x 1 {\rm x}^1 x1的训练效率。一种可能的解决办法是直接设置忽略掉其他负样本位置,即设置 ∂ L ∂ y i j 2 = ∂ L ∂ y i j 3 = 0 \frac{∂L}{∂{\rm y}^{2}_{ij}}=\frac{∂L}{∂{\rm y}^{3}_{ij}}=0 yij2L=yij3L=0。但由于可能会存在次优预测结果,单纯地忽略所谓的负样本可能产生次优结果、降低网络整体性能。因此, A S F F {\rm ASFF} ASFF中采取的方式是在每项梯度前面添加一个可学习的参数,得到如下形式: ∂ L ∂ x i j 1 = α i j 1 ⋅ ∂ L ∂ y i j 1 + α i j 2 ⋅ ∂ L ∂ y i j 2 + α i j 3 ⋅ ∂ L ∂ y i j 3 (7) \frac{∂L}{∂{\rm x}^{1}_{ij}}=α^1_{ij}·\frac{∂L}{∂{\rm y}^{1}_{ij}}+α^2_{ij}·\frac{∂L}{∂{\rm y}^{2}_{ij}}+α^3_{ij}·\frac{∂L}{∂{\rm y}^{3}_{ij}}\tag{7} xij1L=αij1yij1L+αij2yij2L+αij3yij3L(7)

其中 α i j 1 , α i j 2 , α i j 3 ∈ [ 0 , 1 ] α^1_{ij},α^2_{ij},α^3_{ij}∈[0,1] αij1,αij2,αij3[0,1]。如果 α i j 2 → 0 α^2_{ij}→0 αij20 α i j 3 → 0 α^3_{ij}→0 αij30,则梯度内的不一致性就会缓解。由于上述系数可以通过网络的反向传播更新学习,所以往往能够产生有效的系数。

3.4 Training, Inference, and Implementation

论文中本节主要介绍了模型训练、推理细节和实验环境。


4. Experiments

(七)论文阅读 | 目标检测之ASFF_第4张图片

图4:消融实验结果1对比

上式是各种 t r i c k {\rm trick} trick使用对最终模型结果的影响。

(七)论文阅读 | 目标检测之ASFF_第5张图片

图5:消融实验结果2对比

上图是常用的用于处理层间不一致的方法,即忽略掉相邻特征层的某些区域。由上述结果可知,无指导性地忽略掉区域可能带来模型性能的下降。
(七)论文阅读 | 目标检测之ASFF_第6张图片

图6:消融实验结果3对比

上图是就各种特征融合方式的实验结果比较。由结果可知, A S F F {\rm ASFF} ASFF取得了最佳的实验结果。

图7:可视化

上图是特征图融合前后的可视化。其中列表示学习到的热图、行表示不同层的热图。目标实例旁的红色数字表示该目标由哪一层检测得到,这里已经将各特征图的尺寸调整统一。我们以图中第二行中的网球为例说明,它由第三层特征图得到。我们可以看到,它在第一层和第二层中的特征被抑制,且融合操作加强了其在第三层特征图上的特征。又比如由第一层特征图检测得到的网球拍,在融合前它在第二层特征图上的响应较高,但经融合后它在第二层的响应被严重抑制而在第一层的响应得到加强。

(七)论文阅读 | 目标检测之ASFF_第7张图片

图8:目标检测实验结果对比


5. Conclusion

本文提出了一种高效的特征融合方法,并在基于经典的 Y O L O v 3 {\rm YOLOv3} YOLOv3网络上得到验证。由于论文只是针对特征融合这一点进行改进, A S F F {\rm ASFF} ASFF可以轻松迁移至其它网络。同时由结果对比可知, A S F F {\rm ASFF} ASFF并没有显著增加模型的计算量,模型在 608 608 608大小输入下的最大 F P S {\rm FPS} FPS仍可达 46.6 {\rm 46.6} 46.6


参考

  1. Liu S, Huang D, Wang Y. Learning Spatial Fusion for Single-Shot Object Detection[J]. arXiv preprint arXiv:1911.09516, 2019.


你可能感兴趣的:(论文阅读)