博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌
> 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与我联系了。🍅

点击查看作者主页,了解更多项目!

🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅

1、毕业设计:2025年计算机专业毕业设计选题汇总(建议收藏)✅

2、大数据毕业设计:2025年选题大全 深度学习 python语言 JAVA语言 hadoop和spark(建议收藏)✅

1、项目介绍

技术栈:
Python语言、YOLOv8模型、深度学习、PyQt5界面、保存数据、导出数据

2、项目界面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、项目说明

摘要
随着环保意识的提升和垃圾分类政策的推行,垃圾分类成为社会发展的重要方向。然而,许多垃圾分类系统仍然依赖人工分类,效率低、精度差,且难以应对多样化和复杂的垃圾类型。传统方法无法满足高效、准确分类的需求,尤其是在大规模的垃圾处理场所。
本系统采用深度学习中的YOLOv8算法,结合PyQt5框架,设计了一个简约且高效的垃圾分类平台。系统前端使用PyQt5开发用户界面,支持视频和图片文件的垃圾检测;后端通过YOLOv8模型对垃圾进行实时检测与分类。数据库采用本地存储数据,用户可查看分类结果,并导出相应的检测数据。系统能够准确检测并分类多种垃圾类型,包括可回收物、厨余垃圾、有害垃圾和其他垃圾。系统支持多目标实时检测,且允许用户选择感兴趣的目标进行分类。
关键词:Python;深度学习; YOLOv8;垃圾分类;PyQt5

  1. 可回收物:

    • 电源银行(Power bank)
    • 袋子(Bag)
    • 化妆品用品(Toiletries)
    • 塑料玩具(Plastic toys)
    • 塑料餐具(Plastic dishes)
    • 塑料衣架(Plastic hangers)
    • 玻璃餐具(Glass dishes)
    • 金属餐具(Metal dishes)
    • 快递袋(Express delivery bag)
    • 插头和电线(Plug and wire)
    • 旧衣服(Old clothes)
    • 铝罐(Aluminum can)
    • 枕头(Pillow)
    • 毛绒玩具(Plush toy)
    • 鞋子(Shoes)
    • 切菜板(Cutting board)
    • 纸板盒子(Cardboard box)
    • 调料瓶(Seasoning bottle)
    • 酒瓶(Wine bottle)
    • 金属食品罐(Metal food cans)
    • 金属厨具(Metal kitchenware)
    • 锅(Pot)
    • 食用油桶(Edible oil barrel)
    • 饮料瓶(Beverage bottle)
    • 书纸(Book paper)
    • 垃圾桶(Trash bin)
    • 塑料厨具(Plastic kitchenware)
    • 毛巾(Towel)
    • 纸袋(Paper bag)
    • 饮料纸盒(Beverage carton)
  2. 厨余垃圾:

    • 剩饭剩菜(Leftover food)
    • 大骨头(Large bone)
    • 水果皮和果肉(Fruit peel and flesh)
    • 茶渣(Tea residue)
    • 蔬菜茎叶(Vegetable stalks and leaves)
    • 蛋壳(Eggshell)
    • 鱼骨(Fish bones)
  3. 有害垃圾:

    • 干电池(Dry battery)
    • 药膏(Ointment)
    • 过期药物(Expired medicine)
  4. 其他垃圾:

    • 快餐盒(Fast food container)
    • 受污染的塑料(Contaminated plastic)
    • 烟蒂(Cigarette butt)
    • 牙签(Toothpick)
    • 花盆(Flower pot)
    • 陶瓷餐具(Ceramic dishes)
    • 筷子(Chopsticks)
    • 受污染的纸张(Contaminated paper)

4、核心代码


from ultralytics import YOLO
# 1. 加载预训练模型
model = YOLO("yolov8n.pt")  # 加载YOLOv8预训练模型
# 2. 准备数据集并开始训练
# coco128.yaml 是自定义的数据集配置文件,包含了垃圾分类的标注信息
model.train(data="coco128.yaml", epochs=3)  # 在数据集上训练模型
# 3. 验证模型效果
metrics = model.val()  # 在验证集上评估模型性能
# 4. 对新图像进行预测
results = model("https://ultralytics.com/images/bus.jpg")  # 对图像进行垃圾分类预测
# 5. 导出训练好的模型为ONNX格式
success = model.export(format="onnx")  # 将模型导出为ONNX格式,便于部署

训练过程解释:
- `YOLO("yolov8n.pt")`:加载YOLOv8的预训练权重模型。这是基于YOLOv8的“nano”模型,如果需要更高精度,可以选择更大的模型。
- `model.train(data="coco128.yaml", epochs=3)`:指定数据集配置文件(`coco128.yaml`),并设置训练的轮数为3。实际应用中可能需要更多轮数以达到更高精度。
- `model.val()`:对训练后的模型进行验证,评估其在验证集上的表现,输出的`metrics`包含准确率、精度等指标。
- `model.export(format="onnx")`:将训练好的模型导出为ONNX格式,这样可以在其他平台或设备上使用。

5、源码获取方式

🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅

感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看👇🏻获取联系方式👇🏻

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐