劉晏銘 叢子健 王 通 黃子悅
(長春大學機械與車輛工程學院,吉林長春 130000)
隨著城市發展,垃圾回收和再處理成為現代城市需要提供的基本服務。國內垃圾分類方式主要包括人工分揀和大型垃圾場分類,大型垃圾場的垃圾分類措施依然采取大量人工進行分揀。張河等[1]設計基于51單片機的智能垃圾桶系統,具有自動檢測開蓋以及超重預警功能。許韓睿等[2]設計基于STM32的智能垃圾桶系統,具有可旋轉開蓋、防火報警和顯示垃圾余量等功能。隨著深度學習技術在視覺領域的應用和發展,利用最新的人工智能技術實現垃圾分類成為可能,利用攝像頭拍攝垃圾圖片,檢測垃圾類別,使機器實現自動垃圾分揀,極大地提高垃圾分揀效率。卷積神經網絡的提出增加了分類的效率。Butt等[3]采用VGG19網絡模型對視頻圖像進行監控。文章提出基于VGG16網絡模型,采用樹莓派4B和STM32單片機設計垃圾分類系統。
裝置主體上層為控制部分電路盒,中層為垃圾分類機械結構,下層為4個獨立的垃圾桶。采用SOILDWORKS軟件對分類裝置進行建模,垃圾桶高850 mm,長、寬各450 mm。電路盒放置系統需要的電子硬件和連接的杜邦線,盒子上方放置7寸的高亮顯示屏;垃圾分類機械結構包括兩個軸承、兩個舵機,軸承保證二自由度的機械結構進行垃圾分類時減少摩擦;4個獨立的垃圾桶長寬各200 mm,高500 mm,分別放置廚余垃圾、可回收垃圾、有害垃圾、其他垃圾。裝置上方為20 cm×20 cm的垃圾投放口,垃圾通過投放口投放至裝置內。
垃圾桶結構建模如圖1所示。

圖1 垃圾桶結構建模
整體框架使用鋁材制作,電路盒和分類機構使用3D打印機器加工,垃圾桶使用亞克力板制作。
(1)控制電路設計。本裝置選擇樹莓派4B作為上位機,選擇32系列單片機作為下位機。上位機與下位機進行信息傳遞,連接光電傳感器1、攝像頭和LED燈。光電傳感器1連接樹莓派的GPIO18口,末端固定在分類機構的分類槽中。垃圾投放至分類槽時,光電傳感器的光線被阻擋,反饋上位機信號;上位機接收到信號,運行相應程序并發送對應指令給下位機。下位機接收到上位機的指令,通過PWM控制電機旋轉角度,完成對應的動作,將垃圾投放至相應的垃圾桶內,完成分類。桶內垃圾超過容積的80%時,光電傳感器會給下位機反饋,下位機控制無源蜂鳴器報警。
硬件電路連接如圖2所示。

圖2 硬件電路連接
(2)程序設計。
程序設計流程如圖3所示。

圖3 程序設計流程
數據集包括訓練集和測試集,約50%數據來自公共數據集,采集不同狀態下的垃圾,保證整體的泛化性,其余50%為課題組拍攝的圖片(3 854張)。為了增加樣本的多樣性,降低訓練過程中的過擬合,需要增加樣本量,對每一個樣本進行水平豎直翻轉,將驗證集的圖像尺寸調整為150×150像素。擴充樣本后,數據集圖片共8 800張,按照7∶3的比例隨機分割為訓練集、檢驗集。其中,6 160張作為訓練集,2 640張作為驗證集。每批訓練圖片數量為24,迭代次數為20次。課題組圖像像素為640×480,為3通道RGB圖像。
數據集分類如表1所示。

表1 數據集分類
本設計以卷積神經網絡VGG16為特征提取網絡。VGG16的結構簡潔,網絡使用相同尺寸的卷積核(3×3)和最大池化尺寸(2×2);通過加深網絡結構提升網絡性能;多個小濾波器(3×3)卷積層的組合效果比1個大濾波器(5×5或7×7)卷積層好;在網絡測試階段將訓練階段的3個全連接替換為3個卷積,使測試得到的全卷積網絡無全連接的限制,可以接收任意寬或高的輸入。為了增加網絡的泛化能力,對VGG16網絡進行優化。在原有數據的基礎上,擴充不同的垃圾圖片共3 000張;在原有VGG16網絡基礎上,添加歸一化處理,進一步提高網絡的泛化能力;添加全連接層和dropout處理。
試驗平臺電腦配置:i5-8300H CPU,8G RAM,64位window 10操作系統,GPU為NVIDIA GeForce GTX 1050 Ti。為了評估垃圾種類識別特征提取模型的性能,采取對比試驗。利用自定的訓練集進行驗證,將優化VGG16模型與VGG16和AlexNet模型進行對比,進行20次迭代訓練。
模型迭代準確率與損失率如圖4、圖5所示。

圖4 模型迭代準確率

圖5 模型迭代損失率
由圖4、圖5可知,優化VGG16的識別準確率比VGG16和AlexNet高,損失值較低。將5次訓練的準確率和損失值分為5組,取平均值。
分析不同方法5次訓練的準確率,優化VGG16的識別效果優于其他兩個模型,準確率最高為0.98;分析損失率,AlexNet模型訓練損失率最高,最高為0.204,最低為0.186,優化VGG16的模型損失率整體最低,最低為0.019,平均約0.05。訓練后的VGG16模型準確率維持在0.96以上,損失值低至0.05,精度能夠達到垃圾識別分類的要求。
不同方法的準確率如表2所示。

表2 不同方法的準確率 單位:%
在完成模型的選擇與優化,將模型移植到樹莓派中,進行系統的實物搭建,在實際環境中對系統的分類功能和識別速度進行測試,共測試100次。
實際測試結果如表3所示。

表3 實際測試結果
由表3可知,系統能夠很好地識別對應的垃圾種類;對驅動裝置進行測試,舵機能夠準確地執行分類動作,實現垃圾的正確分類。整體運行結果顯示,模型能夠通過攝像頭傳輸的圖片準確識別垃圾種類,機械結構能夠正確地將對應垃圾分類到對應的垃圾箱內。測試的4種垃圾都能夠精確識別,準確可靠。
測試識別時間如圖7所示。

圖7 測試識別時間
由圖7可知,系統穩定運行,完成1次垃圾分類識別時間約0.95 s,模型在實際系統中具有良好的識別速度。
本研究提出依據優化VGG16網絡模型與遷移學習結合的垃圾分類系統方法,通過識別垃圾圖像對投擲的垃圾進行分類并投放到對應的垃圾桶。分類系統完成1次分類回收的時間為0.95 s,平均識別精度超過95%。研究發現,一些深層次問題仍需解決,應改進算法以提高對小型垃圾的識別精度;研發多倉或其他垃圾收集工具,以滿足多類別的需求。