尚志亮,王 偉,楊,嘉明珍,馬存良
(江西理工大學(xué) 信息工程學(xué)院,江西 贛州 341000)
隨著城市化的快速發(fā)展和人口數(shù)量的增加,我國(guó)城市垃圾的數(shù)量逐年上升。對(duì)于如何做到垃圾的有效分類和無(wú)害化處理,已成為環(huán)境保護(hù)和能源可持續(xù)利用的熱點(diǎn)問(wèn)題,其中垃圾分類是處理垃圾的前提。目前城市垃圾分類主要依靠人工分揀,這種方式不僅任務(wù)繁重而且效率低下,浪費(fèi)了大量人力。對(duì)于經(jīng)典的分類算法,黃惠玲等利用K-means聚類算法對(duì)建筑垃圾的顏色特征進(jìn)行提取與分類,識(shí)別過(guò)程所需時(shí)間較長(zhǎng),平均為1.17 s。
隨著深度學(xué)習(xí)的發(fā)展,涌現(xiàn)出了許多廣為人知的卷積神經(jīng)網(wǎng)絡(luò),如VGG、GoogLeNet、ResNet等。在利用深度學(xué)習(xí)進(jìn)行垃圾分類方面也取得了一定的成果。武凌等設(shè)計(jì)了一種基于深度遷移學(xué)習(xí)的模型,對(duì)多種常見(jiàn)的可回收垃圾進(jìn)行識(shí)別分類,并設(shè)計(jì)了Web應(yīng)用模型,但模型的準(zhǔn)確率僅為90%。汪洋等通過(guò)訓(xùn)練Inception V3卷積神經(jīng)網(wǎng)絡(luò)結(jié)合硬件設(shè)計(jì)了垃圾分類小程序,其網(wǎng)絡(luò)識(shí)別率僅91.71%。齊鑫宇等提出采用特征多層次化解決圖像局部特征表達(dá)方面存在的復(fù)雜性、模糊性不足等問(wèn)題,搭建新的模型框架,將識(shí)別準(zhǔn)確率平均提高了10個(gè)百分點(diǎn),最終達(dá)到了92%。本文提出一種基于VGG網(wǎng)絡(luò)的垃圾圖片處理算法,通過(guò)加入L1、L2正則化,并使用CutMix數(shù)據(jù)增強(qiáng)技術(shù)來(lái)構(gòu)建準(zhǔn)確率較高和魯棒性較強(qiáng)的垃圾圖像識(shí)別網(wǎng)絡(luò)。
數(shù)據(jù)集主要通過(guò)網(wǎng)絡(luò)采集獲得,包括有害垃圾、可回收物、廚余垃圾和其他垃圾4類共計(jì)17 365張圖片,此外又細(xì)分為30個(gè)小類,其中包括有害垃圾5類、廚余垃圾3類、可回收垃圾19類和其他垃圾3類。數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,訓(xùn)練集有14 924張垃圾圖像,測(cè)試集有2 441張垃圾圖像。將所有的數(shù)據(jù)集均處理為jpg格式。
目前存在的圖像增強(qiáng)技術(shù)主要有:Mixup、Cutout和CutMix。Cutout是指隨機(jī)將圖像中的部分區(qū)域減除,并填充0像素值,分類的結(jié)果不變;Mixup是指將隨機(jī)的兩張圖像按比例進(jìn)行混合,分類結(jié)果按照一定比例分配;CutMix隨機(jī)將圖像的一部分區(qū)域減除但不填充0像素而是隨機(jī)填充訓(xùn)練集中其他圖像的等區(qū)域像素值。本文使用CutMix技術(shù)進(jìn)行數(shù)據(jù)增強(qiáng)。CutMix操作的計(jì)算公式為:
圖1 CutMix數(shù)據(jù)增強(qiáng)技術(shù)原理
通過(guò)隨機(jī)生成一個(gè)邊界框得到,該邊界框的參數(shù)為:=(r,r,r,r),該參數(shù)通過(guò)下式得到:
圖2 CutMix處理圖像
VGG網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,使用多個(gè)小卷積疊加來(lái)代替大卷積核,一方面減少了隱藏層中的參數(shù),另一方面增強(qiáng)了非線性映射,通過(guò)多個(gè)卷積核的疊加達(dá)到了一定的深度,也在一定程度上增加了網(wǎng)絡(luò)的擬合能力。根據(jù)層深將其稱為VGG16或VGG19網(wǎng)絡(luò),本文采用VGG16網(wǎng)絡(luò),即13層卷積層加3層全連接層,其中池化層選取Max池化,激活函數(shù)選取ReLU函數(shù),使用Adam方法更新參數(shù)。
本文所使用的硬件設(shè)備為Intel Corei7-10700K @ 3.80 GHz八核處理器、32 GB內(nèi)存、11 GB NVIDIA GeForce RTX 2080 Ti顯卡,開(kāi)發(fā)環(huán)境為64位Windows 10系統(tǒng)、Python 3.8、PyCharm。訓(xùn)練過(guò)程中通過(guò)VGG16網(wǎng)絡(luò)的13層卷積層對(duì)30個(gè)小類的垃圾圖像進(jìn)行特征提取,然后處理為一維數(shù)據(jù),通過(guò)3層全連接層輸出并保存垃圾圖像的訓(xùn)練權(quán)重。測(cè)試過(guò)程中,首先輸入測(cè)試集的圖像數(shù)據(jù),加載已訓(xùn)練好的模型權(quán)重。通過(guò)VGG16網(wǎng)絡(luò)輸出測(cè)試圖像對(duì)應(yīng)類別的權(quán)重,最后一層Softmax分類器輸出30個(gè)小類別對(duì)應(yīng)的概率。模型訓(xùn)練過(guò)程和測(cè)試流程如圖3所示。
圖3 模型訓(xùn)練和測(cè)試流程
神經(jīng)網(wǎng)絡(luò)的過(guò)擬合問(wèn)題是指對(duì)訓(xùn)練集有著很好的擬合效果而對(duì)測(cè)試集擬合效果較差。我們主要采取了以下兩種方法防止過(guò)擬合:
(1)Dropout方法使用在 VGG16網(wǎng)絡(luò)的全連接層,通過(guò)在全連接層中依概率隨機(jī)刪除一定數(shù)量的神經(jīng)元來(lái)減少網(wǎng)絡(luò)中的參數(shù)。本文使用的刪除概率為0.5,避免了訓(xùn)練過(guò)程中由于大權(quán)重而導(dǎo)致完全依賴某一權(quán)重的情況。
(2)權(quán)值衰減方法包括L1和L2正則化。卷積神經(jīng)網(wǎng)絡(luò)中單個(gè)交叉熵誤差表達(dá)式為:
式中:表示交叉熵誤差值;y表示神經(jīng)網(wǎng)絡(luò)的輸出;t表示正確解的標(biāo)簽,采用one-hot編碼,即t編碼中只有正確解對(duì)應(yīng)的索引為1,其余索引值均為0。在總體交叉熵誤差值后加權(quán)重的范數(shù)平方來(lái)約束損失函數(shù)稱為L(zhǎng)2正則化,如下所示:
式中:第一項(xiàng)為所有樣本的交叉熵誤差之和,除以實(shí)現(xiàn)正規(guī)化;第二項(xiàng)為L(zhǎng)2范數(shù)的平方,用來(lái)控制正則化強(qiáng)度的系數(shù)(≥0),越大對(duì)大權(quán)重的懲罰就越重,系數(shù)1/2是求導(dǎo)的調(diào)整量。L1正則化是指在損失函數(shù)后添加L1范數(shù)項(xiàng),其表達(dá)式為:
結(jié)合權(quán)重的更新,其表達(dá)式為:
式中,(≤1)為學(xué)習(xí)率(learning rate)。顯然帶有正則化項(xiàng)的損失函數(shù)經(jīng)過(guò)每一次迭代首先都要乘以一個(gè)小于1的因子,這使得每一次的權(quán)重更新都在不斷減小,但對(duì)于不同大小的權(quán)重減小的程度不同。若權(quán)重較大時(shí),權(quán)重迭代更新的下降速度較快,當(dāng)較小時(shí),權(quán)重下降速度較慢,這就解釋了為什么可以利用添加正則化的方法來(lái)防止過(guò)擬合。
為了觀察使用CutMix數(shù)據(jù)增強(qiáng)技術(shù)和損失函數(shù)修改前后的實(shí)現(xiàn)效果,我們通過(guò)訓(xùn)練原數(shù)據(jù)集和經(jīng)CutMix拓展數(shù)據(jù)集前后不添加正則化、單獨(dú)添加L1正則化、單獨(dú)添加L2正則化以及共同添加L1、L2正則化的8類模型,并通過(guò)測(cè)試集評(píng)估各種模型的準(zhǔn)確率和損失函數(shù)。
(1)使用原數(shù)據(jù)集,設(shè)置初始學(xué)習(xí)率為0.000 1,迭代周期為50進(jìn)行訓(xùn)練,其測(cè)試集的準(zhǔn)確率和訓(xùn)練過(guò)程損失函數(shù)如圖4所示。
圖4 使用原數(shù)據(jù)集的模型訓(xùn)練過(guò)程
Experiment 1-0、1-1、1-2和1-3分別表示不加入正則化、加入L1正則化、加入L2正則化和同時(shí)加入L1和L2正則化的訓(xùn)練過(guò)程,其正確率分別為:91.17%、91.43%、91.68%和91.60%,可見(jiàn)加入正則化后模型正確率提升幅度不大。原VGG16網(wǎng)絡(luò)損失函數(shù)曲線有一定的波動(dòng),在10個(gè)epoch左右基本趨于平穩(wěn),但準(zhǔn)確率在10個(gè)epoch前后仍呈上升的趨勢(shì),而加入正則化后損失函數(shù)變得更加光滑且模型準(zhǔn)確率上升時(shí)損失函數(shù)不斷下降。
(2)使用CutMix數(shù)據(jù)增強(qiáng)技術(shù)拓展訓(xùn)練集,通過(guò)若干次訓(xùn)練確定最優(yōu)超參數(shù)。網(wǎng)絡(luò)訓(xùn)練過(guò)程如圖5所示。
圖5 使用CutMix數(shù)據(jù)增強(qiáng)的模型訓(xùn)練過(guò)程
Experiment 2-0、2-1、2-2和2-3表示使用CutMix數(shù)據(jù)增強(qiáng)方法拓展數(shù)據(jù)集后加入不同正則化后的訓(xùn)練過(guò)程,其正確率分別為:91.93%、92.26%、92.18%和92.05%,與不使用數(shù)據(jù)增強(qiáng)和不加入正則化的訓(xùn)練結(jié)果Experiment 1-0相比,在加入CutMix數(shù)據(jù)增強(qiáng)之后的模型正確率都有上升,分別提高了0.76%、1.09%、1.01%和0.88%。
(3)為模擬現(xiàn)實(shí)情況中垃圾圖像的復(fù)雜性,我們通過(guò)CutMix技術(shù)隨機(jī)處理測(cè)試集中若干張垃圾圖片,將處理后的圖片與其標(biāo)簽分別使用1-0和2-1模型權(quán)重進(jìn)行預(yù)測(cè),對(duì)比改進(jìn)前后模型的泛化能力和魯棒性,其預(yù)測(cè)結(jié)果如圖6所示。每張圖像下方是其所對(duì)應(yīng)的原始類別以及兩種模型輸出的測(cè)試類別和測(cè)試概率。
圖6 CutMix處理圖片后兩種模型的預(yù)測(cè)結(jié)果對(duì)比
通過(guò)對(duì)上述兩種模型結(jié)果的分析,圖像經(jīng)過(guò)CutMix技術(shù)處理之后對(duì)1-0模型的預(yù)測(cè)結(jié)果影響較大,在對(duì)第2幅、第5幅和第8幅圖片進(jìn)行測(cè)試時(shí)產(chǎn)生了誤判,且除第6幅以外的圖片正確標(biāo)簽的得分均比2-1模型低。說(shuō)明通過(guò)引入CutMix數(shù)據(jù)增強(qiáng)的方法訓(xùn)練模型在提高模型預(yù)測(cè)準(zhǔn)確率的同時(shí)增強(qiáng)了模型的魯棒性。
針對(duì)現(xiàn)實(shí)生活中垃圾圖像數(shù)量不足和環(huán)境復(fù)雜等情況,導(dǎo)致在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)存在準(zhǔn)確率不高、魯棒性不強(qiáng)的問(wèn)題,本文通過(guò)使用CutMix數(shù)據(jù)增強(qiáng)技術(shù)來(lái)擴(kuò)充數(shù)據(jù)集并加入正則化改進(jìn)VGG16網(wǎng)絡(luò),分別討論了8種不同的模型,通過(guò)大量實(shí)驗(yàn)確定了使用CutMix數(shù)據(jù)增強(qiáng)的方法可以有效提高模型的準(zhǔn)確率和泛化性;通過(guò)加入L1和L2正則化,使損失函數(shù)在訓(xùn)練過(guò)程中變得光滑且不再過(guò)早趨于平穩(wěn)。本文中的2-1模型較原網(wǎng)絡(luò)有著較強(qiáng)的魯棒性和更高的準(zhǔn)確率,對(duì)日常生活中的垃圾識(shí)別率達(dá)到了92.26%,較原網(wǎng)絡(luò)模型提升了1.09%,具有較好的應(yīng)用前景和實(shí)用價(jià)值。