齊鑫宇 龔劬 李佳航 何建龍
摘要:針對城市環(huán)境衛(wèi)生提出的對市民生活垃圾進行分類回收的要求,考慮計算機卷積神經(jīng)網(wǎng)絡(luò)在圖片分類中的強大表現(xiàn),提出了基于深度學(xué)習中卷積神經(jīng)網(wǎng)絡(luò)對垃圾圖片處理以及輸出識別的新模型與方法。針對目前圖像局部特征表達存在的復(fù)雜性,模糊性等不足,采用特征多層池化以及系統(tǒng)神經(jīng)網(wǎng)絡(luò)學(xué)習的方式進行優(yōu)化。同時在ResNet101模型的基礎(chǔ)上設(shè)計并構(gòu)建了基于CNN(Convolutional Neural Network)算法的新模型框架,此系統(tǒng)模型也能實現(xiàn)端與端的實時識別。新模型提高了對訓(xùn)練樣本圖像信息提取的精確度以及圖片識別的準確率,實驗表明識別準確率平均提高了10%。為未來實現(xiàn)人工智能垃圾分類提供圖像識別模型基礎(chǔ)。
關(guān)鍵詞: 卷積神經(jīng)網(wǎng)絡(luò);多層池化;垃圾分類;圖像識別;實時識別
中圖分類號: TP183? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)09-0020-05
開放科學(xué)(資源服務(wù))標識碼(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
引言
隨著時代的進步,人民生活水平的提高,生活垃圾的急劇增加成為城市衛(wèi)生保護工作的一大難點,其中有效垃圾的利用以及無效有害垃圾的回收成為處理垃圾問題的一個重點問題。許多城市提出了公民自行垃圾分類的要求,這在一定程度上緩解了城市垃圾分類處理問題的惡化,但由于垃圾種類繁多,分類標準復(fù)雜且難以準確區(qū)別,導(dǎo)致效果并不是很好。國內(nèi)主要的回收廠大部分采用人工分揀,這種方式不僅效率低下,并且對勞動人員生命健康造成傷害[1, 2]。所以要想完全解決這個問題就要從科學(xué)生產(chǎn)力上來解決,利用人工智能自動化分揀,實現(xiàn)智能分類以及回收必然會成為未來垃圾處理的模式。要實現(xiàn)人工智能的智能分類就要讓其有一雙能夠識別垃圾種類的“眼睛”—計算機視覺便是關(guān)鍵[3-6]。
深度學(xué)習方法下進行圖像識別是計算視覺未來趨勢,其可應(yīng)用的范圍廣泛,在各個領(lǐng)域均有應(yīng)用[7]。在人臉識別,場景識別以及農(nóng)業(yè)種植領(lǐng)域上有很好的應(yīng)用效果;在人臉識別領(lǐng)域,已有采用深度學(xué)習的自動人臉識別系統(tǒng)[8]廣泛應(yīng)用于高鐵人臉識別等生活的方方面面;在場景識別領(lǐng)域,通過場景特征融合技術(shù)[9],實現(xiàn)提高了場景識別的精確度,是一種有效的解決方式;在農(nóng)業(yè)種植領(lǐng)域,有人提出了一種基于葉片圖像分類[10],利用深度卷積網(wǎng)絡(luò)建立植物病害識別模型的新方法,為農(nóng)業(yè)智能化改革提供了一種智能識別的方案。為解決垃圾人工識別麻煩的問題,本文提供一種利用深度學(xué)習中卷積神經(jīng)網(wǎng)絡(luò)算法進行垃圾圖片處理與識別的模型,改進了深度神經(jīng)網(wǎng)絡(luò)框架的設(shè)計,采用多層池化,訓(xùn)練方法優(yōu)化,圖片前期優(yōu)化解決圖像局部特征提取模糊性與復(fù)雜性的不足。結(jié)合人工智能模式化的深度學(xué)習框架,對CNN(Convolutional Neural Network)開源算法進行設(shè)計,在原有的ResNet101模型的基礎(chǔ)上提出了一種新型模型,極大地提高了模型的訓(xùn)練速度以及識別精確度,相比于原模型速度提前了1500步達到100%識別,運算時間提前了5分鐘。通過模型訓(xùn)練測試以及端口圖片識別率測試,得到較好的推算速度以及較高的分類準確率,與原模型相比識別準確率平均提高了10%。設(shè)計的新模型能實現(xiàn)大部分垃圾圖片的識別與分類,滿足基礎(chǔ)實際應(yīng)用的要求,能為實際工程應(yīng)用提供參考,適用于其他領(lǐng)域同類問題。
1 基于深度學(xué)習的圖像處理與識別模型
1.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習基本模型中具有保持圖片原有維度,保留圖片原有信息的重要模型。如圖1所示,卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括了卷積,池化,全連接等多個過程,并且重復(fù)多次卷積與池化過程,通過全連接映射到多分類標記維度上。觀察結(jié)構(gòu)圖中卷積的過程,卷積神經(jīng)單元以一定范圍讀取并識別圖片局部特征,當其覆蓋原圖全局時,計算機便能通過總體分析獲取所有特征的空間位置關(guān)系,是重要的掃掠步驟。
在卷積神經(jīng)網(wǎng)絡(luò)中卷積層通過濾波,對訓(xùn)練對象或者輸入對象進行卷積。卷積的計算公式為:
[S(i,j)=(L*K)(i,j)=mnL(m,n)K(i-m,j-n)].? ?(1)
其中L為輸入圖像,K為卷積核,S為輸出結(jié)果。
卷積之后的池化是將卷積運算后的特征圖進行歸納縮減,將特征圖的數(shù)據(jù)維度降低處理,避免在將特征值映射到設(shè)計者所需的高維度特征空間過程中出現(xiàn)過擬合化。池化計算公式為:
[Xij=fdownXi-1j+bij].? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
此公式包括了池化,加偏置與激活過程,其中down(*)表示池化操作,[Xij]表示第i層神經(jīng)元中第j個特征圖,[bij]為偏置,f(*)為激活函數(shù)。卷積和池化過程的原理是其單元以一定的步長移動,對圖片數(shù)據(jù)提取與權(quán)重值做計算后,加上一定偏置值經(jīng)過激活函數(shù),按照順序編排成特征圖[3, 10, 11]。池化過程由設(shè)計者設(shè)計的卷積核數(shù)目與大小決定,合理的設(shè)計卷積核以及通道數(shù)目,能極大程度的提高訓(xùn)練速度以及對特殊情況下數(shù)據(jù)的抗畸變能力。激勵層在整個卷積過程中起到非線性映射的作用,常用以Sigmoid, ELU等函數(shù)作為激勵函數(shù)。經(jīng)過一系列的卷積池化后,全連接層便會起到將多個特征值整合的作用,將局部的特征整合成能反映全圖的全局特征,最后作為映射到分類器上的判斷依據(jù)。
卷積網(wǎng)絡(luò)在多個運算中使用的是相同的權(quán)值,極大地減少了參數(shù)的數(shù)量,減少了擬合程度,同時以一定步長對于圖片進行掃描求值,減少了對空間存儲的要求。等值掃描,權(quán)值共享,多核卷積的優(yōu)點節(jié)約了計算空間與成本,減小了圖片噪聲影響,提高了運算的效率[12]。
1.2 圖片局部特征提取優(yōu)化
1.2.1 多層池化
圖片提取的復(fù)雜性與模糊性通常與特征圖的信息提取不全,精度低以及特征信息整合策略復(fù)雜有關(guān)。在進行圖片特征提取時,由于單一尺度池化會在底層低維度特征圖信息提取的過程中重復(fù)多次的保留眾多的分辨率信息,而在高層的特征圖信息中出現(xiàn)更多抽象含義的語言信息,致使冗雜信息提取過多,使各尺度特征圖提取信息不全,對圖片特征提取精確度下降。
為了精確的提取出多尺度的不同層次的特征,用多層次多尺度的池化取代單一池化,對高層次的不同尺度的特征圖實行不同的池化操作。選取2×2池化,4×4池化,8×8池化作為不同的池化分支,三個不同的分支能在不同尺度上對圖片的特征進行提取,提取出更加準確與全面的特征圖信息。高層大尺度池化后將提取出的特征圖形信息采樣至下層的池化大小,再通過整合函數(shù)進行信息的整合,實現(xiàn)多層池化。其結(jié)構(gòu)圖如圖2所示。多層池化實現(xiàn)了不同層次不同尺度的特征從局部到全局的特征信息的整合與融合,避免了層次信息缺失,有效地將高維度特征信息語義與低維度的基本信息結(jié)合,提高了提取的精確度,為訓(xùn)練速度與分類器分類提供了基本的信息要素。
1.2.2 圖片前期處理與優(yōu)化
由于神經(jīng)網(wǎng)絡(luò)在接受輸入圖片時,只能接受一個或幾個固定的尺寸,原始圖片數(shù)據(jù)集的尺寸又各式各樣,所以將圖片輸入到卷積神經(jīng)網(wǎng)絡(luò)之前,對圖片進行預(yù)處理以及優(yōu)化是十分重要的。對圖片前期的處理手段主要包括:圖片裁剪,尺寸變化,濾波器去噪,灰度處理等。本文主要采取前三種手段對數(shù)據(jù)集圖像進行處理[13]。
卷積訓(xùn)練前統(tǒng)一更改數(shù)據(jù)集中圖像格式為jpg格式,并且將圖片尺寸裁剪變化為300×300格式。同時將圖片通過裁剪,反轉(zhuǎn),鏡像的手段處理,進一步的增加數(shù)據(jù)集的數(shù)量,提高了數(shù)據(jù)的多樣性,解決了數(shù)據(jù)集數(shù)量的問題。線性均值濾波去噪是在圖像上對目標像素設(shè)定一定大小的模板,即以目標像素為中心的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 算法基礎(chǔ)
激活函數(shù)是卷積神經(jīng)網(wǎng)絡(luò)重要的組成,過去激活函數(shù)經(jīng)常選擇sigmoid,Relu或tanh函數(shù)。我們選取Elu函數(shù)作為我們的激活函數(shù)并對其進行改進。Elu函數(shù)相比于其他三個函數(shù)作為激活函數(shù),能加快激活速度,避免了在函數(shù)計算中需要計算指數(shù)與倒數(shù)的情況,節(jié)約了計算空間。其函數(shù)表達為:
[f(x)=xa(ex-1)x<0,x≥0]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
同時由于在反向神經(jīng)元計算的過程中,每經(jīng)過一個神經(jīng)元,就要與函數(shù)自身倒數(shù)相乘,梯度會不斷減小,但Elu函數(shù)在大于零的部分倒數(shù)為1,所以可以減輕有關(guān)梯度消失的情況,進而可以設(shè)計更多神經(jīng)元的更加深入的網(wǎng)絡(luò)[15]。
在經(jīng)過特征信息提取后,特征信息需要通過softmax函數(shù)(即多分類函數(shù))計算圖像特征的占比??傮w函數(shù)可表示為如下:
設(shè)一共有C個用數(shù)值表示的分類
[Sk,k∈0,C]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
其中C表示分類的個數(shù)。那么softmax計算公式為:
[pSi=egij=1Cegj]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
其中[gi]表示第i類前級輸出單元的輸出值。通過softmax函數(shù)計算的結(jié)果表示輸入的圖片分到不同類別的可能性,從而達到識別分類的效果。前期的卷積、池化和激活都是特征提取階段的一部分,只有最終全連接層的softmax函數(shù)通過將特征空間映射到樣本標簽空間才算實現(xiàn)分類。全連接層的softmax函數(shù)計算相當于輸入加權(quán)求和和偏置運算。
損失函數(shù)是影響圖片特征信息損失值(Loss)大小的因素,選取對數(shù)似然函數(shù)為損失函數(shù),考慮識別正確對象的損失,最大化的減小計算量。其公式如:
[L=-1ni=1nk=1CyikLnegkj=1Cegj.其中 yik=1,第i張圖片為第k類時0,否則.]? ? ? ? ? ? ? ? ? ? ? ? (7)
n為訓(xùn)練樣本數(shù)量,C為可能類別數(shù)。損失值是基于softmax函數(shù)值計算而來的,softmax函數(shù)將網(wǎng)格最后的輸出值轉(zhuǎn)化成概率形式,再經(jīng)過損失函數(shù)得到使識別最大概率的參數(shù),使損失值最小,其過程同樣受到訓(xùn)練模型參數(shù)[θ]的影響。其原理就是當正確類的輸出值[PSi]接近于1時,[ L(θ)]接近于0;當輸出值[PSi]越接近于0時,[L(θ)]值越大。設(shè)計出的損失函數(shù)滿足可微分,光滑,凸函數(shù)的要求,提供了很好的收斂性[16]。
2.2 模型框架結(jié)構(gòu)與數(shù)據(jù)集
我們在原有的ResNet101模型的基礎(chǔ)上,針對其原模型存在的特征提取無用信息冗雜的問題,其無用信息包括底層分辨信息以及高層抽象語言信息。在新模型的設(shè)計中采用多層池化以及均值濾波器圖片前處理的改進方法,用來解決其類別內(nèi)差異過小難以區(qū)分以及無用信息冗雜問題。同時在ResNet101主干網(wǎng)絡(luò)中,改變其原有的Relu激活函數(shù),采用改進的Elu函數(shù),進一步的改進了新模型的性能。
改進的ResNet101新模型含3個卷積層,包括3個10×10卷積核的卷積層和16個5×5卷積核的卷積層;池化層選用了8×8,4×4和2×2的池化層,進行多層次多尺度池化;一個全連接層,步長為2,全連接層含200個神經(jīng)元。同時模型通過含果皮,紙箱,電池,廚余垃圾,燈泡,書本,鞋子,廢衣服等25類的自定義數(shù)據(jù)集進行訓(xùn)練構(gòu)建多分類識別神經(jīng)網(wǎng)絡(luò)。數(shù)據(jù)集在每個分類含10000張照片,選取其中5000張作為訓(xùn)練集,其余的作為測試集。模型結(jié)構(gòu)流程如圖4所示。模型的訓(xùn)練選擇python中搭建Tensorflow2.30環(huán)境,應(yīng)用其數(shù)據(jù)庫,支持卷積網(wǎng)絡(luò)的計算與分類器中函數(shù)的使用。
3 模型性能測試
3.1 訓(xùn)練精度測試
在測試模型訓(xùn)練性能之前,首先選取兩張圖片對卷積神經(jīng)網(wǎng)絡(luò)模型對圖片特征提取的性能進行測試,抽樣圖如圖5所示。對卷積層的特征提取進行可視化操作,在圖6中展現(xiàn)了卷積層輸出的效果。每進行一次就卷積就是對特征的一次提取,完成一次提取后會在池化層對原有圖片進行抽象化的處理,再進入下一層卷積,圖像會更加抽象,這也就是神經(jīng)網(wǎng)絡(luò)的特點,體現(xiàn)出很好的分類效果。為了驗證模型的性能在原有基礎(chǔ)上的提升,對此新模型和原ResNet101模型訓(xùn)練過程中的accuracy和loss進行統(tǒng)計與記錄,并進行對比。其中l(wèi)oss值用來代表某個分類的概率,其大小越小則模型網(wǎng)絡(luò)越快越準確。accuracy則是精確度,越大越好。在進行訓(xùn)練過程中,發(fā)現(xiàn)在800次訓(xùn)練后新模型精確度已能到達100%,并且loss不斷減小。而未進行多尺度以及圖片預(yù)處理的模型則在3500次左右達到100%,loss值不斷減小,如表1所示??梢钥闯龃四P驮诰纫约吧嫌忻黠@的提升,遠超于普通模型,loss值遠遠小于未處理的模型。同時圖7顯示了訓(xùn)練新模型與未處理模型的在分類上的損失,新模型訓(xùn)練速度遠快于原ResNet101模型,兩者的損失值均隨著迭代的進行逐漸減小,但前者下降的速率快于后者,說明了新模型的訓(xùn)練性能更好,有較好的提高。
3.2 端口圖片識別測試
重新對十類垃圾進行訓(xùn)練以及測試,對十類垃圾分別各選取了100張隨機圖片作為識別對象應(yīng)用于模型中進行模型的識別測試,圖片試樣以及各類第一張隨機圖片如圖8所示。在圖片經(jīng)過softmax函數(shù)進行各類圖片特征占比計算結(jié)果中,測試得到了區(qū)別較大的各類占比值,部分結(jié)果如表2所示,較大的特征占比的區(qū)別說明圖片訓(xùn)練提取的特征鮮明,識別精度高。并且在端口識別中訓(xùn)練出的特征提取器對九類圖片得到了平均92%識別率的結(jié)果,新模型與原ResNet101模型對十類垃圾分類結(jié)果如表3所示。
實驗選取電腦配置如下: 內(nèi)存32GB CPU為i7-7700HQ 2.80GHz GPU為 interl? HD Graphics 630和 NVIDIA GeForce GTX 1050 Ti。同時借助百度的AI圖片端口,在Python語言的tkinter庫設(shè)計了圖片識別端口,以手機照相為前端讀取模塊,圖片傳輸?shù)胶笈_處理模塊,圖片轉(zhuǎn)入圖片與處理模塊后,輸入至訓(xùn)練好的模型,進行識別。實時端口測試了對實時圖片的識別與檢測,檢測與識別結(jié)果如圖9所示??梢钥闯鰧D片中的垃圾識別無誤,并且識別率高,能基本滿足人工智能垃圾分類的識別要求,為其提供了一種可選的方案。
4 結(jié)論
(1)對卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),算法進行了總結(jié),同時在原有的ResNet101模型基礎(chǔ)上提出了基于深度學(xué)習中卷積神經(jīng)網(wǎng)絡(luò)對垃圾圖片處理以及輸出識別的新模型與方法。
(2)采用多層池化與均值濾波器去噪的方法對圖片進行預(yù)處理,解決了目前卷積神經(jīng)網(wǎng)絡(luò)對圖像局部特征提取與表達存在的模糊性,以及在ResNet101分類模型中信息不全以及占用無用信息占用空間過大的問題。
(3)通過基于CNN算法的新開源框架使用自定義數(shù)據(jù)集對模型訓(xùn)練精度與識別精度進行圖形多分類實驗,實驗結(jié)果表明新模型在訓(xùn)練精度與速度相比于原ResNet101模型有明顯的提高。訓(xùn)練結(jié)果相比原模型提前1500步達到100%識別以及提前5分鐘;識別準確率提高10%。
(4)設(shè)計了實時圖片識別的端口,借助外在攝像頭連接進行識別,分類識別的性能得到了驗證,為進一步實現(xiàn)人工智能垃圾分類提供了圖像識別模型上的一種備選方案。
參考文獻:
[1] 趙國蓮.城市生活垃圾分類收集處理的現(xiàn)狀及對策[J].環(huán)境與發(fā)展,2020,32(10):32-33,35.
[2] 馬濟飛.城市生活垃圾分類問題研究[J].環(huán)境與發(fā)展,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].數(shù)字通信世界,2019(12):97.
[5] 逄淑超.深度學(xué)習在計算機視覺領(lǐng)域的若干關(guān)鍵技術(shù)研究[D].長春:吉林大學(xué),2017.
[6] 鄭遠攀,李廣陽,李曄.深度學(xué)習在圖像識別中的應(yīng)用研究綜述[J].計算機工程與應(yīng)用,2019,55(12):20-36.
[7] 陳超,齊峰.卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展及其在計算機視覺領(lǐng)域中的應(yīng)用綜述[J].計算機科學(xué),2019,46(3):63-73.
[8] 崔茜.人臉識別領(lǐng)域技術(shù)綜述[J].數(shù)碼世界,2020(5):9.
[9] 劉中濤,胡凡,王淦,等.基于特征融合的深度學(xué)習場景識別與應(yīng)用[J].計算機應(yīng)用研究,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] 董子源.基于深度學(xué)習的垃圾分類系統(tǒng)設(shè)計與實現(xiàn)[D].北京:中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計算技術(shù)研究所),2020.
[13] 管美靜,珠杰,吳燕如.圖像去噪方法研究進展[J].計算機時代,2020(2):29-32,35.
[14] 曹妍,陳偉,徐森.圖像去噪方法研究與仿真[J].軟件,2015,36(4):33-36.
[15] 牟晉娟.深度神經(jīng)網(wǎng)絡(luò)中激活函數(shù)的研究[J].電腦編程技巧與維護,2019(12):59-61.
[16] 王紅霞,周家奇,辜承昊,等.用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)中激活函數(shù)的設(shè)計[J].浙江大學(xué)學(xué)報(工學(xué)版),2019,53(7):1363-1373.
【通聯(lián)編輯:唐一東】