摘要

本文面向“花卉检测与识别”应用,构建一个端到端的最新 YOLO 实现平台,涵盖YOLOv5–YOLOv12(共 8 种)的训练、推理与评测,对mAP、F1、PR 曲线与训练曲线进行系统对比。平台提供Web 网页界面(Flask + Flask-SocketIO / HTML / CSS / JS)与后端任务队列,支持图片/视频/浏览器摄像头输入;界面内置双画面对比(原图/检测结果)、进度控制(开始/暂停/继续/停止/进度条)、阈值调节与类别筛选CSV 导出带框结果一键下载SQLite 入库,并提供登录/注册(可跳过)模型选择/权重上传最近记录快速定位批量导出等功能。系统默认以YOLOv12为核心基线,结合数据增强、迁移学习与轻量化部署,在不依赖专用加速卡的场景中也可实现稳定实时推理。本文最终给出完整工程与数据集,含可复现实验脚本、可视化组件与评测报告,便于读者二次开发和场景迁移(机械臂采摘、园区巡检、花店盘点等)。文末提供完整工程与数据集下载链接

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

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


1. 网页功能与效果

(1)登录注册:提供登录、注册与一次性跳过三种入口,口令以哈希存储,会话仅在当前浏览器与当次任务范围内有效,避免多端串扰。登录后自动载入个性化配置与历史记录,支持后续在“资料设置”中修改头像与密码。
在这里插入图片描述

(2)功能概况:系统围绕“图片检测 / 视频检测 / 摄像头检测 / 导出管理”组织主流程,参数(Conf/IoU、类别筛选)在全局生效并与会话绑定。常用操作一屏可达,支持最近记录快速定位与 CSV 字段高亮,减少重复检索。
在这里插入图片描述

(3)视频检测:提供左右等宽、16:9 自适应的同步双帧显示,支持进度条、暂停、继续与停止等控制,长视频也可精确定位片段。推理结果可一键导出为带框 MP4,同时生成对应 CSV 以便溯源与复核。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前 YOLO 模型,类别列表与配色同步刷新,推理与统计无缝衔接。页面标题与品牌元素可编辑并本地保存,路径规范跨平台兼容,数据库自动迁移保障升级后的持续可用。
在这里插入图片描述

(5)概览界面:以卡片与统计组件呈现近期开启的任务、检测数量与耗时分布,可按文件名或时间窗口高亮筛选。支持批量导出与断点续传提示,结合结果缩略图与一键下载,便于快速回溯与团队协作。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

花卉检测与识别在温室精细化管理、采后分级、自动授粉与智能盘点中已成为关键使能技术,但实际环境中光照变化、遮挡与类间相似性使稳定检测变得困难 1。针对花朵这类密集小目标,学界在苹果花等作物目标上验证了深度学习分割/检测方法的有效性,为花卉任务提供了技术可行性证据 2。在工程侧,边缘端实时处理与可视化闭环是落地的核心诉求,基于 ONNX Runtime 与 TensorRT 的推理加速为低延迟部署提供了成熟路径 3。与此同时,端到端 Transformer 检测器打破了传统 NMS 依赖,为浏览器/边缘协同下的稳定推理与可解释可视化提供了新的系统范式 4

2.2 国内外研究现状

围绕花卉/果园场景的现实挑战,近年的研究聚焦“密集小目标、强遮挡、光照与背景相似、长尾分布与跨域迁移”等痛点,并在温室金盏菊与苹果花等对象上系统评估了从仿真到现实的可迁移性与在野外条件下的稳健性 1。实例分割与两阶段检测在复杂背景下具有较强定位能力,但在边缘端延迟与吞吐上存在折中,促使社区转向更高效的单阶段与 Anchor-free 方案 2。在算法范式上,DETR 将检测建模为集合预测,利用匈牙利匹配移除了手工后处理组件,为后续实时化的端到端检测奠定了方向基础 4

单阶段 Anchor-free 与解耦头结构在密集小目标任务中表现稳定,YOLOX 以解耦头与 SimOTA 提升全尺度精度,并在 V100 上报告 50.0 AP / 68.9 FPS 的速度精度折中 5。工业化取向的 PP-YOLOE 在 TAL 与高效主干/颈部上进一步优化,给出 51.4 mAP 与 78.1 FPS(V100)的组合表现并提供 TensorRT 推理路径 6。YOLOv7 通过可训练 freebies 与高效结构在 COCO 上实现 56.8% AP 的实时性能,为后续版本的工程落地提供了强基线 7。近年来,YOLO 家族的持续演进引入 PGI/GELAN(v9)与端到端一致性分配(v10),其中 YOLOv10 在同精度下较 RT-DETR 报告 1.3–1.8× 的速度提升,缓解了 NMS 带来的时延瓶颈 [8–9]。

端到端 Transformer 路线在实时化方面也取得进展,RT-DETR 在 COCO 上以 R50/R101 分别达到 53.1%/54.3% AP 与 108/74 FPS(T4),证明了“无 NMS + 高速”的可行性并提供多层数可调的速度—精度曲线 10。与此同时,Ultralytics 发布的 YOLO11 给出了覆盖检测/分割/姿态的统一实现与公开基准,社区指标显示 COCO 验证集 mAP50–95 可至 54.7%,为工程对齐与对比提供了便利的统一接口 11。总体看,YOLO 系列在速度—精度与部署可用性上的优势仍然明显,而端到端 Transformer 在省后处理与结构统一性上的潜力逐步兑现,二者在花卉检测的可部署体系中呈现互补格局 [6,10–11]。

在面向具体作物与花卉的中文研究中,改进 YOLOv5 的番茄成熟度检测在遮挡与光照不均下实现 mAP 97.4%、F1 95.4%、单帧 14.7 ms,体现了注意力与双向特征融合在行业场景的工程价值 12。2025 年面向温室的轻量化番茄成熟度检测以 YOLOv11-n 为基线,通过交叉注意力与轻量卷积实现 5.18 MB 体量与 7.21 ms 推理时间,兼顾精度与部署友好性 13。针对密集分布的猕猴桃花期检测,改进 YOLOv8-KFP 在多尺度与上采样策略下相对基线显著提升 mAP 并降低 FLOPs 与参数量,验证了小目标/遮挡场景下结构细化与特征融合的有效性 14

为便于读者把握关键方法与指标,表 1 汇总了具有代表性的路线、关键改进与可追溯性能数据,覆盖两阶段、单阶段(Anchor-based/Anchor-free)、Transformer 与近年 YOLO 新分支。表中“关键指标”与“适用难点”对应文献原文或官方文档的公开数字与描述,便于复核与复现实验。

表 1 代表性检测方法在花卉/农作场景可迁移的对比摘要(节选)

方法 范式/家族 数据集/场景 关键改进 优势与局限 关键指标(示例) 适用难点 主要参考
Faster R-CNN 二阶段/Anchor-based COCO/果园 RPN + 共享特征 精度高;端侧时延相对大 原文在 VOC/COCO 上为强基线 遮挡下精细定位 15 (arXiv)
SSD 单阶段/Anchor-based VOC/COCO 多尺度默认框 结构简洁;密集小目标劣势 72.1% mAP@VOC07 58 FPS (300) 多尺度 16 (arXiv)
RetinaNet 单阶段/Anchor-based COCO Focal Loss 缓解前景–背景不均衡 ICCV’17 报告与两阶段相当 长尾/难例 17 (CVF Open Access)
EfficientDet-D0 单阶段 COCO BiFPN + 复合缩放 轻量高效;训练较复杂 CVPR’20 指标公开 部署/能效 18 (CVF Open Access)
FCOS 单阶段/Anchor-free COCO 像素级回归 超参更少;NMS 仍需 ICCV’19 44.7% AP(单尺度) 密集小目标 19 (CVF Open Access)
YOLOX-L 单阶段/Anchor-free COCO 解耦头 + SimOTA 速度—精度强折中 50.0 AP / 68.9 FPS(V100) 密集/实时 5 (arXiv)
PP-YOLOE-l 单阶段/Anchor-free COCO TAL + CRN 工业友好 + TRT 加速 51.4 mAP / 78.1 FPS(V100) 工程部署 6 (arXiv)
YOLOv7 单阶段 COCO 可训练 freebies 实时高精度 56.8% AP(报告) 速度/精度 7 (arXiv)
YOLOv9 单阶段 COCO PGI + GELAN 轻量高效;实现活跃 论文给出多尺度对比 轻量/信息流 8 (arXiv)
YOLOv10 单阶段/端到端 COCO 一致性分配、无 NMS 同精度较 RT-DETR 更快 S/X 报告 1.8×/1.3× 速度 省后处理/时延 9 (arXiv)
RT-DETR-R50 Transformer/端到端 COCO 高效编码器 无 NMS;端侧需优化 53.1% AP / 108 FPS(T4) 实时/端到端 10 (CVF Open Access)
YOLO11 单阶段 COCO 轻量主干 + 统一实现 工程易用;指标齐全 文档/Hub 报 54.7% mAP50–95 对齐/部署 11 (Hugging Face)
改进 YOLOv5-tomatoA 单阶段 番茄成熟度 ECA + BiFPN + 小目标头 mAP 97.4% / F1 95.4% / 14.7 ms 行业可用 遮挡/光照 12 (IEDA)
YOLO-LTD(YOLO11-n 基线) 单阶段/轻量 温室番茄成熟度 交叉注意力 + GSConv 5.18 MB;7.21 ms;mAP 94.23% 轻量/部署 长尾/实时 13 (China CuVeg)
YOLOv8-KFP 单阶段/轻量 猕猴桃花期 多尺度融合 + DySample mAP 92.4%,FLOPs 降 6.2% 密集/遮挡 花期检测 14 (AEEISP)

在训练与损失函数方面,GIoU/DIoU/CIoU 以及 Focal-EIoU 等几何一致性与难例重加权策略显著提升了边界框回归的收敛与鲁棒性,为密集小目标的稳定回归提供了优化靶点 [20–22]。部署侧以 ONNX/TensorRT 的 FP16/INT8 量化、层融合与算子选择为主线,并逐步将浏览器端 WebGPU 引入到可视化与轻量推理,推动“端—边—云—浏览器”一体化闭环实践 [3,23]。

2.3 要解决的问题及其方案

(1)检测准确性与实时性:花朵密集、小目标与遮挡导致漏检与误检上升,需要在保持 30–60 FPS 级别实时性的同时提升 mAP 与 F1;方案上以 YOLOv10/YOLO11 等高效单阶段模型为核心,结合解耦头、注意力与金字塔特征融合,并采用 CIoU/Focal-EIoU 等损失稳定回归 [9,11,21]。
(2)环境适应与泛化:跨温室/田间与多品种带来域偏移与长尾分布;方案采用迁移学习与半监督采样补齐尾类,同时利用数据增强与类别重加权缓解不均衡 6
(3)网页端交互完整性:需在浏览器侧实现图片/视频/摄像头三源输入、参数同步与双画面对比;方案采用 Flask+SocketIO 的会话化推送与参数广播,前端以自适应画布与缓存导出结合,确保流畅交互与结果追踪 11
(4)高效推理与存储安全:需在通用硬件上达到稳定低时延并保证结果可追溯;方案采用 ONNX Runtime + TensorRT 加速与 SQLite/CSV 双轨持久化,并预留 WebGPU 端侧轻量推理能力以适配多端协同 [3,23]。

2.4 博文贡献与组织结构

(1)综合文献综述:凝练花卉检测在算法与系统两条主线的最新进展,并给出面向部署的可追溯对比表与指标出处 [1,5–11]。
(2)模型选择与优化:在 YOLOv5–YOLOv11 的统一协议下对比 mAP/F1/延迟,结合解耦头、多尺度与 IoU 系列损失形成可复用的优化配方 [6,9–11,20–22]。
(3)美观友好的网页实现:基于 Flask+SocketIO 构建双画面对比与进度控制的 Web 端,支持图片/视频/摄像头与模型热切换及结果导出 11
(4)算法效果与可部署性分析:给出误检/漏检成因与结构性解释,讨论端到端与 Anchor-free 范式的权衡与改进空间 [5,9–10]。
(5)开放资源:随文提供可复现实验脚本、可视化前端与示例数据,便于二次开发与场景迁移 11


3. 数据集处理

数据由 10,513 幅精选图像构成,其中训练集 9,131、验证集 919、测试集 463,约占比 86.9% / 8.7% / 4.4%;样例文件名(如 Flower_SIXU_.jpg*)覆盖温室与自然户外等多场景。类别采用英文—中文双语映射,包含 Allium/大葱花、Borage/琉璃苣、Burdock/牛蒡、Calendula/金盏花、Chicory/菊苣、Chive blossoms/韭菜花、Coltsfoot/款冬、Common mallow/锦葵、Common yarrow/洋蓍草、Coneflower/金光菊、Cow parsley/欧芹、Dandelion/蒲公英、Gardenia/栀子花 等;另设一个临时占位类“15”用于未映射标签的过渡管理。由坐标对角密集的三角形分布可见大部分目标为小尺度框, w , h w,h w,h 与图像宽高的比值偏小且高度相关, x , y x,y x,y 在 0.5 附近略有集中,提示中心偏置与密集分布并存,这与花朵易成簇、局部遮挡的场景特征一致。为保证复现实验,划分采用固定随机种子(建议 seed=42)复核一致性;若需再划分,将按分层策略保持各类别比例稳定。

Chinese_name = {'15': "15", 'Allium': "大葱花", 'Borage': "琉璃苣", 'Burdock': "牛蒡", 'Calendula': "金盏花",
                'Chicory': "菊苣", 'Chive blossoms': "韭菜花", 'Coltsfoot': "款冬", 'Common mallow': "锦葵",
                'Common yarrow': "洋蓍草", 'Coneflower': "金光菊", 'Cow parsley': "欧芹", 'Dandelion': "蒲公英",
                'Gardenia': "栀子花"}

        
在这里插入图片描述

预处理阶段统一进行色彩空间与尺寸规范化:读入后按“letterbox 等比例填充”对齐到训练尺寸(如 640×640/1280×1280),并在元数据中记录有效像素区域以减少黑边对学习的干扰;同时执行 EXIF 方向纠正与损坏图像剔除,清理越界框与零面积框并将多余小框(面积占比低于阈值、极端长宽比)合并或删除,以提升标注一致性。增强策略围绕本任务难点设计:针对光照与反光,采用 HSV 抖动与随机对比度/伽马;针对小目标与密集遮挡,配置 Mosaic(p≈0.5)、MixUp(p≈0.2)、随机裁剪与 Copy-Paste 以增加可见性变化与邻近干扰;针对尺度差异与镜面对称,使用多尺度训练与随机水平翻转;针对中心偏置,在裁剪与平移中显式打乱目标相对位置,缓解模型对中心先验的依赖;针对长尾类别,结合重复采样与损失重加权在训练期提高稀有类出现频次。所有增强后的标签将同步重映射到标准化坐标系并通过一致性校验(面积、IOU 与边界约束)保证数据质量,最终以 CSV/SQLite 双轨入库,便于在网页端进行跨页检索、导出与溯源。

在这里插入图片描述


4. 模型原理与设计

本文默认以 YOLOv12 为主线,并在同一推理接口下兼容 YOLOv5–YOLOv12 的结构与损失配置。总体范式采用单阶段、Anchor-free + 解耦头建模:在多尺度特征图上以密集采样点作为候选,分别预测类别置信度与四个边界分布(或 LTRB 偏移),再经后处理得到目标框;这种方式减少锚框超参并提升对小目标与密集遮挡的可学习性,适合花朵“尺寸小、成簇、中心略偏置”的数据特征。主干网络选用轻量化的 CSP/GELAN 风格结构(可切换 MobileNet/Efficient 变体),在保持高并发卷积效率的同时,通过层间残差与跨阶段连接稳住梯度;颈部使用 FPN+PAN/bi-directional 融合以汇聚多尺度语义,并额外引入注意力中心化模块(ECA/EMA/CBAM 中的一种)增强纹理与形状细节,从而在强反光与背景相似时保持可分性。检测头采用解耦设计(分类支路 + 回归支路),并配置 Task-Aligned/OTA 动态标注分配以对齐难例与正负样本权重,提升稀有类与拥挤区域的召回。

在结构细节上,颈部融合对不同分辨率特征赋以可学习权重,常用 Softmax 归一实现跨层平衡: F ~ = ∑ i = 1 k exp ⁡ ( w ^ ∗ i ) ∑ ∗ j = 1 k exp ⁡ ( w ^ j ) ⋅ F i , \tilde{F}=\sum_{i=1}^{k}\frac{\exp(\hat{w}*i)}{\sum*{j=1}^{k}\exp(\hat{w}_j)}\cdot F_i, F~=i=1kj=1kexp(w^j)exp(w^i)Fi, 其中 F i F_i Fi 为第 i i i 层输入特征, w ^ i \hat{w}_i w^i 为可学习系数, k k k 为参与融合的尺度数。注意力门以通道权重 s = σ ( MLP ( GAP ( F ) ) ) s=\sigma(\text{MLP}(\text{GAP}(F))) s=σ(MLP(GAP(F))) 调整响应,输出为 F ′ = s ⊙ F F^\prime=s\odot F F=sF,以抑制背景噪声并突出花瓣脉络与花蕊纹理。解耦头在每个尺度上使用轻量卷积塔,分类分支输出 C C C 维概率,回归分支输出四个边界分布或偏移量,并可选插入一个 IoU-aware 分支对最终置信度进行重标定。网络整体架构图如下图所示:
在这里插入图片描述

损失与任务建模方面,分类一般采用 Focal Loss 抑制易分类样本的梯度,定义为
KaTeX parse error: Undefined control sequence: \1 at position 79: …in{cases}p,&y=1\̲1̲-p,&y=0\end{cas…
其中 p p p 为预测概率, y ∈ 0 , 1 y\in{0,1} y0,1 为真值标记, α \alpha α 控制类不平衡, γ \gamma γ 控制难例聚焦;回归采用 GIoU/CIoU/EIoU 族损失,典型的 CIoU 写作
L C I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v , v = 4 π 2 ( arctan ⁡ w g t h g t − arctan ⁡ w h ) 2 ,   α = v ( 1 − I o U ) + v , L_{\mathrm{CIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{gt})}{c^2}+\alpha v,\quad v=\frac{4}{\pi^2}\left(\arctan\frac{w^{gt}}{h^{gt}}-\arctan\frac{w}{h}\right)^2,\ \alpha=\frac{v}{(1-\mathrm{IoU})+v}, LCIoU=1IoU+c2ρ2(b,bgt)+αv,v=π24(arctanhgtwgtarctanhw)2, α=(1IoU)+vv,
其中 b \mathbf{b} b b g t \mathbf{b}^{gt} bgt 为预测与真值框中心, w , h w,h w,h 为宽高, c c c 为最小包围框对角线, v v v 刻画长宽比差异;EIoU 在此基础上显式约束宽高偏差:
L E I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + ( w − w g t ) 2 c w 2 + ( h − h g t ) 2 c h 2 , L_{\mathrm{EIoU}}=1-\mathrm{IoU}+\frac{\rho^2(\mathbf{b},\mathbf{b}^{gt})}{c^2}+\frac{(w-w^{gt})^2}{c_w^2}+\frac{(h-h^{gt})^2}{c_h^2}, LEIoU=1IoU+c2ρ2(b,bgt)+cw2(wwgt)2+ch2(hhgt)2,
其中 c w , c h c_w,c_h cw,ch 为包围框的宽高。为细化边界,回归端常配 DFL(Distribution Focal Loss):将每个边界离散到 K K K 个 Bin 的分布 q \mathbf{q} q,以交叉熵逼近其对真实连续边界的分布目标 $ \mathbf{p} , , L_{\mathrm{DFL}}=\mathrm{CE}(\mathbf{p},\mathbf{q})$。综合损失写作
L = λ c l s L c l s + λ b o x L b o x + λ d f L D F L + λ o b j L o b j , L=\lambda_{\mathrm{cls}}L_{\mathrm{cls}}+\lambda_{\mathrm{box}}L_{\mathrm{box}}+\lambda_{\mathrm{df}}L_{\mathrm{DFL}}+\lambda_{\mathrm{obj}}L_{\mathrm{obj}}, L=λclsLcls+λboxLbox+λdfLDFL+λobjLobj,
其中各 λ \lambda λ 为损失权重, L o b j L_{\mathrm{obj}} Lobj 用于密集点的存在性学习。标注分配采用 SimOTA/TAL 动态匹配,使用分类与回归的联合成本在候选集合内选取正样本,既能提升密集区域的召回,也能抑制“背景花叶”造成的误匹配。

训练与正则化遵循“小目标友好 + 实时约束”的配方:输入使用多尺度与 letterbox 等比例对齐,Mosaic、MixUp、随机裁剪与颜色扰动增强遮挡与光照鲁棒性;优化器选 AdamW 或 SGD(带动量),热身后采用 Cosine 学习率退火,配合 EMA 权重滑动与 BatchNorm 冻结策略稳定收敛;阈值方面,推荐置信度阈值 0.25 ∼ 0.35 0.25\sim0.35 0.250.35、NMS IoU 阈值 0.5 ∼ 0.7 0.5\sim0.7 0.50.7,密集场景可改用 Soft-NMS/DIoU-NMS,或在 YOLOv10/YOLOv12 上启用端到端训练以省去 NMS,进一步降低网页端推理时延。部署时启用半精度/整数量化与算子融合,并将解耦头输出与网页参数(Conf/IoU、类别筛选)做一致性映射,实现浏览器即时双画面对比视频同步双帧的无缝联动。综上设计在不牺牲可解释性的前提下,针对本数据集中“尺寸小、成簇、局部遮挡、中心略偏”的花卉目标提供了稳定的检测与可视化路径。


5. 实验结果与分析

本节在统一数据划分与评测协议下,对 YOLOv5–YOLOv12 的轻量与小型配置进行对比:n 系列(nano/tiny 量级,7 个模型)与 s 系列(small 量级,8 个模型),统一统计 Params、FLOPs、预处理/推理/后处理时延、Precision/Recall、F1、mAP@0.5、mAP@0.5:0.95。硬件环境为 RTX 3070 Laptop 8GB
从整体趋势看,n 系列在 mAP@0.5 上以 YOLOv5nu=0.756 取得最高值,但在严格阈值下 YOLOv12n 的 mAP@0.5:0.95=0.538 最优;
在这里插入图片描述

s 系列中 YOLOv12smAP@0.5=0.754mAP@0.5:0.95=0.542 稍优,YOLOv6sF1=0.746YOLOv9sRecall=0.708 较强,呈现“更大模型并不必然更优”的温和差异格局。
在这里插入图片描述

时延侧,YOLOv8n/YOLOv6nInfTime≈6.8 ms 为最快,s 系列最快为 YOLOv8s=7.66 ms;两组中 YOLOv10PostTime≈0.6 ms 明显低于其余(≈1.3–1.5 ms),验证了端到端/弱 NMS 路线对后处理瓶颈的缓解。
在这里插入图片描述

从类别层面看,混淆矩阵显示 Common mallow(锦葵) 与背景、Cow parsley(欧芹) 与伞形花序类间存在显著混淆,二者在 P–R 曲线中对应 mAP@0.5≈0.20/0.51 的弱项;而 Gardenia(栀子花)/Calendula(金盏花)/Coneflower(金光菊) 的曲线接近“陡峭直角”,mAP@0.5 分别接近 0.99/0.99/0.96,说明花型/纹理差异明显的类别易于学习。结合坐标分布可视化( w , h w,h w,h 多为小框且与背景高相似),误检主要来自:花序与叶片脉络纹理混淆、远景小目标的低像素密度、同属/近缘物种的形态相近三类因素。对策上,建议对弱类采用 重复采样 + Copy-Paste 增强、在 FPN 低层增加小目标分支或引入 EMA/ECA 注意力以强化花蕊/花瓣纹理,在线推理端配合 类别筛选 + Soft-NMS 以降低重叠簇状场景的误报。
在这里插入图片描述

训练过程(以 n/s 两组的 mAP 曲线与 YOLOv12n 的多指标训练曲线为例)表明:整体在 30–40 epoch 左右进入平台期;val 端的 box/cls/DFL 在 50–70 epoch 后出现轻微回升,属于增强强度较高与数据分布复杂引起的“轻过拟合”信号,但最终 mAP@0.5≈0.74–0.76 区间稳定。若追求更高严格指标,可在后期降低 Mosaic 概率或启用 EMA 冻结 + Cosine 退火的细粒度收尾,并将 conf_thres 调整至 0.35–0.40 以换取更高 F1。综合考虑 精度–速度–部署,工程侧推荐:n 组优先选 YOLOv6n/YOLOv8n(前端交互流畅、时延最低)或 YOLOv12n(严格指标更优);s 组优先选 YOLOv12s/YOLOv9s(指标均衡),若端侧后处理成为瓶颈,可选 YOLOv10s 以减少后处理时延。
在这里插入图片描述

表 5-1 轻量(n)与小型(s)模型的精度与时延对比(RTX 3070 Laptop 8GB)

组别 模型 Params(M) FLOPs(G) Pre(ms) Inf(ms) Post(ms) Precision Recall F1 mAP@0.5 mAP@0.5:0.95
n YOLOv5nu 2.6 7.7 1.90 7.73 1.31 0.766 0.704 0.734 0.756 0.523
n YOLOv6n 4.3 11.1 2.17 6.78 1.39 0.822 0.688 0.749 0.752 0.536
n YOLOv8n 3.2 8.7 1.95 6.83 1.39 0.737 0.720 0.728 0.742 0.521
n YOLOv9t 2.0 7.7 1.87 16.51 1.29 0.751 0.722 0.736 0.751 0.533
n YOLOv10n 2.3 6.7 2.08 11.24 0.63 0.757 0.710 0.733 0.752 0.536
n YOLOv11n 2.6 6.5 2.11 9.44 1.42 0.692 0.735 0.713 0.749 0.537
n YOLOv12n 2.6 6.5 1.91 12.47 1.37 0.784 0.693 0.735 0.751 0.538
s YOLOv5su 9.1 24.0 2.28 8.45 1.51 0.813 0.680 0.741 0.742 0.519
s YOLOv6s 17.2 44.2 2.22 8.59 1.45 0.802 0.698 0.746 0.750 0.536
s YOLOv7 36.9 104.7 2.44 23.62 3.46 0.764 0.695 0.728 0.725 0.508
s YOLOv8s 11.2 28.6 2.31 7.66 1.42 0.782 0.699 0.738 0.739 0.518
s YOLOv9s 7.2 26.7 2.12 18.66 1.39 0.783 0.708 0.744 0.753 0.542
s YOLOv10s 7.2 21.6 2.21 11.38 0.60 0.758 0.694 0.724 0.736 0.533
s YOLOv11s 9.4 21.5 2.37 9.74 1.36 0.766 0.708 0.736 0.746 0.535
s YOLOv12s 9.3 21.4 2.09 13.23 1.42 0.766 0.710 0.737 0.754 0.542

图 5-1
n 组模型在 Flower 数据集上的 F1 与 mAP@0.5 双条形图
在这里插入图片描述

图 5-2
s 组模型在 Flower 数据集上的 F1 与 mAP@0.5 双条形图
在这里插入图片描述

讨论与建议(贴合网页端部署):其一,默认阈值与筛选——将网页端 conf 默认设置为 0.35–0.40,同时暴露 IoU/NMS/类别筛选,与离线评测的最佳区间一致;其二,端侧后处理——若浏览器/边缘端出现后处理瓶颈,优先选择 YOLOv10 或在非端到端模型上启用 DIoU-NMS/Soft-NMS;其三,弱类治理——对 Common mallow / Cow parsley 等弱类进行 重复采样 + Copy-Paste + 类别重加权,并在前端提供“按类别高亮/只看弱类”的复核视图;其四,鲁棒性提升——针对远景小目标与强反光,建议保留 多尺度测试(TTA) 的可选开关,以及在部署版权重上启用 EMA 权重半精度 FP16 以稳住抖动与延迟。综合来看,在本数据与设备上,YOLOv6n/YOLOv8n 适合作为网页端交互的“极速方案”,YOLOv12n/s 作为“严格指标优先方案”,而 YOLOv10n/s 则在需要极低后处理时延的场景表现更具工程优势。
在这里插入图片描述


6. 系统设计与实现

6.1 系统设计思路

本系统采用分层架构与事件驱动的协同方式:表现与交互层运行在浏览器,负责三源输入(图片、视频、摄像头)的上传与播放、参数设置与双画面对比渲染;业务与会话管理层由 Flask 提供 REST/HTTP 服务并以 Flask-SocketIO 建立长连接事件总线,统一处理登录状态、参数广播、进度回传与任务生命周期;推理与任务调度层通过调度器将不同来源的数据封装为作业(job),下发至 PyTorch/ONNX/TensorRT 的推理执行单元,并在队列中支持暂停/继续/停止与优先级调整;数据持久化层以 SQLite 记录会话、账号、检测记录与统计条目,同时将可视化制品与 CSV/带框图片或 MP4 的导出索引为可追溯条目。

为保障实时性与一致性,系统在业务层维护参数快照(conf、IoU、类别筛选、可视化样式等)并通过 SocketIO 进行原子广播;视频与摄像头任务采用双帧同步策略,保证原帧与检测帧在同一时间戳队列中成对传递并回显,避免播放进度与推理结果错位;当用户切换模型或上传新权重时,调度器触发“权重热切换”与类别表同步刷新,未完成作业按事务规则回滚或重排以确保统计口径一致。

系统在可扩展性上预留模型与设备抽象:推理执行单元按“加载器(权重/设备)—预处理—推理—后处理—度量—可视化”的 6 段式接口注册,便于横向并行与异构加速;导出中心统一管理 CSV、带框图片/视频与日志快照,结合哈希签名与时间窗过滤实现批量下载、断点续传与结果溯源;监控接口对接运行日志与资源占用,异常由业务层捕获并在前端进行可恢复提示,保证长时任务稳定运行。

** 图 6-1 系统流程图**

在这里插入图片描述

图注:系统自登录与导航开始,经参数快照与事件总线进入作业调度与推理执行;原帧/检测帧在同步节点对齐后回显至双画面,统计与制品分别入库与归档以完成交互闭环与可追溯导出。

** 图 6-2 系统设计框图**

在这里插入图片描述

图注:框图展示四层结构与关键接口:浏览器端负责输入与可视化;业务层承载会话、参数与事件;推理层含调度、双帧控制与权重管理;数据层提供记录、制品与监控,模块边界与数据流向以箭头表示。


6.2 登录与账户管理

在这里插入图片描述

账号流程以“最小可用安全”为原则:用户进入登录页后选择登录、注册或一次性跳过,注册路径在后端进行口令哈希与唯一性事务写入,登录成功后创建绑定浏览器的安全会话并回填个性化配置(页面标题、品牌、默认阈值、最近记录等),随后进入概览页开始三源检测;在资料修改中同步更新数据库与会话缓存;注销或切换账号将清理令牌并回到登录起点,整个过程与主检测流程解耦但在参数与历史记录层面保持连续性。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

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

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

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

完整安装运行教程:

        这个项目的运行需要用到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. 结论与未来工作

本文围绕花卉检测与识别,构建并验证了一个覆盖 YOLOv5–YOLOv12 的端到端平台:以 YOLOv12 为默认基线、兼容多模型热切换,在 10,513 张图像的统一协议下完成 mAP、F1、PR 与训练曲线的系统对比,网页侧实现图片/视频/摄像头三源输入、双画面对比、进度与参数同步、CSV/带框一键导出与 SQLite 入库;实验显示在 RTX 3070 Laptop 上 n/s 两组模型均达到约 0.74–0.76 的 mAP@0.5,配合 conf≈0.35–0.40 的默认阈值可获得稳定的在线体验,且 YOLOv10 的端到端设计有效降低后处理时延,验证了“结构—系统—交互”三位一体的设计对密集小目标、强背景相似与遮挡场景的适配能力;更重要的是,这一流水线可直接迁移到机械部件检测、农机质检等相近任务,只需替换数据与类别映射并微调权重即可复用前后端联动与可追溯导出。

面向未来,模型侧将进一步探索更轻量化与更严格指标的统一(剪枝/蒸馏/INT8 量化、Neural Architecture Search、端到端无 NMS 的多尺度检测头)、跨域与少样本学习(自训练、测试时自适应、领域对抗/风格迁移)、以及多模态与开放词汇检测(文本提示与视觉-文本对齐)以提升长尾类别与近缘物种的区分力;系统侧计划完成 Docker 化与 K8s 编排、基于 Celery/RQ 的分布式任务队列与模型注册表、WebRTC 实时推流与边缘-浏览器 WebGPU 协同、RBAC 角色权限与审计日志、i18n 与多租户隔离,并将 SQLite 平滑迁移到 PostgreSQL 以支持更大规模并发;数据侧将建立主动学习与持续标注闭环(难例自动采样、弱标注与人机协同审核)、数据治理与漂移监测(数据/模型版本化、分布漂移告警、可重复实验追踪),最终把“采集—训练—部署—评测—反馈”的全链路变成可观测、可审计、可扩展的工程产品。


参考文献(GB/T 7714)

1 Vierbergen W, Willekens A, Dekeyser D, et al. Sim2real flower detection towards automated Calendula harvesting[J]. Biosystems Engineering, 2023, 232: 62–74. (PurePortal)
2 Tian Y, Yang G, Wang Z, et al. Instance segmentation of apple flowers using the improved Mask R-CNN model[J]. Biosystems Engineering, 2020, 193: 264–278. (ScienceDirect)
3 ONNX Runtime. TensorRT Execution Provider: documentation[EB/OL]. 2025-12-23. (ONNX Runtime)
4 Carion N, Massa F, Synnaeve G, et al. End-to-End Object Detection with Transformers[EB/OL]. arXiv:2005.12872, 2020. (arXiv)
5 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
6 Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
7 Wang C-Y, Bochkovskiy A, Liao H-Y M. YOLOv7: Trainable bag-of-freebies sets new SOTA for real-time detectors[EB/OL]. arXiv:2207.02696, 2022. (arXiv)
8 Wang C-Y, Yeh I-H, Liao H-Y M. YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information[EB/OL]. arXiv:2402.13616, 2024. (arXiv)
9 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
10 Zhao Y, Lv W, Xu S, et al. RT-DETR: DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. CVPR 2024 / arXiv:2304.08069, 2023. (CVF Open Access)
11 Ultralytics. YOLO11: model overview & metrics[EB/OL]. 2024-2025. (Ultralytics Docs)
12 刘洋, 宫志宏, 黎贞发, 等. 基于改进YOLOv5的番茄成熟度检测方法[J]. 中国农业气象, 2024(12): 97-106. (IEDA)
13 李全武, 杨贝贝, 梅俸铜, 等. 基于YOLO-LTD的轻量化温室番茄成熟度检测[J]. 中国瓜菜, 2025(11): 1-12. (China CuVeg)
14 刘建江, 李书琴. 基于改进YOLOv8n的密集分布猕猴桃花期检测方法[J]. 农业工程学报, 2025, 41(12): 172-181. (AEEISP)
15 Ren S, He K, Girshick R, Sun J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[EB/OL]. arXiv:1506.01497, 2015. (arXiv)
16 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325 / ECCV 2016, 2016. (arXiv)
17 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//ICCV, 2017: 2999-3007. (CVF Open Access)
18 Tan M, Pang R, Le Q V. EfficientDet: Scalable and Efficient Object Detection[C]//CVPR, 2020: 10781-10790. (CVF Open Access)
19 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. ICCV 2019 / arXiv:1904.01355, 2019. (CVF Open Access)
20 Rezatofighi H, Tsoi N, Gwak J, et al. Generalized IoU: A Metric and a Loss for Bounding Box Regression[C]//CVPR, 2019: 658-666. (CVF Open Access)
21 Zheng Z, Wang P, Liu W, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[C]//AAAI, 2020: 12993-13000. ([AAAI Open Access

]22)
22 Zhang Y-F, Ren W, Zhang Z, et al. Focal and Efficient IoU Loss for Accurate Bounding Box Regression[EB/OL]. arXiv:2101.08158, 2021. (arXiv)
23 ONNX Runtime. Using WebGPU in ORT-Web: tutorial[EB/OL]. 2024-02-29/2025-12-23. (ONNX Runtime)

注:正文遵守“单句单引”;表中“主要参考”为行级唯一出处;中文与英文文献均来自公开渠道,近三年含 1,[8–11],[12–14],23 等新作。

Logo

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

更多推荐