
让垃圾自动分类
近期垃圾分类成为了一个热门话题,原来直接一次性扔掉的垃圾,现在都需要分门别类进行投放。从今年7月1日起,新的《上海市生活垃圾管理条例》正式开始施行,号称史上最严的垃圾分类就要来了。我们以后在扔垃圾前都要先将垃圾仔细分成可回收物、有害垃圾、湿垃圾和干垃圾四个类别,如果分错还会被罚款。
垃圾分类可以更好地保护我们的环境卫生,为了让大家能够正确对垃圾进行分类,官方发布了垃圾分类指南,列举了每种类别对应的常见垃圾,大家可以对照着进行分类投放。此外,脑洞大开的网友们也另辟蹊径,提供了各种有意思的分类思路。
在日常生活中,每个类别的垃圾往往包含了各式各样的内容,人们在分类投放的时候难免会出现偏差,这个时候如果有一个分类神器对垃圾拍个照就能告诉我们是什么类别就好了。
当前人工智能飞速发展,我们能否利用AI技术来对垃圾自动分类,实现上面提到的设想呢?为了回答这个问题,在今天的文章中,我们将从人工智能的角度出发,尝试利用深度学习技术来构建一个垃圾自动分类器,同时也会进一步介绍AI垃圾分类遇到的挑战和一些思考。
“垃圾”图像数据准备
为了实现一个理想的垃圾自动分类器,需要有一个已经分好类别的“垃圾”图像数据集作为训练的基础。然而当前并没有这样一个可以直接使用的数据集,所以我们首先自己动手收集海量的“垃圾”图像并为每张图像标注上相应的类别。
数据集的收集一直是一件耗时耗力的工作,为了快速便捷地完成“垃圾”图像数据集的收集,我们依据官方发布的垃圾分类指南上每一类所包含的垃圾名称,通过在百度图片上爬取名称对应的图像来实现。官方发布的垃圾分类指南如下图所示。
在实际的应用场景中,待分类的样本往往是不可控的,所以一般会增加“其他”这个类别用来收留各种异常样本。在垃圾分类中,除可回收物、有害垃圾和湿垃圾外都属于干垃圾,所以干垃圾已经扮演了“其他”的角色。我们的“垃圾”图像数据集最终分为可回收垃圾、有害垃圾、湿垃圾和干垃圾四个类别。数据集的部分图像如下图所示。
垃圾自动分类器
垃圾自动分类本质上是一个图像分类问题,当前基于深度卷积神经网络的图像分类算法发展很快,各种方法层出不穷。下面我们先回顾这些分类网络的演进思路,再进一步将分类算法应用于垃圾分类,介绍构建一个垃圾自动分类器的流程和细节。
卷积神经网络的开山之作LeNet于1998年被提出,并成功应用于手写体识别。LeNet和现在的网络结构相比虽然简单(如上图所示),但是卷积层、池化层和全连接层这些基本模块都已经具备。
随着ReLU和dropout的提出,以及GPU和大规模数据集的出现,卷积神经网络在2012年迎来了历史突破,AlexNet的出现让卷积神经网络开始逐渐成为计算机视觉任务的标配。在AlexNet的基础上,以增加网络深度为思路,出现了VGGNet;以增强卷积模块为思路,出现了基于Inception的一系列网络。
随着后来居上的ResNet的提出,层数极深的网络成为了可能。通过引入残差模块,缓解了深度网络训练过程中的梯度消失问题,让网络的深度不断加大,网络性能也得到了大幅提升。之后的DenseNet更是通过对特征图的稠密连接,加强了特征的传递,继续提升分类效果。当前ResNet及其变种形式已经被广泛地应用于图像分类任务,同时也成为了在解决目标检测和图像分割等其他计算机视觉问题时常用的主干网络结构。
在本文中,我们使用50层的ResNet来构建垃圾自动分类器。具体我们采用在ImageNet数据集上预训练的ResNet50模型参数作为初始化,利用上一节中收集的“垃圾”图像数据集对其进行微调。
其中我们将上述ResNet50的最后一层输出从1000(ImageNet数据集的分类数量)修改为4(垃圾分类数量),同时在训练过程中冻结了部分卷积层参数的更新。此外还进一步利用水平翻转、随机裁剪和色彩抖动等方式对训练的“垃圾”图像进行数据增强。在完成垃圾自动分类器的训练后,我们对一些垃圾进行了自动分类的测试,准确率达到近90%。虽然对复杂的情况还是存在一定的误判,但大部分常见的垃圾都得到了正确的区分,具有较强的实用性。
从单个垃圾分类到一群垃圾分类
上一节中我们介绍了垃圾自动分类器的构建,但是这样的垃圾分类器的输入都是单个垃圾图像。在实际的垃圾分类投放过程中,对单个的垃圾进行一一拍照分类显得过于繁琐和缓慢。那能不能对一群垃圾直接拍照后进行批量分类呢?要实现对一群垃圾的批量分类,其实就是要构建一个垃圾的目标检测器。输入一张含有多个垃圾的图像,让模型输出图像上每种垃圾对应的类别。
在深度学习出现之前,可变形部件模型(DPM)一直是流行的目标检测方法。深度学习出现后,以R-CNN、Fast R-CNN、Faster R-CNN为代表的两阶段算法和以YOLOv1-3、SSD、RetinaNet为代表的单阶段算法成为主流。前者是先由算法生成一系列待检测目标的候选框,再通过卷积神经网络进行候选框的分类;后者则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理。
和垃圾分类器一样,一个理想的垃圾检测器,需要大量的“垃圾”标注数据来支撑。但是与分类数据集相比,检测数据集除了标注类别外还要标注图位置坐标,这样的标注工作更为艰巨。在完成垃圾检测的图像数据集后,就可以利用当前主流的深度学习检测算法来实现批量垃圾的分类。
写在最后
垃圾分类最近成为了大家生活中经常讨论的话题,这篇文章分享了如何利用深度学习技术来构建一个垃圾自动分类器,也进一步介绍了从单个垃圾分类到批量垃圾分类的思路和挑战。
在实际的垃圾分类中,由于垃圾多种多样,同一类别的垃圾可能差异很大,而不同类别的垃圾可能差异很小,在复杂情况下分类器效果可能会不尽如人意,后续可以考虑加入垃圾之间的高层次语义关系信息,进一步提升分类器的性能。最后希望大家都能做到正确的垃圾分类投放,毕竟生活不易,还是不要被罚款。
一些资料
[1] Deep Residual Learning for Image Recognition
[2] ImageNet Classification with Deep Convolutional Neural Networks
[3] Very Deep Convolutional Networks for Large-Scale Image Recognition
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10