新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 基于Tensorflow的智能垃圾分类系统的研究与设计

基于Tensorflow的智能垃圾分类系统的研究与设计

作者:祝朝坤,魏伦胜时间:2020-05-27来源:电子产品世界收藏

  祝朝坤,魏伦胜(郑州工商学院,河南 郑州 451400)

本文引用地址:http://www.eepw.com.cn/article/202005/413611.htm

  摘 要:本研究旨在开发一种基于的深度学习应用程序,该应用程序通过图像处理检测垃圾中的垃圾类型。为了提供最有效的方法,本研究对众所周知的深度卷积神经网络体系结构进行了实验。经测试的准确率要优于其他同类模型。本研究的模型是经过精心优化的深度卷积神经网络体系结构,用于对选定的可回收对象类别进行分类,其数据将通过硬件端进行分析进而控制整个系统。

  关键词:

  0 引言

  使用传统的工艺对垃圾进行分类,需要增加人力和物力以及时间。在当前人工智能越来越普及的大时代背景之下,利用图像处理对垃圾进行分类是一种非常有效的方法。本研究的主要目的是设计一种基于深度学习算法的全自动系统来对常见垃圾进行分类。深度学习的方法已经成功应用到了各个领域,例如自动驾驶、医学成像和多种工业环境,在对象检测问题上取得了显著成果。

  1 系统结构流程图

  由框图可以知道本系统主要是由软件和硬件的组合,其中算法处理部分在PC端进行,将垃圾置于挡板上,由PC端进行图像处理分割以及数据集的训练和识别,继而通过蓝牙将数据发送到MCU核心端控制垃圾桶旋转,与此同时,挡板打开,垃圾落入指定的格子内,从而完成垃圾自动分类。舵机用于控制挡板的开启以及关闭,步进电机控制垃圾桶精确角度的旋转,TTS串口语音播报模块实时播报当前的垃圾种类,进而由OLED显示出来,以方便使用者查看信息。

微信截图_20200608161539.jpg

  2 硬件设计

  硬件端以F1为核心,控制OLED模块、蓝牙模块、TTS语音模块以及步进电机,通过各种硬件实现了各种功能,硬件系统总体结构如图2。

1591604532463157.jpg

  3 算法设计

  本研究的核心是TensorFlow,其用于数据集模型的训练,从而提升图像识别的准确率以及实现精准分类。

  3.1 数据集的训练

  本研究的重点是对可回收材料进行分类,该研究目的是识别一些最常见的可回收材料,例如玻璃,纸张,纸板,塑料,金属和垃圾。由于没有公开的垃圾数据集,故在该研究中需要手工收集自己的图像数据集,由于每一类的规模较小,所以对每一幅垃圾图像都进行了图像处理。包括图像的随机旋转、图像的随机亮度控制、图像的随机平移、图像的随机缩放和图像的随机剪切,此外还执行了均值减法和归一化。数据集包含六类可回收对象,数据集的图像具有白色背景,每张照片都会选择不同的方向和曝光度。图3显示了来自数据集的部分样本图像。

1591604600730712.jpg

  3.2 CNN 卷积神经网络

  CNN旨在明确用于图像分类,该算法首先从数据集中输入图像,它将输入作为激活量,也将输出作为激活量。因此,在CNN中,中间层不像普通的人工神经网络那样是法向量,而是具有高度,宽度和深度的空间维度。该算法主要分为三层:卷积层、最大池化层和全连接层。

  卷积层:该层接收一些输入量,在这种情况下,图像将具有特定的高度,宽度和深度。它存在一些过滤器,它们基本上是由随机数初始化的矩阵。滤镜在空间上较小,但深度与输入图像的通道相同,对于RGB,滤镜的深度为3,对于灰度,滤镜的深度为1,依此类推,过滤器在输入量上进行卷积。它在图像中进行空间滑动,并在整个图像中计算点积,过滤器最终为输入图像生成激活图。点积的计算方式如下:

微信截图_20200608161253.png

  其中 W = 滤波器、 x = 输入图像 b = 偏差,在每个卷积层的末端,CNN最终会获取滤波器的激活图。激活函数为ReLu:

微信截图_20200608161258.png

  此激活函数最终会舍弃零以下的值,即将最小值阈值设为零。

  最大池化层:最大池化基本上只是激活映射的下采样层,通常使用 2 2 × 过滤器和步长为2的最大池化层,最终将输入激活图缩小为一半的空间图。池化的另一种方法是平均池化,在这种方法中,子矩阵的最大值保留为下一层的平均值而不是最大值。

  完全连接层:完全连接层在最后将体积作为输入,它像正常的神经网络一样完全连接到整个输入量,该层执行最后一个矩阵乘法器以计算输出。

  在传统的多层神经网络中,神经元第一层与下一层中的所有神经元相连;卷积层在上一层的输出上建立本地连接,全连接层执行矩阵乘法,卷积层使用卷积过程,如等式(1)所示的线性数学过程:

微信截图_20200608161332.png

  当等式1被用于连续域时,可以得到等式2的情况:

微信截图_20200608161356.png

  x [k] 在等式2中可以写成 x [k−j] , 同 样 ,x [k−j]可以在等式中转换为 x [k+j]。如等式3,它并不影响结果。

微信截图_20200608161412.png

  在进行卷积过程中,w是卷积层的滤波器,x是这一层的输入, f ( . ) 是激活函数sigmoid,是将输入向量与卷积层上神经元的权重向量 ( w ) 执行点积的一个数学过程。步幅 ( ζ ) 是一个参数,可以定义为卷积过程中过滤器窗口输入窗口上的偏移量,也可在等式4中被计算出来:

微信截图_20200608161437.png

  采用正整数 ζ 参数的原因是在卷积过程中加入样本稀疏函数来减小卷积过程中输入的大小。

  该研究对CNN的多种模型进行了实验,最终发现inception-v4提供了更稳定的训练和更高的准确性。

  3.3 试验结果以及数据

  CNN算法工作在两阶段循环中,即正向传播和反向传播,在前向通过过程中,图像将传递到上述每个层,并计算输出。将预期输出与实际输出进行比较,并计算误差,在计算出误差之后,该算法随后调整权重。滤波器的权重的调整是反向传播阶段,此阶段与优化技术(例如梯度下降)结合使用,以尽可能降低误差,随后将数据集中的所有图像调整为256x256,然后再作为输入(input)输入到网络。

  损失是使用二进制交叉输入法计算的,优化器使用的是RMSprop。CNN在GTX 750Ti上接受了大约3–3.5小时的训练。由于使用扩展样本进行输入,所以即使增加了数据集的大小,它们也具有高度相关性,但这可能导致数据过拟合,通过调节网络的熵容量(模型中存储的信息量)解决了过拟合问题。本研究使用了非常小的CNN,几乎没有图层,每层只有很少的过滤器,同时数据增加和丢失(loss)为0.5,从而有助于减少过度拟合的情况。而为了判断模型是否过拟合,是否需要停止训练,则需要依靠验证集,即一边训练一边验证,从图4的实验结果可知,训练值一直低于验证值,未处于过拟合状态,最终实验数据如表1。

  4 OpenCV图像处理

  本研究中,OpenCV用于对图像的采集以及预处理,此外,OpenCV也用于对输出结果进行处理。

  4.1 形态学处理以及图像不变矩

  图像处理包括将RGB图像转换为灰度图像,然后将其二值化。此阶段从图像中删除了不必要的特征。图像由Microsoft Webcam VX-6000采集并转换为灰度,获得灰度图像后,为了使灰度图像仅具有两种颜色(分别为0和255),应用了二值化处理,图5为相关算法流程图。

微信截图_20200608161629.jpg

  本研究用力矩描述图像而不是使用其他更常用的图像特征(例如宽度和高度),这意味着使用图像的全局属性而不是局部属性。该方法对于选择从目标垃圾中提取的一组数字属性很有用,以便于进行分类。

  4.2 图像分割

  处理步骤(分割)涉及将对象与背景和其他对象区分开,在此步骤中,使用了非常通用的图像处理方法,即:

  a)边界检测(Canny算法)。

  b)阈值以与背景隔离并消除噪声。

  c)高斯模糊以柔化细节并过滤噪声。

  d)从彩色到黑白和二值图像的转换,使用饱和通道来帮助寻找边界。

  e)二值图像中的轮廓检测以单独分析对象。

  阈值化采用Otsu算法,使用一个阈值将像素划分为两个类,其定义为每个群集的方差的加权和:

微信截图_20200608161454.png

  其中 n B 与 n o 是阈值以下和之上的像素数,而 δ B 与δ o 分别是它们的方差。 T 是选择的阈值。该研究使用Ostu算法的意义是仅考虑边界附近的像素,因此这样应用的阈值倾向于保持边界上的分离,图像分割实际效果如图6。

微信截图_20200608161637.jpg

  5 结论

  随着处理大数据的深度网络架构的出现,在不执行其他任何功能的情况下,就准确性,可扩展性,适应性而言,深度学习提供了同类最佳的性能。本文提出了使用深度学习实现全自动垃圾分类的想法,而无需进行人工操作。要实现它,系统将使用庞大的数据集,用于对象检测的模式预测和训练算法。后期进一步的工作包括实时优化各种离散输入的结果和预测精度。这种方法有助于降低污染水平,从长远来看,其重点是发展通用垃圾分类框架,可以将输入图像的数据集更改为更多的特定场景,用于应用程序的执行。例如,该系统可用于对快餐店以及其他各个公共场合的垃圾进行分类。

  参考文献:

  [1] Mohammadi M, Al-Fuqaha A, Sorour S, et al. Deeplearning for IoT big data and streaming analytics: Asurvey[J]. IEEE Communications Surveys & Tutorials, 2018,20(4): 2923-2960.

  [2] Chu Y, Huang C, Xie X, et al. Multilayer hybrid deep-learning method for waste classification and recycling[J].Computational Intelligence and Neuroscience, 2018, 2018.

  [3] Liu Y, Ge Z, Lv G, et al. Research on AutomaticGarbage Detection System Based on Deep Learning andNarrowband Internet of Things[C]//Journal of Physics:Conference Series. IOP Publishing, 2018, 1069(1): 012032.

  [4] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf,“DeepFace: closing the gap to human-level performancein face verification,” in Proceedings of Computer Visionand Pattern Recognition (CVPR), 2014 IEEE Conference,Columbus, OH, USA, 2014.

  [5] Chen G, Wang H, Zheng J. Application of ImageRecognition Technology in Garbage ClassificationEducation Platform[C]//2019 5th International Conferenceon Control, Automation and Robotics (ICCAR). IEEE, 2019:290-294.

  [6] Sudha S, Vidhyalakshmi M, Pavithra K, et al. Anautomatic classification method for environment: Friendlywaste segregation using deep learning[C]//2016 IEEETechnological Innovations in ICT for Agriculture and RuralDevelopment (TIAR). IEEE, 2016: 65-70.

  [7] Lee S H, Yeh C H, Hou T W, et al. A LightweightNeural Network Based on AlexNet-SSD Model forGarbage Detection[C]//Proceedings of the 2019 3rdHigh Performance Computing and Cluster TechnologiesConference. 2019: 274-278.

  (注:本文来源于科技期刊《电子产品世界》2020年第06期第71页,欢迎您写论文时引用,并注明出处。)



评论


相关推荐

技术专区

关闭