1.综述
文章地址与文章代码;
文章主要思想可以简单的概括为fpn+attention;
文章的核心工作有两个
-
1.在yolov3的基础上采用了一系列更强的trick,获得了一个基于yolov3的超强baseline
主要包括如下技巧,详情可以参见论文
1) Guided Anchoring-一种anchor free 方法
2) Bag of Tricks-主要包括
mixup algorithm , cosine learning rate schedule, synchronized batch nor-malization technique.
详情论文里面有参考文献,请查阅
3) Additional IoU Loss -
2.提出了ASFF算法,实现了自适应的FPN结构下不同level层的特征融合,提升了性能
总体来说比yolov3提升了6个点之多
对于基于FPN的单级检测器来说,不同特征尺度之间的不一致是其主要限制。因此提出了自适应空间特征融合(ASFF)。它学习了在空间上过滤冲突信息以抑制梯度反传的时候不一致的方法,从而改善了特征的比例不变性,并且推理开销降低。
2.自适应特征融合(ASFF)
为了更加充分的利用高层特征的语义信息和底层特征的细粒度特征,很多网络都会采用FPN的方式输出多层特征,但是无论是类似于YOLOv3还是RetinaNet,它们都多用element-wise sum 和 concatenation这种直接衔接或者相加的方式,论文认为这样并不能充分的利用不同尺度的特征,所以提出了Adaptively Spatial Feature Fusion(自适应特征融合方式)。
其结构如下

以上图为例,上图展示的为level3这个层级的特征融合,主要分为两步
- 1.按照变换规则将level1与level2的特征图变换为与level3尺寸,通道(H,W,C)相同的特征图
- 2.按照各自的权重系数进行相乘并进行求和,即可得到融合后的特征ASFF-3
(H,W,C)变换规则
对于需要上采样的层,如想得到ASFF3,需要将level1的特征图调整到和level3的特征图尺寸一致,采用的方式是先通过1*1卷积调整到和level3通道数一致,再用插值的方式将尺寸调整到一致。
而对于需要下采样的层,比如想得到ASFF1,对于level2的特征图到level1的特征图只需要用一个3*3并且步长为2的卷积就OK了,如果是level3的特征图到level1的特征图则需要在3*3且步长为2的卷积的基础上再加上一个步长为2的最大池化层。
完成不同level的特征图的(H,W,C)统一;
权重系数
对于权重参数α,β,γ,则是通过resize后的level1~level3特征图经过concat然后进行1*1卷积获得的。并且参数α,β,γ经过concat之后通过softmax使得它们的范围都在[0,1]并且和为1.这些权重系数都是在训练中通过反向传播获得到的。

以ASFF-3的权重生成为例,作者将Level1_resized、Level2_resized、Level3(均为128×H×W),分别进行1×1卷积通道降维到16×H×W,然后三张特征图拼接成48×H×W的通道数,再进行1×1卷积降维到3×H×W,最后在进行softmax则得到了三个系数.
3.ASFF的原理
论文以YOLOv3为例,加入FPN后通过链式法则我们可以知道在反向传播的时候梯度计算如公式(3)所示:

稍微解释一下,左边的第一项 ∂ L ∂ x i j 1 \frac{\partial \mathcal{L}}{\partial \mathbf{x}_{i j}^{1}} ∂xij1∂L代表的是损失函数对level1的特征图的某个像素求导,在YOLOV3中不同尺度的层之间的尺度变化一般就是下采样和上采样,因此我们可以假设 ∂ x i j 1 → l ∂ x i j 1 ≈ 1 \frac{\partial \mathbf{x}_{i j}^{1 \rightarrow l}}{\partial \mathbf{x}_{i j}^{1}} \approx 1 ∂xij1∂xij1→
ASFF算法详解

本文介绍了一种名为ASFF的自适应空间特征融合算法,该算法应用于目标检测任务中,能够有效提升基于FPN结构的单级检测器性能。ASFF通过引入权重系数,解决了不同特征尺度间融合的问题,增强了特征比例的不变性。
最低0.47元/天 解锁文章
1424





