首页IT科技python垃圾分类小程序代码(如何利用Python进行垃圾分类)

python垃圾分类小程序代码(如何利用Python进行垃圾分类)

时间2025-07-08 22:37:40分类IT科技浏览4361
导读:1 引言...

1 引言

七月了           ,大家最近一定被一项新的政策给折磨的焦头烂额                 ,那就是垃圾分类           。《上海市生活垃圾管理条例》已经正式实施了      ,相信还

是有很多的小伙伴和我一样         ,还没有完全搞清楚哪些应该扔在哪个类别里                 。感觉每天都在学习一遍垃圾分类                 ,真令人头大      。

听说一杯没有喝完的珍珠奶茶应该这么扔

1            、首先         ,没喝完的奶茶水要倒在水池里

2                 、珍珠      ,水果肉等残渣放进湿垃圾

3     、把杯子要丢入干垃圾

4         、接下来是盖子                 ,如果是带盖子带热饮(比如大部分的热饮)            ,塑料盖是可以归到可回收垃圾的嗷

看到这里   ,是不是大家突然都不想喝奶茶了呢                 ,哈哈         。不过不要紧               ,垃圾分类虽然要执行,但是奶茶也可以照喝                 。

那么              ,这里我们想讨论一下                  ,人工智能和数据科学的方法能不能帮助我们进行更好的垃圾分类?这样我们不用为了不知道要扔哪个垃

圾箱而烦恼         。

2 思路

这问题的解决思路或许不止一条      。这里只是抛砖引玉一下   ,提供一些浅显的见解                 。

第一种方案           ,可以把垃圾的信息制成表格化数据                 ,然后用传统的机器学习方法            。

第二种方案      ,把所有的垃圾分类信息做成知识图谱         ,每一次的查询就好像是在翻字典一样查阅信息   。

第三种方案                 ,可以借助现在的深度学习方法         ,来对垃圾进行识别和分类                 。每次我们给一张垃圾的图片      ,让模型识别出这是属于哪一种

类别的:干垃圾                 ,湿垃圾            ,有害垃圾还是可回收垃圾               。

3 图像分类

图像分类是深度学习的一个经典应用。它的输入是一张图片, 然后经过一些处理   ,进入一个深度学习的模型                 ,该模型会返回这个图片

里垃圾的类别              。这里我们考虑四个类别:干垃圾               ,湿垃圾,有害垃圾还是可回收垃圾                  。

(报纸 :可回收垃圾 )

(电池 :有害垃圾 )

(一次性餐盒 :干垃圾 )

我们对图片里的物品进行分类              ,这是图像处理和识别的领域   。人工智能里提出了使用卷积神经网络(Convolutional Neural Network, CNN)来解决这一类问题           。

我会用keras包和Tensorflow后端来建立模型                 。 由于训练集的样本暂时比较缺乏                  ,所以这里只能先给一套思路和代码      。训练模型的工

作之前还得进行一波数据收集         。

相关推荐:《Python视频教程》

我们就先来看看代码大致长什么样吧

先导入一些必要的包                 。

再做一下准备工作         。

在上面   ,我们初始化了一些变量           ,batch size是128; num_classes = 4                 ,因为需要分类的数量是4      ,有干垃圾         ,湿垃圾                 ,有害垃圾

和可

回收垃圾这四个种类      。epochs 是我们要训练的次数                 。接下来         ,img_rows, img_cols = 28, 28 我们给了图片的纬度大小            。

在 .reshape(60000,28,28,1)中 , 60000 是图片的数量(可变), 28是图片的大小(可调)      ,并且1是channel的意思                 ,channel = 1

是指黑白照片   。 .reshape(10000,28,28,1)也是同理            ,只是图片数量是10000                 。

到了最后两行   ,我们是把我们目标变量的值转化成一个二分类                 , 是用一个向量(矩阵)来表示               。比如 [1,0,0,0] 是指干垃圾               ,[0,1,0,0]

是指湿垃圾等等。

接下来是建模的部分              。

我们加了卷积层和池化层进入模型                  。激活函数是 relu,relu函数几乎被广泛地使用在了卷积神经网络和深度学习   。我们在层与层之间

也加了dropout来减少过拟合           。Dense layer是用来做类别预测的                 。

建完模型后              ,我们要进行模型的验证                  ,保证准确性在线      。

到这里   ,我们的建模预测已经大概完成了         。一个好的模型           ,要不断地去优化它                 ,提高精确度等指标要求      ,直到达到可以接受的程度                 。

这优化的过程         ,我们在这里就先不深入讨论了                 ,以后继续         。

4 总结

值得一提的是         ,尽管方法上是有实现的可能      ,但是实际操作中肯定要更复杂的多                 ,尤其是对精度有着很高的要求      。

而且当一个图片里面包含着好几种垃圾种类            ,这也会让我们的分类模型开发变得很复杂   ,增加了难度                 。

比如                 ,我们想要对一杯奶茶进行垃圾分类               ,照片里面是包含了多个垃圾的种类,这就比较头大了              ,因为这并不是属于单一的类别            。

前路的困难肯定是有的                  ,不过就当这里的分享是个抛砖引玉的起点吧   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
删除rpm安装内容(package-cleanup命令 – 清理本地安装的RPM软件包)