王梁 韋春明 陳俊潔
(1.梧州學(xué)院電子與信息工程學(xué)院,廣西 梧州 543000;2.廣西機(jī)器視覺與智能控制重點(diǎn)實(shí)驗(yàn)室,廣西 梧州 543000)
在垃圾總量日益增多的背景下,如何能更好地減少垃圾造成的污染,提高固體廢物的利用率是亟待解決的問題。發(fā)展環(huán)保能源、對(duì)垃圾進(jìn)行分類是經(jīng)常被提及的垃圾處理方法[1]。而在所有垃圾處理方法中,垃圾分類是能有效解決“垃圾圍城”以及提高資源利用率、實(shí)現(xiàn)可持續(xù)發(fā)展的方法之一。
目前,我國(guó)垃圾分類常用的方法有2 種,一是把垃圾分為可回收垃圾、不可回收垃圾以及有害垃圾3 類,并用不同顏色的垃圾桶對(duì)垃圾進(jìn)行分類;二是由人工對(duì)混雜垃圾進(jìn)行分揀。但這2 種方法的分揀效率低,且需要大量的人工,且采用第一種方法分類后的垃圾依然比較混雜。
為了提高資源的利用率,減少人工分揀的工作量,本研究以STM32 單片機(jī)為基礎(chǔ),利用OpenMV對(duì)目標(biāo)物體進(jìn)行實(shí)時(shí)識(shí)別,設(shè)計(jì)出一款基于OpenMV 的垃圾分類小車系統(tǒng),從而實(shí)現(xiàn)對(duì)垃圾的識(shí)別分類。
本研究設(shè)計(jì)的小車系統(tǒng)是由STM32主控模塊、2個(gè)霍爾編碼器電機(jī)、MPU605傳感器、降壓模塊、電機(jī)驅(qū)動(dòng)模塊、電池電壓檢測(cè)、藍(lán)牙模塊、OLED顯示屏以及12 V鋰電池等元件組成(見圖1 和圖2)。該小車系統(tǒng)主要通過串口與小車進(jìn)行通信,將小車識(shí)別到的垃圾的坐標(biāo)信息通過串口通信上傳到電腦上。
圖1 系統(tǒng)框架圖
圖2 小車模型圖
該小車系統(tǒng)以STM32F103C8T 芯片為模塊控制核心,STM32103FC8T 的工作頻率可達(dá)72 MHz,具有ARM32 位內(nèi)核架構(gòu),方便系統(tǒng)存儲(chǔ)各種程序和數(shù)據(jù)[2-3]。通過制作單片機(jī)的最小系統(tǒng)(見圖3)來實(shí)現(xiàn)控制[4],該模塊對(duì)其他模塊傳輸過來的數(shù)據(jù)進(jìn)行整合,并對(duì)其進(jìn)行處理,從而對(duì)其他模塊進(jìn)行調(diào)控與控制,執(zhí)行其他模塊發(fā)出的指令,從而實(shí)現(xiàn)小車的功能。
圖3 系統(tǒng)單片機(jī)最小系統(tǒng)
對(duì)二輪平衡小車進(jìn)行姿態(tài)檢測(cè)是小車實(shí)現(xiàn)平衡的重要條件。采用MPU6050 六軸姿態(tài)傳感器來采集小車的姿態(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波,并通過負(fù)反饋來驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)小車平衡[7]。
本研究選擇TB6612FNG 芯片來驅(qū)動(dòng)電機(jī)[8],該芯片擁有2 個(gè)通道的電路,且集成度高、驅(qū)動(dòng)能力強(qiáng)[9],可同時(shí)控制2個(gè)電機(jī)對(duì)小車進(jìn)行調(diào)試和轉(zhuǎn)換,從而實(shí)現(xiàn)小車的直行或轉(zhuǎn)彎功能。通過降壓模塊電路來提供電機(jī)驅(qū)動(dòng)所要的12 V 電壓,使用LM2596 降壓芯片和主控板降壓芯片把5 V 電壓降為直流3.3 V電壓,供給芯片使用。
小車系統(tǒng)是通過OpenMV4 H 7 plus的OV5640的攝像頭模組(見圖4)和WiFi擴(kuò)展板(見圖5)來對(duì)垃圾進(jìn)行識(shí)別。攝像頭模組處理器為STM32H743Ⅱ,其主頻率為480 MHz,通過python 語(yǔ)言編寫程序來實(shí)現(xiàn)圖像識(shí)別和目標(biāo)跟蹤。本研究通過對(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 大類。對(duì)分類后的每種垃圾實(shí)物拍取50~100 張圖片,并從網(wǎng)上尋找一些素材,從而構(gòu)成3 大垃圾分類數(shù)據(jù)集(見表1),并對(duì)采集到的圖像進(jìn)行訓(xùn)練,從而生成神經(jīng)網(wǎng)絡(luò)模型。
表1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集圖片組合類別
用OpenMV對(duì)目標(biāo)物體進(jìn)行跟蹤[13-15],OpenMV基于神經(jīng)網(wǎng)絡(luò)框架的目標(biāo)跟蹤框架圖見圖6。利用卷積神經(jīng)網(wǎng)絡(luò)來搭建跟蹤框架,對(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)行分類,并通過串口將坐標(biāo)數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),單片機(jī)在接收到坐標(biāo)數(shù)據(jù)后,會(huì)驅(qū)使小車走到目標(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ì)算方式見式(1)、式(2)。
式中:RS為垃圾圖像識(shí)別系統(tǒng)的相對(duì)誤差;SRE為系統(tǒng)的平均相對(duì)誤差。
用式(1)和式(2)中的RS和SER來評(píng)估圖像識(shí)別模型訓(xùn)練結(jié)果的準(zhǔn)確率。其中,SER越低,系統(tǒng)的準(zhǔn)確率就越高。基于神經(jīng)網(wǎng)絡(luò)的小車?yán)R(shí)別系統(tǒng)訓(xùn)練效果見圖7。3 類垃圾的識(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 類垃圾的識(shí)別準(zhǔn)確率均較高,誤判率較低。
圖8 測(cè)試集效果數(shù)據(jù)
從中抽取9 樣物品對(duì)訓(xùn)練好的模型進(jìn)行測(cè)試,部分類別平均精度見表2,神經(jīng)網(wǎng)絡(luò)模型損失函數(shù)曲線見圖9。在移動(dòng)過程中,攝像頭會(huì)出現(xiàn)一定誤差,且訓(xùn)練集選取的圖片背景較為混雜,會(huì)導(dǎo)致訓(xùn)練出來的神經(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 部分類別平均精度
本研究以分類好的單一垃圾為研究對(duì)象,以O(shè)penMV 為圖像識(shí)別模塊、SSD 為神經(jīng)網(wǎng)絡(luò)框架,設(shè)計(jì)出一款基于OpenMV 圖像識(shí)別的垃圾分類小車系統(tǒng),從而解決垃圾分類準(zhǔn)確率低的問題,可有效提高分類后垃圾的資源利用率。
本研究通過設(shè)計(jì)一個(gè)以STM32 為主控芯片的可接收坐標(biāo)的自動(dòng)循跡二輪小車,當(dāng)OpenMV識(shí)別到垃圾后,會(huì)將垃圾的坐標(biāo)傳遞給小車,并通過STM32 驅(qū)使小車到達(dá)垃圾所在的位置。用以SSD 框架為主的神經(jīng)網(wǎng)絡(luò)模型對(duì)500 張不同種類的垃圾圖像進(jìn)行訓(xùn)練,可將其分為有害垃圾、可回收垃圾以及不可回收垃圾。并采用200 張垃圾圖像進(jìn)行檢測(cè),試驗(yàn)結(jié)果表明,訓(xùn)練好的垃圾圖像識(shí)別系統(tǒng)的平均精度為89%~98%,SER在10%以內(nèi)。
該系統(tǒng)在有害垃圾類別中雖然存在一定的誤差,但其神經(jīng)網(wǎng)絡(luò)模型還有很大的提升空間,且該設(shè)計(jì)可提高垃圾二次分類后的資源利用率,具有一定的實(shí)用性。