基于深度学习的垃圾图片处理与识别
2021-04-25齐鑫宇龚劬李佳航何建龙
齐鑫宇 龚劬 李佳航 何建龙
摘要:针对城市环境卫生提出的对市民生活垃圾进行分类回收的要求,考虑计算机卷积神经网络在图片分类中的强大表现,提出了基于深度学习中卷积神经网络对垃圾图片处理以及输出识别的新模型与方法。针对目前图像局部特征表达存在的复杂性,模糊性等不足,采用特征多层池化以及系统神经网络学习的方式进行优化。同时在ResNet101模型的基础上设计并构建了基于CNN(Convolutional Neural Network)算法的新模型框架,此系统模型也能实现端与端的实时识别。新模型提高了对训练样本图像信息提取的精确度以及图片识别的准确率,实验表明识别准确率平均提高了10%。为未来实现人工智能垃圾分类提供图像识别模型基础。
关键词: 卷积神经网络;多层池化;垃圾分类;图像识别;实时识别
中图分类号: TP183 文献标识码:A
文章编号:1009-3044(2021)09-0020-05
开放科学(资源服务)标识码(OSID):
Deep Learning Based Garbage Image Processing and Recognition
QI Xin-yu1, GONG Qu2, LI Jia-hang1, HE Jian-long1
(1. School of Aeronautics and Astronautics, Chongqing University, Chongqing 400000, China;2. School of Mathematics and Statistics, Chongqing University, Chongqing 400000, China)
Abstract: In response to the requirement of urban environmental health to classify and recycle citizens' household garbage, a new model and method for garbage image processing and output recognition based on convolutional neural networks in deep learning is proposed considering the powerful performance of computer convolutional neural networks in image classification. For the shortcomings of the current image local feature representation such as complexity and ambiguity, feature multilayer pooling and systematic neural network learning are used for optimization. A new model based on the CNN (Convolutional Neural Network) algorithm is also designed and built on the basis of the ResNet101 model, and this system model can also achieve end-to-end real-time recognition. The new model improves the accuracy of image information extraction from training samples and the accuracy of image recognition, and experiments show that the recognition accuracy is improved by 10% on average. It provides the basis of image recognition model for future implementation of artificial intelligence garbage classification.
Key words:convolutional neural network;multilayer pooling;garbage classification;image recognition;Real-time identification
引言
隨着时代的进步,人民生活水平的提高,生活垃圾的急剧增加成为城市卫生保护工作的一大难点,其中有效垃圾的利用以及无效有害垃圾的回收成为处理垃圾问题的一个重点问题。许多城市提出了公民自行垃圾分类的要求,这在一定程度上缓解了城市垃圾分类处理问题的恶化,但由于垃圾种类繁多,分类标准复杂且难以准确区别,导致效果并不是很好。国内主要的回收厂大部分采用人工分拣,这种方式不仅效率低下,并且对劳动人员生命健康造成伤害[1, 2]。所以要想完全解决这个问题就要从科学生产力上来解决,利用人工智能自动化分拣,实现智能分类以及回收必然会成为未来垃圾处理的模式。要实现人工智能的智能分类就要让其有一双能够识别垃圾种类的“眼睛”—计算机视觉便是关键[3-6]。
深度学习方法下进行图像识别是计算视觉未来趋势,其可应用的范围广泛,在各个领域均有应用[7]。在人脸识别,场景识别以及农业种植领域上有很好的应用效果;在人脸识别领域,已有采用深度学习的自动人脸识别系统[8]广泛应用于高铁人脸识别等生活的方方面面;在场景识别领域,通过场景特征融合技术[9],实现提高了场景识别的精确度,是一种有效的解决方式;在农业种植领域,有人提出了一种基于叶片图像分类[10],利用深度卷积网络建立植物病害识别模型的新方法,为农业智能化改革提供了一种智能识别的方案。为解决垃圾人工识别麻烦的问题,本文提供一种利用深度学习中卷积神经网络算法进行垃圾图片处理与识别的模型,改进了深度神经网络框架的设计,采用多层池化,训练方法优化,图片前期优化解决图像局部特征提取模糊性与复杂性的不足。结合人工智能模式化的深度学习框架,对CNN(Convolutional Neural Network)开源算法进行设计,在原有的ResNet101模型的基础上提出了一种新型模型,极大地提高了模型的训练速度以及识别精确度,相比于原模型速度提前了1500步达到100%识别,运算时间提前了5分钟。通过模型训练测试以及端口图片识别率测试,得到较好的推算速度以及较高的分类准确率,与原模型相比识别准确率平均提高了10%。设计的新模型能实现大部分垃圾图片的识别与分类,满足基础实际应用的要求,能为实际工程应用提供参考,适用于其他领域同类问题。
1 基于深度学习的图像处理与识别模型
1.1 卷积神经网络
卷积神经网络是深度学习基本模型中具有保持图片原有维度,保留图片原有信息的重要模型。如图1所示,卷积神经网络的基本结构包括了卷积,池化,全连接等多个过程,并且重复多次卷积与池化过程,通过全连接映射到多分类标记维度上。观察结构图中卷积的过程,卷积神经单元以一定范围读取并识别图片局部特征,当其覆盖原图全局时,计算机便能通过总体分析获取所有特征的空间位置关系,是重要的扫掠步骤。
在卷积神经网络中卷积层通过滤波,对训练对象或者输入对象进行卷积。卷积的计算公式为:
[S(i,j)=(L*K)(i,j)=mnL(m,n)K(i-m,j-n)]. (1)
其中L为输入图像,K为卷积核,S为输出结果。
卷积之后的池化是将卷积运算后的特征图进行归纳缩减,将特征图的数据维度降低处理,避免在将特征值映射到设计者所需的高维度特征空间过程中出现过拟合化。池化计算公式为:
[Xij=fdownXi-1j+bij]. (2)
此公式包括了池化,加偏置与激活过程,其中down(*)表示池化操作,[Xij]表示第i层神经元中第j个特征图,[bij]为偏置,f(*)为激活函数。卷积和池化过程的原理是其单元以一定的步长移动,对图片数据提取与权重值做计算后,加上一定偏置值经过激活函数,按照顺序编排成特征图[3, 10, 11]。池化过程由设计者设计的卷积核数目与大小决定,合理的设计卷积核以及通道数目,能极大程度的提高训练速度以及对特殊情况下数据的抗畸变能力。激励层在整个卷积过程中起到非线性映射的作用,常用以Sigmoid, ELU等函数作为激励函数。经过一系列的卷积池化后,全连接层便会起到将多个特征值整合的作用,将局部的特征整合成能反映全图的全局特征,最后作为映射到分类器上的判断依据。
卷积网络在多个运算中使用的是相同的权值,极大地减少了参数的数量,减少了拟合程度,同时以一定步长对于图片进行扫描求值,减少了对空间存储的要求。等值扫描,权值共享,多核卷积的优点节约了计算空间与成本,减小了图片噪声影响,提高了运算的效率[12]。
1.2 图片局部特征提取优化
1.2.1 多层池化
图片提取的复杂性与模糊性通常与特征图的信息提取不全,精度低以及特征信息整合策略复杂有关。在进行图片特征提取时,由于单一尺度池化会在底层低维度特征图信息提取的过程中重复多次的保留众多的分辨率信息,而在高层的特征图信息中出现更多抽象含义的语言信息,致使冗杂信息提取过多,使各尺度特征图提取信息不全,对图片特征提取精确度下降。
为了精确的提取出多尺度的不同层次的特征,用多层次多尺度的池化取代单一池化,对高层次的不同尺度的特征图实行不同的池化操作。选取2×2池化,4×4池化,8×8池化作為不同的池化分支,三个不同的分支能在不同尺度上对图片的特征进行提取,提取出更加准确与全面的特征图信息。高层大尺度池化后将提取出的特征图形信息采样至下层的池化大小,再通过整合函数进行信息的整合,实现多层池化。其结构图如图2所示。多层池化实现了不同层次不同尺度的特征从局部到全局的特征信息的整合与融合,避免了层次信息缺失,有效地将高维度特征信息语义与低维度的基本信息结合,提高了提取的精确度,为训练速度与分类器分类提供了基本的信息要素。
1.2.2 图片前期处理与优化
由于神经网络在接受输入图片时,只能接受一个或几个固定的尺寸,原始图片数据集的尺寸又各式各样,所以将图片输入到卷积神经网络之前,对图片进行预处理以及优化是十分重要的。对图片前期的处理手段主要包括:图片裁剪,尺寸变化,滤波器去噪,灰度处理等。本文主要采取前三种手段对数据集图像进行处理[13]。
卷积训练前统一更改数据集中图像格式为jpg格式,并且将图片尺寸裁剪变化为300×300格式。同时将图片通过裁剪,反转,镜像的手段处理,进一步的增加数据集的数量,提高了数据的多样性,解决了数据集数量的问题。线性均值滤波去噪是在图像上对目标像素设定一定大小的模板,即以目标像素为中心的m×n的像素为一个模板,通过均值计算以全体像素的平均值赋值给原有的模板中心像素,其基本表达式为:
[f(x,y)=1mn(x,y)∈Sxyg(s,t)] . (3)
其中[fx,y]为滤波后的图像,[gx,y]指原始图像,[Sxy]指以[(x,y)]为中心,m×n大小的模板。图片通过均值滤波器能够去除由于外在因素造成的图片噪声,让图片平滑。采用均值滤波器去噪能够提高图片有效特征的提取,消除了图片受到光源,角度以及分辨率上的影响[14]。其处理效果如图3所示。
2 基于CNN算法的垃圾分类新模型
2.1 算法基础
激活函数是卷积神经网络重要的组成,过去激活函数经常选择sigmoid,Relu或tanh函数。我们选取Elu函数作为我们的激活函数并对其进行改进。Elu函数相比于其他三个函数作为激活函数,能加快激活速度,避免了在函数计算中需要计算指数与倒数的情况,节约了计算空间。其函数表达为:
[f(x)=xa(ex-1)x<0,x≥0] (4)
同时由于在反向神经元计算的过程中,每经过一个神经元,就要与函数自身倒数相乘,梯度会不断减小,但Elu函数在大于零的部分倒数为1,所以可以减轻有关梯度消失的情况,进而可以设计更多神经元的更加深入的网络[15]。
在经过特征信息提取后,特征信息需要通过softmax函数(即多分类函数)计算图像特征的占比。总体函数可表示为如下:
设一共有C个用数值表示的分类
[Sk,k∈0,C] (5)
其中C表示分类的个数。那么softmax计算公式为:
[pSi=egij=1Cegj] (6)
其中[gi]表示第i类前级输出单元的输出值。通过softmax函数计算的结果表示输入的图片分到不同类别的可能性,从而达到识别分类的效果。前期的卷积、池化和激活都是特征提取阶段的一部分,只有最终全连接层的softmax函数通过将特征空间映射到样本标签空间才算实现分类。全连接层的softmax函数计算相当于输入加权求和和偏置运算。
损失函数是影响图片特征信息损失值(Loss)大小的因素,选取对数似然函数为损失函数,考虑识别正确对象的损失,最大化的减小计算量。其公式如:
[L=-1ni=1nk=1CyikLnegkj=1Cegj.其中 yik=1,第i张图片为第k类时0,否则.] (7)
n为训练样本数量,C为可能类别数。损失值是基于softmax函数值计算而来的,softmax函数将网格最后的输出值转化成概率形式,再经过损失函数得到使识别最大概率的参数,使损失值最小,其过程同样受到训练模型参数[θ]的影响。其原理就是当正确类的输出值[PSi]接近于1时,[ L(θ)]接近于0;当输出值[PSi]越接近于0时,[L(θ)]值越大。设计出的损失函数满足可微分,光滑,凸函数的要求,提供了很好的收敛性[16]。
2.2 模型框架结构与数据集
我们在原有的ResNet101模型的基础上,针对其原模型存在的特征提取无用信息冗杂的问题,其无用信息包括底层分辨信息以及高层抽象语言信息。在新模型的设计中采用多层池化以及均值滤波器图片前处理的改进方法,用来解决其类别内差异过小难以区分以及无用信息冗杂问题。同时在ResNet101主干网络中,改变其原有的Relu激活函数,采用改进的Elu函数,进一步的改进了新模型的性能。
改进的ResNet101新模型含3个卷积层,包括3个10×10卷积核的卷积层和16个5×5卷积核的卷积层;池化层选用了8×8,4×4和2×2的池化层,进行多层次多尺度池化;一个全连接层,步长为2,全连接层含200个神经元。同时模型通过含果皮,纸箱,电池,厨余垃圾,灯泡,书本,鞋子,废衣服等25类的自定义数据集进行训练构建多分类识别神经网络。数据集在每个分类含10000张照片,选取其中5000张作为训练集,其余的作为测试集。模型结构流程如图4所示。模型的训练选择python中搭建Tensorflow2.30环境,应用其数据库,支持卷积网络的计算与分类器中函数的使用。
3 模型性能测试
3.1 训练精度测试
在测试模型训练性能之前,首先选取两张图片对卷积神经网络模型对图片特征提取的性能进行测试,抽样图如图5所示。对卷积层的特征提取进行可视化操作,在图6中展现了卷积层输出的效果。每进行一次就卷积就是对特征的一次提取,完成一次提取后会在池化层对原有图片进行抽象化的处理,再进入下一层卷积,图像会更加抽象,这也就是神经网络的特点,体现出很好的分类效果。为了验证模型的性能在原有基础上的提升,对此新模型和原ResNet101模型训练过程中的accuracy和loss进行统计与记录,并进行对比。其中loss值用来代表某个分类的概率,其大小越小则模型网络越快越准确。accuracy则是精确度,越大越好。在进行训练过程中,发现在800次训练后新模型精确度已能到达100%,并且loss不断减小。而未进行多尺度以及图片预处理的模型则在3500次左右达到100%,loss值不断减小,如表1所示。可以看出此模型在精度以及上有明显的提升,远超于普通模型,loss值远远小于未处理的模型。同时图7显示了训练新模型与未处理模型的在分类上的损失,新模型训练速度远快于原ResNet101模型,两者的损失值均随着迭代的进行逐渐减小,但前者下降的速率快于后者,說明了新模型的训练性能更好,有较好的提高。
3.2 端口图片识别测试
重新对十类垃圾进行训练以及测试,对十类垃圾分别各选取了100张随机图片作为识别对象应用于模型中进行模型的识别测试,图片试样以及各类第一张随机图片如图8所示。在图片经过softmax函数进行各类图片特征占比计算结果中,测试得到了区别较大的各类占比值,部分结果如表2所示,较大的特征占比的区别说明图片训练提取的特征鲜明,识别精度高。并且在端口识别中训练出的特征提取器对九类图片得到了平均92%识别率的结果,新模型与原ResNet101模型对十类垃圾分类结果如表3所示。
实验选取电脑配置如下: 内存32GB CPU为i7-7700HQ 2.80GHz GPU为 interl? HD Graphics 630和 NVIDIA GeForce GTX 1050 Ti。同时借助百度的AI图片端口,在Python语言的tkinter库设计了图片识别端口,以手机照相为前端读取模块,图片传输到后台处理模块,图片转入图片与处理模块后,输入至训练好的模型,进行识别。实时端口测试了对实时图片的识别与检测,检测与识别结果如图9所示。可以看出对图片中的垃圾识别无误,并且识别率高,能基本满足人工智能垃圾分类的识别要求,为其提供了一种可选的方案。
4 结论
(1)对卷积神经网络的结构,算法进行了总结,同时在原有的ResNet101模型基础上提出了基于深度学习中卷积神经网络对垃圾图片处理以及输出识别的新模型与方法。
(2)采用多层池化与均值滤波器去噪的方法对图片进行预处理,解决了目前卷积神经网络对图像局部特征提取与表达存在的模糊性,以及在ResNet101分类模型中信息不全以及占用无用信息占用空间过大的问题。
(3)通过基于CNN算法的新开源框架使用自定义数据集对模型训练精度与识别精度进行图形多分类实验,实验结果表明新模型在训练精度与速度相比于原ResNet101模型有明显的提高。训练结果相比原模型提前1500步达到100%识别以及提前5分钟;识别准确率提高10%。
(4)设计了实时图片识别的端口,借助外在摄像头连接进行识别,分类识别的性能得到了验证,为进一步实现人工智能垃圾分类提供了图像识别模型上的一种备选方案。
参考文献:
[1] 赵国莲.城市生活垃圾分类收集处理的现状及对策[J].环境与发展,2020,32(10):32-33,35.
[2] 马济飞.城市生活垃圾分类问题研究[J].环境与发展,2020,32(9):31,34.
[3] Bengio Y,Courville A,Vincent P.Unsupervised feature learning and deep learning:a review and new perspectives[J].Tpami,2013,35(1993):1-30.
[4] 刘波.计算机视觉研究综述[J].数字通信世界,2019(12):97.
[5] 逄淑超.深度学习在计算机视觉领域的若干关键技术研究[D].长春:吉林大学,2017.
[6] 郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36.
[7] 陈超,齐峰.卷积神经网络的发展及其在计算机视觉领域中的应用综述[J].计算机科学,2019,46(3):63-73.
[8] 崔茜.人脸识别领域技术综述[J].数码世界,2020(5):9.
[9] 刘中涛,胡凡,王淦,等.基于特征融合的深度学习场景识别与应用[J].计算机应用研究,2020,37(S1):418-420.
[10] Sladojevic S,Arsenovic M,Anderla A,et al.Deep neural networks based recognition of plant diseases by leaf image classification[J].Computational Intelligence and Neuroscience,2016,2016:3289801.
[11] Wan J,Wang D Y,Hoi S C H,et al.Deep learning for content-based image retrieval:a comprehensive study[C]//MM '14:Proceedings of the 22nd ACM international conference on Multimedia.2014:157-166.
[12] 董子源.基于深度学习的垃圾分类系统设计与实现[D].北京:中国科学院大学(中国科学院沈阳计算技术研究所),2020.
[13] 管美静,珠杰,吴燕如.图像去噪方法研究进展[J].计算機时代,2020(2):29-32,35.
[14] 曹妍,陈伟,徐森.图像去噪方法研究与仿真[J].软件,2015,36(4):33-36.
[15] 牟晋娟.深度神经网络中激活函数的研究[J].电脑编程技巧与维护,2019(12):59-61.
[16] 王红霞,周家奇,辜承昊,等.用于图像分类的卷积神经网络中激活函数的设计[J].浙江大学学报(工学版),2019,53(7):1363-1373.
【通联编辑:唐一东】