垃圾分类检测数据集

一、数据集概览

项目 内容
标注格式 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["饮料瓶"] => "可回收物"
相关推荐
七牛开发者1 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
跨境卫士-小汪2 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机3 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
武天旭3 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南4 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术4 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API4 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫
znnnk4 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
深蓝AI4 小时前
网站正在对 AI Agent 集体关门:亚马逊封锁 Muse、银行拒绝登录,开发者怎么活下去
人工智能