王梁 韋春明 陳俊潔
(1.梧州學(xué)院電子與信息工程學(xué)院,廣西 梧州 543000;2.廣西機(jī)器視覺(jué)與智能控制重點(diǎn)實(shí)驗(yàn)室,廣西 梧州 543000)
在垃圾總量日益增多的背景下,如何能更好地減少垃圾造成的污染,提高固體廢物的利用率是亟待解決的問(wèn)題。發(fā)展環(huán)保能源、對(duì)垃圾進(jìn)行分類(lèi)是經(jīng)常被提及的垃圾處理方法[1]。而在所有垃圾處理方法中,垃圾分類(lèi)是能有效解決“垃圾圍城”以及提高資源利用率、實(shí)現(xiàn)可持續(xù)發(fā)展的方法之一。
目前,我國(guó)垃圾分類(lèi)常用的方法有2 種,一是把垃圾分為可回收垃圾、不可回收垃圾以及有害垃圾3 類(lèi),并用不同顏色的垃圾桶對(duì)垃圾進(jìn)行分類(lèi);二是由人工對(duì)混雜垃圾進(jìn)行分揀。但這2 種方法的分揀效率低,且需要大量的人工,且采用第一種方法分類(lèi)后的垃圾依然比較混雜。
為了提高資源的利用率,減少人工分揀的工作量,本研究以STM32 單片機(jī)為基礎(chǔ),利用OpenMV對(duì)目標(biāo)物體進(jìn)行實(shí)時(shí)識(shí)別,設(shè)計(jì)出一款基于OpenMV 的垃圾分類(lèi)小車(chē)系統(tǒng),從而實(shí)現(xiàn)對(duì)垃圾的識(shí)別分類(lèi)。
本研究設(shè)計(jì)的小車(chē)系統(tǒng)是由STM32主控模塊、2個(gè)霍爾編碼器電機(jī)、MPU605傳感器、降壓模塊、電機(jī)驅(qū)動(dòng)模塊、電池電壓檢測(cè)、藍(lán)牙模塊、OLED顯示屏以及12 V鋰電池等元件組成(見(jiàn)圖1 和圖2)。該小車(chē)系統(tǒng)主要通過(guò)串口與小車(chē)進(jìn)行通信,將小車(chē)識(shí)別到的垃圾的坐標(biāo)信息通過(guò)串口通信上傳到電腦上。

圖1 系統(tǒng)框架圖

圖2 小車(chē)模型圖
該小車(chē)系統(tǒng)以STM32F103C8T 芯片為模塊控制核心,STM32103FC8T 的工作頻率可達(dá)72 MHz,具有ARM32 位內(nèi)核架構(gòu),方便系統(tǒng)存儲(chǔ)各種程序和數(shù)據(jù)[2-3]。通過(guò)制作單片機(jī)的最小系統(tǒng)(見(jiàn)圖3)來(lái)實(shí)現(xiàn)控制[4],該模塊對(duì)其他模塊傳輸過(guò)來(lái)的數(shù)據(jù)進(jìn)行整合,并對(duì)其進(jìn)行處理,從而對(duì)其他模塊進(jìn)行調(diào)控與控制,執(zhí)行其他模塊發(fā)出的指令,從而實(shí)現(xiàn)小車(chē)的功能。

圖3 系統(tǒng)單片機(jī)最小系統(tǒng)
對(duì)二輪平衡小車(chē)進(jìn)行姿態(tài)檢測(cè)是小車(chē)實(shí)現(xiàn)平衡的重要條件。采用MPU6050 六軸姿態(tài)傳感器來(lái)采集小車(chē)的姿態(tài)信息[5-6],數(shù)字運(yùn)動(dòng)處理器(DMP)用于獲取傳感器信息,ADC會(huì)將采集到的姿態(tài)模擬信息轉(zhuǎn)化為數(shù)字量,最后讀取相應(yīng)的寄存器。運(yùn)用PID算法計(jì)算出相應(yīng)的PWM波,并通過(guò)負(fù)反饋來(lái)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)小車(chē)平衡[7]。
本研究選擇TB6612FNG 芯片來(lái)驅(qū)動(dòng)電機(jī)[8],該芯片擁有2 個(gè)通道的電路,且集成度高、驅(qū)動(dòng)能力強(qiáng)[9],可同時(shí)控制2個(gè)電機(jī)對(duì)小車(chē)進(jìn)行調(diào)試和轉(zhuǎn)換,從而實(shí)現(xiàn)小車(chē)的直行或轉(zhuǎn)彎功能。通過(guò)降壓模塊電路來(lái)提供電機(jī)驅(qū)動(dòng)所要的12 V 電壓,使用LM2596 降壓芯片和主控板降壓芯片把5 V 電壓降為直流3.3 V電壓,供給芯片使用。
小車(chē)系統(tǒng)是通過(guò)OpenMV4 H 7 plus的OV5640的攝像頭模組(見(jiàn)圖4)和WiFi擴(kuò)展板(見(jiàn)圖5)來(lái)對(duì)垃圾進(jìn)行識(shí)別。攝像頭模組處理器為STM32H743Ⅱ,其主頻率為480 MHz,通過(guò)python 語(yǔ)言編寫(xiě)程序來(lái)實(shí)現(xiàn)圖像識(shí)別和目標(biāo)跟蹤。本研究通過(guò)對(duì)OpenMV 攝像頭采集到的數(shù)據(jù)集進(jìn)行在線訓(xùn)練,從而實(shí)現(xiàn)對(duì)垃圾圖像的識(shí)別[10]。

圖4 OpenMV攝像頭模組

圖5 WiFi擴(kuò)展板
OpenMV 模塊的圖像識(shí)別使用的是SSD 框架,采用基于前饋神經(jīng)網(wǎng)絡(luò)的one-stage 物體檢測(cè)算法[11-12]。在圖像識(shí)別系統(tǒng)中,將垃圾分為可回收、不可回收、有害3 大類(lèi)。對(duì)分類(lèi)后的每種垃圾實(shí)物拍取50~100 張圖片,并從網(wǎng)上尋找一些素材,從而構(gòu)成3 大垃圾分類(lèi)數(shù)據(jù)集(見(jiàn)表1),并對(duì)采集到的圖像進(jìn)行訓(xùn)練,從而生成神經(jīng)網(wǎng)絡(luò)模型。

表1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集圖片組合類(lèi)別
用OpenMV對(duì)目標(biāo)物體進(jìn)行跟蹤[13-15],OpenMV基于神經(jīng)網(wǎng)絡(luò)框架的目標(biāo)跟蹤框架圖見(jiàn)圖6。利用卷積神經(jīng)網(wǎng)絡(luò)來(lái)搭建跟蹤框架,對(duì)圖像中的物體目標(biāo)進(jìn)行實(shí)時(shí)預(yù)測(cè)與追蹤,OpenMV 攝像頭可獲取每幀圖像的特征,對(duì)圖像的顏色、紋理、形狀大小等特征點(diǎn)進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,將訓(xùn)練好的數(shù)據(jù)模型和原圖進(jìn)行對(duì)照,對(duì)垃圾進(jìn)行分類(lèi),并通過(guò)串口將坐標(biāo)數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),單片機(jī)在接收到坐標(biāo)數(shù)據(jù)后,會(huì)驅(qū)使小車(chē)走到目標(biāo)物體所在的位置。

圖6 目標(biāo)跟蹤框架圖
垃圾識(shí)別系統(tǒng)的精度可用3 個(gè)指標(biāo)進(jìn)行評(píng)價(jià),即垃圾識(shí)別系統(tǒng)訓(xùn)練集精確率(TR)、垃圾識(shí)別系統(tǒng)測(cè)試集精確率(TA)、選取的相對(duì)誤差數(shù)目(N)。垃圾圖像識(shí)別系統(tǒng)的相對(duì)誤差和平均相對(duì)誤差的計(jì)算方式見(jiàn)式(1)、式(2)。

式中:RS為垃圾圖像識(shí)別系統(tǒng)的相對(duì)誤差;SRE為系統(tǒng)的平均相對(duì)誤差。
用式(1)和式(2)中的RS和SER來(lái)評(píng)估圖像識(shí)別模型訓(xùn)練結(jié)果的準(zhǔn)確率。其中,SER越低,系統(tǒng)的準(zhǔn)確率就越高。基于神經(jīng)網(wǎng)絡(luò)的小車(chē)?yán)R(shí)別系統(tǒng)訓(xùn)練效果見(jiàn)圖7。3 類(lèi)垃圾的識(shí)別準(zhǔn)確率分別為0.96、0.97、0.95。

圖7 模型訓(xùn)練效果數(shù)據(jù)
測(cè)試集效果數(shù)據(jù)如圖8 所示。其中,隨機(jī)抽取訓(xùn)練集中20%的圖片組成測(cè)試集進(jìn)行測(cè)試。3 類(lèi)垃圾的識(shí)別準(zhǔn)確率均較高,誤判率較低。

圖8 測(cè)試集效果數(shù)據(jù)
從中抽取9 樣物品對(duì)訓(xùn)練好的模型進(jìn)行測(cè)試,部分類(lèi)別平均精度見(jiàn)表2,神經(jīng)網(wǎng)絡(luò)模型損失函數(shù)曲線見(jiàn)圖9。在移動(dòng)過(guò)程中,攝像頭會(huì)出現(xiàn)一定誤差,且訓(xùn)練集選取的圖片背景較為混雜,會(huì)導(dǎo)致訓(xùn)練出來(lái)的神經(jīng)網(wǎng)絡(luò)跟實(shí)際識(shí)別出的平均精確度存在一定的誤差。

圖9 神經(jīng)網(wǎng)絡(luò)模型損失函數(shù)
由表2 可知,可回收垃圾的RS為-2%~10%、SER在-6.25%左右;不可回收垃圾的RS為-0.1%~14%、SER在7.2%左右;有害垃圾的RS為0.6%~5%、SER在3.1%左右;整個(gè)系統(tǒng)的SER在5.5%左右。

表2 部分類(lèi)別平均精度
本研究以分類(lèi)好的單一垃圾為研究對(duì)象,以O(shè)penMV 為圖像識(shí)別模塊、SSD 為神經(jīng)網(wǎng)絡(luò)框架,設(shè)計(jì)出一款基于OpenMV 圖像識(shí)別的垃圾分類(lèi)小車(chē)系統(tǒng),從而解決垃圾分類(lèi)準(zhǔn)確率低的問(wèn)題,可有效提高分類(lèi)后垃圾的資源利用率。
本研究通過(guò)設(shè)計(jì)一個(gè)以STM32 為主控芯片的可接收坐標(biāo)的自動(dòng)循跡二輪小車(chē),當(dāng)OpenMV識(shí)別到垃圾后,會(huì)將垃圾的坐標(biāo)傳遞給小車(chē),并通過(guò)STM32 驅(qū)使小車(chē)到達(dá)垃圾所在的位置。用以SSD 框架為主的神經(jīng)網(wǎng)絡(luò)模型對(duì)500 張不同種類(lèi)的垃圾圖像進(jìn)行訓(xùn)練,可將其分為有害垃圾、可回收垃圾以及不可回收垃圾。并采用200 張垃圾圖像進(jìn)行檢測(cè),試驗(yàn)結(jié)果表明,訓(xùn)練好的垃圾圖像識(shí)別系統(tǒng)的平均精度為89%~98%,SER在10%以?xún)?nèi)。
該系統(tǒng)在有害垃圾類(lèi)別中雖然存在一定的誤差,但其神經(jīng)網(wǎng)絡(luò)模型還有很大的提升空間,且該設(shè)計(jì)可提高垃圾二次分類(lèi)后的資源利用率,具有一定的實(shí)用性。