垃圾分类检测数据集

一、数据集概览

项目 内容
标注格式 YOLO TXT(已由 Pascal VOC XML 转换)
图像总数 14,761 张(有效,原始 14,964 张去除无图样本)
大类数量 4
细类数量 44
图像格式 JPEG(.jpg)
数据集划分 train / val / test = 7 : 1 : 2
子集 数量
train 10,319 张
val 1,478 张
test 2,964 张

二、目录结构

复制代码
datasets/
├── images/
│   ├── train/              # 训练集图片(10,319 张)
│   ├── val/                # 验证集图片(1,478 张)
│   └── test/               # 测试集图片(2,964 张)
├── labels/
│   ├── train/              # 训练集 YOLO 标注
│   ├── val/                # 验证集 YOLO 标注
│   └── test/               # 测试集 YOLO 标注
├── garbage.yaml            # YOLO 训练配置文件
├── classify_rule.json      # 四大类 → 44 细类的映射规则
├── train_classes.txt       # 44 个细类名称列表(每行一类)
└── README.md

三、垃圾分类体系

依据国内垃圾分类标准,数据集将物品分为 4 个大类 ,共 44 个细类

大类 细类数 细类列表
可回收物 26 充电宝、包、洗护用品、塑料玩具、塑料器皿、塑料衣架、玻璃器皿、金属器皿、快递纸袋、插头电线、旧衣服、易拉罐、枕头、毛绒玩具、鞋、砧板、纸盒纸箱、调料瓶、酒瓶、金属食品罐、金属厨具、锅、食用油桶、饮料瓶、书籍纸张、垃圾桶
厨余垃圾 7 剩饭剩菜、大骨头、果皮果肉、茶叶渣、菜帮菜叶、蛋壳、鱼骨
有害垃圾 3 干电池、软膏、过期药物
其他垃圾 8 一次性快餐盒、污损塑料、烟蒂、牙签、花盆、陶瓷器皿、筷子、污损用纸

四、YOLO 标注格式

每张图片对应一个同名 .txt 文件,每行一个目标框:

复制代码
class_id  x_center  y_center  width  height

所有坐标均归一化[0, 1]class_id 为 0-indexed,对应 train_classes.txt 中的行序号。

示例:

复制代码
6  0.410572  0.421875  0.596188  0.337891

class_id=6 对应 train_classes.txt 第 7 行(塑料器皿),坐标为中心点 + 宽高的归一化值。


五、YOLO 训练配置(garbage.yaml)

复制代码
path: datasets          # 相对项目根目录的数据集路径
train: images/train
val:   images/val
test:  images/test
nc: 44
names:
  - 一次性快餐盒
  - 书籍纸张
  # ... 共 44 类

注意: 训练命令须在项目根目录 下执行,path: datasets 基于当前工作目录解析。


六、快速开始训练

复制代码
# 在项目根目录执行
yolo train data=datasets/garbage.yaml model=weights/yolov8n.pt epochs=100 imgsz=640 batch=16

建议将预训练权重放在 weights/ 目录下以避免重复下载:

  • yolov8n.pt(nano,速度最快)
  • yolov8s.pt(small,精度更高)

训练结果保存在 runs/detect/train*/ 目录。


七、推理后类别映射

模型输出的是 44 个细类,可通过 classify_rule.json 汇总为 4 大类:

复制代码
import json

with open("datasets/classify_rule.json", encoding="utf-8") as f:
    rules = json.load(f)

# 构建细类 → 大类反向索引
label_to_category = {
    label: cat
    for cat, labels in rules.items()
    for label in labels
}

# 示例:label_to_category["饮料瓶"] => "可回收物"
相关推荐
月疯几秒前
ONNX Runtime
深度学习
老纪的技术唠嗑局5 分钟前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
开发笔记-阿牛6 分钟前
做工业报警器语音提示,CK6159A 为什么更合适?
人工智能·stm32·单片机·嵌入式硬件·音频
dehuisun9 分钟前
第 06 篇:RAG 混合召回策略:向量检索 + ES 关键词 + Rerank 重排
人工智能
DeepAgent13 分钟前
AI Agent 面试篇(01):AI 岗位面试到底怎么走——从网申到 Offer 的完整流程
人工智能·面试·职场和发展
程序员清风16 分钟前
LangGraph 入门:用状态机设计可靠的 Agent 工作流
人工智能·python
南京兴帝文化传媒有限公司17 分钟前
本地生活服务GEO优化实战:宁国花店地图关键词布局带来订单翻倍的技术路径
大数据·人工智能·生活·geo 优化·geo优化避坑·ai搜索获客
大模型搬砖师26 分钟前
把自训模型挂上统一端点:聚合平台的自定义模型接入
人工智能
Nablai31 分钟前
多国上市的工程排期:AI 玩具出海项目的并行任务与关键路径
人工智能
马剑威(威哥爱编程)37 分钟前
【共创稿事节】HarmonyOS 7 Agent A2A 实战:让日程智能体和打车智能体自己谈成一单
pytorch·深度学习·harmonyos