最新YOLO实现的生活垃圾检测与分类平台(Flask+SocketIO+HTML_CSS_JS)

摘要

本文面向城市生活垃圾智能分类与监管场景,构建基于 YOLOv5–YOLOv12(共 8 种) 的端到端 生活垃圾检测与分类平台。系统提供 Web 网页界面(Flask + Flask-SocketIO / HTML / CSS / JS) 与实时演示,支持 图片 / 视频 / 浏览器摄像头 输入,内置 即时双画面对比进度控制(播放/暂停/继续/停止)CSV 导出带框结果一键下载SQLite 入库登录/注册(可跳过)模型选择/权重上传 等完整流程;同时实现任务队列与结果审计,满足教学与落地需求。算法侧覆盖 YOLOv5、YOLOv6、YOLOv7、YOLOv8、YOLOv9、YOLOv10、YOLOv11、YOLOv12 的统一训练与推理,对比 mAP、F1、PR 曲线、训练曲线 与推理延迟,结合不同垃圾细粒度类别给出精度-速度-参数量的权衡建议。平台前后端打通数据闭环,支持历史记录检索与类别高亮定位,并提供可扩展的评测与可视化接口。文末提供完整工程与数据集下载链接

讲解视频地址基于深度学习的生活垃圾检测与分类系统(Web系统+完整项目分享+数据集+多YOLO模型)
YOLOv12-v11/v10/v9/v8/v7/v6/v5系统(八个模型,含说明论文)合集下载:https://mbd.pub/o/bread/YZWck55uZg==
说明论文下载:https://mbd.pub/o/bread/YZWck5txZA==
YOLOv12下载:https://mbd.pub/o/bread/YZWbmplwag==
YOLOv11下载:https://mbd.pub/o/bread/YZWbm5lwbQ==
YOLOv10下载:https://mbd.pub/o/bread/YZWbm5hsag==
YOLOv9下载:https://mbd.pub/o/bread/YZWbmp9saQ==
安装与教程文档:https://deeppython.feishu.cn/wiki/Lfmsw0jgii5sfEkhPpHchgfWnCi

@

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


1. 网页功能与效果

(1)登录注册:提供登录、注册与一次性跳过三种入口,进入后会话仅在当前浏览器标签生效以保障个性化配置与历史记录。口令采用哈希校验与最小权限策略,兼顾便捷与安全。登录成功后可直接跳转到概览或最近一次检测场景,减少二次操作。
在这里插入图片描述

(2)功能概况:平台支持图片、视频与浏览器摄像头输入,内置等宽16:9双画面对比、Conf/IoU 调节与类别筛选。结果可一键导出 CSV 与带框图/视频,并在底部“检测记录”跨页共享,实现从上传到导出的一站式体验。
在这里插入图片描述

(3)视频检测:提供同步双帧渲染与进度/暂停/继续/停止控制,时间轴拖拽定位关键帧并回看对比。缓冲区可直接导出 MP4,同时保留逐帧检测日志,便于溯源与复现。
在这里插入图片描述

(4)更换模型:上传权重即可切换当前模型,类别列表与配色即时刷新,无需重启。路径规范跨平台兼容,数据库自动迁移保障版本升级连续可用;支持多模型结果集中管理与批量下载。
在这里插入图片描述

(5)概览界面:首页展示数据总览、近期运行与性能小卡片(mAP/F1/时延),支持按文件名与时间快速筛选与高亮定位。内置任务入口导航(图片/视频/摄像头 → 模型选择 → 导出),并给出常见参数建议与异常提示,降低新手上手成本。
在这里插入图片描述


2. 绪论

2.1 研究背景与意义

在“双碳”与城市精细化治理背景下,生活垃圾的实时检测与细粒度分类直接影响资源回收效率、违规投放治理与末端分拣成本,构建面向街区投放点与分拣线的在线检测平台因而具有显著工程与社会价值1。(arXiv)面向端边协同的实际部署,Web 端推理与可视分析逐步成熟:ONNX Runtime Web 的 WebGPU 执行提供者显著提升浏览器侧吞吐,为“采集—检测—可视化—导出”的闭环提供了可行路径2;后端侧 TensorRT/ONNX 量化与图优化带来稳定的毫秒级延迟与能效收益,适配高并发的环卫业务流3。(Microsoft Open Source)同时,中文生活垃圾数据资源(四大类、265 细类)为细粒度标签体系与中文标注界面提供数据基础,有利于在实际系统中实现类别高亮、追溯与统计4。(ModelScope)

2.2 国内外研究现状

针对“户外/半户外 + 杂乱背景 + 小目标密集”的生活垃圾场景,研究普遍报告类间相似高、尺度差异大、遮挡与光照变化剧烈、长尾分布显著等难点;如 TACO 数据集展示了多环境、多材质、多形态的复杂性,是任务难度的缩影1。(arXiv)在中文语境下,覆盖四大类 265 细类的大规模数据集为细粒度检测提供了现实土壤,但类别不均衡与同质目标(如一次性杯与塑料杯)依旧对召回提出挑战4。(ModelScope)

方法层面,两阶段代表 Faster R-CNN 通过 RPN 与检测网络共享特征取得高精度,但在低延迟需求下成本偏高13单阶段 Anchor-based 如 SSD 借助多尺度特征图与默认框覆盖尺寸差异14;RetinaNet 以 Focal Loss 缓解前景/背景极度不均衡,显著提升一阶段精度上限15Anchor-free 范式减少匹配复杂度,如 FCOS 以逐像素回归避免锚框超参依赖16,CenterNet 将目标视为“中心点”,在 COCO 上报告 37.4 AP@52 FPS 的速度-精度权衡17。(arXiv)定位损失方面,GIoU 解决无重叠时不可导问题、CIoU 同时考虑重叠/中心距/长宽比、EIoU 在几何分解上进一步加速收敛,这些工作共同支撑复杂背景下的收敛稳定性1820。(arXiv)

YOLO 家族为主线的实时检测演进尤为活跃:YOLOX 引入 SimOTA 与解耦头,在 V100 上 YOLOX-L 报告 50.0 AP@68.9 FPS,实现速度-精度均衡6;PP-YOLOE 采用 CSPRepResStage、ET-Head 与 TAL 动态分配,PP-YOLOE-L 在 COCO 上 51.4 mAP、V100 78.1 FPS,TRT FP16 可达 149.2 FPS,工程可用性强7。(arXiv)2024 年的 YOLOv9 通过 PGI 与 GELAN 改善梯度与表征,适合轻量模型9;YOLOv10 提出 NMS-free 与一致性双分配训练,在相近 AP 下显著降低延迟,YOLOv10-S 在相似 AP 下较 RT-DETR-R18 快 1.8×10;Ultralytics 的 YOLO11 在结构与训练流程上进一步优化,面向生产的速度-精度-易用性折中更稳健11;2025 年 YOLO12 引入注意力为中心的结构,官方同时提示其训练/内存成本更高、生产仍推荐 YOLO11,适合离线评测与研究12。(arXiv)

Transformer 检测器方面,DETR 将检测视作集合预测并移除 NMS,具备端到端优势21RT-DETR 通过高效混合编码器与不确定性最小化查询选择,在 T4 上报告 53.1 AP@108 FPS(R50)与 54.3 AP@74 FPS(R101),在实时条件下与 YOLO 系形成竞争21。在部署层面,ONNX Runtime 的 QOperator/QDQ 量化路径与 TensorRT 的优化实践在端侧与服务器侧均可获得稳定增益,便于跨平台落地与浏览器教学演示222。(arXiv)

表1 代表性方法与工程要点对比(与本文任务相关)

方法 范式/家族 数据集 关键改进 优势与局限 关键指标(作者/官方) 适用难点 参考
Faster R-CNN 两阶段/Anchor-based COCO/VOC RPN 共享特征 精度高、延迟较高 遮挡复杂、精细分拣 13
RetinaNet 一阶段/Anchor-based COCO Focal Loss 处理正负不均衡 长尾/难例 15
FCOS 一阶段/Anchor-free COCO 像素级回归 去锚框、匹配简单 多尺度/密集 16
CenterNet Anchor-free COCO 中心点建模 简洁高效 37.4 AP@52 FPS 实时监控/小目标 17
YOLOX-L YOLO/Anchor-free COCO SimOTA、解耦头 均衡 50.0 AP@68.9 FPS(V100) 端边协同 6
PP-YOLOE-L YOLO/Anchor-free COCO CSPRepResStage、ET-Head、TAL 工程友好 51.4 mAP、78.1 FPS(V100)/149.2 FPS(TRT FP16) 吞吐优先 7
YOLOv10-S YOLO/NMS-free COCO 一致性双分配 低延迟 同 AP 较 RT-DETR-R18 快 1.8× 延迟敏感视频 10
YOLO11(m) YOLO/Ultralytics COCO 结构与训练优化 生产稳定、易用 生产部署 11
YOLO12 YOLO/注意力 COCO 注意力中心结构 精度高、资源占用↑ —(官方建议研究用) 研究/离线评测 12
RT-DETR-R50/R101 Transformer/端到端 COCO 高效混合编码器、无 NMS 端到端、速度可调 53.1 AP@108 FPS(R50)/54.3 AP@74 FPS(R101)(T4) 高吞吐实时 21

2.3 要解决的问题及其方案

(1)准确性与实时性:在复杂光照、遮挡与小目标密集的环境下兼顾 mAP、F1 与帧率,面向浏览器端演示与后端批处理的双场景约束。
(2)环境适应与泛化:跨室内外、不同相机与多域背景的稳健性,缓解长尾与相似类混淆。
(3)网页交互与可视化:实现图片/视频/摄像头统一入口、双画面对比、同步双帧与参数联动,降低巡检与教学门槛。
(4)数据处理与存储安全:高并发下的日志归档、CSV/带框导出与 SQLite 入库的原子性与追溯。

对应方案:
(1)以 YOLOv12 为核心,统一训练 YOLOv5–YOLOv12 并启用迁移学习与混合增强;结合 CIoU/EIoU 与难例挖掘稳定收敛19。(arXiv)
(2)基于 PyTorch + Flask + Flask-SocketIO/HTML/CSS/JS 构建端到端系统,提供 NMS-free/Anchor-free 热切换与 ONNX/TensorRT/INT8 导出以满足不同部署形态103。(arXiv)
(3)前端集成 Conf/IoU 调节、类别筛选、PR/训练曲线在线可视,打通“检测—统计—导出—入库—追溯”的闭环;浏览器端可选 WebGPU 推理实现本地演示2。(Microsoft Open Source)
(4)设计异步 I/O 队列与会话约束、导出集中管理与文件名高亮;数据库迁移保障版本升级连续可用,日志/审计保证合规可查。

2.4 博文贡献与组织结构

(1)综合综述:系统梳理生活垃圾检测难点与范式选型,对 YOLO/Transformer 系列在本任务下的适配边界给出可追溯证据链61021。(arXiv)
(2)模型选择与优化:在统一代码与评测规范下完成 YOLOv5–YOLOv12 八种模型的训练与推理对比,结合 量化/加速 给出端侧/服务器侧配置建议22。(ONNX Runtime)
(3)美观友好的网页设计:实现登录/注册(可跳过)、双画面对比、同步双帧、参数联动、CSV 与带框结果一键导出、SQLite 入库与可追溯检索的整体验证。
(4)工程与数据资源:提供完整工程与数据集指引,支持复现实验、教学演示与实际落地4。(ModelScope)


3. 数据集处理

本研究采用生活垃圾目标检测数据集共 10,464 张图像,按训练/验证/测试划分为 7,324 / 2,098 / 1,042 张,比例约为 70% / 20% / 10%,并在实验中固定随机种子以保证复现一致性。标注为 YOLO 边界框规范(归一化的 \(x,y,w,h\in[0,1]\) 与类别索引),从提供的成对分布图可见中心坐标在图像中部略集中而宽高呈重尾分布,提示小目标占比高、尺度变化大;样例拼贴图显示背景复杂、遮挡与反光常见。类别体系包含六类:BIODEGRADABLE、CARDBOARD、GLASS、METAL、PAPER、PLASTIC,对应中文名依次为“可降解、纸板、玻璃、金属、纸质、塑料”,后续网页端亦按此中英文映射显示与检索。基于样例可观察到 GLASS、PLASTIC 与 PAPER 频次更高,BIODEGRADABLE 与 METAL 相对较少,呈现一定长尾特征;因此在评测中除总体 mAP 外,还将关注各类的召回差异与小目标表现。

Chinese_name = {'BIODEGRADABLE': "可降解", "CARDBOARD": '纸板', 'GLASS': "玻璃", 'METAL': "金属", 'PAPER': "纸质", 'PLASTIC': "塑料"}

        
在这里插入图片描述

预处理采用等比 Letterbox 缩放到统一输入(默认 640×640)并记录填充边,以避免形变引入的偏置;训练阶段启用 多尺度随机缩放(0.5–1.0)、HSV 抖动与亮度/对比度随机化以对抗昼夜与室内外光照跳变;针对密集与小目标,使用 Mosaic(4 图拼接)与 MixUp(低概率)扩大感受域并平滑长尾,同时在垃圾实例可复用的场景尝试 Copy-Paste 增强;轻度 RandomPerspective/水平翻转 缓解视角与姿态偏差;验证与测试阶段仅做尺寸对齐与归一化,确保结果可比。上述策略与网页端 Conf/IoU 阈值联动,既提升了模型对反光材质(玻璃/金属)的鲁棒性,也降低了同质类(纸质/纸板、塑料/可降解)之间的混淆。
在这里插入图片描述

为保证数据质量,训练前执行标注清洗:剔除零面积与越界框、对靠近边缘的框做剪裁并校正归一化值;对高相似度样本使用感知哈希去重,减少过拟合风险;统计每类目标的尺寸分位与密度,结合上图的 \(w,h\) 分布为锚框(或 Anchor-free 的特征层分配)提供先验。所有增强与清洗策略均在数据加载器中流式执行,配合缓存与异步 I/O 保证 Web 实时演示与离线训练的一致性;最终的数据划分与清洗日志写入 SQLite,便于后续在网页“检测记录/导出视图”中溯源。


4. 模型原理与设计

本系统默认以 YOLOv12 为主线,并在统一代码框架下兼容 YOLOv5–YOLOv11 的训练与推理,以单阶段、Anchor-free 与解耦检测头为基本范式。输入图像经骨干提取多尺度表征 \({F_\ell}\),颈部进行自顶向下与自底向上的金字塔融合得到 \({\tilde F_\ell}\),每个尺度上独立预测分类与边界框回归。对特征位置 \((i,\ell)\) 的向量 \(\mathbf{f}*{i,\ell}\),分类分支输出 \(p(c\mid \mathbf{f}*{i,\ell})\),回归分支预测分布化的边界框参数 \(\hat{\mathbf{b}}*{i,\ell}=(\Delta x,\Delta y,\Delta w,\Delta h)\),最终置信度为 \(s*{i,\ell}=\sigma(o_{i,\ell})\cdot\max_c p(c\mid \mathbf{f}_{i,\ell})\)。相较两阶段方法,YOLOv12 以密集回归替代候选生成,结合任务对齐的正样本分配与无锚设计,显著降低推理路径中的算子数,更适合网页端的摄像头与视频流低延迟演示。网络整体架构图(示意“骨干—颈部—解耦头”的 YOLO 通用结构)如下:
在这里插入图片描述

结构方面,骨干采用带跨阶段分层的轻量主干(CSP/GELAN 风格),训练期引入可重参数化多分支以增强表示力,推理期折叠为等价的单分支卷积以减少计算与显存占用;颈部使用双向特征金字塔,形式化记为

\[\tilde F_\ell=\phi!\big(F_\ell+\mathrm{Up}(\tilde F_{\ell+1})+\mathrm{Down}(\tilde F_{\ell-1})\big), \]

其中 \(\phi(\cdot)\) 为轻量卷积归一化模块。为抑制玻璃/金属强反光与背景纹理干扰,在主干/颈部插入通道注意力(SE/ECA 等)进行重标定,典型权重计算为

\[\mathbf{s}=\sigma!\left(W_2,\delta!\big(W_1,\mathrm{GAP}(F)\big)\right), \]

再以 \(F'=\mathbf{s}\odot F\) 完成通道重加权。检测头采用解耦设计:分类支路(\(1{\times}1\) 卷积为主)专注细粒度区分“纸质/纸板/塑料/可降解”等相似类,回归支路(\(3{\times}3\) 卷积为主)以分布式边界回归(DFL)细化框定位;正样本分配采用任务对齐策略,仅在每尺度对少量高质量候选赋正,缓解长尾与噪声标注对学习的扰动。

损失函数与任务建模聚焦“尺度跨层、小目标密集、强反光”三类难点。定位采用 IoU 家族损失:\(\mathrm{IoU}=\frac{|B\cap B^\ast|}{|B\cup B^\ast|}\) 衡量重叠,$$\mathrm{GIoU}=1-\mathrm{IoU}+\frac{|C\setminus(B\cup B^\ast)|}{|C|}$$ 在无重叠时仍提供可优化梯度;$$\mathrm{CIoU}=1-\mathrm{IoU}+\frac{\rho2(\mathbf{b},\mathbf{b}\ast)}{c^2}+\alpha v$$ 同时约束中心距离与长宽比,其中 \(\rho\) 为中心点距离、\(c\) 为外接对角线、\(v\) 为宽高比一致项、\(\alpha\) 为加权;在小目标场景下可选 \(\mathrm{EIoU}\) 将宽高项显式分离以加速收敛。分类采用 Focal Loss 缓解前景/背景与易/难样本不均衡:\(\mathrm{FL}(p_t)=-\alpha(1-p_t)^\gamma\log p_t\),其中 \(p_t\) 为正类概率、\(\alpha,\gamma\) 分别控制权衡与聚焦;总体检测损失写为 \(L=\lambda_{\mathrm{cls}}L_{\mathrm{cls}}+\lambda_{\mathrm{box}}L_{\mathrm{IoU}}+\lambda_{\mathrm{dfl}}L_{\mathrm{DFL}}\)。为降低“纸质/纸板”边界重叠导致的回归抖动,DFL 将连续边界离散到固定刻度并最小化分布距离,改善细粒度定位。

训练与正则化遵循“轻量、高效、可复现”的原则。学习率采用余弦退火并配合 warmup:$$\eta_t=\eta_{\min}+\tfrac{1}{2}(\eta_{\max}-\eta_{\min})\bigl(1+\cos(\pi t/T)\bigr),$$ 同时以 EMA 权重滑动平均获得稳定评测权值;数据增强与第 3 章一致(Mosaic/MixUp/Copy-Paste/多尺度、HSV 与亮度对比度扰动),并以 Label Smoothing 降低细粒度近邻类过拟合。推理端默认采用 NMS,在 YOLOv10/YOLOv12 路线可切换 NMS-free 的一致性训练与双分配头,减少后处理延迟,提升视频流的稳态 FPS。工程实现开启 AMP 半精度、算子融合与 ONNX/TensorRT 导出(含 Q/DQ 量化),浏览器演示侧可用 ONNX Runtime Web + WebGPU,与后端数值对齐;最终在图片、视频与摄像头三种输入上实现同步双帧对比与参数联动,分别以高分辨多尺度、解耦头+DFL 与通道注意力对应解决小目标、相似类混淆与强反光问题。


5. 实验结果与分析

本节在同一数据划分与训练规约下,对 YOLOv5–YOLOv12 两个尺度线(nanosmall)完成统一评测与可视化,指标包括 Precision / Recall / F1 / mAP@0.5 / mAP@[0.5:0.95] 与端到端耗时(预处理/推理/后处理,单位 ms)。硬件为 RTX 3070 Laptop 8GB。从整体趋势看:nano 线中 YOLOv11nF1=0.555 居前,而 YOLOv12nmAP50=0.557 / mAP50-95=0.391 最高;small 线中 YOLOv7 在 mAP50 上仍有优势(0.586),但计算量与时延显著更高,YOLOv9s 取得 mAP50-95=0.413 的最佳精度,YOLOv12sF1=0.572 与总体性能更均衡,适合生产部署的速度–精度折中。
在这里插入图片描述

结合耗时,nano 线除 YOLOv9t(16.5ms)与 YOLOv10n(11.2ms)外,其他模型推理均在 6.8–9.5ms 区间,更利于浏览器端与摄像头实时演示;
在这里插入图片描述

small 线中 YOLOv8s(7.7ms)最快,YOLOv7(23.6ms)最慢,YOLOv12s(13.2ms)处于中等延迟且精度稳定。
在这里插入图片描述

依据类别 PR 曲线可见:PAPER 类在多场景下被误判为背景(背景列对 PAPER 的召回仅 ~0.12),其 mAP@0.5 约 0.07,远低于玻璃/金属等类;这与纸张纹理低对比度、透射/反射弱以及与纸板的外观相似相关。GLASSMETAL 曲线陡峭,mAP@0.5 分别约 0.84/0.73,说明反光材质的边缘结构在当前增强与特征融合配置下更易被捕获。
在这里插入图片描述

F1–Confidence 曲线显示全类最佳工作点在 Conf≈0.33(粗体蓝线),建议作为默认阈值;同时,针对“PAPER 召回不足”与“PLASTIC 易误检”的现象,可在前端启用按类阈值(例如 PAPER 适当下调 Conf,PLASTIC 上调)以改善实际使用体验。
在这里插入图片描述

下图给出两个尺度线的双条形图(F1 与 mAP50)。

图 5-1 nano 线 F1 与 mAP50 对比
图注:横轴为模型,蓝色为 F1,橙色为 mAP@0.5;用于快速选型与速度–精度折中评估。
在这里插入图片描述

图 5-2 small 线 F1 与 mAP50 对比
图注:与图 5-1 相同配色;YOLOv7 的优势主要体现在高 mAP50,但带来显著推理开销。
在这里插入图片描述

表 5-1 统一评测摘要(按模型与规模)
(单位:FLOPs=G,时间=ms;加粗表示各规模下最佳或并列最佳)

规模 Model Params FLOPs Pre Inf Post Precision Recall F1 mAP50 mAP50-95
nano YOLOv5nu 2.6 7.7 1.9 7.73 1.31 0.603 0.465 0.525 0.537 0.365
nano YOLOv6n 4.3 11.1 2.17 6.78 1.39 0.567 0.459 0.507 0.506 0.352
nano YOLOv7-tiny 6.2 13.8 2.28 14.74 4.06 0.587 0.490 0.534 0.515 0.314
nano YOLOv8n 3.2 8.7 1.95 6.83 1.39 0.599 0.513 0.552 0.542 0.370
nano YOLOv9t 2.0 7.7 1.87 16.51 1.29 0.599 0.477 0.531 0.542 0.382
nano YOLOv10n 2.3 6.7 2.08 11.24 0.63 0.618 0.473 0.536 0.541 0.379
nano YOLOv11n 2.6 6.5 2.11 9.44 1.42 0.633 0.494 0.555 0.551 0.383
nano YOLOv12n 2.6 6.5 1.91 12.47 1.37 0.600 0.505 0.548 0.557 0.391
small YOLOv5su 9.1 24.0 2.28 8.45 1.51 0.613 0.476 0.536 0.539 0.371
small YOLOv6s 17.2 44.2 2.22 8.59 1.45 0.618 0.451 0.522 0.532 0.375
small YOLOv7 36.9 104.7 2.44 23.62 3.46 0.641 0.550 0.592 0.586 0.398
small YOLOv8s 11.2 28.6 2.31 7.66 1.42 0.627 0.491 0.551 0.550 0.382
small YOLOv9s 7.2 26.7 2.12 18.66 1.39 0.643 0.507 0.567 0.583 0.413
small YOLOv10s 7.2 21.6 2.21 11.38 0.60 0.619 0.513 0.561 0.570 0.402
small YOLOv11s 9.4 21.5 2.37 9.74 1.36 0.630 0.504 0.560 0.572 0.403
small YOLOv12s 9.3 21.4 2.09 13.23 1.42 0.613 0.536 0.572 0.579 0.408

训练曲线可见,mAP50 与 mAP50-95 在 30–60 epoch 后进入稳定增益区,随后缓慢提升并在 120 epoch 左右收敛;nanosmall 两条线都表现出良好的单调性与较小的波动,表明数据增强与优化器设置有效。PR 平均曲线显示 nano 线的 YOLOv12n/YOLOv11nsmall 线的 YOLOv12s/YOLOv9s 在中高召回段保持更高精度,解释了其更优的 mAP50-95
在这里插入图片描述

误检/漏检分析与改进建议
(1)PAPER 召回偏低:建议在训练中提升 PAPER 的采样权重或引入 Copy-Paste 针对性增强;前端启用按类阈值,对 PAPER 下调置信度阈值(如 0.2–0.3)以提高上线召回,并结合 IoU 阈值适度放宽。
(2)PLASTIC 易误检为 PAPER/背景:在数据侧增加塑料与纸张的边界/纹理对比样本;模型侧可对解耦头的分类支路启用 Label Smoothing类别重加权,并在部署时略提升 PLASTIC 的阈值。
(3)实时视频:若目标为 ≥30 FPS 的浏览器演示,优先选 YOLOv8nYOLOv6n(6.8–6.9ms 推理),若追求更高精度且允许 10–13ms 推理,则选 YOLOv11n/12n;在 small 线中,YOLOv8s 速度优势明显,YOLOv12s 兼顾 F1 与 mAP50-95。
(4)阈值与追踪:结合 F1–Confidence 的最佳点(≈0.33),将此作为默认全局阈值;视频场景可叠加简易 IOU/中心点跟踪,以平滑间歇性漏检并进一步提高可视体验。

结论性建议
在“网页端实时 + 多源输入”的应用目标下,YOLOv11n/YOLOv12n(nano)与 YOLOv12s/YOLOv9s(small)是较优的两组候选:前者在 10ms 级时延内给出稳健 F1 与较高 mAP50,后者在 0.40+ 的 mAP50-95 上具备优势;若部署受限于 GPU/显存或需浏览器端 WebGPU 推理,建议优先选择 YOLOv8n/YOLOv8s 以获得最小的工程摩擦并配合按类阈值与导出 CSV/可视追溯流程落地。


6. 系统设计与实现

6.1 系统设计思路

本系统遵循“表现与交互层—业务与会话管理层—推理与任务调度层—数据持久化层”的分层架构,围绕多源输入(图片/视频/浏览器摄像头)形成“采集→预处理→YOLO 推理→后处理与统计→前端可视与导出”的闭环。表现与交互层由 HTML/CSS/JS 与 Socket.IO 客户端组成,负责双画面对比(等宽 16:9)、参数联动(Conf/IoU、类别筛选)与导出操作(CSV、带框图片/视频),并以“房间/会话”维持每个浏览器标签页的隔离。业务与会话管理层基于 Flask + Flask-SocketIO 统一入口、鉴权与会话生命周期,维护模型与参数的热切换、任务编号与速率控制,保证前端的控制指令在毫秒级同步到推理管线。推理与任务调度层以 PyTorch 为主,按源类型派发到“图像批处理器、视频帧控制器与摄像头流控制器”,每个控制器内含预处理(Letterbox、多尺度)、模型执行(YOLOv5–YOLOv12 可选,含 NMS/NMS-free)、后处理(解码、类别筛选、叠框)和统计(计时、PR/F1 在线估计)。数据持久化层以 SQLite 承载“结果与统计、账户与权限、导出与归档”,结合轻量迁移机制保持版本迭代下的连续可用;日志与监控接口记录任务状态、异常与导出审计,实现训练评测与网页演示的一致追溯。

实时性与一致性通过三项机制保障。其一,Socket.IO“房间 + 命名空间”区分图片/视频/摄像头三类任务,后端只向当前房间推送“原始帧/渲染帧”同步双帧,减少无关广播;其二,参数同步采用乐观更新与版本号(param_version),当用户在前端拖动时间轴或调整阈值时,后端在同一 job_id 上进行幂等更新并回传生效版本,避免帧错配;其三,调度层采用限流与背压(最大并行帧数、GPU 占用阈值、帧丢弃策略),在持续 30 FPS 摄像头流与高分辨率视频回放下保持稳定的端到端时延。可扩展性方面,权重热切换以“模型仓库 + 元数据注册”实现;导出结果集中管理并支持批量下载;数据层保留稽核字段(创建者、时间戳、参数快照)以便后续审计与复现。

图 6-1 系统流程图
图注:系统从初始化与权重加载出发,按输入源派发到统一推理管线,再经后处理与统计回流到前端双画面与导出/入库模块,形成可视化闭环。
在这里插入图片描述

图 6-2 系统设计框图
图注:展示四层分工与模块边界;箭头表示主要数据与控制流,模型权重管理与日志/监控作为横切关注点贯穿各层。
在这里插入图片描述

6.2 登录与账户管理

图 6-3 登录与账户管理流程
图注:流程覆盖登录/注册/一次性跳过、个性化配置加载与历史记录衔接,强调最小权限会话与与主检测流程的联动。
在这里插入图片描述

登录与账户管理以最小权限原则组织,从登录页出发用户可选择注册、登录或一次性跳过,系统对口令执行哈希并将账户元数据写入数据库,成功后在当前浏览器标签页创建会话并绑定房间标识以隔离并发用户;随后载入个性化配置(主题、默认模型与阈值)与历史记录,为概览与检测界面提供上下文。进入主界面后,资料修改将触发数据库更新与审计日志,注销或切换账号则立即失活会话与缓存;当用户创建检测任务时,系统生成唯一任务 ID 与参数版本号并与房间关联,在推理、可视与导出过程中保持参数与结果的一致性与可追溯性。


代码下载链接

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

在这里插入图片描述

在这里插入图片描述

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

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

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

完整安装运行教程:

        这个项目的运行需要用到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 的统一训练—推理—可视化平台,并以 Flask+SocketIO 的 Web 端实现图片/视频/摄像头三源输入、双画面对比、参数联动与一键导出/入库的工程闭环;在同一数据划分(10,464 张)与评测规约下,nano 线 YOLOv11n/YOLOv12n 在综合 F1 与 mAP50-95 上表现稳健,small 线 YOLOv12s/YOLOv9s 则在更高精度与可接受延迟之间取得较优折中,验证了以解耦头、Anchor-free 与分布式边界回归为核心的设计在强反光、小目标与细粒度相似类条件下的有效性;同时,混淆矩阵与 PR/F1 曲线揭示 PAPER 类的召回短板与 PLASTIC 的易误检风险,结合前端“按类阈值”与后端数据增强可得到切实改善。更重要的是,平台以模块化的骨干—颈部—检测头与统一后处理接口为基础,具备良好的可迁移性:在零改代码或少量超参改动下可直接迁移到机械器件外观缺陷检测、零部件装配合规性核验等工业视觉任务,并沿用本系统的统计、导出与可追溯机制支撑上线运维。

未来工作将从三条主线推进:其一是模型侧的进一步轻量化与可部署化,包括蒸馏(teacher=YOLO12、student=YOLO8/10)、INT8/FP8 量化、结构稀疏化与自动化架构搜索,以及引入文本先验或多模态信息(如图像+文本提示)以缓解细粒度类间相似;其二是系统侧的工程强化,覆盖 Docker 化与 CI/CD、分布式任务队列与多 GPU 调度、WebRTC 实时推流与前端 WebGPU 推理加速、角色权限与审计日志、i18n 与多租户空间,以及与政企现有数据中台/告警平台的接口对接;其三是数据侧的持续学习闭环,落地主动学习与弱监督标注、难例自发现与再训练、数据治理与质量度量、漂移监测与自动回滚策略,并在页面层面提供“样本回放—再标注—二次训练—灰度上线”的一体化操作。综合来看,本文的算法与系统协同设计已在真实复杂背景下给出可复现的精度—速度—可用性三重证据,下一步将以“更快、更稳、更易运维”为目标,把平台从研发演示扩展到长期运行的生产级应用。


参考文献(GB/T 7714)

1 Proença P F, Simões P. TACO: Trash Annotations in Context for Litter Detection[EB/OL]. arXiv:2003.06975, 2020. (arXiv)
2 Microsoft. ONNX Runtime Web unleashes generative AI in the browser using WebGPU[EB/OL]. 2024-02-29. (Microsoft Open Source)
3 NVIDIA. Best Practices — TensorRT Documentation[EB/OL]. 2024. (NVIDIA Docs)
4 魔搭 ModelScope. 中文生活垃圾分类数据集(4 类 265 细类)[EB/OL]. 2022-12-23(2025-12-23 访问). (ModelScope)
5 Ultralytics. YOLOv8 Model Docs[EB/OL]. 2023–2025. (Ultralytics Docs)
6 Ge Z, Liu S, Wang F, et al. YOLOX: Exceeding YOLO Series in 2021[EB/OL]. arXiv:2107.08430, 2021. (arXiv)
7 Xu S, Wang X, Lv W, et al. PP-YOLOE: An evolved version of YOLO[EB/OL]. arXiv:2203.16250, 2022. (arXiv)
8 Feng C, Zhong Y, Gao Y, et al. TOOD: Task-aligned One-stage Object Detection[EB/OL]. arXiv:2108.07755, 2021. (arXiv)
9 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)
10 Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024. (arXiv)
11 Ultralytics. YOLO11 Model Docs[EB/OL]. 2024–2025. (Ultralytics Docs)
12 Ultralytics. YOLO12: Attention-Centric Object Detection[EB/OL]. 2025. (官方提示研究优先,生产推荐 YOLO11). (Ultralytics Docs)
13 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)
14 Liu W, Anguelov D, Erhan D, et al. SSD: Single Shot MultiBox Detector[EB/OL]. arXiv:1512.02325, 2015. (arXiv)
15 Lin T-Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[EB/OL]. arXiv:1708.02002, 2017. (arXiv)
16 Tian Z, Shen C, Chen H, He T. FCOS: Fully Convolutional One-Stage Object Detection[EB/OL]. arXiv:1904.01355, 2019. (arXiv)
17 Zhou X, Wang D, Krähenbühl P. Objects as Points (CenterNet)[EB/OL]. arXiv:1904.07850, 2019. (37.4 AP@52 FPS). (arXiv)
18 Rezatofighi H, Tsoi N, Gwak J, et al. Generalized IoU: A Metric and A Loss for Bounding Box Regression[EB/OL]. arXiv:1902.09630, 2019. (arXiv)
19 Zheng Z, Wang P, Ren D, et al. CIoU Loss & Cluster-NMS[EB/OL]. arXiv:2005.03572, 2020. (arXiv)
20 Zhang Y-F, Ren W, Zhang Z, et al. Focal and Efficient IoU Loss (EIoU)[EB/OL]. arXiv:2101.08158, 2021. (arXiv)
21 Zhao Y, Lv W, Xu S, et al. DETRs Beat YOLOs on Real-time Object Detection(RT-DETR)[EB/OL]. arXiv:2304.08069, 2023. (R50 53.1 AP@108 FPS;R101 54.3 AP@74 FPS, T4). (arXiv)
22 ONNX Runtime. Quantize ONNX Models(QOperator/QDQ)[EB/OL]. 2025. (ONNX Runtime)

posted @ 2026-04-22 14:34  逗逗班学Python  阅读(24)  评论(0)    收藏  举报