戴聰玲,唐琳杰,謝正華,肖 澳,吳亞聯(lián)
(湘潭大學 自動化與電子信息學院,湖南 湘潭 411105)
我國產(chǎn)生的垃圾的數(shù)量巨大、種類繁多。據(jù)中國城市環(huán)境衛(wèi)生協(xié)會統(tǒng)計,我國每年產(chǎn)生十多億噸垃圾,并且每年還在以5%~8%的速度遞增,因此,我國垃圾分類處理刻不容緩。由于不同場合的垃圾種類有所不同,如何針對特定場景進行垃圾分類處理來提高效率以及資源利用率的問題亟待解決。
2016年12月,國家發(fā)改委發(fā)布《“十三五”全國城鎮(zhèn)生活垃圾無害化處理設(shè)施建設(shè)規(guī)劃》[1],對垃圾分類處理高度重視。縱觀國內(nèi)垃圾分類處理設(shè)施的發(fā)展,可以發(fā)現(xiàn)垃圾分類的市場前景十分廣闊。
隨著人工智能的發(fā)展,社會對智能化的要求越來越高,智能設(shè)備的應用范圍越來越廣,通過智能裝置來進行垃圾分類可極大提高工作效率。2019年10月,百度推出“Easy-DL定制AI訓練平臺”,開發(fā)者可以充分利用和發(fā)揮百度的高性能算力及云服務(wù)的優(yōu)勢。本文基于Easy-DL平臺和樹莓派,利用物聯(lián)網(wǎng)技術(shù)、人工智能技術(shù)、網(wǎng)頁前端技術(shù)和后端服務(wù)器技術(shù)設(shè)計了景區(qū)智能垃圾分類系統(tǒng)。
基于Easy-DL平臺+樹莓派的景區(qū)智能垃圾分類系統(tǒng)主要實現(xiàn)以下功能:
(1)垃圾智能識別與分類。將“Easy-DL定制AI訓練平臺”訓練的模型部署于樹莓派,實現(xiàn)對景區(qū)垃圾的智能識別以及分類,將垃圾分為可回收垃圾、餐廚垃圾、有害垃圾、其他垃圾。
(2)數(shù)據(jù)存儲及顯示。將分類結(jié)果等數(shù)據(jù)存儲至服務(wù)器,利用服務(wù)器的數(shù)據(jù)處理能力,實現(xiàn)服務(wù)器和Web客戶端的數(shù)據(jù)無線傳輸。Web客戶端實時顯示分類結(jié)果等信息。
(3)滿載提示。實時監(jiān)控垃圾分類裝置的容量狀態(tài),判斷容量是否達到設(shè)定的滿載界限,若達到,則在串口屏上顯示滿載信息,并在Web客戶端提示工作人員垃圾分類裝置已滿載。
根據(jù)系統(tǒng)功能要求,設(shè)計本系統(tǒng)的總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
系統(tǒng)包括智能垃圾分類裝置、Web客戶端和服務(wù)器。智能垃圾分類裝置對垃圾進行處理,完成識別、分類以及滿載檢測。后端服務(wù)器存儲分類結(jié)果,滿載信息等數(shù)據(jù)。在Web客戶端上顯示垃圾桶的狀態(tài)信息,實現(xiàn)數(shù)據(jù)監(jiān)控。智能分類裝置包括樹莓派控制主板、檢測系統(tǒng)以及執(zhí)行系統(tǒng),如圖2所示??刂浦靼迨怯布到y(tǒng)的核心,在此采用性能較高的樹莓派開發(fā)主板,基于Linux系統(tǒng),并搭載了ARM處理器。檢測系統(tǒng)由超聲波模塊和攝像頭模塊構(gòu)成。利用超聲波模塊檢測環(huán)境,判斷是否有人投入垃圾,從而決定是否打開攝像頭。攝像頭模塊負責對垃圾進行圖片拍攝。超聲波模塊同時也用于檢測垃圾是否達到警戒線。執(zhí)行系統(tǒng)由電源模塊和舵機模塊構(gòu)成。電源模塊主要維持智能垃圾桶正常的供電,保證設(shè)備能夠正常工作。舵機模塊執(zhí)行控制主板發(fā)出的命令,將垃圾投入相應位置。
圖2 智能分類裝置框圖
本系統(tǒng)的主控制器選用的是Raspberry Pi控制主板(也被稱為“樹莓派”),其以SD卡作為內(nèi)存硬盤,是一個具有豐富功能且較為廉價的硬件平臺。Raspberry Pi控制主板[3]搭載的是ARM架構(gòu)的CPU。ARM的指令系統(tǒng)較簡單,這使得在一些專業(yè)用途的設(shè)備上,ARM架構(gòu)能夠發(fā)揮出較高的執(zhí)行效率,而它低功耗的特性,非常適合應用在對電源消耗敏感的設(shè)備上。其CPU與內(nèi)存是以層疊方式設(shè)計,CPU是BCM2835芯片,集成了能夠滿足計算機運行所需的中央處理器、圖形處理芯片及音頻芯片等大部分硬件,工作頻率達到700 MHz,保證能夠在有限的功耗內(nèi)發(fā)揮出較強的性能。
攝像頭模塊采用樹莓派CSI接口攝像頭[4](CMOS Sensor Interface),具有500萬像素、感光芯片為OV5647、靜態(tài)圖片分辨率為2 592×1 944,兼容樹莓派3代。
前端:配置邏輯接口以便支持大多數(shù)通用的CMOS攝像頭,支持CCIR656視頻接口以及傳統(tǒng)的攝像頭接口;有8位數(shù)據(jù)口,支持YCC,YUV,Bayer或者是RGB的數(shù)據(jù)格式輸入。
后端:提供直接到eMMA的預處理PrP塊接口,可以給視頻做預處理和后期處理,例如放大、縮小、顏色轉(zhuǎn)換;提供sensor的可屏蔽中斷源;提供給外部sensor用的、可配置的主時鐘頻率。
本文根據(jù)超聲波測距原理(超聲波在空氣中遇到障礙物就會立即返回)來檢測垃圾是否裝滿[5]。本次超聲波模塊選用HC-SR04超聲波模塊。HC-SR04芯片有4個引腳。第1引腳的作用是保障用電正常,所以接5 V電源;第2引腳的作用是將信號發(fā)送出去,所以接P3.4口;第3引腳的作用是接收信號所以接P3.5口;第4引腳的作用是防止漏電所以接地。
根據(jù)超聲波模塊的基本工作原理,文中在一個控制口發(fā)一個10 μs以上的高電平,這樣就可以在接收口等待高電平輸。一有輸出就可以開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀定時器的值,于是就可以得到超聲波在空氣中運行的時間,按照
就可以算出超聲波到障礙物的距離。
這里選用樹莓派自帶的WiFi模塊作為本地硬件的WiFi通信模塊,可接入網(wǎng)絡(luò)控制本地硬件,實現(xiàn)項目的主要功能。
為了給本地硬件各模塊提供穩(wěn)定電源,維持各個模塊的用電與供電,使設(shè)備能供正常工作,在此使用性能較好的18650鋰電池,再連接上18650鋰電池充電保護板模塊,使其具有充放電功能,且能夠給產(chǎn)品中各模塊供電。
舵機模塊安裝了一個電位器來檢測輸出軸轉(zhuǎn)動角度。控制板根據(jù)電位器的信息能比較精確地控制和保持輸出軸的角度。模塊上的控制電路板接收來自信號線的控制信號,控制電機轉(zhuǎn)動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸與位置反饋電位計是相連的,舵盤轉(zhuǎn)動的同時,帶動位置反饋電位計。電位計將輸出一個電壓信號到控制電路板進行反饋,然后控制電路板根據(jù)所在位置決定電機轉(zhuǎn)動的方向和速度,從而達到目標停止[6]。
本文將理論與實際相結(jié)合,以實現(xiàn)主要功能為目標,設(shè)計了一套能穩(wěn)定運行且成本較低的垃圾智能分類系統(tǒng)。系統(tǒng)軟件由兩部分組成:
(1)Easy-DL生成的人工神經(jīng)網(wǎng)絡(luò)模型對垃圾進行分類,人工神經(jīng)網(wǎng)絡(luò)模型的采用ResNet算法提高識別準確度??刂贫鏅C模塊使垃圾到達指定位置,超聲波模塊實時監(jiān)測容量。
(2)Web客戶端及服務(wù)器系統(tǒng),將分類結(jié)果等數(shù)據(jù)存入Json文件中,利用Php程序訪問Json文件并通過Apache服務(wù)器將數(shù)據(jù)傳輸?shù)角岸恕?/p>
前端通過HTML、CSS、JS代碼生成Web客戶端界面,并利用post方法訪問后臺服務(wù)器,實時刷新客戶端頁面數(shù)據(jù)。管理員可以隨時查看Web客戶端檢測分類裝置的情況。系統(tǒng)軟件程序結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)軟件程序結(jié)構(gòu)
先將數(shù)據(jù)上傳至Easy-DL平臺。Easy-DL采用Auto Model Search算法,智能分類裝置對圖像進行處理[7],采用ResNet網(wǎng)絡(luò)算法,在人工神經(jīng)網(wǎng)絡(luò)中允許原始輸入信息直接傳到后面的層中,從而提高效率以及準確度。網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。同時Easy-DL大量使用了遷移學習技術(shù),進行預訓練以及數(shù)據(jù)增強操作,提升模型效果?;赑addlePaddle深度學習框架進行分布式訓練,得到高準確率的神經(jīng)網(wǎng)絡(luò)模型,選擇設(shè)備式部署方式生成離線SDK并部署在樹莓派上,如圖5所示。
圖4 ResNet網(wǎng)絡(luò)結(jié)構(gòu)
圖5 模型部署流程
舵機模塊又分為上舵機模塊和下舵機模塊。樹莓派控制上舵機模塊將垃圾投放桶旋轉(zhuǎn)至對應類別垃圾桶的上方;下舵機模塊則控制垃圾投放桶的閥門開合[8],使垃圾順利掉落進垃圾桶中。模塊設(shè)計流程如圖6所示。
圖6 舵機模塊控制流程
容量檢測傳感器模塊利用超聲波模塊對容量進行檢測。超聲波模塊一個控制口發(fā)送一個10 μs以上的高電平,就可以在接收口等待高電平輸出。已有輸出就可以打開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀定時器的值,此時就為此次測距的時間,方可算出距離。根據(jù)超聲波模塊測量超聲波模塊與垃圾的距離折算出容量,并將容量數(shù)據(jù)發(fā)送給樹莓派控制器進行處理。滿載檢測流程如圖7所示。
圖7 容量測量模塊流程
人機交互功能主要有兩個:一是設(shè)置垃圾桶滿載容量;二是在顯示屏上循環(huán)顯示宣傳語。人機交互流程如圖8所示。
圖8 人機交互流程
Web客戶端及服務(wù)器程序主要功能是存儲垃圾分類裝置的各項數(shù)據(jù)并向Web客戶端實時傳輸數(shù)據(jù)。Web客戶端實時顯示分類結(jié)果,滿載情況等信息,并在垃圾分類裝置滿載時提示工作人員清理垃圾。程序設(shè)計流程如圖9所示。
圖9 Web客戶端及服務(wù)器程序設(shè)計流程
景區(qū)智能垃圾桶初步模型采用3D打印,設(shè)計模型圖如圖10所示,實物圖如圖11所示。
圖10 設(shè)計模型圖
圖11 設(shè)計實物圖
在此采用分模塊測試方法對系統(tǒng)進行測試。
(1)攝像頭識別測試。將攝像頭安裝在樹莓派上,調(diào)用攝像頭進行拍攝圖片,并進行識別。得到命令窗口有識別結(jié)果產(chǎn)生,且運行速度較快。
(2)超聲波測距測試。將超聲波模塊安裝在樹莓派上,在Linux命令窗口運行超聲波測距的腳本,用手遮攔超聲波模塊的發(fā)射信號端,結(jié)果顯示命令窗口有動態(tài)數(shù)據(jù)產(chǎn)生,且數(shù)據(jù)正確無誤、精度高。
(3)人機交互測試。測試該功能時,顯示屏上輸入設(shè)置滿載容量,當垃圾桶到達指定滿載容量時,顯示屏顯示滿載,提示行人請勿扔垃圾。
(4)數(shù)據(jù)上傳Web客戶端測試。硬件全部安裝好后運行程序,在電腦輸入網(wǎng)址進入Web客戶端,查看垃圾桶數(shù)據(jù)正確。
(5)運行結(jié)果測試。硬件全部安裝,運行程序,得到識別結(jié)果正確,舵機運轉(zhuǎn)正確,垃圾投入對應位置。
經(jīng)過對各個模塊進行綜合測試,發(fā)現(xiàn)本系統(tǒng)工作正常。
本文完成了針對景區(qū)場景的基于EasyDL平臺+樹莓派的景區(qū)智能垃圾分類系統(tǒng)的設(shè)計。實驗表明,該系統(tǒng)具有以下優(yōu)點:
(1)效率高。針對具體場景景區(qū)的智能垃圾分類裝置,針對性強、效率高,減少資源浪費、利用率高。
(2)功能完善、穩(wěn)定。該系統(tǒng)加入了攝像頭圖像處理、超聲波等功能模塊,并且增加了網(wǎng)頁部分,使得智能垃圾分類裝置具有較為完善的功能。
(3)移植性強。在該系統(tǒng)的基礎(chǔ)上,更換數(shù)據(jù),訓練出是用于其他場景的模型,即可實現(xiàn)針對于其他場景的智能垃圾分類裝置。
本系統(tǒng)可應用于景區(qū)以及垃圾狀況相似的場所。如果將本系統(tǒng)繼續(xù)優(yōu)化,功能更加完善,那么這個系統(tǒng)的應用將會更加廣泛。