朱省委,宋玥,鄭棟梁,熊光磊,梁君威
(鄭州工業(yè)應用技術學院,河南鄭州,451150)
隨著智能識別技術和分類技術的快速發(fā)展,世界各地有許多優(yōu)秀的公司來處理垃圾分類問題,大多數(shù)公司的產(chǎn)品使用控制器、監(jiān)控攝像頭和人工智能技術來檢測和識別垃圾[1]。然后根據(jù)人工服務或機械設備系統(tǒng),垃圾被分類在相應的垃圾桶中。當前,國內大多數(shù)智能垃圾桶控制系統(tǒng)相對簡單,垃圾桶的功能相對單一?;旧峡煞譃槿悾旱谝活愂鞘褂贸暡y距技術或紅外線測距技術來檢測投放垃圾,然后驅動電機運行,使得連接電機的垃圾桶蓋能夠自動側翻功能[2]。第二種類型的控制系統(tǒng)能夠進行語音識別垃圾種類,并且在內部具有收集太陽能裝置的設備,可為整個垃圾桶供電。該系統(tǒng)中的垃圾桶通常稱為太陽能垃圾桶[3]。在第五屆2016年中國-亞洲東盟農(nóng)業(yè)博覽會中曾經(jīng)展示出現(xiàn)了一種可以利用太陽能作為清潔利用能源的自動立式開蓋智能垃圾桶,借助其中內部嵌入的自動智能垃圾控制管理系統(tǒng),垃圾桶還甚至可以進行自動檢測現(xiàn)場觀眾用力的手,并自動地進行打開和自動關閉整個垃圾桶的蓋,但是它基本上只能用于有陽光的地方,這就限制了它的商業(yè)價值而致使沒有得到投資者的支持。第三類垃圾桶同樣配置了所謂的太陽能收集設備,這里的所謂太陽能收集裝置僅僅目的是為了處理垃圾桶外面的一個廣告燈而提供一種電力支持,它雖然是相對通用的具有一定的經(jīng)濟和商業(yè)價值,但是它沒有任何處理垃圾的技術能力。
在本設計中,AI攝像頭捕捉圖像并處理識別到的垃圾,垃圾桶控制系統(tǒng)對識別結果進行分類,并且本系統(tǒng)增加了語音命令識別可以對圖像識別的誤差進行糾正,同時語音播報功能、垃圾桶自動檢測狀態(tài)等功能更是讓垃圾桶更加智能。通過上述功能的實現(xiàn),彌補了一定程度上的智能垃圾分類回收軟件的不足,是一種可行的垃圾分類防止細菌感染的方法。本設計使用STM32F407單片機作為主要控制元件。圖1顯示了系統(tǒng)的整體框圖。
圖1 系統(tǒng)整體框圖
系統(tǒng)機械結構采用一個步進電機帶動舵機與托盤旋轉到對應的垃圾桶上方,舵機負責將托盤傾倒以投放垃圾,下方具有平均分布的四個小垃圾桶,分對應有害垃圾、可回收垃圾、廚余垃圾、其他垃圾。
2.2.1 控制器最小系統(tǒng)
本設計最小系統(tǒng)采用的是STM公司開發(fā)的STM32F407 ZGT6,其特點為內部采用ARM Cortex-M4內核,32位的MCU+FPU,210DMIPS,內部特點是具有一個可以運行高達 1MB Flash /192+ 4KB ARM 、以太網(wǎng)接口、多達17個定時器、三個數(shù)模轉換、十五個通信接口以及一個攝像頭接口。供電電源滿足電源供電的穩(wěn)定性、供電監(jiān)測、電源管理以及對低功耗的要求,每一個電源采用陶瓷電容進行去耦以滿足要求的電源波紋。振蕩時鐘電路是所有數(shù)字計算機系統(tǒng)必不可少的,又被形象的稱為系統(tǒng)的“脈搏”,是系統(tǒng)正確運行的關鍵,本設計為HSE提供時鐘的晶體振蕩器采用8MHz,根據(jù)晶體振蕩器大小選擇相應的負載電容大小并對其進行調整。對于高頻電容 C41、C42 ,選擇專為符合要求高頻率場合而設計能滿足晶體或諧振器要求的高品質陶瓷電容器。
2.2.2 圖像識別模塊
本設計中所采用圖像處理芯片是2019年嘉楠公司推出的一款名為K210 的 MCU,嘉楠公司自研的卷積神經(jīng)網(wǎng)絡軟件和硬件加速器KPU已經(jīng)集成在了此芯片架構中,可以實現(xiàn)高性能有效地對卷積神經(jīng)網(wǎng)絡進行運算。利用平臺,進行垃圾圖像數(shù)據(jù)采集訓練,通過K210控制攝像頭讀取當前垃圾圖像,進行圖像識別判斷,對垃圾進行自動分類。在AI計算方面,K210的算力是相當可觀。K210的KPU算力高達0.8TFLOPS,對比于目前擁有128個核心CUDA兩個單元核心GPU的三星英偉達Jetson Nano的KPU算力高出0.33TFLOPS;與最新版的樹莓機4版本進行了對比,算力更是高出了0.7TFLOPS。
2.2.3 語音識別模塊
LD3320是 一 種 基 于SI-ASR(Speaker-Independent Automatic Speech Recognition)控制技術的自動語音信號識別、控制語音信號處理器以及控制系統(tǒng)芯片。LD3320芯片已經(jīng)完全集成了精密的A/D和D/A接口,可直接輕松實現(xiàn)人機語音自動識別、人機語音自動控制、人機交互等多種應用功能。主要技術具有以下幾個特點:非特定的數(shù)字語音數(shù)據(jù)識別輸入技術、用戶可以無需自己動手進行語音錄入或其他培訓操作即可直接通過一個動態(tài)程序編輯語音識別的每個關鍵字信息列表,只需將被語音識別的每個關鍵字按照一個相應的語音數(shù)據(jù)傳輸格式進行傳輸顯示出來并將其附帶輸入到一個芯片上的一個特定字符集或串數(shù)據(jù)格式庫中即可。在本設計中,語音識別模塊作為識別垃圾的輔助工具,用于對圖像識別糾偏功能,當接受到圖像識別指令以及語音識別指令,系統(tǒng)進行判斷,確保垃圾識別的準確率,最終實現(xiàn)垃圾分類自動化。圖像識別模塊與語音識別模塊串口通訊電路原理圖如圖2所示。
圖2 圖像模塊與語音模塊串口通訊
2.2.4 顯示模塊設計
本模塊設計采用TFT-LCD (Thin Film Transistor- Liquid Crystal Display)作為顯示硬件部分,它是一種小型薄膜晶體管的小型液晶顯示屏。TFT-LCD矩陣是不同于無源TNLCD和有源STN-LCD的簡易矩陣。薄膜晶體管(TFT)在每處理一臺大型液晶圖像顯示器的各種掃描量和行數(shù)以及像素上都是獨一無二存在,使得一臺液晶圖像顯示屏的各種動和態(tài)及靜態(tài)掃描特點與每個掃描行的參數(shù)完全獨立無關,能夠有效地幫助克服非高頻選通時的高頻串擾,從而極大地大幅改善了液晶圖像的掃描質量。
本設計的系統(tǒng)中以一個帶有分辨率為320×240的液晶顯示屏,接口為16位80并口3.5寸的ALIENTEK TFTLCD作為主要的視頻顯示模塊,該視頻顯示模塊最多可以同時支持65k各種色彩的視頻顯示,可選擇自身帶有觸摸屏的配置。利用LCD作為顯示模塊,讀取存儲的宣傳視頻,進行播放展示。同時還具有顯示提示功能,可顯示當前各類垃圾投擲數(shù)量,并進行箱滿提醒。其電路原理圖如圖3所示。
圖3 LCD電路原理圖
2.2.5 電機驅動模塊
本設計采用A4988作為電機驅動模塊,用于控制智能分類垃圾桶垃圾托盤運轉。當系統(tǒng)識別出垃圾所在分類,發(fā)送指令讓電機控制托盤,使垃圾投擲到相應的分類箱中。A4988是一款完整的小型微步進式步進電機電壓驅動器,易于安裝使用,內置電壓轉換器。驅動雙極的步進電機同時具有五種不同驅動電壓模式均可供用戶選用,分別為:全步、半步、四分之一、八至四分之一和十六至四分之一步,可以輕松實現(xiàn)輸出驅動電壓高達35V、±2A的驅動電流。A4988具有一個混合電流自動調節(jié)器,這個裝置可以用于使驅動系統(tǒng)固定地連續(xù)關斷驅動電源一段時間,可以使系統(tǒng)保持在緩慢或者快速混合電壓衰減的電流模式下正常運行工作。在直接驅動時不必再考慮需要使用高頻相序表、高頻微步控制線或復雜函數(shù)編程器的接口,只要在一個STEP引腳上輸入一個脈沖可用來直接驅動一個電機微步。
各個子模塊和整體要想實現(xiàn)該系統(tǒng)的邏輯控制能力需要經(jīng)由應用程序這座橋梁來連接。通過單片機查詢圖像識別模塊收到的分類信息,根據(jù)圖像識別分類內容來控制輸出電路,并參考輔助語音識別結果,實現(xiàn)智能分類的效果。
為了更好地完成所需要的軟件設計,軟件設計常用的方法就是通常將一個系統(tǒng)的整體劃分為幾個組成部分,每個組成部分被統(tǒng)稱為一個軟件模塊。從本質上來說,需要完成某些特定功能的相對獨立程序段被稱為“模塊”,這種技術又被人們稱為模塊化編程。本程序的設計是采用了模塊化的結構,程序設計包括了主程序和子程序兩部分。智能垃圾分類系統(tǒng)的主流程序和操作框圖如圖5所示。
圖4 總電路圖
圖5 主程序流程圖
YOLO模型是一種先進的現(xiàn)場實時目標檢測控制系統(tǒng)。YOLO模型是在YOO模型的研究基礎上加以改進。YOLO模型利用大的分類數(shù)據(jù)集Image Net來擴展對目標檢測數(shù)據(jù)的種類,并用于高分辨率的圖像培養(yǎng)和訓練的分類網(wǎng)絡。該模型會自動地選擇前一幀的合理長度與寬度,并限制在網(wǎng)格中的預期偏移。使用共同合作訓練機制的多尺度輸入影像將會通過混合從檢測和歸納數(shù)據(jù)集中的影像來進行訓練。我們可以把檢測到的網(wǎng)絡劃分為三個層次:第一層次,在ImageNet的數(shù)據(jù)集上對其進行訓練 Finetune的分類模型;第二階段,調整網(wǎng)絡的輸入,繼續(xù)對其進行分類培訓;第三個階段,將分類網(wǎng)絡更改成檢測網(wǎng)絡,并持續(xù)進行 該模型的訓練。
該設計垃圾模型識別訓練過程如下:收集不同類型的垃圾圖像,訓練并創(chuàng)建初始樣本模型,輸入盡可能多的圖像,得到多尺度特征圖,以實現(xiàn)更好的準確性。使用圖像分割以及批量產(chǎn)品操縱和歸一化來捕獲不同的垃圾模型,以實現(xiàn)您的目標檢測目標。最后,進行物理檢查,以確認識別時間和準確性是否合理,如果不合理則再次進行更改,然后再次調試直至完成。將訓練好的模型下載至圖像識別模塊Maix Bit開發(fā)板內運行,主控制器通過串口1讀取垃圾識別結果。其訓練模型流程圖見圖6所示。
圖6 YOLO模型訓練流程圖
利用訓練完成的YOLO模型,進行垃圾圖像識別,攝像頭采集到的圖像數(shù)據(jù),反饋給MCU,在訓練識別的模型數(shù)據(jù)庫,進行類別判斷,自動判斷分類處理垃圾。圖像識別流程圖見圖7所示。
圖7 圖像識別流程圖
本設計利用LD3320語音識別模塊作為自動識別的輔助,以確保自動識別的準確性。在LD3320芯片上進行指令控制,必須使用寄存器配置的存儲器來滿足要求。例如設置標志位、讀取寄存器狀態(tài)、將數(shù)據(jù)寫入FIFO緩沖區(qū)等。寄存器讀寫操作有:并行模式和串行SPI模式。主控件使用串行通信來控制語音識別模塊并讀取識別的語音。其控制流程圖如圖8所示。
圖8 語音識別模塊流程圖
本設計的基于神經(jīng)網(wǎng)絡的智能分類垃圾箱控制系統(tǒng)主要使回收站具有自動識別和自動分類的功能。該系統(tǒng)可以減少人與廢物的直接接觸,防止細菌感染。
多功能垃圾分類控制系統(tǒng)的設計還是存在一些問題,系統(tǒng)設計的宗旨就是要創(chuàng)造一個環(huán)保無污染的垃圾桶自動控制系統(tǒng),由于目前該設計的控制系統(tǒng)主要應用于室內環(huán)境,尚未真正實現(xiàn)環(huán)保和無污染,隨后的技術改進是只需在其外殼上再增加一塊太陽能電池板即可為內置鋰電池進行充電,以實現(xiàn)可持續(xù)運行。
此次設計的多功能分類垃圾桶控制系統(tǒng)仍處于初步設計模式,可以在此增強設計方案的其他功能。通過提高其他功能,例如可以執(zhí)行廢棄物的全自動包裝、可以自動收集散落的廢棄物、完成廢物的自動分離和回收。