摘要:面向田间复杂光照、背景杂乱与害虫体型小、尺度变化大的现实场景,本文设计并实现了一套基于深度学习的农作物害虫检测系统。系统以目标检测网络为核心,通过迁移学习与数据增强提升对小目标与遮挡目标的鲁棒性,并在训练阶段采用合适的学习率策略与正则化手段缓解过拟合;推理阶段结合阈值筛选与非极大值抑制实现稳定输出。系统支持图片、视频与摄像头等多源输入,能够在界面端实时展示检测框、类别与置信度,并提供结果截图/报表导出与历史记录管理,便于农事人员进行巡田快速筛查与长期监测。实验结果表明,该系统在保证检测精度的同时兼顾推理效率,可为病虫害早期预警、精准施药与智能植保提供有效技术支撑。
农作物害虫检测系统YOLOv12-v11至v5(八个模型,含示例论文)合集下载:https://mbd.pub/o/bread/YZWclplsaw==
示例论文下载:https://mbd.pub/o/bread/YZWclZ1uZQ==
YOLOv12下载:https://mbd.pub/o/bread/YZWckp1tZw==
YOLOv11下载:https://mbd.pub/o/bread/YZWckp5raw==
YOLOv10下载:https://mbd.pub/o/bread/YZWck5drZA==
YOLOv9下载:https://mbd.pub/o/bread/YZWck5hqaA==
项目介绍地址:https://my.feishu.cn/wiki/QxNhwiB0UiOknQkWJQ5c8vQ0nif
@
- 1.前言综述
- 2. 数据集介绍
- 3. 模型设计与实现
- 4. 训练策略与模型优化
- 5. 实验与结果分析
- 6.系统设计与实现
- 6.1 系统设计思路
- 6.2 登录与账户管理 — 流程图
- 7. 下载链接
- 8.参考文献
功能效果展示视频:农作物害虫检测系统YOLOv12-v11至v5(八个模型,含示例论文)合集(完整Python项目演示,UI界面,含论文等)
➷点击跳转至文末所有涉及的完整代码文件下载页☇
1.前言综述
农作物害虫的暴发具有隐蔽性强、扩散速度快与时空分布不均等特点,传统依赖人工巡田与诱捕统计的监测方式往往难以在大范围田块中实现高频、低延迟的精准预警,这使得面向复杂田间场景的自动化害虫检测成为智慧植保的重要基础环节1。从工程落地视角看,害虫图像采集通常来自测报灯、黏虫板、手机与无人机等多源设备,带来成像距离差异、背景杂波与标注尺度不一致等问题,因此构建可复用的数据集规范与评测基准,是提升模型泛化与可比性的前提2。早期深度学习目标检测以两阶段范式为主,通过区域候选与分类回归分离建模获得较高精度,但候选生成与多阶段计算在实时巡检场景中往往形成推理瓶颈3。随后出现的端到端或近端到端的加速策略(如共享卷积特征、RoI 级分类回归)显著提升了检测效率,为后续在资源受限设备上的部署奠定了方法学基础4。在一阶段检测方向,YOLO 系列通过统一特征提取与密集预测实现了速度与精度的折中,并通过数据增强、正则化与更合理的边界框回归损失不断逼近通用检测的最优前沿,从而成为农业视觉中最常用的实时检测框架之一5。然而,害虫检测普遍面临“前景极少、背景极多”的类别不均衡与难例主导训练的问题,针对该现象提出的 Focal Loss 等损失改造为密集小目标学习提供了可迁移的理论工具6。在模型演进层面,YOLOv7 进一步通过训练与推理一致性设计和结构优化提升了实时检测的上限,使得在同等算力预算下兼顾高精度与高帧率成为可能7。
与通用数据集相比,害虫类别具有细粒度差异小、类间相似度高、长尾分布显著等特点,IP102 等大规模基准的提出在一定程度上缓解了“数据稀缺与评测碎片化”的长期痛点,并为跨作物、跨地域的迁移学习提供了可操作的起点8。面向病虫害视觉理解的综述研究指出,田间光照波动、遮挡缠绕、姿态变化以及目标尺度极小,是导致模型域外性能下滑的关键因素,因此需要在数据采集、增强策略与多尺度特征表达上协同设计9。围绕 YOLO 族在害虫任务上的适配,已有研究通过引入通道注意力与 Transformer 编码器等结构增强全局上下文建模能力,在保证实时性的前提下进一步改善密集小目标的检出率10。针对“多类别、密集、微小”这一更贴近诱捕器图像分布的难题,也有工作在候选框筛选与特征融合策略上做专门改造,以提升拥挤场景下的计数稳定性与类别区分能力11。与此同时,结合智能诱捕终端与移动端应用的系统化研究表明,检测网络与硬件采集链路、图像压缩传输、端侧推理延迟之间存在明显耦合关系,算法设计需要面向端云协同与场景约束进行权衡12。
在国内研究中,基于多源采样构建水稻主要害虫数据集并采用 YOLO 系列实现田间诱捕图像的识别与计数,验证了“多背景、多设备”数据策略对提升泛化能力的有效性,也为虫情监测装置的工程化提供了可复用经验13。针对早期微小病虫害与虫体尺寸更小的难点,轻量化骨干与注意力机制结合的改进 YOLO 模型被用于降低参数量并强化有效特征聚焦,体现了农业场景对“高精度与低算力”兼容需求的现实驱动14。总体而言,现有方法仍普遍受到小目标特征易被下采样淹没、类间细粒度差异难刻画、以及复杂背景下误检漏检难以同时压低等因素制约,因而在网络中引入兼顾通道与空间选择性的注意力模块并与多尺度融合策略协同优化,仍是提升害虫检测鲁棒性的关键路径之一15。
基于上述背景,老思在本文后续内容中将围绕真实田间与诱捕器图像的害虫检测任务,给出一套可复现实验流程:以 YOLO 系列为主干开展多模型对比与针对小目标的结构改进,构建并规范化标注特定作物害虫数据集,同时实现一个可交互的检测系统界面与结果管理模块,便于实际植保场景快速部署与迭代。
主要功能演示:
系统的主要功能演示可以从“账户体系—主界面交互—模型推理链路—界面可配置性”四条主线串联起来。整体逻辑是:用户先在登录页完成身份校验并加载个人配置,进入主界面后完成数据源选择与检测参数设置;推理时可在多种权重之间切换以对比效果;同时支持主题与界面元素的即时替换,使系统既能满足实验验证,也能贴近真实植保人员的使用习惯。
注册与登录模块采用“注册写入、登录校验、配置加载”三段式流程:首次使用时在注册页录入账号与密码(可选头像),信息写入本地数据库后即可返回登录;登录阶段对用户名与加密后的口令进行一致性校验,通过后自动加载该用户的个性化设置(例如上次使用的模型权重、置信度阈值、IOU 阈值、输出路径与历史记录索引),并在主界面初始化时将这些配置同步到对应控件。这样做的价值在于把“算法工具”变成“可长期使用的个人工作台”,不同用户可以拥有彼此隔离的检测历史与界面偏好,避免多人共用设备时配置相互覆盖,从而提升现场使用的稳定性与可追溯性。(注册与登录界面效果图)

主页面布局围绕“输入—推理—展示—统计—导出”的闭环组织,通常采用左侧控制面板与右侧可视化区域的经典分区:控制区包含输入源选择(图片/文件夹/视频/摄像头)、推理参数(Conf、IOU、输入尺寸、是否保存结果等)与运行控制(开始、暂停、停止、清空);展示区用于实时显示原始图像与叠加检测框的结果图,并在下方或侧边以表格/列表形式同步输出每个目标的类别、置信度与坐标信息;统计区则对当前帧或当前批次的害虫类别数量进行汇总,必要时提供Top-K类别、累计计数与时间戳,便于快速判断虫情强度;导出区支持一键保存可视化结果图、导出检测明细为 CSV/Excel 或写入数据库,实现从“发现”到“记录”的闭环留痕。(主界面布局与检测结果展示图)

模型选择功能面向“研究对比”和“现场适配”两类需求设计:在研究对比场景中,系统允许用户在下拉框中切换不同 YOLO 系列或不同尺寸的权重(如 n/s/m 等),并保持相同的输入与阈值设置,从而在同一批样本上直观看到召回、误检与定位质量的变化;在现场适配场景中,用户可以根据终端算力与实时性要求选择轻量模型,或在虫体细小、密集遮挡时切换到更强表达能力的模型以提升检出率。为了避免频繁切换带来的加载阻塞,系统通常在后台缓存最近使用的权重句柄,并在切换后提示模型输入尺寸与类别映射是否一致,确保推理结果可解释且稳定。(模型选择与权重切换演示图)

主题修改功能体现了系统“可用性”层面的工程化考量:田间或实验室使用往往面对强光、弱光与长时间盯屏等条件,界面需要支持亮色/暗色主题切换,并允许快速调整字体大小、图标风格与主色调,以降低视觉疲劳并提升可读性。实现上一般将主题配置抽象为样式表(QSS)与资源包(图标、背景、logo),用户在设置页选择主题后即可即时应用到主窗口,且该偏好会随账号写入数据库,保证下次登录自动恢复。更进一步,主题修改也可以联动“结果显示样式”(例如框线粗细、标签透明度、置信度小数位数),使可视化在不同屏幕与不同距离观看时都保持清晰。(主题切换与界面美化效果图)

2. 数据集介绍
本研究面向田间复杂背景与诱捕器/展板等受控背景并存的实际虫情监测场景,构建并使用了一个多类别害虫目标检测数据集。数据集中共包含 6,971 张图像,按训练/验证/测试划分为 6,084/770/117 张,既覆盖自然叶面背景(强光照、阴影、遮挡、尺度变化明显),也包含白底或纸质承载物等相对规则背景(便于突出虫体纹理与形态差异)。从给出的标注分布可见,目标中心点在图像平面上呈现明显的“中部密集”特征,符合诱捕器与居中拍摄的采集习惯;同时边界框宽高跨度较大,既包含占画面比例较大的单虫近景,也存在多虫密集与小目标情形,这对检测网络的多尺度表征与小目标召回提出了更高要求。

在数据预处理与标注规范方面,数据统一转换为 YOLO 系列通用的 TXT 归一化格式,标注框以 \((x, y, w, h)\) 表示,其中 \((x,y)\) 为框中心点坐标、\(w\) 与 \(h\) 分别为宽与高,均相对图像宽高归一化到 \([0,1]\)。训练阶段图像输入采用 640×640 的方形尺寸(常用 letterbox 等比缩放与边缘填充以保持目标几何形态),并在不破坏类别语义的前提下进行必要的数据增强(如随机翻转、尺度扰动、颜色空间扰动等),以提升模型对光照波动、背景纹理干扰与姿态变化的鲁棒性。类别体系共 15 类,覆盖鳞翅目蛾类、鞘翅目甲虫与多种蚜虫/粉虱类小型害虫;其中部分类别在中文俗名层面存在同名现象(例如不同学名对应相同俗名的情况),因此实际训练与评估以英文类名(学名/常用英文名)作为唯一标识,避免统计口径混淆。

📊 数据集规格说明 (Dataset Specification)
| 维度 | 参数项 | 详细数据 |
|---|---|---|
| 基础信息 | 标注软件 | LabelImg |
| 标注格式 | YOLO TXT (Normalized) | |
| 数量统计 | 训练集 (Train) | 6,084 张 (87.3%) |
| 验证集 (Val) | 770 张 (11.0%) | |
| 测试集 (Test) | 117 张 (1.7%) | |
| 总计 (Total) | 6,971 张 | |
| 类别清单 | Class ID: 0 | Hellula undalis(小菜蛾) |
| Class ID: 1 | Leaf Webber(叶网蛾) |
|
| Class ID: 2 | ash weevil(灰象甲) |
|
| Class ID: 3 | blister beetle(水泡甲虫) |
|
| Class ID: 4 | fruit fly(果蝇) |
|
| Class ID: 5 | fruit sucking moth(吸果蛾) |
|
| Class ID: 6 | helicoverpa(棉铃虫) |
|
| Class ID: 7 | leucinodes(茄果螟) |
|
| Class ID: 8 | mealy bug(粉虱) |
|
| Class ID: 9 | pieris(菜粉蝶) |
|
| Class ID: 10 | plutella(小菜蛾) |
|
| Class ID: 11 | root grubs(根蛆) |
|
| Class ID: 12 | schizaphis graminum(禾谷缢管蚜) |
|
| Class ID: 13 | uroleucon compositae(合头菊蚜) |
|
| Class ID: 14 | whitefly(白粉虱) |
|
| 图像规格 | 输入尺寸 | 640 * 640 |
| 数据来源 | 公开数据集(文件命名为 InsectPest_SIXU)+ 二次清洗/重标注 |
3. 模型设计与实现
本系统的检测模型以 Ultralytics 生态为工程基座,默认选用 YOLOv12n 作为主干网络:一方面,害虫目标在多数田间/诱捕器图像中呈现“小尺度、纹理细、类间差异弱”的典型特征,模型需要同时具备较强的全局上下文聚合能力与细粒度边界回归能力;另一方面,实际部署往往要求在单卡或边缘端维持接近实时的推理吞吐,因此更偏向参数量与计算量可控的轻量化变体。YOLO12 的核心思想是将注意力机制从“可选增强”提升为网络表达的主导部件,通过 Area Attention + FlashAttention 加速、R-ELAN 的高效特征聚合,以及引入 \(7\times 7\) 可分离卷积(position perceiver)来隐式补偿位置信息,从而在保持实时性约束的前提下提高复杂场景中目标感知的清晰度,尤其对遮挡与小目标更友好。(Ultralytics Docs)
从网络结构上看,YOLOv12 仍遵循单阶段检测的“三段式”组织:Backbone–Neck–Head。Backbone 侧以 R-ELAN 为代表的残差聚合单元强化梯度流与跨层复用,使浅层纹理与深层语义能够在较低信息损耗下持续融合;在害虫这种“纹理判别主导”的细粒度识别任务中,这类聚合结构的价值在于减少因下采样导致的局部纹理丢失,并缓解不同类别在外观相似时的特征塌缩风险。Neck 部分面向多尺度检测需求,继续承担跨层特征对齐与融合的职责,YOLO12 在此处进一步引入区域化注意力,将特征图划分为若干条带或区域后进行注意力计算,配合 FlashAttention 降低显存读写开销,从工程角度改善大分辨率输入与长序列注意力的资源压力。(Ultralytics Docs) 这对本数据集中同时存在“单虫近景大目标”和“多虫密集小目标”的混合分布尤为关键:前者依赖全局形态轮廓,后者依赖局部纹理与密集目标的可分性,二者对感受野与特征聚合方式的要求并不一致,而注意力在跨区域的信息选择上更具自适应性。
检测 Head 侧,Ultralytics 系列 YOLO 通常采用更利于收敛的分类/回归预测形式,并在后处理阶段通过阈值筛选与非极大值抑制(NMS)输出最终框集合;对于害虫检测,Head 的设计重点不只是“检出”,还要尽量减少相近类别之间的误检串类,并在小目标时保持框的稳定性。实践中,老思建议在界面端开放 Conf 与 IoU 两个关键阈值的交互调节:Conf 用于控制误检与漏检的平衡,IoU 则影响 NMS 的合并强度,在密集虫体或背景纹理干扰较强时往往需要更细致的阈值试探,以避免“密集目标被合并丢失”或“重复框过多影响统计”的现象。
任务建模与损失函数方面,本系统遵循目标检测的经典多任务学习框架:分类分支最常用的是二元交叉熵形式(多标签视角的逐类独立预测),其基本表达为
其中 \(y_i\in{0,1}\) 为目标类别指示,\(p_i\) 为预测概率。定位分支通常采用 IoU 系列损失以提升边界框几何一致性,常见的 CIoU 形式可以写为
其中 \(\rho^2(\cdot)\) 表示预测框与真值框中心点距离,\(c\) 为最小包围框对角线长度,\(v\) 描述长宽比一致性项,\(\alpha\) 为权重系数。对害虫这类小目标而言,单纯依赖 \(\text{IoU}\) 往往对中心偏移较敏感,CIoU 的距离项能够在早期训练阶段提供更稳定的几何梯度,有利于缩短收敛时间并减少“框漂移”。在实现层面,Ultralytics 的 YOLO12 已将训练、验证与导出流程封装为统一接口,并给出 COCO 维度的速度—精度指标,便于我们在同一数据集上进行系列模型横向对比与消融分析。(Ultralytics Docs)
在工程实现上,模型加载与推理由 Detector 模块统一调度:启动时读取权重文件与类别映射(与 data.yaml 的 names 保持一致),将输入帧按 640×640 进行等比缩放与填充,再送入 YOLOv12 前向;输出端将预测框从归一化坐标还原到原图坐标系,执行 NMS 后将最终结果(类别、置信度、坐标)同步到 UI 图像叠加层与表格统计区。为了提升可复现性,老思建议将推理链路中的关键配置(输入尺寸、Conf/IoU、所选权重、输出目录、类别字典版本)写入日志并与数据库记录绑定,保证后续实验对比时能够追溯“同图不同结果”来自阈值差异还是权重差异。
4. 训练策略与模型优化
本系统的训练流程以“可复现、可迁移、面向小目标”的原则组织,核心目标是在 6,084 张训练样本与 770 张验证样本的规模下获得稳定收敛,同时尽量抑制背景干扰导致的误检,并提升对小尺度虫体的召回。老思在实现上直接沿用 Ultralytics 的训练范式:以 COCO 预训练权重作为初始化,通过迁移学习把通用边缘与纹理表征迁移到害虫细粒度外观上,再在自建数据集上进行端到端微调。考虑到数据集中既包含田间叶面背景,也包含相对规则的白底/板载背景,训练阶段将增强策略控制在“提升泛化但不破坏形态纹理”的区间,避免过强的几何扭曲让虫体关键纹理发生非自然变形,从而影响对相近类别(例如多种蛾类或蚜虫类)的区分。
在环境与训练超参数设置上,默认采用 RTX 4090 单卡训练,输入分辨率固定为 640×640,batch=16 以兼顾显存与梯度稳定性;最大训练轮数设为 120,并启用 early stopping(patience=50)以避免后期在小验证集上出现“指标抖动式过拟合”。优化器采用框架自适应选择(optimizer=auto),通常会根据模型与 batch 情况自动匹配 SGD/AdamW 等更合适的策略;初始学习率 \(lr_0=0.01\),并配合余弦或多段下降使学习率在训练后期逐步逼近 \(lr_f=0.01\times lr_0\) 的量级,减少参数在收敛附近的震荡。学习率预热设置为 3 个 epoch,可以显著降低迁移学习初期因梯度尺度不稳定带来的损失尖峰;动量(momentum=0.937)与权重衰减(weight_decay=0.0005)共同用于抑制过拟合并增强泛化,尤其在“背景纹理极多、目标极少”的害虫图像中,权重衰减能够减少模型对背景伪特征的记忆倾向。
针对小目标与密集目标的优化,训练中保留 Mosaic 增强(mosaic=1.0),其意义在于将多幅图像拼接后形成更丰富的尺度组合,使模型更早接触到“小目标出现在大视野中”的分布;但 Mosaic 若全程开启,容易在训练后期持续引入非真实的拼接边界,导致定位分支在收敛阶段受到干扰,因此在最后 10 个 epoch 关闭 Mosaic(close_mosaic=10),让网络在更接近真实采集分布的样本上细化框回归与类别边界。对本任务而言,这一“前期强增强扩展分布、后期弱增强贴近真实”的策略通常能在不牺牲召回的前提下减少误检与框漂移,尤其能改善你给出的验证可视化中那类“密集纹理背景下的多框竞争”现象。
在模型选择与推理稳定性方面,老思建议将训练优化与部署端参数调节联动:训练阶段统一采用较宽松的正样本匹配与充分增强,确保模型具备较高的候选框覆盖能力;部署端则通过 Conf 与 IoU 的可视化调参实现“误检—漏检”的场景化平衡。对于诱捕器白底图像,背景干扰较弱,通常可以适当提高 Conf 以压低误检并保证统计稳定;对于田间叶面背景,虫体与叶脉纹理容易混淆,建议在保持 Conf 不过高的同时适当提高 IoU-NMS 的阈值,减少密集虫体被过度合并的风险。若后续实验发现某些类别(例如蚜虫/粉虱类)在小尺度下漏检明显,可以优先从输入分辨率与数据增广强度入手,再考虑替换更强的轻量变体(如 YOLOv12s)或在 Neck 的高分辨率特征层上强化融合权重,而不必一开始就引入过重的结构改造。
最后,为保证训练过程可追溯且便于博客复现实验,建议将每次训练的关键配置(模型版本、权重来源、数据划分、imgsz、batch、lr0、增强开关、随机种子)写入同一份 run 配置文件,并将 best.pt、last.pt、验证集 PR 曲线、混淆矩阵与训练曲线统一归档;这样在后续进行 YOLOv5–YOLOv12 的系列对比时,可以确保差异主要来自模型结构而不是训练流程的不一致,从而使实验结论更可信、更容易复现。
5. 实验与结果分析
本节实验围绕“同一数据集、同一训练策略、不同 YOLO 系列模型”的横向对比展开,目的在于评估不同代际与不同尺度(n/s)模型在害虫检测任务中的精度上限、召回稳定性与端侧推理开销的折中关系。实验在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB 显存)上完成推理计时统计,所有模型均采用统一输入尺寸 640×640,并在验证/测试阶段使用相同的置信度筛选与 NMS 策略,从而尽可能保证结果差异主要来源于网络结构与容量差异,而非评测口径不一致。为便于工程落地比较,本文将推理耗时拆分为预处理(PreTime)、网络前向(InfTime)与后处理(PostTime)三部分,分别对应数据搬运与缩放、模型计算与 NMS/坐标映射等环节。
评价指标方面,本文采用 Precision、Recall、F1 Score、mAP@0.5(记作 mAP50)与 mAP@0.5:0.95(记作 mAP50-95)作为核心度量。Precision 反映误检水平,Recall 反映漏检水平,而 \(F_1\) 作为二者的调和均值
更适合用于虫情监测这类既需要“检得全”又需要“尽量少误报”的场景。mAP50 更偏向检测“是否找到了目标”,mAP50-95 则对定位质量更敏感,可用于区分“能检出”与“框更准”的差异。结合部署实践,老思更关注 mAP50-95 与 F1 的同步提升,因为虫体计数与区域告警通常对定位抖动较敏感。
从单模型训练稳定性看,训练曲线显示 box/cls/dfl 等损失在前 20–30 个 epoch 内快速下降,随后进入平滑收敛阶段,验证集 mAP50 与 mAP50-95 在约 40 epoch 后趋于平台并保持缓慢提升,说明训练策略与数据增强强度总体合理,未出现明显的“训练持续变好但验证退化”的剧烈过拟合迹象(如下 results 曲线图所示)。

在阈值选择上,F1-Confidence 曲线给出了较清晰的折中点:整体类别的最优 F1 约为 0.90,对应置信度阈值约 0.538(如下 F1 曲线图所示)。这意味着在系统界面默认 Conf 设定时,可将 0.5 左右作为较稳健的起点,再针对田间背景(更易误检)或诱捕器白底(更易高精度)进行小幅微调,从工程角度减少“凭经验拍阈值”带来的不确定性。

从类别层面的识别能力看,PR 曲线总体靠近右上角,整体 mAP@0.5 达到 0.935,说明模型在“找虫”这一步上具备较强的可用性(如下 PR 曲线图所示)。部分外观纹理显著、姿态变化相对可控的类别取得接近饱和的 AP,例如 fruit fly(0.989)、Hellula undalis(0.987)、Leaf Webber(0.985)与 leucinodes(0.985),这类目标通常具有稳定的翅纹/体色对比或轮廓特征,且在采集图像中占据相对较大的有效像素,从而更利于网络学习到可分辨的判别边界。相对而言,ash weevil(0.844)与 helicoverpa(0.884)明显偏低,常见原因是类内形态变化大(不同龄期/角度)、与背景叶脉纹理或其他鞘翅目/鳞翅目类别存在细粒度相似性,导致召回提升到高区间时 precision 下滑更快。

混淆矩阵的对角线也印证了这一点:Leaf Webber 的归一化正确率接近 1.00,而 ash weevil 约 0.74、helicoverpa 约 0.68,表现为更频繁的跨类误分与漏检(如下归一化混淆矩阵图所示)。这类“难类”的改进通常优先从数据层入手更有效,包括补充田间复杂背景下的样本、增强不同姿态/尺度覆盖,以及对相似类别进行更严格的标注一致性检查;若后续仍受限,再考虑在模型侧提高高分辨率特征层的表达能力或针对小目标调整正负样本匹配策略。

在系列模型对比方面,本文分别对轻量 n 系列与中等容量 s 系列进行了评测。n 系列结果显示,YOLOv9t 在精度指标上最突出,Precision 达到 0.924,mAP50 达到 0.930,mAP50-95 达到 0.771,同时 F1 达到 0.895,说明其在误检控制与定位质量上更占优势;YOLOv12n 的 mAP50 为 0.927、mAP50-95 为 0.749、F1 为 0.889,整体处于第一梯队,但其 InfTime 为 12.47ms,较 v8n(6.83ms)与 v6n(6.78ms)更高,提示在本硬件环境下注意力相关计算与算子实现可能带来一定前向开销。值得注意的是,YOLOv8n 在速度与精度之间表现均衡,mAP50 达到 0.918、mAP50-95 达到 0.727,InfTime 仅 6.83ms,若系统目标偏向“更实时的在线巡检”,v8n 往往是更稳妥的默认选项。与之对照,YOLOv7-tiny 的 Recall 较高(0.873)但 mAP50-95 明显偏低(0.645),体现出其更倾向“多检出”,但定位精细度不足,容易在密集虫体与细粒度纹理场景下产生框偏移与重叠框,这会直接影响后续计数统计的稳定性。以上趋势也能在 n 系列综合柱状对比图与 mAP50 随 epoch 变化曲线中得到直观体现(如下 n 系列对比图与 n 系列 mAP50 曲线图所示)。


s 系列由于参数量与 FLOPs 显著增加,上限能力更强。结果表明 YOLOv9s 的 mAP50-95 达到 0.786,为 s 系列最高,同时 mAP50 达到 0.943、Recall 达到 0.899,说明其在“检出率与定位质量”上具备更明显优势;YOLOv11s 的 Precision 最高(0.925),但 Recall 相对更保守(0.878),更适合对误检容忍度极低的应用场景(例如自动触发施药或告警)。YOLOv12s 的综合表现同样稳定(mAP50=0.935,mAP50-95=0.778,F1=0.899),但 InfTime 为 13.23ms,速度上不占优。特别需要强调的是,YOLOv7(非 tiny)虽然 F1 与 mAP 指标很强(F1=0.914,mAP50=0.941),但 InfTime 高达 23.62ms 且 PostTime 也明显增大,这在 8GB 显存的移动端/笔记本端部署时更可能遇到吞吐瓶颈。因此,在“实时”是硬约束的系统中,s 系列更建议选择 v9s/v10s/v11s 这类在精度提升明显且计算规模相对克制的模型,而不是一味追求更大 backbone(如下 s 系列对比图与 s 系列 mAP50 曲线图所示)。


为更清晰呈现上述结论,表中汇总了两组模型的核心结果。可以看到,n 系列的最优 mAP50-95 来自 YOLOv9t(0.771),而 s 系列的最优 mAP50-95 来自 YOLOv9s(0.786);若以“综合部署友好”为准则,老思更倾向于把 YOLOv8n 作为轻量实时基线,把 YOLOv9s 作为追求更高精度的升级选项,而 YOLOv12n/v12s 更适合作为“注意力增强结构在害虫细粒度任务中的有效性验证”模型,在后续通过算子优化或 TensorRT 加速后再评估其实时潜力。
表 5-1 n 系列模型对比(640×640,RTX 3070 Laptop)
| 模型 | Params(M) | FLOPs(G) | InfTime(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 7.73 | 0.910 | 0.850 | 0.879 | 0.917 | 0.721 |
| YOLOv6n | 4.3 | 11.1 | 6.78 | 0.843 | 0.827 | 0.835 | 0.877 | 0.699 |
| YOLOv7-tiny | 6.2 | 13.8 | 14.74 | 0.838 | 0.873 | 0.855 | 0.889 | 0.645 |
| YOLOv8n | 3.2 | 8.7 | 6.83 | 0.874 | 0.884 | 0.879 | 0.918 | 0.727 |
| YOLOv9t | 2.0 | 7.7 | 16.51 | 0.924 | 0.868 | 0.895 | 0.930 | 0.771 |
| YOLOv10n | 2.3 | 6.7 | 11.24 | 0.880 | 0.867 | 0.874 | 0.921 | 0.750 |
| YOLOv11n | 2.6 | 6.5 | 9.44 | 0.922 | 0.854 | 0.886 | 0.930 | 0.751 |
| YOLOv12n | 2.6 | 6.5 | 12.47 | 0.913 | 0.866 | 0.889 | 0.927 | 0.749 |
表 5-2 s 系列模型对比(640×640,RTX 3070 Laptop)
| 模型 | Params(M) | FLOPs(G) | InfTime(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| YOLOv5su | 9.1 | 24.0 | 8.45 | 0.871 | 0.861 | 0.866 | 0.912 | 0.721 |
| YOLOv6s | 17.2 | 44.2 | 8.59 | 0.860 | 0.861 | 0.860 | 0.908 | 0.741 |
| YOLOv7 | 36.9 | 104.7 | 23.62 | 0.914 | 0.913 | 0.914 | 0.941 | 0.754 |
| YOLOv8s | 11.2 | 28.6 | 7.66 | 0.883 | 0.851 | 0.867 | 0.912 | 0.728 |
| YOLOv9s | 7.2 | 26.7 | 18.66 | 0.885 | 0.899 | 0.892 | 0.943 | 0.786 |
| YOLOv10s | 7.2 | 21.6 | 11.38 | 0.898 | 0.903 | 0.900 | 0.940 | 0.779 |
| YOLOv11s | 9.4 | 21.5 | 9.74 | 0.925 | 0.878 | 0.901 | 0.933 | 0.775 |
| YOLOv12s | 9.3 | 21.4 | 13.23 | 0.910 | 0.888 | 0.899 | 0.935 | 0.778 |
综合来看,当前数据规模与类别难度下,模型性能差异更多体现在 mAP50-95 与“难类”的混淆控制上,而不是 mAP50 的大幅拉开;因此后续若希望进一步提升系统实用价值,老思建议优先围绕 ash weevil、helicoverpa 等薄弱类别进行“数据增量与难例挖掘”,并在 UI 端结合 F1-Confidence 的最优点提供“推荐阈值”一键设置,减少部署侧调参成本,同时让模型比较从“看单点指标”过渡到“看曲线与可用性边界”,使实验结论更贴近真实植保流程。
6.系统设计与实现
6.1 系统设计思路
本系统采用“界面层—控制层—处理层”的分层结构以降低耦合度,并用 Qt 的信号-槽机制作为跨层通信骨架:界面层 Ui_MainWindow 只负责控件布局与显示渲染,控制层 MainWindow 负责状态机与槽函数调度(输入源切换、播放控制、阈值与模型选择、结果保存/导出等),处理层 Detector 封装模型加载、推理与后处理,保证推理逻辑可独立测试、可替换权重、可扩展到更多 YOLO 族模型。老思在工程上把“输入—推理—展示—统计—持久化”设计为一条闭环流水线,任何交互动作(暂停、继续、切模型、改 Conf/IoU、切主题)都被抽象为对流水线参数或状态的原子更新,从而避免 UI 线程被推理阻塞,同时也便于后续引入异步推理或多线程/多进程加速。

在数据流层面,系统输入支持图片、视频与摄像头三类源,并统一归一为逐帧(或逐图)推理接口:帧进入 Detector 后完成 Resize+Letterbox、归一化与张量化,随后执行 YOLO 前向得到候选框集合,再经过阈值筛选、NMS 与坐标映射回到原图坐标系。输出侧同时维护两套结果表示:其一是用于 UI 叠加渲染的框与标签(用于实时展示),其二是用于统计与持久化的结构化记录(类别、置信度、坐标、时间戳、输入源信息),便于导出为文件或写入 SQLite,支撑后续检索、筛选与结果追溯。为了让“检测”真正成为可用工具而不是一次性演示,系统把运行参数(上次选择的权重、阈值、输出目录、主题样式)写入用户空间,做到每次启动后可自动恢复到上次工作状态。
在交互设计上,系统强调“可控与可解释”。一方面,Conf 与 IoU 以滑块或输入框形式在主界面可即时调整,并在状态栏反馈当前有效阈值;另一方面,模型权重以列表方式可切换,切换时由控制层完成缓存释放与重新加载,并通过信号通知界面更新当前模型信息,避免用户误以为已经切换但仍在旧权重上推理。对农作物害虫这类“背景复杂、小目标多、类别相似”的任务而言,实时可调阈值与可视化统计能够显著降低误检带来的后续人工复核成本,也更符合田间巡检的工作节奏。
图 系统流程图

图注:系统从初始化到多源输入,完成预处理、推理与界面联动,并通过交互形成闭环。
6.2 登录与账户管理 — 流程图

登录与账户管理并非附加功能,而是把“算法推理”转化为“可持续使用的个人工作台”的关键支撑:系统在登录阶段完成用户身份校验后,会加载该用户的个性化配置(例如默认模型权重、Conf/IoU 阈值、主题样式、导出路径)与历史检测记录索引,并在进入主界面时将这些信息同步到控件状态与数据表视图,从而保证不同用户在同一台设备上使用时互不干扰。注册流程将新用户信息写入 SQLite,登录流程以查询校验方式验证口令并建立会话态,资料修改则允许在不退出主界面的前提下更新头像与密码,满足长期使用与权限隔离的基本需求;当用户注销或切换账号时,控制层会清理当前会话缓存并回到登录界面,同时保留已入库的结果与配置,实现“结果持久化—身份隔离—与主检测流程无缝衔接”的闭环体验。
7. 下载链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

完整资源中包含数据集及训练代码,环境配置与界面中文字、图片、logo等的修改方法请见视频,项目完整文件请见项目介绍及功能演示视频处给出:➷➷➷
项目介绍地址:https://my.feishu.cn/wiki/QxNhwiB0UiOknQkWJQ5c8vQ0nif
功能效果展示视频:农作物害虫检测系统YOLOv12-v11至v5(八个模型,含示例论文)合集(完整Python项目演示,UI界面,含论文等)
环境配置博客教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境配置教程;
或者环境配置视频教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境依赖配置教程
数据集标注教程(如需自行标注数据):数据标注合集
8.参考文献
1 代聪, 唐兴隆. 基于改进YOLOv10的复杂田间场景的小目标农业害虫高效检测[J/OL]. 农业工程学报, 2025. (AEEISP)
2 (作者信息以原文为准)基于深度学习的农作物害虫检测方法研究与应用[D]. (学位授予单位), (年份). (Baidu Xueshu)
3 REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]//Advances in Neural Information Processing Systems. 2015. (NeurIPS Proceedings)
4 GIRSHICK R. Fast R-CNN[C]//Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2015. (CV Foundation)
5 BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: Optimal Speed and Accuracy of Object Detection[EB/OL]. arXiv:2004.10934, 2020. (arXiv)
6 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. (CVF Open Access)
7 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[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2023. (CVF Open Access)
8 WU X, ZENG L, CHENG M, 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. (CVF Open Access)
9 LIU B, ZHANG Y, HE D, et al. Plant diseases and pests detection based on deep learning: a review[J]. Plant Methods, 2021, 17: 22. (Springer)
10 (按原文著录)Improved Pest-YOLO: Real-time pest detection based on efficient channel attention and transformer encoder[J]. (Elsevier期刊), 2023. (ScienceDirect)
11 (按原文著录)Pest-YOLO: A model for large-scale multi-class dense and tiny pest detection and counting[J]. Frontiers in Plant Science, 2022. (Frontiers)
12 (按原文著录)Yolo-pest: an optimized YOLOv8x for detection of small insect pests in smart trap scenarios[J]. Scientific Reports, 2025. (Nature)
13 梁勇, 邱荣洲, 李志鹏, 等. 基于YOLO v5和多源数据集的水稻主要害虫识别方法[J]. 农业机械学报, 2022, 53(7): (页码以原文为准). (JC-SAM)
14 (按原文著录)轻量化YOLO模型在农作物微小病虫害检测中的应用研究[J]. 中国农机化学报, 2024. (Niam)
15 WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional Block Attention Module[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018. (CVF Open Access)
