在我之前的博文中也写过一篇关于垃圾识别的文章,主要是基于tensorflow和keras实现的,数据集是一个比赛提供的,有40个细分的子类别,最近是在学习PyTorch框架,实践做项目的过程中就想拿垃圾识别的数据集再开发垃圾识别模型。
原文在这里,如下所示:
这里主要是希望基于PyTorch框架开发实现这套系统,先看下整体效果:
基于Pytorch框架的轻量级卷积神经网络垃圾分类识别系统
整体项目文件结构目录如下所示:
项目中各文件详情如下所示:
文名称 | 文件说明 |
data/ | 数据集目录 |
results/ | 结果目录 |
utils/ | 组件目录 |
weights/ | 权重目录 |
config.py | 配置模块 |
evaluation.py | 评估模块 |
gui.gif | 界面操作 |
guiAPP.py | 界面模块 |
mobilenet.py | 轻量级模型模块 |
models.py | 实例化模块 |
train.py | 训练模块 |
test.txt | 测试集 |
train.txt | 训练集 |
启动.bat | 双击即可启动界面的bat脚本 |
演示.mp4 | 系统演示视频 |
数据集详情如下所示:
FoodWaste:
HarmfulWaste:
OtherWaste:
RecyclableWaste:
为了使推理过程可视化开发了对应的界面模块,整体操作示意如下所示:
为了评估模型的整体性能,对其进行了评估测试,如下所示:
可以看到:模型在各个类别上的识别效果都是很不错的。