亢紅波,蔡學瑞,楊 亮,周倩倩
(1.西安郵電大學 自動化學院,陜西 西安 710121;2.中國石油測井有限公司 測井技術(shù)研究院,陜西 西安 710054)
垃圾分類[1]是指按一定規(guī)定或標準將垃圾分類儲存、投放和搬運,實現(xiàn)資源回收利用。垃圾回收利用是發(fā)展循環(huán)經(jīng)濟的首要環(huán)節(jié),更是解決環(huán)境污染問題、改善人居環(huán)境的關(guān)鍵所在。中國現(xiàn)行的垃圾分類以住房和城鄉(xiāng)建設部于2019年發(fā)布的《生活垃圾分類標志》為準,即將生活垃圾分為可回收物、廚余垃圾、其他垃圾和有害垃圾等4個大類。目前,國內(nèi)大多數(shù)垃圾處理廠對垃圾進行分類時,仍是依靠人工分揀的方式,不僅不利于相關(guān)從業(yè)者的身心健康,而且分揀效率低,無法及時處理現(xiàn)代社會生活中產(chǎn)生的大量垃圾。未及時清理的垃圾不僅會影響環(huán)境的整潔美觀,也容易滋生細菌、產(chǎn)生有害氣體,危害人的身體健康。
在生活垃圾分類領域,適用于小型垃圾分類裝置的垃圾分類方法大致分為基于傳感技術(shù)、基于光譜技術(shù)、基于介電常數(shù)和基于機器視覺等4類。在基于傳感技術(shù)的分類方法中,單個傳感器可檢測的材料單一,需要多個傳感器合作檢測,檢測系統(tǒng)復雜[2]。基于光譜技術(shù)的分類方法僅能分類塑料材質(zhì)的物品,且價格昂貴,無法普及[3]。基于介電常數(shù)的分類方法對物品材質(zhì)有要求,無法推廣普及[4]。基于機器視覺的分類方法(即圖像分類)相比于其他方法具有成本低、效率高、穩(wěn)定性強和應用領域廣泛等優(yōu)點[5]。早期的圖像分類方法[6]需要人工提取圖像的特征,不僅魯棒性差、復雜度高,而且耗時長、實時性差。隨著神經(jīng)網(wǎng)絡技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡因其擬合能力強大、可以自主學習并提取數(shù)據(jù)特征以及運行速度快等特性,在圖像分類領域得到了廣泛的應用[7]。深度卷積神經(jīng)網(wǎng)絡為推動圖像分類領域飛速發(fā)展所做出的貢獻,也同樣對垃圾分類領域的發(fā)展起到了促進作用。斯坦福大學為推動垃圾分類的發(fā)展所建立的TrashNet數(shù)據(jù)集[8]包含了約2 500張圖像。2019年,華為建立了包含了上萬垃圾圖像樣本數(shù)據(jù)的數(shù)據(jù)集。這些垃圾圖像數(shù)據(jù)集的建立,使垃圾智能分類的可操作性進一步增強。
目前,基于圖像分類的垃圾分類大多停留在理論階段,雖然隨著神經(jīng)網(wǎng)絡技術(shù)的發(fā)展,垃圾圖像分類的準確率早已滿足日常生活所需,但考慮到網(wǎng)絡模型結(jié)構(gòu)復雜,對于硬件設備的性能要求過高,無法在小型嵌入式設備中使用。國內(nèi)設計的適用于生活垃圾分類的小型智能垃圾分類裝置也大多側(cè)重于機械結(jié)構(gòu)的設計與控制,在垃圾分類方面存在準確率低、可分類物品種類較少等問題。因此,擬基于圖像分類的方法設計一種低成本、可用于生活垃圾處理領域的小型智能垃圾分類裝置。該裝置使用雙控制器,將專用于神經(jīng)網(wǎng)絡相關(guān)領域的小型嵌入式設備——Jetson nano作為主控制器完成垃圾圖像的采集、識別與分類。使用傳統(tǒng)的小型嵌入式設備STM32F103作為副控制器完成對裝置的控制、相關(guān)信息的采集與上報,從而實現(xiàn)垃圾分類、人機交互和實時監(jiān)測等功能。
目前公開的垃圾數(shù)據(jù)集中具有較好反響且得到廣泛使用的僅有TrashNet數(shù)據(jù)集和華為垃圾數(shù)據(jù)集,因此,自建垃圾分類數(shù)據(jù)集的樣本圖像主要來自華為垃圾數(shù)據(jù)集中的圖像數(shù)據(jù)、搜索并篩選的符合要求的垃圾圖像以及實景采集各類垃圾圖像等3個方面,共14 100張垃圾圖像,其中可回收物5 700張,廚余垃圾2 400張,其他垃圾2 700張,有害垃圾3 300張。
圖像預處理[9]是將樣本圖像的大小處理為模型接受的標準圖像,并在樣本圖像中增加干擾以達到提高模型的抗干擾能力和泛化能力。對自建垃圾分類數(shù)據(jù)集中的圖像進行預處理,通過調(diào)整圖像大小,使用圖像增強技術(shù),模擬實際應用過程中圖像受到的干擾并將圖像進行標準化處理,保證在符合設計模型輸入要求的同時最大程度保留圖像中物體的原貌。
1.2.1 垃圾圖像大小調(diào)整
考慮到卷積神經(jīng)網(wǎng)絡模型的輸入圖像固定大小為224×224,因此在將自建垃圾圖像數(shù)據(jù)集中的圖像輸入模型前,先利用雙線性插值算法[10]調(diào)整圖像大小,其核心思想是根據(jù)最鄰近的4個像素點的值計算出新的像素點的值。
使用雙線性插值算法直接將圖像大小縮放為224×224,會改變圖像的長寬比例,造成圖像失真,如圖1(b)所示。因此,先利用等比縮放處理圖像后再進行中心裁剪。假設原圖大小為m×n且滿足(m>n),將圖像縮放為(224·m/n)×244,再利用中心裁剪的方法將圖像裁剪為224×224的圖像,如圖1(c)所示。

圖1 圖像大小調(diào)整效果對比
由圖1可以看出,直接將圖像縮放為224×224,圖像的長寬比例變化會導致圖像中的物體產(chǎn)生形變,而調(diào)整后的縮放圖像,在保持圖像中物體原有比例的前提下最大程度地保留物體的主體部分。
1.2.2 垃圾圖像增強
在實際進行圖像識別過程中,會受各種因素影響,如復雜的物理環(huán)境、光照強度的變化、物體被遮擋以及成像后的顏色失真,因此難以獲得高質(zhì)量的圖像。為了保證圖像識別模型的抗干擾能力和泛化能力足夠強,在訓練模型的時候使用圖像增強技術(shù),模擬實際拍攝過程中圖像在形態(tài)、亮度和顏色等各方面的變化,如:調(diào)整亮度、對比度與飽和度模擬光照強度的變化;利用隨機翻轉(zhuǎn)、旋轉(zhuǎn)與透視和仿射變換模擬放置位置的變化;利用隨機裁剪與隨機擦除模擬污漬的影響。訓練模型前在樣本圖像中加入隨機干擾和變化,可以增強神經(jīng)網(wǎng)絡模型的抗干擾能力。
1.2.3 垃圾圖像標準化
圖像標準化[11]是通過去均值的方式實現(xiàn)圖像中像素值的中心化,數(shù)據(jù)中心化符合數(shù)據(jù)分布規(guī)律,從而增強模型的泛化能力。
假設第n個圖像通道的輸入值為In、方差為Sn、均值為Mn,則對通道n的圖像標準化后輸出為On(In-Mn)/Sn
自建垃圾分類數(shù)據(jù)集的圖像通道為三通道,根據(jù)自建垃圾分類數(shù)據(jù)集的圖像統(tǒng)計結(jié)果可得各通道的方差分別為S1=0.225、S2=0.224、S3=0.229,均值分別為M1=0.406、M2=0.456、M3=0.485。
考慮到AlexNet[12-13]、VGGNet[14]、ResNet[15-16]、GoogLeNet[17]、EfficientNet[18]和MobileNet[19]等模型是針對ImageNet數(shù)據(jù)集進行設計的,ImageNet數(shù)據(jù)集將圖像分為了1 000類,而自建垃圾分類數(shù)據(jù)集將圖像分為4類,因此修改網(wǎng)絡模型的輸出層,使其可以將圖像分為4類。又考慮到模型參數(shù)是在ImageNet中訓練得出,不能直接用于垃圾圖像分類,需通過自建垃圾圖像數(shù)據(jù)集對模型進行訓練以調(diào)整參數(shù)。模型的修改與訓練過程如圖2所示。

圖2 模型的修改與訓練過程
對AlexNet、VGGNet、ResNet、GoogLeNet、EfficientNet和MobileNet模型分別進行遷移學習[20]對比實驗,第一組實驗將各模型的參數(shù)隨機初始化,使得原有參數(shù)對訓練結(jié)果不產(chǎn)生影響;第二組實驗使用遷移學習的方法,初始化時加載在ImageNet數(shù)據(jù)集中訓練得到的參數(shù),再使用自建垃圾分類圖像數(shù)據(jù)集對模型進行訓練,僅對模型參數(shù)進行微調(diào)。
每組實驗都從自建垃圾分類圖像數(shù)據(jù)集中選取2 000張圖像(每類垃圾各選500張)作為測試集,其余部分作為訓練集。實驗中所有模型都訓練30代,訓練完成后使用測試集對模型進行測試。實驗結(jié)果分別如表1和表2所示。

表1 隨機初始化模型參數(shù)的結(jié)果

表2 遷移學習的方法初始化模型參數(shù)的結(jié)果
由表1的結(jié)果可知,將模型參數(shù)進行隨機初始化后,準確率最高的GoogLeNet模型僅達到了74.1%的準確率,各模型在未加載預訓練參數(shù)時準確率普遍不高。從較為簡單的AlexNet模型到復雜的EfficientNet-B0模型,準確率隨著模型的深度增加而增加,但是EfficientNet-B0模型由于訓練數(shù)據(jù)集樣本數(shù)量不充足,模型的準確率并不高。
由表2的結(jié)果可知,使用遷移學習的方法對模型參數(shù)進行初始化,可以有效提升模型的訓練效果,各個模型的準確率明顯提升,準確率最低的AlexNet模型也達到了88.9%的準確率,這說明使用遷移學習的方法對模型參數(shù)進行初始化可以提高模型的準確率。同時,Efficientnet-B0模型也因為使用了遷移學習的方法,改善了數(shù)據(jù)集樣本數(shù)量不足的問題,準確率有了明顯提升。
通過上述兩組實驗可以看出,MobileNet-v2模型在使用遷移學習方法前后都有較高的準確率,使用遷移學習方法之后準確率高達93.4%,在6種模型中準確率最高,且MobileNet-v2模型使用了深度可分離卷積技術(shù),減少了網(wǎng)絡模型的參數(shù),提高了計算速度,很好地平衡了算法的實時性與準確率,也降低了對硬件的要求。
MobileNet-v2模型的準確率較高,并且其復雜度低、計算量小的特性使其非常適合應用于嵌入式設備中。因此,利用TensorFlow將訓練好的MobileNet-v2模型移植到Jetson nano中,設計一種智能垃圾分類裝置,實現(xiàn)垃圾分類的實際應用。智能垃圾分類裝置主要有以下5種功能。
1)裝置狀態(tài)檢測。智能垃圾桶通過溫濕度傳感器與超聲波模塊實時檢測垃圾桶的溫濕度與滿溢度。
2)智能語音播報。檢測到的溫度超過設定閾值時,發(fā)出警報。垃圾桶內(nèi)的垃圾堆滿時,提示用戶及時清理垃圾。
3)狀態(tài)信息上傳。智能垃圾桶連接WiFi后可以將垃圾桶的溫濕度、滿溢度和位置等信息通過互聯(lián)網(wǎng)傳輸?shù)竭h程服務器,用戶可以通過電腦、手機等設備遠程查看垃圾桶狀態(tài),方便管理。
4)智能顯示。實時顯示垃圾桶當前狀態(tài),方便用戶對裝置進行設置與測試,還可投放廣告。
5)垃圾自動分類及分揀。智能垃圾桶可以智能識別出放置于分類板上的垃圾,并將其投入對應的垃圾桶。
為了提高識別和控制的準確性和實時性,裝置采用雙核結(jié)構(gòu),實現(xiàn)穩(wěn)定而高效的運行。裝置硬件組成如圖3所示。

圖3 裝置的硬件組成與連接
選用Jetson nano作為主控單元,主要負責對攝像頭傳回的圖像數(shù)據(jù)進行處理和分類。主控單元通過相機串行接口(Camera Serial Interface,CSI)連接攝像頭進行圖像采集,通過高清晰度多媒體接口(High Definition Multimedia Interface,HDMI)連接觸摸屏用于人機交互,通過通用串行總線(Universal Serial Bus,USB)連接副控制器STM32F103。
副控制器STM32F103可以根據(jù)主控單元的分類結(jié)果控制舵機完成相應的動作以達到自動分類的目的。副控制器還分別通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)串口連接全球定位系統(tǒng)(Global Positioning System,GPS)定位模塊、語音模塊和WiFi模塊,通過通用輸入輸出(General Purpose Input/Output,GPIO)接口連接超聲波測距模塊和溫濕度傳感器。
溫濕度傳感器實現(xiàn)對垃圾桶的安全監(jiān)測、防范火災等安全隱患。超聲波測距模塊實時監(jiān)測垃圾桶是否堆滿。GPS定位模塊確定垃圾桶的位置。語音模塊使用人聲發(fā)出警報和提示,使得該裝置更加人性化、智能化。WiFi模塊將裝置的狀態(tài)通過互聯(lián)網(wǎng)傳送到遠程服務器中,方便統(tǒng)一管理。
裝置的軟件設計包括垃圾圖像識別模型的移植、舵機控制以及環(huán)境信息的采集與上傳。首先,在Jetson nano中安裝TensorFlow,程序運行時先利用TensorFlow加載訓練好的MobileNet-v2模型。作為主控制器的Jetson nano在系統(tǒng)啟動時需要進行初始化操作并加載模型,然后通過攝像頭獲取分類板上的圖像。當檢測到分類板上有垃圾時,需要先將圖像進行處理以便可以在輸入模型中進行分類。最后,利用訓練好的模型進行分類預測,并將分類結(jié)果發(fā)送給副控制器。主控制器軟件設計流程如圖4所示。當STM32F103副控制器接收到主控制器傳輸來的分類結(jié)果時,根據(jù)分類結(jié)果利用PCA9685舵機驅(qū)動板控制舵機轉(zhuǎn)動,完成分類。副控制器除了實現(xiàn)舵機控制的功能外,還監(jiān)測垃圾桶的溫濕度和滿溢度并發(fā)出警報或者提示,最后將垃圾桶的溫濕度、滿溢度和位置信息通過WiFi模塊上傳至網(wǎng)絡服務器。副控制器的軟件流程如圖5所示。

圖4 主控制器軟件設計流程

圖5 副控制器軟件設計流程
為了驗證智能垃圾分類裝置的可行性及其在實際應用中的表現(xiàn),實際測試中在4類垃圾中各選出25個物品作為測試樣品,每個樣品投放4次,統(tǒng)計其識別準確率,結(jié)果如表3所示。

表3 垃圾投放測試結(jié)果
從表3可以看出,智能垃圾分類裝置對于可回收物和有害垃圾的識別準確率非常高,分別達到了95%和96%,對于廚余垃圾和其他垃圾的識別準確率較低,但準確率最低的其他垃圾也達到了86%。該裝置的平均準確率達到了92%,滿足日常生活需求。
經(jīng)測試,該裝置可以正常獲取垃圾桶的溫濕度、滿溢度與位置信息,并即時顯示與上傳,在垃圾桶已滿或溫度異常時會及時發(fā)出提示與警報,實現(xiàn)了垃圾分類、人機交互和實時監(jiān)測等功能。
將圖像分類方法應用于垃圾分類,通過遷移學習的方法提高了垃圾分類的準確率,并基于此設計了一種低成本、可用于生活垃圾分類領域的小型智能垃圾分類裝置,利用TensorFlow將訓練好的MobileNet-v2模型移植到Jetson nano中,完成裝置的硬件和軟件的設計。實測結(jié)果表明,該智能垃圾分類裝置的平均準確率達到92%,滿足日常生活需求。該裝置不僅實現(xiàn)了垃圾的自動分類與分揀,更是通過視聽與互聯(lián)網(wǎng)等多種渠道將裝置的狀態(tài)信息告知用戶,使該裝置的使用更加安全、更加方便。