基于 YOLOv8 的垃圾分类识别系统

本项目是一套基于 YOLOv8 的垃圾分类识别系统,以 44 细类垃圾目标检测数据集 为数据基础,面向四十四种具体垃圾物品的定位、识别与四大类归并完成模型训练、评估与系统应用。系统提供 Web 端和 PyQt6 桌面端,支持图片、视频和摄像头输入,并集成结果查看、历史查询、模型管理与训练指标展示,适用于项目设计、课程实践和答辩展示。

一、项目简介

使用四十四细类垃圾目标检测数据识别具体物品,再按照项目内的类别映射归入可回收物、厨余垃圾、有害垃圾和其他垃圾。系统同时展示目标框、细类明细与大类统计,支持大批量处理、历史查询和结果导出。

组成 项目内容
数据集 44 细类垃圾目标检测数据集
模型 YOLOv8n
识别任务 四十四种具体垃圾物品的定位、识别与四大类归并
实验资料 训练参数、日志、权重与已有图表
应用端 桌面界面与浏览器操作界面

二、系统功能设计

2.1 登录与系统概览

账号登录后通过侧栏进入图片、批量、视频、摄像头、历史、分类规则、模型与指标页面。概览汇总已有检测记录与实验信息。

2.2 图片检测与目标定位

上传图像后显示目标框、44 细类名称、置信度、坐标及四大类统计。支持目标定位和类别筛选,方便逐项检查同一图像中的多个物品。

2.3 大批量图片检测

支持多选、拖拽和文件夹导入,单批最多 15,000 张,分块上传、逐张推理并分页浏览。损坏图片单独记录,没有检出目标的图片按成功处理,任务可取消并保留完成部分。

2.4 四大类与细类对应

分类规则页展示四大类与 44 个细类的对应关系,检测框、大类统计、结果明细与导出保持关联。归并依据是本项目映射,实际使用时可结合目标场景调整。

2.5 视频、历史与导出

视频按采样帧处理,可查看播放、趋势与分类统计。历史长期保存检测明细和统计,标注媒体保留 24 小时;标注图片、视频、CSV 与批量 ZIP 可按页面下载。

2.6 模型与参数

模型页展示项目既有垃圾检测权重和推理参数。训练日志中的峰值、轮次与末轮结果分别呈现,可回看完整实验变化。

三、技术栈

类别 技术及用途
编程语言 Python、JavaScript
深度学习框架 PyTorch
模型训练与推理 Ultralytics YOLOv8
桌面界面 PyQt6
Web 服务 FastAPI
Web 前端 HTML、CSS、JavaScript
图像与视频处理 OpenCV、NumPy
训练日志与离线绘图 Matplotlib;CSV 训练记录
结果保存 Web 独立目录中的账号、任务、历史与结果文件

四、项目结构

项目将训练代码、界面、模型产物和 Web 服务分别组织,主要目录如下:

text 复制代码
c293/
├─ data/
├─ data_prepare/
├─ main.py
├─ plot_results.py
├─ README.md
├─ requirements.txt
├─ runs/
├─ ui/
├─ utils/
└─ web/
   ├─ backend/  # 服务接口与推理任务
   ├─ frontend/              # 页面与交互
   └─ data/                  # Web 独立运行数据

本文对应的训练日志位于 runs/detect/train/results.csv。 数据集按实际配置定位;浏览器端的运行结果独立保存在 Web 数据目录。

五、数据集说明

5.1 数据集与识别任务

项目使用 44 细类垃圾目标检测数据集,面向四十四种具体垃圾物品的定位、识别与四大类归并。每个目标由类别与边界框共同描述,模型输出位置及对应预测分数。

5.2 数据规模与划分

以下数量按当前本机配套数据目录统计;所列划分对应本项目的数据组织。

数据划分 图像数量
训练集 10,319
验证集 1,478
测试集 2,964
合计 14,761

5.3 类别与标注格式

类别编号 类别名称 中文含义
0 一次性快餐盒 一次性快餐盒
1 书籍纸张 书籍纸张
2 充电宝 充电宝
3 剩饭剩菜 剩饭剩菜
4 包 包
5 垃圾桶 垃圾桶
6 塑料器皿 塑料器皿
7 塑料玩具 塑料玩具
8 塑料衣架 塑料衣架
9 大骨头 大骨头
10 干电池 干电池
11 快递纸袋 快递纸袋
12 插头电线 插头电线
13 旧衣服 旧衣服
14 易拉罐 易拉罐
15 枕头 枕头
16 果皮果肉 果皮果肉
17 毛绒玩具 毛绒玩具
18 污损塑料 污损塑料
19 污损用纸 污损用纸
20 洗护用品 洗护用品
21 烟蒂 烟蒂
22 牙签 牙签
23 玻璃器皿 玻璃器皿
24 砧板 砧板
25 筷子 筷子
26 纸盒纸箱 纸盒纸箱
27 花盆 花盆
28 茶叶渣 茶叶渣
29 菜帮菜叶 菜帮菜叶
30 蛋壳 蛋壳
31 调料瓶 调料瓶
32 软膏 软膏
33 过期药物 过期药物
34 酒瓶 酒瓶
35 金属厨具 金属厨具
36 金属器皿 金属器皿
37 金属食品罐 金属食品罐
38 锅 锅
39 陶瓷器皿 陶瓷器皿
40 鞋 鞋
41 食用油桶 食用油桶
42 饮料瓶 饮料瓶
43 鱼骨 鱼骨

YOLO 标注按每行一个目标组织:

text 复制代码
class_id center_x center_y width height

中心点坐标与宽高采用相对图像尺寸的归一化值,图像与 TXT 标注按文件名对应。

六、模型训练过程

6.1 训练流程

项目按 YOLO 格式整理垃圾细类图像与标注,训练记录保存在 runs/detect/train/。本次实验使用已有预训练权重进行微调,权重、参数与 CSV 一并保留。

  1. 按当前数据目录读取图像及对应标签。
  2. 将输入调整为实验配置的尺寸,并应用训练预处理。
  3. 加载基础模型,在对应类别上进行训练。
  4. 在验证阶段计算指标并保存日志及权重。
  5. 使用已有训练图表分析结果,并在系统中加载权重开展推理。

6.2 模型与训练参数

参数 本次记录
基础模型 YOLOv8n
配置轮数 100
日志实际轮数 100
输入尺寸 640 × 640
Batch Size 16
优化器配置 auto
预热轮数 3.0
DataLoader Workers 8

日志最后一行累计耗时为 9,161.19 秒,约 152.7 分钟。 数据增强与学习率调度以本次参数记录和逐轮 CSV 为准;配置值与实际日志中的学习率分别读取。

6.3 训练产物

  • args.yaml:本次实验参数。
  • results.csv:每一轮损失、检测指标和学习率。
  • weights/:已保存的模型权重。
  • 训练图表:原始产物中的曲线、分布或评估图,见第八节。

七、训练结果与核心指标

7.1 最后一轮结果

以下为当前实验 CSV 的第 100 轮验证结果:

指标 日志数值 百分比
Precision 0.75643 75.643%
Recall 0.62701 62.701%
mAP@0.5 0.69712 69.712%
mAP@0.5:0.95 0.5981 59.810%

7.2 各指标最高值

指标 最高值 对应轮次
Precision 0.79973 第 53 轮
Recall 0.6455 第 66 轮
mAP@0.5 0.69909 第 81 轮
mAP@0.5:0.95 0.59859 第 98 轮

单项峰值可能出现在不同轮次;末轮表用于查看同一轮完整结果,峰值表用于查看各指标在本次训练中的最高记录。

7.3 结果分析

44 细类的外观差异、相近包装和同图多物品使识别更具挑战。可分别核对细类检测与四大类归并,结合真实误检、漏检样本开展后续实验。

八、可视化图表说明

以下图片直接采用源码目录已有的训练产物,保留原始图表内容与数值。

8.1 训练与验证损失

展示图中对应的损失项随训练轮次的变化,结合训练与验证结果观察拟合情况。

8.2 训练与验证损失

展示图中对应的损失项随训练轮次的变化,结合训练与验证结果观察拟合情况。

8.3 检测指标变化

展示对应检测指标随训练轮次的变化,数值与本文列出的原始 CSV 结果按同一实验读取。

8.4 检测指标变化

展示对应检测指标随训练轮次的变化,数值与本文列出的原始 CSV 结果按同一实验读取。

8.5 检测指标变化

展示对应检测指标随训练轮次的变化,数值与本文列出的原始 CSV 结果按同一实验读取。

8.6 检测指标变化

展示对应检测指标随训练轮次的变化,数值与本文列出的原始 CSV 结果按同一实验读取。

本项目为个人原创项目,配套源码、模型权重、训练资料和项目说明,可用于毕业设计、课程实践、简历展示及个人学习。有项目成品或定制需求,可以通过主页联系作者。

相关推荐
霍格沃兹测试学院-小舟畅学41 分钟前
Playwright CLI:语义快照与局部检索,AI 如何找到正确的页面元素?
人工智能·microsoft
搞科研的小刘选手42 分钟前
【SPIE出版 | Fellow主讲 | 黄河科技学院主办 | 中国·郑州】2026年人工智能与表示学习国际学术会议(AIRL 2026)
人工智能·学术会议·表示学习·会议推荐·郑州
AKAMAI44 分钟前
PHP 爆出两大高风险漏洞!Akamai 即时部署防护机制
人工智能·云计算
johnsong1 小时前
AI前沿日报 2026-10-22:供应链失守
人工智能
搞科研的小刘选手1 小时前
【计算机类稿件可投 | 211高校主办 | IEEE出版 | 南京(线上线下同步召开)】2026年机器学习与具身智能国际学术会议(ICMLEI 2026)
机器学习·具身智能·南京航空航天大学·学术会议·会议推荐·南京
日月新著1 小时前
60 页外文报告,先翻译还是先读摘要?
人工智能
4SAPI1 小时前
企业级 RAG 知识库问答大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
人工智能·gateway·agent·rag
桃西西呀1 小时前
嘴替鸭小程序是怎么看懂一句话的:本地规则 + 大模型的混合引擎拆解
人工智能·llm·ai编程
Angeldream1231 小时前
第 7 章 医学影像特征提取与分析
图像处理·python·深度学习·计算机视觉·医学影像·特征提取