摘 要:隨著城市的快速發(fā)展,居民的生活質(zhì)量日漸提高,但生活垃圾數(shù)量也迅速增加,許多城市都面臨著垃圾分類處理的難題。可回收垃圾占生活垃圾的比例很大,且其回收價值較高,可二次利用。針對目前人工分揀和機械分揀低效率、高成本的問題,文中提出了改進EfficientNet V1的可回收垃圾圖像分類方法,使用通道和空間注意力模塊和空間轉(zhuǎn)換器模塊用于改進模型,增強對特征的提取能力。實驗結(jié)果表明,僅使用空間轉(zhuǎn)換器模塊的模型在TrashNet數(shù)據(jù)集上的準確率達到了98.88%,高于所有對比模型,而使用通道和空間注意力模塊以及同時使用兩種模塊的模型相對于原模型來說精度有提升。在2種公共數(shù)據(jù)集Cifar100和ImageNet100上進行實驗,僅使用空間轉(zhuǎn)換器模塊的模型仍獲得了最高準確率62.78%和68.17%。利用深度學習技術(shù),實現(xiàn)了可回收垃圾準確快速分類,為垃圾分類事業(yè)提供了幫助。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);垃圾分類;深度學習;注意力機制;圖像分類;數(shù)據(jù)增強
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2024)06-00-05
0 引 言
隨著城市的快速發(fā)展,經(jīng)濟發(fā)展與人口增長導致全球各國的生活垃圾產(chǎn)生量增加,世界許多城市都面臨垃圾處理危機。垃圾分類回收任務(wù)是減少廢物產(chǎn)生、緩解環(huán)境壓力和改善國家經(jīng)濟的正確途徑[1]。目前,我國把生活垃圾分為可回收垃圾、其他垃圾、有害垃圾、廚余垃圾這四大類[2]。而其中可回收垃圾的價值較高,可通過分類回收進行再循環(huán)利用,傳統(tǒng)的垃圾分類方法只能采取人工分揀和機械分揀等方法,這些方法費時費力,而且成本相對較高。計算機視覺和深度學習技術(shù)在分類識別垃圾方面效果明顯,只需通過RGB相機采集垃圾圖片,即可通過神經(jīng)網(wǎng)絡(luò)算法完成垃圾分類識別任務(wù)。
自從AlexNet[3]被提出并在ILSVRC-2012競賽中取得冠軍后,深度學習在計算機視覺任務(wù)上的研究吸引了越來越多的學者,提出了許多新的模型,VGG、GoogleNet,ResNet[4-6]等優(yōu)秀的深度卷積網(wǎng)絡(luò)模型層出不窮。隨著模型對于分類識別任務(wù)的性能愈加突出,不斷加深或加寬卷積網(wǎng)絡(luò)模型使得參數(shù)和計算量越來越大,輕量級網(wǎng)絡(luò)逐漸引領(lǐng)新的深度學習熱潮,例如ShuffleNet,MobileNet,EfficientNet[7-9]等網(wǎng)絡(luò)在保證準確率等性能指標的同時,使得網(wǎng)絡(luò)模型參數(shù)和計算量更少,速度更快。
由于許多模型的評價指標是以大型公共數(shù)據(jù)集為基準,所以針對不同場景的分類任務(wù)需要使用不同的優(yōu)化手段。Yang等[10]針對可回收垃圾收集了2 527張圖像創(chuàng)建了TrashNet數(shù)據(jù)集,除此之外,很少有針對垃圾圖像的公共數(shù)據(jù)集,大多數(shù)研究都是在私有數(shù)據(jù)集上評估其模型[11],
目前也有許多研究使用TrashNet數(shù)據(jù)集來訓練模型。BIRCANO?LU C等[12]修改DenseNet里Dense模塊的連接結(jié)構(gòu),在TrashNet上進行訓練,準確率為81%。ZHANG Q等[13]將自注意力模塊(SMM)融入ResNet18中對TrashNet進行訓練,最終測試集的準確率達到了95.87%。ADEDEJI O等[14]
使用支持向量機(SVM)作為ResNet50的分類器,能夠在TrashNet數(shù)據(jù)集上達到87%的準確率。MAO W-L等[15]使用遺傳算法對DenseNet121全連接層的超參數(shù)進行優(yōu)化微調(diào),并將全連接層的神經(jīng)元數(shù)量和Dropout層的丟棄率作為主要決策變量,優(yōu)化后的DenseNet121準確率最高達到了99.6%。
研究以TrashNet作為基準數(shù)據(jù)集,對每幅圖像進行水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)來填充數(shù)據(jù)集,以EfficientNetV1作為研究的主干網(wǎng)絡(luò),提出了一種改進的基于深度學習的可回收垃圾分類方法。
1 算法研究
1.1 研究思路
本研究以構(gòu)建高準確率的可回收垃圾分類模型為目的,使用輕量級網(wǎng)絡(luò)EfficientNet V1作為網(wǎng)絡(luò)主干,探究了即插即用的空間轉(zhuǎn)換器模塊(STN)[16]與通道和空間注意力機制(CBAM)[17]對網(wǎng)絡(luò)的影響,更新網(wǎng)絡(luò)基礎(chǔ)模塊構(gòu)成,通過數(shù)據(jù)增強手段來提高模型精度。
1.2 EfficientNet V1
在之前提升卷積神經(jīng)網(wǎng)絡(luò)性能的研究中,學者們的主要手段是通過不斷加深或者加寬網(wǎng)絡(luò)。2019年,谷歌團隊在平衡網(wǎng)絡(luò)深度、寬度和輸入圖像分辨率后發(fā)現(xiàn)能帶來更好的性能,提出了EfficientNet V1,其測試的準確率性能和參數(shù)數(shù)量以及計算量基本都優(yōu)于之前在單一維度上提升網(wǎng)絡(luò)精度的模型。其主要由MBConv[18]模塊組成,結(jié)構(gòu)如圖1所示。EfficientNet V1分為B0~B7共8個配置,其輸入圖像的尺寸隨著配置的序號增大而增大。為加快模型收斂速度,本研究使用B0配置進行訓練,輸入圖像分辨率為224×224。MBConv結(jié)構(gòu)如圖1所示。
1.3 STN模塊
STN模塊是一種對輸入進行空間變換的模塊,空間變換器結(jié)構(gòu)如圖2所示。STN模塊可以使模型對于輸入圖像中物體姿勢與位置的變化具有一定的不變性,為每一個輸入提供對應(yīng)的空間變換方式。模塊可以插入網(wǎng)絡(luò)的各個位置,根據(jù)輸入的通道數(shù)和特征圖尺寸修改模塊內(nèi)卷積層和全連接層即可達到即插即用的目的。
STN模塊由3個部分組成。定位函數(shù)網(wǎng)絡(luò)(Localisation Net)通過獲取寬W、高H、C通道的輸入特征圖U∈RH×W×C,采用包含最終回歸層的全連接網(wǎng)絡(luò)或卷積網(wǎng)絡(luò)產(chǎn)生應(yīng)用于特征圖的空間變換參數(shù)θ,變換參數(shù)的大小取決于參數(shù)化的變換類型。
第二部分是網(wǎng)格生成器(Grid Generator),通過產(chǎn)生的θ和定義的變換以尋找輸出和輸入特征圖的映射Tθ(G),通常,輸出像素位于規(guī)則網(wǎng)格G=(Gi)上,輸入特征圖U每個像素位置為(xsi, ysi),經(jīng)過映射Tθ(G)變換后每個像素位置為Gi=(xti, yti),形成輸出特征圖V∈RH'×W'×C,其中輸入輸出的通道數(shù)C相同。
假設(shè)Tθ是二維仿射變換Aθ,在這種變換情況下,逐點變換:
(1)
式中:(xti, yti)是輸出特征圖中規(guī)則網(wǎng)格的目標坐標;(xsi, ysi)是輸入特征圖中每個樣本點的源坐標;Aθ是仿射變換
矩陣。
最后一部分為采樣器(Sampler),通過之前的步驟得到輸出特征圖各像素點坐標后,需要結(jié)合不同的采樣方式生成各像素點對應(yīng)的像素值。每個像素點應(yīng)用采樣核獲取輸出特征圖V中的像素值可寫為:
(2)
式中:Φx和Φy是定義圖像插值(例如雙線性插值)的通用采樣內(nèi)核k()的參數(shù);UCnm是輸入通道C中位置(n,m)的值;Vic是通道C中位置(xti, yti)處像素i的輸出值。理論上可以使用任何采樣內(nèi)核,只要可相對xsi和ysi定義(子)梯度。
1.4 CBAM模塊
CBAM模塊將通道和空間注意力機制串聯(lián)集成,通道和空間注意力機制如圖3所示。以特征圖F∈RC×H×W作為輸入,CBAM會按順序生成一個1D的Mc∈RC×1×1通道注意力輸出和一個2D的Ms∈R1×H×W輸出,整體計算過程由下式
給出:
(3)
(4)
式中:代表點積運算;F'是給定輸入通過通道注意力模塊的輸出;F''是F'通過空間注意力模塊的輸出。
在通道注意力模塊中(圖4),分別使用平均池化層和最大池化層生成2個中間特征,分別用Fcavg和Fcmax表示,然后將這2個特征轉(zhuǎn)發(fā)到共享的多層感知機中,再將各輸出逐元素相加后通過Sigmoid激活函數(shù)得到最終的通道注意力特征向量。通道注意力模塊運算可概括為:
(5)
式中:σ表示Sigmoid函數(shù);MLP是多層感知機;W0和W1是感知機的權(quán)重;Fcavg和Fcmax是輸入特征圖經(jīng)過平均池化層和最大池化層的結(jié)果。
在空間注意力模塊中(圖5),首先使用最大池化層和平均池化層融合通道上的特征信息生成2個特征圖,隨后在通道維度上拼接后并使用卷積層卷積,從而生成2D空間注意力圖??臻g注意力機制如圖5所示。計算過程如下所示:
(6)
式中:σ表示sigmoid函數(shù);f7×7表示卷積核大小為7的卷積操作;Fsavg和Fsmax大小均為1×H×M。
1.5 基于STN和CBAM改進的EfficientNet V1
EfficientNet V1使用MBConv作為網(wǎng)絡(luò)的基礎(chǔ)模塊,由于在網(wǎng)絡(luò)的淺層包含大量特征信息,CBAM模塊能夠有效融合通道和空間的特征信息。本研究在淺層使用CBAM模塊,需要將CBAM插入MBConv中以獲得新的模塊。而STN模塊的使用由于其即插即用的特性和對輸入圖像的位置矯正作用,所以將其放在特征提取部分之前。
文中共研究了3種模型,只加入STN和只加入CBAM以及將2種模塊同時加入網(wǎng)絡(luò)中,分別命名為EffV1-stn、EffV1-cbam和EffV1-stn-cbam。將CBAM融入MBConv模塊后的結(jié)構(gòu)如圖6所示。
由于網(wǎng)絡(luò)淺層存在更多特征信息,本研究只在EfficientNet V1的前4個階段使用改進后的MB-Conv模塊,在后面3個階段保持原結(jié)構(gòu)不變。
2 實驗與結(jié)果
2.1 數(shù)據(jù)集和實驗環(huán)境
由于目前可回收垃圾分類工作暫時沒有公開的標準數(shù)據(jù)集,但介于國內(nèi)外有大量研究工作是以TrashNet數(shù)據(jù)集開展,所以文中也采用此數(shù)據(jù)集進行研究。該數(shù)據(jù)集包含常見的6種
可回收垃圾,表1為每種類別垃圾的數(shù)量分布,由于數(shù)據(jù)集數(shù)量偏少,將圖片進行水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)后作為數(shù)據(jù)增強手段來填充數(shù)據(jù)集,將擴充后的數(shù)據(jù)集的80%作為訓練集,其余數(shù)據(jù)作為測試集。
實驗平臺配置:CPU為AMD EPYC 7763 64-Core Processor,搭載NVIDIA A100-SXM4-80GB顯卡,操作系統(tǒng)為Ubuntu20.04.4,Python版本為3.8.10,使用的深度學習框架為Pytorch 1.11。
2.2 實驗結(jié)果及分析
文中選取了一些經(jīng)典的神經(jīng)網(wǎng)絡(luò)進行實驗結(jié)果對比,以證明本研究模型在可回收垃圾分類任務(wù)上的有效性,選用的對比網(wǎng)絡(luò)模型包括ResNet50、ResNet101、ShuffleNet等。使用上述模型對增強后的TrashNet數(shù)據(jù)集進行訓練,統(tǒng)一使用Adma優(yōu)化器,學習率為0.001,迭代次數(shù)為100輪,批量大小為64,每一輪訓練結(jié)束后,記錄此周期每一批次的訓練集損失,測試集的總損失和準確率以及每輪結(jié)束后當前最高準確率,便于及時掌控模型的訓練情況,避免模型過擬合等影響訓練,確保模型能夠完成迭代周期的訓練。
各模型在增強后的TrashNet數(shù)據(jù)集上的訓練結(jié)果如圖7、圖8所示。其中,E代表訓練的迭代周期,A代表測試的準確率,L代表訓練損失。從各曲線得知,未使用任何改進的基準EfficientNet V1網(wǎng)絡(luò)。在可回收垃圾分類任務(wù)方面,該模型相較于ResNet50、ShuffleNet等模型取得了更好的結(jié)果。本研究算法基于EfficientNet V1進行改進,共有3種改進后的模型,準確率相比無任何改進的基準模型有所提升,EffV1-stn、EffV1-cbam和EffV1-stn-cbam分別比原模型準確率提高了2.88%、1.02%、1.42%,但相比于獲得最高準確率的對比模型ResNet101,只有EffV1-stn提高了1.32%。原因可能是Effcient V1本身就是優(yōu)秀的輕量級神經(jīng)網(wǎng)絡(luò),即使使用不同訓練集進行訓練,其訓練速度和測試準確率等均強于之前的部分網(wǎng)絡(luò);本研究算法使用2種不同的模塊進行模型性能的提升,EffV1-stn在網(wǎng)絡(luò)起點使用STN模塊,能夠矯正不同翻轉(zhuǎn)程度的輸入特征圖,獲取更好的特征。EffV1-cbam在網(wǎng)絡(luò)淺層的MBconv模塊中加入CBAM模塊,將空間和通道的注意力機制串聯(lián)集成,使得相比于原始的EffV1能夠提取更多的特征信息。而EffV1-stn-cbam試圖將兩者的優(yōu)點集合從而獲得更高的準確率。結(jié)果表明,此舉的準確率超過了EffV1-cbam,但未超過EffV1-stn,可能是STN模塊對輸入圖像進行位置矯正后,CBAM模塊能獲得相較于EffV1-cbam更多的特征信息,但是也未能超過僅使用STN模塊對提升模型性能的影響。
為分析本研究算法模型在其他分類任務(wù)場景下的性能提升效果,選用公共數(shù)據(jù)集ImageNet100和Cifar100進行對比試驗,各訓練參數(shù)保持一致。公共數(shù)據(jù)集和本研究所用數(shù)據(jù)集的測試集分類準確率見表2所列。
表2中,AT代表模型在TrashNet數(shù)據(jù)集上的測試集準確率,AC代表模型在Cifar100數(shù)據(jù)集上的測試集準確率,AI代表模型在ImageNet100數(shù)據(jù)集上的測試集準確率。從表2
可知,EffV1-stn在ImageNet100和Cifar100數(shù)據(jù)集上的準確率最高,分別為62.78%和68.17%,EffV1-stn-cbam在Cifar100測試集上的準確率高于ResNet101,EffV1-cbam在2個公共數(shù)據(jù)集上的測試準確率仍低于ResNet101。造成這種結(jié)果可能的原因是ResNet101網(wǎng)絡(luò)深度較大,模型復雜,在大型數(shù)據(jù)集上一般能取得更好的性能,但這種模型由于體積過大不能保證實時性。而EffV1-stn一直保持最高準確率的原因可能是由于各數(shù)據(jù)集的圖片中物體存在不同程度姿勢和位置的變化,而STN模塊能夠有效矯正這種變化,從而獲得更高的準確率。
將文中獲得最高精度的算法EffV1-stn進行可視化測試,隨機選取一組數(shù)據(jù)集外的真實場景中的可回收垃圾圖像,將其傳入模型后進行識別,結(jié)果如圖9所示。
圖9中括號內(nèi)的數(shù)值為置信度,可以看出不同環(huán)境下,模型都能精準識別出可回收垃圾種類,但是在復雜背景下的識別效果略差。因此,本研究精度最高的EffV1-stn模型是一個在可回收垃圾分類任務(wù)中具有高準確率的網(wǎng)絡(luò)模型。
3 結(jié) 語
文中改進了輕量級卷積神經(jīng)網(wǎng)絡(luò)EfficientNet V1,使用STN和CBAM兩種模塊提升準確率。實驗表明,分別使用和融合使用都能使性能增強,但僅使用STN模塊可獲得最高的精度,實現(xiàn)了對可回收垃圾的快速精準分類。在其他分類任務(wù)中,使用STN模塊的模型同樣得到了最高的準確率,證明本研究算法的可用性。本研究使用的數(shù)據(jù)集主要是單標簽簡單背景下的物體,識別圖像中的多個目標時存在局限性。實際情況下可回收垃圾所處的背景復雜,一張圖像內(nèi)有多種多樣的垃圾。今后的研究重點需要針對復雜背景下的可回收垃圾建立更加完整的數(shù)據(jù)集,將可回收垃圾分類任務(wù)擴展到多標簽多目標分類,使之更能適用現(xiàn)實的垃圾分類場景。
注:本文通訊作者為劉心中。
參考文獻
[1] ABDALLAH M,ABUTALIB M,F(xiàn)EROZ S,et al. Artificial intelligence applications in solid waste management:A systematic research review [J]. Waste manag,2020,109:231-46.
[2]戴冰燕,鄭志碩. 基于遷移學習的可回收垃圾識別分類研究 [J]. 中國科技信息,2021,33(5):86-88.
[3] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Imagenet classification with deep convolutional neural networks [J]. Communications of the ACM,2017,60(6):84-90.
[4] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,F(xiàn),2016.
[5] SIMONYAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [Z]. arXiv preprint arXiv:14091556,2014.
[6] SZEGEDY C,LIU W,JIA Y,et al. Going deeper with convolutions[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,F(xiàn),2015.
[7] HOWARD A G,ZHU M,CHEN B,et al. Mobilenets:Efficient convolutional neural networks for mobile vision applications [Z]. arXiv preprint arXiv:170404861,2017.
[8] TAN M,LE Q. Efficientnet:Rethinking model scaling for convolutional neural networks [C]// Proceedings of the International Conference on Machine Learning,F(xiàn),2019.
[9] ZHANG X,ZHOU X,LIN M,et al. Shufflenet:An extremely efficient convolutional neural network for mobile devices [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,F(xiàn),2018.
[10] YANG M,THUNG G. Classification of trash for recyclability status [J]. CS229 project report,2016(1):3.
[11] LU W,CHEN J. Computer vision for solid waste sorting:A critical review of academic research [J]. Waste management,2022,142:29-43.
[12] BIRCANO?LU C,ATAY M,BE?ER F,et al. RecycleNet:Intelligent waste sorting using deep neural networks [C]// Proceedings of the 2018 Innovations in Intelligent Systems and Applications(INISTA),F(xiàn),2018.
[13] ZHANG Q,ZHANG X,MU X,et al. Recyclable waste image recognition based on deep learning [J]. Resources,conservation and recycling,2021,171:105636.
[14] ADEDEJI O,WANG Z. Intelligent waste classification system using deep learning convolutional neural network [J]. Procedia manufacturing,2019,35:607-12.
[15] MAO W L,CHEN W C,WANG C T,et al. Recycling waste classification using optimized convolutional neural network [J]. Resources,conservation and recycling,2021,164:105132.
[16] JADERBERG M,SIMONYAN K,ZISSERMAN A. Spatial transformer networks [J]. Advances in neural information processing systems,2015,28.
[17] WOO S,PARK J,LEE J Y,et al. Cbam:Convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision (ECCV),F(xiàn),2018.
[18] SANDLER M,HOWARD A,ZHU M,et al. Mobilenetv2:Inverted residuals and linear bottlenecks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,F(xiàn),2018.
基金項目:國家重點研發(fā)計劃(2019YFC1904103)
作者簡介:李鎮(zhèn)宏(1999—),男,碩士在讀,研究方向為計算機視覺、垃圾圖像分類。
劉心中(1963—),男,博士,教授,研究方向為固體廢物資源化利用。
林澤宇(1997—),男,碩士在讀,研究方向為機器學習。
聶文峰(1993—),女,碩士在讀,研究方向為機器學習。
馬樹森(1999—),男,碩士在讀,研究方向為固體廢物資源化利用。
葛 焰(1999—),男,碩士在讀,研究方向為計算機視覺。
趙 津(1999—),男,碩士在讀,研究方向為固體廢物資源化利用。