尚志亮,王 偉,楊,嘉明珍,馬存良
(江西理工大學 信息工程學院,江西 贛州 341000)
隨著城市化的快速發展和人口數量的增加,我國城市垃圾的數量逐年上升。對于如何做到垃圾的有效分類和無害化處理,已成為環境保護和能源可持續利用的熱點問題,其中垃圾分類是處理垃圾的前提。目前城市垃圾分類主要依靠人工分揀,這種方式不僅任務繁重而且效率低下,浪費了大量人力。對于經典的分類算法,黃惠玲等利用K-means聚類算法對建筑垃圾的顏色特征進行提取與分類,識別過程所需時間較長,平均為1.17 s。
隨著深度學習的發展,涌現出了許多廣為人知的卷積神經網絡,如VGG、GoogLeNet、ResNet等。在利用深度學習進行垃圾分類方面也取得了一定的成果。武凌等設計了一種基于深度遷移學習的模型,對多種常見的可回收垃圾進行識別分類,并設計了Web應用模型,但模型的準確率僅為90%。汪洋等通過訓練Inception V3卷積神經網絡結合硬件設計了垃圾分類小程序,其網絡識別率僅91.71%。齊鑫宇等提出采用特征多層次化解決圖像局部特征表達方面存在的復雜性、模糊性不足等問題,搭建新的模型框架,將識別準確率平均提高了10個百分點,最終達到了92%。本文提出一種基于VGG網絡的垃圾圖片處理算法,通過加入L1、L2正則化,并使用CutMix數據增強技術來構建準確率較高和魯棒性較強的垃圾圖像識別網絡。
數據集主要通過網絡采集獲得,包括有害垃圾、可回收物、廚余垃圾和其他垃圾4類共計17 365張圖片,此外又細分為30個小類,其中包括有害垃圾5類、廚余垃圾3類、可回收垃圾19類和其他垃圾3類。數據集分為訓練集和測試集,訓練集有14 924張垃圾圖像,測試集有2 441張垃圾圖像。將所有的數據集均處理為jpg格式。
目前存在的圖像增強技術主要有:Mixup、Cutout和CutMix。Cutout是指隨機將圖像中的部分區域減除,并填充0像素值,分類的結果不變;Mixup是指將隨機的兩張圖像按比例進行混合,分類結果按照一定比例分配;CutMix隨機將圖像的一部分區域減除但不填充0像素而是隨機填充訓練集中其他圖像的等區域像素值。本文使用CutMix技術進行數據增強。CutMix操作的計算公式為:



圖1 CutMix數據增強技術原理
通過隨機生成一個邊界框得到,該邊界框的參數為:=(r,r,r,r),該參數通過下式得到:



圖2 CutMix處理圖像
VGG網絡結構簡單,使用多個小卷積疊加來代替大卷積核,一方面減少了隱藏層中的參數,另一方面增強了非線性映射,通過多個卷積核的疊加達到了一定的深度,也在一定程度上增加了網絡的擬合能力。根據層深將其稱為VGG16或VGG19網絡,本文采用VGG16網絡,即13層卷積層加3層全連接層,其中池化層選取Max池化,激活函數選取ReLU函數,使用Adam方法更新參數。
本文所使用的硬件設備為Intel Corei7-10700K @ 3.80 GHz八核處理器、32 GB內存、11 GB NVIDIA GeForce RTX 2080 Ti顯卡,開發環境為64位Windows 10系統、Python 3.8、PyCharm。訓練過程中通過VGG16網絡的13層卷積層對30個小類的垃圾圖像進行特征提取,然后處理為一維數據,通過3層全連接層輸出并保存垃圾圖像的訓練權重。測試過程中,首先輸入測試集的圖像數據,加載已訓練好的模型權重。通過VGG16網絡輸出測試圖像對應類別的權重,最后一層Softmax分類器輸出30個小類別對應的概率。模型訓練過程和測試流程如圖3所示。

圖3 模型訓練和測試流程
神經網絡的過擬合問題是指對訓練集有著很好的擬合效果而對測試集擬合效果較差。我們主要采取了以下兩種方法防止過擬合:
(1)Dropout方法使用在 VGG16網絡的全連接層,通過在全連接層中依概率隨機刪除一定數量的神經元來減少網絡中的參數。本文使用的刪除概率為0.5,避免了訓練過程中由于大權重而導致完全依賴某一權重的情況。
(2)權值衰減方法包括L1和L2正則化。卷積神經網絡中單個交叉熵誤差表達式為:

式中:表示交叉熵誤差值;y表示神經網絡的輸出;t表示正確解的標簽,采用one-hot編碼,即t編碼中只有正確解對應的索引為1,其余索引值均為0。在總體交叉熵誤差值后加權重的范數平方來約束損失函數稱為L2正則化,如下所示:

式中:第一項為所有樣本的交叉熵誤差之和,除以實現正規化;第二項為L2范數的平方,用來控制正則化強度的系數(≥0),越大對大權重的懲罰就越重,系數1/2是求導的調整量。L1正則化是指在損失函數后添加L1范數項,其表達式為:

結合權重的更新,其表達式為:

式中,(≤1)為學習率(learning rate)。顯然帶有正則化項的損失函數經過每一次迭代首先都要乘以一個小于1的因子,這使得每一次的權重更新都在不斷減小,但對于不同大小的權重減小的程度不同。若權重較大時,權重迭代更新的下降速度較快,當較小時,權重下降速度較慢,這就解釋了為什么可以利用添加正則化的方法來防止過擬合。
為了觀察使用CutMix數據增強技術和損失函數修改前后的實現效果,我們通過訓練原數據集和經CutMix拓展數據集前后不添加正則化、單獨添加L1正則化、單獨添加L2正則化以及共同添加L1、L2正則化的8類模型,并通過測試集評估各種模型的準確率和損失函數。
(1)使用原數據集,設置初始學習率為0.000 1,迭代周期為50進行訓練,其測試集的準確率和訓練過程損失函數如圖4所示。

圖4 使用原數據集的模型訓練過程
Experiment 1-0、1-1、1-2和1-3分別表示不加入正則化、加入L1正則化、加入L2正則化和同時加入L1和L2正則化的訓練過程,其正確率分別為:91.17%、91.43%、91.68%和91.60%,可見加入正則化后模型正確率提升幅度不大。原VGG16網絡損失函數曲線有一定的波動,在10個epoch左右基本趨于平穩,但準確率在10個epoch前后仍呈上升的趨勢,而加入正則化后損失函數變得更加光滑且模型準確率上升時損失函數不斷下降。
(2)使用CutMix數據增強技術拓展訓練集,通過若干次訓練確定最優超參數。網絡訓練過程如圖5所示。

圖5 使用CutMix數據增強的模型訓練過程
Experiment 2-0、2-1、2-2和2-3表示使用CutMix數據增強方法拓展數據集后加入不同正則化后的訓練過程,其正確率分別為:91.93%、92.26%、92.18%和92.05%,與不使用數據增強和不加入正則化的訓練結果Experiment 1-0相比,在加入CutMix數據增強之后的模型正確率都有上升,分別提高了0.76%、1.09%、1.01%和0.88%。
(3)為模擬現實情況中垃圾圖像的復雜性,我們通過CutMix技術隨機處理測試集中若干張垃圾圖片,將處理后的圖片與其標簽分別使用1-0和2-1模型權重進行預測,對比改進前后模型的泛化能力和魯棒性,其預測結果如圖6所示。每張圖像下方是其所對應的原始類別以及兩種模型輸出的測試類別和測試概率。

圖6 CutMix處理圖片后兩種模型的預測結果對比
通過對上述兩種模型結果的分析,圖像經過CutMix技術處理之后對1-0模型的預測結果影響較大,在對第2幅、第5幅和第8幅圖片進行測試時產生了誤判,且除第6幅以外的圖片正確標簽的得分均比2-1模型低。說明通過引入CutMix數據增強的方法訓練模型在提高模型預測準確率的同時增強了模型的魯棒性。
針對現實生活中垃圾圖像數量不足和環境復雜等情況,導致在訓練神經網絡時存在準確率不高、魯棒性不強的問題,本文通過使用CutMix數據增強技術來擴充數據集并加入正則化改進VGG16網絡,分別討論了8種不同的模型,通過大量實驗確定了使用CutMix數據增強的方法可以有效提高模型的準確率和泛化性;通過加入L1和L2正則化,使損失函數在訓練過程中變得光滑且不再過早趨于平穩。本文中的2-1模型較原網絡有著較強的魯棒性和更高的準確率,對日常生活中的垃圾識別率達到了92.26%,較原網絡模型提升了1.09%,具有較好的應用前景和實用價值。