ABSTRACT
由于其固有的特性,小目标在多次下采样后的特征表示较弱,甚至在背景中消失。 FPN简单的特征拼接 没有充分利用多尺度信息,在信息传递中引入了不相关的上下文,进一步降低了小物体的检测性能。为了解决上述问题,我们提出了简单但有效的 FE-YOLOv5。 (1) 我们设计了 特征增强模块 (FEM) 来捕捉小目标更具辨别力的特征。全局注意力 和 高级全局上下文信息 用于指导浅层的高分辨率特征。全局注意力与跨维度特征交互,减少信息丢失。高级上下文 通过非局部网络对全局关系进行建模 来补充更详细的语义信息。 (2)我们设计了 空间感知模块(SAM)来过滤空间信息 并 增强特征的鲁棒性。可变形卷积 执行稀疏采样和自适应空间学习,以更好地关注前景对象。根据实验结果,我们提出的 FE-YOLOv5 在 VisDrone2019 数据集和 Tsinghua-Tencent100K 数据集上优于其他架构。与YOLOv5相比,APs分别提高了2.8%和2.9%。
1. Introduction
CNN可以从大规模图像数据集中学习更丰富的外观和空间表征,显著提高检测性能,为目标检测研究开辟了一条新路径,推动了重大进展。目标检测算法分为两大类。以 RCNN [1-3] 为代表的两阶段网络首先生成候选区域,然后对其进行分类和回归。以 YOLO [4-6] 和 SSD [7] 为代表的单阶段网络直接对目标进行分类和回归。相比之下,前者的准确率更高,后者的速度更快。大型目标由于面积大、特征丰富,一般更容易检测,而小型目标由于面积小、易受噪声影响,检测效果不佳。近年来,小目标检测在自动驾驶、无人机航拍分析等实际场景中发挥了非常重要的作用。是目标检测研究领域的热点问题。
造成小目标检测性能不佳的主要原因如下。 (1) 小目标由于其特性,对网络提取的特征的表达有限。多次下采样后,特征更弱,甚至消失在背景中。 (2) 小目标缺乏共同的训练数据集,公共数据集中的数据分布不均匀,使得网络在训练过程中更倾向于标记更多的大目标。 (3) 定位困难,因为小目标比大目标更敏感。现有的小目标检测方法都是对一般深度学习检测方法的改进,以提高检测效果。 FPN [8] 融合浅层细节信息和深层高层语义信息,得到更具辨别力的特征,大大提高了小目标的表达能力。
FPN 是高度结构化的。在不同的特征层上检测不同比例的目标。通常在特征图 P3 上使用 8 倍下采样检测小目标。 原图附近的P2(4倍下采样特征图)包含更多关于小目标的详细信息,但不参与金字塔信息的传递。为了获得更具辨别力的特征,我们提出了 特征增强模块(FEM)。浅层高分辨率特征 P2 由全局注意力和高级全局上下文信息引导。全局注意力 进行 跨维度的特征交互,减少信息丢失;后者通过非局部网络 对全局关系进行建模 来补充更详细的语义信息。 RSOD [9] 利用更细粒度的 P2,然后通过为 ASFF 计算的每一层的重要性分配权重来自适应地执行特征融合。 QueryDet [10] 也将 P2 纳入了金字塔,为了让模型充分学习,作者在每一层的损失函数中加入了平衡系数。与此不同的是,我们不权衡每一层的特征。重点是增强P2的特征,减少背景干扰和信息丢失,让网络对小目标更加敏感。
FPN 的简单特征拼接 不能充分利用多尺度信息。为了增强特征的鲁棒性,已经提出了许多 FPN 变形。例如,添加自下而上的路径、添加权重等。[11 Effective fusion factor in FPN for tiny object detection ] 提出了一个融合因子 来控制 FPN 从深层到浅层的信息传递。它旨在消除自上而下连接作为小目标带的负面影响。我们发现 在深浅特征融合之前 加入可变形卷积[12 ]用于稀疏学习可以提高小物体检测的性能,因此我们提出了空间感知模块(SAM)。可变形卷积在通道维度上是不变的,根据二维空间中物体的形状自适应学习。
基于以上,本文提出了FE-YOLOv5 来提高小目标的检测性能。该模型 在 YOLOv5 中加入了 FEM 和 SAM,改变了原有的检测层。 VisDrone2019 数据集 [13] 和 Tsinghua-Tencent100K 数据集 [14] 包含大量小目标。由于 Tsinghua-Tencent100K 数据集存在严重的类别不平衡问题,我们对该数据集进行了过滤和重分类。实验结果表明,我们提出的方法具有较好的检测效果。
综上所述,本文的主要贡献总结如下:
(1) 利用 全局注意力 和 全局关系建模的高级上下文信息 来指导细粒度的浅层高分辨率特征,增强小物体的特征表示。
(2) 在YOLOv5的颈部应用 可变形卷积,增强FPN特征的鲁棒性,过滤空间信息,聚焦前景物体。
(3) 在VisDrone2019和Tsinghua-Tencent100K这两个小目标检测基准数据集上进行有效实验,以评估模型的性能。
2. Related work
传统的目标检测算法 依赖于人工设计的特征,泛化能力差,对多样性变化不鲁棒。同时,基于滑动窗口的区域选择策略 耗时且在实时的情况下不可靠。随着深度学习和计算资源的发展,研究学者发现使用卷积神经网络可以提取更好的特征来准确地对目标进行分类和定位,这极大地推动了目标检测的发展。然而,研究表明,小目标的检测精度与常规尺寸目标的检测精度存在显著差异,仅为大目标的一半,表明仍有很大的改进空间。小目标的特征和数据分布给检测带来了困难。数据增强、新的训练方法和多尺度特征融合检测已成为提高小目标检测性能的最重要手段。
2.1. Data augmentation
针对小目标检测 数据集不足 和 样本不平衡的问题,kisantal等[15 Augmentation for small
object detection ] 通过 过采样和复制粘贴的方式增加了小物体的数量和位置的多样性,但需要保证这些物体出现在正确的上下文中。Yolov4 [16] 采用了 Mosaic 数据增强方法,其中四张随机选择的图像被缩放和拼接,然后输入神经网络进行训练。
2.2.新的训练方法
Singh 和 Davis 提出了一种新的训练策略 SNIP [17],通过 根据图像尺度的变化 选择性地反向传播 不同大小的目标实例的梯度 来 解决预训练模型迁移过程中的域偏移。可变形 DETR [18] 的核心是多尺度可变性注意模块,它可以自然地扩展为通过仅关注一小组关键采样点来聚合多尺度特征。该算法 实现了比 DERT [19] 更好的性能,尤其是在小目标上。 QueryDet通过级联稀疏queries来加速小目标检测,并利用在低分辨率特征图上预测的小目标的大致位置来指导高分辨率特征的计算。
2.3.多尺度特征融合检测
Lin等人提出的FPN 通过结合 低分辨率特征图 和 高分辨率特征图 来减少池化过程中小目标的信息损失,使得特征金字塔的每一层都有丰富的语义信息和细节信息,是目前最具代表性的多尺度融合方法。AugFPN [20] 采用一致性监督方法来 确保 横向连接的特征图包含相似的语义信息,以减少 FPN 最高级别特征中的信息丢失。为了提高整体特征并缩短底部和顶部特征之间的信息路径,PANet [21] 添加了一个自下而上的路径来传输基于 FPN 的定位信息。 Bi-FPN [22] 在 PANet 的基础上引入了权重,以更好地平衡不同尺度的信息。 NAS-FPN [23] 提供了最优搜索方法来组合和更新提取的特征图以获得更好的检测结果。 Trident [24] 通过使用膨胀卷积构建具有不同感受野的并行多分支结构,通过尺度感知训练来处理目标检测的尺度变化问题。
在一定程度上,多尺度特征融合方法提高了小目标的检测性能,但一些方法 忽略了不同尺度信息之间的语义间距和噪声,而另一些方法则引入了显著的开销。我们发现在特征融合过程中使用可变形卷积可以有效解决这些问题。同时,YOLOv5 采用了 Mosaic 数据增强来提高网络对小目标的敏感度。因此,我们提出的模型具有更高的检测性能。
3. Method
YOLOv5 使用 CSPNet 作为提取特征的主干,在推理速度和准确率之间取得了更好的平衡。 YOLOv5可以动态调整网络的深度和宽度,以满足不同场景的需求。我们选择了最小尺度的YOLOv5-S(网络宽度参数为0.50,深度参数为0.33)。基于此,我们进行了改进,提出了FE-YOLOv5模型(图1)。我们在 YOLOv5-S 中添加了 FEM 和 SAM,并更改了之前的检测层以改进小目标检测,同时保持其他目标检测性能。
{C2, C3, C4, C5} 是 2i 倍的 下采样特征图,其中 i = (2, 3, 4, 5)。 C2 包含更详细的信息,P3 通过自上而下的路径和横向连接学习更丰富的语义信息。 FEM 结合了这两层的优点以获得更具判别力的特征。小目标由于其特性,在深度网络中变得更小甚至丢失所有信息,而YOLOv5 丢弃较浅的层 来检测P3上的小目标。自从添加 FEM 以来,召回率有了显著改善。
SAM 主要通过可变形卷积 执行稀疏采样,并在空间上过滤冲突信息 以提高特征质量,从而 改进对变形和遮挡目标的检测。 {P3, P4, P5}是FPN生成的中间特征,FE-YOLOv5修改了原有的检测层,在{N2, N3, N4, N5}上检测不同尺度的物体。
3.1.特征增强模块
如图 2 所示,C2 和 P3 作为 FEM 的输入。浅层 C2 更接近原始图像,包含一些轮廓、边缘和位置信息。 P3 具有更大的感受野 并且包含关于目标的丰富语义信息。 FEM 借鉴了 GAU [25] (Global Attention Upsample) 使用高级上下文信息 来引导浅层信息 的经验,如图 3(a) 所示,我们对其进行了改进。
C2通过 全局注意力机制(GAM)[26],后面跟着1×1卷积增加通道数,其中GAM 既包括通道注意力 又包括 空间注意力。 SENet [27] 对通道之间的相互依赖性 进行了建模。 CBAM [28] 使用一系列关注从通道到空间的重要特征。自注意力机制 有效地捕获了 完整的上下文信息。这些注意力机制忽略了通道和空间维度之间的相互作用。 GAM改进了CBAM,进行跨维的特征交互,保留更多信息,捕捉更重要的特征。假设输入特征映射F1∈RC×H×W,F2代表中间特征,F3是输出特征,GAM可以表示为:
其中⊗表示逐元素的乘法运算,通道注意力MC 和 空间注意力MS 的描述如下所示:
MLP 是一个双层的编码器-解码器感知器。Permutation置换操作 将C × W × H 转换为 W × H × C,保留跨维度的信息,f 操作降低了置换的维度,σ 表示 sigmoid 函数。
对于小目标,与背景的相似性使得它们的分类变得困难。 GAM可以有效地增强有用的特征,同时抑制无用的特征,对小目标更加敏感。
P3通过上采样 获得注意力权重,然后使用1×1卷积和softmax函数进行注意力映射,得到全局上下文特征F3(如图3(b)所示),指导C2。相比之下,GAU使用 全局池化 将空间维度的信息压缩在通道维度上,导致信息丢失,无法对全局关系进行建模,所以我们 使用简化版的非局部网络 代替全局池化。由于 CNN 卷积核是一个固定的正方形区域,因此每个像素都在相邻区域中进行处理。 CNN通过堆叠卷积块建立长程依赖来扩大感受野,上下文模块[29]通过加权平均 结合所有位置的特征,减少参数计算的数量 并 传递有效的长程依赖信息。
最后,将特征 Fu 由 Fc 乘以 Fg,并 与在 P3 上采样的特征连接起来。然后对该特征进行卷积得到N2(256×160×160)并进行检测。图 4 显示了一些可视化结果。可以看出,C2和P3经过FEM后得到的特征更加明显,有利于目标检测。
3.2. Spatial-aware module
不同的空间位置对应不同尺度的物体,不同位置的像素对于检测特征的重要性也不同。在基于FPN的结构中,深层特征在上采样后简单地与浅层特征连接,不能充分表达多尺度特征,并引入了大量无关的上下文信息。 CNN采用方形卷积核结构进行采样,导致同一层激活单元的感受野大小相同。对于小目标,这个感受野可能包含很多与目标无关的区域,造成背景干扰,从而降低特征质量。我们提出了空间感知模块(图 5),它采用 可变形卷积 来自适应地学习最佳的卷积核结构和采样点。使 有效感受野能更好的匹配目标的形状。因此,SAM可以根据各种空间位置的辨别能力更好地聚焦前景物体。
上采样后的深层特征 X2 和浅层特征 X1 具有相同的维度。他们执行 3 × 3 卷积来学习偏置的 偏移(x 上的偏移,y 上的偏移)和 每个采样点的权重掩码。然后将这两个张量与原始特征图一起馈入可变形卷积中,以捕获更适合目标的特征。这一步的输出是:
其中k 是卷积核的大小,wk 和 pk 表示第k个卷积核位置的权重和预定义偏移量,y(p)表示输出特征图y中 位置p处的特征。 △pk和△mk表示第k位置的偏移和权重系数,△mk∈[0,1]。
4.实验
4.1. 数据集和评估指标
我们在 VisDrone2019 数据集和 TsinghuaTencent100K 数据集上进行了实验。图 6 描述了两个数据集的目标实例分布。横轴表示不同集合中不同尺度对象的百分比。小物体的面积小于 32 × 32 像素,中型物体的面积在 32 × 32 像素和 96 × 96 像素之间,大物体的面积大于 96 × 96 像素。
使用无人机的 VisDrone2019 数据集捕捉了我们日常生活中的各种场景,共有 10 个类别。它涵盖了不同的海拔高度、天气和光照条件,包含许多具有不同程度的密集物体变形和遮挡的小物体。该数据集包含 6471 张用于训练的图像、548 张用于验证的图像和 3190 张用于测试的图像,其中测试集中有 1580 张具有挑战性的图像。
Tsinghua-Tencent100K 数据集是中国最大的交通标志公共数据集,覆盖面广,包括安装在城市中心和郊区道路上的警告标志、禁止标志和指示标志。从 100,000 个腾讯街景中去除背景图像后,只有 10,000 个图像包含交通标志符号。总共提取了 30,000 个交通标志符号和 128 个类别,并将每个交通符号手动标记为多边形或椭圆形。与之前的交通标志检测数据集相比,该数据集包含的图像更多,分辨率更高(2048×2048)。图像中的大多数交通标志都非常小,并且在照明和天气方面有显著变化。该数据集存在严重的类别失衡,一些交通标志,如小心落石、在建等,很少出现在城市场景中。据统计,有些类别甚至没有出现在训练集中,因此我们保留了 45 个类别,其中包含超过 100 个交通标志实例。图像类别是该图中最常见的交通符号类别。我们统计了这些类别,并按照 7:2:1 的比例重新划分数据集,训练集中有 6657 张图像,验证集中有 1909 张图像,测试集中有 978 张图像。
我们使用COCO的评估标准来评估模型的有效性。 Average Precision(AP) 根据 IoU的阈值 分成10个不同的区间,在[0.5,0.95]中每隔0.05计算一次AP,然后去 计算这些AP的平均值 作为最终的AP,一般使用AP,AP50、AP75。 AP Across Scales 跨尺度 是目标在各种尺度下的平均准确度,主要是 APS、APM 和 APL。
4.2. Implementation details
我们使用 YOLOv5-S 在 COCO 数据集上预训练的权重来初始化网络,这有利于模型更快地收敛,并且使用 YOLOv5-S 配置设置超参数。我们使用一个 NVIDIA GeForce RTX 2080 Ti 显卡进行模型训练和测试,输入图像统一调整为 640×640 并使用 SGD 优化器进行优化。初始学习率为0.01,权重衰减系数为0.0005,共迭代300个epoch。
4.3. Experiments on VisDrone2019
为了评估我们提出的方法的有效性,我们将其与 VisDrone2019 数据集上的其他一些模型进行了比较,实验结果如表 1 所示。这些方法分别是基于两阶段 anchor_based、单阶段 anchor_based 和 单阶段无锚框。从表 1 中可以看出,与 YOLOv5 相比,我们提出的模型在所有评估指标上都有所改进。 AP50 增加了 4.1%,小型、中型和大型目标分别增加了 2.8%、2.5% 和 3.8%。 FE-YOLOv5 在 AP、AP50、APS 和 APL 上的表现优于表中的其他模型,但在 AP75 上略低于 ATSS,在 APM 上落后于 ATSS 和 Tridentnet。 ATSS 有更灵活的策略,使用统计方法分配正负样本,因此 AP75 表现更好。而 Tridentnet 利用具有不同膨胀卷积的平行多个分支进行检测,其感受野与中等物体的匹配度更好。图7展示了FE-YOLOv5的部分检测结果,可以看出FE-YOLOv5检测到了更多的小目标。
4.4. Experiments on Tsinghua-Tencent100K
我们还在Tsinghua-Tencent100K 数据集上进行了实验,结果如表2所示。从表2可以看出,我们提出的模型比改进前的YOLOv5模型在 AP50、APS、APM和 APL 中 分别提高了2.2%、2.9%、0.7%和3.4%。它在 APM 上比 Libra R-CNN 模型略低 0.2%。此外,我们可以发现我们提出的模型在表 2 中的 APS上具有最佳性能。
图 8 显示了该数据集上的一些检测结果。因为这个数据集的图像分辨率很大,而原始图像中目标的比例很小,所以我们放大了区域来显示它。从图中可以看出,FE-YOLOv5检测准确率更高,同时也检测到了YOLOv5遗漏的目标。
4.5. Ablation studies
为了证明 FEM 和 SAM 的有效性,我们在 VisDrone2019 数据集上进行了消融实验,结果如表 3 所示。
FEM 利用 全局注意力机制 增强浅层特征,然后 利用 更高层次的上下文信息 补充浅层信息,使模型更加关注小目标,提高小目标的检测性能。从图5的数据分布可以看出,大目标所占比例相对较小,因此APL有所下降。表 3 的第 3 行和第 4 行是 FEM 的消融实验。第 3 行的实验结果表明 P3 对于 C2 引导是必要的,而第 4 行的实验结果表明 GAM 对于小目标的检测是有效的,一些评估指标高于 FEM。因此,我们猜测如果 为 FEM 去除 上下文模块 是否会提高整个模型的性能。相应的实验在表3的第5行。结果显示性能有所下降,所以 我们仍然使用图2所示的FEM。SAM在所有指标上都有所提高,证明了模块的有效性。
表4显示了 FEM 和 GAU(在3.1中提到)、FE-YOLOv5 和 YOLOv5-M 的对比结果。相比之下,FE-YOLOv5(YOLOv5S+FEM+SAM) 在各项指标上都优于由YOLOv5-S+GAU+SAM 组成的模型。从表格的最后两行可以看出,我们提出的模型仅在 APM 和 APL 中略低于 YOLOv5-M,对所有其他指标具有更好的检测结果,并且具有更少的模型参数和计算量,如表5所示。
5. Conclusion
在本文中,我们提出了对 YOLOv5 颈部进行结构修改的 FE-YOLOv5 模型,以提高小目标的检测性能。 FEM将浅层高分辨率特征融入金字塔信息传递中,利用GAM和高层特征引导浅层特征基于判别获得特征。从视觉特征图来看,该模块可以减少背景信息的干扰,使有效特征更加明显。其次,我们在颈部加入SAM,采用可变形卷积自适应学习最优卷积核结构,增加有效感受野,过滤无关信息的干扰。 FE-YOLOv5 在 VisDrone2019 数据集和 Tsinghua-Tenent100K 数据集上都表现出了不错的检测效果,优于原来的 YOLOv5-S 模型,甚至超越了 YOLOv5-M。 FE-YOLOv5适用于自然场景或无人机拍摄的场景,为小目标检测提供了一种新的方案。未来,我们将继续完善和探索其在实际工业场景中的应用和有效性。