还在被大妈灵魂拷问?使用Python轻松完成垃圾分类!
目录
0 环境
1 引言
2 思路
3 图像分类
4 总结
0 环境
Python版本:3.6.8
系统版本:macOS Mojave
Python Jupyter Notebook
1 引言
七月了,大家最近一定被一项新的政策给折磨的焦头烂额,那就是垃圾分类。《上海市生活垃圾管理条例》已经正式实施了,相信还是有很多的小伙伴和我一样,还没有完全搞清楚哪些应该扔在哪个类别里。感觉每天都在学习一遍垃圾分类,真令人头大。
听说一杯没有喝完的珍珠奶茶应该这么扔
1、首先,没喝完的奶茶水要倒在水池里
2、珍珠,水果肉等残渣放进湿垃圾
3、把杯子要丢入干垃圾
4、接下来是盖子,如果是带盖子带热饮(比如大部分的热饮),塑料盖是可以归到可回收垃圾的嗷
看到这里,是不是大家突然都不想喝奶茶了呢,哈哈。不过不要紧,垃圾分类虽然要执行,但是奶茶也可以照喝。
那么,这里我们想讨论一下,人工智能和数据科学的方法能不能帮助我们进行更好的垃圾分类?这样我们不用为了不知道要扔哪个垃圾箱而烦恼。
2 思路
这问题的解决思路或许不止一条。这里只是抛砖引玉一下,提供一些浅显的见解。
第一种方案,可以把垃圾的信息制成表格化数据,然后用传统的机器学习方法。
第二种方案,把所有的垃圾分类信息做成知识图谱,每一次的查询就好像是在翻字典一样查阅信息。
第三种方案,可以借助现在的深度学习方法,来对垃圾进行识别和分类。每次我们给一张垃圾的图片,让模型识别出这是属于哪一种类别的:干垃圾,湿垃圾,有害垃圾还是可回收垃圾。
3 图像分类
图像分类是深度学习的一个经典应用。它的输入是一张图片, 然后经过一些处理,进入一个深度学习的模型,该模型会返回这个图片里垃圾的类别。这里我们考虑四个类别:干垃圾,湿垃圾,有害垃圾还是可回收垃圾。
(报纸 :可回收垃圾 )
(电池 :有害垃圾 )
(一次性餐盒 :干垃圾 )
我们对图片里的物品进行分类,这是图像处理和识别的领域。人工智能里提出了使用卷积神经网络(Convolutional Neural Network, CNN)来解决这一类问题。
我会用keras包和Tensorflow后端来建立模型。 由于训练集的样本暂时比较缺乏,所以这里只能先给一套思路和代码。训练模型的工作之前还得进行一波数据收集。
我们就先来看看代码大致长什么样吧
先导入一些必要的包。
再做一下准备工作。
在上面,我们初始化了一些变量,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 总结
值得一提的是,尽管方法上是有实现的可能,但是实际操作中肯定要更复杂的多,尤其是对精度有着很高的要求。
而且当一个图片里面包含着好几种垃圾种类,这也会让我们的分类模型开发变得很复杂,增加了难度。
比如,我们想要对一杯奶茶进行垃圾分类,照片里面是包含了多个垃圾的种类,这就比较头大了,因为这并不是属于单一的类别。
前路的困难肯定是有的,不过就当这里的分享是个抛砖引玉的起点吧。
毕竟李白也说了,“长风破浪会有时,直挂云帆济沧海”。
关注公众号「Python专栏」,回复关键字「机器学习电子书」获取100本机器学习电子书!
本文全套代码已上传至Github:https://github.com/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/DataScience/garbage_classification
还在被大妈灵魂拷问?使用Python轻松完成垃圾分类!相关推荐
- 告别大妈的灵魂拷问,Python 教你轻松完成垃圾分类!
作者 | 上海小胖 责编 | 伍杏玲 七月了,大家最近一定被一项新的政策给折磨得焦头烂额,那就是垃圾分类.<上海市生活垃圾管理条例>已经正式实施了,相信还是有很多的小伙伴和我一样,还没有完 ...
- python 图像识别分类_使用Python轻松完成垃圾分类(基于图像识别)
0 环境 Python版本:3.6.8 系统版本:macOS Mojave Python Jupyter Notebook 1 引言 七月了,大家最近一定被一项新的政策给折磨的焦头烂额,那就是垃圾分类 ...
- python垃圾分类源代码_Python学习:怕乱丢垃圾罚款?使用 Python 轻松完成垃圾分类...
七月了,大家最近一定被一项新的政策给折磨的焦头烂额,那就是垃圾分类.<上海市生活垃圾管理条例>已经正式实施了,相信还是有很多的小伙伴和我一样,还没有完全搞清楚哪些应该扔在哪个类别里.感觉每 ...
- 字节跳动,三轮面试,四个小时,灵魂拷问,结局我哭了但下次还敢...
写在开篇 去年的秋招对于我来说,那是非常的不顺利,所以今年的春招其实我也没有抱太大的希望,令我惊讶的是第一家给我面试机会的公司竟然是宇宙条.一开始接到面试通知时,心情特别复杂,紧张又兴奋,字节跳动是出 ...
- 秋招总结——字节跳动,三轮面试,四个小时,灵魂拷问,结局我哭了但下次还敢
写在开篇 和往年相比,今年的春招看上去不是那么顺利,多少都受疫情有所影响,但是令我惊讶的是第一家给我面试机会的公司竟然是宇宙条.一开始接到面试通知时,心情特别复杂,紧张又兴奋,字节跳动是出了名的考算法 ...
- 大规模集群故障处理,能抗住这3个灵魂拷问算你赢
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 我相信每一个集群管理员,在长期管理多个不同体量及应用场景的 ...
- 测试面试题集-MySQL数据库灵魂拷问加强版
VOL 168 22 2020-10 今天距2021年70天 这是ITester软件测试小栈第168次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 0 ...
- github 吐血整理:如何应对 HR 的灵魂拷问?
本文首发于小程序:编程面试题库 ,转载请保留出处. 最近趁着有时间,整理了一下关于 HR 的灵魂拷问系列,并新建了一个 github 仓库,欢迎持续关注.本文为节选部分内容,点击阅读原文可直达项目. ...
- 灵魂拷问:你看过Xgboost原文吗?
Datawhale 作者:小雨姑娘,Datawhale成员 事情的源头是这样的,某日我分享了一篇阿里机器学习工程师面试失败经历,其中提到了我回答关于Xgboost的部分,评论区的老哥就开始了灵魂拷问: ...
最新文章
- pytorch argsort
- python常用模块之shelve模块
- 【机器学习】基于opencv实现目标检测,error LNK2001: unresolved external symbol public: virtual bool CvSVM::train...
- 【rabbitmq安装教程】centos7下安装rabbitMQ
- android+查看内存容量apk,如何检查 Android 应用的内存使用情况
- 【Android 教程系列第 10 篇】史上最全的 Android 应用包名汇总,含主流应用商店包名,持续更新...
- android大智慧安装目录,大智慧的文件目录结构
- CodeBlocks 的下载安装
- 使用C++开发的NES(FC)模拟器
- 诸神之战!一文盘点中国“大模型”玩家们
- 【2021情人节主题征文】| 写了一个表白网页后,我跟女神在一起啦
- 客户订单管理系统使用教程
- iOS 作为蓝牙外设广播信息
- 银行业务用语大全(中英文)
- MAC下生成密钥,并使用ssh密钥登录
- 【杂货铺】中国房屋种类
- 英伟达凭借GPU与AI笑傲本届CES展会
- Mat 颜色空间转换
- 【redis源码学习】redisObject
- 一次Avira小红伞误删文件
热门文章
- linux图形化界面安装输入法,CentOS 7安装图像桌面、Ibus拼音输入法
- 三星s9android10,三星S10和三星S9相比哪款值得购买?三星S10和三星S9区别对比
- 【STM32学习】个人感悟
- LeetCode 57
- Unity中的关节组件和绳子效果的实现
- 您需要了解的有关Tesla Powerwall 2的一切(2020版)
- Revit二次开发-创建楼板钢筋
- 好好讲一讲:到底什么是Java架构师(含福利放送,名额有限)...
- No Shedule lines due for delivery up to the selected date
- RVO和ORCA它们是如何工作的?