金張根,曹 楊,于紅緋,孫才華,劉 克
(1.遼寧石油化工大學人工智能與軟件學院,撫順 113001;2.遼寧石油化工大學信息與控制工程學院,撫順 113001)
我國人口基數(shù)大、地域發(fā)展不平衡,在一些較為發(fā)達的地區(qū),多數(shù)垃圾會被無害化回收處理。欠發(fā)達地區(qū)垃圾往往采用堆填埋的方法處理,這導致大量土地被垃圾所占用,進而導致土壤和地下水被污染[1]。垃圾分類作為一種有效防止垃圾污染,實現(xiàn)垃圾資源化的手段,既能實現(xiàn)資源的重復利用,又能給社會帶來經(jīng)濟效益。所以一個準確且高效的智能垃圾分類系統(tǒng)對提高生態(tài)文明建設有著極其重要的作用[2]。
當前對于垃圾分類識別的研究有許多種方法,但最主要的兩種研究方法,一是基于手工特征的垃圾特征識別;二是基于神經(jīng)網(wǎng)絡的生活垃圾識別。其中,通過卷積神經(jīng)網(wǎng)絡來進行垃圾分類是較為高效的。卷積神經(jīng)網(wǎng)絡(CNN)在計算機視覺領域扮演著非常重要的角色,在圖像分類、語義分割等方面取得了顯著的成就[3]。Yann Lecun 在1998 年提出來了基于CNN架構的結構簡單的LeNet5 模型[4],該模型很好地解釋了CNN網(wǎng)絡所包含的主要結構,如輸入層、卷積層、全連接層、輸出層。2012年Krizhevsky等[5]提出了AlexNet 網(wǎng)絡,網(wǎng)絡中包含的ReLU激活函數(shù)使模型收斂的速度更快,
并且提出了通過數(shù)據(jù)增強和Dropout 來解決訓練過程中的過擬合問題。2014 年,VGG 模型誕生,多個卷積層加一個最大池化層的模型使得網(wǎng)絡模型得到了更深的擴展[6]。2014 年NiN網(wǎng)絡出現(xiàn)[7],增加了模型的非線性擬合能力和特征信息的提取能力。同年GoodLeNet模型被提出,該模型主要提出了Inception 結構的模塊[8],提出了多尺度卷積變換的思想,減少了計算量,并且提高了精準度。2015 年He 等[9]提出了殘差網(wǎng)絡模型ResNet,在一定程度上解決了深度網(wǎng)絡在訓練中準確率過低的問題,進一步提高了特征提取的能力。
城市生活垃圾圖像的信息豐富、目標尺寸多變,同類目標之間和不同類目標之間尺寸差別較大,并且目標形狀不規(guī)則,這些因素影響著不同目標的分類精度。
本文使用了深度學習的方法對城市生活垃圾進行識別研究。使用ResNet?18 卷積神經(jīng)網(wǎng)絡搭建城市垃圾分類模型,采用經(jīng)過預處理的Kaggle 數(shù)據(jù)集作為識別對象,進行模型的優(yōu)化和評估,最終探討模型用于城市垃圾分類。
ResNet 殘差網(wǎng)絡是卷積神經(jīng)網(wǎng)絡中最為經(jīng)典的模型之一。該網(wǎng)絡通過在輸入層和輸出層之間添加跳躍鏈接層來有效解決卷積神經(jīng)網(wǎng)絡隨著層數(shù)增加出現(xiàn)的梯度消失或梯度爆炸問題,能有效控制網(wǎng)絡收斂飛速下降和模型的泛化能力降低等一系列問題。ResNet 網(wǎng)絡提升了訓練超深神經(jīng)網(wǎng)絡的速度,在深度增加的同時網(wǎng)絡性能也得以極大的提升。
ResNet 網(wǎng)絡提出“恒等映射”原理的目的是使網(wǎng)絡在增加層數(shù)的同時訓練誤差Loss 不會增加。原始狀態(tài)是網(wǎng)絡輸入x,得到輸出為H(x),通過殘差函數(shù)F(x)=H(x) -x,設置訓練目標將F(x)逼近于0,將其進行轉(zhuǎn)化,得到H(x)=F(x) +x,如圖1所示。
圖1 殘差塊結構原理
ResNet?8 網(wǎng)絡是最為經(jīng)典的卷積神經(jīng)網(wǎng)絡,網(wǎng)絡結構如表1 所示,假設輸入圖片的維度為(224,224,3),經(jīng)過第一層Conv_1x 輸出圖像為(112,112,64),然后經(jīng)過Conv_2x的極大池化層使得參數(shù)減少一半,此時圖像的維度變?yōu)椋?6,56,64),使用四層相同的卷積層處理圖像大小維度不變,依然為(56,56,64);到達第三層Conv_3x,卷積核的數(shù)量為128,最后輸出的圖像大小為(28,28,128);到達第四層Conv_4x,卷積核數(shù)量為256,經(jīng)過特征提取之后的圖像大小維度變?yōu)椋?4,14,256);同樣地,到達第五層Conv_5x 時卷積核數(shù)量為512,經(jīng)過處理后的圖像大小維度為(7,7,512),最后到達全連接層使得圖像的維度變?yōu)椋?,1,512)。
表1 ResNet18網(wǎng)絡結構表
本文采用2000年發(fā)布的使用最為廣泛的垃圾分類Kaggle 數(shù)據(jù)集進行城市垃圾分類識別自動檢測研究的數(shù)據(jù)集。Kaggle 數(shù)據(jù)集中主要包含城市中常見的生活垃圾,分別為可回收垃圾、廚余垃圾、有害垃圾、其他垃圾四類。提取了每種垃圾的一張圖片作為范例,如圖2所示。
圖2 Kaggle數(shù)據(jù)集樣本圖
實驗使用監(jiān)督學習的方法對神經(jīng)網(wǎng)絡模型進行訓練。為每類分類識別數(shù)據(jù)設定了對應的標簽,如表2所示。
表2 數(shù)據(jù)集中不同垃圾對應的不同標簽
本文采用ResNet?18 的網(wǎng)絡結構進行生活垃圾分類實驗網(wǎng)絡搭建,網(wǎng)絡結構見圖3。
圖3 ResNet?18卷積神經(jīng)網(wǎng)絡
此網(wǎng)絡模型中包括卷積層和全連接層在內(nèi),共有帶有權重的18 層,但不包括池化層和BN層。首先,ResNet?18 網(wǎng)絡中數(shù)據(jù)需要經(jīng)過一個7×7的卷積層,然后經(jīng)過四個殘差塊,每個殘差塊是由四個3×3 的卷積層構成,最后經(jīng)過平均池化層(Avg pool)后得到結果。
本研究硬件配置信息如下,實驗電腦的基本配置為:CPU 為Intel(R)Core(TM)i7?9750H、內(nèi)存為16 GB DDR4、顯卡為GTX 1660Ti、操作系統(tǒng)為64 位Windows 10,編程軟件為PyCharm,框架為Pytorch。
選取Kaggle 數(shù)據(jù)集作為模型的輸入,該數(shù)據(jù)集中包含2940 張不同種類的生活垃圾圖片,圖片的大小均為256×256。將數(shù)據(jù)集按照7∶3的比例分為訓練集和驗證集。通過多次實驗確定各個參數(shù),其中epoch 為150,學習率lr 為0.001,訓練的Batch_Size 為32,Dropout 的斷開概率為0.5。
圖4 是ResNet?18 神經(jīng)網(wǎng)絡在訓練集和驗證集上的準確率雖訓練次數(shù)的變化。從圖4可以看出,訓練過程中ResNet?18 神經(jīng)網(wǎng)絡在城市垃圾訓練集和驗證集上的準確率都是隨著訓練次數(shù)的增加呈現(xiàn)先快速增加后緩慢增加的趨勢,最后收斂。多次實驗表明,模型的準確率可達90%以上,且驗證曲線基本上與訓練的曲線一致,說明優(yōu)化參數(shù)之后的神經(jīng)網(wǎng)絡擬合能力較好,識別各種生活垃圾的準確率達到了較為理想的效果。
圖4 ResNet?18在訓練集和驗證集上的準確率
圖5為神經(jīng)網(wǎng)絡在訓練集和測試集上的Loss損失率隨訓練次數(shù)的變化。實驗表明,優(yōu)化參數(shù)后的神經(jīng)網(wǎng)絡在訓練集和驗證集上的Loss 損失隨著訓練次數(shù)的增加先快速減小后緩慢減小,最后接近收斂。訓練集上的Loss 損失降低至0.25,驗證集的Loss損失減低至0.43,驗證曲線基本上與訓練的曲線趨勢一致,擬合度較高,說明優(yōu)化參數(shù)之后的神經(jīng)網(wǎng)絡擬合能力亦有所提升,識別垃圾分類的錯誤率明顯降低。
圖5 ResNet?18在訓練集和驗證集上的損失
模型評估將預測正確的樣本劃分為一類,預測錯誤的樣本劃歸另外一類。即將多分類問題轉(zhuǎn)變成了二分類問題。根據(jù)預測結果可將所有樣本分為四大類,即真實情況的正例、真實情況的反例、學習器預測出的正例、學習器預測出的反例,如表3所示。通過以上四個參數(shù)并不能直接判斷模型的優(yōu)劣,需進一步通過其組合形成的評估指標中的查準率P和查全率R確定模型的適用性。
表3 分類結果矩陣
查準率P(precision)表示預測正確的正樣本占所有預測為正例的比例,能反映完全正確的樣本的正確比例,是預測的底線。其計算公式如式(1)所示:
查全率R(recall)表示預測正確的正樣本占所有真實的結果為正例的比例,其計算公式如式(2)所示:
本文使用ResNet?18 卷積神經(jīng)網(wǎng)絡識別城市生活垃圾的查準率和查全率的P-R關系如圖6所示,P-R 曲線反映出模型的平衡點出現(xiàn)在查全率在0.8、查準率在0.89 的時候,此時模型的綜合性能最佳,同時具備較好的泛化能力,對種類繁多、樣式各異的城市生活垃圾有較好的識別能力,結合本模型在驗證集上的準確率達到90.0%以上,此模型適合于城市垃圾分類識別的研究。
圖6 ResNet?18神經(jīng)網(wǎng)絡垃圾分類識別P-R曲線
卷積神經(jīng)網(wǎng)絡可用于城市垃圾分類自動識別并具有較高的準確度。本文將Resnet?18 卷積神經(jīng)網(wǎng)絡模型應用到城市生活垃圾的分類識別研究中。實驗結果表明,該模型在Kaggle 生活垃圾數(shù)據(jù)集上的訓練準確率到達90.0%,Loss損失可低至0.43。查準率和查全率兩項模型評價的指標顯示,模型的平衡點約在查全率為0.8、查準率為0.89 的時刻,其查準率和查全率皆比較理想。該模型的性能較好、泛化能力較強,為進一步對各類城市垃圾的自動識別分類提供了參考依據(jù)。