基于计算机视觉的可回收垃圾分类系统

**计算机系统的介绍

一 概要

   目前我国工业水平发展迅速,人工智能领域也迎来了飞速发展,面对日益严峻的环境治理问题,本文探讨了计算机视觉在垃圾分类中的可行性,并针对此项目制作了可回收垃圾数据集,使用深度学习模型对数据集进行训练,利用Tensorflow中的keras调用了几种迁移学习模型测试。研究发现Xception模型相对于InceptionV3和VGG16模型具有更快的训练速度和精度。最终选用Xception模型完成了对整个数据集的训练,为了实现可回收垃圾的实时检测,本文利用OpenCV捕获摄像头帧最终完成了系统的设计。此系统为我国环境治理提供了新思路,对于计算机视觉的应用前景有一定的影响。
关键词:计算机视觉;深度学习;图像分类

二、绪论

   可回收垃圾是指适宜回收循环使用和资源再利用的废物,主要分为纸类、塑料、金属、玻璃、纺织物五类,这五大分类都包括着我们生活中常见的垃圾,如纸类中的硬纸板,金属类中的易拉罐,纺织类中的衣物等等。
  要想利用计算机完成可回收垃圾的分类,首先得要让它能“认识”看到的垃圾图像,与人类相同,计算机要完成这项任务也需要进行大量的训练和学习。在机器学习中,深度学习是其最重要的一个分支,本论文也是基于深度学习搭建的神经网络进行训练完成的。
  深度学习是一项机器学习的算法,在图像处理方面,深度学习能提取到视频或者图片中的特征点,筛选出对人有利的部分。大多数现代的深度学习模型都是基于人工神经网络,尤其是卷积神经网络搭建的,与传统学习相比,深度学习具有的优势是巨大的,首先特征的提取就可以通过深度卷积神经网络自动完成,而且可以找到最明显的特征,而且经过深度学习的模型具有较好的精度和灵活性,我们可以随时更换自定义的数据集进行再次训练。总的来说,深度学习让计算机视觉在图像处理中的效果越来越优秀,除此之外深度学习还广泛应用在自然语言处理、药物发现、生物信息、医学图像等多个方面。

三、垃圾分类系统算法设计

3.1数据集的收集与制作

   在深度学习中,要想让神经网络具有较高的准确率,我们就需要搭载或使用更深的网络训练,这样才能提取出更多的图像特征。其实在深度学习中,数据集对于训练效率的影响也是不可忽视的,输入的图像种类、数量越多,神经网络学习到的东西也就越多,所以在训练时还需要大量的数据集作为输入,那么是不是只要找来大量的可回收垃圾图片直接作为数据集就可以了呢?其实不然,这个问题在2010就被李飞飞和她的团队所注意,他们发现采用大量且高质量的数据集进行训练能获得更好的效果。在他们的研究基础上创立了ImageNet—一个专门针对于计算机视觉的图像数据库,现在的ImageNet上已经拥有1400多万张具有标签的图片,2万多个分类,对于深度学习具有十分重要的影响。
  本论文主要研究可回收垃圾的分类,需要将常见的可回收垃圾分为纸质、塑料、金属、玻璃、织物五大类,将收集到的5183张图片放到对应的五个文件夹下,利用python中的glob函数读取文件路径,通过split函数对文件路径进行切割就能得到对应的标签。最后建立dict将图片和标签编号对应起来就能作为数据集进行训练了。在挑选数据集图像时,已经经过了一次筛选,让数据集里既有特征明显、容易识别的图片,也要有角度猎奇不易学习的图像,这样能让神经网络学习的范围更广,能够识别一些不常见的垃圾,接下来介绍在Tensorflow中制作数据集的方法。

3.2数据增强与图像预处理

  在深度学习的过程中往往会出现验证集的准确率不高,而这时就算继续增加训练次数也很难提升的情况,这个时候就要考虑是不是遇到了过拟合。
  所谓过拟合就是模型对于训练集的过度学习,由于我们在训练和验证时使用的数据不同,验证集中图像对于模型来说是完全陌生的,所以对于训练集拟合较好的模型在验证集里也会出现预测错误的情况。

3.2.1为什么会出现过拟合

  出现过拟合的原因有很多,但主要分为以下几点:
1)数据集的数量太少,模型不能从中学习到数据的特征和逻辑。
2)数据集图像里含有噪声并且噪声对于图像的影响过大,模型在训练时着重记住了噪声部分的特征,影响了模型的准确率。
3)模型太过复杂参数较多,这样在针对训练集训练时会花费太多时间准确率上升的速度也比较慢。
4)训练次数过多,模型将数据集中的所有特征都进行了拟合,这其中也包含了图像中的噪声,噪声在数据集中是随机的没有代表性,扰乱了模型对于数据的预测。

3.2.2 预防过拟合的方法

  既然模型出现过拟合现象的原因可以被找到,那我们只需针对以上几种情况进行处理就可以预防过拟合。首先最简单的就是训练次数过多出现的过拟合,只要我们在训练之前设置好验证集,在每一个epoch过后都用验证集进行一次验证,这样每轮训练的效果就能呈现出来,我们就可以针对自己的需求及时的停止训练。那么如果数据集里有噪声或者数据集过小怎么样才能避免过拟合或欠拟合呢?这时候就需要引入数据增强的概念。

3.2.3数据增强的几种方式

  数据增强顾名思义就是对已有的数据进行处理,让其更有代表性并增加数据集的大小。对于大多数的神经网络来说,越大的数据集训练出来的模型效果越好,数据增强可以帮助我们将小数据集利用到极致,这样我们在训练时也能得到不错的效果。
对于以下的几张图片:
在这里插入图片描述

图3-8 数据增强示例

四、 系统实现

4.1 设备介绍

   在本论文中设计的可回收垃圾分类系统操作系统为Windows7专业版64位,显卡为GTX1060,摄像头为工业级120度广角无畸变2.15mm-720p,此摄像头能保证捕获的帧图像足够清晰流畅,有利于神经网络预测。

4.2 系统工作流程图

在这里插入图片描述

图 4-1 系统流程图

4.3 垃圾分类结果展示

   现在有了训练好的模型以及结果显示程序,利用OpenCV的cv2.cameraCapture(1)调用外部摄像头,用生活中常见的易拉罐和玻璃杯来进行实验:
在这里插入图片描述

图 42金属物品识别与分类
在这里插入图片描述

图 43玻璃制品识别与分类
在这里插入图片描述

图 4-4 塑料制品识别与分类
在这里插入图片描述

图4-5 纸制品实时检测示例
  从图中可以看到,该系统可以精准的对常见的可回收垃圾进行识别,对于相似的玻璃和塑料也能区分,并将结果通过中文显示。

五、 结论

  在设计过程中首先制作了较小的可回收垃圾数据集,比较了Xception和VGG16模型对其的拟合能力,最终得出Xception拥有更快的拟合速度和准确度。在结果显示上解决了OpenCV不支持打印中文的问题,使得国人对该系统的接受度更高。
  对于本文中的可回收垃圾分类系统还是有一些不足之处,例如可以通过机械手实现对垃圾的自动分拣,然后在垃圾检测算法方面提高稳定性和准确度,Xception的学习范围还可以增加,识别更多种类的垃圾。在结果显示方面可以加入目标检测功能,实现同屏多个垃圾的分类。

六、 文章目录

目录
第1章 引言4
1.1 选题的背景和意义4
1.2 国内外研究现状分析4
1.3 研究的主要内容及预期目标5
第2章 深度学习理论的介绍6
2.1 卷积神经网络6
2.2 图像的分类模型8
2.2.1 VGG16模型8
2.2.2 InceptionV3模型与Xception模型9
2.2.2 两种模型的训练测试11
2.3深度学习框架11
2.3.1 Tensorflow介绍11
2.3.2 Tensorflow2.2-GPU安装12
2.3.3 keras框架12
第3章 垃圾分类系统算法设计13
3.1 数据集的收集与制作13
3.2 数据增强与图像预处理14
3.2.1 为什么会出现过拟合15
3.2.2 预防过拟合的方法15
3.2.3 数据增强的几种方式15
3.2.4 Dropout层16
3.3 创建Dataset数据通道17
3.4 使用迁移学习模型训练17
3.5 使用OpenCV抓取摄像头帧并识别18
3.5.1 OpenCV介绍19
3.5.2 结果显示(中文)19
第4章 可回收垃圾分类系统介绍20
4.1 设备介绍20
4.2 垃圾分类结果展示21
第5章 结论与改进展望21
致谢22

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值