当前位置: 首页 > news >正文

【论文笔记】:YOLOv8-QSD 自动驾驶场景小目标检测算法

摘要

YOLOv8-QSD网络是一种新型的无锚点驾驶场景检测网络,建立在YOLOv8的基础上,在保证检测精度的同时保持效率。该网络的骨干网采用结构重参数化技术来转换基于多样化分支块 (DBB) 的模型。

为了准确检测小目标,它集成了不同尺度的特征,并在骨干之后实现了基于双向特征金字塔网络(BiFPN)的特征金字塔。

此外,还提出了一个动态头部(DyHead),包含了尺度感知、空间感知和任务感知的注意力机制,以进一步优化特征提取和分类过程。为了解决驾驶场景中远程检测(商业车辆需要更大的视野)的挑战,该文引入新的查询模型(Q-block)和管道结构以解决长距离检测挑战。

测试结果表明,该算法在大规模小目标检测数据集(SODA-A)上的性能无论在速度还是准确率上都优于YOLOv8。 准确率达64.5%,计算量降低7.1 GFLOPs。

YOLOv8与YOLOv8-QSD网络图对比

4c23fc3e67344a03a3426439a4b89a30.png

962713333ac9472786c0a7e6e2b68682.png

算法

难点 

由于小对象的像素尺寸较小,想要从小目标中提取准确、全面的特征尤为重要。在复杂环境中,从重叠对象中提取特征要求更高,往往导致跨算法的小目标检测精度降低。

目标检测中对于小物体的检测精度较低以及计算量较大的问题。

QueryDet

为解决 级联特征金字塔检测中检测小物体的困难 提出了QueryDet

最常见和最有效的方法包括使用高分辨率的图像或特征图。然而,这两种方法都有很高的计算成本,这与图像和特征图的大小成比例,特别是在一个结构化的特征金字塔中。

neck缺陷

原始的YOLOv8网络采用PAFPN作为neck网络,通过双向聚合来自底部和顶部路径的特征来融合低级别和高级别信息,从而有效地缩短了信息路径。然而,在像素级别的分辨率下,直接将p3层与目标层进行融合并不能充分满足定位信息的要求,并且直接融合p2层会显著增加参数数量。

解决方法

YOLOv8-QSD利用DBB骨干进行鲁棒特征提取,在检测颈部细化特征金字塔结构,集成Q-block和Dy-head模块,T替换损失函数,提高整体目标检测能力

neck

以大规模特征图为重点,引入了Bi-PAN-FPN 的思想,以改进YOLOv8的特征融合方法。这一改进增强了模型检测小物体的能力,提高了多尺度特征融合的可能性和效率,并导致增强了特征工程。YOLOv8特征融合方法的增强无缝集成了浅层和深度信息,在网络特征提取过程中实现了更彻底的信息保存,从而解决了定位不准确和后续检测缺失引起的问题。

(a)FPN. (b) PAN. (c) YOLOv8(PAFPN)(d) YOLOv8-QSD.

6fde0f54d96248bd8269e8afe3edc079.png

在(a)中,FPN构建了一个自上而下的特征金字塔,在不同层次的特征图之间添加横向连接,以更好地利用低层次特征中包含的高频细节,从而形成一个包含多尺度信息的特征金字塔。

在(b)中,金字塔注意网络(PAN)在编码器和解码器之间整合了路径聚合模块,以聚合不同尺度的特征,生成具有多个分辨率的特征图。这种层次特征金字塔结构利用了不同尺度的特征,提高了语义分割的准确性。

在(c)中,YOLOv8结合了SPP和PAN,提高了目标检测的准确性和效率。

在(d)中,是YOLOv8-QSD采用的特征融合方法。对于p2层中的特征,我们首先应用一个带有查询机制的q-block来获得与小目标相关的粗糙特征映射。随后,利用自稀疏融合操作(F-fusion)将特征集成到目标特征层中。该方法改善小目标的的检测速度和精度对齐,同时显著减少了模型的参数计数。同时,串联模式是一种自适应的空间融合操作。使用这种显式查询机制可以检测到类似于p2层的特征,而不需要只依赖于p2层本身。这种实质性的增强显著地提高了模型的准确性,同时保持了其实时性能。

7721b9355cee48f99a1962a9b255773f.png

左边的输入由处理过的细粒度特征图组成,而右边的输入表示通过粗查询获得的关键值的子集。基于粗查询,这些关键值表示得分较高的区域,它们更有可能包含小目标。通过查询模块进行处理后,从细粒度的特征映射中提取这些区域。然后,对这些区域进行了高分辨率的检测,从而提高了检测性能。

PyHead

表示在特征映射的不同层次上执行的动态头部操作。它包含注意机制和动态卷积,用来处理统一对象模型中的尺度意识、空间意识和任务意识。其目的是提高探测器对小物体相关特征的灵敏度。

5c9a8128d6e34f01ac85ccedffa14e92.png

引入了一个动态的Query-aware稀疏注意力机制,以过滤掉不相关的键值对,从而提高了模型的检测能力,特别是对于小目标。(将定位不佳的层重新输入网络,以提高小目标的定位精度)。它补充了各模块中降采样时丢失的信息,确保了在特征提取过程中对上下文信息进行了更全面的保存。

尺度感知注意机制强调动态多尺度融合的语义权重。利用硬s型函数,在保持计算效率的同时引入非线性。线性函数f(·)采用卷积层进行逼近,使模型能够根据语义信息自适应地调整注意力权重。这种注意机制旨在在特征融合过程中实现尺度感知,使模型能够有效地捕获不同尺度下的特征,并在目标检测过程中做出明智的决策。利用语义权值增加了对相关特征的敏感性,并提高了检测性能,特别是对于不同尺度的对象。

DBB

DBB模块利用了两个重要的卷积特性:同质性和可加性。根据同质性原理,

C2f-DBB体系结构是一种将C2f模块与DBB相结合的模型配置。在这个结构中,瓶颈模块中原来的conv操作被替换为DBB。C2f-DBB体系结构的设计目标是保持模型的轻量级,同时提高其对长距离和低像素分辨率的小物体的检测性能。通过将C2f模块和DBB相结合,我们的目标是生成更全面的特征表示,提高模型的通用性,从而在高速公路上商用车的长距离小物体检测方面具有优越的性能。DBB模块增强了模型的通用化性,从而增强了其鲁棒性,同时增加了参数的数量。这种自适应使模型更容易地部署在边缘设备上,从而放大其实时性能,同时轻量化。

将YOLOv8中的C2f模块替换为建议的C2f-DBB模块。通过叠加模块并连续融合每个小模块,产生了一种新的网络结构。这增加了结构的整体深度,以更低的计算成本实现了更高的分辨率,并捕获了更多的上下文信息。

损失函数

下图突出了小物体位移的极端敏感性。

通过结合NWD的分布测量能力和wise-IoU(适合于SOD的IoU)的定位能力,改善了NWD的损失。这种协同改进通过在精确评估目标分布和精确定位小物体之间取得平衡,确保了对小物体的有效目标检测。提高模型对小物体的敏感性,同时减少假阳性预测,最小化不同物体大小之间的敏感性差异

大多数真实的小目标并不严格遵守一个矩形的形状,因此经常包含在边界框内的上下文像素。提出了一种将边界盒建模为二维高斯分布的合适方法,以更准确地描述边界盒内不同像素之间的权重分布。在该模型中,边界框的中心像素的权重最大(焦点损失),像素的重要性随着它们远离中心的移动而降低。这种建模方法有效地降低了小物体对iou的敏感性,增加模型对小物体的敏感度并降低假阳性预测的数量,提高对小目标的检测能力,显著减少网络推理的计算负荷。

87d6d4addf634e36800ff097ce553e63.png

实验

使用两个交通场景下的目标检测的数据集——SODA-D和VisDrone。

其中,SODA-D包含24828张高质量的交通图像,涵盖了九个不同的类别,并且对小物体进行了细致的注释。而VisDrone则是一个专门用于无人机拍摄的图像数据集,包含了10209张静态图像,共有十个不同的物体类别。

这两个数据集都强调了对于小物体的检测能力,并且在不同光照、遮挡等复杂情况下都有一定的挑战性。这些数据集可以被用来评估目标检测算法的性能表现。

YOLOv8-QSD的检测结果及基线方法

5acb5bf8c44a4d37b91a7a155b9a7b1b.png

第一行是YOLOv8-QSD模型进行的检测的结果,第二行是基线方法的结果。(分别是白天和夜晚,长焦与短焦的检测)

8041f3d3f11c4f6ca43d1e6144027ec2.png

表一列出了YOLOv8-QSD与VisDrone数据集上的基线算法之间的检测精度的比较

表二列出了YOLOv8-QSD与SODA数据集上的基线算法之间的检测精度的比较

表三给出了SODA数据集上的其他算法与YOLOv8-QSD之间的比较

可以很好的看出YOLOv8-QSD的优势

1c1dfd645a574803b4a687151238e615.png

总结

创新点

将C2f改为C2f-DBB网络,用于检测驾驶场景中的远处小物体。其是在训练过程中采用多分支结构,在推理过程中采用单分支结构。DBB通过不同尺度和复杂度的分支组合,能够从多个角度和层次学习特征,从而丰富了特征空间。这种多样化的学习能够帮助模型更好地捕捉到输入数据的复杂结构,提高模型的表达能力。

其次,还引入了一个名为Q-block的新模块来优化小物体的BIFPN,并提高了在驾驶场景中检测远处小物体的性能。

提出了DyHead,包含了尺度感知、空间感知和任务感知的注意力机制,以进一步优化特征提取和分类过程。为了解决驾驶场景中远程检测的挑战,该文引入新的Q-block和管道结构以解决长距离检测挑战。最后改善损失函数降低iou对小目标的敏感。

实验结果表明,所提出的YOLOv8-QSD网络优于其他针对远处小目标设计的检测网络,同时实现了显著的轻量级特性。

改进方向

要求更高清晰度的图像才能产生最佳结果,以及在遇到抖动场景时需要增强其鲁棒性。

进一步简化q块结构,并增加显式补偿模块,改善模型对抖动的鲁棒性。

探索当前基于NMS的处理的替代解决方案,例如考虑一种类似于detr的方法来减少后处理阶段的推理损失。

在未来的研究中,仍然需要评估模型的稳定性和鲁棒性,特别是在极端天气条件下,包括雨、雾、弱光和强光。

论文网址:YOLOv8-QSD: An Improved Small Object Detection Algorithm for Autonomous Vehicles Based on YOLOv8 | IEEE Journals & Magazine | IEEE Xplore

补充

主干、颈部和检测头是目标检测的典型网络组件。

YOLO系列和SSD都表现出一定程度的相似性。这种相似性来自于模型中包含的缩放和降采样操作,当特征映射达到一定的深度时,这可能会导致对小物体的响应减弱。探测遥远的小物体是最重要的。虽然目前的YOLOv8模型具有显著的能力,但它在检测遥远的小物体方面的准确性落后于其他类别。像素密度的降低、对比度的降低和较低的信息密度阻碍了涉及遥远物体的场景中精确目标定位。为了解决这一挑战,我们提出了一种基于查询的方法来增强YOLO头模块。同时,我们改进了双向特征金字塔网络(BiFPN)的体系结构,对C2f模块进行了修改,并开发了一个新的框架。

特征金字塔的优势:

1. 可以在不增加计算开销的情况下处理目标识别中的多尺度变化的挑战;

2. 提取的特征生成包含高分辨率特征的多尺度特征表示。

( 论文是从层间特征交互作用和特征金字塔内的层内特征调节的角度,提出了一种层内特征调节机制。这种方法旨在解决现有方法在这一关键方面的局限性。)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • skywalking架构
  • Qt QPushButton::clicked和QPushButton::click的区别
  • 平安城市/雪亮工程现状及需求分析:EasyCVR视频汇聚平台助力雪亮工程项目建设
  • 短信软件如何高效处理空号问题
  • Python 实现行为驱动开发 (BDD) 自动化测试详解
  • 代码随想录算法训练营第四十三天 | 动态规划 part10
  • CentOS7下载与安装 即配置网卡
  • 技术分享-商品篇-购物车【加购功能】(八)
  • Java设计模式-原型模式-一次性理解透
  • 看demo学算法之 卷积神经网络(CNN)
  • 鸿蒙原生应用元服务开发-初识仓颉开发语言
  • Unity(2022.3.38LTS) - 输入
  • 企业电子招投标采购系统——功能模块功能描述+数字化采购管理 采购招投标
  • 【C++ 第十章】继承
  • php防止页面重复刷新或者重复提交
  • @jsonView过滤属性
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Facebook AccountKit 接入的坑点
  • java 多线程基础, 我觉得还是有必要看看的
  • js如何打印object对象
  • js写一个简单的选项卡
  • Map集合、散列表、红黑树介绍
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 使用 QuickBI 搭建酷炫可视化分析
  • 推荐一个React的管理后台框架
  • 网页视频流m3u8/ts视频下载
  • 小试R空间处理新库sf
  • 怎样选择前端框架
  • 湖北分布式智能数据采集方法有哪些?
  • 组复制官方翻译九、Group Replication Technical Details
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (7)摄像机和云台
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (汇总)os模块以及shutil模块对文件的操作
  • (一) 初入MySQL 【认识和部署】
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)Windows2003安全设置/维护
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)一些感悟
  • (转载)hibernate缓存
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net 应用中使用dot trace进行性能诊断
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net中我喜欢的两种验证码
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @Builder注释导致@RequestBody的前端json反序列化失败,HTTP400
  • @软考考生,这份软考高分攻略你须知道
  • [ linux ] linux 命令英文全称及解释
  • [ACM] hdu 1201 18岁生日