ASFF论文笔记

论文:Learning Spatial Fusion for Single-Shot Object Detection. Songtao Liu,Di Huang,Yunhong Wang

 


摘要

金字塔特征表示是解决目标检测中尺度变化问题的常用方法。然而,不同特征尺度上的不一致性是基于特征金字塔的单阶段检测器的主要局限性。在这项工作中,我们提出了一种新的数据驱动的金字塔特征融合策略,即自适应空间特征融合( adaptively spatial feature fusion,ASFF)。它通过学习空间滤波器矛盾信息的方法来抑制不一致性,从而提高了特征的尺度不变性,并且推理几乎无开销。通过结合ASFF策略和YOLOv3,我们在MS COCO数据集上实现了最佳的速度-准确性平衡,报告了60 FPS下38.1%的AP, 45 FPS下42.4%的AP和29 FPS下43.9%的AP。代码开源:https://github.com/ruinmessi/ASFF.

引言

目标检测是各种下游视觉任务中最基本的部分之一。近年来,由于深度卷积神经网络(deep convolutional neural network, CNNs)[17,32,11,35]和良好注释的数据集[5,22]的快速发展,目标检测器的性能得到了显著提高。然而,处理跨宽尺度的多目标仍然是一个具有挑战性的问题。为了实现尺度不变性,最近最先进的检测器构建特征金字塔或多层级特征塔multi-level feature towers)[25,20,31,9,21]。

SSD[25]是第一个尝试生成卷积金字塔特征表示的目标检测方法。它重用了前向通道中计算的不同层级(level)的多尺度特征图来预测不同大小的目标。然而,这种自下而上的路径在小目标上的准确性较低,因为浅层特征图包含的语义信息不足。

为了解决SSD的缺点,特征金字塔网络(FPN)[20]在骨干网模型中将相邻的两个特征层级层按顺序组合,采用自上而下的路径和横向连接。低分辨率、语义强的特征被上采样,并与高分辨率、语义弱的特征相结合,建立一个在所有层级上共享丰富语义的特征金字塔。FPN和其他类似的自上而下的结构[6, 16, 39, 42, 31]简单有效,但仍有很大的改进空间。事实上,许多最近的模型[24,4,40,15,29]具有先进的跨尺度连接,通过加强特征融合,显示了准确性的提高。除了人工设计的融合结构外,NAS-FPN[8]还应用了神经结构搜索(NAS)技术来追求更好的结构,在许多骨干网络上产生了显著的改进。

尽管这些先进的研究提供了更强大的特征金字塔,但它们仍然为尺度不变预测留下了空间。SNIP[33,34]给出了一些证据,它采用了一种尺度归一化方法,在多尺度图像金字塔的每个图像尺度中有选择性地训练和推断出适当大小的目标,在多尺度测试的基于金字塔特征检测器的结果上取得了进一步的改进。然而,图像金字塔解决方案大大增加了推断时间,这使得它们不适用于现实世界的应用。

同时,与图像金字塔相比,特征金字塔的一个主要缺点是在不同尺度上不一致,特别是对于单阶段检测器。当特征金字塔检测目标时,采用启发式方法选择特征:大的目标通常与上层的特征图有关,小的目标与低层的特征图有关。但当某一目标在某一层级的特征图中被赋值并被看作正样本时,其它层级的特征图中相应的区域被视为背景。若一幅图像中既有小目标又有大目标,那么不同层级的特征之间的矛盾往往会占据特征金字塔的主要部分。这种不一致性干扰了训练过程中的梯度计算,降低了特征金字塔的有效性。

一些模型采用了几种尝试性的策略来处理这个问题。[38,45]将相邻层级特征图的对应区域设置为忽略区域ignore regions)(即零梯度),但这样的减小可能增加特征相邻层级劣质的预测。TridentNet[19]创建了多个特定尺度scale-specific)的分支,这些分支具有不同的感受野,用于感知尺度scale-aware)的训练和推理。它放弃了特征金字塔以避免不一致,但也错过了对其高分辨率特征图的重用,限制了小实例的准确性。

本文提出了一种新的、有效的方法,即自适应空间特征融合(adaptively spatial feature fusionASFF),来解决单阶段检测器中特征金字塔的不一致性问题。提出的方法使网络能够直接学习如何在其他层级上对特征进行空间过滤spatially fileter),以便只保留有用的信息进行组合。对于某一层级的特征,先将其他层级的特征缩放到同一分辨率下,然后进行训练,寻找最优融合。在每个空间位置,不同层级的特征被自适应地融合,即一些特征在该位置携带的信息可能被过滤掉,一些特征可能以更具判别性的线索占据主导地位。ASFF有以下几个优点

(1) 由于搜索最优融合的操作是可微的,因此可以方便地通过反向传播学习;

(2) 与骨干网络不相关,适用于具有特征金字塔结构的单阶段探测器;

(3) 它的实现很简单的,且只需很少的额外计算代价。

COCO[22]基准上的实验验证了该方法的有效性。首先采用了最近先进的训练技巧[43]和anchor-guiding pipeline[38]来为YOLOv3提供坚实的基线(38.% mAP,50FPS)。然后,我们使用ASFF进一步改进了这一增强的YOLOv3和另一个强大的one-stage检测器,RetinaNet[21]。特别地,我们将YOLOv3基线提升至42.4% mAP 45FPS和43.9% mAP 29FPS。这是在COCO上所有现有检测器中最先进的速度和精度权衡。

图片15.jpg 

 

 

相关工作

特征金字塔表示(Feature pyramid representations)或多层级特征塔(multi-level feature towers)是目前目标检测器多尺度处理解决方案的基础。SSD[25]是第一个尝试以bottom-up的方式从多个特征尺度预测类别分数和边界框的目标检测算法。FPN[20]通过将两个相邻的具有top-down路径和横向连接的特征层级按顺序组合来构建特征金字塔。这种连接有效地增强了特征表示,而且depp的丰富语义和低分辨率特征在所有级别上都是共享的。

FPN之后,出现了许多具有类似top-down结构的模型[6,16,39,42,31],这些模型在目标检测方面取得了实质性的改进。最近,更先进的研究试图改进这种多尺度特征表示。例如,PANet[24]提出了一种基于FPN的bottom-up通道,增加了深层的low-level信息。Chen等人的[4]建立了一个基于SSD的金字塔,在不同层级的特征层中编织特征。DLA[40]引入迭代深度聚合( iterative deep aggregation)和分层深度聚合(hierarchical deep aggregation)结构,更好地融合语义和空间信息。Kim等人[13]通过采用空间金字塔池化和扩大网络,显示出一个平行的特征金字塔。Zhu等人[45]提出了一个特征选择anchor-free模块,可以动态地为每个实例选择最合适的特征层级。Konget al.[15]将所有尺度上的特征图聚合到一个特定尺度上,然后通过对组合特征的全局注意操作生成每个尺度上的特征。Libra R-CNN[29]还集成了所有层级的特征,以生成更平衡的语义特征。除了手工设计融合结构外,NAS-FPN[8]应用神经结构搜索算法(NAS)寻找更强大的融合结构,提供最好的单阶段检测器。

尽管有竞争性的分数,这些基于特征金字塔的方法仍然受到不同尺度的不一致性的影响,这限制了进一步的性能提高。为了解决这个问题,[38,45]将相邻层级对应的区域设置为忽略区域(即零梯度),但相邻层级的松弛往往会导致更多的劣预测为假阳性。TridentNet[19]去掉了特征金字塔的结构,并创建了多个具有不同接受域的特定尺度分支,以采用尺度感知训练和推理,但小实例的性能可能会受到其更高分辨率地图的缺失的影响。

提出的ASFF方法通过学习不同特征图之间的连接来缓解这一问题。实际上,这个想法在计算机视觉领域并不新鲜。

 

 

方法

在本节中,我们实例化了自适应空间特征融合(ASFF)方法,展示了它如何在具有特征金字塔的single-shot检测器上工作,如SSD[25]、RetinaNet[21]和YOLOv3[31]。以YOLOv3为例,我们将ASFF应用于它,并在接下来的步骤中演示生成的检测器。首先,我们通过采用最近的先进训练技巧[43]和anchor-free pipeline,将YOLOv3推到一个比原来[31]强得多的基线[38,45]。在此基础上,给出了ASFF的表达式,并对金字塔特征融合与ASFF的一致性进行了定性分析。最后,我们展示了训练、测试和实现模型的细节。

强大的基线

我们采用YOLOv3[31]框架是因为它简单而高效。在YOLOv3中,有两个主要的组成部分:一个高效的骨干网络(darknet-53)和一个三层的特征金字塔网络。最近的一项工作[43]显著提高了YOLOv3的性能,而无需修改网络架构并带来额外的推理成本。此外,一些研究[38,45,36,14]表明,anchor-free pipeline具有更简单的设计,且性能显著提高。为了更好地证明我们提出的ASFF方法的有效性,我们在这些先进技术的基础上建立了一个比原来的[31]强得多的基线。

[43]之后,我们介绍了一系列的训练技巧,如mixup算法[12],余弦[26]学习速率方案,同步BN技术[30]。除了这些技巧之外,我们进一步增加了一个Anchor-free的分支,像[45]一样与Anchor-based分支共同运行,并利用[38]提出的anchor guiding机制来细化结果。此外,为了得到更好的边界框回归,在原平滑L1损失的基础上,加入了IoU损失。更多细节可以在补充材料中找到。

通过上述先进的技术,我们在COCO [22] 2017 val上以50 FPS的速度(在Tesla V100上)实现了38.8%的mAP,大大提高了原来的YOLOv3-608基线(33.0% mAP With 52 FPS[31]),而无需在推理方面花费大量的计算成本。

 

ASPP

不同于以往采用逐元素相加或串接的方法来整合多层级特征,我们的核心思想是自适应地学习每个尺度上特征图融合的空间权值。管道如图2所示,它包含两个步骤: identically rescaling和adaptively fusing。

 图片16.jpg

Feature Resizing:将YOLOv3的特征层级l(l{1,2,3})的特征记为xl。对于层级l,我们将其它层级n (n  l)上的特征xn调整为与xl相同的大小。由于YOLOv3中三个层级的特征具有不同的分辨率和不同的通道数量,我们相应地修改了每个尺度的上采样和下采样策略。对于上采样,我们首先使用1 × 1的卷积层将特征通道数量压缩到l层级,然后通过插值提高分辨率。对于1/2比例的下采样,我们简单地使用3 × 3的卷积层,步幅为2,同时修改通道数量和分辨率。对于1/4的比例,在进行2步长卷积之前,我们增加了2步长最大池化层。

Adaptive Fusion:记xijn->l为层级n缩放到层级l的特征图中位置(i,j)的特征向量,则对应层级l中融合的特征为:

图片17.jpg 

其中yijl表示输出特征图yl的第(i,j)特征向量。αijlβijlγijl表示三个不同层级到l层的特征图的空间重要性权重,可以由网络自适应学习。注意αijl βijlγijl可以是简单的标量变量,它们在所有通道中都是共享的。受[37]的启发,我们令αijl+βijl+γijl=1,同时αijl βijlγijl∈[0,1],定义为

图片18.png 

这里的αijlβijlγijl通过softmax函数定义,控制分数分别是λαijlλβijlλγijl。我们利用1 × 1卷积层从x1→lx2→lx3→l到计算权重标量图λαlλβlλγl,,从而可以通过标准的反向传播学习到它们。

该方法在每个尺度上对所有层级的特征进行自适应聚合。输出{y1, y2, y3}用于YOLOv3的相同管道的目标检测。

Consistency Property

通过梯度来证明ASFF的有效性:略。


训练细节

    略。 


 

 


下一篇:

首页 所有文章 机器人 计算机视觉 自然语言处理 机器学习 编程随笔 关于