基于深度学习的植物叶片病害识别系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向植物叶片病害的在线识别需求,设计并实现一套可落地的桌面端检测系统:前端采用 PySide6/Qt,支持 图片/图片目录/视频/本地摄像头 多源输入与互斥切换,推理过程提供 进度显示/处理进度条 与耗时统计;检测结果在主显示区叠加 类别名+置信度 框选效果,并支持目标选择高亮与记录联动。系统内置 YOLOv5–YOLOv12(共 8 种) 的训练、推理与对比评测流程,支持 模型选择/权重加载(.pt 热切换),并统一输出 mAP、F1、PR 曲线、训练曲线等指标与可视化对比。工程侧提供 CSV 导出、带框结果一键导出(单帧 PNG / 多帧 AVI)、以及 SQLite 本地入库 的检测记录与账户数据管理;登录/注册入口完整,同时支持一次性 跳过 以快速进入主流程并保持会话生效范围清晰。系统实现思路与关键模块组织可参考随附技术实现文档 ;文末提供完整工程与数据集链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的植物叶片病害识别系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)系统提供登录、注册与跳过三种入口,用户可在首次使用时选择快速跳过进入主界面,后续再完成账号绑定与资料完善;登录后的会话仅在本机客户端范围内生效,并与历史检测记录、偏好配置关联。进入系统后,用户按照“概览—图片检测—模型选择—结果导出”的动线完成主要操作,同时可在记录区快速定位最近一次任务并高亮对应的CSV条目。账户与记录采用本地化管理方式,配合口令校验与基础权限控制,在不牺牲交互效率的前提下兼顾数据安全与可追溯性。
(2)系统整体交互以“左侧数据源与阈值控制—中央可视化显示—右侧目标详情—底部记录与进度反馈”的桌面布局组织,用户无需频繁切换页面即可完成从输入到输出的闭环。概览页用于展示最近任务摘要、模型状态与导出提示,帮助用户快速恢复上次工作上下文。推理过程中提供进度条、用时与状态提示,并将检测记录以结构化表格持续沉淀,便于后续检索与复查。
(3)系统支持在运行时切换不同YOLO模型,用户通过选择本地权重文件即可完成模型热切换,并同步刷新类别名称、颜色映射与展示样式,避免“类别不一致”带来的误读。模型切换后,当前阈值与可视化配置保持一致,用户可以在相同交互习惯下对比不同模型的输出差异。常用配置与主题风格支持本地持久化保存,使多次实验对比更连贯,也更利于工程化复现。
(4)图片检测面向单张与批量场景提供即时推理体验,推理结果在主显示区叠加边界框、类别名与置信度,用户可通过点击目标或在详情区选择类别进行高亮与聚焦复核。系统提供Conf与IoU阈值调节以控制误检与漏检的权衡,并在阈值变化后及时刷新显示结果,便于快速找到适合当前光照与背景的参数。检测过程中生成的结构化记录可一键导出为CSV,同时在底部记录区跨页面共享,方便从可视化回到数据层做一致性检查。
玉米叶枯病检测效果
(5)文件保存围绕“复查与溯源”设计,系统对导出结果采用时间戳命名与统一归档策略,降低多次实验混淆的概率。用户可一键导出带框结果图(PNG)与批量检测报告(CSV),并将检测记录与账户信息写入本地SQLite,以支持长期积累与统计分析。对于需要回放复核的场景,系统将处理后的多帧结果按序列导出为AVI视频,配合文件名检索即可快速定位到具体任务与对应输入。

2. 绪论
2.1 研究背景及意义
植物叶片病害具有发生隐蔽、传播迅速与多病同现等特点,传统依赖人工巡检的方式在大田与温室场景下往往难以兼顾覆盖率与时效性,从而影响早期预警与精准施策的落地1。近年来,深度学习视觉方法在农业感知任务中表现出更强的特征表达能力与跨场景迁移潜力,为“看得准、看得快、看得懂”的病害识别提供了新的技术路径2。
从工程应用角度看,病害识别不仅是离线建模问题,更是“数据采集—推理决策—可视化解释—结果追溯”的闭环系统问题3。公开数据集与移动端诊断需求推动了叶片病害识别研究走向规模化与产品化,但真实田间仍面临光照波动、遮挡反光、病斑尺度差异与长尾类别等挑战,因此需要把模型鲁棒性、实时性与交互可用性放在同一目标函数下统筹优化4。
因此,构建一套基于深度学习的植物叶片病害识别系统具有明确的应用价值:一方面,通过目标检测与可视化叠加降低病害定位与分级门槛,支持植保人员快速复核与人机协同决策;另一方面,通过本地化存储与结构化导出实现过程可追溯,为后续数据治理与持续迭代提供可靠抓手5。
2.2 国内外研究现状
面向温室与自然田间的叶片病害识别,核心任务通常从“整叶分类”扩展到“病斑定位与多病共检”,其难点集中体现在类间纹理相似、病斑小目标比例高、叶片重叠遮挡频繁与自然光照变化剧烈等方面3。以PlantVillage为代表的开放数据集为深度模型训练提供了规模化样本,但其采集背景相对规整,模型在跨域泛化上仍需额外设计以应对田间分布偏移4。因此,研究工作逐步从单一精度指标转向同时关注鲁棒性、实时延迟与部署成本的综合权衡2。
在方法谱系上,早期工作多以卷积网络进行叶片病害分类,利用端到端学习替代手工特征并取得高精度表现5。例如,基于迁移学习的病害分类在PlantVillage上可获得接近饱和的识别准确率,但其输出难以直接支持病斑定位与多目标场景的复核需求5。进一步地,大规模多类别数据上的CNN模型比较研究表明,网络结构与数据增强策略会显著影响不同作物与病种的可分性与过拟合风险6。此外,针对多作物多病种的深层网络实验也提示,模型在“受控采集”与“自然场景”之间的域差异,会直接拉低实际应用中的稳定性与可解释性7。
当任务从分类走向定位,目标检测范式成为主流选择,其中两阶段方法通过候选区域机制提升精度但推理链路更长8。一阶段方法以单次前向预测实现较高吞吐,SSD通过多尺度特征图回归默认框提高速度与易用性9。为缓解密集检测中的前景背景不均衡,Focal Loss与RetinaNet框架在训练稳定性上给出了经典解法10。同时,Anchor-free思路通过像素级回归减少锚框超参依赖,FCOS在简化训练流程的同时保持了具有竞争力的精度11。
| 方法 | 范式/家族 | 数据集 | 关键改进技术 | 优势与局限性 | 关键指标(示例) | 适用场景/对应难点 |
|---|---|---|---|---|---|---|
| PlantVillage+CNN分类 | 分类 | PlantVillage | 迁移学习与端到端特征学习 | 精度高但缺少病斑定位与多病共检能力 | 最高准确率约99%(受控背景) | 适合质检式拍照,难覆盖遮挡与复杂背景5 |
| 多模型CNN对比 | 分类 | 多作物多病种图像集 | 比较AlexNet/VGG等结构与训练策略 | 提供结构选择依据但仍受域差异影响 | 准确率可达99%+ | 适合评估长尾类别与过拟合风险6 |
| Faster R-CNN | 两阶段检测 | VOC/COCO | RPN共享特征生成候选框 | 精度强但端侧实时性压力较大 | 典型GPU约5 fps(含全流程) | 适合高精度复核,难点是延迟与算力8 |
| SSD | 一阶段检测 | VOC/COCO | 多尺度默认框预测 | 速度快但对小目标与密集遮挡更敏感 | VOC2007 mAP 72.1%@58 FPS | 适合实时预警,小病斑需更强特征融合9 |
| FCOS | Anchor-free一阶段 | COCO | 像素级回归与中心度分支 | 简化锚框超参但仍依赖后处理 | 单模型AP 44.7%(COCO) | 适合尺度变化大场景,需稳健NMS策略11 |
| YOLOv10 | 端到端实时检测 | COCO | NMS-free训练与整体效率设计 | 延迟低但对数据与训练策略敏感 | 文中报告同AP下较RT-DETR更快 | 适合低延迟部署与批量推理12 |
| RT-DETR | 端到端Transformer检测 | COCO | 高效混合编码器与查询选择 | 去NMS但模型结构更复杂 | AP 53.1%@108 FPS(T4) | 适合实时且需端到端链路的场景13 |
| 改进YOLOv5s(苹果叶片小目标) | YOLO系一阶段 | 苹果叶片病害集 | 轻量骨干+注意力与损失改进 | 兼顾小目标与速度但需场景化调参 | mAP_0.5 90.6%,约175 fps | 适合小病斑与密集目标,难点是遮挡与尺度差异14 |
以YOLO家族为代表的实时检测器,凭借端到端单阶段结构、良好的精度速度平衡与工程生态,成为叶片病害在线检测的主流路线15。YOLOX通过引入Anchor-free、解耦头与改进标签分配等策略,给出了面向实用场景的系统化改进,并明确支持ONNX与TensorRT等部署链路以降低工程摩擦16。随后YOLOv7在“可训练的bag-of-freebies”框架下进一步提升了实时检测的上限,为后续轻量化分支与行业落地提供了更高的性能基线17。在端到端去NMS趋势下,RT-DETR证明了实时Transformer检测器的可行性,并在COCO上给出了较强的速度与精度结果13。
结合农业病害任务,近期大量研究围绕“复杂背景下的小病斑检测”开展工程化改进,例如在YOLOv5框架上通过结构轻量化与注意力机制提升自然场景检测稳定性18。国内也出现面向叶片小目标病害的改进YOLOv5s方案,在保证高帧率的同时提升mAP与病种检出率,体现了对遮挡与尺度差异的针对性优化14。此外,面向叶片病害识别的改进YOLOv5与改进YOLOv8工作表明,合理的特征融合与训练策略能够在多类病害上获得更高的综合精度与更低的单帧推理耗时,从而更贴近在线巡检的需求19。在可解释性方面,结合SHAP等解释工具的检测框架也开始出现,用于辅助理解模型关注区域并提升人机协同复核效率20。
从发展趋势看,实时检测器正在向“更强表征能力”与“更低端到端延迟”同时演进,YOLOv11的结构分析工作强调了模块化改进与参数效率的权衡21。YOLOv12进一步提出以注意力为中心的实时检测框架,并给出在保持低延迟的同时提升mAP的实验结果,体现了注意力机制向实时领域渗透的方向[22]。因此,面向叶片病害识别系统的研究不再仅是选型某个单一模型,而是需要在多版本YOLO与端到端检测器之间,以任务难点为约束进行精度、速度、显存与部署链路的多维折中,并在系统层面提供可视化、导出与追溯能力以支撑真实应用闭环2。
2.3 要解决的问题及其方案
本系统面向叶片病害的在线识别与可视化复核,主要需要解决以下问题:(1)在复杂背景与小病斑场景下兼顾检测准确性与实时性,避免误检与漏检对预警的影响。(2)面对不同作物品种、拍摄距离与光照条件时保持较好的环境适应性与泛化能力,降低跨场景性能衰减。(3)桌面端交互需要直观完整,能够支持图片、视频与本地摄像头等多源输入下的统一体验,并支持阈值调参与目标高亮复核。(4)数据处理与存储需高效可靠,既要支撑批量检测与导出,也要保证本地结果追溯与账户数据安全。
针对上述问题,本文给出对应方案如下:(1)以YOLOv12为核心检测模型,结合数据增强、迁移学习与YOLOv5至YOLOv12多模型对比评测,在mAP、F1与PR等指标上寻找更适配叶片病害难点的结构配置。(2)基于PyTorch完成训练、验证与推理流程,采用统一输入尺度与稳健后处理策略,并通过跨场景数据划分与测试降低域偏移带来的不确定性。(3)前端采用PySide6/Qt实现桌面交互,提供多源输入、实时阈值调参、检测结果叠加展示与目标选择高亮,并支持模型权重热切换以适配不同病种与任务需求。(4)通过缓存序列与时间戳命名实现批量处理的可追溯管理,并以SQLite实现本地账户与结果持久化,配合CSV与带框图像/视频导出提升数据处理效率与存储安全性。
2.4 博文贡献与组织结构
本文的主要贡献包括:(1)围绕叶片病害识别的真实应用需求,系统梳理分类与检测两条技术路线及其在复杂背景、小目标与实时部署上的关键权衡。(2)以YOLOv12为主线并覆盖YOLOv5至YOLOv12多版本模型,给出统一训练推理流程与可量化的对比评测指标体系。(3)实现面向实际使用的PySide6/Qt桌面端交互系统,支持多源输入、阈值调参、模型热切换与可视化复核。(4)构建结果导出与本地持久化机制,实现检测记录追溯、CSV统计与带框媒体一键导出,支撑持续迭代与数据闭环。
全文组织结构如下:第3章介绍数据集来源、标注规范与增强清洗策略;第4章阐述以YOLOv12为主线的模型原理与关键设计;第5章给出YOLOv5至YOLOv12的实验结果与对比分析;第6章从分层架构角度描述Qt桌面系统的设计与实现,并给出关键流程图与框图;最后在第7章总结工作并展望模型、系统与数据治理层面的未来方向。
3. 数据集处理
本文实验数据集包含2558张叶片图像,覆盖苹果、甜椒、蓝莓、樱桃、玉米、桃、马铃薯、覆盆子、大豆、南瓜、草莓、番茄与葡萄等作物及其典型病害类型,共计29个类别,并为每个类别维护了中英文名称映射以支撑界面端的可读展示与导出一致性。数据集按图片级划分为训练集2002张、验证集311张、测试集245张,比例约为78.3%、12.2%与9.6%,以保证训练阶段的充分学习与评估阶段的稳定复现;在桌面端与推理端统一以“类别—位置—置信度”的结构化字段承载检测结果,便于后续的统计、检索与追溯。结合训练批次可视化可以看到,同一图像内可能存在多目标与背景干扰,叶片姿态、遮挡程度与成像尺度差异明显,这对检测器的多尺度表征与对密集场景的鲁棒性提出了直接要求。标签及其对应中文名如下:
Chinese_name = {"Apple Scab Leaf": "苹果黑星病叶", "Apple leaf": "苹果叶", "Apple rust leaf": "苹果锈病叶",
"Bell_pepper leaf spot": "甜椒叶斑", "Bell_pepper leaf": "甜椒叶", "Blueberry leaf": "蓝莓叶",
"Cherry leaf": "樱桃叶", "Corn Gray leaf spot": "玉米灰斑病叶","Corn leaf blight": "玉米叶枯病",
"Corn rust leaf": "玉米锈病叶", "Peach leaf": "桃叶","Potato leaf early blight": "马铃薯早疫病叶",
"Potato leaf late blight": "马铃薯晚疫病叶", "Potato leaf": "马铃薯叶","Raspberry leaf": "覆盆子叶",
"Soyabean leaf": "大豆叶", "Squash Powdery mildew leaf": "南瓜白粉病叶","Strawberry leaf": "草莓叶",
"Tomato Early blight leaf": "番茄早疫病叶", "Tomato Septoria leaf spot": "番茄斑点病叶",
"Tomato leaf bacterial spot": "番茄细菌性斑点叶","Tomato leaf late blight": "番茄晚疫病叶",
"Tomato leaf mosaic virus": "番茄花叶病毒叶","Tomato leaf yellow virus": "番茄黄化病毒叶","Tomato leaf": "番茄叶",
"Tomato mold leaf": "番茄霉病叶","Tomato two spotted spider mites leaf": "番茄双斑蜘蛛螨叶",
"grape leaf black rot": "葡萄叶黑腐病","grape leaf": "葡萄叶"}

从标注分布可视化结果看,目标框中心点在图像平面上呈现一定的集中趋势,但仍覆盖较大范围的空间位置变化,说明数据既包含居中拍摄的单叶样本,也包含自然场景下的多叶与复杂背景样本;同时,目标框宽高分布呈现“以中小尺度为主、并伴随少量大尺度目标”的形态,这与真实采集中的远近景混合、局部遮挡以及叶片边界不完整等现象相吻合。针对这类“尺度变化大、遮挡反光多、纹理相似度高”的任务难点,本文在建模与训练阶段采用统一输入尺度的预处理策略以稳定特征分辨率,并配合常用的数据增强手段提升泛化能力,使模型在自然光照波动、背景杂乱与病斑细碎等条件下仍能保持较稳定的检测输出。
在数据清洗与一致性控制方面,本文强调标注与样本的可追溯性:一方面对异常标注与重复样本进行排查,避免训练信号被噪声放大;另一方面在训练、验证与测试的划分中保持类别覆盖与场景分布的相对均衡,以降低长尾类别在评估环节的偶然波动。最终,数据集以“多作物、多病害、多背景”的组合形式为YOLO系列模型的横向对比提供了统一基准,也为桌面端“阈值可调、结果可视、记录可导出、可复查”的工程闭环奠定了数据基础。
4. 模型原理与设计
面向植物叶片病害识别这一类“细粒度纹理差异明显、病斑尺度跨度大且背景复杂”的场景,本文将检测范式定位为单阶段目标检测:模型在一次前向传播中同时完成类别判别与位置回归,便于在桌面端实现低延迟交互与批量推理。整体仍沿用 YOLO 系列典型的分层思路:输入图像经统一尺寸预处理后进入骨干网络提取多尺度特征,再由颈部结构进行跨层融合以兼顾小病斑与大面积黄化、霉斑等目标,最后在检测头输出 p cls , , p obj , , b ^ {p_{\text{cls}},,p_{\text{obj}},,\hat{\mathbf{b}}} pcls,,pobj,,b^ 并完成后处理。对于叶片病害中常见的“类间相似、局部遮挡与光照不稳定”,多尺度融合与解耦预测(分类与回归分支相对独立)能够降低梯度干扰,使模型更稳定地聚焦于病斑边界、叶脉纹理与颜色异常等判别线索。 (ar5iv)
在 YOLOv12 主线下,核心思想是把注意力机制“用得更像 YOLO”:通过 Area Attention 将特征图沿横向或纵向做等分区域(默认 4 份),用近似全局但更高效的方式扩大感受野,从而增强对病斑上下文的建模,同时借助 FlashAttention 等优化降低注意力的内存访问开销,并去除显式位置编码以保持推理简洁。其注意力计算可写为
A t t n ( Q , K , V ) = s o f t m a x ! ( Q K ⊤ d ) V , \mathrm{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{softmax}!\left(\frac{\mathbf{Q}\mathbf{K}^{\top}}{\sqrt{d}}\right)\mathbf{V}, Attn(Q,K,V)=softmax!(dQK⊤)V,
其中 Q , K , V \mathbf{Q},\mathbf{K},\mathbf{V} Q,K,V 为查询、键和值, d d d 为通道维度;在 YOLOv12 中,这一过程通过区域划分与结构化实现降低复杂度,并通过“位置感知器”( 7 × 7 7\times 7 7×7 可分离卷积)以隐式方式补充位置信息。另一方面,YOLOv12 还提出 R-ELAN,用带缩放的残差捷径与更紧凑的聚合方式改善大模型训练稳定性,尤其适合叶片病害这种数据分布长尾、难样本比例较高的任务。网络整体架构图如下图所示:
在任务建模上,检测头对每个候选位置输出类别概率与边界框参数,训练目标通常由分类损失、置信度损失与回归损失构成,可写为
L = λ box L ∗ box + λ ∗ cls L ∗ cls + λ ∗ obj L ∗ obj , \mathcal{L}=\lambda_{\text{box}}\mathcal{L}*{\text{box}}+\lambda*{\text{cls}}\mathcal{L}*{\text{cls}}+\lambda*{\text{obj}}\mathcal{L}*{\text{obj}}, L=λboxL∗box+λ∗clsL∗cls+λ∗objL∗obj,
其中 L ∗ cls \mathcal{L}*{\text{cls}} L∗cls 与 L ∗ obj \mathcal{L}*{\text{obj}} L∗obj 常用 BCE/Focal 类损失以缓解类别不均衡与难例主导问题, L ∗ box \mathcal{L}*{\text{box}} L∗box 则可采用 IoU 系列度量增强定位鲁棒性。以 CIoU 为例,
L CIoU = 1 − I o U + ρ 2 ( c , c ∗ ) c 2 + α v , \mathcal{L}_{\text{CIoU}} = 1-\mathrm{IoU}+\frac{\rho^2(\mathbf{c},\mathbf{c}^{*})}{c^2}+\alpha v, LCIoU=1−IoU+c2ρ2(c,c∗)+αv,
其中 c , c ∗ \mathbf{c},\mathbf{c}^{*} c,c∗ 为预测框与真值框中心, ρ ( ⋅ ) \rho(\cdot) ρ(⋅) 为欧氏距离, c c c 为最小外接框对角线长度, v v v 描述宽高比一致性, α \alpha α 为权衡系数;它对“病斑细长、边界不规则、局部被叶脉遮挡”这类情况更稳定。若需要进一步提升小目标(点状褐斑、虫咬孔洞边缘)定位精度,可在回归端引入更细粒度的分布式回归思想以降低量化误差,但本文在系统侧更强调“可复现与可部署”的配置一致性,以保证多模型对比公平。 (arXiv)
训练与正则化方面,本文默认保持 YOLOv12 的分层骨干与注意力模块配置,在优化器与学习率策略上采用与其基准一致的“预热 + 线性衰减”思路,以降低注意力网络早期震荡并提升收敛稳定性;同时在注意力实现上更倾向于卷积化与 BN 配置,以兼顾吞吐与数值稳定。推理阶段通过置信度阈值与 NMS 完成候选框筛选,阈值设置与 IoU 抑制强度会直接影响“相似病斑重复框、密集斑点漏检”的权衡:阈值偏高易漏检轻微早期病斑,阈值偏低则易在叶脉与阴影处产生误检,因此本文将其作为桌面端可交互参数,配合可视化高亮与统计导出形成闭环调参流程。 (ar5iv)
5. 实验结果与分析
本文实验以第3章给出的 PlantLeaf 数据集为基准,在训练集2002张、验证集311张与测试集245张的划分下,对 YOLOv5–YOLOv12 共8种模型进行统一训练与评测;其中 n 系列用于衡量轻量实时方案,s 系列用于衡量更高容量模型的精度潜力。评价指标采用 Precision、Recall、F1、mAP@0.5(记为 mAP50)与 mAP@0.5:0.95(记为 mAP50-95),并在同一硬件环境(NVIDIA GeForce RTX 3070 Laptop GPU,8GB)上统计预处理、推理与后处理的耗时,保证“算法精度—端侧交互延迟”的对照具有工程意义。
表5-1给出了各模型的核心对比结果(总耗时为 PreTime+InfTime+PostTime)。在 n 系列中,YOLOv12n 取得最优综合表现:Precision 0.580、Recall 0.673、F1 0.623、mAP50 0.687、mAP50-95 0.486,说明其在复杂背景与多类别细粒度任务中具备更强的整体判别能力;相较 YOLOv8n,mAP50 提升约 0.076,F1 提升约 0.061,优势主要体现在召回侧更稳定,符合叶片病害“轻度病斑易漏检”的业务风险特征。与此同时,YOLOv8n 的端到端总耗时约 10.17ms(接近百帧每秒量级),在交互实时性上更占优,适合作为桌面端默认模型;而 YOLOv7-tiny 与 YOLOv9t 的推理与后处理耗时明显偏高,更像是“结构与实现侧不占优”的配置,在同等算力下难以形成性价比优势。
| 组别 | 模型 | Params(M) | FLOPs(G) | 总耗时(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 10.94 | 0.539 | 0.639 | 0.585 | 0.646 | 0.467 |
| n | YOLOv6n | 4.3 | 11.1 | 10.34 | 0.486 | 0.544 | 0.513 | 0.556 | 0.391 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 21.08 | 0.531 | 0.531 | 0.531 | 0.534 | 0.349 |
| n | YOLOv8n | 3.2 | 8.7 | 10.17 | 0.553 | 0.571 | 0.562 | 0.611 | 0.441 |
| n | YOLOv9t | 2.0 | 7.7 | 19.67 | 0.528 | 0.576 | 0.551 | 0.594 | 0.432 |
| n | YOLOv10n | 2.3 | 6.7 | 13.95 | 0.524 | 0.650 | 0.580 | 0.597 | 0.422 |
| n | YOLOv11n | 2.6 | 6.5 | 12.97 | 0.537 | 0.600 | 0.567 | 0.617 | 0.437 |
| n | YOLOv12n | 2.6 | 6.5 | 15.75 | 0.580 | 0.673 | 0.623 | 0.687 | 0.486 |
| s | YOLOv5su | 9.1 | 24.0 | 12.24 | 0.653 | 0.522 | 0.581 | 0.603 | 0.421 |
| s | YOLOv6s | 17.2 | 44.2 | 12.26 | 0.581 | 0.491 | 0.532 | 0.558 | 0.394 |
| s | YOLOv7 | 36.9 | 104.7 | 29.52 | 0.566 | 0.697 | 0.624 | 0.643 | 0.450 |
| s | YOLOv8s | 11.2 | 28.6 | 11.39 | 0.535 | 0.670 | 0.595 | 0.646 | 0.459 |
| s | YOLOv9s | 7.2 | 26.7 | 22.17 | 0.668 | 0.645 | 0.657 | 0.696 | 0.519 |
| s | YOLOv10s | 7.2 | 21.6 | 14.19 | 0.543 | 0.653 | 0.593 | 0.628 | 0.452 |
| s | YOLOv11s | 9.4 | 21.5 | 13.47 | 0.618 | 0.619 | 0.618 | 0.636 | 0.451 |
| s | YOLOv12s | 9.3 | 21.4 | 16.74 | 0.647 | 0.557 | 0.599 | 0.581 | 0.431 |
在 s 系列中,YOLOv9s 达到全局最优精度水平(F1 0.657、mAP50 0.696、mAP50-95 0.519),说明当模型容量与特征表达更充足时,对“病斑形态多变、类间差异细微”的刻画更充分;但其推理耗时显著高于 YOLOv8s/YOLOv11s,端到端总耗时约 22.17ms,更适合离线批处理或对精度更敏感的场景。YOLOv7 的召回较高(Recall 0.697)但整体延迟最高(约 29.52ms),体现出“更敢检出但更慢”的典型特征;而 YOLOv12s 在本次训练配置下 mAP50 未能达到同级最优,提示注意力型结构在该数据规模与超参条件下可能更依赖数据增强、学习率或正则化的匹配,否则容易出现“训练收敛正常但泛化收益不显著”的现象,这也为后续系统默认模型的选择提供了依据:桌面端优先推荐 YOLOv12n(偏精度)或 YOLOv8n(偏实时),将 YOLOv9s 作为高精度模式按需启用。
从训练过程与误差结构看,训练曲线显示 train 侧损失整体平滑下降,而 val 侧在中后期存在一定回升趋势,mAP 指标在前若干轮快速上升后进入平台期并伴随小幅波动,这符合叶片病害任务中“背景强干扰+长尾类别”导致的泛化压力:模型在学习到主要纹理与颜色模式后,继续拟合会更容易记忆少数类或背景伪特征,从而使验证损失回升。
对阈值策略而言,F1-Confidence 曲线表明在约 0.47 的置信度阈值附近能够达到较优的整体 F1(以对应实验为例峰值约 0.53),因此本文将 Conf/IoU 作为桌面端可交互参数,允许用户在“漏检早期病斑”与“误检叶脉阴影”之间做任务相关的权衡;从平均 PR 曲线对比也能观察到,mAP50 更高的模型在中高召回区间仍能维持较高精度,这对批量导出与复核效率更有利。
进一步结合归一化混淆矩阵可以看到,误分类主要集中在外观相近或病斑形态相似的类别对上,尤其是同一作物内的多种病害(例如番茄相关病害之间)以及“健康叶与轻度病害”之间更容易相互混淆;此外,背景与边缘遮挡会诱发少量“把复杂纹理当成病斑”的假阳性。针对这些问题,后续可从三条路径提升:其一是在数据层增加难例与跨域样本比例,并对易混类别进行更细的标注一致性校验;其二是在训练层引入类别重加权或采样均衡策略,并适当提高输入分辨率以改善小病斑的可分性;其三是在系统层强化“目标选择高亮+记录联动”的人机协同流程,用交互复核抵消模型在长尾类别上的不确定性,从而把算法指标优势更稳定地转化为可用体验。
6. 系统设计与实现
6.1 系统设计思路
本系统面向植物叶片病害的在线识别与可视化复核需求,采用分层架构组织桌面端交互、推理调度与数据持久化三类核心能力,使“多源输入—预处理—YOLO推理—后处理—界面联动—记录导出”形成稳定闭环。表现与交互层以 PySide6/Qt 客户端为载体,围绕左侧数据源与阈值控制、中央检测画面、右侧目标详情与底部记录/进度反馈构建一致的操作路径,从而将模型能力转化为可用体验;业务与会话管理层负责统一会话状态、模型与参数的生命周期管理,并把导出、统计、历史记录等跨页面能力归并为可复用服务,以避免界面逻辑与推理逻辑相互耦合。推理与任务调度层采用事件驱动的帧流组织方式,对图片、视频与摄像头输入进行互斥调度与帧分发,并以异步队列保障推理线程与界面线程的响应性,确保在实时显示、阈值更新与模型热切换时仍保持界面流畅与状态一致。数据持久化层则以本地数据库承载账户与检测记录,以文件归档承载带框媒体与日志,并对导出命名、批量管理与回溯检索提供统一约束。
跨层协同的关键在于把“时序一致性”作为系统级约束:输入侧由媒体接入模块持续产生帧事件,调度侧对源切换进行互斥控制并同步更新当前源状态;预处理侧将帧统一缩放到 (640\times 640) 并完成归一化与张量化,使推理端能够在一致输入分布下稳定工作;推理侧以可热切换的 YOLO 权重完成前向计算;后处理侧执行置信度与 IoU 阈值过滤及 NMS,并完成坐标还原与统计聚合,最后把 ({class_name, bbox, score, class_id}) 的结构化结果送回界面侧绘制叠加框、刷新详情与更新底部记录。为了让用户在交互调参时“所见即所得”,Conf/IoU 的滑块变化会被统一写入参数中心,并在下一帧推理或下一次后处理时生效;同时进度条与耗时统计以同一任务标识贯穿全流程,避免视频帧序列下出现“进度与显示错位”的体验问题。
在可扩展性上,系统将模型权重管理、统计与导出编排、主题与配置本地化视为独立能力:权重选择后可在不重启界面的情况下完成模型切换,并同步刷新类别与配色以降低误读风险;导出能力以时间戳命名统一归档,适配单帧 PNG 与多帧 AVI 的一键输出,并与 CSV 统计导出形成可追溯闭环;异常恢复则围绕源读取失败、推理异常与磁盘写入失败等场景设计,保证界面状态可回退、任务可中止且记录不被污染。上述分层与协同机制,使得系统既能以轻量模型满足实时检测,也能以更高精度模型支撑批量复核,且在工程侧维持可复现与可维护的实现边界。

图6-1 系统流程图
图注:系统自初始化后选择多源输入,完成 (640\times 640) 预处理、YOLO 推理与后处理,并在 Qt 界面中叠加检测框、联动记录与进度条;Conf/IoU 滑块与目标高亮形成交互闭环,结果可导出为 CSV/PNG/AVI 且采用时间戳命名便于溯源。

图6-2 系统设计框图
图注:框图从“表现与交互层—业务与会话管理层—推理与任务调度层—数据持久化层”描述模块边界与数据流向,突出多源互斥调度、参数同步、记录与导出编排以及模型权重管理。
6.2 登录与账户管理 — 流程图

图6-3 登录与账户管理流程图
图注:流程覆盖登录、注册、口令校验、个性化配置加载与注销切换,并与主检测流程通过会话状态衔接,保证“可跳过使用”与“可追溯管理”并存。
打开应用后系统首先呈现登录界面,用户可在“已有账号”分支下输入凭据并完成口令校验,校验通过后加载与账户绑定的个性化配置(例如主题偏好、默认模型与最近检测记录),从而在进入主界面时直接获得连续的工作上下文;若用户尚未注册,则通过注册入口提交必要信息并写入本地数据库生成账户记录,随后返回登录流程完成会话建立。会话一旦生效,主检测流程中的模型选择、阈值参数、检测记录与导出行为均以会话状态为边界进行组织,使结果与设置能够在本机侧长期持久化并支持追溯;当用户需要退出或更换账号时,通过注销/切换入口释放当前会话并返回登录界面,确保账户隔离与数据管理的一致性,同时避免将实现细节暴露到交互层。
7. 项目资源链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

功能效果展示视频:热门实战|《基于深度学习的植物叶片病害识别系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
参考文献(GB/T 7714)
1 Liakos K G, Busato P, Moshou D, et al. Machine Learning in Agriculture: A Review[J]. Sensors, 2018, 18(8): 2674. (ScienceDirect)
2 Kamilaris A, Prenafeta-Boldú F X. Deep learning in agriculture: A survey[J]. Computers and Electronics in Agriculture, 2018, 147: 70-90. (ScienceDirect)
3 Saleem M H, Potgieter J, Arif K M. Plant Disease Detection and Classification by Deep Learning: A Review[J]. Computers and Electronics in Agriculture, 2019. (ScienceDirect)
4 Hughes D P, Salathé M. An open access repository of images on plant health to enable the development of mobile disease diagnostics[EB/OL]. arXiv:1511.08060, 2015. (arXiv)
5 Mohanty S P, Hughes D P, Salathé M. Using Deep Learning for Image-Based Plant Disease Detection[J]. Frontiers in Plant Science, 2016, 7: 1419. (Frontiers)
6 Ferentinos K P. Deep learning models for plant disease detection and diagnosis[J]. Computers and Electronics in Agriculture, 2018, 145: 311-318. (ScienceDirect)
7 Sladojevic S, Arsenovic M, Anderla A, et al. Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification[J]. Computational Intelligence and Neuroscience, 2016: 3289801. (Wiley Online Library)
8 Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[EB/OL]. arXiv:1506.01497, 2015. (arXiv)
9 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2016. (arXiv)
10 Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (arXiv)
11 Tian Z, Shen C, Chen H, et al. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (arXiv)
12 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
13 Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023. (arXiv)
14 公路等. 基于改进YOLOv5s的苹果叶片小目标病害轻量化检测方法[J]. 农业工程学报, 2023.
15 Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]//CVPR. 2016: 779-788. (CV Foundation)
16 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
17 Wang C Y, Bochkovskiy A, Liao H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
18 Rahman M, et al. Real-time plant disease detection based on improved YOLOv5[J]. Frontiers in Plant Science, 2022. (Frontiers)
19 基于改进YOLOv5的叶片病害识别模型[J]. 中国农机化学报, 2023. (Niam)
20 Ali H, et al. PLD-Det: An improved YOLOv7-based plant leaf diseases detection model with SHAP explainability[J]. Engineering Applications of Artificial Intelligence, 2024. (Springer Link)
21 Khanam R, Hussain M. YOLOv11: An Overview of the Key Architectural Enhancements[EB/OL]. arXiv:2410.17725, 2024. (arXiv)
[22] Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025. (arXiv)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)