楊旺功,趙一飛
(北京印刷學(xué)院新媒體學(xué)院,北京 102600)
垃圾分類是解決垃圾問題的有效途徑。雖然我國已經(jīng)多年嘗試推廣垃圾分類,但由于城市居民環(huán)保意識和責(zé)任感缺失,且我國垃圾分類體系不完善,實際推行效果并未達(dá)到預(yù)期效果。中國城市環(huán)境衛(wèi)生協(xié)會提供的數(shù)據(jù)顯示,目前我國人均生活垃圾年產(chǎn)量為440公斤,全國城市垃圾的年產(chǎn)量達(dá)1.5億噸,且每年以8%到10%的速度增長,全國歷年垃圾存量已超過60億噸。全國688座城市(除縣城外)已有2/3的大中城市遭遇垃圾問題,每年因垃圾造成的資源損失價值在250億—300億元[1]。
居民將生活垃圾投放于垃圾收集容器后,被小型環(huán)保專用收集車運(yùn)輸至垃圾轉(zhuǎn)運(yùn)站,再由專用密閉型垃圾車運(yùn)輸至垃圾處理終端地點(diǎn)進(jìn)行統(tǒng)一處理。當(dāng)前國內(nèi)垃圾分類處理是以人工流水線分揀的方式為主,此方法不僅成本高、勞動強(qiáng)度大、效率低下,已經(jīng)不能滿足目前垃圾處理需求。此外,人工分揀出錯率高、速度慢,從而導(dǎo)致大部分可重復(fù)利用的垃圾被焚燒或填埋。隨著深度學(xué)習(xí)在計算機(jī)視覺領(lǐng)域的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)的圖像分類取得顯著成果,使得利用利用計算機(jī)視覺完成垃圾自動分類成為可能,將深度學(xué)習(xí)模型與機(jī)械自動化技術(shù)融合,應(yīng)用于垃圾分類處理的工作流程,實現(xiàn)基于深度學(xué)習(xí)的垃圾分類系統(tǒng),提高垃圾處理的自動化水平和可回收垃圾的利用率。因此,基于卷積神經(jīng)網(wǎng)絡(luò)的垃圾圖像分類算法的研究,具有重要的研究價值。
早期對垃圾圖像分類的研究采用的是經(jīng)典圖像分類算法[2-5],需要手工選取特征,并使用分類器完成分類任務(wù)。由于傳統(tǒng)分類算法需要手工提取圖像特征,算法的魯棒性較差,處理時間長、過程復(fù)雜,無法達(dá)到實時處理的效果。隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的發(fā)展,已經(jīng)被廣泛應(yīng)用于計算機(jī)視覺任務(wù)。作為數(shù)據(jù)驅(qū)動的算法,卷積神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)簡單、訓(xùn)練參數(shù)少,自動特征提取的特點(diǎn)。AlexNet[6]在2012年ImageNet競賽中以絕對優(yōu)勢大敗所有基于非深度學(xué)習(xí)模型,從而奠定了深度學(xué)習(xí)在視覺任務(wù)中的地位。隨后,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)迅猛發(fā)展,如GoogleNet[7]、VGGNet[8]、ResNet[9]等算法有效提升了圖像分類的精度?;趫D像的垃圾分類任務(wù),在深度學(xué)習(xí)的推動下也得到了的長足的發(fā)展。斯坦福大學(xué)的Mindy Yang和Gary Thung創(chuàng)建TrashNet數(shù)據(jù)集,該數(shù)據(jù)集包括6個類別,其中每個圖像僅出現(xiàn)一種類型的垃圾[10]。Ozkaya等在TrashNet數(shù)據(jù)集上比較不同CNN的分類性能,并自建卷積神經(jīng)網(wǎng)絡(luò)和微調(diào),取得了良好的分類效果[11]。Mittal等自建數(shù)據(jù)集GINI,搭建卷積神經(jīng)網(wǎng)絡(luò)GarbNet,最終實現(xiàn)了87.69%的準(zhǔn)確率。向偉等使用CaffeNet,調(diào)整卷積核尺寸和網(wǎng)絡(luò)深度,在自建的垃圾圖像數(shù)據(jù)集上獲得95.75%的準(zhǔn)確率[12]。國內(nèi)基于深度學(xué)習(xí)的垃圾圖像分類研究較少,本文提出一種基于雙線性卷積神經(jīng)網(wǎng)絡(luò)的垃圾圖像分類算法(Trash Classification Net,TCNet),在網(wǎng)絡(luò)結(jié)構(gòu)中融合了注意力機(jī)制模塊,提高了模型在垃圾分類任務(wù)上的準(zhǔn)確性與魯棒性。
本文構(gòu)建了垃圾圖像分類模型TCNet,其包括特征提取器、分類器兩部分,神經(jīng)網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1所示。特征提取器由EfficientNet_B3[13]作為主干部分,并在特征提取器之后加入注意力機(jī)制模塊,最后對兩個網(wǎng)絡(luò)提取的特征進(jìn)行雙線性乘積運(yùn)算,以獲得輸入圖像的雙線性特征。分類器由兩層全連接層,設(shè)置每層的隨機(jī)失活率為0.1,最后接Softmax分類器,對特征提取的特征進(jìn)行分類。
圖1 TCNet網(wǎng)絡(luò)結(jié)構(gòu)
研究發(fā)現(xiàn),人類視覺處理圖像時使用兩條通路,即腹側(cè)通路和背側(cè)通路。腹側(cè)通路處理物體的形狀及輪廓,專注于物體的類型識別;背側(cè)通路主要處理物體的空間信息,專注于物體定位。受人類視覺識別機(jī)制的思想啟發(fā),B-CNN[14]采用雙鏈路的方式,其結(jié)構(gòu)如圖1所示。
B-CNN模型F由一個四元組表示
F=(fA,fB,P,C)
(1)
fA、fB表示特征提取函數(shù),P為池化函數(shù),C為分類函數(shù)。
特征提取函數(shù)f(·)可表示為映射關(guān)系f:L×I→Rc×D,將輸入圖像I和位置L映射為c×D維的特征向量。采用外積運(yùn)算的方法融合fA,fB的輸出,得到雙線性特征。池化函數(shù)P將所有位置的雙線性特征聚合為一個特征φ(I)。如下式
(2)
式中,l為L的子區(qū)域,B表示雙線性操作。
B(l,L,fA,fB)=fA(l,I)TfB(l,I)
(3)
外積運(yùn)算的過程,需要對其中一個特征進(jìn)行轉(zhuǎn)置運(yùn)算,輸出特征的維度與卷積特征通道對應(yīng),且不同通道表示不同層次的語義特征。雙線性模型的外積運(yùn)算,可以得到不同語義對象間的關(guān)系。由于卷積特征對絕對位置不敏感,且不同語義對象的相對位置較穩(wěn)定。因此,雙線性網(wǎng)絡(luò)的外積運(yùn)算可定位語義特征,能夠在一定程度上模擬人類視覺處理機(jī)制。
EfficientNet-B3是系列高效網(wǎng)絡(luò)模型EfficientNet中的一種。通常對基準(zhǔn)網(wǎng)絡(luò)提升,對輸入圖像大小、網(wǎng)絡(luò)的深度和寬度(通道數(shù))進(jìn)行擴(kuò)展。文獻(xiàn)[13]對分辨率、深度和寬度三個維度進(jìn)行綜合研究,提出了協(xié)調(diào)三個維度的模型復(fù)合縮放方法。作者設(shè)計了結(jié)合MBConv和squeeze and excitation方法的EfficientNet-B0作為基準(zhǔn)網(wǎng)絡(luò),其核心網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 EfficientNet-B0核心結(jié)構(gòu)示意圖
在基準(zhǔn)網(wǎng)絡(luò)EfficientNet-B0基礎(chǔ)上,利用復(fù)合縮放方法對三個維度(分辨率、深度和寬度)進(jìn)行調(diào)整優(yōu)化,以期獲得在一定資源限定條件下的準(zhǔn)確率高的模型。其中圖像分辨率、深度和寬度的對應(yīng)關(guān)系如下式(4)所示
depth:d=αφ
width:w=βφ
resolution:r=γφ
s.t.α·β2·γ2≈2,
α≥1,β≥1,γ≥1.
(4)
其中,α、β、γ是搜索神經(jīng)網(wǎng)絡(luò)所得的常數(shù);φ是由計算資源確定的常數(shù);d、w、r分別表示復(fù)合縮放調(diào)整后的網(wǎng)絡(luò)寬度、深度和分辨率;其約束條件是設(shè)定的計算量變換倍數(shù)。
視覺注意力機(jī)制(Attention Mechanism)是模仿人類大腦視覺系統(tǒng)所特有的信號處理機(jī)制。人類視覺會快速掃描整幅圖像,重點(diǎn)關(guān)注目標(biāo)區(qū)域的高價值信息和興趣區(qū)域;自動忽略低價值信息。人類視覺注意力機(jī)制有效提高了視覺信息處理的效率和準(zhǔn)確性。注意力機(jī)制最先應(yīng)用于自然語言處理之后被應(yīng)用于計算機(jī)視覺,有效提升了深度學(xué)習(xí)模型的分類、識別和預(yù)測的準(zhǔn)確性及效率。注意力機(jī)制的數(shù)學(xué)表達(dá)為
(5)
其中,x表示注意力網(wǎng)絡(luò)的輸入;Z表示特征圖像,A表示輸出;Fφ表示注意力生成函數(shù)。根據(jù)網(wǎng)絡(luò)中注意力機(jī)制結(jié)構(gòu)不同,可分為2種:空間注意力[15](Spatial Attention)和通道注意力[16](Channel Attention)。
1)位置注意力機(jī)制
位置注意力機(jī)制是通過提取特征圖任意兩個位置的相關(guān)性和依賴性。利用空間注意力模塊生成一個空間注意力特征圖,其本質(zhì)是利用任意兩點(diǎn)特征之間的關(guān)聯(lián),來相互增強(qiáng)各自特征的表達(dá)。通過計算空間關(guān)聯(lián)度的方法獲得位置權(quán)重,有效彌補(bǔ)膨脹卷積造成的空間信息丟失和提高小目標(biāo)的檢測率。位置注意力機(jī)制的模型結(jié)構(gòu)如圖3所示。
圖3 空間注意力模塊
首先特征圖A經(jīng)過卷積操作得到三個特征圖B、C、D,維度均為C×H×W,隨后將B、C、D進(jìn)行維度轉(zhuǎn)換為C×N(N=H×W);矩陣B的轉(zhuǎn)置與C相乘,通過softmax獲得空間注意力特征S(N×N);矩陣S的轉(zhuǎn)置乘以D,乘以尺度系數(shù)后(維度為C×H×W),再與特征圖A相加,得到輸出E(維度為C×H×W)。其數(shù)學(xué)表達(dá)如下式所示
(6)
其中,i,j分別表示維度轉(zhuǎn)換后N的序列。
(7)
2)通道注意力機(jī)制
通常對卷積、池化層之后,對每一個通道的特征圖進(jìn)行相同的操作,認(rèn)為每一個通道同等重要。真實情況是不同卷積核生成的特征圖對于分類任務(wù)的重要性不同,通道注意力機(jī)制可以為不同通道的特征圖賦予不同的權(quán)重,有效地過濾通道信息。圖4是通道注意力機(jī)制模型結(jié)構(gòu)。
圖4 通道注意力模塊
在通道注意力模塊中,對特征圖的空間維度進(jìn)行壓縮操作(1×1×C),然后進(jìn)行激發(fā)操作,為每個特征通道生成權(quán)重值,最后將該權(quán)重應(yīng)用于原來的每個特征通道。對于特定的分類任務(wù),訓(xùn)練過程即為訓(xùn)練通道的權(quán)重。
實驗采用由斯坦福大學(xué)Gary Thung和Mindy Yang收集的垃圾圖像數(shù)據(jù)集TrashNet,其圖像分類為硬紙板、玻璃、金屬、紙張、塑料或垃圾,測試數(shù)據(jù)集樣本總數(shù)為2527張。
圖5 垃圾圖像分類數(shù)據(jù)集樣本
本研究按訓(xùn)練與驗證樣本的比例為7:3進(jìn)行隨機(jī)劃分。最終訓(xùn)練樣本1769幅圖像,驗證樣本758幅圖像,各分類的樣本分布如表1所示。
表1 實驗樣本分別情況
本研究的實驗電腦配置為PC Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz的CPU、8GB的Nvidia Geforce GTX 1070 GPU和64G運(yùn)行內(nèi)存。所有的程序均是由Python語言編寫并調(diào)用CUDA、Cudnn、OPENCV庫并在Windows7統(tǒng)下運(yùn)行。
本研究采用準(zhǔn)確率(accuracy)對實驗進(jìn)行評估,其含義如式(8)所示
(8)
式中,真陽性(true positive,TP)表示樣本真實為正被預(yù)測為正的個數(shù);假陽性(false positive,F(xiàn)P)表示樣本真實為負(fù)而被預(yù)測為正的個數(shù);真陰性(true negative,TN)表示樣本真實為負(fù)且被預(yù)測為負(fù)的個數(shù);假陰性(false negative,F(xiàn)N)表示樣本真實為正而被錯誤地預(yù)測為陰性的個數(shù)。
采用TCNet的網(wǎng)絡(luò)結(jié)構(gòu),它是對EfficientNet的改進(jìn),并在TrashNet數(shù)據(jù)集上完成仿真。實驗每個訓(xùn)練批次為16,采用RMSprop優(yōu)化函數(shù),初始學(xué)習(xí)率為0.0001,rho為0.9,epsilon為1e-6,全連接層后添加Dropout機(jī)制,Dropout值為0.1。訓(xùn)練過程如圖所示。
圖6 TCNet網(wǎng)絡(luò)實驗仿真過程
為了進(jìn)一步驗證TCNet網(wǎng)絡(luò)的有效性,將特征提取網(wǎng)絡(luò)的最后特征圖。本文采用加權(quán)梯度類激活熱力圖(Gradient-weighted Class Activation Mapping,Grad-CAM)[17]方法對TCNet模型進(jìn)行可視化解釋。該方法通過構(gòu)建熱力圖以顯示輸入的圖像中具體區(qū)域?qū)D像最終的分類判斷起到了關(guān)鍵作用。如圖所示特征圖的熱力圖的聚焦位置基本都位于圖像中的目標(biāo)位置。
圖7 TCNet網(wǎng)絡(luò)激活熱力圖
目前,對垃圾圖像分類任務(wù)大多采用神經(jīng)網(wǎng)絡(luò)進(jìn)行實驗完成。為了更客觀評價本模型的性能,本文對典型的模型和方法進(jìn)行比較。所有實驗使用相同的分類網(wǎng)絡(luò)結(jié)構(gòu),特征提取使用經(jīng)典模型模型結(jié)構(gòu),并在TrashNet數(shù)據(jù)集上進(jìn)行實驗仿真,仿真結(jié)果如表2所示。
可以看出,針對于TrashNet數(shù)據(jù)集,EfficientNet的分類準(zhǔn)確率優(yōu)于VGG19和InceptionV。EfficientNetB3的輸入圖像更大,結(jié)構(gòu)更復(fù)雜,分類性能優(yōu)于EfficientNetB0。在EfficientNetB3的基礎(chǔ)上,添加了通道注意力模塊,學(xué)習(xí)通道間的非線性關(guān)系,提高關(guān)鍵特征的表達(dá)力。TCNet采用雙線性匯合的方法計算不同空間位置的外積,并對不同空間位置計算平均匯合以得到雙線性特征,最優(yōu)的分類準(zhǔn)確率為93.13%。
表2 不同方法對垃圾圖像數(shù)據(jù)集的準(zhǔn)確率
1)對于垃圾圖像分類,相較于其它經(jīng)典模型,EfficientNet圖像分類模型實現(xiàn)了較先進(jìn)的分類精度。
2)注意力機(jī)制有利于垃圾圖像分類工作,能夠提取更準(zhǔn)確的特征,使特征圖具備更豐富的語義信息。
3)采用雙線性融合方法,對于圖像的不同位置進(jìn)行外積運(yùn)算,從而得到雙線性特征,使其具有高級表達(dá)能力的垃圾圖像特征信息。