基于深度学习的农作物害虫检测系统(YOLOv12完整代码+论文示例+多算法对比)
摘要:本文面向农作物害虫的快速巡检与田间精细化管理,设计并实现一套基于深度学习的桌面端检测系统,目标是在复杂光照、遮挡与小目标密集场景下完成害虫目标的准确识别与实时可视化。系统提供可复现的训练与推理流程,数据与代码可下载;前端采用 PySide6/Qt 实现统一交互,支持图片/视频/本地摄像头多源输入与实时预览,视频与批量任务提供处理进度条与用时统计,并支持 Conf/IoU 阈值在线调参、目标选择与高亮显示。结果侧支持CSV 导出与带框结果一键导出:单帧保存为 PNG,多帧序列编码为 AVI;同时将检测记录、账户与配置写入本地 SQLite,提供**登录/注册(可跳过)**的会话管理与口令校验,兼顾易用性与本地安全。模型侧支持 模型选择/权重加载(.pt 热切换),覆盖 YOLOv5–YOLOv12 共 8 种模型,在同一数据集与统一评测脚本下对比 mAP、F1、PR 与训练曲线等指标,形成面向部署的选型依据。文末提供完整工程与数据集下载链接。
文章目录
功能效果展示视频:热门实战|《基于深度学习的农作物害虫检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
1. 系统功能与效果
(1)登录注册方面,启动页提供登录与注册入口,也支持一次性跳过并以访客身份进入,本次会话在当前运行周期内生效。进入系统后,用户通常从概览页开始,依次进入图片检测,再进行模型选择与结果导出视图的管理与回看。账户信息与历史记录由本地数据库统一管理,并通过口令校验与会话控制兼顾体验与安全。
(2)功能概况方面,桌面端采用左侧输入源与阈值控制、中央画面展示、右侧目标详情、底部记录与进度的整体布局,关键操作在同一视野内完成。界面强调“少跳转、可回看”,常用设置会被记忆并在下次进入时保持一致,减少重复配置。底部检测记录可快速定位最近任务,便于在多次试验之间切换对照。
(3)选择模型方面,用户只需选择本地权重即可切换当前 YOLO 模型,权重加载完成后会同步刷新类别名称与配色方案,避免不同模型间的显示混乱。切换时系统保持阈值与显示偏好的一致性,使对比不同模型效果更直观。相关配置在本地持久化,保证多次使用时的稳定体验。
(4)图片检测方面,加载图片后可即时推理并在主显示区叠加检测框,框内展示类别与置信度,右侧详情区可对选中目标进行聚焦与高亮。Conf/IoU 阈值支持在线调节,用于快速平衡误检与漏检并观察结果变化。检测记录会同步写入底部区域,方便在同一图片上反复试验与复核。
(5)文件保存方面,系统对导出结果采用时间戳命名与统一归档策略,便于溯源、复查与批量管理。支持一键保存带框结果为 PNG,并可导出结构化记录为 CSV 以便统计分析与后续建模。保存时会同步记录关键参数与推理用时,使结果可复现且便于对比。
2. 绪论
2.1 研究背景及意义
农作物害虫监测长期依赖人工巡田、诱捕与经验判读,但在大田与温室等真实生产环境中,害虫往往呈现“体型小、密度高、背景复杂、遮挡频繁”的成像特征,使得漏检与误检更容易发生,从而影响植保决策的时效性与准确性1。与此同时,多类别害虫在形态纹理上存在较强类间相似性,且同类害虫在不同生长阶段、不同光照与不同拍摄距离下外观变化显著,这使得“可泛化的在线识别”成为智慧植保落地的核心诉求3。在方法层面,实时目标检测能够同时给出类别与位置,为后续的虫口密度估计、发生区域定位与可解释可视化提供结构化依据,而注意力机制与端到端实时检测方向的进展进一步提升了复杂场景下的速度精度上限4。因此,围绕“基于深度学习的农作物害虫检测系统”开展研究,不仅能够支撑田间快速巡检与精准施药,还能为农情数据闭环(采集—识别—统计—追溯)提供可工程化的技术支点。
2.2 国内外研究现状
面向农作物害虫检测这一典型农业视觉任务,研究对象既包含温室叶面与枝蔓上的近景害虫,也包含大田自然光下的远景小目标害虫与虫情灯诱捕图像;在这些场景中,目标小、密集与遮挡会导致深层特征表达不足,进而引发漏检与定位不稳等问题1。同时,害虫类别具有显著的长尾分布与跨作物的层级语义关系,数据规模与标注体系会直接影响模型的泛化边界与可迁移能力3。因此,国内外研究通常从“数据集与标注体系构建”“检测器结构改进(多尺度、注意力、解耦头等)”“训练策略与难例挖掘”“轻量化与部署加速”四条主线推进。
在数据集与多类别识别方面,IP102 给出了包含 102 类害虫的大规模基准,并进一步提供了带框检测标注以支撑定位任务,成为后续多类别害虫检测与长尾学习研究的重要公共起点3。围绕该类公开数据,研究者在工程可用性与多类覆盖度上持续增强:例如有工作在 YOLOv5 框架内引入轻量卷积模块与注意力机制,在 IP102 上报告了精度与 F1 的提升,并在 mAP 指标上优于对比模型6。国内研究则更强调“面向生产环境的鲁棒性”,常见做法包括针对弱光、反光与背景干扰进行数据增强与背景分析,并通过加深浅层特征路径缓解小目标信息在深层传播中的衰减,从而获得更高的平均检测精度7。
在检测器范式与策略演进方面,两阶段方法以候选区域生成与精细分类回归为特点,通常在遮挡与尺度变化较大的场景中具有稳定的精度上限,但推理链路相对更重,端侧部署成本更高10。单阶段方法通过密集预测实现更高吞吐,其中经典的一阶段设计与损失重加权策略显著改善了正负样本极不均衡下的训练稳定性12。面向“无锚框”或“更少先验”的方向,研究者提出以像素级中心点或全卷积方式直接建模目标位置,从而减少对 anchor 设计与匹配策略的依赖,并提升跨尺度泛化的可控性13。在 Transformer 检测器路线中,端到端集合预测为后处理简化提供了统一范式,并推动了与实时部署之间的速度精度权衡研究15。
为更直观对比与本文任务相关的代表性工作,表 1 汇总了近年在害虫任务与通用实时检测方向较具代表性的方案与指标,便于从“范式—数据—改进点—性能—适用难点”角度建立方法谱系。
| 方法名称 | 范式/家族 | 数据集 | 关键改进技术 | 优势与局限性 | 关键性能指标(可追溯) | 对应任务难点/适用场景 | 引用 |
|---|---|---|---|---|---|---|---|
| 改进 YOLOv8(小目标害虫) | YOLO 单阶段 | 自采大田害虫 + VisDrone2019 + coco2017-small | 颈部上下文聚合、移除大目标头并新增小目标层、动态检测头、融合 IoU 损失改进 | 小目标与密集区域更友好,但结构改动需重新权衡速度与部署复杂度 | 相比 YOLOv8n:mAP_{0.5} +5.1pp,mAP_{0.5:0.95} +2.8pp(自采数据) | 大田小目标、密集与背景干扰 | 1 |
| 改进 YOLOv5(农业害虫) | YOLO 单阶段 | 自建害虫数据集 | 亮度增强与背景分析、增加特征提取层、切图再检测 | 适配弱光与小目标,但切图策略对流水线与实时性有额外要求 | 平均检测精度 92% | 弱光、背景复杂、小目标 | 7 |
| C3M-YOLO(IP102 多类害虫) | YOLO 单阶段 | IP102 | 轻量卷积模块 + 注意力机制 | 多类覆盖更强,但长尾与细粒度差异仍需数据策略配合 | Precision +2.4pp,mAP_{0.75} +1.7pp,F1 +1.8pp(相对基线) | 多类别、长尾分布、细粒度差异 | 6 |
| 农田害虫检测(YOLOv5l+ResNet50) | YOLO 单阶段 | 自采农田害虫 | 更强骨干与改进回归损失 | 提升特征表达但计算量更高 | mAP 71.4%,F1 68.1% | 自然田间复杂背景、遮挡 | 8 |
| MS-YOLOv7(稻飞虱检测) | YOLO 单阶段 | 稻飞虱数据 | 多尺度融合增强小目标表达 | 精度高但需兼顾端侧部署效率 | mAP 95.7% | 稻田小目标、密集与遮挡 | 9 |
| YOLO11(通用实时检测) | YOLO 单阶段 | COCO | 结构与训练管线优化,强调速度精度权衡 | 指标公开且便于工程复现,但农业域仍需迁移与再训练 | YOLO11n:mAP_{val}(50–95)=39.5,CPU ONNX 56.1ms,T4 TensorRT 1.5ms | 通用实时基线、可迁移到农业域 | 5 |
| YOLOv12(注意力中心实时检测) | YOLO 单阶段(注意力化) | COCO | 注意力中心架构并保持实时性 | 精度与低延迟兼顾,但工程部署仍需结合具体框架与硬件栈验证 | YOLOv12-N:mAP 40.6%,T4 延迟 1.64ms | 高实时性需求、复杂背景建模 | 4 |
从部署与系统研究趋势看,农业害虫检测已从“单模型离线评测”转向“可交互、可追溯、可批处理”的端到端应用形态:一方面,模型侧持续引入更强的特征表达与注意力机制以应对小目标与背景干扰4;另一方面,推理侧更强调 ONNX/TensorRT 等工程化路径对延迟与吞吐的量化评估,以便在端侧设备与桌面端应用之间做出可解释的选型5。在这一背景下,本文进一步把算法对比与桌面端交互系统合并为统一工程目标:既在 YOLOv5–YOLOv12 范围内进行多模型对比与权重热切换,也把图片、视频与摄像头等多源输入下的实时体验、导出与本地持久化纳入同一评价框架,从而面向真实植保流程给出可复现、可扩展的系统化方案。
2.3 要解决的问题及其方案
围绕“基于深度学习的农作物害虫检测系统”的工程目标,本文需要解决的关键问题可概括为:(1)检测准确性与实时性之间的矛盾:害虫目标普遍偏小且易遮挡,追求高精度往往会带来更高的计算开销,进而影响在线检测帧率与交互体验。(2)模型的环境适应性与泛化能力:同一类害虫在不同光照、背景与拍摄距离下外观差异明显,且多类别长尾分布会放大少样本类别的漏检风险。(3)桌面端交互界面的直观性与功能完整性:需要把多源输入、阈值调参、目标高亮与结果导出组织成一致动线,避免算法能力与用户操作割裂。(4)数据处理效率与存储安全性:检测记录、导出文件与账户信息需要可追溯、可管理,并兼顾本地化存储的安全与稳定。
针对上述问题,本文的整体解决方案为:(1)以 YOLOv12 为核心模型进行训练与推理基线搭建,同时纳入 YOLOv5–YOLOv11 等多版本模型进行对比评测,通过数据增强与迁移学习提升小目标与复杂背景下的检测稳定性。(2)基于 PyTorch 形成训练、推理与评测的一体化流程,将图片、视频与摄像头输入统一为同尺度预处理与一致后处理,以降低跨场景差异带来的系统复杂度。(3)前端采用 PySide6/Qt 构建桌面交互闭环,提供阈值实时调节、模型权重热切换、目标选择高亮与多格式导出,使评测指标与用户体验在同一系统内可验证。(4)在数据与系统侧采用缓存序列、时间戳命名与 SQLite 本地库管理策略,统一组织检测记录、账户会话与导出归档,并结合硬件加速与系统测试保证实时性与可靠性。
2.4 博文贡献与组织结构
本文的主要贡献体现在:(1)给出面向农作物害虫实时检测任务的文献综述与方法谱系梳理,围绕小目标、密集遮挡、长尾分布与实时部署等难点建立“算法范式—指标—场景”的对应关系。(2)完成 YOLOv5–YOLOv12 多模型的训练、推理与评测对比框架设计,支持权重热切换与统一指标输出,为后续模型迭代与部署选型提供可复现依据。(3)实现美观且可用的桌面端交互系统(PySide6/Qt),将多源输入、阈值调参、结果可视化、记录追溯与导出归档整合为一致动线,强化工程可落地性。(4)在实验结果分析中从速度、精度与误差类型出发,给出与任务难点紧耦合的诊断结论与改进方向,同时配套完整数据集与代码资源以便复现与二次开发。
全文组织结构上,后续章节将依次介绍:数据集处理与标注规范、YOLO 系列模型原理与本文默认主线模型设计、对比实验结果与误检漏检分析、Qt 桌面端系统架构与关键模块实现,最后总结结论并展望模型轻量化、多模态融合与系统解耦等未来工作方向。
3. 数据集处理
本文使用的害虫检测数据集共包含 6971 张图像,按照 6084 张训练、770 张验证、117 张测试进行划分(约 87.3%/11.0%/1.7%),以保证训练样本充分的同时保留稳定的泛化评估基准。结合训练批次可视化可以看到,样本既包含叶片与枝蔓背景下的近景虫体,也包含纹理复杂、光照变化明显的场景,同图多目标、尺度差异与局部遮挡较为常见,这类数据特征会放大“小目标漏检、密集遮挡下的定位不稳、类间相似导致的混淆”等典型难点,因此需要在标注规范、尺度建模与增强策略上做针对性处理。为保证对比实验的可复现性,数据划分建议固定随机种子并记录划分清单,使后续在 YOLOv5–YOLOv12 不同模型间切换时处于同一数据基准上进行评测与选型。
类别体系方面,数据集中共包含 15 个害虫类别,系统在内部以类别 id 或英文类名作为唯一标识,并在界面与导出侧提供中文名称映射以提升可读性。需要特别说明的是,你给出的映射表中存在中文名重复(如 Hellula undalis 与 plutella 同映射为“小菜蛾”),这在统计汇总与 CSV 导出时容易引入歧义;更稳妥的做法是:导出字段同时保留 class_id 与英文类名,中文名仅作为展示层字段,从而确保检索、聚合与追溯的一致性。标签及其对应中文名如下:
Chinese_name = {"Hellula undalis": "小菜蛾", "Leaf Webber": "叶网蛾", "ash weevil": "灰象甲", "blister beetle": "水泡甲虫",
"fruit fly": "果蝇", "fruit sucking moth": "吸果蛾","helicoverpa": "棉铃虫", "leucinodes": "茄果螟",
"mealy bug": "粉虱","pieris": "菜粉蝶","plutella": "小菜蛾","root grubs": "根蛆","schizaphis graminum": "禾谷缢管蚜",
"uroleucon compositae": "合头菊蚜","whitefly": "白粉虱"}

从标注框统计图(labels correlogram)可以观察到目标中心点在图像中部更为集中,且框的宽高分布跨度较大,说明数据同时覆盖近景大目标与远景小目标,并可能存在较明显的长尾尺度分布;这类分布通常要求检测器具备更强的多尺度特征表达与更稳定的回归学习。预处理阶段,本文默认将输入统一到 640×640 的尺度并进行等比例缩放与填充以减小几何畸变,同时在训练阶段采用 Ultralytics YOLO 管线中更适合田间场景的增强组合(如随机尺度、颜色抖动与翻转,并配合 Mosaic 等以提高多背景与密集目标覆盖),并在数据清洗中重点检查空标注、越界框、异常尺寸框与重复标注,避免无效标签放大回归损失或扰动收敛。通过“划分可复现、标注可追溯、统计可解释、增强与清洗对难点有对应关系”的数据处理流程,数据集能够为后续多模型对比与桌面端部署提供一致且可靠的输入基础。
4. 模型原理与设计
本文的检测算法以 YOLOv12 为主线展开,并保持与系统工程侧一致的“端到端单阶段目标检测”范式:输入图像经统一尺度预处理后进入骨干网络提取多层语义特征,再通过颈部网络进行多尺度融合,最后由检测头在多个特征层上进行密集预测,输出类别概率与边界框回归结果。对于田间害虫这种“小目标占比高、背景纹理复杂、遮挡频繁”的数据形态,多尺度特征(例如中高分辨率特征层对小目标更敏感)与解耦式检测头(分类与回归分支分别优化)能在不显著增加推理链路复杂度的前提下,提升召回与定位稳定性;这也是 YOLO 系列在实时在线检测中长期被采用的核心原因之一。YOLOv12 在整体框架上仍延续这一经典分工,但将网络的建模能力更多交给注意力机制,并通过结构与算子层面的取舍,尽量把注意力“昂贵”的代价压回到实时可用的范围内。(arXiv)
YOLOv12 最显著的变化是“以注意力为中心”的骨干与聚合模块设计:其提出的 Area Attention(A2)把特征图划分为若干区域并在区域内建模,使注意力既能看到更大的有效感受野,又避免了全局自注意力在 token 数为 n = H ! × ! W n=H!\times!W n=H!×!W 时 O ( n 2 ) O(n^2) O(n2) 的计算与内存开销。标准自注意力可写为 A = S o f t m a x ! ( Q K ⊤ d ) V A=\mathrm{Softmax}!\left(\frac{QK^\top}{\sqrt{d}}\right)V A=Softmax!(dQK⊤)V,其中 Q , K , V ∈ R n × d Q,K,V\in\mathbb{R}^{n\times d} Q,K,V∈Rn×d;当 A2 将特征划分为 L L L 个区域并在区域内计算注意力时,每个区域 token 规模近似为 n / L n/L n/L,整体复杂度可近似理解为 O ( L ⋅ ( n / L ) 2 ) = O ( n 2 / L ) O(L\cdot (n/L)^2)=O(n^2/L) O(L⋅(n/L)2)=O(n2/L),从而为实时性留出空间。为提升更深、更大规模注意力网络的可训练性,YOLOv12 引入 R-ELAN(Residual Efficient Layer Aggregation Networks)在聚合结构中加入块级残差与缩放,并配合 FlashAttention、去除显式位置编码、调整 MLP 比率等工程化改造,避免注意力模块在训练稳定性与显存占用上的“副作用”被无限放大。网络整体架构图如下图所示。(Ultralytics Docs)

在损失函数与任务建模上,系统需要同时兼顾“细粒度类间差异”与“小目标定位误差敏感”两点,通常采用分类损失与框回归损失的加权组合: L = λ b o x L ∗ b o x + λ ∗ c l s L ∗ c l s + λ ∗ o b j L ∗ o b j . \mathcal{L}=\lambda_{box}\mathcal{L}*{box}+\lambda*{cls}\mathcal{L}*{cls}+\lambda*{obj}\mathcal{L}*{obj}. L=λboxL∗box+λ∗clsL∗cls+λ∗objL∗obj. 其中 L ∗ c l s , L ∗ o b j \mathcal{L}*{cls},\mathcal{L}*{obj} L∗cls,L∗obj 常用二元交叉熵(BCE)或其改进形式;当难例(遮挡、反光、伪背景纹理)较多时,Focal Loss 可用于抑制易样本主导训练: L ∗ f o c a l = − α ( 1 − p t ) γ log ( p t ) . \mathcal{L}*{focal}=-\alpha(1-p_t)^\gamma\log(p_t). L∗focal=−α(1−pt)γlog(pt). 边界框回归方面,IoU 类损失能更直接刻画几何匹配关系,例如 CIoU 将重叠、中心距离与长宽比联合约束: L C I o U = 1 − I o U + ρ 2 ( b , b ∗ ) c 2 + α v , \mathcal{L}_{CIoU}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^*)}{c^2}+\alpha v, LCIoU=1−IoU+c2ρ2(b,b∗)+αv,其中 b , b ∗ \mathbf{b},\mathbf{b}^* b,b∗ 分别为预测框与真值框, ρ ( ⋅ ) \rho(\cdot) ρ(⋅) 表示中心点欧氏距离, c c c 为包围两框的最小外接框对角线长度, v v v 与 α \alpha α 用于刻画长宽比一致性。对害虫这种“尺度跨度大且密集”的任务而言,IoU 类损失对定位质量更敏感,而 Focal 类损失对难例与类间相似更友好,两者结合通常更利于在误检与漏检之间取得可控平衡。(Ultralytics Docs)
训练与正则化层面,本文默认沿用 YOLO 系列成熟的端到端训练范式:输入统一尺度有助于稳定 batch 内统计量与收敛过程,BN/EMA 等策略可在不改变推理结构的前提下提升泛化;对于害虫数据中常见的光照变化、背景纹理干扰与小目标占比高等问题,颜色与尺度扰动、随机裁剪与拼接类增强能够在训练阶段“提前暴露”难例分布,从而降低部署端的域偏移风险。推理阶段的阈值与 NMS 直接决定密集场景下的最终表现:较高的置信度阈值会减少叶片纹理等伪目标带来的误检,但可能牺牲弱小目标的召回;较低的 NMS IoU 阈值会更激进地抑制重叠框,适合背景干扰强的场景,但在虫体密集或遮挡时也更容易把相邻目标“误抑制”为单个目标。也正因如此,本文系统将 Conf/IoU 作为交互可调参数纳入桌面端闭环,让用户在同一界面中观察阈值变化对检测框数量、类别稳定性与密集区域抑制效果的影响,从而把算法侧的权衡转化为可解释、可操作的工程体验。
5. 实验结果与分析
本文实验目标是在同一害虫数据集与统一推理链路下,对 YOLOv5–YOLOv12 的多版本模型进行精度与效率对比,并为桌面端“模型热切换”提供可解释的选型依据。评测指标包含 Precision、Recall、F1、mAP50 与 mAP50-95,同时统计端到端推理耗时(预处理/推理/后处理),实验硬件为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB)。从训练过程曲线可以观察到,模型在前 20 个 epoch 内 Precision/Recall 与 mAP 指标快速提升,随后进入缓慢爬升并在中后期趋于稳定,训练与验证损失整体同步下降且未出现明显发散,这表明在当前数据规模与增强策略下,模型收敛过程较为平滑;后期验证端 dfl_loss 轻微回升但 mAP50-95 仍维持上升或平台期,说明训练末段更多是在做“定位细化”与“阈值边界收敛”,对最终精度增益有限但可提升稳定性。
在 n 系列(轻量模型)对比中,整体精度已达到较高水平:F1 多落在 0.83–0.89 区间,mAP50 约 0.88–0.93,mAP50-95 约 0.65–0.77。YOLOv9t 在精度侧最突出(mAP50=0.9301,mAP50-95=0.7707,F1=0.8948),但其推理耗时明显更高(InfTime=16.51ms),更适合对精度要求优先、帧率压力较小的场景;YOLOv8n 在速度与精度之间更均衡(总耗时约 10.17ms,mAP50=0.9179,mAP50-95=0.7266),适合作为桌面端默认实时模型;YOLOv6n 虽推理较快(InfTime=6.78ms),但精度相对偏低(mAP50=0.8766,mAP50-95=0.6992),更适合资源更紧张或对召回要求不高的场景。对比图中也能直观看到,n 系列的 mAP50 差距小于 mAP50-95 的差距,意味着不同版本的主要差异更多来自“定位质量与难例边界”而非粗粒度识别能力。

在 s 系列(中等规模模型)对比中,精度上限进一步抬升:YOLOv9s 给出最高的 mAP50-95(0.7861)与较高的 mAP50(0.9433),但其推理耗时也明显增大(InfTime=18.66ms),更适合“精度优先”的离线批量复核或低帧率在线巡检;YOLOv10s 在综合权衡上表现突出(mAP50=0.9402,mAP50-95=0.7791,F1=0.9003,InfTime=11.38ms),属于“精度接近最优、速度仍可接受”的工程型选项;YOLOv11s 的 Precision 最高(0.9252),在需要降低误报、强调“告警可信度”的应用中更有优势,同时其推理耗时(9.74ms)也较友好。YOLOv7 虽然 F1 达到 0.9136、mAP50=0.9414,但参数量与 FLOPs 显著更大且推理最慢(InfTime=23.62ms),在本系统“多源实时 + 可交互”的设定下不属于优先推荐。

从阈值与误差结构看,F1-Confidence 曲线显示全类别最优点约为 F1=0.90@Conf=0.538,因此桌面端默认 Conf 设置在 0.5 左右更符合“精度与召回平衡”的使用目标:当场景以密集小目标为主(更怕漏检)可适度下调 Conf 提升 Recall,当背景纹理复杂且误检成本高时可上调 Conf 并配合更严格的 IoU/NMS 抑制以减少伪检。混淆矩阵与类别 PR 曲线进一步表明,部分类别的可分性弱于整体水平,例如 ash weevil、helicoverpa、schizaphis graminum 等类别对背景或相近外观类别更敏感,表现为对角线占比偏低或在高召回区域精度下降更快;这类误差通常与“小目标纹理不稳定、遮挡导致局部特征缺失、类间相似度高”有关,工程上可以通过补充困难样本、提高小目标分辨率策略(更偏向高分辨率特征层)、对长尾类别进行重采样或损失重加权,以及在桌面端提供“目标高亮复核 + CSV 追溯”来降低误差的实际影响。
表5-1 多模型精度-效率对比(RTX 3070 Laptop GPU,端到端耗时=Pre+Inf+Post)
| Type | Model | Params(M) | FLOPs(G) | Total(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|
| n | YOLOv5nu | 2.6 | 7.7 | 10.94 | 0.9096 | 0.8505 | 0.8790 | 0.9173 | 0.7209 |
| n | YOLOv6n | 4.3 | 11.1 | 10.34 | 0.8430 | 0.8273 | 0.8351 | 0.8766 | 0.6992 |
| n | YOLOv7-tiny | 6.2 | 13.8 | 21.08 | 0.8377 | 0.8730 | 0.8550 | 0.8890 | 0.6451 |
| n | YOLOv8n | 3.2 | 8.7 | 10.17 | 0.8743 | 0.8840 | 0.8791 | 0.9179 | 0.7266 |
| n | YOLOv9t | 2.0 | 7.7 | 19.67 | 0.9238 | 0.8676 | 0.8948 | 0.9301 | 0.7707 |
| n | YOLOv10n | 2.3 | 6.7 | 13.95 | 0.8800 | 0.8675 | 0.8737 | 0.9215 | 0.7502 |
| n | YOLOv11n | 2.6 | 6.5 | 12.97 | 0.9218 | 0.8536 | 0.8864 | 0.9301 | 0.7514 |
| n | YOLOv12n | 2.6 | 6.5 | 15.75 | 0.9131 | 0.8656 | 0.8887 | 0.9269 | 0.7493 |
| s | YOLOv5su | 9.1 | 24.0 | 12.24 | 0.8713 | 0.8612 | 0.8662 | 0.9122 | 0.7209 |
| s | YOLOv6s | 17.2 | 44.2 | 12.26 | 0.8599 | 0.8610 | 0.8605 | 0.9078 | 0.7414 |
| s | YOLOv7 | 36.9 | 104.7 | 29.52 | 0.9140 | 0.9133 | 0.9136 | 0.9414 | 0.7536 |
| s | YOLOv8s | 11.2 | 28.6 | 11.39 | 0.8834 | 0.8506 | 0.8667 | 0.9117 | 0.7275 |
| s | YOLOv9s | 7.2 | 26.7 | 22.17 | 0.8849 | 0.8988 | 0.8918 | 0.9433 | 0.7861 |
| s | YOLOv10s | 7.2 | 21.6 | 14.19 | 0.8978 | 0.9028 | 0.9003 | 0.9402 | 0.7791 |
| s | YOLOv11s | 9.4 | 21.5 | 13.47 | 0.9252 | 0.8784 | 0.9012 | 0.9326 | 0.7747 |
| s | YOLOv12s | 9.3 | 21.4 | 16.74 | 0.9098 | 0.8884 | 0.8989 | 0.9352 | 0.7785 |
综合以上结果,若以“桌面端实时交互”为首要目标,博主更倾向将 YOLOv8n 作为默认模型,并在需要更高定位精度时切换到 YOLOv11n/YOLOv10n;若以“精度优先 + 仍需可用速度”为目标,s 系列中 YOLOv10s 与 YOLOv11s 更符合工程折中,而 YOLOv9s 更适合作为离线批处理与关键样本复核的高精度模型。这样的分层选型策略也与系统设计中的“权重热切换 + 统一导出追溯”一致:把不同模型的优势通过交互与记录机制转化为可落地的作业流程,而不是在单一模型上做过度妥协。
6. 系统设计与实现
6.1 系统设计思路
本系统面向农作物害虫的多源在线检测需求,采用分层架构将“交互体验、业务一致性、推理实时性与结果可追溯性”解耦组织:表现与交互层以 PySide6/Qt 桌面客户端为载体,负责输入源选择、阈值滑块、可视化叠加与记录视图;业务与会话管理层负责会话态维护、源互斥与参数一致性,统一编排导出与历史查询;推理与任务调度层以事件驱动的帧流为核心,将媒体接入、预处理、YOLO 推理与后处理串接为可取消、可恢复的任务链;数据持久化层则将账户、配置、检测记录与导出归档进行本地化管理,确保离线环境下仍具备稳定运行与结果追溯能力。这样的划分使算法评测逻辑保持独立可复用,同时让桌面端交互在不触碰模型细节的前提下实现快速迭代。
系统的跨层协同以“多源输入—统一预处理—推理—后处理—前端联动”形成闭环:图片任务强调一次性推理与可复核的结果展示,视频与摄像头任务强调帧流连续性与可控的停止/切换;预处理阶段统一对输入进行尺度对齐与张量化,保证不同来源在推理侧具有一致的数据分布入口;后处理阶段将置信度与 IoU 过滤、NMS 抑制与坐标还原标准化,既便于前端叠加绘制,也便于统计字段在不同任务之间保持同构。为保障实时性与一致性,推理链路以事件驱动方式消费帧流,并将 Conf/IoU 等阈值参数作为共享状态由业务层统一下发,前端通过进度条与用时显示反馈当前任务状态,从而避免“界面参数已变更但推理仍沿用旧值”的常见割裂问题。
在可扩展性设计上,系统将“权重热切换、统计与导出、主题与配置本地化、异常恢复”视为与检测同等重要的工程能力:权重热切换由业务层完成统一入口控制,切换后在交互层刷新类别与配色并同步到记录视图;导出与归档在数据层统一以时间戳组织,保证批量结果在跨任务对照时具备天然的溯源线索;异常恢复则通过任务调度层的可取消与互斥策略实现,避免多源并发造成资源争用,从而提升视频/摄像头场景下的稳定性与可预期性。

图6-1 系统流程图
图注:该流程自系统初始化开始,覆盖多源输入接入、统一预处理、YOLO 推理、后处理与前端联动,并在阈值调参、目标高亮与导出编排中形成交互闭环;导出结果采用时间戳命名以支持追溯与批量管理。

图6-2 系统设计框图
图注:框图体现 Qt 客户端、业务与会话管理、推理与任务调度、数据持久化四层边界,以及参数与结果在层间的传递关系;权重管理与日志接口贯穿全链路以支撑热切换与可追溯。
6.2 登录与账户管理 — 流程图

图6-3 登录与账户管理流程图
图注:流程覆盖注册写入本地库、登录口令校验、个性化配置加载与主界面衔接,并支持注销与切换账号以维持会话边界清晰。
上述登录与账户管理流程在系统交互上以“启动即登录、注册与登录入口并行、会话成功后加载个性化配置并衔接主检测流程”为主线:当用户首次使用时通过注册写入本地数据库创建账户记录,后续登录则通过口令校验建立会话态,并在进入主界面前加载主题、默认模型与最近记录等偏好以保证跨次使用的一致体验;在主界面运行期间,用户可随时完成资料修改并将配置本地持久化,而注销与切换账号则用于显式结束当前会话并回到登录入口,从而在多用户共用设备的情形下维持结果与设置的隔离边界,同时为后续的记录追溯与导出管理提供稳定的身份锚点。
7. 项目资源链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

项目完整文件请见项目介绍及功能演示视频处给出:
完整项目及文档: https://newtopmat.feishu.cn/wiki/IUDrwquEFirBKNkFIuWc2yfnnT1
功能效果展示视频:热门实战|《基于深度学习的农作物害虫检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
参考文献(GB/T 7714)
1 张小艾, 乔红波, 席磊, 等. 基于改进 YOLOv8 的大田农作物害虫小目标检测方法[J]. 农业工程学报, 2025, 41(13): 225-233.
2 LIU L, WANG R, XIE C, et al. PestNet: An End-to-End Deep Learning Approach for Large-Scale Multi-Class Pest Detection and Classification[J]. IEEE Access, 2019, 7: 45301-45312. (白玫瑰研究在线)
3 WU X, ZHAN C, LAI Y K, et al. IP102: A Large-Scale Benchmark Dataset for Insect Pest Recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2019: 8787-8796. (CVF开放获取)
4 TIAN Y, YE Q, DOERMANN D. YOLOv12: Attention-Centric Real-Time Object Detectors[J/OL]. arXiv:2502.12524, 2025. (arXiv)
5 Ultralytics. Ultralytics YOLO11 Documentation[EB/OL]. (accessed 2025-12-20). (Ultralytics Docs)
6 ZHANG L, ZHAO C, FENG Y, et al. Pests Identification of IP102 by YOLOv5 Embedded with the Novel Lightweight Module[J]. Agronomy, 2023, 13(6): 1583. (MDPI)
7 唐小煜, 向秋驰, 黄晓宁, 等. 基于改进YOLOv5的农业害虫检测[J/OL]. 华南师范大学学报(自然科学版), 2023. doi:10.6054/j.jscnun.2023048. (journal-n.scnu.edu.cn)
8 HANS V, CHOUDHARY B, GUPTA D. Farmland Pest Detection Using Improved YOLOv5l and ResNet-50 with EIOU Loss Function[C]//Journal of Physics: Conference Series. 2022, 2327: 012044. (知乎专栏)
9 PENG C, LIU Y, LIU C. MS-YOLOv7: A Multi-scale Fusion Method for Rice Planthopper Detection[C]//Journal of Physics: Conference Series. 2023, 2652: 012038. (知乎专栏)
10 REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J/OL]. arXiv:1506.01497, 2015. (arXiv)
11 LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot MultiBox Detector[C]//European Conference on Computer Vision (ECCV). 2016: 21-37. (arXiv)
12 LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2017: 2980-2988. (CVF开放获取)
13 TIAN Z, SHEN C, CHEN H, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019: 9627-9636. (arXiv)
14 ZHOU X, WANG D, KRÄHENBÜHL P. Objects as Points[J/OL]. arXiv:1904.07850, 2019. (arXiv)
15 CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[C]//European Conference on Computer Vision (ECCV). 2020: 213-229. (arXiv)
16 LV W, XU S, ZHAO Y, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[J/OL]. arXiv:2304.08069, 2023. (arXiv)
17 GE Z, LIU S, WANG F, et al. YOLOX: Exceeding YOLO Series in 2021[J/OL]. arXiv:2107.08430, 2021. (arXiv)
18 XU S, WANG X, LV W, et al. PP-YOLOE: An Evolved Version of YOLO[J/OL]. arXiv:2203.16250, 2022. (arXiv)
[19] WANG A, CHEN H, LIU L, et al. YOLOv10: Real-Time End-to-End Object Detection[J/OL]. arXiv:2405.14458, 2024. (arXiv)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)