建一个资源网站赚钱吗wordpress 免费 模板下载地址
建一个资源网站赚钱吗,wordpress 免费 模板下载地址,美妆网站模板,企业网站的制作方式厨余垃圾检测数据集 14964张 4类
yolo格式
【垃圾四类检测YOLO数据集】共【14964】张#xff0c;按照8比2划分为训练集和验证集#xff0c;其中训练集【11971】张#xff0c;验证集【2993】张#xff0c;模型分为【4】类#xff0c;分类为#xff1a;【‘可回收垃圾’…厨余垃圾检测数据集 14964张 4类yolo格式【垃圾四类检测YOLO数据集】共【14964】张按照8比2划分为训练集和验证集其中训练集【11971】张验证集【2993】张模型分为【4】类分类为【‘可回收垃圾’, ‘其他垃圾’, ‘厨余垃圾’, ‘有害垃圾’】每个类别的图片数量和标注框数量如下可回收垃圾: 图片数【7183】标注框数【9229】其他垃圾: 图片数【5527】标注框数【9121】厨余垃圾: 图片数【3449】标注框数【5257】有害垃圾: 图片数【1538】标注框数【1983】1以下是厨余垃圾检测数据集实为四类生活垃圾检测数据集的详细信息汇总表采用清晰结构化表格呈现便于用于项目文档、模型训练说明或技术报告️ 四类生活垃圾检测数据集信息表YOLO 格式项目内容数据集名称生活垃圾四分类目标检测数据集YOLO格式总图像数量14,964 张 JPG 图像标注格式YOLO.txt每张图对应一个标签文件坐标归一化类别数量4 类数据划分比例训练集 : 验证集 8 : 2训练集数量11,971 张验证集数量2,993 张测试集未单独提供可从验证集中划分或自行预留 各类别分布统计表类别中文类别索引YOLO class_id图片数量含该类的图像数标注框总数实例数占总图像比例可回收垃圾07,1839,229≈48.0%其他垃圾15,5279,121≈36.9%厨余垃圾23,4495,257≈23.1%有害垃圾31,5381,983≈10.3%⚠️ 注图片数量 ≠ 总图像数之和因单张图像可能包含多个类别存在重叠总图像数为14,964但各类别图片数之和为7,183 5,527 3,449 1,538 17,697表明约2,733 张图像包含多类垃圾 推荐目录结构garbage_detection_dataset/ ├── images/ │ ├── train/# 11,971 张 .jpg│ └── val/# 2,993 张 .jpg├── labels/ │ ├── train/# 11,971 个 .txt│ └── val/# 2,993 个 .txt└── dataset.yaml# YOLO 配置文件dataset.yaml示例# dataset.yamltrain:./images/trainval:./images/valnc:4names:[可回收垃圾,其他垃圾,厨余垃圾,有害垃圾] 注意Ultralytics YOLO 支持中文类别名但建议在部署时使用英文如recyclable,residual,organic,hazardous以避免编码问题。 数据集特点与挑战特点说明多类别共现单图常含多种垃圾如“厨余其他”适合多标签检测类别不平衡“有害垃圾”样本最少仅 1,538 张图1,983 个框需关注召回率背景复杂拍摄场景多样垃圾桶、街道、厨房等光照/遮挡变化大形态多样同一类垃圾外观差异大如“可回收垃圾”含塑料瓶、纸箱、金属罐等✅ 适用场景智能垃圾分类机器人垃圾投放监控系统城市环卫 AI 管理平台高校课程设计 / 毕业设计 / AI 竞赛如天池、Kaggle该数据集是构建智能垃圾分类视觉系统的理想选择支持高精度四分类目标检测助力绿色城市与可持续发展。以下是针对四类生活垃圾检测数据集14,964 张图像YOLO 格式4 类可回收垃圾、其他垃圾、厨余垃圾、有害垃圾的完整YOLOv8 训练系统代码包含数据配置、训练、验证、推理、评估及部署全流程。✅ 一、前提条件1. 数据目录结构已按 8:2 划分garbage_detection_dataset/ ├── images/ │ ├── train/# 11,971 张 .jpg│ └── val/# 2,993 张 .jpg├── labels/ │ ├── train/# 11,971 个 .txt│ └── val/# 2,993 个 .txt└── dataset.yaml# 配置文件 若你尚未划分请使用文末提供的自动划分脚本。2. 安装依赖pipinstallultralytics opencv-python torch torchvision scikit-learn 二、dataset.yaml配置文件⚠️建议使用英文类别名避免部分系统编码问题但 YOLOv8 支持中文。# dataset.yamltrain:./images/trainval:./images/valnc:4names:[recyclable,residual,organic,hazardous]# 或使用中文确保终端支持 UTF-8# names: [可回收垃圾, 其他垃圾, 厨余垃圾, 有害垃圾]类别映射说明0 → recyclable可回收垃圾1 → residual其他垃圾2 → organic厨余垃圾3 → hazardous有害垃圾 三、YOLOv8 训练代码train.py# train.pyfromultralyticsimportYOLOimporttorchdefmain():devicecudaiftorch.cuda.is_available()elsecpuprint(f 使用设备:{device})# 加载预训练模型推荐 yolov8s平衡速度与精度modelYOLO(yolov8s.pt)# 可选: yolov8n (更快), yolov8m (更准)# 开始训练resultsmodel.train(datadataset.yaml,epochs100,# 垃圾分类数据量大100 轮通常足够imgsz640,# 推荐 640兼顾细节与速度batch32,# 根据 GPU 显存调整RTX 3090 可设 64namegarbage_yolov8s_640,optimizerAdamW,lr00.001,lrf0.01,weight_decay0.0005,warmup_epochs3,# 数据增强针对复杂背景优化hsv_h0.015,# 色调扰动适应不同光照hsv_s0.7,hsv_v0.4,degrees10.0,# 轻微旋转translate0.1,scale0.5,fliplr0.5,# 左右翻转垃圾无方向性mosaic0.9,mixup0.2,copy_paste0.3,# 提升小目标如有害垃圾电池检测close_mosaic10,devicedevice,workers8,saveTrue,save_period10,exist_okFalse,verboseTrue)if__name____main__:main()为什么用copy_paste0.3“有害垃圾”样本少且目标小如电池、药片Copy-Paste 可合成更多正样本显著提升召回率。 四、推理与可视化detect.py# detect.pyfromultralyticsimportYOLOimportcv2# 加载最佳模型modelYOLO(runs/detect/garbage_yolov8s_640/weights/best.pt)defdetect_image(image_path,conf_thres0.3):检测单张图像并显示结果resultsmodel(image_path,confconf_thres)annotatedresults[0].plot()# 自动绘制框 中文/英文标签cv2.imshow(Garbage Detection,annotated)cv2.waitKey(0)cv2.destroyAllWindows()defdetect_folder(input_folder,output_folderoutput):批量检测文件夹并保存结果model.predict(sourceinput_folder,conf0.3,saveTrue,projectoutput_folder,nameresults,exist_okTrue)print(f✅ 检测结果已保存至:{output_folder}/results/) 五、验证集评估evaluate.py# evaluate.pyfromultralyticsimportYOLO modelYOLO(runs/detect/garbage_yolov8s_640/weights/best.pt)metricsmodel.val(datadataset.yaml)print(*60)print( 验证集性能报告:)print(fmAP0.5 (Box):{metrics.box.map50:.4f})print(fmAP0.5:0.95:{metrics.box.map:.4f})print(fPrecision:{metrics.box.mp:.4f})print(fRecall:{metrics.box.mr:.4f})print(*60)# 按类别输出 AP0.5class_names[recyclable,residual,organic,hazardous]fori,nameinenumerate(class_names):ap50metrics.box.ap50[i]ifhasattr(metrics.box,ap50)else0.0print(f{name:12}: AP0.5 {ap50:.4f})# 保存评估结果withopen(evaluation_results.txt,w,encodingutf-8)asf:f.write(fmAP0.5:{metrics.box.map50:.4f}\n)f.write(fmAP0.5:0.95:{metrics.box.map:.4f}\n)fori,nameinenumerate(class_names):ap50metrics.box.ap50[i]ifhasattr(metrics.box,ap50)else0.0f.write(f{name}: AP0.5 {ap50:.4f}\n)print( 评估结果已保存至 evaluation_results.txt) 六、自动划分脚本如需从原始数据划分# utils/split_dataset.pyimportosimportrandomimportshutil# 假设原始数据在 raw_images/ 和 raw_labels/raw_img_dirraw_imagesraw_lbl_dirraw_labels# 获取所有图像文件确保 .jpg 和 .txt 一一对应all_files[f.replace(.jpg,)forfinos.listdir(raw_img_dir)iff.endswith(.jpg)]random.seed(42)random.shuffle(all_files)split_idxint(0.8*len(all_files))train_filesall_files[:split_idx]val_filesall_files[split_idx:]# 创建目录forsplitin[train,val]:os.makedirs(fimages/{split},exist_okTrue)os.makedirs(flabels/{split},exist_okTrue)# 复制文件forfintrain_files:shutil.copy(f{raw_img_dir}/{f}.jpg,fimages/train/{f}.jpg)shutil.copy(f{raw_lbl_dir}/{f}.txt,flabels/train/{f}.txt)forfinval_files:shutil.copy(f{raw_img_dir}/{f}.jpg,fimages/val/{f}.jpg)shutil.copy(f{raw_lbl_dir}/{f}.txt,flabels/val/{f}.txt)print(f✅ 划分完成: 训练集{len(train_files)}张, 验证集{len(val_files)}张) 七、模型导出用于部署# export_model.pyfromultralyticsimportYOLO modelYOLO(best.pt)# 导出为 ONNX用于 CPU/Webmodel.export(formatonnx,imgsz640,simplifyTrue)# 导出为 TensorRT用于 Jetson/NVIDIA GPUmodel.export(formatengine,imgsz640,halfTrue)# FP16 加速该系统可助力智慧环保建设推动垃圾分类智能化落地。