基于深度学习的垃圾分类智能识别系统:从模型训练到端边云全栈部署
基于深度学习的垃圾分类智能识别系统:从模型训练到端边云全栈部署

基于深度学习的垃圾分类智能识别系统:从模型训练到端边云全栈部署

一个完整的物联网+AI落地项目:YOLOv8 + 旭日X3派 + ESP32 + FastAPI + Vue


正文内容

一、项目背景

城市生活垃圾快速增长,传统人工分类效率低、成本高。本项目设计并实现了一套基于深度学习的垃圾分类智能识别系统,采用“端-边-云”三层架构,实现从图像采集、边缘识别、自动分类到云端可视化的完整闭环。

二、系统架构(端-边-云协同)

层级硬件/平台核心功能
端侧ESP32 + 超声波传感器 + 舵机 + OLED触发检测、舵机控制、状态显示、串口通信
边侧地平线旭日X3派 + MIPI摄像头模型推理(BPU加速)、指令下发、数据上报
云端FastAPI + MySQL + Vue3RESTful API、数据存储、可视化看板

三、关键技术点

1. 目标检测模型训练与边缘部署

  • 选用 YOLOv8n(参数量3.2M,速度最快)作为基线模型
  • 数据集:四类生活垃圾(可回收、有害、厨余、其他),共1920张训练图片
  • 训练结果:mAP@0.5 = 87.6%,精确率85.4%,召回率78.5%
  • 模型转换:PyTorch → ONNX → INT8量化 → 地平线BPU可执行.bin文件
  • 边缘端使用 hobot_dnn 库加载模型,调用BPU硬件加速

2. 端侧嵌入式控制(ESP32)

  • 使用有限状态机(IDLE / DETECTING / PROCESSING / ERROR / FULL)管理系统逻辑
  • 超声波测距(HC-SR04)触发识别,舵机(SG90)开/关垃圾桶盖
  • OLED实时显示识别结果,LED指示灯反馈系统状态
  • 串口通信(UART,115200 bps)与旭日X3派交互,自定义指令协议(如 RES:1,CONF:0.96

3. 云端与可视化

  • 后端:FastAPI框架,提供用户认证、图片上传、记录上报、分页查询、聚合统计等接口
  • 数据库:MySQL 8.0,存储识别记录、用户信息、设备信息
  • 前端:Vue3 + Element Plus + ECharts,实现:
  • 今日统计卡片(总数/分类计数)
  • 分类占比环形饼图
  • 时段趋势堆叠柱状图
  • 历史记录表格(支持类别/状态/时间筛选)

四、性能测试结果

  • 测试图片:818张(验证集+测试集)
  • BPU推理平均耗时:173.01ms(最小172.32ms,最大177.66ms)
  • 系统端到端响应时间:< 2000ms
  • 平均FPS:5.60
阶段平均耗时占比
预处理3.92ms2.2%
BPU推理173.01ms96.8%
后处理1.78ms1.0%

五、我的工作(个人贡献)

  • 独立完成四类垃圾数据集的整理与YOLOv8n模型训练,实现mAP@0.5达87.6%
  • 完成模型ONNX导出、INT8量化,并成功部署至地平线旭日X3派,利用BPU达到毫秒级推理
  • 设计并实现ESP32端侧嵌入式软件(状态机、超声波触发、舵机控制、OLED显示、串口协议)
  • 基于FastAPI + MySQL开发后端服务,提供10+个RESTful API接口
  • 使用Vue3 + Element Plus + ECharts开发数据可视化前端看板
  • 完成系统全链路联调与性能测试,确保端边云协同工作稳定

六、项目成果与意义

  • 提供了一套低成本、高实时、可落地的智能垃圾分类解决方案
  • 验证了国产边缘计算芯片(地平线旭日X3派) 在AI视觉任务上的可用性与稳定性
  • 体现了物联网工程专业“端-边-云”协同设计的能力,为智慧城市环境治理提供参考

七、相关链接

  • 📄 论文摘要(PDF)
  • 💻 项目代码(见开发)
  • 🎥 演示视频

时序图

实物图

AI边缘计算设备

配套摄像头

ESP32

模型PR曲线

训练结果

数据统计

检测记录

详情

四类垃圾测试


版权声明

本文作者:散客(英文名Sanker·Kit)
个人网站sanker.top
发表时间:2026年5月

本文所述系统、代码、设计及数据均为本人就读于河北东方学院时毕业设计期间的原创成果。

未经作者书面许可,任何单位或个人不得将本文内容用于商业目的。欢迎非商业性转载,但请保留作者署名及原文链接。

如需引用、合作或讨论,可通过网站留言或邮箱(sanker520@foxmail.com)联系。