YOLOv8-QSD是一种为了提高自动驾驶车辆在复杂交通环境中检测小物体的准确性和速度而设计的改进型算法。它基于YOLOv8,并采用结构重参数化技术优化了多样化分支块(DBB)模型。YOLOv8-QSD通过双向特征金字塔网络(BiFPN)集成了多尺度特征,并引入了基于查询的模型和新的管道结构来解决长距离检测的挑战。在SODA-A数据集上的测试结果显示,YOLOv8-QSD在速度和准确性方面均优于YOLOv8,准确率达到64.5%,计算需求降低了7.1 GFLOPs。
自动驾驶技术的发展对车辆感知系统提出了更高的要求,尤其是在准确识别和及时响应周围环境方面。随着自动驾驶车辆在各种交通场景中的普及,对车载传感技术的检测速度和准确性的要求也越来越高。为了确保自动驾驶车辆在复杂交通环境中的无缝运行,开发具有以下特征的鲁棒感知系统变得至关重要:
目前,流行的目标检测算法主要分为两类:两阶段和单阶段检测方法。两阶段方法包括基于区域的卷积神经网络(Fast R-CNN、Faster R-CNN和Mask R-CNN)。单阶段类别包括YOLO系列和单次多框检测器(SSD)。特别是YOLO系列,随着2023年YOLOv8的推出,其在准确性方面取得了快速和显著的进步。然而,YOLOv8针对的是完整尺寸物体的检测,在特定尺寸物体的场景中,一些专门针对小物体检测(SOD)的算法表现更佳。为了解决这一局限性,本文提出了一种改进的YOLOv8算法,该算法在常规尺寸物体的准确性上略有提高,在复杂场景中小物体的检测准确性上取得了显著提高。该算法能够有效地从小物体提取特征,这对于准确和全面的特征提取至关重要。这种重要性在复杂环境中尤为明显,其中对重叠物体的特征提取更具挑战性,通常会导致算法在小物体检测准确性上的降低。该算法的主要贡献包括:
在自动驾驶和目标检测领域,YOLOv8-QSD算法的提出是基于对现有技术的深入分析和对挑战的明确认识。
YOLO系列:
YOLO(You Only Look Once)系列算法是目标检测领域的重要里程碑,以其速度快和精度高而著称。YOLOv8是该系列的最新版本,它在保持实时性能的同时,进一步提高了检测的准确性。YOLOv8引入了多项技术改进,如从锚点基础转向锚点自由,实施了TaskAlignedAssigner正样本分配策略,以及引入了分布式焦点损失来优化损失计算。尽管YOLOv8在目标检测方面取得了显著进展,但在处理小目标检测时仍存在局限性,尤其是在远距离和低分辨率的情况下。
小目标检测(SOD):
在自动驾驶领域,小目标检测是一个具有挑战性的问题,因为这些目标可能因为尺寸小、对比度低或被部分遮挡而难以检测。SOD算法需要能够准确地识别和定位这些小目标。现有的SOD算法在处理小目标时面临多种挑战,包括有限的特征利用、对误差的敏感性、高精度定位需求、样本不平衡和网络架构限制。为了克服这些挑战,研究人员提出了多种方法,包括改进网络架构、调整标签分配策略和采用特定的数据增强技术。
特征金字塔网络(FPN):
特征金字塔网络是解决多尺度目标检测问题的关键技术之一。它通过构建一个特征金字塔,将不同尺度的特征进行有效融合,以提高模型对小目标的检测能力。YOLOv8-QSD算法中,作者提出了一种改进的BiFPN结构,通过双向特征融合来增强模型对小目标的检测性能。
注意力机制:
注意力机制在目标检测中起到了至关重要的作用,它可以帮助模型集中注意力于图像中的关键区域。YOLOv8-QSD算法引入了基于注意力的机制,如Q块和Dy-head模块,这些模块通过动态调整特征融合和目标定位来提高小目标的检测精度。
数据增强和损失函数:
为了提高模型对小目标的检测能力,研究人员采用了特定的数据增强技术和损失函数。例如,Mosaic数据增强操作可以增加模型在训练过程中对小目标的敏感性。此外,YOLOv8-QSD算法采用了修改后的损失函数,如归一化Wasserstein距离(NWD),以提高对小目标的检测精度。
实验和比较:
在自动驾驶领域,研究人员通常会在标准数据集上进行实验,以评估和比较不同算法的性能。YOLOv8-QSD算法在多个数据集上进行了广泛的测试,包括SODA-A、VisDrone和BDD100K数据集。这些数据集包含了各种交通场景和小目标实例,为评估算法提供了丰富的测试案例。
通过这些相关工作,YOLOv8-QSD算法的开发旨在结合现有技术的优势,同时解决小目标检测中的关键挑战,以提高自动驾驶车辆的感知能力。
YOLOv8-QSD算法的设计和实现涉及多个关键组件的创新和优化,以提高对小目标的检测性能。以下是对这些方法的详细介绍:
骨干网络是特征提取的基础,YOLOv8-QSD采用的结构重参数化技术对骨干网络进行了增强。通过引入多样化分支块(DBB),网络能够捕捉到更丰富的特征表示。DBB利用了多种卷积核尺寸和池化操作,以实现多尺度的特征提取。这种多分支结构在训练时提供了模型的复杂性,而在推理时则通过参数化技术简化为单分支结构,从而在保持轻量级的同时提高了模型的性能。
特征金字塔网络(FPN)是目标检测中用于多尺度特征融合的关键组件。YOLOv8-QSD提出了一种改进的BiFPN结构,通过双向特征融合来增强对小目标的检测能力。这种结构不仅包含了自底向上的特征传递,还加入了自顶向下的路径,以实现更有效的特征融合。此外,YOLOv8-QSD还引入了Q块模块,该模块通过查询机制来增强对小目标的定位精度。
检测头是负责最终目标定位和分类的关键部分。YOLOv8-QSD对检测头进行了重新设计,引入了动态头(Dy-head)模块,该模块包含注意力机制和动态卷积操作,以增强对小目标的检测。这些注意力机制能够使模型动态地关注图像中的显著区域,并适应不同尺度的物体,从而有效地捕捉空间上下文信息。
为了进一步提升对小目标的检测精度,YOLOv8-QSD引入了基于查询的机制。这种机制通过在特征金字塔的不同层级上应用查询操作,生成与小目标相关的粗略特征图。然后,这些特征图被用于预测检测框的位置和尺寸。通过这种方式,YOLOv8-QSD能够在保持实时性能的同时,提高对小目标的检测精度。
为了解决小目标检测中的挑战,YOLOv8-QSD对损失函数进行了优化。传统的IoU(交并比)损失函数对小目标的定位精度不够敏感,因此YOLOv8-QSD采用了归一化的Wasserstein距离(NWD)作为损失函数的一部分。NWD对小目标的定位更为鲁棒,能够更好地处理小目标的检测问题。
为了验证YOLOv8-QSD算法的性能,进行了一系列的实验,并与现有的目标检测算法进行了比较。以下是对实验设置、数据集、评估指标和结果的详细介绍:
实验在配备NVIDIA GTX 3090 GPU和Intel i5-12400F CPU的硬件平台上进行,确保了实验的计算强度需求。操作系统为Ubuntu 20.04,开发环境包括Python、PyTorch 1.12.1和CUDA 11.3。实验中,我们对YOLOv8-QSD进行了100轮训练,每轮使用16张图片的批量大小,最终在SODA-A、VisDrone和BDD100K数据集上进行测试。
我们使用了以下评估指标来衡量模型性能:
通过消融实验,我们评估了YOLOv8-QSD中各个组件的贡献。实验结果显示,引入的DBB、BiFPN和Q块模块显著提高了小目标的检测精度。
我们对YOLOv8-QSD在不同场景下的检测结果进行了可视化,如图9-11所示。这些图像展示了模型在白天、夜晚以及不同天气条件下的检测性能。
YOLOv8-QSD在白天环境下的检测结果,可以看到,YOLOv8-QSD能够准确地检测到远距离的小目标,即使是在部分遮挡的情况下:
YOLOv8-QSD在夜晚环境下的检测性能,结果表明,即使在光照条件不理想的情况下,YOLOv8-QSD仍然能够保持较高的检测精度:
YOLOv8-QSD在不同天气条件下的检测结果,虽然在雨雾天气下检测性能略有下降,但总体上模型表现出了良好的鲁棒性:
我们将YOLOv8-QSD部署在实车上,并在真实交通环境中进行了测试。实验车辆配备了工业级计算机和高分辨率摄像头,捕获的图像被用于评估模型的实际检测性能。
实验结果表明,YOLOv8-QSD在SODA-A数据集上达到了64.5%的准确率,同时将计算需求降低了7.1 GFLOPs。与YOLOv8相比,YOLOv8-QSD在检测小目标方面显示出显著的性能提升,同时保持了实时性能和轻量化设计。
在极端天气条件下对YOLOv8-QSD进行了额外的测试,结果表明模型在大多数条件下都能保持较高的检测精度。然而,在大雾天气下,由于视线受阻,检测性能有所下降,这提示了未来工作中需要进一步优化的方向。通过这些详细的实验和结果分析,YOLOv8-QSD证明了其在自动驾驶车辆小目标检测任务中的有效性和潜力。实验结果不仅展示了模型的高精度和实时性能,还揭示了其在实际应用中的鲁棒性和可靠性。
YOLOv8-QSD算法在检测远距离小目标方面取得了显著的性能提升。尽管在高清晰度图像需求和抗抖动能力方面存在局限性,但该算法在自动驾驶车辆的感知系统中具有重要的应用潜力。未来的研究将集中在进一步优化Q块结构,提高模型在极端天气条件下的性能和鲁棒性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。