鄭佑 順 ,林珊玲 ,林 志 賢 ,周雄圖 ,郭 太 良
(1.福州大學 物理與信息工程學院,福建 福州350116;2.中國福建光電信息科學與技術創新實驗室,福建 福州350116;3.福州大學 先進制造學院,福建 泉州362200)
根據中國城鄉建設統計年鑒統計,我國城市生活垃圾的產生量由1979 年的0.25 億噸增至2018年的2.28 億噸[1]。 隨著人民生活水平的提高,垃圾產生量仍在上升。有效回收生活垃圾成為急需解決的問題,這對于可持續發展具有重大的意義。 垃圾分類是回收的前提。 目前,我國垃圾分類主要以人工分揀為主,存在勞動強度大、效率低等缺點。 實現垃圾分揀的智能化與自動化具有重要的意義。垃圾圖片分類算法有助于實現垃圾分揀的智能化與自動化。
近年來,越來越多的專家學者對垃圾分類算法進行了研究與實踐。吳建等人使用傳統的計算機視覺方法,手動提取特征,識別實驗室廢物垃圾[2]。 黃惠玲等人提出基于HSV 的閾值分割算法和K 均值聚類算法識別建筑垃圾圖像[3]。 黃興華等人提出基于紋理特征融合的道路垃圾圖像識別算法[4]。 向偉等人提出改進的CaffeNet 網絡識別水面垃圾[5]。 但是缺乏針對生活垃圾圖片分類算法的研究。 目前,我國各城市全面推行垃圾分類制度,基本建立相應的法律法規和標準體系,將生活垃圾細分,大致可分為可回收垃圾、有害垃圾、廚余垃圾和其他垃圾四大類。 針對我國垃圾分類現狀,收集制作了小型生活垃圾數據集,選取經典網絡ResNet18[6]作為基礎網絡,使用GhostNet[7]的幻象模塊代替殘差學習單元中的普通卷積,減少網絡的參數量,提出基于幻象殘差結構的垃圾圖片分類算法。
卷積神經網絡是由腦結構啟發的特殊類型的神經網絡,使用了多層次的特征提取的方法,能夠從數據中自動學習特征的表示,具有強大的學習能力,在深度學習的相關領域應用廣泛。 LeNet-5[8]是最早的卷積神經網絡之一,被用于手寫字符的識別,奠定了卷積神經網絡結構設計時卷積層、下采樣層、全連接層的拓撲結構,產生了深遠的影響。但是由于當時缺乏大規模訓練數據以及硬件條件有限,LeNet-5 對于復雜問題的處理結果并不理想。如今大數據和硬件的發展加速了卷積神經網絡的研究,卷積神經網絡的性能也在不斷的提升。AlexNet[9]大獲成功,掀起了卷積神經網絡的研究熱潮。VGGNet[10]提出一種簡單有效的卷積網絡結構設計的原則。 同時使用多層的小尺寸濾波器代替大尺寸的濾波器,在達到相同感受野效果的同時減少參數數量。 這種使用小尺寸的卷積核并增加網絡深度的思想一直被沿用至今。
通過增加網絡的深度可以引入更多的非線性特征,但也使得網絡變得更復雜,難以訓練。何愷明等人提出的深度殘差網絡ResNet 在卷積層外部加入捷徑連接支路執行一個簡單的恒等映射構成基本殘差學習單元,通過順序堆疊殘差學習單元解決卷積神經網絡過深時網絡退化難以訓練的問題,使得訓練深層卷積神經網絡成為可能?;練埐顚W習單元如圖1 所示,這既沒有引入新的參數,也沒有增加計算復雜度,ResNet 及其思想具有很強的推廣性。

圖1 殘差學習單元
神經網絡中通常用大量卷積操作生成豐富、相似甚至冗余的特征圖,以保證對輸入數據有全面的理解。 華為諾亞方舟實驗室在GhostNet 中提出并非所有特征圖都要用卷積操作得到,相似的特征圖可以用更廉價的操作生成。 作者把這些相似的特征圖稱為彼此的幻象并設計了一種全新的神經網絡基本單元Ghost Module(幻象模塊),如圖3 所示。 相比于圖2 所示的傳統卷積,幻象模塊分三步走。 首先采用普通卷積操作生成部分真實的特征層,然后通過對真實特征層進行線性變換獲得幻象特征層,再將真實特征層與幻象特征層拼接到一起組成完整的特征層。假設輸入為h×w×c,輸出為h′×w′×n,卷積核尺寸為k,幻象模塊使用深度卷積對真實特征層進行線性變換。則輸入經過普通卷積的參數量為n×k×k×c,輸入經過幻象模塊的參數量為:cost=n/s×k×k×c+(s-1)×n/s×k×k,幻象模塊參數量的壓縮率為:s×c/(c+s-1)≈s,本文經過實踐發現s=2,k=3 時,引入幻象模塊后網絡性能較好。

圖2 普通卷積

圖3 幻象模塊
鑒于數據集規模較小以及ResNet18 良好的網絡性能和其在殘差網絡中的參數量較少,本文選用該網絡進行改進。 將ResNet18 殘差學習單元中的普通卷積用幻象模塊替換,構成幻象殘差學習單元,減少網絡的參數量。 通過順序堆疊幻象殘差學習單元構成G-ResNet18 網絡。 幻象模塊的網絡結構如圖4 所示,幻象殘差學習單元如圖5 和圖6 所示。G-ResNet18 網絡結構如表1 所示。

圖4 幻象模塊網絡結構

圖5 幻象殘差學習單元(strides=1)

圖6 幻象殘差學習單元(strides=2)

表1 G-ResNet18 網絡結構
針對我國垃圾分類規范,通過網上下載和手機拍攝部分常見的生活垃圾圖片構成數據集, 共10類,4 874 張圖片。 每一類圖片數量差別不大,盡量保證數據均衡。 數據集的分布和標簽如表2 所示。由于數據集規模不大,過多的網絡參數會擬合訓練數據的所有特點,而非數據之間的共性,導致過擬合。為了防止過擬合,采用隨機水平翻轉、隨機垂直翻轉、隨機縮放、隨機旋轉、逆時針方向裁剪、水平偏移和豎直偏移的數據增強方法擴充訓練數據。 效果圖如圖7 所示。
實驗采用Keras 2.2.2 深度學習開源框架,在64 位Windows 10 操作系統下,通過Python 3.5 編程語言開發。 硬件平臺為CPU:Intel i7-9700F,內存:16 GB,GPU:RTX 2070 8 GB。 實驗將數據集隨機打亂后按4:1 劃分為訓練集和測試集。一共訓練了300 個epoch,訓練批次樣本數為32,優化器選用Adam,采用SGDR(Stochastic Gradient Descent with Warm Restarts)[11]學習率進行網絡訓練,通過softmax 分類器進行分類。

表2 數據集分布和標簽

圖7 數據增強效果圖
學習率是網絡最重要的超參數之一,當學習率設置過大時會導致模型難以收斂,過小時會導致模型收斂速度過慢。 SGDR 即帶重新啟動的隨機梯度下降的學習率,使用余弦函數作為周期函數,并在每個周期最大值時重新開始學習速率。 通過突然提高學習率,來“跳出”局部最小值并找到通向全局最小值的路徑,可以加快網絡收斂,找到精度的最優值。 SGDR 的公式為:


圖8 SGDR 學習率曲線
圖9 為ResNet18 模型訓練的精度曲線,圖10 為G-ResNet18 模型訓練的精度曲線。 從圖中可以看出,G-ResNet18 模型收斂更快,且識別精度比ResNet18精度提高了1%,最終測試正確率達到了89%。 本文從識別精度和參數量兩個方面對比了經典網絡 模型ResNet18、ResNet34、ResNet50 和G-ResNet18在實驗數據集下的表現,如表3 所示。 可以看出,本文的網絡模型在保證模型性能的同時大大減少了參數量,與ResNet18 相比,參數量減少了46% ,識別精度提高了1% 。 實驗結果表明,本文的網絡模型對于小型生活垃圾數據集上的表現效果較好,幻象模塊有助于減少網絡的參數量。

圖9 ResNet18 精度曲線

圖10 G-ResNet18 精度曲線

表3 本文網絡模型與經典網絡模型對比
本文針對我國垃圾分類現狀,收集制作了小型生活垃圾數據集,并提出了基于幻象殘差結構改進的ResNet18 生活垃圾圖片分類算法。 對比原網絡,該算法在保證性能的同時將參數量減少了46%,并在自制的生活垃圾數據集上取得了89%的識別精度,識別精度提高了1%,有效增加了垃圾分揀的智能化和自動化水平。