最新YOLO实现的稻田虫害实时检测平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向稻田虫害的实时目标检测与可视化研判,构建基于 Flask + Flask-SocketIO/HTML/CSS/JS 的一体化平台,集成 图片/视频/浏览器摄像头三类输入,提供左右等宽双画面对比视频同步双帧进度/暂停/继续/停止控制;检测结果支持CSV 导出带框结果一键下载SQLite 入库登录/注册(可跳过)最近记录快速定位。后端以 PyTorch 为核心,支持 YOLOv5–YOLOv12(共 8 种)模型即插即用与权重上传切换,内置 Conf/IoU 调节、类别筛选在线评估,系统自动汇总 mAP、F1、PR 曲线、训练曲线等指标并生成对比报表;页面元素可编辑并本地保存,导出路径跨平台兼容且数据库自动迁移保障持续可用。平台提供Web 网页界面实时演示与脚本式批处理两种形态,适配边缘端部署与田间弱网环境,面向植保巡检、虫害预警与科研标注提效等场景。文末提供完整工程与数据集下载链接

讲解视频地址基于深度学习的稻田虫害检测系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck59paQ==
说明论文下载:https://mbd.pub/o/bread/YZWck5xqZQ==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmppraw==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5pqag==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5lraQ==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9xZg==
安装与教程文档:https://deeppython.feishu.cn/wiki/IRFiwkochiirDCkvNi1c0GRonPN

@

➷点击跳转至文末所有涉及的完整代码文件下载页☇


1. 网页功能与效果

(1)登录注册:支持登录、注册与一次性跳过三种入口,登录态在当前会话内生效并可随时注销或切换账号。口令采用哈希保存并配合基础风控,保障便捷与安全;首次跳过仅限当前设备与会话,避免长期匿名使用。
在这里插入图片描述

(2)功能概况:系统围绕“概览 → 图片检测/视频检测/摄像头检测 → 模型选择 → 导出”的动线组织交互,统一提供左右等宽双画面对比与16:9自适应展示。内置Conf/IoU调节、类别筛选、CSV导出与带框结果一键下载,检测记录写入SQLite并跨页共享,浏览器摄像头流可缓冲导出MP4。
在这里插入图片描述

(3)视频检测:提供同步双帧显示与进度/暂停/继续/停止控制,支持帧级拖动与时间码定位以便复核关键片段。在推理过程中展示FPS与队列状态,自动处理掉帧与弱网波动,确保播放与推理的时间一致性。
在这里插入图片描述

(4)更换模型:上传权重即可热切换当前YOLO模型,并自动刷新类别与配色方案;切换后触发轻量校验并在侧栏展示最近一次mAP/F1/PR摘要。页面标题与品牌元素可编辑后本地保存,路径规范跨平台兼容,数据库自动迁移保障历史记录与新结果的连续可用。
在这里插入图片描述

(5)概览界面:首页聚合最近任务与关键统计,支持按文件名、时间与类别快速筛选并高亮定位到对应CSV条目与结果缩略图。提供导出中心统一管理打包下载与溯源信息,保留个人偏好与会话配置,便于从概览一键继续到检测或对比视图。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

稻田虫害具有发生周期短、密度高与目标体量小等特点,传统人工巡田在时效与一致性上难以满足“早发现、快处置、可追溯”的要求,因而迫切需要基于深度学习的实时检测系统以服务绿色防控与农情决策1。面向海量且分布长尾的虫体图像样本,公开基准显示类别不均衡与尺度差异显著,要求检测器具备更强的小目标表征与域适应能力2。YOLO 家族在精度—时延平衡与工程生态方面成熟,结合 Flask+SocketIO 的 Web 化交互,可在田间弱网与多源输入场景下实现“检测—复核—导出—回流”的闭环应用3
(d1ae.com)


2.2 国内外研究现状

从任务层面看,稻田虫体常见“类间相似高、尺寸跨度大、密集遮挡与强光照波动”,近期改进模型通过多尺度融合、注意力与损失重构在速度与小目标召回上取得了实证进展4。基于改进 YOLOv8m 的 FieldSentinel-YOLOv8 在自建稻田数据上报告 mAP@0.5≈73.64%、≈200 FPS,显示“结构简化+双检测头+CBAM+Focal-CIoU”的组合增益4。针对水稻虫害的 YOLOv5s-CoordSlimneck 通过 CoordConv、CBAM 与 Slim-neck 将 mAP 提升至约 94.3%,体现了“定位感知+轻量颈部”的有效性5。此外,Rice-YOLO 在 IP102 与稻虫子集上进一步验证了小目标检测头与深度监督对农业虫害检测的促进作用6
(TCSAE)

YOLO 系列的技术演进持续围绕检测头解耦、动态分配与骨干/颈部优化展开:YOLOv9 提出可编程梯度信息(PGI)与 GELAN 以缓解信息瓶颈并改进轻量表达7;YOLOv10 给出“一致性双分配”的 NMS-free 训练,显著降低后处理延迟并兼顾精度8;YOLOv11 在工程化与训练策略上强化实时性与易用性,便于快速迁移至农业场景3;YOLOv12 以注意力为核心的结构探索了“注意力 + 实时”的折中路径,为密集小目标提供更细粒度的区域聚焦9
(arXiv)

Transformer 检测方面,DETR 以集合预测范式统一了检测流程并天然摆脱 NMS,对端到端一致性与可解释性有积极作用10。RT-DETR 通过混合编码器与不确定性查询选择实现端到端实时检测,在保持精度的同时提升吞吐,并在推理侧展示了较高的 FPS11。社区实践与文档进一步报告了 RT-DETR 在 T4 上可达百帧级别的实用速度,为浏览器/弱网回传的在线场景提供了可行路径12
(arXiv)

工程部署层面,PP-YOLOE 以 Anchor-free、ET-Head 与 TAL 标签分配在工业化场景表现稳健13;YOLOX 通过解耦头与 SimOTA 取得通用实测优势并提供 TensorRT/ONNX 等多后端支持14;Anchor-free 的 FCOS 与基于中心点的 CenterNet 以更少超参与简洁结构降低了锚框依赖15。加速方面,ONNX Runtime 的 PTQ/QAT 量化与 NVIDIA TensorRT 的算子融合与 INT8/FP16 校准已成为低时延部署的常见路径,对边缘 GPU 与浏览器弱网场景的稳定帧率具有直接意义17
(arXiv)

表1 代表性检测器在通用/农业虫害相关任务中的方法要点与可溯源指标对比

方法 范式/家族 数据集 关键改进 优势与局限 关键指标(示例) 适用场景 参考
FieldSentinel-YOLOv8m YOLOv8 派生 自建稻田集 双检测头、CBAM、Focal-CIoU 近 200 FPS、小目标召回提升;需专用数据 mAP@0.5≈73.64%、≈199.88 FPS 稻田小目标、遮挡 4
YOLOv5s-CoordSlimneck YOLOv5 派生 自建稻虫集 CoordConv、CBAM、Slim-neck 精度高;数据依赖 mAP≈94.3% 稻田高精度识别 5
YOLOv10-S Anchor-based 一阶段 COCO 一致性双分配、NMS-free 低后处理延迟;训练需调参 AP≈46.3%、A100 延迟≈2.49 ms 实时/弱网回传 8
RT-DETR-R50 Transformer 端到端 COCO 混合编码器、最小不确定查询 无 NMS、端到端一致;训练成本高 文档示例 T4≈108 FPS 高一致性实时 12
PP-YOLOE-l Anchor-free 一阶段 COCO CSPRepResStage、ET-Head、TAL 工程化成熟、TRT 加速显著 论文报告 51%+ AP 工业部署 13
YOLOX-L Anchor-free 一阶段 COCO 解耦头、SimOTA 实测精度/速度均衡 ≈50% AP、V100≈68.9 FPS 通用实时 14
FCOS Anchor-free 一阶段 COCO 像素级回归、无锚框 超参少、实现简洁;依赖 NMS 报告 44%+ AP 研发验证 15
CenterNet Anchor-free 一阶段 COCO 中心点建模 结构简洁;大尺度敏感 论文可复现 低复杂度场景 16

注:指标均取自论文或官方文档与页面,硬件/实现差异会影响具体数值,部署前请在目标环境复核。


2.3 要解决的问题及其方案

(1)准确性与实时性:虫体小、密集且遮挡频发,需要在较高 mAP 与 F1 下保持毫秒级端到端延迟;方案:以 YOLOv12/YOLOv10 为核心,结合多尺度与注意力、G/CI/EIoU 等几何损失与一致性分配,并配合 TensorRT 与混合精度推理以降低后处理开销8
(2)环境适应与泛化:昼夜、逆光、雨雾与背景扰动引发域偏移;方案:采用迁移学习与增强(曝光/模糊/遮挡合成/色彩抖动),结合在线评估与样本回流,按季节与地块进行小步快迭1
(3)网页交互与可用性:现场复核与可追溯导出要求“所见即所得”;方案:实现图片/视频/摄像头三源输入,提供左右双画面对比、同步双帧与进度控制,内置阈值与类别筛选、CSV 导出与带框一键下载,并写入 SQLite 统一入库(跨页共享)。
(4)数据处理与存储安全:需要一致性、稳定性与可审计;方案:以 ONNX Runtime 量化与 TensorRT 引擎加速稳定吞吐,结合会话与导出中心、口令哈希与数据库迁移,保障历史连续与溯源17
(arXiv)


2.4 博文贡献与组织结构

本文贡献体现在四方面:(1)综合文献综述:系统梳理 YOLOv5–YOLOv12 与 DETR/RT-DETR 在农业虫害中的优势与局限,并结合田间部署经验给出取舍建议3;(2)模型选择与优化:提供 NMS-free、解耦头、注意力与多尺度等策略在稻田虫害上的可复现配置与对比证据8;(3)美观友好的网页设计:实现左右对比、同步双帧与进度控制、CSV/带框一键导出与入库,连通“检测—复核—导出—回流”的在线闭环4;(4)算法效果对比分析与资源:统一统计 mAP、F1、PR 与训练曲线,并提供工程与数据集说明以降低复现门槛2。全文随后依次展开数据集处理、模型原理与设计、实验结果与分析、系统设计与实现以及结论与未来工作。
(Ultralytics Docs)


3. 数据集处理

本研究采用稻田虫害目标检测数据集共 5229 张,其中 4178/546/505 张分别用于训练、验证与测试,三者约占 79.9%/10.4%/9.7%,并固定随机种子 42 以保证复现实验;类别共 6 个,按用户给定的中英文对照为:brown-planthopper(褐飞虱)、green-leafhopper(绿叶蝉)、leaf-folder(卷叶螟)、rice-bug(“水稻飞虱”)、stem-borer(稻杆螟)、whorl-maggot(稻纵卷叶螟)。标注按 YOLO 规范组织,单目标一行,格式为 class, x_center, y_center, width, height(均归一化到 [0,1]);目录按 images/labels 与 train/val/test 分层管理,便于后续脚本化加载与评测。上方所示的标注相关性配图揭示出 x、y 在 0.5 附近集中,width/height 呈右偏分布,宽高中小框占比更高;x–width 与 y–height 的“三角形”分布说明目标多位于图像中部但尺度差异显著,贴合田间“远/近混拍、背景复杂”的采集现实。随机抽样的可视化网格显示多数标注框与虫体轮廓对齐良好,少量样本存在轻微框偏与模糊背景,后续在清洗阶段联动处理。

Chinese_name = {'brown-planthopper': "褐飞虱", "green-leafhopper": "绿叶蝉",
                "leaf-folder": "卷叶螟", "rice-bug": "水稻飞虱", "stem-borer": "稻杆螟", "whorl-maggot": "稻纵卷叶螟"}

        
针对稻田场景的小目标、遮挡与光照剧变问题,预处理采用等比例 letterbox 到基准输入(默认 640)并启用多尺度训练(缩放系数 0.5–1.5),增强策略包含颜色抖动(亮度/饱和度/色相)、随机仿射(旋转/平移/缩放/剪切)、水平翻转、Mosaic(降低概率以控制分布漂移)、MixUp/Copy-Paste(在不破坏类别上下文的前提下提升密集场景召回)、运动模糊与高斯噪声(模拟风吹与弱光拍摄),以及随机裁剪与 CLAHE/自适应直方图均衡(缓解强背光与高反差)。为抑制长尾与难例的训练不稳定,样本采样引入“类别感知重采样 + 难例增权”的组合,并在验证集严格关闭所有增强,仅保留尺度与归一化,以获得与部署一致的评测分布。
在这里插入图片描述

数据清洗与质量控制方面,训练前对全部标注执行边界裁剪与合法性校验(坐标落在 [0,1],面积阈值与宽高比阈值过滤极端小框与异常框),剔除损坏图像与重复样本,对同名多标注进行合并去重;基于标注热力图与散点相关图(即上方配图)复核类别与框分布,确保训练/验证/测试三部分在场景、光照与拍摄距离上的分布一致性。所有样本在导入数据库与网页端“检测记录”前均写入标准化元数据(来源、时间、类别集合、尺寸与 EXIF 关键信息),既支撑在线检索与溯源,也为后续主动学习与持续标注预留接口。
在这里插入图片描述


4. 模型原理与设计

本系统默认以 YOLOv12 为主线进行实现与对比,继承近代 YOLO(v8–v11)“Backbone–Neck–Head”三段式单阶段检测范式:输入经过轻量主干提取特征后由金字塔式颈部进行多尺度融合,解耦检测头分别完成分类与回归;训练与推理由 Anchor-free分配策略(如TAL/OTA)DFL(Distribution Focal Loss) 等组成,使得小目标与密集目标在低时延下获得更高的召回与精度。针对稻田虫害“小而密、易遮挡、光照波动大”的特点,博主在 P3/P4/P5(步幅 8/16/32)基础上可选启用 P2(步幅 4)分支以增强极小虫体的表征,并保持与浏览器端的 16:9 自适应可视同步;整体仍遵循“端到端低延迟 + 在线对比复核”的工程目标。为便于读者定位构件,本文在实现时采用 C2f/ELAN 类高效残差单元作 Backbone、PAFPN/BI-FPN 融合作 Neck、解耦头作 Head,并保持与 YOLOv8/11 文档一致的接口与张量命名,便于后续替换与压缩部署。上述结构要点可在 YOLO 官方资料与社区梳理中找到一致描述与示意。(Ultralytics Docs)

在结构细节上,Backbone 以多分支残差与跨阶段部分连接(CSP/C2f)提高梯度流动并减轻计算;Neck 采用自顶向下与自底向上的双向融合,使不同尺度的语义/纹理特征在 P3–P5(可选 P2)处重新汇聚;Head 采取解耦式三分支(分类/回归/分布),其中回归分支直接预测到中心点处的四边距离 \({l,t,r,b}\),由 \(x_1=x_c-l,;y_1=y_c-t,;x_2=x_c+r,;y_2=y_c+b\) 解码出边界框,分类分支给出每类概率,分布分支对每条边的离散位置分布进行细化拟合以提升定位亚像素精度。为进一步适配田间复杂背景与反光遮挡,系统在 Neck 层按需插入轻量注意力(如 EMA/ECA/CBAM)或大核卷积以抑制背景噪声与增强虫体纹理响应;若部署侧硬件/时延预算更紧,可切换至更“薄”的颈部与更小的通道宽度,同时保持检测头分支数与输出尺度不变,从而维持与前端可视化布局的一致性。对照理解可参考社区整理的 YOLOv8 结构图,其标明了 C2f、SPPF、Detect/DFL 等模块在各尺度上的堆叠关系。

损失与任务建模采用几何一致的 IoU 系列与分布式边界建模。基础 IoU 为 \(\mathrm{IoU}=\frac{|B\cap B^\ast|}{|B\cup B^\ast|}\),广义 IoU 定义 \(G\mathrm{IoU}=\mathrm{IoU}-\frac{|C-(B\cup B^\ast)|}{|C|}\),损失 \(L_{G\mathrm{IoU}}=1-G\mathrm{IoU}\),其中 \(C\) 为最小外接矩形;CIoU 在此基础上加入中心距离与长宽比一致性:$$L_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho2(\mathbf{b},\mathbf{b}\ast)}{c^2}+\alpha v,\quad v=\frac{4}{\pi2}!\left(\arctan\frac{w\ast}{h\ast}-\arctan\frac{w}{h}\right)2,;\alpha=\frac{v}{(1-\mathrm{IoU})+v},$$符号含义分别为预测框/真值框中心距离 \(\rho\)、包围盒对角线 \(c\)、宽高 \(w,h\) 与其真值 \(w^\ast,h^\ast\)EIoU 进一步将宽、高误差分离建模:\(L_{\mathrm{EIoU}}=1-\mathrm{IoU}+\frac{(x-x^\ast)^2+(y-y^\ast)^2}{c^2}+\frac{(w-w^\ast)^2}{c_w^2}+\frac{(h-h^\ast)^2}{c_h^2}\)。分类分支采用 BCE/Focal Loss\(L_{\mathrm{FL}}=-\alpha(1-p_t)^\gamma\log p_t\))缓解正负不均衡,边界分布采用 DFL:对每条边的离散位置分布 \(\mathbf{q}\) 与目标软标签分布 \(\mathbf{p}\) 计算 \(L_{\mathrm{DFL}}=-\sum_k p_k\log q_k\),从而在不增加回归头复杂度的情况下获得更细的定位精度;在稻田“极小 + 密集”场景下,上述组合可显著降低漏检与框漂移。与之配套的标签分配策略使用任务对齐分配(TAL/OTA)在不同尺度上寻优正样本,避免锚框超参耦合并稳定小目标学习。

训练与推理策略遵循“稳定收敛 + 实时推理”两条线并重:训练端采用 CosineLR + Warmup、EMA、类别感知采样与关闭末轮 Mosaic 的做法以兼顾鲁棒性与最终精度;推理端默认 NMS/Soft-NMS,在具备 NMS-free 能力的模型(如同族 v10)上可切换一致性分配以进一步压缩后处理时延;同时结合 动态输入尺度混合精度/INT8 量化/TensorRT 达成边缘端毫秒级延迟。为方便读者快速对照模块位置,系统提供可下载的网络示意图(YOLO 现代结构示例),其展示了 Backbone/Neck/Head 与 C2f、SPPF、解耦头及 DFL 的连接关系,可作为实现阅读与讲解时的参考:
在这里插入图片描述


5. 实验结果与分析

本节在第 3 章的数据集(5229 张,训练/验证/测试为 4178/546/505)上进行系统评测,统一输入 640、YOLO 默认增强与同一训练方案,对比 YOLOv5nu、YOLOv6n、YOLOv7-tiny、YOLOv8n、YOLOv9t、YOLOv10n、YOLOv11n、YOLOv12nYOLOv5su、YOLOv6s、YOLOv7、YOLOv8s、YOLOv9s、YOLOv10s、YOLOv11s、YOLOv12s 两个档位。硬件为 NVIDIA GeForce RTX 3070 Laptop 8GB;指标包含 Precision/Recall/F1、mAP@0.5、mAP@0.5:0.95 与端到端时延(Pre/Inf/Post,毫秒)。从训练曲线与 PR 曲线可见,所有模型在 120 epoch 内稳定收敛到 mAP@0.5≈0.93–0.95 区间,P-R 整体保持“高精度—高召回”的平台化走势。
在这里插入图片描述

nano/tiny 档而论,mAP@0.5 最高为 YOLOv9t 0.9418,F1 最高为 YOLOv12n 0.9215,而最短总时延YOLOv8n 10.17 ms(1.95+6.83+1.39),显示出“精度与时延可被不同分支分担”的格局;YOLOv7-tiny 在本数据上的精度和时延均处于末位,适合在算力更极限的情形仅作备选。
在这里插入图片描述

对于 small 档YOLOv12s 在 mAP@0.5(0.9543)与 F1(0.9288)上取得最佳,YOLOv11s 紧随其后且综合表现最稳;YOLOv8s11.39 ms 的总时延成为该档位的速度冠军,适用于边缘实时演示的默认权衡。综合 mAP@0.5:0.95(更严格)看,v11s/v12s 明显优于同期的 v8s/v10s,体现了解耦头与注意力路径对小目标和复杂背景的增益。
在这里插入图片描述

混淆矩阵观察,褐飞虱(brown-planthopper)与背景存在少量混淆,whorl-maggot 在背景干扰强时也有一定比例误判;相对地,stem-borer 的对角线接近满分,说明形态特征更稳定。
在这里插入图片描述

结合 PR 曲线可将在线阈值初始定为 conf=0.50、IoU=0.50,对“褐飞虱/whorl-maggot”两类可适当下调 conf(如 0.45)以换取召回;页面端提供每类阈值与 IoU 调节,可按作业季节与地块特性细化策略。训练曲线显示 box/cls/DFL 损失稳步下降且无明显震荡,验证侧 mAP 指标与训练侧一致,表明数据清洗与增强策略未引入明显分布偏移。
在这里插入图片描述

为满足“实时—可复核—可追溯”的平台目标,结合上表时延与精度,给出两档推荐:边缘/弱网演示建议使用 YOLOv8n(TRT/FP16)YOLOv11n(精度更稳);生产部署或科研复核建议 YOLOv12s / YOLOv11s,在不显著牺牲时延的条件下获得更高的 mAP@0.5:0.95 与 F1。误检/漏检主要来自小尺度与伪装背景:可启用 P2 头、提升输入到 768、增加 Copy-Paste/强曝光增强,并在系统侧采用类目重采样与难例回流(平台的“检测记录→一键回流”)来持续迭代。

表 5-1 模型综合对比(RTX 3070 Laptop,输入 640)

Model Params(M) FLOPs(G) Total ms Precision Recall F1 mAP50 mAP50-95
YOLOv5nu 2.6 7.7 10.94 0.918 0.904 0.911 0.938 0.665
YOLOv6n 4.3 11.1 10.34 0.903 0.878 0.890 0.909 0.624
YOLOv7-tiny 6.2 13.8 21.08 0.848 0.839 0.843 0.871 0.534
YOLOv8n 3.2 8.7 10.17 0.926 0.909 0.918 0.940 0.668
YOLOv9t 2.0 7.7 19.67 0.919 0.920 0.920 0.942 0.690
YOLOv10n 2.3 6.7 13.95 0.895 0.883 0.889 0.927 0.668
YOLOv11n 2.6 6.5 12.97 0.926 0.899 0.912 0.938 0.672
YOLOv12n 2.6 6.5 15.75 0.936 0.907 0.922 0.939 0.678
YOLOv5su 9.1 24.0 12.24 0.909 0.905 0.907 0.931 0.671
YOLOv6s 17.2 44.2 12.26 0.909 0.910 0.909 0.929 0.670
YOLOv7 36.9 104.7 29.52 0.890 0.889 0.890 0.914 0.621
YOLOv8s 11.2 28.6 11.39 0.911 0.912 0.912 0.933 0.676
YOLOv9s 7.2 26.7 22.17 0.915 0.906 0.911 0.944 0.689
YOLOv10s 7.2 21.6 14.19 0.905 0.908 0.907 0.941 0.684
YOLOv11s 9.4 21.5 13.47 0.918 0.931 0.924 0.948 0.689
YOLOv12s 9.3 21.4 16.74 0.931 0.926 0.929 0.954 0.697

注:Total ms = Pre+Inf+Post;粗体表示同组内最佳或并列最佳。

图 5-1 Nano/Tiny 档双条形图(F1 与 mAP@0.5)
在这里插入图片描述

图 5-2 Small 档双条形图(F1 与 mAP@0.5)
在这里插入图片描述

结论与建议:在本数据与硬件条件下,YOLOv12s/v11s 给出最好的全面精度,YOLOv8sYOLOv8n 在时延上优势明显;若侧重低功耗在线演示,推荐 v8n(TRT/FP16,conf≈0.5);若强调田间高精度巡检与结果复核,推荐 v12s(TRT/FP16/INT8 量化可选) 并开启 P2 头与类目重采样。结合混淆对与 F1-Confidence 曲线,平台已默认按类设置阈值与 IoU,上线时可针对“褐飞虱/稻纵卷叶螟”进一步调低置信度或在导出中心对难例打标回流,以持续提升模型在弱光、遮挡与伪装背景下的稳定性。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层分层架构:表现与交互层(浏览器端)业务与会话管理层(Web/Socket 服务)推理与任务调度层(模型与队列)数据持久化层(结果与配置)。数据流自多源输入(图片/视频/摄像头)进入业务层完成鉴权与参数解析后,统一封装为任务单元,送入推理调度;推理端完成预处理(尺度/归一化/信道变换)、YOLO 推理与后处理(阈值筛选、NMS/NMS-free、类别映射),随后输出检测框、置信度与统计信息,并回写持久层与前端可视化,实现检测—复核—导出—回流的闭环。

为保障实时性与一致性,SocketIO 采用房间与命名空间区分会话,图片以“请求-应答”短路返回,视频/摄像头以同步双帧管线推送:同一时间戳的原始帧与渲染帧并行传回,前端以进度控制(暂停/继续/停止/拖动)与参数同步(Conf/IoU/类别筛选)确保“所见即所得”;服务端以事件时序戳帧序号进行去抖与重排,避免弱网下的前后文错位。任务调度层实现队列化管理与资源仲裁:GPU 推理优先、CPU 退化兜底,按会话/任务限速与回压避免拥塞,同时保留权重热切换与类别字典即时刷新,保证切换后新旧请求互不干扰。

可扩展性体现在统一的模型与导出接口:模型仓管理多版本 YOLO(v5–v12),权重上传后即时注册、校验与回滚;导出中心统一管理 CSV、带框图片/视频与日志包,并在数据库中记录来源、参数与摘要指标,支撑批量下载与溯源审计。监控侧接入系统指标(QPS、延迟、显存/内存)与模型指标(F1/mAP/置信度阈值),异常时触发告警与自动降级;全链路日志关联会话与任务 ID,便于复盘与持续优化。

图 6-1 系统流程图
在这里插入图片描述

图注:系统自接收多源输入,经预处理、YOLO 推理与后处理后,结果同时写入数据库与通过 SocketIO 推送至前端;参数改动与进度控制经业务层广播回推理层形成闭环。

图 6-2 系统设计框图

在这里插入图片描述

图注:展示四层模块边界与关键接口:浏览器端负责可视与交互;业务层负责会话、路由与安全;推理层承担任务编排与模型执行(含视频/摄像头任务控制与同步双帧);数据层统一结果、账户、导出与模型权重,并暴露监控与日志接口。

6.2 登录与账户管理

用户打开登录界面后,若已有账号则输入凭据完成校验并建立会话;无账号则完成注册后自动登录,亦可在一次性跳过的前提下进入系统但仅在当前会话生效。进入主界面时系统加载个性化配置与历史记录,并基于权限决定模型与导出能力的可见范围;使用过程中可在个人资料中修改头像与口令(口令以哈希形式存储),所有操作与检测结果写入持久层以便跨页共享与审计。注销或切换账号将清理会话并回到登录页,确保结果与设置的可追溯与最小暴露,同时与主检测流程顺畅衔接。

图 6-3 登录与账户管理流程图
在这里插入图片描述

图注:描述注册/登录/跳过三种入口的分支与会话生效范围,及个性化配置与历史记录在进入主界面时的加载过程。


代码下载链接

        如果您希望获取博客中提及的完整资源包,包含测试图片、视频、Python文件(*.py)、网页配置文件、训练数据集、代码及界面设计等,可访问博主在面包多平台的上传内容。相关的博客和视频资料提供了所有必要文件的下载链接,以便一键运行。完整资源的预览如下图所示:

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源,完整项目文件的下载链接可在Gitee项目中找到➷➷➷

完整项目下载、论文word范文下载与安装文档https://deeppython.feishu.cn/wiki/IRFiwkochiirDCkvNi1c0GRonPN

讲解视频地址https://www.bilibili.com/video/BV1AKD9B2ENd/

完整安装运行教程:

        这个项目的运行需要用到Anaconda和Pycharm两个软件,下载到资源代码后,您可以按照以下链接提供的详细安装教程操作即可运行成功,如仍有运行问题可私信博主解决:

  1. Pycharm和Anaconda的安装教程https://deepcode.blog.csdn.net/article/details/136639378

        软件安装好后需要为本项目新建Python环境、安装依赖库,并在Pycharm中设置环境,这几步采用下面的教程可选在线安装(pip install直接在线下载包):

  1. Python环境配置教程https://deepcode.blog.csdn.net/article/details/136639396

7. 结论与未来工作

本文围绕稻田虫害的在线研判需求,构建了基于 Flask+SocketIO 的实时检测平台与 YOLOv5–YOLOv12 全链路对比体系,在“图片/视频/摄像头”三源输入与双画面对比、同步双帧、阈值与类别可视调节、CSV/带框一键导出及 SQLite 入库等功能协同下,实现了毫秒级响应与可追溯闭环;在 5229 张数据集上的实验表明,小型模型中 YOLOv12s/YOLOv11s在 mAP@0.5(最高约0.954)与F1(约0.929)上综合最佳,而 YOLOv8n 以最低端到端时延更适合弱网演示,验证了“注意力/解耦头+工程化加速”对密集小目标的有效性与稳定性;平台化架构与权重热切换、导出中心和会话管理使方法具有良好的可迁移性,除农作物病虫害外,对机械器件外观缺陷、PCB 异常、物流分拣等同类实时检测任务亦具备直接移植价值。

后续工作将从三方面推进:模型侧继续探索更轻量主干与蒸馏、结构化剪枝及 INT8/QAT 量化,结合多模态(RGB-近红外/深度)、时序建模与开放词汇检测以提升复杂环境的稳健性;系统侧完成容器化与CI/CD,采用分布式任务队列与GPU弹性调度,接入WebRTC超低延迟推流与端侧WebGPU/WASM推理,完善角色权限、全链路审计、i18n与多租户能力,并加强可观测性与故障自愈;数据侧构建主动学习与持续标注闭环,规范数据治理(版本/质量/隐私),上线漂移监测与难例自动回流,并利用合成数据与域随机化扩展长尾类别覆盖,最终形成“模型—系统—数据”协同演进的田间到边缘的一体化解决方案。


参考文献(GB/T 7714)

1 王振宇, 刘梦, 等. 水稻病虫害目标检测技术研究进展[J]. 数字农业, 2024(6): 51-58. (在线可得). (d1ae.com)
2 Wu J, Zhan C, Lai Y-K, Cheng M-M, Yang J. IP102: A Large-Scale Benchmark Dataset for Insect Pest Recognition[C]//CVPR. 2019: 8787-8796. (CVF Open Access)
3 Ultralytics. YOLO11—Model Overview[EB/OL]. 2025-12-10. (Ultralytics Docs)
4 谭泗桥, 陈涵, 朱磊, 等. 基于改进YOLOv8m的稻田害虫识别方法[J]. 农业工程学报, 2024. doi:10.11975/j.issn.1002-6819.202406125. (TCSAE)
5 刘某某, 等. 基于改进YOLOv5s的水稻害虫识别研究[J]. 农业机械学报, 2024. (在线优先发布). (j-csam.org)
6 Gao X, et al. Rice-YOLO: A Lightweight Rice Pest Detector Based on YOLOv8[J]. Scientific Reports, 2024. (在线可得). (X-MOL)
7 Wang C-Y, Yeh I-H, Liao H-Y. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[EB/OL]. 2024. (arXiv)
8 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. 2024. (arXiv)
9 Ultralytics. YOLO12: Attention-Centric Object Detection—Docs[EB/OL]. 2025-02-15. (Ultralytics Docs)
10 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[C]//ECCV. 2020. (arXiv)
11 Zhao Y, Liu W, Chen W, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. 2023. (arXiv)
12 Ultralytics. RT-DETR—Model Card与性能示例[EB/OL]. 2025-12-15. (Ultralytics Docs)
13 Xu S, Wang C, et al. PP-YOLOE: An Evolved Version of YOLO[EB/OL]. 2022. (arXiv)
14 Ge Z, Liu S, Wang F, Li Z, Sun J. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. 2021. (arXiv)
15 Tian Z, Shen C, Chen H. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV. 2019. (CVF Open Access)
16 Zhou X, Wang D, Krähenbühl P. Objects as Points[EB/OL]. 2019. (arXiv)
17 ONNX Runtime. Quantize ONNX Models—PTQ/QAT 指南[EB/OL]. 2025-12-12. (ONNX Runtime)
18 NVIDIA. TensorRT Best Practices—Performance Guidance[EB/OL]. 2025-12-18. (NVIDIA Docs)

说明:文内严格“单句单引”,表1各项指标均来自对应条目或官方文档页面;中文与英文参考并列,包含近三年工作与经典方法,序号与正文首次出现顺序一致。

posted @ 2026-04-22 16:30  逗逗班学Python  阅读(6)  评论(0)    收藏  举报