基于深度学习的苹果叶片疾病检测识别系统
本文基于YOLOv10/v8/v5的深度学习框架,通过9085张苹果叶片的相关图片,训练了可进行苹果叶片疾病目标检测的模型,可以分别检测9种类别: ['链格孢叶斑病 ', '棕色斑点', '蛙眼叶斑', '灰色斑点', '健康', '马赛克','白粉病', '锈', '结疤'],同时全面对比分析# YOLOv8n、YOLOv10n、YOLO5这3种模型在验证集上的评估性能表现。最终基于训练好的模型
历史数据及文章
| 数据集 | 对应文章 |
|---|---|
| 草莓成熟度数据集 | 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的草莓成熟度检测系统 |
| 番茄叶疾病检测数据集 | 基于深度学习的番茄叶疾病检测识别系统pcb板缺陷数据集 |
| pcb板缺陷数据集 | 基于YOLOV8/YOLOV5的PCB板缺陷检测识别系统 |
| 远距离停车场车位检测数据集 | 基于YOLOV8/YOLOV5的远距离停车场车位检测识别系统 |
| 复杂道路环境下车牌识别数据集 | 基于YOLOV8结合LPRNet的复杂道路环境下车牌识别检测系统 |
| 交通标志监测数据集(45类) | 基于深度学习的道路交通标志检测识别系统 |
| 水面目标物检测数据集 | 基于YOLOv8/YOLOv9/YOLOv10的水面目标检测识别系统 |
| 河道漂浮物检测数据集 | 基于YOLOv8/YOLOv9/YOLOv10的河道漂浮物检测识别系统 |
| 海洋生物水下目标数据集 | 基于YOLOv8模型的海洋生物目标检测系统(PyTorch+Pyside6+YOLOv8模型)(含源码+模型+可修改) |
| 常用维修工具检测数据集 | 基于深度学习的常用维修工具检测识别系统 |
| 道路车辆种类数据集 | 基于深度学习的道路车辆种类检测识别系统 |
| 番茄成熟度检测数据集 | 基于yolov5、yolov8、yolov10番茄成熟度检测识别系统 |
| 木材缺陷数据集 | 基于yolov5、yolov8的木材缺陷检测识别系统 |
| 水果蔬菜检测识别数据集 | 基于 YOLOv8、YOLOv10 的水果蔬菜检测识别系统:开启智慧果蔬管理新时代 |
| 水果新鲜程度 | 基于YOLOV5、YOLOv8的水果新鲜程度检测识别 |
| 风力发电机检测 | [基于yolov8 |
| .... |
摘要: 苹果种植过程中,叶片疾病的及时诊断是保障产量与品质的关键。传统人工检测方法依赖经验判断,存在效率低下、主观性强、漏诊误诊率高等问题,难以适应规模化种植的检测需求。为此,本文设计并实现一种基于深度学习的苹果叶片疾病检测识别系统。该系统以苹果叶片病害图像为研究对象,构建“图像采集-预处理-特征提取-疾病识别”的全流程技术框架:首先通过高清相机与图像采集装置获取不同光照、角度下的苹果叶片图像,经图像增强、去噪、分割等预处理操作提升数据质量;随后构建改进型深度学习模型(如基于YOLO、ResNet等网络的优化架构),通过大量标注病害样本(如褐斑病、斑点落叶病、白粉病等)进行模型训练与优化,实现病害特征的自动提取与精准识别;最终输出疾病类别、置信度及病灶位置等关键信息。实验表明,该系统识别准确率可达95%以上,检测速度较人工提升10倍以上,能够有效克服传统检测的不足,为苹果种植户提供快速、准确的病害诊断方案,同时为果园智能化管理、精准防控提供技术支撑,对降低种植损失、推动农业现代化发展具有重要实践意义。本文基于YOLOv10/v8/v5的深度学习框架,通过9085张苹果叶片的相关图片,训练了可进行苹果叶片疾病目标检测的模型,可以分别检测9种类别: ['链格孢叶斑病 ', '棕色斑点', '蛙眼叶斑', '灰色斑点', '健康', '马赛克','白粉病', '锈', '结疤'],同时全面对比分析# YOLOv8n、YOLOv10n、YOLO5这3种模型在验证集上的评估性能表现。最终基于训练好的模型制作了一款带UI界面的路车辆种类检测识别系统,更便于进行功能的展示。该本文提供了完整的Python代码和使用教程,该系统是基于python3.10与pyside6开发的,支持图片、视频以及摄像头进行目标检测,并保存检测结果。本文提供了完整的Python代码和使用教程,给感兴趣的小伙伴参考学习,完整的代码资源文件获取方式见文末。
一、研究背景及意义
苹果病害检测是智慧农业领域的重要研究方向。据统计,全球每年因苹果病害造成的经济损失高达数十亿美元 💸。传统的人工检测方法存在诸多局限性:一是检测效率低下,一位经验丰富的农技人员一天只能检测约5-10亩果园;二是主观性强,不同检测人员的判断标准存在差异;三是早期病害识别困难,当肉眼可见明显症状时,病害往往已经发展到较严重阶段 📉。
农业现代化进程的加快,我国苹果种植面积与产量持续提升,但病害频发问题始终是制约产业高质量发展的瓶颈。据统计,我国苹果主产区每年因叶片病害造成的产量损失可达10%~30%,严重年份甚至超过50%,同时病害还会降低果实品质,影响商品价值。在传统病害检测模式中,主要依赖种植户的田间经验或专业植保人员的现场勘查,通过肉眼观察叶片的病斑颜色、形状、大小等特征判断病害类型。然而,这种方式存在诸多难以克服的缺陷:一是主观性强,不同人员的经验差异较大,对相似病斑的判断易出现偏差,漏诊、误诊率较高;二是效率低下,对于规模化果园,人工检测需要耗费大量的时间与人力成本,难以实现病害的早期快速排查;三是时效性差,人工检测周期长,往往无法及时捕捉病害初期的轻微症状,导致防控时机延误,加剧病害扩散。
与此同时,深度学习技术在计算机视觉领域取得了突破性进展,其基于卷积神经网络的特征自动提取能力,能够精准识别图像中的细微差异,在作物病害检测、医学影像诊断、目标识别等多个领域展现出优异的应用潜力。相较于传统机器学习方法,深度学习无需人工设计病害特征提取算子,可通过大量标注样本的训练,自动学习叶片病害的深层特征,大幅提升检测的准确性与智能化水平。当前,农业领域的智能化转型需求迫切,物联网、高清成像、移动终端等技术的成熟也为深度学习技术在果园病害检测中的应用提供了硬件支撑。在此背景下,研发基于深度学习的苹果叶片疾病检测识别系统,填补传统检测技术的短板,满足规模化果园的高效病害防控需求,成为农业人工智能领域的重要研究方向。
深度学习技术,特别是目标检测算法的出现,为解决这些问题提供了新的思路。YOLO系列算法以其检测速度快、精度高的特点,在农业目标检测领域得到了广泛应用 🚀。然而,现有的YOLO算法在苹果叶片病害检测中仍存在一些问题:
-
模型参数量大,计算复杂度高,难以在边缘设备上实现实时检测 ⚙️
-
对小目标病害的特征提取能力不足,容易造成漏检 🔍
-
在复杂环境下,病害特征与背景相似度高,导致检测精度不高 🌿
本研究研发基于深度学习的苹果叶片疾病检测识别系统,具有重要的理论意义与实践价值,具体体现在以下三个方面: 其一,在理论层面,丰富了深度学习技术在农业病害检测领域的应用研究。通过针对苹果叶片病害图像的特点,优化深度学习模型的网络结构与训练策略,解决病害图像在复杂田间环境下(如光照变化、叶片重叠、背景干扰等)的识别难题,提升模型的鲁棒性与泛化能力,为同类作物的病害检测技术研究提供理论参考与方法借鉴,推动农业人工智能交叉学科的发展。
其二,在实践层面,破解传统苹果叶片病害检测的痛点问题。系统实现了病害的自动化、精准化检测,能够在病害初期快速识别病斑并判断病害类型,检测效率较人工提升10倍以上,且识别准确率可达95%以上,有效降低漏诊、误诊风险。这不仅减少了植保人员的工作强度与人工成本,更能为种植户提供及时的防控决策依据,帮助其精准施用农药,降低农药使用量,减少环境污染,实现绿色种植。
其三,在产业层面,助力苹果产业的智能化升级与高质量发展。该系统的应用能够推动果园管理从“经验驱动”向“数据驱动”转变,提升果园病害防控的精细化水平,保障苹果产量与品质的稳定提升,增加种植户经济收益。同时,系统积累的病害检测数据还可为区域苹果产业的病害预警、防控政策制定提供数据支撑,推动形成“检测-预警-防控”的全链条智能化管理模式,促进农业产业现代化进程。
基于深度学习的苹果叶片疾病检测识别系统凭借其高效、精准、便捷的特点,可广泛应用于苹果种植的多个环节与不同场景,具体包括:
1. 规模化果园田间巡检场景: 在大型苹果种植基地,可将系统搭载于植保无人机、智能巡检机器人或移动检测终端(如智能手机、平板),实现田间的自动化巡检。无人机或机器人可按预设路径遍历果园,通过高清摄像头采集叶片图像,实时传输至系统进行病害检测;种植户也可通过移动终端现场拍摄叶片图像,即时获取病害识别结果,大幅提升巡检效率,实现全果园病害的快速排查。
2. 基层农业技术服务场景: 基层农业技术推广站可借助该系统为种植户提供专业化的病害诊断服务。针对种植户无法准确判断的叶片病害,技术人员可通过系统上传叶片图像,快速获取精准的病害类型、发病程度及防控建议,为种植户提供个性化的技术指导,解决基层植保技术人员不足、服务覆盖范围有限的问题。
3. 苹果种植标准化生产场景: 在标准化苹果种植基地,系统可作为生产过程中的质量管控工具,实时监测叶片健康状况,及时发现病害隐患并触发防控流程,确保种植过程符合绿色、优质的生产标准。同时,系统记录的病害发生时间、位置、类型等数据,可纳入生产档案,实现苹果生产的全程可追溯,提升产品市场竞争力。
4. 区域病害监测预警场景: 通过在多个苹果主产区部署该系统,构建区域化的病害监测网络。系统汇总各产区的病害检测数据,结合气象数据、土壤数据等,通过大数据分析预测病害的发生趋势与扩散路径,为农业主管部门发布病害预警信息、制定区域防控方案提供数据支撑,实现病害的区域性联防联控。
5. 农业技术培训场景: 在农业技术培训中,该系统可作为实操教学工具。通过展示系统对不同类型病害叶片的识别过程与结果,帮助种植户、农业专业学生直观了解各类苹果叶片病害的特征与诊断方法,提升其病害识别能力,推动先进植保技术的普及。
一、软件核心功能介绍及效果演示
软件主要功能:

-
可进行9中苹果叶疾病检测与识别;
-
支持图片、视频及摄像头进行检测,同时支持图片的批量检测;
-
界面可实时显示目标位置、目标总数、置信度、用时等信息;
-
支持图片或者视频的检测结果保存;
(1)图片检测演示
点击图片图标,选择需要检测的图片,或者点击文件夹图标,选择需要批量检测图片所在的文件夹,操作演示如下:点击目标下拉框后,可以选定指定目标的结果信息进行显示。 点击保存按钮,会对视频检测结果进行保存,存储路径为:runs目录下。参考视频操作
(2)视频检测演示
点击视频图标,打开选择需要检测的视频,就会自动显示检测结果。点击保存按钮,会对视频检测结果进行保存,存储路径为:runs目录下。参考视频操作
(3)摄像头检测演示
点击摄像头图标,可以打开摄像头,可以实时进行检测,再次点击摄像头图标,可关闭摄像头。参考视频操作
(4)保存图片与视频检测结果
点击保存按钮后,会将当前选择的图片【含批量图片】或者视频的检测结果进行保存。检测的图片与视频结果会存储在runs目录下。参考视频操作
二、模型的训练、评估与推理

1. 使用模型基本原理
YOLOv5是YOLO(You Only Look Once)系列目标检测算法的最新版本之一,于2020年由Ultralytics LLC发布。尽管它并不是由原版YOLO作者Joseph Redmon及其团队开发,但YOLOv5依然继承了YOLO家族快速且准确的特点,并在易用性、训练速度和推理效率方面做了进一步优化。高效的目标检测能力,能够在保持高精度的同时实现实时处理;支持多种深度学习框架,如PyTorch,使得模型易于部署与扩展;提供预训练模型,方便用户快速上手进行迁移学习或直接应用于实际问题中;强调轻量化设计,适合边缘设备上的应用。 主要改进之处
模块化架构设计:
多尺度模型: 提供 YOLOv5s/m/l/x 四个版本(从小到大),通过调整网络深度和宽度,平衡精度与速度。例如,YOLOv5s 模型仅 7.2MB,FPS 达 140+,适合边缘设备部署。
Focus 结构: 通过切片操作(Slice)替代卷积,减少计算量。例如,输入 640×640 图像时,Focus 模块将其切分为 320×320×12 的特征图,再通过卷积降维。
特征提取优化CSPDarknet:结合 Cross Stage Partial Network(CSPNet)设计,减少参数量并增强梯度流。例如,C3 模块通过跨阶段连接提升特征表达能力。
PANet 特征融合: 采用 Path Aggregation Network 结构,同时融合自顶向下(语义信息)和自底向上(空间信息)的特征,增强对不同尺度目标的检测能力。
训练策略创新
自适应锚框计算: 在训练初期自动计算数据集的最优锚框尺寸,减少人工调参。
Mosaic 数据增强: 随机拼接 4 张图像,增加小目标样本多样性,提升小目标检测能力。
余弦退火学习率: 动态调整学习率,加速收敛并避免过拟合。

YOLOv8是一种前沿的目标检测技术,它基于先前YOLO版本在目标检测任务上的成功,进一步提升了性能和灵活性。主要的创新点包括一个新的骨干网络、一个新的 Ancher-Free 检测头和一个新的损失函数,可以在从 CPU 到 GPU 的各种硬件平台上运行。其主要网络结构如下:

YOLOv10 的架构建立在以前 YOLO 模型的优势之上,通过消除非最大抑制 (NMS) 和优化各种模型组件, 实现了最先进的性能,并显著降低了计算开销。
模型网络结构由以下组件组成: 主干网:YOLOv10 中的主干网负责特征提取,使用增强版的 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余。颈部:颈部被设计成聚合来自不同尺度的特征,并将它们传递到头部。它包括 PAN(路径聚合网络)层,用于有效的多尺度特征融合。一对多头:在训练过程中为每个对象生成多个预测,以提供丰富的监督信号,提高学习准确性。一对一头:在推理过程中为每个对象生成一个最佳预测,消除对 NMS 的需求,从而减少延迟并提高效率。YOLOv10创新点如下无 NMS 训练: 利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。整体模型设计: 从效率和精度两个角度对各种组件进行全面优化,包括轻量级分类头、空间通道解耦下采样和秩引导块设计。增强的模型功能: 整合大核卷积和部分自注意力模块,可在不增加大量计算成本的情况下提高性能。
2.数据集准备
本文使用的数据集为番茄拍摄图片,选取其中图片进行模型训练,并将原始标签转换为yolo格式标签。通过9085张苹果叶片的相关图片,训练了可进行苹果叶片疾病目标检测的模型,可以分别检测9种类别: ['链格孢叶斑病 ', '棕色斑点', '蛙眼叶斑', '灰色斑点', '健康', '马赛克','白粉病', '锈', '结疤'].部分图像及标注如下图所示。最终共有11种维修工具参与模型训练,中英文名称对照如下:
模型训练时,使用的名称对照表如下:

其中训练的9种叶疾病类别中文名称为:
['链格孢叶斑病 ', '棕色斑点', '蛙眼叶斑', '灰色斑点', '健康', '马赛克','白粉病', '锈', '结疤']
在项目目录中新建datasets目录,同时将检测的图片分为训练集与验证集放入苹果叶疾病目录下。
同时我们需要新建一个data.yaml文件,用于存储训练数据的路径及模型需要进行检测的类别。具体内容如下:
path: E:\信息记录\3-示例\train\YOLOv8-main\ultralytics-main\ultralytics\datasets\apple_leaf_disease
train: train/images
val: valid/images
test: test/images
nc: 9
names:
0: 0
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
chinesenames: ['链格孢叶斑病 ', '棕色斑点', '蛙眼叶斑', '灰色斑点', '健康', '马赛克','白粉病', '锈', '结疤']
数据准备完成,准备开始训练。
3. 训练结果评估
深度学习中,我通常用损失函数下降的曲线来观察模型训练的情况。在训练时主要包含三个方面的损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss),在训练结束后,可以在runs/目录下找到训练过程及结果文件,如下所示:

各损失函数作用说明:
定位损失box_loss: 预测框与标定框之间的误差(GIoU),越小定位得越准;
分类损失cls_loss: 计算锚框与对应的标定分类是否正确,越小分类得越准;
动态特征损失(dfl_loss): DFLLoss是一种用于回归预测框与目标框之间距离的损失函数。在计算损失时,目标框需要缩放到特征图尺度,即除以相应的stride,并与预测的边界框计算Ciou Loss,同时与预测的anchors中心点到各边的距离计算回归DFLLoss。 当然还存在其他损失函数进行调节训练。此处展示了yolov5的损失函数, 具体的训练结果如下所示:

我们通常用PR曲线来体现精确率和召回率的关系,本文训练结果的PR曲线如下。mAP表示Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值。mAP@.5:表示阈值大于0.5的平均mAP,可以看到本文模型11类目标检测的mAP@0.5平均值为0.95,结果还是很不错的。
4. 检测结果识别
模型训练完成后,我们可以得到一个最佳的训练结果模型best.pt文件,在runs/trian/weights目录下。我们可以使用该文件进行后续的推理检测。图片检测结果如下:

这就是p苹果叶疾病检测与识别系统的原理与代码介绍。基于深度学习模型,用python与pyside6开发了一个带界面的软件系统,即文中第二部分的演示内容,能够很好的支持图片、视频及摄像头进行检测,同时支持检测结果的保存。
视频频参考链接:https://www.bilibili.com/video/BV1MefzBzEJK/?vd_source=57a174b19efc43c207675a3a9964ec71
关于该系统涉及到的完整源码、UI界面代码、数据集、训练代码、测试图片视频等相关文件,均已打包准备完毕,感兴趣的小伙伴可以通过公众号获取。
【获取方式】 wx-gzh:【AI算法爱好者角落】
更多推荐
所有评论(0)