【目标检测】论文阅读5
Small-object detection based on YOLOv5 in autonomous driving systems
发表期刊:Pattern Recognition Letters;发表时间:2023年
论文地址
摘要
随着自动驾驶领域的快速发展,对更快、更准确的目标检测框架的需求已经成为必要。最近的许多基于深度学习的目标检测器在各种实时驾驶应用中表现出了令人信服的性能,用于检测大型目标。然而,由于交通标志和交通灯等小目标的复杂性质,检测这些目标是一项具有挑战性的任务。此外,由于存在前景/背景不平衡以及恶劣天气和低光照条件导致的透视失真,少数图像中存在的复杂性进一步使得精确检测小目标变得困难。在这封信中,我们调查了如何调整现有的物体探测器以满足特定任务,以及这些修改如何影响对小物体的检测。为了实现这一目标,我们探索并引入了对流行的YOLOv5模型的体系结构更改,以提高其在检测小目标方面的性能,而不牺牲对大目标的检测精度,特别是在自动驾驶方面。我们将表明,我们的修改几乎没有增加计算复杂度,但显着提高了检测的准确性和速度。与传统的YOLOv5模型相比,IS-YOLOv5模型在BDD100K数据集上的平均精度(MAP)提高了3.35%。然而,与YOLOv5模型相比,我们提出的模型将检测速度提高了2.57帧/秒(FPS)。
引言
目标检测是计算机视觉领域中一项非常基础和研究很多的任务。目标检测任务的目的是对图像中的目标对象进行分类和定位。随着近年来深度学习技术的进步,出现了几种最先进的目标检测方法。目标检测已经广泛应用于许多现实世界的应用中,包括自动驾驶、机器人视觉、智能交通、遥感、军事行动和监视。
几个物体探测器通常在大物体上表现良好,但在小物体上表现不佳。当对象在输入图像中占据的像素区域或视场较小时,我们将其称为小对象。在通用对象检测器的情况下,小对象的特征失去了重要性,因为它们通过其主干的多层进行处理。由于背景信息不充足,表示噪声大,特征难以区分,背景复杂,分辨率有限,遮挡严重等,对小目标的准确检测存在挑战。虽然现代目标检测系统的设计主要是以牺牲计算资源为代价来实现目标的实时检测,但由于检测精度较低,缺乏可行性。因此,在这一特定领域的改进将有利于自动驾驶系统的实际意义。
检测道路上的目标物体是自动驾驶的一项基本任务。对于现有的大多数道路目标检测器,对小目标的检测精度不到大目标的一半。这是因为它们通常覆盖的像素较少,而且很难从低分辨率提取特征,因此模型很容易将其与背景混淆,导致遗漏或错误检测。此外,目标探测器最关键的挑战之一是对不同尺度目标的准确检测不能很好地平衡。在自动驾驶的背景下,交通标志和红绿灯可以被视为小对象。虽然许多研究建议增加网络在深度和宽度方面的表征能力以进行准确的检测,但这影响了模型的复杂性和成本。因此,这类模型不太适合自动驾驶系统,因为它们的实时资源限制。
通常,基于深度学习的目标检测模型分为(1)两阶段检测算法和(2)一阶段检测算法。两阶段模型以速度和复杂性为代价获得了比一阶段模型更高的精度,但可能不会直接受益于实际的驾驶场景。最近,许多新的单级探测器已经被开发出来用于这种应用。在这篇文章,我们重点介绍流行的单级探测器,即YOLOv5模型。这是YOLO系列中的最新版本,具有清晰灵活的结构,旨在实现可访问平台的高性能和高速度。然而,当前应用该模型的系统要么依赖于传统的训练方法、正则化/归一化技术,要么调整特定参数来提高性能,很少或根本不考虑架构修改。虽然YOLOv5是一个通用的对象检测器,但它并没有针对小对象的检测进行优化,因此在实践中无法适应特定的用例。
这篇文章对原始的YOLOv5模型进行架构改进,以在小目标检测方面更好地执行。为此,我们考虑了自动驾驶系统中的实际道路环境,以检测交通标志和交通灯等微小道路对象。此外,我们将讨论我们的修改对如何在保持实时速度和略微增加系统计算复杂性的情况下准确执行这一任务的影响。我们贡献的亮点是:
1、我们对现有的YOLOv5模型进行了优化,设计了一种改进的YOLOv5架构,命名为iS-YOLOv5,旨在更好地检测自动驾驶场景中的小目标。
2、我们研究了我们的模型在不同天气场景中的适用性,以突出其在更稳健和更高效的目标检测背景下的重要性。
3、在BDD100K数据集上的大量实验验证了该模型的有效性。此外,我们还分别在TT100K和DTLD数据集上给出了交通标志和红绿灯检测的实验结果。
方法
虽然已经开发了一些技术来提高小目标检测的性能,但只有少数研究人员将重点放在结构修改来实现相同的性能。在大多数情况下,性能的提高主要是由额外的正则化/归一化方法或通过增加框架中的参数来驱动的。因此,尚不清楚架构改进如何有助于提高显式任务的检测性能。在自动驾驶中,对微小物体的准确检测提供了关于环境的更有价值的上下文信息,有助于更好地制定决策策略。由于前景/背景不平衡、外观线索较少以及图像覆盖率较低,小目标的检测更具挑战性。在典型的道路交通环境中,检测小对象被认为是一个困难的问题,因为远处的对象由于透视失真而变得更小。值得注意的是,即使在同一类中,不同大小的小对象的本地化也存在显著差异。此外,许多驾驶系统优先考虑推理时间而不是性能,但有解决办法以低成本优化它们。因此,需要一种简单高效的道路目标检测模型,能够处理不同大小的小目标和大目标。
YOLOv5的体系结构设计简单,但由于其内部组件的排列,需要对计算效率和实时适用性进行优化。因此,我们重定向某些连接,以便专注于检测多分辨率特征映射。当输入通过卷积逐层传递时,提取特征地图。前一卷积层生成的特征图捕捉小尺度目标,而后者生成的特征图捕捉大尺度目标。BottleNeckCSP是YOLOv5中最基本的块,提取了大部分上下文特征,但其现有属性对深层特征的提取效率较低,导致小目标检测效果不佳。另一个重要方面是选择适当的激活函数,这可能会限制性能,即使在添加多个卷积和归一化层时也是如此。此外,头部缺乏提取足够的浅层特征来定位小对象的能力。
针对上述问题,我们提出了一种改进的Scaled YOLOv5(IS-YOLOv5),这是一种健壮而高效的体系结构,其详细结构如图所示。因为他证明了通过修改信息路径,引入了新的功能块BottleNeckCSP的局限性。我们减少了骨干网中N-CSP块的数量,以调整网络参数,提高计算速度。此外,我们在网络的特定层实现了Hard Swish激活函数而不是Leaky RELU。我们应用多次激活来避免信息损失,并根据输入大小减少计算代价[41]。在检测端,我们增加了一个检测头,用于从高分辨率特征地图获取的小尺度目标。在颈部,我们对N-CSP块进行了优化调整,使其专注于检测多尺度特征。这将提高对不同尺度目标,特别是小目标的整体检测能力。注意,我们的集体修改几乎不会改变计算复杂性,同时显著提高了检测性能,并确保了实时要求。
改进SPP模块
随着CNN深度的增加,感受野的大小变得更大。由于输入图像的大小有限,特征提取在大的感受野上是重复的。因此,使用SPP模块来添加相应的模块,通过融合不同接受域的特征映射来消除这一问题。该模块将局部特征和全局特征相结合,最大限度地发挥特征映射的表达能力,扩展了骨干网的接收范围,并将最重要的上下文特征分离出来用于尺寸目标检测。为了综合不同尺度感受场的特点,SPP并行地使用了多个最大合并操作。该方法对提高整体检测精度具有明显的效果。然而,最大池化操作不能捕获空间信息,导致信息丢失,导致无法准确定位目标,特别是小目标。
为了解决这个问题,我们提出了一种改进的SPP模块,将池化函数替换为扩张卷积,如图2所示。虽然这两种操作都扩大了网络的接受范围,但池化降低了空间分辨率,导致特征信息的丢失。相比之下,不同扩张率的扩张卷积通过在不降低分辨率的情况下捕获检测小目标所需的多尺度信息来丰富提取的特征。然后在同一级别上组合输出特征以增强特征表示。因此,该模块提高了网络的学习能力,以精确定位目标,特别是小目标,同时以最小的计算代价保持快速的检测速度。
改进的PANet结构
Neck网络的目的是聚合主干获得的特征,以提高后一种预测的准确性。这种结构在防止由于较高抽象级别而导致的小对象信息丢失方面起到了至关重要的作用。为了实现这一点,再次对特征图进行上采样,以便与骨干层执行聚集,并重申对检测的影响。FPN向浅层提供深层语义信息以增强检测能力,但忽略了浅层和深层特征聚合过程中的位置信息。而PANET结构提供了低层信息和高层信息的融合。然而,集成方法依赖于相邻特征的聚合,而对非相邻层之间的信息交换关注较少。因此,随着每次聚集,非相邻层中的空间信息不断减少。
因此,为了解决上述局限性,我们在原有的Panet结构的基础上设计了一种改进的Panet结构,如图所示。我们增加了两个跨层连接(B1和B2),一个在FPN的自上而下路径上,另一个在PANET的自下而上路径上,以集成不相邻和多层次的特征。在聚合过程中,这将允许更有效地使用语义和浅层位置信息,在不增加计算复杂性的情况下增强小对象的重要特征。
实验及结果分析
实验数据集
BDD100K数据集
参考文献 Bdd100k: a diverse driving dataset for heterogeneous multitask learning,
TT100K数据集
参考文献 Traffic-sign detection and classification in the wild,
DTLD数据集
参考文献 The driveu traffic light dataset: introduction and comparison with existing datasets
TT100K和DTLD数据集分别提供了30K个注释交通标志和200K个注释交通信号灯。BDD100K数据集包括来自不同环境、不同天气场景、不同昼夜的100K自动驾驶图像。对于几个类别,如果对象的占用面积大于112×112像素,我们认为对象是大对象;如果对象小于48×48像素,则认为对象是小对象;如果对象位于这两个阈值之间,则认为对象是中等对象。在这次评估中,我们主要关注交通灯和交通标志等小对象。超过80%的这些物体的面积小于48×48像素。
评价指标
Precision、Recall、mAP、IoU、FLOPs
实验结果
(a)YOLOv5;(b)iS-YOLOv5