简介
图1:论文原文
论文是
2019年的一篇关于目标检测的论文,其主要创新点是在
FPN形式等结构的网络中提出一种自适应特征融合方式。
论文原文 源码
0. Abstract
在摘要部分,作者指出特征金字塔
FPN是一种常用的用于解决多尺寸检测的方案,但不同层的特征不同,直接融合会丢失有价值信息(
CVPR 2018年也有一篇关于
FPN中融合不同层特征的检测网络PANet)。论文提出一种自适应特征融合(
ASFF)方法,在基于
YOLOv3上,网络在
MS COCO数据集上的实验结果为
38.17%AP 60FPS、42.4%AP 45FPS、43.9%AP 29FPS。
本文贡献:(一)提出一种自适应特征融合方法,
ASFF;(二)
ASFF可以提高
FPN形式网络的性能;(三)
ASFF实现简单、计算量小。
1. Introduction
引言部分,首先介绍了经典
CNN、公开数据集和多尺度检测网络。
SSD首次利用金字塔式的特征,通过复用不同层的特征信息预测不同尺寸的目标。但这种自下而上的结构对小目标检测不具有鲁棒性,因为
SSD中用于小目检测的前面层语义信息不足从而导致了准确率低。
FPN结合自下而上和自上而下的结构,通过侧路连接融合相邻层的特征,间接地综合了底层语义信息和高层语义信息。但作者指出
FPN中特征直接融合方法仍遗漏了大量语义信息。
NAS-
FPN通过
NAS方法得到的
FPN结构中融合方法进一步提高了网络性能。
SNIP中使用尺度归一化方法,在多尺度图像金字塔中选择性地训练和推理使用合适的目标尺寸。但这种方法显著地增加了推理时间。
相比于图像金字塔,特征金字塔的一大缺点是不同尺度特征的不一致性,特别是对于一阶段检测器。确切地说,在
FPN形式的网络中启发式地选择特征,高层语义信息中检测大目标、低层语义信息中检测小目标。当某个目标在某一层被当做正类时,相应地该目标区域在其它层被当做负类。如果一幅图像中既有大目标也有小目标,那么不同层间的特征的不一致性将会影响最后检测结果(大目标的检测在某一层,小目标的检测在另一层,但是网络的多尺寸检测不会仅仅检测一个特定的区域,而是综合整幅图进行检测。在特征融合时,其它层很多无用的信息也会融合进来)。针对上述问题,论文指出了一些现存的解决方法。
论文提出了一种自适应特征融合方法,让网络自动学习滤除其它层无用的信息,保留有用信息以高效地融合特征。确切地说,对于某一层的特征,其它层的特征首先整合并调整为相同分辨率,然后通过训练找到最佳融合方式。如在不同层的相同位置处,有些特征包含无用信息被滤除,而有些特征包含有用信息被加强。
ASFF的特点:(1)寻找最佳融合方式的过程是可微分的,可以应用于反向传播;(2)可以应用于任何
FPN形式的网络中;(3)实现简单、计算量小。
图2:在MS COCO数据集上的实验对比
2. Related Work
SSD、FPN、PANet、DLA、NAS-
FPN、TridentNet、Libra R-CNN等。
ASFF的提出主要基于以下工作:Islam等引入了控制向前传递信息的门单元,以借助深层特征来辅助浅层特征滤除信息中的模糊和歧义。但作者指出语义分割中不需要在目标检测中的启发式特征选择,因为语义分割中是在所有层的特征上预测相同的标签(目标检测需要在特定层上预测一个目标,而语义分割是像素级操作,可以在综合所有层的预测结果而不会产生模糊性)。Daniel等提出在卷积和反卷积之间的跳跃连接上引入
sigmoid门单元,用于视觉计数。这优化了同一层间特征图的信息流动,但不能解决特征金字塔中的特征不一致性的问题。ACNet中自适应地确定特征节点间的连接状态,在处理内部特征时可以灵活地切换全局推理和局部推理,在分类、检测和分割任务上具有
SOTA表现。
3. Method
3.1 Strong Baseline
论文使用
YOLOv3为基础框架,其
backbone为
DarkNet-
53,检测部分为一个三层的特征金字塔。此外,论文使用了一系列训练技巧包括:
mixup方法、
SGDR、
CGBN,添加一个
Anchor-
Free分支同
Anchor-
Based共同训练、在
Smooth L1损失上添加一个
IoU Loss。基于这些技巧,
YOLOv3的结果从
33.0%mAP 52FPS提升为
38.8%mAP 50FPS。
3.2 Adaptively Spatial Feature Fusion
以往特征融合多采用值相加或拼接的形式,论文使用的方法是学习不同尺寸下特征的权重后再融合。
图3:网络结构
如图
3,左边是
FPN结构,下采样倍数分别是
32 16 8。对于预测部分,以
ASFF-
3为例,它由
Level 1、
Level 2和
Level 3共同得到。假设来自
Level 1部分的为
X1→3,学习到的权重为
α3,其他两部分类似。最后融合三部分后得到
ASFF-
3。得到
ASFF-
1和
ASFF-
2类似。
如上图是网络结构,它由两部分组成:固定尺寸和自适应融合。
固定尺寸,由于不同下采样倍数得到的特征图分辨率不同,所以在融合前需要固定大小。做法是首先使用
1×1卷积降维、上采样使用插值实现、下采样使用步长为
2的
3×3卷积和最大池化实现。
自适应融合,令
xijn→l表示由第
l层得到的第
n层的特征图上
(x,y)处的特征向量,在第
l层融合特征的方式:
yijl=αijl⋅xij1→l+βijl⋅xij2→l+γijl⋅xij3→l(3.1)
yijl表示特征图
yl上
(i,j)处的输出,
αijl、
βijl和
γijl为在第
l层网络学习到的权重。规定
αijl+βijl+γijl=1,
αijl,βijl,γijl∈[0,1],定义为:
αijl=eλαijl+eλβijl+eλγijleλαijll(3.2)
这里是
softmax的形式,
λ∗l由
1×1卷积分别作用在
xn→l上得到(类似于向量间的内积,由于这里
αijl是标量,所以是通道共享的),由此也可通过反向传播学习。
得到的
yn为三个尺度的检测,类似于
YOLOv3。
3.3 Consistency Property
本节分析
ASFF为什么能够做到特征融合时的一致性。不失一般性,首先讨论未经尺寸变化的
level 1中位置
(x,y)处的梯度:
∂xij1∂L=∂xij1∂yij1⋅∂yij1∂L+∂xij1∂xij1→2⋅∂xij1→2∂yij2⋅∂yij2∂L+∂xij1∂xij1→3⋅∂xij1→3∂yij3⋅∂yij3∂L(3.3)在计算中设置
∂xij1∂xij1→l≈1,上式即写为:
∂xij1∂L=∂xij1∂yij1⋅∂yij1∂L+∂xij1→2∂yij2⋅∂yij2∂L+∂xij1→3∂yij3⋅∂yij3∂L(3.4)基于
RetinaNet和
YOLOv3中的特征融合方式,这里设置
∂xij1∂yij1=1、
∂xij1→l∂yijl=1,上式即写为:
∂xij1∂L=∂yij1∂L+∂yij2∂L+∂yij3∂L(3.5)假设根据某种匹配机制,
level 1(最小特征图上)上位置
(x,y)被分配为一个目标的中心,
∂yij1∂L为正样本的梯度。因为在其他
level上相应位置被视为背景,所以
∂yij2∂L和
∂yij3∂L为负样本梯度。这种不一致性干扰了梯度
∂xij1∂L,降低了原始特征
x1的训练效率。
一种解决上述问题的方法是忽略其它
level上相应的位置,即设置
∂yij2∂L=∂yij3∂L=0,但这种做法中
yij2和
yij3的松弛性使得网络在次优
level上产生更多较差的预测结果。在
ASFF中,梯度的计算采用以下方式:
∂xij1∂L=αij1⋅∂yij1∂L+αij2⋅∂yij2∂L+αij3⋅∂yij3∂L(3.6)其中
αij1,αij2,αij3∈[0,1],如果
αij2→0、
αij3→0则梯度内的不一致性就会缓解。由于上述系数可以通过网络的反向传播学习,所以往往能够产生有效的系数。
3.4 Training,Inference,and Implementation
训练,令
Θ为网络参数、
Φ为控制特征融合的参数。通过最小化损失函数
L(Θ,Φ)同时优化
Θ和
Φ,其中
L来自于
YOLOv3加上
IoU Loss同时预测
anchor的形状和边界框回归。将
mixup应用在预训练的
DarkNet53上,所有层采用
MSRA初始化方法。
推理,同
YOLOv3一样,首先预测
anchor的形状,然后边界框回归,接着使用
NMS 0.6。
实施,
PyTorch v1.0.1、
CUDA 10.0、
CUDNN v7.1等。
4. Experiments
这部分实验主要对比训练技巧的使用,消融实验结果1:
图4:消融实验结果1对比
其中
BoF为使用
3.1中提到的所有技巧,
GA为使用
Guided Anchor,
IoU为
IoU Loss。
这部分实验主要对比是否忽略相邻层上对应区域,消融实验结果2:
图5:消融实验结果2对比
图中
εignore表示忽略区域与目标区域的比值。
这部分实验主要对比
ASFF的有效性,消融实验结果3:
图6:消融实验结果3对比
这里
concat表示融合方式为拼接,
sum表示融合方式为相加。
可视化:
图7:可视化
由图
7,列表示学习的权重热图、行表示不同层的热图。目标旁红色数字表示该目标由哪层检测得到,这里将各层热图大小统一了。由第二行中的网球可以得到,它由
level 3检测得到;相应地,它在
level 1和
level 2中被抑制,且最后的融合操作加强了其在
level 3中的响应。此外,第一行中的网球拍,它最后由
level 1检测得到,但其在融合前在
level 2和
level 3中响应较强,但经
ASFF后,网球拍在
level 1中响应最大。
实验结果对比:
图8:实验结果对比
5. Conclusion
本文提出了一种高效的特征融合方法,并在
FPN形式网络中表现
SOTA。
ASFF使经典
YOLOv3网络性能大大提高,同时也提出一种有效的特征融合方式,可以迁移到不同检测网络中。
由于没有阅读源码,本文只总结了
ASFF的大体结构和信息,详细内容请阅读论文原文。
参考
- Liu S, Huang D, Wang Y. Learning Spatial Fusion for Single-Shot Object Detection[J]. arXiv preprint arXiv:1911.09516, 2019.
完