毛昕蓉,趙嘉豪,史智帥
(西安科技大學通信與信息工程學院,陜西西安 710054)
目前,我國垃圾分類方式主要為居民自我判別垃圾種類后分揀和垃圾中轉站的人工再分類兩種[1],使用這兩種方法完成垃圾分類任務還需要居民自己識別垃圾種類,但我國居民目前對垃圾分類意識較為薄弱,人們無意中的錯扔錯分就會使第一種分類方法達不到理想效果,即使由引導員引導居民進行垃圾分類,也存在著管控難度大、人工成本高等問題;而第二種方法是我國主要依賴的垃圾分類方法,雖然中轉站的專業人員在垃圾分類的專業程度上比一般居民高,分類的準確率也有著一定的保證,但在實際操作中,由于運到垃圾中轉站的垃圾數量都相當龐大,在進行分類工作時仍會面臨著人工費用較多、工人身體健康面臨威脅、分類效率低下以及精度不足等問題。故尋找出一種高效的垃圾分類方法是推行垃圾分類政策的必然之道。
隨著技術手段的推陳出新,各種智能化技術也朝著垃圾分類方向上進行拓展應用,其中較為突出的方法有三大類,分別為基于圖像的識別算法、基于聲波的分析識別算法以及基于光譜分析的識別算法[2]。這三種方法的特征提取效果都很出色,識別效果較傳統的人工分類方法都有較大的提升,基于圖像的識別算法利用圖像顏色、角點、紋理、頻率等特征的不同進行分類,該方法在同種類項目上已有較為成熟的經驗,且配套軟硬件技術較為成熟,例如人臉識別支付、智能垃圾桶、自動分揀機器人等;基于聲波的分析識別算法的識別原理為通過聲波發生器向目標發射超聲波,根據回波的聲色、頻率、振幅等特征的不同判斷目標種類;基于光譜分析的識別算法根據不同種類的垃圾反射出的光譜特征的不同進行分類,該方法的成果有室用智能分揀系統。與傳統方法和基于圖像的識別算法相比,后兩者都處于起步階段,因成本以及工藝要求等原因還未有相應的產品面世,而基于圖像的識別算法中,深度學習算法又是當下最主流的算法,其向人們展示了其在分類問題上穩定且優越的性能[2],理論上使用深度學習算法可自動準確地完成垃圾分類,將深度學習技術與垃圾分類理論結合即形成了垃圾分類智能化的概念[3]。當前我國在智能垃圾分類領域已進行了大量研究,并且已有些許成果應用于實際。文獻[4]設計的智能垃圾桶具有軟硬結合的優勢,促使垃圾分類合理化、有效化;文獻[5]在垃圾分類系統中加入了語音識別分類、人體紅外感應開蓋、溫濕度檢測等功能;還有一些發明專利獲得批準,例如文獻[6]提出一種基于深度學習的智能分類垃圾箱,該垃圾箱包括垃圾箱主體結構和智能分類控制器,優點是可以低成本地實現垃圾自動分類。
基于以上信息,文中依照目前已有的基于圖像的垃圾分類識別算法,嘗試以樹莓派作為控制單元,設計了一款能夠在短時間內完成高準確度垃圾識別任務的智能垃圾桶。
文中設計將當前深度學習算法與垃圾分類問題結合,將卷積神經網絡部署在嵌入式設備樹莓派上,以實現在小型化設備上對多種類垃圾的準確識別。考慮到該研究目的是減輕垃圾分類給人帶來的負擔,故需訓練出高精度網絡模型來準確地對垃圾的類型進行識別。設計選擇使用殘差卷積神經網絡Resnet-50 模型作為智能垃圾分類系統的分類算法。該系統采用樹莓派4B 作為主控核心,樹莓派配套的攝像頭作為圖像采集模塊,并以生活中常見的普通垃圾桶作為垃圾回收裝置。垃圾桶中放置兩塊隔板,兩隔板互相垂直,將垃圾桶內部空間分割成四個區域,并在垃圾桶底安裝舵機來控制垃圾桶旋轉。系統開始運行后,首先通過程序控制攝像頭對垃圾進行拍照,將保存的照片與訓練好的模型進行比較,得出垃圾分類識別信息,同時將該信息傳遞給舵機,由舵機控制垃圾桶旋轉至對應垃圾種類的分區,最后進行垃圾的投放。
設計所用到的所有硬件模塊及參數如表1 所示,下面主要介紹樹莓派的選取。

表1 智能垃圾分類系統硬件配置
樹莓派的創始人指出目前市場上存在的樹莓派有兩種型號,分別為Model A 和Model B。Model A 為了降低成本和能耗,犧牲了一些功能,比如沒有網線接口,上網必須采用通用串行總線(Universal Serial Bus,USB)接口類型的無線網卡;同系列的樹莓派Model B 型號自發布以來,已經開發到了第4 代,與Model A 相比,它有以太網接口,而且支持WiFi,與Model B+型相比,其成本較低,版本較新,可以完成Model B+大部分功能[7-10]。
樹莓派4B 包含了San Disk 16 GB 內存卡一張、3 A 電源一套和樹莓派4B 主板,該型號擁有1.5 GHz的64 位四核處理器、板載BCM43143 WiFi、板載低功耗藍牙、2 GB RAM、兩個USB 3.0 接口、兩個USB 2.0接口以及40 GPIO 引腳擴展[11],擁有十分強大的功能,這些功能可以滿足文中設計需求,故選擇樹莓派4B 作為硬件主控單元。
文中設計采用的是基于圖像的識別算法,并使用了殘差神經網絡Resnet-50,該網絡的具體結構如圖1 所示。對于Resnet-50,其輸入走完全程共需經過5 個階段,其中第一階段為輸入圖像與64 個大小為7×7 的卷積核進行卷積運算;第二到第四階段均由兩個形狀相同的結構塊構成——卷積結構塊與bottleneck 結構塊,兩者結構上的差別主要在于bottleneck 結構塊比卷積結構塊多一個并行的卷積層,其中bottleneck 結構塊的輸入與輸出維度相等,故可以將多個bottleneck 結構塊串聯使用;卷積結構塊的輸入與輸出維度不相等,其作用就是改變特征向量的維度。卷積結構塊與bottleneck 結構塊對應的具體結構分別如圖2 與圖3 所示[13-15]。

圖1 殘差神經網絡Resnet-50網絡結構圖

圖2 bottleneck結構塊結構圖

圖3 卷積結構塊結構圖
文中設計在軟件部分還借鑒了遷移學習的思想。網絡訓練以預訓練模型為基礎,再輸入訓練集圖像來微調預訓練模型的參數。此方法的優勢在于若能保證輸入的訓練集與預訓練模型的訓練集有足夠的相似度,那么訓練時無需將神經網絡中的所有參數隨機初始化,只需將末位的一到兩層參數暴露,其余卷積層或者結構塊進入凍結狀態,其參數不隨著訓練而更新,從而減少了模型訓練的計算量,使模型能在更短的時間到達收斂狀態[16]。
設計的系統工作流程圖如圖4 所示,各模塊信息如下:
1)初始化模塊包含加載模型和暴露模型初始化兩個模塊;
2)對于拍照模塊,文中選擇直接調用OpenCV庫中的imwrite 函數來完成拍攝工作,并將拍好的圖片以“0.jpg”為名直接存放到源程序所在的文件夾下。為了減小內存的消耗,這里設置成每次拍照所得的圖片會覆蓋掉前一次的圖片,更新成為新的“0.jpg”;
3)當拍照任務完成后,系統會自動執行讀取模塊來讀取圖片“0.jpg”,并將其作為輸入傳遞給匹配模塊;
4)匹配模塊將輸入的“0.jpg”與先前訓練好的分類數據進行比較,從而得出分類結果;
5)由延時函數來穩定系統的工作速率,該設計所設定的延時間隔為5 s,這樣既可保證系統擁有足夠的反應時間去完成硬件上的任務,又可使整個系統處于一個較高效率的工作狀態,此環節是整個設計具有可行性的根本保證。
每完成一次匹配,此系統就會根據預測結果自動調用所對應的硬件驅動語句來完成硬件部分操作,具體為:當判斷垃圾為可回收垃圾時,樹莓派會向舵機發出一個占空比為2.5%、脈寬為0.5 ms 的脈沖寬度調制(Pulse Width Modulation,PWM)信號,舵機收到后會轉到0°角;當判斷垃圾為有害垃圾時,樹莓派會向舵機發出一個占空比為3.3%、脈寬為0.66 ms 的PWM 信號,舵機收到后會轉到60°角;當判斷垃圾為廚余垃圾時,樹莓派會向舵機發出一個占空比為8.84%、脈寬為1.83 ms 的PWM 信號,舵機收到后會轉到120°角;當判斷垃圾為其他垃圾時,樹莓派會向舵機發出一個占空比為12.5%、脈寬為2.5 ms 的PWM 信號,舵機收到后會轉到180°角。
在測試過程中共選取了生活中較為常見的垃圾作為輸入,對系統在強光、弱光、正常光照三種環境下分別進行了50 次識別匹配,將所得到的相關數據及系統輸出的預測結果和實際情況進行對比,得到的系統平均識別率如表2 所示。從表2 可以得出,在正常光照情況下,系統的平均識別準確率可達93.2%,在光線變化較大的環境下也有82%以上的識別率,可以看出系統具有較高的識別精度,可基本滿足使用需求。

表2 按類測試結果
文中以樹莓派作為主控單元,利用深度學習的殘差網絡算法解決了垃圾分類中“分類難、成本高、時間長”等問題。但同時,該系統穩定性和識別精度等方面仍存在一定缺陷,如對部分垃圾的識別準確率還有所欠缺,在不同光照下識別準確率變化較大;智能垃圾分類系統還可以根據人們在日常生活中的實際需求做出相應的改進和優化,如在現有基礎上還可以增加語音提示等多種功能。