YOLOv11多类别垃圾目标检测数据集-1428张-Litter-Detection-1
2026/6/10 3:46:26 网站建设 项目流程

YOLOv11多类别垃圾目标检测数据集

📊 数据集基本信息

  • 目标类别: [‘Aerosol’, ‘Aluminium blister pack’, ‘Aluminium foil’, ‘Battery’, ‘Broken glass’, ‘Carded blister pack’, ‘Cigarette’, ‘Clear plastic bottle’, ‘Corrugated carton’, ‘Crisp packet’, ‘Disposable food container’, ‘Disposable plastic cup’, ‘Drink can’, ‘Drink carton’, ‘Egg carton’, ‘Foam cup’, ‘Foam food container’, ‘Food Can’, ‘Food waste’, ‘Garbage bag’, ‘Glass bottle’, ‘Glass cup’, ‘Glass jar’, ‘Magazine paper’, ‘Meal carton’, ‘Metal bottle cap’, ‘Metal lid’, ‘Normal paper’, ‘Other carton’, ‘Other plastic’, ‘Other plastic bottle’, ‘Other plastic container’, ‘Other plastic cup’, ‘Other plastic wrapper’, ‘Paper bag’, ‘Paper cup’, ‘Paper straw’, ‘Pizza box’, ‘Plastic bottle cap’, ‘Plastic film’, ‘Plastic glooves’, ‘Plastic lid’, ‘Plastic straw’, ‘Plastic utensils’, ‘Polypropylene bag’, ‘Pop tab’, ‘Rope - strings’, ‘Scrap metal’, ‘Shoe’, ‘Single-use carrier bag’, ‘Spread tub’, ‘Squeezable tube’, ‘Styrofoam piece’, ‘Tissues’, ‘Toilet tube’, ‘Tupperware’, ‘Unlabeled litter’, ‘Wrapping paper’]
  • 中文类别:[‘喷雾罐’, ‘铝箔泡罩包装’, ‘铝箔’, ‘电池’, ‘破碎玻璃’, ‘纸质泡罩包装’, ‘香烟’, ‘透明塑料瓶’, ‘瓦楞纸箱’, ‘薯片袋’, ‘一次性食品容器’, ‘一次性塑料杯’, ‘饮料罐’, ‘饮料盒’, ‘蛋托’, ‘泡沫杯’, ‘泡沫食品容器’, ‘食品罐’, ‘食物垃圾’, ‘垃圾袋’, ‘玻璃瓶’, ‘玻璃杯’, ‘玻璃罐’, ‘杂志纸’, ‘餐盒’, ‘金属瓶盖’, ‘金属盖子’, ‘普通纸张’, ‘其他纸箱’, ‘其他塑料’, ‘其他塑料瓶’, ‘其他塑料容器’, ‘其他塑料杯’, ‘其他塑料包装’, ‘纸袋’, ‘纸杯’, ‘纸质吸管’, ‘披萨盒’, ‘塑料瓶盖’, ‘塑料薄膜’, ‘塑料手套’, ‘塑料盖子’, ‘塑料吸管’, ‘塑料餐具’, ‘聚丙烯袋’, ‘拉环’, ‘绳索-丝带’, ‘废金属’, ‘鞋子’, ‘一次性购物袋’, ‘涂抹罐’, ‘挤压管’, ‘泡沫塑料块’, ‘纸巾’, ‘卫生纸管’, ‘密胺餐具’, ‘未标注垃圾’, ‘包装纸’]
  • 训练集:1011 张
  • 验证集:281 张
  • 测试集:136 张
  • 总计:1428 张

📄 data.yaml 配置信息

该数据集提供了data.yaml文件,内容如下:

train:../train/imagesval:../valid/imagestest:../test/imagesnc:58names:['Aerosol','Aluminium blister pack','Aluminium foil','Battery','Broken glass','Carded blister pack','Cigarette','Clear plastic bottle','Corrugated carton','Crisp packet','Disposable food container','Disposable plastic cup','Drink can','Drink carton','Egg carton','Foam cup','Foam food container','Food Can','Food waste','Garbage bag','Glass bottle','Glass cup','Glass jar','Magazine paper','Meal carton','Metal bottle cap','Metal lid','Normal paper','Other carton','Other plastic','Other plastic bottle','Other plastic container','Other plastic cup','Other plastic wrapper','Paper bag','Paper cup','Paper straw','Pizza box','Plastic bottle cap','Plastic film','Plastic glooves','Plastic lid','Plastic straw','Plastic utensils','Polypropylene bag','Pop tab','Rope - strings','Scrap metal','Shoe','Single-use carrier bag','Spread tub','Squeezable tube','Styrofoam piece','Tissues','Toilet tube','Tupperware','Unlabeled litter','Wrapping paper']

🖼️ 标注可视化

📝 数据集分析


YOLOv11户外垃圾散落场景饮料罐目标检测数据集

该数据集聚焦于户外环境中各类垃圾的精准识别与分类,特别是针对饮料罐这一核心检测目标。通过在不同场景下采集大量真实垃圾样本,构建了一个高质量的目标检测数据集,为智能垃圾分类、环境监测及自动化清理设备的研发提供了可靠的数据支撑。

数据分布方面,该数据集精心设计了1011张训练集、281张验证集和136张测试集,总计1428张图像。这种比例分配确保了模型在训练阶段能够充分学习特征,在验证阶段进行有效调优,并在测试阶段全面评估性能。数据覆盖了城市街道、公园绿地、海滩沙滩等多种典型户外场景,样本分布均衡,能够有效提升模型的泛化能力。

从标注质量来看,该数据集表现出极高的专业水准。每张图像中的垃圾目标均经过精确标注,边界框定位准确,类别标签完整且规范。标注人员严格遵循统一的标准操作流程,确保了数据的一致性和可靠性,为后续的模型训练和评估奠定了坚实基础。

该数据集具有广泛的应用前景,可直接应用于智能垃圾分类系统、环境监测平台以及自动化清理设备等领域。特别是在户外垃圾清理、公共区域环境维护以及环保执法等场景中,能够显著提升垃圾识别的准确性和效率,助力实现智能化、自动化的环境管理目标。

YOLOv11训练步骤

一、环境安装

pipinstallultralytics# 依赖要求:Python≥3.8,PyTorch≥1.8。安装完成后可通过 `yolo checks` 验证环境。

二、数据集准备(YOLO格式)

1. 目录结构

数据集必须严格按以下结构组织:

dataset/ ├── train/ │ ├── images/ # 训练图片(jpg/png) │ └── labels/ # YOLO格式标注(txt) ├── val/ │ ├── images/ │ └── labels/ └── data.yaml # 数据集配置文件
2. YOLO标注格式

每个*.txt文件对应一张图片,每行格式为:

class_id center_x center_y width height

所有数值均为相对于图片宽高的归一化值(0~1)。

3. data.yaml 配置文件
# data.yamlpath:../dataset# 数据集根目录(相对或绝对路径)train:train/images# 训练集图片路径val:val/images# 验证集图片路径test:test/images# 测试集图片路径(可选)# 类别信息nc:2# 类别数量names:['class1','class2']# 类别名称列表

三、模型选择

YOLO11 提供 5 种尺度,官方命名规则为yolo11{n/s/m/l/x}.pt

模型参数量适用场景
yolo11n2.6M边缘设备、速度优先
yolo11s9.4M平衡精度与速度
yolo11m20.1M常规GPU训练
yolo11l25.3M高精度需求
yolo11x56.9M极致精度、算力充足

四、模型训练

方式1:Python API(推荐)

创建train.py

fromultralyticsimportYOLOdefmain():# 加载预训练模型(推荐:基于COCO预训练权重微调)model=YOLO("yolo11m.pt")# 训练参数train_params={'data':'data.yaml',# 数据集配置文件'epochs':100,# 训练轮次'imgsz':640,# 输入图像尺寸'batch':16,# 批次大小(根据显存调整)'device':'0',# GPU设备号,'cpu'表示CPU训练'workers':8,# 数据加载线程数'optimizer':'SGD',# 优化器:SGD/Adam/AdamW'lr0':0.01,# 初始学习率'patience':50,# 早停耐心值'save':True,# 保存模型'project':'runs/train',# 项目保存路径'name':'exp',# 实验名称'single_cls':False,# 单类别检测设为True'close_mosaic':10,# 最后N轮关闭马赛克增强}# 开始训练results=model.train(**train_params)# 输出最佳模型路径print(f"Best model saved at:{results.best}")if__name__=='__main__':main()

三种模型加载方式对比:

# 方式A:从YAML构建全新模型(从头训练,适合网络结构改进)model=YOLO("yolo11m.yaml")# 方式B:加载预训练权重(最常用,推荐)model=YOLO("yolo11m.pt")# 方式C:构建新模型并迁移预训练权重(改进网络后使用)model=YOLO("yolo11m.yaml").load("yolo11m.pt")
方式2:命令行 CLI
# 基础训练yolo detect traindata=data.yamlmodel=yolo11m.ptepochs=100imgsz=640batch=16device=0# 多GPU训练yolo detect traindata=data.yamlmodel=yolo11m.ptepochs=100device=0,1# 从YAML+预训练权重训练yolo detect traindata=data.yamlmodel=yolo11m.yamlpretrained=yolo11m.ptepochs=100

五、关键训练参数说明

参数说明建议值
epochs训练总轮次100~300
imgsz输入尺寸640(标准)
batch批次大小8/16/32(根据显存)
device训练设备0(单GPU)、0,1(多GPU)、cpumps(Apple芯片)
workers数据加载线程8~16(Windows建议≤8)
optimizer优化器SGD(默认)、AdamAdamW
lr0/lrf初始/最终学习率0.01 / 0.01
momentumSGD动量0.937
weight_decay权重衰减0.0005
single_cls单类别模式True/False
resume恢复中断训练True(需指定last.pt)
amp自动混合精度True(默认开启,省显存)

六、模型验证

创建val.py

fromultralyticsimportYOLOdefmain():# 加载训练好的最佳权重model=YOLO('runs/train/exp/weights/best.pt')# 验证metrics=model.val(data='data.yaml',split='val',# 验证集:'val' 或 'test'imgsz=640,batch=16,iou=0.6,# NMS IoU阈值device='0',save_json=False,# 是否保存COCO格式JSON)# 输出关键指标print(f"mAP50-95:{metrics.box.map}")# mAP@0.5:0.95print(f"mAP50:{metrics.box.map50}")# mAP@0.5print(f"mAP75:{metrics.box.map75}")# mAP@0.75if__name__=='__main__':main()

CLI 方式:

yolo detect valmodel=runs/train/exp/weights/best.ptdata=data.yaml

七、模型推理/预测

创建predict.py

fromultralyticsimportYOLOimportcv2defmain():model=YOLO('runs/train/exp/weights/best.pt')# 单张图片推理results=model.predict(source='test_images/',# 图片路径、文件夹、URL或摄像头索引(0)imgsz=640,conf=0.25,# 置信度阈值iou=0.45,# NMS IoU阈值device='0',save=True,# 保存结果图show=False,# 是否弹窗显示)# 遍历结果forresultinresults:boxes=result.boxes# 检测框masks=result.masks# 分割掩码(如使用分割模型)probs=result.probs# 分类概率# 获取坐标、置信度、类别forboxinboxes:x1,y1,x2,y2=box.xyxy[0].tolist()conf=box.conf[0].item()cls=int(box.cls[0].item())print(f"Class:{cls}, Conf:{conf:.2f}, Box: [{x1:.1f},{y1:.1f},{x2:.1f},{y2:.1f}]")if__name__=='__main__':main()

CLI 方式:

yolo detect predictmodel=runs/train/exp/weights/best.ptsource=test_images/save=True## 数据集下载> 小郭AI日志

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询