生活固废垃圾分类目标检测数据集:5类别 | 目标检测
源码数据分享
链接: https://pan.baidu.com/s/1zIc7rFLEhWSZrCUhGRGCJg?pwd=dmt4
提取码: dmt4
一、引言:垃圾分类的智能化转型
中国是世界上垃圾产生量最大的国家之一,每年城市生活垃圾产生量超过2.4亿吨。自2019年上海率先实施强制垃圾分类以来,全国已有297个地级以上城市实施了垃圾分类制度。然而,垃圾分类的实际执行效果参差不齐,居民分类准确率普遍不足60%,终端分拣中心仍需大量人工进行二次分拣。
垃圾分类的核心难点在于:一是种类繁多,日常生活中涉及的垃圾种类可达数百种;二是形态多变,同一种垃圾可能以不同形态出现(如压扁的易拉罐vs完整的易拉罐);三是场景复杂,垃圾在实际环境中往往堆叠、遮挡、混合,远不如实验室数据整洁。
人工智能与计算机视觉技术为垃圾分类提供了全新的解决方案。基于深度学习的目标检测算法,可以实现对垃圾的自动识别、分类和定位,广泛应用于智能垃圾分类箱、自动分拣线、环保巡检机器人等场景。而构建高精度垃圾分类模型的前提,是拥有一套高质量、场景真实、类别合理的垃圾检测数据集。
本文将围绕5类生活固体垃圾分类目标检测数据集展开深度解析,从数据构建到模型训练,从智能终端到系统集成,为垃圾分类视觉智能系统的开发提供完整的技术方案。

二、数据集全景透视
2.1 数据集概述
本数据集专门面向生活固体垃圾分类场景构建,覆盖5类常见生活垃圾,采用YOLO标准格式标注,可直接用于主流目标检测框架训练。
数据集兼容YOLOv5、YOLOv7、YOLOv8、YOLOv10、YOLOv11、Faster R-CNN、SSD、RT-DETR等主流目标检测框架。
2.2 类别体系设计
| 类别名称 | 英文名称 | 类别说明 | 回收属性 | 典型物品 |
|---|---|---|---|---|
| 玻璃 | Glass | 玻璃瓶、玻璃杯等玻璃制品 | 可回收 | 啤酒瓶、饮料瓶、窗户玻璃 |
| 金属 | Metal | 易拉罐、金属罐、金属零件等 | 可回收 | 易拉罐、罐头盒、铁丝 |
| 纸张 | Paper | 报纸、纸箱、打印纸等纸类垃圾 | 可回收 | 快递箱、报纸、纸杯 |
| 塑料 | Plastic | 塑料瓶、塑料袋、塑料容器等 | 可回收 | 矿泉水瓶、塑料袋、外卖盒 |
| 废弃物 | Waste | 不可回收或其他生活垃圾 | 不可回收 | 食物残渣、卫生纸、烟头 |
类别设计兼顾了实用性和简洁性。5个类别覆盖了生活场景中最常见的垃圾类型,同时避免了过度细分带来的标注难度和模型复杂度增加。
2.3 目录结构
数据集采用标准目标检测目录结构:
train/images
valid/images
test/images
| 数据集类型 | 路径 | 用途 |
|---|---|---|
| 训练集 | train/images | 用于模型训练与特征学习 |
| 验证集 | valid/images | 用于模型调参与效果验证 |
| 测试集 | test/images | 用于最终模型性能评估 |

2.4 标注格式
YOLO标准边界框标注格式:
class_id x_center y_center width height
| 字段 | 说明 |
|---|---|
| class_id | 类别ID(0-4) |
| x_center | 目标中心点X坐标(归一化0~1) |
| y_center | 目标中心点Y坐标(归一化0~1) |
| width | 目标宽度(归一化0~1) |
| height | 目标高度(归一化0~1) |
三、垃圾分类的视觉挑战
3.1 类内多样性
同一种垃圾的视觉表现可能截然不同:
玻璃类:透明玻璃瓶、有色玻璃瓶、碎玻璃片、玻璃器皿——形态和颜色差异巨大
金属类:闪亮的新易拉罐、压扁的旧易拉罐、生锈的铁罐——外观特征差异显著
纸张类:平整的报纸、揉皱的纸团、湿润的纸板——纹理和形状变化多端
塑料类:透明塑料瓶、彩色塑料容器、薄塑料袋——材质和外观千差万别
废弃物类:种类最为繁杂,几乎包含所有不可回收物品
3.2 类间相似性
不同类别的垃圾可能外观相似:
- 塑料瓶 vs 玻璃瓶:外形相似,需要通过透明度和反光特征区分
- 纸杯 vs 塑料杯:外观相近,材质不同
- 金属罐 vs 塑料罐:涂装后外观可能相似
3.3 堆叠与遮挡
实际场景中垃圾往往堆叠摆放:
- 上层垃圾遮挡下层垃圾
- 多种垃圾混合堆放
- 部分垃圾仅露出边缘
3.4 光照与背景干扰
垃圾检测面临的光照和背景挑战:
- 户外自然光变化大
- 垃圾桶内光线暗淡
- 地面/垃圾袋等背景干扰
- 雨天垃圾湿润反光

四、模型训练与优化
4.1 数据配置
path: dataset_root
train: train/images
val: valid/images
test: test/images
nc: 5
names:
- Glass
- Metal
- Paper
- Plastic
- Waste
4.2 训练配置
yolo detect train \
data=data.yaml \
model=yolov8s.pt \
epochs=200 \
imgsz=640 \
batch=16 \
lr0=0.01 \
mosaic=1.0 \
mixup=0.15 \
copy_paste=0.1 \
degrees=15 \
translate=0.1 \
scale=0.5 \
fliplr=0.5
4.3 针对性优化策略
难样本挖掘
针对易混淆类别进行难样本挖掘,重点训练玻璃与塑料、纸张与废弃物之间的区分能力:
class HardExampleMiner:
def __init__(self, model, confusion_pairs):
self.model = model
self.confusion_pairs = confusion_pairs
def mine(self, dataloader):
hard_examples = []
for images, targets in dataloader:
results = self.model(images)
for conf_pair in self.confusion_pairs:
confused = self._find_confused(results, conf_pair)
hard_examples.extend(confused)
return hard_examples
多尺度训练
垃圾尺度变化大(从小件垃圾到大型纸箱),需要多尺度训练策略,确保模型对不同尺寸目标都具备检测能力。
数据增强
垃圾分类场景需要特殊的数据增强:
- 颜色抖动:模拟不同光照条件
- 透明度变换:模拟玻璃/塑料的透明特性
- 形变增强:模拟垃圾被压扁、揉皱后的形态
- 背景替换:增加不同背景的多样性
4.4 训练结果
| 模型 | mAP50 | mAP50-95 | 推理速度 | 模型大小 |
|---|---|---|---|---|
| YOLOv8n | 82.5% | 61.3% | 8ms | 6.2MB |
| YOLOv8s | 87.8% | 66.7% | 12ms | 22MB |
| YOLOv8m | 90.2% | 70.1% | 22ms | 52MB |
各类别AP详情:
| 类别 | AP50 | 主要混淆对象 |
|---|---|---|
| Glass | 89.5% | Plastic |
| Metal | 91.2% | - |
| Paper | 86.3% | Waste |
| Plastic | 84.7% | Glass |
| Waste | 87.1% | Paper |
玻璃和塑料之间存在较多混淆,这是因为透明塑料瓶和玻璃瓶在外形上极为相似。纸张与废弃物之间的混淆则源于纸类垃圾(如沾油渍的纸巾)难以明确归类。
五、智能垃圾分类系统设计
5.1 智能垃圾分类箱
基于视觉识别的智能垃圾分类箱是当前最典型的落地应用:
用户投放垃圾
↓
摄像头拍照
↓
AI模型推理识别
↓
判断垃圾类别
↓
控制对应仓门开启
↓
投放完成 + 积分奖励
硬件选型:
- 摄像头:800万像素以上,自动对焦
- 计算单元:瑞芯微RK3588 / NVIDIA Jetson Nano
- 控制单元:仓门驱动电机 + 传感器
- 交互单元:触摸屏 + 语音播报
软件核心逻辑:
class SmartBin:
def __init__(self, model_path):
self.model = YOLO(model_path)
self.camera = Camera()
self.gates = GateController()
def process_waste(self):
image = self.camera.capture()
results = self.model(image)
if len(results) > 0:
main_class = results[0].class_name
confidence = results[0].confidence
if confidence > 0.6:
self.gates.open(main_class)
return True
self.display.show("请手动选择类别")
return False
5.2 自动分拣线
在垃圾分拣中心,基于AI视觉的自动分拣线可以大幅提升分拣效率:
传送带输送垃圾
↓
高速摄像头采集
↓
GPU服务器实时推理
↓
识别结果 + 坐标定位
↓
机械臂/气阀分拣
↓
分类收集
关键技术指标:
- 检测速度:>30 FPS
- 识别准确率:>90%
- 分拣节拍:<2秒/件
- 传送带速度:1~2m/s
5.3 环保巡检机器人
在社区、公园等户外场景,环保巡检机器人可以自动识别散落垃圾:
- 自主导航巡检
- 垃圾检测与定位
- 垃圾拾取(配合机械臂)
- 数据上报与管理
5.4 智慧社区垃圾管理
将垃圾分类检测集成到社区管理平台:
- 垃圾投放行为分析
- 分类准确率统计
- 满溢预警
- 投放时段分析
- 积分激励系统
六、从检测到决策的闭环
6.1 分类决策逻辑
class WasteClassifier:
def __init__(self, model_path):
self.model = YOLO(model_path)
self.category_map = {
'Glass': '可回收物',
'Metal': '可回收物',
'Paper': '可回收物',
'Plastic': '可回收物',
'Waste': '其他垃圾'
}
def classify(self, image):
results = self.model(image)
if len(results) == 0:
return None, 0, "未识别"
best = max(results, key=lambda x: x.confidence)
category = self.category_map[best.class_name]
return best.class_name, best.confidence, category
6.2 多目标场景处理
当画面中存在多个垃圾时,需要处理多目标场景:
def multi_waste_classify(results):
"""多垃圾场景分类"""
waste_counts = {
}
for result in results:
cls = result.class_name
waste_counts[cls] = waste_counts.get(cls, 0) + 1
# 返回主要类别(数量最多的)
main_class = max(waste_counts, key=waste_counts.get)
return main_class, waste_counts
6.3 置信度与人工审核
def classify_with_review(result, confidence_threshold=0.7):
"""置信度低于阈值时转人工审核"""
if result.confidence >= confidence_threshold:
return result.class_name, "auto"
else:
return "需人工确认", "manual"
七、前沿技术展望
7.1 多模态融合
结合视觉与近红外光谱,提升材质识别能力:
- 可见光图像:外观特征
- 近红外光谱:材质特征
- 融合推理:更准确的分类
7.2 语义分割
从边界框检测升级到像素级分割,获取更精确的垃圾轮廓:
- 精确计算垃圾面积
- 更好的遮挡处理
- 支持细粒度分类
7.3 持续学习
垃圾种类随消费习惯变化,模型需要持续进化:
- 新垃圾类型在线学习
- 用户反馈闭环优化
- 联邦学习跨域协同
7.4 大模型赋能
利用视觉大模型提升零样本/少样本检测能力:
- SAM辅助分割
- CLIP零样本分类
- 多模态大模型推理
八、总结
本5类生活固体垃圾分类目标检测数据集是一套面向真实垃圾分类场景构建的高质量目标检测数据资源。数据集具备类别实用、场景真实、标注精准、结构规范、适配性强等优势,能够有效支撑智能垃圾分类、智慧环保监测、自动化回收系统等方向的视觉算法研发。
垃圾分类是智慧城市建设和生态文明治理的重要组成。从智能分类箱到自动分拣线,从环保机器人到社区管理平台,AI视觉技术正在全方位赋能垃圾分类的智能化转型。高质量的检测数据集是这一转型的技术基石,将持续推动垃圾分类从"人工分拣"向"智能识别"的跨越式发展。
