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

水果目标检测[2]:ALAD-YOLO:一种轻便、精确的苹果叶病检测仪

原文:

目录

摘要:

ALAD-YOLO的改进:

1.轻量化主干网络:

2.改进的 Neck 网络:

3.改进的 SPP 模块:

4.注意力机制引入:

实验结果

数据:

1 数据采集 (Data Collection)

2 数据预处理 (Data Preprocessing)


摘要:

患有各种苹果叶病,及时采取预防措施是必要的。目前,人工疾病判别工作量大,而自动化疾病检测算法面临检测精度和速度的权衡。因此,本文提出了一种基于YOLO-V5s(ALAD-YOLO)的精确轻量级苹果叶病检测模型。收集了苹果叶病检测数据集,包含复杂环境下的2748张患病苹果叶图像,例如从不同拍摄角度、在一天中的不同跨度以及在不同天气条件下。此外,还应用了各种数据扩充算法来提高模型的泛化能力。通过引入Mobilenet-V3s基本块来压缩模型大小,该基本块集成了骨干网中的协调注意力(CA)机制,并在颈部网络中用空间金字塔池交叉阶段部分Conv(SPPCSPC)模块中的组卷积、深度方向卷积和C3模块中的Ghost模块代替普通卷积,同时保持较高的检测精度。实验结果表明,ALAD-YOLO很好地平衡了检测速度和准确率,在测试集上实现了90.2%的准确率(相比yolov5s提高了7.9%),并将浮点运算(FLOP)降低到6.1 G(相比yolov5s降低了9.7 G)。综上所述,本文为苹果叶部病害检测及其他相关领域提供了一种准确、高效的检测方法。

ALAD-YOLO的改进:

ALAD-YOLO是YOLO-V5s的改进版本,以更轻量级的Mobilenet-V3网络作为其主干。这种修改在保证准确性的同时降低了特征提取的计算成本。将提出的DWC3-ghost模块应用于网络的颈部,在保持其表现力的同时提高了特征融合的效率。此外,SPPCSPC_GC模块的应用进一步增强了模型在不同输入分辨率下的性能。CA注意力机制的引入加强了模型对目标的聚焦,有效弥补了之前轻量级操作带来的精度损失。

1)使用包含轻量级深度可分离卷积、SE模块、倒残差结构的MobileNetV3s基本块代替堆叠的CBS和C3模块,提高特征提取效率,压缩模型规模。

2)提出了DWC3-ghost模块来替代颈部网络中原有的C3模块,以减少参数计数和FLOPs。

3)提出SPPCSPC_GC结构,以群卷积取代原有的SPP模块,进一步压缩模型规模,提高特征融合阶段的效率。

4)在颈部网络中嵌入轻量级坐标注意力(CA)模块,细化检测苹果叶片病害的关键信息,提高针对不同类型病害的检测准确率。

图3提出的ALAD-YOLO模型的架构。
整个网络分为四个部分:输入网络(A)、主干网络(B)、颈部网络(C)和头部网络(D)。

ALAD-YOLO 的核心贡献在于对 YOLOv5s 进行了多项轻量化和精度提升的改进。

1.轻量化主干网络

将 YOLOv5 的主干网络替换为更轻量化的 MobileNetV3s 。MobileNetV3s 引入了

  • 深度可分离卷积(Depth-wise Separable Convolutions),它将标准卷积分解为深度卷积和逐点卷积两步,大大减少了参数量和计算量 。此外,还采用了线性瓶颈(Linear Bottleneck)和倒残差结构(Inverted Residual Structure)以及

  • SE 注意力机制模块,以在保持性能的同时进一步压缩模型 。

图4 MobileNetV3S基本块的体系结构。
基本块由深度卷积、线性瓶颈和逆残差结构、SE注意机制四部分组成。
2.改进的 Neck 网络

为了进一步减少参数和计算量,论文提出了新的 DWC3-ghost 模块来替换 Neck 网络中原始的 C3 模块 。该模块结合了深度卷积和

  • GhostNet,通过生成内在特征图(intrinsic feature map)和由廉价线性变换生成的“幽灵”特征图(ghost feature map)来减少冗余特征,从而大幅降低计算成本 。

3.改进的 SPP 模块

提出了一种名为 SPPCSPC_GC 的新模块来替代原始的 SPP 模块 。该模块结合了 CSP、SPP 和

  • 分组卷积(Group Convolution) ,不仅提升了模型对不同分辨率图像的适应性,还通过分组卷积显著减少了参数,有效防止过拟合 。

4.注意力机制引入

为了弥补轻量化带来的精度损失,在 Neck 网络中嵌入了

  • 坐标注意力(CA)机制 。与传统的 SE 或 CBAM 注意力机制不同,CA 模块能够更好地捕捉目标的空间和通道信息,同时保持轻量化,从而显著提升了检测精度 。


实验结果

论文的实验结果表明,ALAD-YOLO 在平衡检测速度和精度方面表现出色 。

  • 精度提升:在测试集上实现了 90.2% 的检测精度,相比 YOLOv5s 提高了 7.9% 

  • 模型压缩:模型的浮点运算(FLOPs)降至 6.1G,相比 YOLOv5s 减少了 9.7G

ALAD-YOLO在6.1 GFLOPs下实现了90.2%的检测准确率。与现有模型相比,ALAD-YOLO不仅在精度方面表现更好,而且具有更高的计算效率。因此,所提出的方法为苹果叶片病害的实时、准确检测提供了极好的技术支持。在后续研究中,我们将进一步优化ALAD-YOLO在复杂场景下的性能,使其拥有更广泛的应用。


数据:

这份材料详细介绍了用于苹果叶片病害检测数据集构建和预处理过程,其核心目标是提高模型的泛化能力和对小目标的检测效果。


1 数据采集 (Data Collection)

为了确保模型能够应对真实环境的复杂性,研究人员在数据采集阶段采取了多项策略:

  • 多样性采集:图像数据涵盖了不同的拍摄角度、背景、时间、病害范围和密度。这有助于模型学习更丰富的特征,减少对特定环境的依赖。

  • 整合多源数据集:由于公开的苹果叶片病害数据集稀缺,该研究结合了多个来源的数据:

    • 公开数据集:Kashmiri Apple Plant Disease Dataset 和 Plant Pathology 2020-FGVC7。

    • 自采数据集:为了弥补公开数据集背景过于干净、多为单片叶子的不足,研究人员自行采集了 961 张包含小目标苹果叶片簇的数据。这些数据更符合实际检测环境,有助于提升模型对小病斑的检测能力。

  • 总数据量:最终的数据集由 2748 张苹果病害图像组成。这些图像具有不同的分辨率,并保留了叶片的细节,同时受到真实户外光照和阴影遮挡的影响,这直接提升了模型的鲁棒性泛化能力

  • 数据标注:使用 LabelMe 软件进行标注,将图像中的病害标记为花叶病(mosaic disease)斑点枯萎病(spot wilt disease)和叶枯病(leaf blight),并生成 XML 格式的标注文件。

  • 数据集划分:最终,数据集按照 8:1:1 的比例被划分为训练集、验证集和测试集


2 数据预处理 (Data Preprocessing)

为了进一步增强模型性能,研究人员采用了数据增强技术。

  • 技术选择:核心使用了 Mosaic 数据增强技术。

  • 工作原理:Mosaic 技术通过将四张随机选择的图像拼接成一张,然后对这张新图像应用一系列随机变换,例如:

    • 随机缩放翻转(概率为 50%)。

    • 随机平移(概率为 10%)。

    • 随机调整色相、饱和度和亮度(概率分别为 1.5%、70%和40%)。

  • 增强效果

    • 增加小目标数量:由于拼接图像会产生更多的小目标,并使其分布更均匀,这有效地解决了数据集中小目标分布不均的问题,从而提升了模型对小目标的检测能力。

    • 减少过拟合:通过生成更多样化的训练样本,Mosaic 技术有效地减少了模型的过拟合,增强了模型的泛化能力。

图1数据集的样本,其中(a)是具有正常背景的患病苹果叶,(B)是真实环境中的患病苹果叶,以及(C)处于本文中收集的苹果叶样本具有多种疾病的密集情况。

图2马赛克数据增强。四幅图像被随机裁剪并拼接到一幅图像上作为训练数据。

http://www.xdnf.cn/news/19113.html

相关文章:

  • 学习Python中Selenium模块的基本用法(7:元素操作-1)
  • 【golang长途旅行第33站】常量------补充知识点
  • golang 12 package 和 module
  • Docker 入门指南:从基础概念到常见命令及高级工具详解
  • C++:知识点小结
  • vue2 watch 的使用
  • 从 WPF 到 Avalonia 的迁移系列实战篇1:依赖属性的异同点与迁移技巧
  • LangChain4j入门一:LangChain4j简介及核心概念
  • Python计算点云的欧式、马氏、最近邻、平均、倒角距离(Chamfer Distance)
  • 嵌入式C语言进阶:高效数学运算的艺术与实战
  • MySQL 8 与 PostgreSQL 17 对比分析及迁移指南
  • 【网络】网络基础概念
  • HarmonyOS安全开发实战:一套好用的数据加密方案
  • mysql mvcc机制详解
  • Java全栈开发面试实战:从基础到微服务架构的深度解析
  • IntelliJ IDEA Debug 模式功能指南
  • 替身演员的艺术:pytest-mock 从入门到飙戏
  • 寻找AI——初识墨刀AI
  • 极海发布APM32F425/427系列高性能MCU:助力工业应用升级
  • Ansible模块实战,操作技巧
  • 【C#】获取不重复的编码(递增,非GUID)
  • 怎么理解API?
  • R-Zero:通过自博弈机制让大语言模型无需外部数据实现自我进化训练
  • LeetCode-238除自身以外数组的乘积
  • 大脑的藏宝图——神经科学如何为自然语言处理(NLP)的深度语义理解绘制新航线
  • PowerShell下vim编辑文件时产生的额外文件
  • 网站防爆破安全策略分析
  • KingBase数据库迁移利器:KDTS工具 MySQL数据迁移到KingbaseES实战
  • 学习设计模式《二十四》——访问者模式
  • 【数字投影】创新展厅视觉体验,3D Mapping投影全面解读