Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI助你应对“你(扔的)是那种垃圾”的灵魂拷问

AI助你应对“你(扔的)是那种垃圾”的灵魂拷问

作者头像
数据森麟
发布于 2019-09-27 07:48:41
发布于 2019-09-27 07:48:41
5000
举报
文章被收录于专栏:数据森麟数据森麟

作者 | 视说君 来源 | 视说AI

让垃圾自动分类

近期垃圾分类成为了一个热门话题,原来直接一次性扔掉的垃圾,现在都需要分门别类进行投放。从今年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(垃圾分类数量),同时在训练过程中冻结了部分卷积层参数的更新。此外还进一步利用水平翻转、随机裁剪和色彩抖动等方式对训练的“垃圾”图像进行数据增强。在完成垃圾自动分类器的训练后,我们对一些垃圾进行了自动分类的测试,虽然对复杂的情况还是存在一定的误判,但大部分常见的垃圾都得到了正确的区分。

从单个垃圾分类到一群垃圾分类

上一节中我们介绍了垃圾自动分类器的构建,但是这样的垃圾分类器的输入都是单个垃圾图像。在实际的垃圾分类投放过程中,对单个的垃圾进行一一拍照分类显得过于繁琐和缓慢。那能不能对一群垃圾直接拍照后进行批量分类呢?要实现对一群垃圾的批量分类,其实就是要构建一个垃圾的目标检测器。输入一张含有多个垃圾的图像,让模型输出图像上每种垃圾对应的类别。

在深度学习出现之前,可变形部件模型(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


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据森麟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
程序员如何不被垃圾分类逼疯?
今天是《上海市生活垃圾管理条例》施行的第2天,这场被称为“史上最严”垃圾分类多次成功占据热搜头条。
养码场
2019/07/09
8940
程序员如何不被垃圾分类逼疯?
百万奖金悬赏AI垃圾分类,就问你来不来?
虽然只有可回收物、有害垃圾、干垃圾和湿垃圾四种分类,但面对现实生活中“丰富多彩”的垃圾,市民们还是被搞得“晕头转向”、“丈二和尚摸不着头脑”。
AI科技大本营
2019/08/16
7470
百万奖金悬赏AI垃圾分类,就问你来不来?
我用飞桨做了一个可回收垃圾材料分类机
随着社会生产力的发展,工业化、城镇化的兴起和人口增加,人类社会产生的垃圾与日俱增,加剧了全球范围内的资源短缺和环境污染,对自然环境和人体健康带来了巨大的挑战。
用户1386409
2020/03/24
8580
我用飞桨做了一个可回收垃圾材料分类机
【AI 进阶笔记】cv 小白初上手 Kaggle Person-Collecting-Waste COCO Dataset
在计算机视觉的领域,目标检测(Object Detection)是一个非常重要的任务。与传统的分类任务不同,目标检测不仅要求模型判断图片中有哪些物体,还需要精确地确定物体在图像中的位置。Faster R-CNN 是一种强大的目标检测模型,广泛应用于图像识别、自动驾驶、视频分析等场景。
繁依Fanyi
2025/04/04
1510
基于卷积神经网络的垃圾图像分类算法
垃圾分类作为资源回收利用的重要环节之一, 可以有效地提高资源回收利用效率, 进一步减轻环境污染带 来的危害. 随着现代工业逐步智能化, 传统的图像分类算法已经不能满足垃圾分拣设备的要求. 本文提出一种基于 卷积神经网络的垃圾图像分类模型 (Garbage Classification Network, GCNet). 通过构建注意力机制, 模型完成局部 和全局的特征提取, 能够获取到更加完善、有效的特征信息; 同时, 通过特征融合机制, 将不同层级、尺寸的特征进 行融合, 更加有效地利用特征, 避免梯度消失现象. 实验结果证明, GCNet 在相关垃圾分类数据集上取得了优异的 结果, 能够有效地提高垃圾识别精度.
小白学视觉
2022/02/14
1.1K0
基于卷积神经网络的垃圾图像分类算法
旷视首席孙剑:视觉计算前沿进展
5月8日上午,旷视首席科学家、西交大人工智能学院院长孙剑博士在线做了一场“视觉计算的前沿进展”的报告,报告是由「信息技术新工科产学研联盟」主办的人工智能教育线上公开课。
AI科技评论
2020/05/14
8120
旷视首席孙剑:视觉计算前沿进展
图像处理之目标检测的入门总结
目标检测,object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。
double
2020/05/25
1.4K0
CNN+transformer入门学习
先取得输入的图像,再采用选择性搜索(Selective Search)算法,自下而上提取大约2000个区域,再用大型卷积神经网络(CNN)对每个提取区域的特征进行分析,并最终采用特定的类线性SVM对各区域进行分类 。
柳神
2024/05/30
2120
CNN--卷积神经网络从R-CNN到Faster R-CNN的理解(CIFAR10分类代码)
上图中CNN要做的事情是:给定一张图片,是车还是马未知,是什么车也未知,现在需要模型判断这张图片里具体是一个什么东西,总之输出一个结果:如果是车 那是什么车。
mantch
2019/08/14
9420
基于深度学习的地面垃圾识别分类技术
随着全球对垃圾分类与资源回收的重视,传统的人工分类方法因效率低下、误差率高而面临诸多挑战。AI平台通过结合深度学习和计算机视觉技术,提供了一种高效、精准的垃圾识别与自动分类解决方案,助力城市环境管理的智能化升级。平台集成了高精度图像识别算法、复杂环境下的多模态数据分析能力及实时数据处理技术,使垃圾分类流程更加高效、智能化。该系统适用于市政环卫、垃圾处理厂和智能回收设备等场景,显著提升管理效率并降低人工成本。
思通数科
2024/11/09
4660
基于深度学习的地面垃圾识别分类技术
目标检测系列之二(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN)
目标检测系列之二(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN)
Minerva
2020/05/25
1.3K0
基于深度学习的目标检测算法综述
目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一。由于各类物体有不同的外观,形状,姿态,加上成像时光照,遮挡等因素的干扰,目标检测一直是机器视觉领域最具有挑战性的问题。本文将针对目标检测(Object Detection)这个机器视觉中的经典任务进行解析,抛砖引玉。如对文中的内容持不同观点,欢迎到SIGAI公众号发消息给我们,一起探讨!
SIGAI学习与实践平台
2018/08/07
1.4K0
基于深度学习的目标检测算法综述
计算机视觉中的物体检测方法
本文适合刚入门物体检测的人群学习,不涉及公式推理。 目录 *摘要 *相关物体检测数据集介绍 *现有的主流物体检测算法 *物体检测的难点与挑战 *相关术语介绍 *物体检测的传统算法概述 *基于深度学习的物体检测算法 R-CNN Fast-RCNN Faster-RCNN YOLO *物体检测动手实践 *参考文献 摘要 相比于图像分类,图像中物体检测是计算机视觉中一个更加复杂的问题,因为图像分类只需要判断出图像属于哪一类就行,而在物体检测中,图像里可能有多个物体,我们需要对所有
张俊怡
2018/04/24
1K0
计算机视觉中的物体检测方法
2019 年的目标检测指南
目标检测在视频监控、自动驾驶汽车、目标/人跟踪等领域得到了广泛的应用。在本文中,我们将了解目标检测的基础知识,并回顾一些最常用的算法和一些全新的方法。
AI科技评论
2019/08/15
5530
目标检测论文解读之RCNN
最近准备开始认真的梳理一下目标检测的相关算法,组合成一个目标检测算法系列。之前看到了一张特别好的目标检测算法分类的甘特图,但忘记是哪里的了,要是原始出处请提醒我标注。
BBuf
2019/12/04
7070
目标检测论文解读之RCNN
【个人整理】faster-RCNN的背景、结构以及大致实现架构(一)
前言:faster-RCNN是区域卷积神经网络(RCNN系列)的第三篇文章,是为了解决select search方法找寻region proposal速度太慢的问题而提出来的,整个faster-RCNN的大致框架依然是沿袭了fast-RCNN的基本能结构,只不过在region proposal的产生上面应用了专门的技术手段——区域推荐网络(region proposal network,即RPN),这是整个faster最难以理解的地方,本文也将以他为重点进行说明。鉴于篇幅较长,本次系列文章将分为3篇来说明:
小草AI
2019/06/02
6.8K0
基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测
对于一张图片,R-CNN基于selective search方法大约生成2000个候选区域,然后每个候选区域被resize成固定大小(227×227)并送入一个CNN模型中,使用AlexNet来提取图像特征,最后得到一个4096维的特征向量。然后这个特征向量被送入一个多类别SVM分类器中,预测出候选区域中所含物体的属于每个类的概率值。每个类别训练一个SVM分类器,从特征向量中推断其属于该类别的概率大小。为了提升定位准确性,R-CNN最后又训练了一个边界框回归模型。训练样本为(P,G),其中P=(Px,Py,Pw,Ph)为候选区域,而G=(Gx,Gy,Gw,Gh)为真实框的位置和大小。G的选择是与P的IoU最大的真实框,回归器的目标值定义为:
机器学习AI算法工程
2019/10/29
4.4K0
基于CNN目标检测方法(RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN,YOLO,SSD)行人检测
深度学习经典网络解析:8.R-CNN
  目标检测(Object Detection) 就是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,通俗点说就是给定一张图片要精确的定位到物体所在位置,并完成对物体类别的识别。其准确性和实时性是整个系统的一项重要能力。
AiCharm
2023/05/15
6810
深度学习经典网络解析:8.R-CNN
干货 | 深度学习时代的目标检测算法
AI 科技评论按:本文作者 Ronald,首发于作者的知乎专栏「炼丹师备忘录」,AI 科技评论获其授权转发。 目前目标检测领域的深度学习方法主要分为两类:two stage 的目标检测算法;one s
AI科技评论
2018/03/07
1.7K0
干货 | 深度学习时代的目标检测算法
PaddlePaddle实战 | 经典目标检测方法Faster R-CNN和Mask R-CNN
机器视觉领域的核心问题之一就是目标检测(objectdetection),它的任务是找出图像当中所有感兴趣的目标(物体),确定其位置和大小。作为经典的目标检测框架FasterR-CNN,虽然是2015年的论文,但是它至今仍然是许多目标检测算法的基础,这在飞速发展的深度学习领域十分难得。而在FasterR-CNN的基础上改进的MaskR-CNN在2018年被提出,并斩获了ICCV2017年的最佳论文。Mask R-CNN可以应用到人体姿势识别,并且在实例分割、目标检测、人体关键点检测三个任务都取得了很好的效果。因此,百度深度学习框架PaddlePaddle开源了用于目标检测的RCNN模型,从而可以快速构建强大的应用,满足各种场景的应用,包括但不仅限于安防监控、医学图像识别、交通车辆检测、信号灯识别、食品检测等等。
用户1386409
2019/06/10
2.4K0
PaddlePaddle实战 | 经典目标检测方法Faster R-CNN和Mask R-CNN
推荐阅读
相关推荐
程序员如何不被垃圾分类逼疯?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档