垃圾分类检测数据集

一、数据集概览

项目 内容
标注格式 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["饮料瓶"] => "可回收物"
相关推荐
程序员cxuan13 小时前
vibe coding 凉了,wish coding 来了
人工智能·后端·程序员
传说故事13 小时前
【论文阅读】ViVa: A Video-Generative Value Model for Robot Reinforcement Learning
论文阅读·人工智能·强化学习·具身智能
keineahnung234513 小时前
PyTorch 張量尺寸為 1 時,步長為何不具語意?
人工智能·pytorch·python·深度学习
小t说说13 小时前
2026年PPT生成工具评测及使用体验
大数据·前端·人工智能
NineData13 小时前
NineData 将亮相 2026 德国汉诺威工业博览会
数据库·人工智能·数据库管理工具·ninedata·数据库迁移工具·玖章算术
AI人工智能+13 小时前
文档抽取系统结合OCR技术与大语言模型,有效解决档案数字化与知识化利用之间的矛盾
人工智能·计算机视觉·ocr·文档抽取
原我归来是少年13 小时前
四 InsightMemory - 从相似召回到证据链召回:让 AI 的记忆可审计
人工智能
Yu_Lijing13 小时前
Python数据分析和数据处理库Pandas(DataFrame数据分析入门)
人工智能·python·数据分析·pandas
思绪无限13 小时前
YOLOv5至YOLOv12升级:日常场景下的人脸检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·日常场景下的人脸检测·yolov12·yolo全家桶