1W+张高质量图像数据-----tensorflow垃圾分类器实现,附完整项目

目录

简述

数据集介绍

代码操作介绍

图形化界面介绍

总结


简述

    毕业设计需要做一个垃圾分类系统,要求使用tensorflow和Mobilenet模型,准确率达到90%。个人认为对于一个成熟的预训练模型,需要最重要的并不是修改模型的层数,也不是魔改超参,最需要注重的是清洗自己的数据。网上的开源数据集质量参差不齐,令人头疼,但是没得选,所以最终我采用了多个开源数据集,在数以万计的图片中人工筛查坏图,差图......不说了都是泪。

    以下是本项目配置

操作系统:Windows 10

编程语言:Python 3.8

深度学习框架:TensorFlow 2.6 gpu

图形界面库:PyQt5


    需要注意如果使用tensorflow-gpu,务必使cudnn,cuda和你的tensorflow版本匹配。网上有众多安装指导过于麻烦,甚至大部分都是复制粘贴,狗皮膏药;实际上为了避免麻烦,最简单的方法就是使用conda安装,在官网查询框架对应版本,直接conda install tensorflow-gpu,conda会自动安装相关依赖项。这还不是最好的办法,当conda所使用的镜像源没有正确的相关依赖,可能会自动安装错误的依赖,所以我们最好就是将对应的版本pip install即可。本文主要用于介绍垃圾分类系统,tensorflow-gpu的实装,等有机会在写一篇介绍。


    以下是项目文件目录结构,如图:


    以下是本系统的设计流程图:

数据集介绍

本系统的训练数据集共13100张,采用多个开源数据集,使用软件,人工等方法筛查合并而成,做了4分类,30小类,数据格式全为jpg,如下图:

                 部分数据集展示

类别一览

--fast food box

--soiled plastic

--tea

--Vegetable

--eggshell

--fish bone

--powerbank

--bag

--cosmetic bottles

--plastic hanger

--cigarette

--plug wire

--can

--plush toys

--shoes

--anvil

--toothpick

--cardboard

--pot

--edible oil barrel

--dry battery

--ointment

--expired drugs

--flowerpot

--bamboo chopsticks

--meal

--bone

--fruit peel

--pulp

--rotten food

还有一个二分类的数据集(可回收垃圾,有机垃圾),也可达90%的准确率,相对简单,在3轮epoch左右就会过拟合。

根据训练需要,使用PythonOS模块和shutil模块将数据以8:2的比例划分为训练集和测试集。划分代码在utils文档内。

代码操作介绍

使用代码时,只需要更改训练集,测试集的目录即可开始训练(前提是配置好开发环境),如图:

需要注意根据自己的需求更改模型的保存路径(默认models目录)和准确率及损失函数曲线的路径,如图:

简要介绍本模型采用随机亮度,对比度,饱和度,裁剪,色调变换和高斯模糊来增强数据,提高模型的泛化能力;在预训练模型mobilenetV2的基础上,添加了两层全链接层和两层批量归一化层创建顺序模型;同时使用三个学习率调度组合形成学习率调度方法创建模型。详情见代码

图形化界面介绍

图形化界面就不用多介绍了,CSDN大佬(肆十二)那借鉴的(抄的hhhhh)

需要注意更改自己的模型地址!

总结

该训练模型的准确率曲线如图:

可见模型准确率约92%,且有效收敛。

完整项目下载见垃圾分类识别:tensorflow实现垃圾分类识别

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

popcorn_min

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值