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

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

时间2025-09-19 11:48:33分类IT科技浏览5427
导读: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
那些希望我死的人 豆瓣(那些你希望在N年前就掌握的命令)