水果目标检测[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.pswp.cn/diannao/97408.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/97408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Let‘s Encrypt证书自动续期

证书失效后浏览器可以看到错误提示,以及证书过期时间。 排查服务器证书续期配置 1. 证书未正确安装或配置 确保在阿里云服务器上部署的 Let’s Encrypt 证书已经正确安装。你可以通过以下步骤确认: 使用命令 sudo certbot certificates 检查证书是否正确…

Redis-基数统计、位图、位域、流

Redis-基数统计、位图、位域、流一、基数统计 HyperLogLog二、位图 Bitmap三、位域 Bitfild四、流 Stream一、基数统计 HyperLogLog 基数统计:是用来做基数(不重复的数)统计的算法 (统计不重复出现的数据的个数) 基数统计VS集合 集合: uv …

IBMS-建筑内分散的子系统(如 BA、安防、消防、能源、电梯等)进行数据互联、功能协同与智能管控

IBMS(Integrated Building Management System,楼宇集成管理系统)并非简单的 “系统叠加”,而是通过对建筑内分散的子系统(如 BA、安防、消防、能源、电梯等)进行数据互联、功能协同与智能管控,实…

LabVIEW温采监控系统

​温度采集监控系统以LabVIEW 软件平台,构建起一套高效、可靠的温度监测与控制体系。系统可实时采集、显示、存储温度数据,超限时自动报警并执行温控操作,适用于多类场景,能满足精准温控需求,解决传统系统灵活性差、成…

Docker核心概念与镜像仓库操作指南

文章目录一、名词概念Docker镜像Docker镜像仓库二、Docker镜像仓库常用命令三、容器启动相关指令Nginxdocker rundocker ps四、综合实例1.搭建Nginx服务2.Docker hub上创建私有仓库一、名词概念 Docker镜像 Docker 镜像:是一个只读的模板,它包含了创建…

科技信息差(8.30)

🌍DeepSeek V3.1 Base突袭上线!击败Claude 4编程爆表,全网在蹲R2和V4🎄语音界Sora!微软刚开源新模型,一次生成90分钟语音、3200倍压缩率VibeVoice-1.5B开创了语音界多个重大技术突破:一次性可连…

【国内电子数据取证厂商龙信科技】ES 数据库重建

我们公司在协助侦办一起案件现场勘查遇到这样一个案件,现场没有 获取到服务器数据库密码,且涉案服务器数据巨大,涉及到的数据库并不 是 mysql 数据库,而是 elasticsarch 数据库,这给我们侦办案件带来了极 大的困难&…

【51单片机定时1秒中断控制流水灯方向】2022-11-14

缘由C语言怎么编可中断取反流水灯-编程语言-CSDN问答 用P1口做输出口,接八只发光二极管。编写程序,使发光二极管循环点亮,循环点亮时间间隔为1秒,该时间间隔用定时器中断实现。/ INT0 接单次脉冲输出,每当有外部中断信…

Megatron-LM(模型并行)

Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism 1. 技术设计原则 Megatron-LM 提出轻量级层内模型并行,无需定制编译器或修改框架,仅通过在 PyTorch 原生代码中插入少量通信操作(如all-reduce&…

C/C++:AddressSanitizer内存检测工具

AddressSanitizer是gcc自带的内存检测工具&#xff0c;无需额外安装 常见问题 #include <stdlib.h>// 越界访问 void stack_buffer_overflow() {char buffer[1];int i 10;buffer[i] A; // 访问越界 }// 野指针 void use_after_free() {char *text (char *)malloc(size…

【源码】智慧工地系统:智能化施工现场的全新管理方案

智慧工地系统是一个综合利用物联网&#xff08;IoT&#xff09;、大数据、云计算、人工智能&#xff08;AI&#xff09;、移动互联网和BIM&#xff08;建筑信息模型&#xff09;等新一代信息技术&#xff0c;对施工现场的“人、机、料、法、环”等关键要素进行实时、全面、智能…

网络安全等级保护(等保2.0)

网络安全等级保护&#xff08;等保2.0&#xff09;工作全流程指南 等级保护&#xff08;全称“网络安全等级保护”&#xff09;是我国网络安全领域的核心制度&#xff0c;是《网络安全法》规定的法定义务&#xff0c;等保2.0相关国家标准于2019年5月10日正式发布。2019年12月1日…

【Docker】Docker初识

目录 容器技术发展史 Jail时代 1979年贝尔实验室发明chroot 2000年FreeBSD 4.0发行FreeBSD Jail 2001年Linux VServer发行 2004年Solaris Containers发行 云时代 2006年google推出Process Containers 2008年LXC推出 2011年CloudFoundry推出Warden 2013年LMCTFY启动 …

SNMPv3开发--snmptrapd

SNMPv3开发–snmptrapd REF:3min搞定snmpdtrap的配置与使用

机器学习时间序列算法进行随机划分数据是不合适的!

问题代码&#xff1a;数据集划分方式不适合时间序列&#xff0c;会导致评估结果不可靠。 代码在整体流程上是合理的&#xff0c;但针对时间序列数据&#xff0c;存在一个关键问题&#xff1a;使用train_test_split进行随机划分是不合适的。时间序列的特殊性风速数据属于时间序列…

逆向思维下,如何把基金投资做亏?

投资界常说“聪明的人学习别人赚钱的方式”&#xff0c;但如果我们刻意采用逆向思维&#xff0c;想要把基金投资做亏&#xff0c;其实也有科学依据。 今天&#xff0c;我们就从心理学和行为金融的角度&#xff0c;揭示那些真实的投资亏损方法。 ⚡️ 1. 总想追热点&#xff0c…

1-python 自定义模板导出文档-基础实现

使用 Python 根据自定义的 Word 模板和传入的 JSON 数据生成 Word 报告&#xff0c;是自动化文档生成的常见需求。最常用的方法是使用 python-docx 和 docxtpl 库。其中&#xff0c;docxtpl 是基于 python-docx 的模板引擎&#xff0c;支持 Jinja2 模板语法&#xff0c;非常适合…

LeetCode算法日记 - Day 24: 颜色分类、排序数组

目录 1. 颜色分类 1.1 题目分析 1.2 解法 1.3 代码实现 2. 排序数组 2.1 题目解析 2.2 解法 2.3 代码实现 1. 颜色分类 75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地 对它们进行排序…

学习一下动调

[NSSCTF 2nd]MyBasedie查一下用ida64打开main函数里面没有什么信息&#xff0c;接着追一下函数&#xff0c;内容在test函数里面函数会对我们输入的内容进行base64加密&#xff0c;这段逻辑也很简单&#xff0c;就是将加密后的字符串和目标字符串依次进行比较&#xff0c;一样就…

Java试题-选择题(22)

Java试题-选择题&#xff08;22&#xff09; 题目以下对JDBC事务描述错误的是 &#xff1f; A) JDBC事务属于JAVA事务的一种 B) JDBC事务属于容器事务类型 C) JDBC事务可以保证操作的完整性和一致性 D) JDBC事务是由Connection发起的&#xff0c;并由Connection控制要通过可滚动…