基于学习空间融合的单发目标检测(Learning Spatial Fusion for Single-Shot Object Detection)

Songtao Liu
Beihang University
liusongtao@buaa.edu.cn
Di Huang
Beihang University
dhuang@buaa.edu.cn
Y unhong Wang
Beihang University
yhwang@buaa.edu.cn

https://github.com/ruinmessi/ASFF/blob/master/models/yolov3_asff.py

摘要金字塔特征表示是解决目标检测中尺度变化问题的常用方法。然而,不同特征尺度之间的不一致性是基于特征金字塔的单镜头检测器的主要缺陷。本文提出了一种新的基于数据驱动的金字塔特征融合策略,称为自适应空间特征融合(ASFF)。它学习了空间过滤冲突信息以抑制不一致性的方法,从而提高了特征的尺度不变性,并引入了几乎免费的推理开销。利用ASFF策略和YOLOv3的坚实基线,我们在MS COCO数据集上实现了最佳速度精度权衡,60 FPS时的AP为38.1%,45 FPS时的AP为42.4%,29 FPS时的AP为43.9%。这些代码可以在https://github.com/runmisi/ASFF上找到。

目标检测是各种下游视觉任务中最基本的组成部分之一。近年来,随着深卷积神经网络(CNNs)[17,32,11,35]和注释良好的数据集[5,22]的迅速发展,目标检测器的性能得到了显著的提高。然而,在大范围内处理多个对象仍然是一个具有挑战性的问题。为了实现尺度不变性,最新的最先进的探测器构造特征金字塔或多级特征塔[25,20,31,9,21]。单镜头检测器(SSD)[25]是为目标检测生成卷积金字塔特征表示的首次尝试之一。它利用前向过程中计算出的不同层次的多尺度特征映射来预测不同大小的目标。然而,由于浅层特征映射包含的语义信息不足,这种自底向上的路径在小实例上的精度较低。为了解决SSD的缺点,特征金字塔网络(FPN)[20]顺序地将骨干模型中特征层次中的两个相邻层与自顶向下的路径和横向连接相结合。

低分辨率、语义强的特征被上采样,并与高分辨率、语义弱的特征相结合,构建一个在各个层次共享丰富语义的特征金字塔。FPN和其他类似的自顶向下结构[6,16,39,42,31]简单有效,但仍有很大的改进空间。事实上,许多最近的模型[24,4,40,15,29]采用了先进的交叉尺度连接,通过加强特征融合,显示出精度的提高。除了手工设计的融合结构外,NAS-FPN[8]还应用了神经架构搜索(NAS)技术来追求更好的架构,对许多主干网产生了显著的改进。尽管这些高级研究提供了更强大的特征金字塔,但它们仍然为尺度不变预测留下了空间。SNIP[33,34]提出了一些证据,它采用了一种尺度归一化方法,在多尺度图像金字塔的每个图像尺度上有选择地训练和推断适当大小的目标,从而进一步改进了基于金字塔特征的多尺度检测结果。然而,图像金字塔解大大增加了推理时间,这使得它们不适用于实际应用。

同时,与图像金字塔相比,特征金字塔的一个主要缺点是不同尺度上的不一致性,特别是对于单镜头检测器。具体来说,当使用特征金字塔检测对象时,采用启发式特征选择:大实例通常与上部特征映射相关联,小实例与下部特征映射相关联。当某一对象在某一级别的特征图中被指定为正时,其他级别的特征图中的相应区域被视为背景。因此,如果一幅图像同时包含大小目标,不同层次特征之间的冲突往往占据特征金字塔的主要部分。这种不一致性干扰了训练过程中的梯度计算,降低了特征金字塔的有效性。一些模型采用了一些尝试性的策略来处理这个问题。[38,45]将相邻级别的特征地图的相应区域设置为忽略区域(即零梯度),但这种减少可能会增加相邻级别特征的劣质预测。TridentNet[19]创建了多个具有不同感受野的尺度特异性分支,用于尺度感知训练和推理。它脱离了特征金字塔以避免不一致性,但也错过了重用其更高分辨率的映射,从而限制了小实例的准确性。本文提出了一种新的有效方法,即自适应空间特征融合(ASFF),以解决单镜头探测器特征金字塔的不一致性。所提出的方法使网络能够直接学习如何在空间上过滤其他层次的特征,以便只保留有用的信息进行组合。对于某一层次的特征,首先将其他层次的特征进行融合,调整到同一分辨率,然后对其进行训练,寻找最优融合。在每个空间位置,不同层次的特征被自适应地融合,即,一些特征在该位置携带矛盾信息时可能被滤除,一些特征可能以更具辨别力的线索支配。ASFF具有以下优点:(1)由于搜索最优融合的操作是差分的,因此可以方便地在反向传播中学习;(2)它对主干模型不可知,适用于具有特征金字塔结构的单镜头检测器;其实现简单,计算量小。

在COCO[22]基准上的实验验证了我们方法的有效性。我们首先采用最新的高级训练技巧[43]和锚导管道[38]为YOLOv3[31]提供坚实的基线(即38.8%的mAP,50 FPS)。然后,我们使用ASFF进一步改进这个增强的YOLOv3和另一个强大的单级检测器RetinaNet[21],它大幅度地配备了不同的主干,同时控制了计算成本。特别是,我们将YOLVO3基线提高到42.4%地图,45 FPS和43.9%地图与29 FPS,这是一个最先进的速度和准确性之间的权衡现有的所有COCO探测器。2。相关的工作特征金字塔表示或多级特征塔是解决当前目标检测器多尺度处理问题的基础。SSD[25]是第一次尝试以自底向上的方式从多个特征尺度预测类分数和边界框。FPN[20]通过将两个相邻级别的特征与自上而下的路径和横向连接顺序组合,构建特征金字塔。这种连接有效地增强了特征表示,depp的丰富语义和低分辨率特征在各个层次上共享。继FPN之后,出现了许多具有类似自顶向下结构的模型[6、16、39、42、31],这些模型在目标检测方面取得了实质性的改进。近年来,越来越多的研究试图改进这种多尺度特征表示方法。例如,PANet[24]提出了一种基于FPN的自下而上的额外路径,以增加深层的低层信息。Chen等人。[4]构建一个基于固态硬盘的金字塔,将不同级别的功能层编织在一起。DLA[40]引入了迭代深度聚合和分层深度聚合结构,以更好地融合语义和空间信息。Kim等人。[13]通过空间金字塔池和扩展网络,展示一个平行的特征金字塔。朱等人。[45]提供一个特征选择无锚模块,以便动态地为每个实例选择最合适的特征级别。孔等人。[15]将所有尺度上的聚合特征映射到特定尺度,然后通过对组合特征的全局注意操作在每个尺度上生成特征。Libra R-CNN[29]还集成了所有级别的功能,以生成更平衡的语义功能。NASFPN[8]除了手工设计融合结构外,还应用神经结构搜索算法寻找更强大的融合结构,提供最佳的单次激发检测器。尽管具有竞争性的分数,但是基于金字塔特征的方法在不同尺度上仍然存在不一致性,这限制了进一步的性能提升。为了解决这个问题,[38,45]将相邻层的相应区域设置为忽略区域(即零梯度),但相邻层的松弛往往会导致更差的预测为误报。TridentNet[19]去掉了特征金字塔的结构,创建了多个具有不同感受野的scalespecific分支,采用尺度感知训练和推理,但是小实例的性能可能会受到其高分辨率映射丢失的影响。

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

1]在两个相邻的特征映射中采用元素乘积自顶向下的方式形成门单元,用于密集标签预测。基于元素的乘积运算减少了浅层的分类歧义,突出了深层的可分辨性。这种门控机制成功地实现了语义分割。然而,由于各个层次的特征在不同尺度上预测同一个标签地图,因此在目标检测中不需要启发式的引导特征选择。因此,它不能减少目标检测中的空间矛盾。[28]提出了一个乙状窦门控单元,用于在每一个单级特征的卷积层和反卷积层之间跳过连接,以进行视觉计数。它优化了同一级别的特征映射中的信息流,但不处理特征金字塔中的不一致性。AcNET[ 37 ]通过自适应地确定CNNs、经典多层感知器和非局域网络之间的特征节点之间的连接状态,灵活地切换全局和局部推理来处理特征表示。与之相反,ASFF自适应地学习每个位置上不同层次特征的导入程度,以避免空间矛盾。

三。方法

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

3.1条。强基线

我们采用YOLOv3[31]框架,因为它简单有效。在YOLOv3中,有两个主要组成部分:一个有效的主干网(DarkNet-53)和一个三层的特征金字塔网络。最近的一项工作[43]在不修改网络结构和带来额外推理成本的情况下显著地提高了YOLOv3的性能。此外,许多研究[38、45、36、14]表明,无锚管道有助于通过更简单的设计获得更好的性能。为了更好地证明我们提出的ASFF方法的有效性,我们基于这些先进技术建立了一个比origin[31]强得多的基线。在[43]之后,我们介绍了训练过程中的一些技巧,如混合算法[12]、余弦[26]学习速率调度和同步批处理规范化技术[30]。除了这些技巧之外,我们还像[45]一样添加了一个无锚分支来与基于锚的分支一起运行,并利用[38]提出的锚引导机制来改进结果。此外,为了更好地进行包围盒回归,在原光滑L1损失上使用了额外的交并(IoU)损失函数[41]。更多细节见补充材料。

利用上述先进技术,我们在COCO[22]2017 val集合上以50 FPS的(在特斯拉V100上)获得38.8%的mAP,大大提高了原始的YOLOv3-608基线(33.0%的mAP,52 FPS[31]),而无需大量的计算成本。

3.2条。自适应空间特征融合不同于以往的基于元素和或级联的多层次特征融合方法,我们的核心思想是自适应地学习各尺度特征地图融合的空间权重。管道如图2所示,它由两个步骤组成:相同的重新缩放和自适应融合。

功能调整。我们将水平l(l∈{1,2,3}对于YOLOv3)的分辨率特征表示为xl。对于级别l,我们将另一个级别n(n 6=l)的特征xnat调整为与xl相同的形状。由于YOLOv3中三个级别的特征具有不同的分辨率和不同的通道数,因此我们相应地修改了每个尺度的上采样和下采样策略。对于上采样,我们首先使用1×1卷积层将特征的通道数压缩到l级,然后分别使用插值来提高分辨率。对于1/2比例的下采样,我们简单地使用一个3×3的卷积层(步长为2)来同时修改通道数和分辨率。对于1/4的比例,我们在2步卷积之前添加了一个2步最大池层。

自适应融合。设xn→l i j表示从n级调整到l级的特征映射上位置(i,j)处的特征向量。我们建议在相应的l级融合特征,如下所示

其中,yl i j表示输出特征映射ylamong通道的(i,j)-th向量。αl ij、βl ij和γl ij是指网络自适应学习到的三个不同层次的特征映射到l层的空间重要性权重。注意,αl ij、βl ij和γl ij可以是简单的标量变量,它们在所有通道中共享。受[37]的启发,我们强制αl ij+βl ij+γl ij=1和αl ij,βl ij,γl ij∈[0,1],并定义 

这里αl ij、βl ij和γl ij分别用带λlαij、λlβij和λlγij控制参数的softmax函数定义。利用1×1卷积层分别计算了x1→l、x2→l和x3→l的权重标量映射λlα、λlβ和λlγ,从而可以通过标准的反向传播进行学习。

该方法在每个尺度上自适应地聚集各个层次的特征。输出{y1,y2,y3}用于跟随YOLOv3的同一管道进行目标检测。

3.3条。在这一部分中,我们分析了所提出的ASFF方法和其他特征融合方法的一致性。在不丧失一般性的情况下,我们将重点放在YOLOv3中的水平1x1的未定形特征映射的某个位置(i,j)的梯度上。根据链规则,梯度计算如下:

 

值得注意的是,特征尺寸调整通常使用向上采样的插值和向下采样的池。因此,为了简单起见,我们假设∂x1→l/ ij∂x1 ij≈1。则式(3)可写成: 

对于RetinaNet[21]、YOLOv3[31]和其他基于金字塔特征的检测器中使用的两种常见的融合操作(即按元素求和和和和级联),我们可以用∂y1 ij∂x1 ij=1和∂yl ij∂x1→l ij=1将方程进一步简化为:

 

 假设水平1的位置(i,j)根据一定的比例匹配机制被指定为对象的中心,∂L∂y1 ij是正样本的梯度。由于相应的位置被视为其他级别的背景,∂L∂y2 ij和∂L∂y3 ij是来自负样本的梯度。这种不一致性干扰了∂L∂x1 ij的梯度,降低了原始特征映射x1的训练效率。

处理这个问题的一个典型方法是将其他级别的相应位置设置为忽略区域(即,∂L∂y2 ij=∂L∂y3 ij=0)[38,45]。然而,尽管x1-ij中的冲突被消除,y2-ij和y3-ij中的松弛倾向于在次优水平上导致更差的预测作为假阳性。对于ASFF,从式(1)和式(4)直接计算梯度如下:

其中α1ij,α2ij,α3ij∈[0,1]。利用这三个系数,当α2ij→0和α3ij→0时,梯度的不一致性可以得到协调。由于融合参数可以通过标准的反向传播算法来学习,因此经过良好调整的训练过程可以产生这样的有效系数(参见图3和图4中的一些定性结果)。同时,保留了∂L∂y2 ij和∂L∂y2 ij中背景的监控信息,避免产生更多的误报。

3.4条。培训、推理和实施培训。设Θ表示网络参数集(例如卷积滤波器的权重),Φ={λlα,λlβ,λlγ| l=1,2,3}为控制每个尺度的空间融合的融合参数集。我们通过最小化损失函数L(Θ,Φ)来共同优化这两组参数,其中L是原始的YOLOv3目标函数加上锚形状预测和包围盒回归的IoU回归损失[41]。在[43]之后,我们将mixup应用于DarkNet53的分类预训练,并且所有新的卷积层都使用MSRA权重初始化方法[10]。为了减少过度拟合的风险并提高网络预测的泛化程度,我们采用了YOLOv3[31]中的随机形状训练方法。更具体地说,将N个训练图像的小批量调整为toN×3×H×W,其中H=W在{320,352,384,416,448,480,512,544,576,608}中随机选取。

推断。在推理过程中,每个级别的检测头首先预测锚的形状,然后按照与YOLOv3[31]中相同的管道进行分类和盒回归。接着,将阈值为0.6的非最大抑制(NMS)分别应用于每个类。为了与其他同行进行简单和公平的比较,我们不使用诸如软NMS[2]或测试时间图像增强之类的高级测试技巧。

实施。我们使用CuDA 10和CUDNN V7.1使用现有的Pyr火炬V1.0.1框架来实现修改后的YOLVO3和ASFF。整个网络在4个GPU(NVDIA Tesla V100)上进行随机梯度下降(SGD)训练,每个GPU有16幅图像。所有模型都接受了300个阶段的训练,前4个阶段是热身期,余弦学习率表[26]从0.001到0.00001。重量衰减为0.0005,动量为0.9。我们还按照[43]的实现来关闭最后30个阶段的混合增强。

四。实验我们在具有挑战性的MS COCO 2017基准的包围盒检测轨迹上执行所有实验[22]。我们遵循惯例[38,31]并使用

COCO train-2017 split(包含115k张图片)用于培训。我们根据val-2017分割评估(5k图像)进行消融和敏感性研究。对于我们的主要结果,我们在test dev split(20k个图像)上报告COCO AP,它没有公共标签,需要将检测结果上传到评估服务器。

4.1条。消融研究固体基线。我们首先评估了一些元素对基线检测器的贡献,以获得更好的参考。结果见表1,其中BoF表示[43]中提到的所有训练技巧,GA表示引导锚定策略[38],IoU是包围盒回归中的额外IoU损失[41]。从表1中,我们可以看到所有的技术都有助于提高准确度,多亏了它们,我们的最终基线达到38.8%的AP。值得注意的是,几乎所有组件的改进都是免费的,因为BoF和IoU不增加任何额外的计算,而GA只为每个级别的特征映射引入两个1×1卷积层。在NVIDIA Tesla V100的一张显卡上,最终的基线速度达到了50 FPS。相邻忽略区域的有效性。为了避免梯度不一致,一些工作[38,45]忽略了每个目标在所选级别的两个相邻级别上的相应区域,并且忽略的区域与所选级别上的正区域的大小相同。在YOLOv3中,只有所选区域的中心位置是正的,因此我们忽略了相邻两层对应的中心位置以遵循忽略规则。另外,我们指的是?忽略忽略区域的宽度和长度与目标对象区域的宽度和长度之比,并进行不同值的实验?忽略策略的有效性。表2报告了研究结果。我们可以看到,较大的忽略区域确实会带来更多的误报,从而损害检测器的性能。自适应空间特征融合。如表3所示,ASFF显著改善了box AP,从38.8%提高到40.6%。更具体地说,大部分改进来自APSand-APM,与相应的参考分数相比分别提高了2.9%和2.9%。实验结果表明,所提出的自适应融合策略在很大程度上改善了高分辨率特征的表示。此外,ASFF只需要额外2ms的推理时间,使检测器以46fps的速度高效运行。

如第。3.2为了自适应地融合每个尺度的特征,在融合之前,首先将其他层次的特征调整为相同的形状。为了进行公正的比较,我们进一步报告了另外两种常见的

 

图3。在COCO val-2017上可视化检测结果,以及在每个级别上学习的权重标量图。我们放大红色框内的3级热图,以获得更好的可视化效果。使用表3中调整大小的特征的融合操作(即按元素求和和和连接)。从表中我们可以看出,这两种操作提高了APS和APMas ASFF的精度,但都大大降低了APL的性能。这些结果表明特征金字塔中不同层次的不一致性

 

 

对训练过程带来负面影响,使金字塔特征表示的潜力得不到充分发挥。

为了了解如何自适应地融合特征,我们在图3和图4中可视化了一些定性结果。检测结果见左列。学习到的权重标量的热图和每个级别的融合特征激活图在右栏中。对于融合后的特征图,我们将所有通道中的值进行汇总,以可视化激活图。方框附近的红色数字表示检测对象的融合特征级别。请注意,这三个级别的实际分辨率是不同的,为了更好地可视化,我们将它们调整为统一的大小。具体来说,在图3中,我们研究当图像中的所有对象具有大致相同的大小时ASFF是如何工作的。另外值得注意的是,YOLOv3只将对应特征映射中对象的中心点作为正数。对于第一行的图像,这三个斑马都是从一级融合的特征图中预测出来的这表明它们的中心区域由级别1的原始特征支配,并且从级别2和级别3的这些区域中的调整大小的特征被过滤掉。这种过滤保证了这三只斑马在2级和3级的特征被当作背景,在训练中不会得到正梯度。对于ASFF,在第2级和第3级融合过程中,也滤除了第1级调整后的特征中心区域,并且在训练过程中,第1级的原始特征不会出现负梯度。对于第二行的图像,所有的绵羊都由3级融合特征图进行预测。我们放大红色框内的3级热图,以获得更好的可视化效果。在融合过程中,由于一级特征包含较强的语义信息,因此将其保留在目标区域内,而三级特征对定位更敏感,因此将其提取到每个目标的周围。

在图4中,我们展示了具有多个不同大小对象的图像。大多数相应级别的融合病例与图3相似。同时,人们可能会注意到第二节的网球拍

图像是从一级预测的,但热图显示,其中心区域内的主要特征是从二级调整后的特征中提取的。我们推测,虽然网球拍是由启发式的大小选择从一级预测的,但二级的特征在检测时更具区分性,因为它们包含了更丰富的线和形状线索。由于我们的ASFF模块,最终的特征可以从最优融合中自适应学习,这尤其有助于检测具有挑战性的目标。请在补充材料中看到更多的视觉效果。

4.3条。为了更好地评价该方法的性能,我们用另一个具有代表性的单点探测器RetinaNet进行了额外的实验。首先,我们直接采用官方实现[27]来复制基线。然后,我们在FPN上从P3到P5的金字塔特性图后面添加ASFF,如图2所示。如表5所示,ASFF持续提高不同骨干(即ResNet-50和ResNet-101)的视网膜网的准确性。4.4条。与目前的技术水平相比,我们在COCO测试dev split上评估我们的检测器,以与表4中的最新技术方法进行比较。

最终的模型是YOLOv3和ASFF*,这是一个增强的ASFFversion,它集成了其他轻量级模块(即DropBlock[7]和RFB[23]),训练时间比第4.1节中的模型长1.5倍。为了保持YOLOv3的高效率,我们成功地将其性能提升到与最先进的单点探测器(如FCOS[36]、CenterNet[44]和NAS-FPN[8])相同的水平,如图1所示。注意,在相同的权重下,YOLOv3可以在不同的输入分辨率下进行评估,当我们降低输入图像的分辨率以追求更快的检测器时,ASFF可以更显著地提高性能。

5结论

识别不同特征尺度上的不一致性是单点金字塔探测器的主要局限性。为了解决这一问题,我们提出了一种新的ASFF策略,该策略通过学习自适应空间模糊权值来过滤训练过程中的不一致性。它显著提高了强大的基线和微小的推理开销,并在所有单点探测器之间实现了最先进的速度和精度权衡。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值