基于 PyTorch 的垃圾分类识别系统设计与实现

作品简介

面向校园与社区的垃圾分类识别系统:上传或拍摄照片,用卷积神经网络识别类别(纸板 / 玻璃 / 金属 / 纸张 / 塑料 / 其他垃圾),给出 Top-3 置信度与投放容器、投放指引;支持批量识别、低置信提示与人工纠正闭环。论文含「自研 CNN 基线 vs 迁移学习」对比实验与混淆矩阵分析。

技术栈

Python、PyTorch、torchvision、Django、ECharts、MySQL

功能模块

  • 两组对比实验:自研 CNN 基线(64×64,1.18M 参数,验证 68.90%)与 MobileNetV3-Small 迁移学习(验证 85.24%)
  • 可复现训练:TrashNet 分层 8:2 划分(固定种子)、增强口径明确,指标由脚本产出,基线指标一并保留
  • 混淆矩阵分析:定位玻璃↔塑料互相误判与其他垃圾召回偏低(该类样本仅 137 张)并给出改进方向
  • 识别结果卡:类别、置信度、Top-3 概率条,附投放容器与投放指引(清空 / 压扁 / 去胶带)
  • 批量识别:一次最多 12 张,逐张给出类别与指引,适合社团集中整理垃圾
  • 低置信兜底:置信度低于阈值提示人工确认;模型缺失时明确提示而不是返回随机结果
  • 纠正闭环:一键纠正结果,纠正分布进入统计,作为下一轮补数据依据
  • 类别与指引维护 + 识别统计 + 三张工作表 Excel 导出;CPU 单张推理约 10ms

运行环境

  • 编程语言:Python 3.8 及以上
  • 深度学习:PyTorch 2.x + torchvision(MobileNetV3-Small,模型随包交付)
  • Web 框架:Django 4.2
  • 推理环境:CPU 即可(单张约 10ms),GPU 非必需
  • 数据库:MySQL 5.7 及以上(交付默认 SQLite,免安装)
  • 可视化:ECharts 5(已内置本地文件,离线可用)
  • 报表导出:openpyxl
  • 操作系统:Windows / macOS / Linux
  • 启动方式:双击一键脚本,或 python manage.py runserver

界面截图

文档预览

交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览:

交付内容

  • 完整源码(已跑通,含训练好的模型与指标文件、演示数据库与示例识别记录)
  • 两个训练脚本:自研 CNN 基线(可复现)与 MobileNetV3-Small 迁移学习(交付模型)
  • 模型产物:model.pt / meta.json(指标与混淆矩阵)/ baseline.json(基线指标)
  • 毕业设计任务书(Word)
  • 开题报告(Word)
  • 毕业论文(Word,七章制,含对比实验与混淆矩阵分析章节)
  • 系统使用与二次开发说明(Word + md)
  • 10 张系统运行截图
创作时间: