摘要

本文面向“田间杂草实时检测”应用,构建基于 Flask + Flask-SocketIO/HTML/CSS/JS 的一体化平台:前端支持图片/视频/浏览器摄像头三类输入,后端集成 YOLOv5–YOLOv12(8种) 模型,提供实时推理左右等宽双画面对比视频同步双帧进度/暂停/继续/停止控制。系统内置Conf/IoU 调节类别筛选,可一键CSV 导出带框结果下载(图片/视频),并将检测日志与指标写入 SQLite 便于追溯;支持登录/注册(可跳过)会话管理最近记录快速定位,兼顾体验与安全(口令哈希与会话时效)。平台允许模型选择/权重上传与在线切换,统一展示 mAP、F1、PR 曲线、训练曲线 等对比评测,并支持批量导出与结果溯源。系统面向农业场景的复杂光照、密集遮挡与尺度差异进行了专项优化,并提供Web 网页界面实时演示能力,便于在边缘设备与笔记本环境部署。文末提供完整工程与数据集下载链接。

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


1. 网页功能与效果

(1)登录注册:提供注册、登录与一次性跳过三种入口,成功进入后会话在整站生效且支持超时与手动注销;口令哈希与最小权限策略确保账户与数据安全。登录后会自动载入个性化偏好与最近记录,便于快速恢复到上次工作状态。
在这里插入图片描述

(2)功能概况:系统遵循“概览 → 图片检测 / 视频检测 / 摄像头检测 → 模型选择 → 导出视图”的动线,所有页面维持参数与会话同步。支持Conf/IoU调节、类别筛选、CSV导出与带框结果一键下载,检测记录跨页共享以支撑溯源与复查。
在这里插入图片描述

(3)视频检测:采用同步双帧渲染实现左右等宽对比,16:9自适应并叠加目标框与统计信息。提供进度、暂停、继续与停止控制,关键帧对齐与缓冲写盘保障长视频稳定输出,同时支持将实时流按段导出为MP4。
在这里插入图片描述

(4)更换模型:在模型管理区上传权重即可切换当前模型,无需重启服务,并自动刷新类别与可视化配色。支持从YOLOv5–YOLOv12的多模型快速切换与对比,切换操作会在数据库留痕以便结果追踪与批量导出。
在这里插入图片描述

(5)概览界面:首页集中展示最近任务、数据占用与精度/速度快照,并提供按文件名或时间戳的高亮定位。页面标题、品牌与主题色可编辑并本地保存,卡片化入口直达图片/视频/摄像头检测与导出视图,满足田间作业的快速上手与回看需求。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

在精准农业中,田间杂草的快速定位与识别直接关系到变量施药与环境负担控制,因此需要一套在边缘设备上也能稳定运行的低时延检测—可视化闭环系统1。公开基准推动了任务走向可复现:DeepWeeds 提供 8 类、17,509 张田间实拍图像,成为野外杂草识别的重要数据基础1;Weed25 扩展到 25 类、14,035 张样本,更贴近物种级管理场景2。从工程侧看,浏览器端推理与后端归档并行的体系逐渐成熟:ONNX Runtime Web 借助 WebGPU 在本地显卡上加速推理,降低原始视频回传与隐私风险3;而 INT8 量化等手段在保证精度的同时进一步提升端侧吞吐并压缩模型体积4。(Nature)

2.2 国内外研究现状

面向“绿中找绿、尺度差异大、遮挡与长尾并存”的田间场景,近期研究呈现两条主线:其一,降低后处理开销与端到端化;YOLOv10 通过一致性双任务分配实现 NMS-free 训练,报告在 COCO 上与 RT-DETR-R18 相近 AP 时速度提升约 1.8×5,而 RT-DETR 以高效编码器与查询选择在 T4 上实现 100 FPS 级端到端检测6。其二,锚框简化与关键点建模;FCOS 以逐像素预测消除锚框超参敏感性7,CenterNet 将目标建模为中心点以获得更优的速度—精度折中8。(arXiv)

单阶段 YOLO 系列仍是实时检测主力:YOLOv7 通过 E-ELAN 与可训练增益在 30 FPS 以上的范围内取得较高 AP9;PP-YOLOE 采用 Anchor-free、TAL 与重参数化残差结构,兼顾工业部署友好与高 FPS10;YOLOv6 在硬件友好网络与训练策略上加强,面向边缘端具备稳健吞吐11。Ultralytics 的 YOLO11 在结构与训练策略上迭代以改进速度—精度权衡,适合作为通用生产基线12;YOLO12 引入更重的注意力结构以提升高难样本建模,但文档建议生产仍优先选择 YOLO1113。(arXiv)

与本文任务高度相关的农业场景研究表明:在芝麻田间自建数据上,基于注意力与改进回归损失的改进 YOLOv5 可达 mAP≈90.6% 且单图约 2.8 ms 的推理延迟14;在甜菜等公开数据上,TIA-YOLOv5 通过像素级合成增强、Transformer 编码与多尺度融合,报告 mAP@0.5≈0.90 且 20.8 FPS,并在 Jetson 端经 TensorRT 获得更高吞吐15。最新面向小目标与多尺度的模型如 HAD-YOLO 与 PD-YOLO,在颈部融合与动态头部上进一步优化以提升小杂草召回与鲁棒性16。(Niam)

系统与部署层面,浏览器端 WebGPU 推理、后端量化加速与标准化导出共同支撑“摄像头/视频→前端推理→后端归档”的在线闭环,同时 WebNN 等新标准正在拓展浏览器侧对本地 NPU/GPU 的直接访问能力,为隐私敏感数据的端上处理提供新接口318。(ONNX Runtime)
方法对比表(与本文任务相关)

方法 范式/家族 数据集 关键改进 优势与局限 关键指标(作者报告) 适用难点
YOLOv10-S 单阶段/YOLO,NMS-free 训练 COCO 一致性双任务分配、整体效率设计 降低端到端时延;训练稳定性与实现细节敏感 与 RT-DETR-R18 同等 AP 时 1.8× 更快 低时延与端到端场景 (NeurIPS Proceedings)
RT-DETR-R50 Transformer/端到端 COCO 高效编码器与查询选择 去 NMS、速度可调;训练代价较高 53%+ AP 且 T4 上百 FPS(作者报告) 后处理开销与稳定时延 (CVF Open Access)
YOLOv7 单阶段/YOLO COCO E-ELAN、可训练增益 实时范围较高 AP;结构较复杂 论文报告实时范围内达到 SOTA 精度—速度折中 (arXiv)
PP-YOLOE-l 单阶段/Anchor-free COCO TAL、ET-Head、CSPRepResStage 部署友好;生态依赖 Paddle 论文报告 50%+ mAP 与高 FPS 工程可落地与量产 (arXiv)
FCOS 单阶段/Anchor-free COCO 逐像素预测 去锚框;正负样本策略重要 ResNeXt-101 下 44.7% AP 锚框超参敏感性缓解 (CVF Open Access)
CenterNet 单阶段/关键点 COCO 中心点建模 结构简洁、响应快;大尺度需多尺度策略 论文报告高 FPS 与竞争性 AP 高密度快速响应 (arXiv)
TIA-YOLOv5 单阶段/YOLO 甜菜等公开集 像素级合成、Transformer、ASFF 小目标回收率高;增强流程复杂 mAP@0.5≈0.90,20.8 FPS 小目标与尺度差异 (Frontiers)
改进 YOLOv5(中文) 单阶段/YOLO 自建芝麻田间 注意力+回归损失+增强 mAP≈90.6%,单图≈2.8 ms 轻量高效可实时 绿中找绿、反光遮挡 (Niam)
YOLOv6 单阶段/工业场景 COCO 硬件友好网络与训练策略 端侧吞吐高;版本众多 N/T4 上高 FPS 与竞争性 AP 工业/边缘部署 (arXiv)
YOLO11/YOLO12 单阶段/Ultralytics 多基准 结构与训练迭代/注意力中心化 YOLO11 更稳,YOLO12 更强但训练/内存更重 文档与论文给出场景建议 生产稳健/高难样本 (Ultralytics Docs)

2.3 要解决的问题及其方案

(1)准确性与实时性:需在复杂光照与密集遮挡下维持低时延与稳定精度;方案:以 YOLOv5–YOLOv12 八模型统一管线为基线,结合小目标友好的多尺度融合与改进 IoU 损失,并通过 ONNX/TensorRT 与 INT8 量化实现端侧加速124。(Ultralytics Docs)
(2)环境适应与泛化:需在跨作物、季节与设备条件下保持鲁棒;方案:采用像素级合成、混合增强与迁移学习,针对长尾类别进行重加权与难例挖掘15。(Frontiers)
(3)交互与可追溯:网页端需支持图片/视频/摄像头三源输入、同步双帧与参数联动,并形成“记录—导出—回看”闭环;方案:Flask + SocketIO 提供会话化推理与参数同步,SQLite 入库并支持 CSV 与带框媒体一键导出(工程实现详见后文)。
(4)数据处理与安全:需兼顾缓冲写盘稳定性与隐私合规;方案:分块推理与视频缓冲写盘,口令哈希与最小权限;前端可选 WebGPU/WebNN 在端上完成推理以减少原始数据上行3。(ONNX Runtime)

2.4 博文贡献与组织结构

贡献:本文(1)系统梳理田间杂草检测的研究脉络并与任务难点逐点对齐;(2)实现基于 PyTorch + Flask/SocketIO 的端到端平台,集成 YOLOv5–YOLOv12 八模型并支持权重热切换与三源输入实时对比;(3)设计面向田间作业的网页交互,提供同步双帧、进度控制、Conf/IoU 调节与一键导出/入库;(4)完成跨版本模型定量对比与误差分析,并发布可复现实验与部署脚本与数据资源。组织结构:全文依次覆盖网页功能与效果、绪论、数据集处理、模型原理与设计、实验结果与分析、系统设计与实现、结论与未来工作,便于读者按“背景—方法—结果—系统—展望”路径复现与扩展。


3. 数据集处理

本研究采用单类别“weeds(中文:杂草)”的田间杂草检测数据集,共 2486 张图像,按 1661/580/245 划分为训练/验证/测试集(占比分别约 66.8%/23.3%/9.9%),类别中文名映射为 {'weeds': '杂草'}。标注统一采用 YOLO 归一化格式(class cx cy w h),并保持训练与评测阶段的一致性。从读者提供的可视化可见:标注中心在画面内分布均匀,框宽高在 0.1–0.2 区间呈现显著密度,右上角的框尺寸散点呈正相关趋势,反映了小目标偏多尺度差异明显的任务特性;多图拼贴样例显示背景纹理复杂、光照与阴影变化明显,且存在草丛遮挡与类似纹理干扰。基于这些现象,本文在训练中采用以小目标为导向的多尺度策略与抑制过拟合的正则化手段。

Chinese_name = {'weeds': "杂草"}

        
在这里插入图片描述

数据预处理方面,图像经统一长边缩放与 Letterbox 保持纵横比,随机翻转、色域扰动(亮度/对比度/饱和度)、轻度高斯噪声与随机裁剪用于增强视觉多样性;对小目标占比高的样本启用 Mosaic(概率控制在 0.3–0.5)与随机仿射以提升跨尺度鲁棒性,MixUp 仅在早期训练阶段小比例使用以避免遮挡过强导致的标签噪声。为抑制背景纹理导致的误检,适度启用 Copy-Paste 将稀少但关键的“清晰叶片形态”粘贴到复杂草毯背景,并配合类别重加权与 Focal-style 回归损失缓解长尾问题。数据清洗遵循两步:第一步检测并修正越界与零面积框;第二步依据验证集召回—精度曲线移除疑似错误标注的极端样本。全流程固定随机种子(如 42)并记录划分索引,以保证复现实验的可比性。
在这里插入图片描述


4. 模型原理与设计

作为系统默认主线,本文采用 YOLOv12/11 级的单阶段检测范式并向下兼容 YOLOv5–YOLOv10,以Anchor-free + 解耦头(分类/回归分支)为核心,结合 C2f/CSP 族骨干、SPPF 金字塔汇聚与 PAN/FPN 异层融合,实现对“绿中找绿”的小目标被遮挡叶片的稳健回收;在单类别“杂草”场景将类别通道压缩为 1,并在头部引入 IoU-aware 置信重整以降低误报。整体计算图为:输入经骨干提取多尺度特征 P 3 , P 4 , P 5 {P_3,P_4,P_5} P3,P4,P5,在颈部双向融合形成 P ~ 3 , P ~ 4 , P ~ 5 {\tilde P_3,\tilde P_4,\tilde P_5} P~3,P~4,P~5,解耦头分别输出分类概率与盒回归参数,最终经 NMS(或端到端匹配)得到检测结果;该设计与 Ultralytics 家族“Anchor-free split head”的公开描述一致,便于跨版本权重与导出后端复用。

在结构细节上,骨干采用残差化的 C2f/CSP单元以缩短与延展梯度路径,颈部在 PAN/FPN 上叠加轻量注意力(如 ECA/CBAM)与跨尺度再加权,以提升纹理相似背景下的小叶片可分性;对极端尺度差异,我们在 P ~ 3 \tilde P_3 P~3 分支上提高通道与损失权重,兼顾密集小目标召回。为进一步抑制同质纹理干扰,在颈部插入 Transformer 编码器的轻量变体,使用标准多头注意力:
MHA ⁡ ( Q , K , V ) = Concat ⁡ ( head i ) W O , head i = softmax ⁡ ! ( Q W i Q ( K W i K ) ⊤ d k ) ! V W i V , \operatorname{MHA}(Q,K,V)=\operatorname{Concat}\left(\text{head}_i\right)W^O,\quad \text{head}_i=\operatorname{softmax}!\left(\frac{QW_i^Q(KW_i^K)^\top}{\sqrt{d_k}}\right)!VW_i^V, MHA(Q,K,V)=Concat(headi)WO,headi=softmax!(dk QWiQ(KWiK))!VWiV,
其中 Q , K , V Q,K,V Q,K,V 为查询/键/值, W ⋅ W^{\cdot} W 为可学习投影, d k d_k dk 为键向量维度;该层在草毯纹理上可聚焦叶缘/叶脉的判别性子区域,从而减少“草坪—杂草”的误配。网络整体架构图如下图所示(示意图展示“骨干—颈部—解耦头”的数据流,便于理解本文实现与替换策略):
在这里插入图片描述

在损失与任务建模方面,回归采用 IoU 家族并默认 CIoU 以兼顾重叠、中心距离与长宽比一致性:
L ∗ C I o U = 1 − I o U + ρ 2 ! ( b , b g t ) c 2 + α v , I o U = ∣ B ∩ B g t ∣ ∣ B ∪ B g t ∣ , \mathcal{L}*{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2!\left(b,b^{gt}\right)}{c^2}+\alpha v,\quad \mathrm{IoU}=\frac{|B\cap B^{gt}|}{|B\cup B^{gt}|}, LCIoU=1IoU+c2ρ2!(b,bgt)+αv,IoU=BBgtBBgt,
v = ( 2 π arctan ⁡ w g t h g t − 2 π arctan ⁡ w h ) 2 , α = v ( 1 − I o U ) + v , v=\left(\frac{2}{\pi}\arctan\frac{w^{gt}}{h^{gt}}-\frac{2}{\pi}\arctan\frac{w}{h}\right)^2,\quad \alpha=\frac{v}{(1-\mathrm{IoU})+v}, v=(π2arctanhgtwgtπ2arctanhw)2,α=(1IoU)+vv,
其中 B B B B g t B^{gt} Bgt 为预测与真值框, b , b g t b,b^{gt} b,bgt 为其中心点, c c c 为最小包围盒对角线, w , h w,h w,h 为宽高;分类与目标性采用 Focal Loss 抑制易例主导:
L ∗ f o c a l = − α ( 1 − p t ) γ log ⁡ p t , \mathcal{L}*{\mathrm{focal}}=-\alpha(1-p_t)^\gamma\log p_t, Lfocal=α(1pt)γlogpt,
并启用 IoU-aware 置信度重标定以减少纹理相近背景的高分误检;总损失为
L = λ box L ∗ C I o U + λ ∗ cls L ∗ f o c a l + λ ∗ obj L ∗ B C E , \mathcal{L}=\lambda_{\text{box}}\mathcal{L}*{\mathrm{CIoU}} +\lambda*{\text{cls}}\mathcal{L}*{\mathrm{focal}} +\lambda*{\text{obj}}\mathcal{L}*{\mathrm{BCE}}, L=λboxLCIoU+λclsLfocal+λobjLBCE,
其中各 λ \lambda λ 由验证集网格搜索确定。针对“单类长尾+小目标密集”的杂草数据,我们在小尺度头上提高 λ ∗ obj \lambda*{\text{obj}} λobj 与正负样本平衡因子,并在标签平滑置信度蒸馏(以性能更强的权重作为教师)间做权衡,以降低跨地块/季节的分布漂移。

训练与正则化方面,优化器采用 AdamW(权重衰减 5 × 10 − 4 5\times10^{-4} 5×104)、Warmup+Cosine 学习率策略与 EMA 参数滑动平均以提升稳定性:
η t = η min ⁡ + 1 2 ( η max ⁡ − η min ⁡ ) ( 1 + cos ⁡ π t T ) , θ EMA ← m , θ EMA + ( 1 − m ) θ t , \eta_t=\eta_{\min}+\tfrac{1}{2}(\eta_{\max}-\eta_{\min})\left(1+\cos\frac{\pi t}{T}\right),\qquad \theta_{\text{EMA}}\leftarrow m,\theta_{\text{EMA}}+(1-m)\theta_t, ηt=ηmin+21(ηmaxηmin)(1+cosTπt),θEMAm,θEMA+(1m)θt,
其中 η t \eta_t ηt 为第 t t t 步学习率、 T T T 为总步数、 m m m 为动量系数;在推理端默认 NMS t conf ! = ! 0.25 , t iou ! = ! 0.6 t_{\text{conf}}!=!0.25,t_{\text{iou}}!=!0.6 tconf!=!0.25,tiou!=!0.6)并保留端到端匹配选项以对接 YOLOv10/RT-DETR 路线的无 NMS 推理。为适配浏览器摄像头流与田间长视频,模型导出 ONNX/TensorRTWASM/WebGPU 两套后端;在本平台中,解耦头与阈值、类别筛选等参数通过 SocketIO 与前端同步,保证同步双帧对比的一致性。上述设计与 Ultralytics 文档所述的 backbone/neck/head 划分、Anchor-free 解耦头和性能统计口径保持一致,便于复现与横向对比。


5. 实验结果与分析

在相同数据划分(训练 1661 / 验证 580 / 测试 245)与统一训练策略下,博主以 YOLOv5–YOLOv12 的两组容量配置(n/s)做系统评测,环境为 NVIDIA GeForce RTX 3070 Laptop GPU, 8GB。整体上,YOLOv12n 取得最高的 mAP@0.5(0.7945)与较高 F1(0.7645),而 YOLOv8s / YOLOv12s 在 s 组中表现更稳;速度方面,n 组中的 YOLOv6n/YOLOv8n 推理时延更低,YOLOv7-tiny/YOLOv9t 较慢。
在这里插入图片描述

结合下文的混淆矩阵与 PR/F1 曲线,最佳阈值位于 Conf≈0.26(F1≈0.76),适合作为网页端默认门限;当用于机载或拖拉机高速作业,为降低误报建议将阈值提高到 0.30–0.35 并配合置信抑制。

表 1 各模型在测试集上的性能与时延(单位:ms)
(Pre/Inf/Post 分别表示预处理/推理/后处理阶段时延)

组别 Model Params(M) FLOPs(G) PreTime InfTime PostTime Precision Recall F1 Score mAP50 mAP50-95
n YOLOv5nu 2.6 7.7 1.90 7.73 1.31 0.7698 0.7469 0.7582 0.7796 0.4085
n YOLOv6n 4.3 11.1 2.17 6.78 1.39 0.7765 0.7234 0.7490 0.7777 0.4097
n YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 0.7917 0.7307 0.7600 0.7814 0.3838
n YOLOv8n 3.2 8.7 1.95 6.83 1.39 0.7629 0.7418 0.7522 0.7855 0.4118
n YOLOv9t 2.0 7.7 1.87 16.51 1.29 0.7603 0.7407 0.7504 0.7853 0.4092
n YOLOv10n 2.3 6.7 2.08 11.24 0.63 0.7656 0.7188 0.7415 0.7650 0.4025
n YOLOv11n 2.6 6.5 2.11 9.44 1.42 0.7963 0.7242 0.7586 0.7903 0.4158
n YOLOv12n 2.6 6.5 1.91 12.47 1.37 0.7774 0.7521 0.7645 0.7945 0.4159
s YOLOv5su 9.1 24.0 2.28 8.45 1.51 0.7432 0.7519 0.7475 0.7801 0.4114
s YOLOv6s 17.2 44.2 2.22 8.59 1.45 0.7678 0.7157 0.7408 0.7763 0.3960
s YOLOv7 36.9 104.7 2.44 23.62 3.46 0.7792 0.6392 0.7023 0.6528 0.3093
s YOLOv8s 11.2 28.6 2.31 7.66 1.42 0.7799 0.7362 0.7575 0.7883 0.4115
s YOLOv9s 7.2 26.7 2.12 18.66 1.39 0.7671 0.7330 0.7496 0.7830 0.4137
s YOLOv10s 7.2 21.6 2.21 11.38 0.60 0.7681 0.7407 0.7542 0.7748 0.4071
s YOLOv11s 9.4 21.5 2.37 9.74 1.36 0.7639 0.7402 0.7519 0.7868 0.4116
s YOLOv12s 9.3 21.4 2.09 13.23 1.42 0.7768 0.7372 0.7565 0.7910 0.4125

图 1 双条形图:n 组各模型 F1 与 mAP@0.5
图注:蓝色为 F1,橙色为 mAP@0.5;用于网页“模型对比”卡片的静态导出。
将下方代码保存为 weeds_n_dualbar.svg 即可下载/插图使用。
在这里插入图片描述

图 2 双条形图:s 组各模型 F1 与 mAP@0.5
图注:同图 6 的绘制风格;用于网页“模型对比(大/小模型)”切换。
将下方代码保存为 weeds_s_dualbar.svg 即可下载/插图使用。
在这里插入图片描述

定量结论与结构性分析
从表 1 与图1-2 可见,精度方面,n 组整体 mAP@0.5 在 0.765–0.794 区间,YOLOv12nYOLOv11n 排名前二;s 组中 YOLOv12s/YOLOv8s 表现最优且相差极小。mAP@0.5–0.95 的对比显示,n 组以 YOLOv12n(0.416)≈YOLOv11n(0.416) 为最强,说明近代解耦头与数据增强策略对小目标(杂草叶丛)具有更好的尺度适配;YOLOv7(s 组)在本数据集上 mAP 偏低,推断其对纹理化背景与单类任务的优化不足。速度/延迟方面,考虑预+推+后处理的总时延,n 组多处于十几毫秒量级,YOLOv6n/YOLOv8n 更适合浏览器摄像头的实时推理;YOLOv10 系列虽后处理显著更快(Post≈0.6 ms),但在本数据与当前实现下推理阶段并未取得明显优势,提示“无 NMS 训练”在小分辨率/单类任务上仍需结合更匹配的导出与调参。
在这里插入图片描述

误差模式与阈值建议
归一化混淆矩阵在(weeds, weeds)单元给出 ≈0.77 的召回,与表 1 的 Recall(0.72–0.75)相吻合;PR 曲线呈单调下降、在 Recall≈0.8 附近出现“折点”。
在这里插入图片描述

F1–Confidence 曲线峰值在 0.26 左右,这与我们将网页默认门限设为 0.26 的选择相一致。结合田间“绿中找绿”的场景,主要误检发生在草坪纹理均匀、局部阴影下的高对比边缘;漏检多出现在强光直射或湿地反光导致的低对比叶片。针对这些问题,建议:一是将输入分辨率从 640 升至 832(前端自动等比 Letterbox),二是在模型端保持小尺度头的损失权重增强与轻量注意力,三是在网页端提供“置信度上限+面积下限”双阈值以压制微小噪声框。
在这里插入图片描述

面向平台的模型选型
若以实时性优先(浏览器摄像头/低带宽网络),推荐 YOLOv6n / YOLOv8n;若以精度优先(离线标注/回放审计),推荐 YOLOv12n / YOLOv11n;若预计在算力更充足的边缘设备(如 Jetson Orin/Xavier)上运行并追求稳健性,可选择 YOLOv8s / YOLOv12s,并启用 INT8 量化与 TensorRT 导出(前文导出接口已集成)。

与任务特性的耦合度
本数据集表现出小目标偏多、尺度差异显著与纹理相似度高的特征——这解释了为何具有更强小尺度特征融合与解耦头设计的 YOLOv11/12 在 mAP@0.5–0.95 上有优势;同时,端到端/低后处理路线(如 YOLOv10)在我们的单类、较小输入规模上并未立即转化为速度红利,提示在农业真实场景需要整体链路优化(导出、调度、批处理与可视模块)才能释放其潜力。


6. 系统设计与实现

6.1 系统设计思路

本系统采用四层分层架构:表现与交互层(浏览器端 Web 界面)、业务与会话管理层(会话、参数与任务编排)、推理与任务调度层(预处理、YOLO 推理与后处理)、数据持久化层(结果、配置与审计)。用户通过概览页进入图片/视频/摄像头三源输入,数据经统一预处理(缩放、Letterbox、归一化)后进入推理引擎,随后在后处理阶段完成 NMS/匹配、阈值与类别筛选;最终以左右等宽双画面回传前端,并同时沉降统计量(TP/FP、帧耗时、面积阈值命中)至数据库。整条链路以事件驱动组织:前端参数改变即时触发后端同步推理与可视化更新,导出操作在同一会话上下文中生成 CSV/带框图片与缓冲 MP4。

实时性与一致性通过两项机制保障。其一是同步双帧推送:推理结果与对应原始帧以同一帧号与时间戳打包,经 SocketIO 通道一次下发,避免前端错位;其二是参数与会话一致性:业务层为每个终端维护独立会话与参数快照(阈值、类别筛选、模型版本、导出选项),并对视频/摄像头任务提供暂停/继续/停止的原子控制,保证进度条与推理缓存一致。系统在任务高并发时采用轻量队列与背压策略限制同时活动的流式任务数,避免 GPU/CPU 抢占导致的抖动。

可扩展性体现在三方面。首先是权重热切换:上传或选择权重将立即刷新推理引擎与类别字典,并以事务方式记录到数据库以支撑溯源;其次是统计与导出一体化:同一检测会话下的 CSV、带框图片/视频、PR 曲线指标与混淆矩阵均以统一标识关联,方便批量下载与审计;最后是运维可观测:日志/监控接口持续记录推理耗时、队列长度与错误栈,异常触发降级(如关闭绘制叠加、降低输入分辨率),确保田间作业环境下的稳定性。

图 1 系统流程图
图注:展示系统自初始化到多源输入,经预处理—推理—后处理,再到同步双帧回传与导出入库的闭环;参数调整会即时回流到后处理阶段,形成人机协同的在线反馈。
在这里插入图片描述

图 2 系统设计框图
图注:以分层展示浏览器端、业务与会话层、推理与任务调度层、数据层及模型/监控接口;数据自上而下流动,日志与指标反向反馈以支撑运维。
在这里插入图片描述

6.2 登录与账户管理

在这里插入图片描述

登录流程以“安全—体验”并重为原则:用户可选择注册/登录或在一次性跳过的游客模式下进入系统,业务层在会话建立后加载个性化参数与历史记录并关联后续检测会话;资料修改在不影响当前检测任务的前提下独立提交,注销或切换账号将清理会话与缓存,确保结果与设置的持久化可追溯顺畅衔接主检测流程。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

        资源包中涵盖了你需要的训练测试数据集、训练测试代码、UI界面代码等完整资源➷➷➷

详细介绍文档博客最新YOLO实现的田间杂草实时检测平台(Flask+SocketIO+HTML/CSS/JS)

完整安装运行教程:

        这个项目的运行需要用到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/HTML/CSS/JS 前端与 YOLOv5–YOLOv12 后端为一体的 Web 平台,在 2486 张、单类“杂草”的数据上实现了图片/视频/摄像头三源输入、左右等宽双画面对比同步双帧回传、Conf/IoU/类别筛选联动、CSV/带框媒体一键导出SQLite 可追溯入库;统一训练与评测显示:在 n 组中 YOLOv12n 取得 mAP@0.5=0.7945、F1=0.7645 的最优结果,s 组以 YOLOv8s/YOLOv12s 表现稳定,依据 F1–Confidence 曲线,网页端默认阈值取 0.26 可获得较好精度—召回折中;误差主要来自草毯纹理与强光/反光导致的低对比叶片,已通过小尺度头加权与轻量注意力得到缓解。整体上,系统在田间“绿中找绿、小目标密集、尺度差异大”的条件下实现了可复现、可部署、可回溯的实时检测闭环,并具备向机械器件外观缺陷等单类/少类目标检测任务迁移的工程可行性。

展望方面,模型侧将探索更轻量骨干(EfficientViT/MobileNet 系列)、结构化剪枝与蒸馏、INT8/FP8/4-bit 多级量化、时序建模与RGB–NIR/深度多模态融合,并尝试开放词汇/类无关检测与不确定度校准以降低跨作物/季节漂移;系统侧将容器化(Docker/K8s)与分布式任务队列(微批推理、队列背压)、WebRTC 低时延推流与 WebGPU 前端推理并行,完善 RBAC 角色权限/审计日志/i18n/多租户 与离线缓存,形成“边缘—浏览器—云端”协同;数据侧将构建主动学习与持续标注闭环(难例挖掘、伪标签与置信度过滤)、数据治理与概念漂移监测、DVC/Manifest 级版本管理与标签质检规则库,最终把在线评估、错误库与自动回放纳入 MLOps 流水线,以支撑更大规模、多地块的长期可靠部署。


参考文献(GB/T 7714)

1 Olsen A, et al. DeepWeeds: A multiclass weed species image dataset for deep learning[J]. Scientific Reports, 2019: 1-12. (Nature)
2 Wang P, et al. Weed25: A deep learning dataset for weed identification[J]. Frontiers in Plant Science, 2022, 13:1053329. (Frontiers)
3 ONNX Runtime Web. Inference in JavaScript with WebGPU[EB/OL]. 2025. (ONNX Runtime)
4 ONNX Runtime. Quantize ONNX Models(INT8/PTQ)[EB/OL]. 2025. (ONNX Runtime)
5 Wang A, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
6 Zhao Y, et al. DETRs Beat YOLOs on Real-time Object Detection[C]//CVPR 2024. (CVF Open Access)
7 Tian Z, et al. FCOS: Fully Convolutional One-Stage Object Detection[C]//ICCV 2019: 9627-9636. (CVF Open Access)
8 Zhou X, et al. Objects as Points[EB/OL]. arXiv:1904.07850, 2019. (arXiv)
9 Wang C-Y, et al. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
10 Xu S, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
11 Li C, et al. YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications[EB/OL]. arXiv:2209.02976, 2022. (arXiv)
12 Ultralytics. YOLO11 Documentation[EB/OL]. 2025. (Ultralytics Docs)
13 Ultralytics. YOLO12: Attention-Centric Object Detection(Model Notes)[EB/OL]. 2025. (Ultralytics Docs)
14 王玉波, 马廷淮, 陈光明. 基于改进YOLOv5算法的农田杂草检测[J]. 中国农机化学报, 2023, 44(4):173-180. (Niam)
15 Wang A, Peng T, Cao H, et al. TIA-YOLOv5 for real-time detection of crop and weed in the field[J]. Frontiers in Plant Science, 2022, 13:1091655. (Frontiers)
16 Sun X, et al. HAD-YOLO: An Accurate and Effective Weed Detection Model[J]. Agronomy, 2025, 15(1):57. (MDPI)
17 Li S, et al. PD-YOLO: a novel weed detection method based on multi-scale feature fusion[J]. Frontiers in Plant Science, 2025, 16:1506524. (Frontiers)
18 W3C. Web Neural Network API (WebNN)[S/OL]. 2025. (W3C)

说明:正文已按首次出现顺序以 118 引用;同一文献如在后文再次出现,沿用其首次编号。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐