李長江,余海濤,李官星,李玥洋,譚雯文
(1.重慶科技學院 機械與動力工程學院,重慶 401331;2.鳳鳴山中學,重慶 400030;3.重慶工程職業技術學院,重慶 402260)
隨著機器視覺、人工智能技術的快速發展,利用機器來代替人工作業必將是可回收垃圾分類回收的發展趨勢。因可回收垃圾種類繁多、形狀各異,尚未有成熟的能夠在環境復雜下滿足分揀準確性要求的視覺處理產品,特別是與工業機械臂實時配合的視覺辨識技術。近年來,深度學習技術迎來了一個快速發展的時機,在圖像識別領域成果顯著。許多學者將深度學習技術應用于垃圾分類領域,但都或多或少存在著一些問題。Stephenn L.Rabano等人(2018)應用輕量級網絡MobileNet 于TrashNet Dataset 數據集,取得了87.2%的測試正確率。Victoria Ruiz等人使用ResNet 網絡在這一數據集上取得了88.66%的平均正確率。Rahmi Arda Aral等使用DenseNet121 和DenseNet169 網絡,將準確率提升至95%的平均準確率。Umut Ozkaya等使用GoogleNet 搭配SVM分類器,準確率達到了97.86%。在模型精度增長的同時,所使用的模型的復雜度和運行時間也在增加。因此行業內急需一種分類準確率高、速度快的深度學習算法,以便于快速分揀垃圾,提高效率,嵌入至硬件設備,滿足工業化應用需求。
本文研究基于SqueezeNet的改進模型,提出SqueezeNet-Tiny,解決模型較大造成的工業應用困難、可回收垃圾圖像特征太復雜造成的模型泛化能力不足等問題。在自制的可回收垃圾數據集(Recyclable Waste Dataset)上實驗,驗證了其在參數量較少的情況下也具有良好的泛化能力。
在圖像識別的過程中,傳統的卷積神經網絡往往通過簡單的堆疊網絡層數來獲取較高的模型正確率,例如AlexNet、VGG16Net、GoogleNet 等,但這樣做會帶來復雜的網絡模型與龐大的網絡參數量,在小型數據集上易出現過擬合現象,導致模型正確率不增反降,同時消耗大量訓練時間,不利于對網絡進行優化和后續的硬件部署工作。為了保證模型性能的同時減小模型的參數量與運算量,輕量級網絡模型的提出與設計顯得尤為重要。
SqueezeNet 是Iandola 借鑒Inception 模型的提出的一種輕量級網絡模型,其參數量只有0.72 M,相當于AlexNet 參數量的1/50,但其在ImageNet 的top-1 準確率與top-5 的準確率與AlexNet 相當。相比于傳統的卷積方式最重要的改變是提出了FireModule,并且整個網絡所采用的核心結構是FireModule 的組合形式。FireModule 的結構如圖1所示,其包含兩個部分,squeeze layer 和expand layer 層,如圖所示,squeeze layer 采用個1×1 的卷積核對輸入維度為通道的圖像進行降維,expand layer 采用并行的個1×1 和個3×3 的卷積核對壓縮層的圖像進行升維,其中<,4=+,并將升維后的結果進行拼接(concatenate)后得到輸出圖像。

圖1 FireModule 基本結構
對SqueezeNet 模型進行微改和刪減等改進方式后提出SqueezeNet-Tiny,由于SqueezeNet 模型會導致輸入圖像的丟失信息過多,增加模型的錯誤率,為減少圖像的損失信息,增加模型的泛化性能。本文對SqueezeNet 改進策略如下。本文將SqueezeNet 網絡的第3 個池化層刪除,并且將第1 個卷積層的卷積核大小改為3×3 提出新輕量化網絡模型SqueezeNet-Tiny,具體的模型結構圖如圖2所示。

圖2 SqueezeNet-Tiny 結構圖
從經濟性、及實用性等角度,本文設計了可回收垃圾智能分類系統,制作工程化樣機,完成了智能分類垃圾桶的運行實驗。圖3為智能垃圾分類桶的三維模型圖。智能垃圾分類桶包括顯示模塊、圖像采集模塊、垃圾接收模塊、分類執行模塊。垃圾接收模塊設置有接收平臺和放料機構,圖像采集模塊安裝有攝像頭和光源系統,用于采集放置在接收平臺的垃圾。分類執行模塊包括與玻璃類、金屬類、塑料類等對應可回收垃圾收集桶。垃圾進入接收模塊及分類區域,傳感器感應到目標進入并驅動攝像頭獲取垃圾圖像,SqueezeNet-Tiny 網絡模型執行分類算法。根據分類結構,執行模塊的電機轉動一定的角度,將對應類別的分類垃圾桶旋轉至垃圾接收模塊正下方,放料機構打開,目標收集到對應的分類桶。

圖3 智能分類垃圾桶模型圖
可回收垃圾數據集部份來自Gary Thung 和Mindy Yang 創建的垃圾分類數據集TrashNet Dataset。因TrashNet Dataset 中數據量少,且背景單一,無法滿足工業實際應用需要。因此在其基礎上加入有復雜背景的華為公開垃圾分類數據集。根據分類標準,將兩個數據集中的織物、金屬、玻璃、紙張、塑料5 大類別的圖像篩選出來構成可回收垃圾數據集。對數據集中圖像進行數據擴充處理,形成Recyclable Waste Dataset。其共有圖片20 596 張,其中織物圖像數據3 700 張,玻璃圖像數據4 800 張,金屬圖像數據4 168 張,紙張圖像數據4 552 張,塑料圖像數據3 376 張,在輸入模型訓練前將數據集里面的圖像統一至32×32 像素。數據集劃分為訓練集驗證集與測試集,其中訓練集、驗證集和測試集分別占數據集的60%、20%、20%。
本次實驗以Juypter Notebook 為實驗平臺,利用Keras 和Tensorflow 等深度學習開源框架,CPU(Central Processing Unit)為Inter(R) Core(TM) i7-7700,主頻為3.60 GHz,內存為16.0 GB,GPU(Graphics Processing Unit)為NVIDLA GeForce GTX 1050Ti(4 GB)。
為了避免超參數對實驗造成影響,本文設置實驗時均采用相同的參數設置,迭代次數設置為225 次,實驗設置初始學習率為0.1,并在第75 次迭代次數的時候學習率衰減為0.01、第150 個迭代次數的時候學習率衰減為0.001。優化函數使用隨機梯度下降法。
各網絡模型的精確度、參數量與FLOPs 分布情況如表1所示。

表1 各模型精確度變化情況
本文提出的模型SqueezeNet-Tiny 在第75 和150 迭代次數時,模型有一個較大的精確度提升,是由于本文所設置的隨機梯度下降法優化函數時在這兩個迭代次數的學習率從0.1 下降至0.01 和0.001,小學習率更有利于模型泛化能力的提高,更有利于模型對于可回收垃圾的分類識別。
表1為SqueezeNet-Tiny、SqueezeNet、AlexNet 三個網絡模型參數量、BFLOPs 以及在Recyclable Waste Dataset 數據集的識別精度。SqueezeNet-Tiny 在參數量與模型復雜度與初始SqueezeNet 相同,僅為0.73 M,遠低于傳統的大型神經網路模型 AlexNet。在 Recyclable Waste Dataset 數據集的識別精度均得到了一定程度的提升,達到了94.68%。實驗表明,本文所提出的刪除第三池化層和修改卷積核大小的改進策略是有效性的,基于改進策略提出的SqueezeNet-Tiny 網絡既能滿足可回收垃圾分類領域對網絡泛化能力的需求,也能滿足工業化應用是對于精度要求和模型輕量化的需要。
人機交互系統采用Python 中的TKinter 庫編寫完成,樹莓派執行智能垃圾分類桶的運行控制。樹莓派調用攝像頭獲得接收平臺的垃圾的圖像,預處理后的垃圾圖像輸入至訓練好的SqueezeNet-Tiny 網絡中進行分類,并在終端中顯示出分類的結果。具體的實現結果如圖4所示。


圖4 智能分類功能具體實現圖
本文以輕量級模型SqueezeNet 為基礎網絡,對其進行改進后提出輕量級網絡模型SqueezeNet-Tiny。在自制的可回收垃圾數據集Recyclable Waste Dataset 上進行實驗,實驗證明,SqueezeNet-Tiny 在參數量與模型復雜度不變的前提下,能夠取得比SqueezeNet 更好的實驗效果。其次,本文還將SqueezeNet-Tiny 與AlexNet 模型進行實驗,在參數量與模型復雜度都遠小于AlexNet 網絡的前提下,其精確度提高了1.5%。僅需要0.73M的參數量就可以實現94.68%的精確度。實驗證明其具有良好的識別能力與泛化能力。本文還將SqueezeNet-Tiny 嵌入至樹莓派上,最終實現了可回收垃圾的智能分類。