国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺的垃圾分類系統(tǒng)的設(shè)計(jì)

2022-07-21 06:10蔡永超
物聯(lián)網(wǎng)技術(shù) 2022年7期
關(guān)鍵詞:垃圾箱舵機(jī)文件夾

張 兵,蔡永超,楊 杰,卓 杰,杜 穎

(宿遷學(xué)院,江蘇 宿遷 223800)

0 引 言

隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人們對(duì)資源的消耗越來(lái)越多,對(duì)資源的回收再利用變得極為重要。為了更好地回收可利用資源,國(guó)家實(shí)施強(qiáng)制垃圾分類政策,但人們?cè)谕斗爬鴷r(shí)卻遇到了垃圾分類識(shí)別難的問題,為了方便用戶分類投放垃圾,市場(chǎng)上出現(xiàn)了許多能幫助人們實(shí)現(xiàn)垃圾分類的智能產(chǎn)品。

阿里巴巴在支付寶推出了一款掃一掃識(shí)別垃圾的“AI識(shí)別垃圾分類程序”,用戶在投放垃圾前進(jìn)行拍照識(shí)別,但需要一定的時(shí)間響應(yīng)。阿爾飛思公司推出了智能垃圾桶“睿桶”,通過云計(jì)算來(lái)提升識(shí)別速度和精確度,分類精確度可以達(dá)到95%,用戶體驗(yàn)感覺較好,但易受網(wǎng)絡(luò)速度影響。

為了解決上述問題,本文以Jetson Nano為垃圾分類識(shí)別平臺(tái),采用YOLOv5算法,實(shí)現(xiàn)了在本地垃圾箱自動(dòng)識(shí)別分類,控制電路將垃圾投放至對(duì)應(yīng)的垃圾箱。

1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)

如圖1所示,系統(tǒng)由垃圾識(shí)別模塊、垃圾箱主控模塊、后臺(tái)管理模塊組成。垃圾識(shí)別模塊由Jetson Nano開發(fā)套件組成,連接攝像頭,將用戶放置投放平臺(tái)的垃圾通過YOLOv5算法提供實(shí)時(shí)計(jì)算機(jī)視覺和推理,獲得分類標(biāo)號(hào)。通過串口將分類標(biāo)號(hào)傳給垃圾箱主控模塊,從而控制舵機(jī)將垃圾旋轉(zhuǎn)至正確的垃圾投放口投放,并給出投放垃圾種類的提示音。滿箱報(bào)警模塊負(fù)責(zé)監(jiān)測(cè)垃圾桶是否裝滿,將滿桶信息通過無(wú)線傳輸模塊上傳后臺(tái)管理模塊,通知工作人員及時(shí)清理垃圾,垃圾箱亮紅燈提醒用戶垃圾箱已滿,不要再投放垃圾。后臺(tái)管理模塊具有垃圾箱實(shí)時(shí)狀態(tài)顯示、清運(yùn)人員通知、歷史數(shù)據(jù)統(tǒng)計(jì)等功能,方便管理人員查看垃圾箱整體工作狀態(tài)和垃圾投放機(jī)的使用頻率。

圖1 系統(tǒng)結(jié)構(gòu)

2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)硬件部分主要包括垃圾識(shí)別模塊、主控芯片STM32F407ZET6、舵機(jī)、無(wú)線傳輸模塊。STM32F407ZET6是一款高性能、低功耗的微處理器,有2個(gè)USB接口、6個(gè)USART接口和114個(gè)I/O口,可以連接垃圾識(shí)別模塊,接收垃圾分類信息,控制舵機(jī)旋轉(zhuǎn),并提供響應(yīng)的語(yǔ)音提示和滿箱報(bào)警,通過無(wú)線模塊信息傳輸實(shí)現(xiàn)數(shù)據(jù)上報(bào)后臺(tái)。

2.1 垃圾識(shí)別模塊

垃圾識(shí)別模塊包括Jetson Nano 開發(fā)板和攝像頭兩部分。Jetson Nano核心由ARM四核Cortex-A57CPU和128個(gè)CUDA單元集成GPU組成,提供472 GB的FLOPS計(jì)算性能,配備了4 GB的LPDDR4內(nèi)存以及32 GB的TF卡。NVIDIA官方提供JetPack SDK,用于構(gòu)建AI應(yīng)用程序的開發(fā)環(huán)境包,支持所有Jetson模塊和開發(fā)套件、加速圖形、NVIDIA CUDA Toolkit和cuDNN庫(kù)以及計(jì)算機(jī)視覺開發(fā)的框架OpenCV,能夠更好地執(zhí)行YOLOv5算法。垃圾識(shí)別模塊攝像頭所采集的垃圾圖像需要進(jìn)行目標(biāo)的檢測(cè)與識(shí)別,為了達(dá)到更好的經(jīng)濟(jì)性、實(shí)時(shí)性和識(shí)別精度,選擇SY003HD攝像頭進(jìn)行圖像采集,分辨率可以達(dá)到1 920 × 1 080,幀率為30,攝像頭USB接口與 Jetson Nano 開發(fā)板相連采集垃圾圖片,通過YOLOv5算法實(shí)現(xiàn)分類的目的。

2.2 滿箱報(bào)警模塊

垃圾箱滿時(shí)需要及時(shí)提醒管理人員清運(yùn)垃圾并對(duì)投放垃圾用戶給出警示,不要再投垃圾。滿箱報(bào)警模塊采用超聲波HC-SR04模塊進(jìn)行監(jiān)測(cè)。HC-SR04模塊最小測(cè)距為2 cm,最大測(cè)距為4 cm,完全適用于分類垃圾箱。HC-SR04模塊測(cè)量角度為15°,只能測(cè)量較小區(qū)域,所以與舵機(jī)配合使用,舵機(jī)采用SG90,調(diào)節(jié)PWM信號(hào)的占空比就可以控制舵機(jī)旋轉(zhuǎn)相應(yīng)的角度為30~150°進(jìn)行工作,實(shí)現(xiàn)測(cè)量垃圾箱是否裝滿;并可以根據(jù)測(cè)量的距離判斷出哪個(gè)分類箱裝滿,給出相應(yīng)的指示燈提示。

2.3 無(wú)線傳輸模塊

在垃圾分類系統(tǒng)中,無(wú)線傳輸模塊采用NB-IoT模塊將傳感器采集到的數(shù)據(jù)發(fā)送給后臺(tái)系統(tǒng),實(shí)現(xiàn)垃圾數(shù)據(jù)管理。選用由上海穩(wěn)恒科技研發(fā)的WH-NB73模塊,內(nèi)嵌的芯片是華為海思Hi2110。由于模塊采用內(nèi)置SIM卡和天線,所以SIM卡電路與射頻電路的設(shè)計(jì)可以簡(jiǎn)化。通信模塊部分由復(fù)位電路、恢復(fù)原始設(shè)置電路、電源接口電路和UART接口電路等部分組成,如圖2所示。該模組支持串口工作方式,與MCU的UART口相連并通過AT指令傳輸數(shù)據(jù),系統(tǒng)中UART通信設(shè)置的參數(shù)采用波特率為9600、數(shù)據(jù)位為8位、停止位為1位。該模塊在使用時(shí)供電范圍要控制在3.1~4.2 V,系統(tǒng)設(shè)計(jì)時(shí)采用3.3 V供電。在DC-DC電源芯片后放置大電容,可以防止外部電源在脈沖電流時(shí)間段內(nèi)出現(xiàn)電壓跌落。

圖2 WH-NB73模塊的總體設(shè)計(jì)電路

3 系統(tǒng)軟件設(shè)計(jì)

3.1 YOLOv5算法

2020年Ultralytics公司推出了YOLOv5,具有速度快、體積小等優(yōu)點(diǎn),容易在Pytorch框架中實(shí)現(xiàn)。YOLOv5模型大小可根據(jù)需要調(diào)節(jié),常用4種結(jié)構(gòu),其中YOLOv5s為最小模型,權(quán)重?cái)?shù)據(jù)文件僅為27 MB。YOLOv5s的整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)分為四個(gè)部分,分別為Input(輸入端)、Backbone(骨干部分)、Neck網(wǎng)絡(luò)以及Prediction(輸出端),YOLOv5s網(wǎng)絡(luò)架構(gòu)如圖3所示。與YOLO以前的版本相比這幾個(gè)部分都進(jìn)行了一定的優(yōu)化,算法也有了更新,整體性能也有了比較大的提升。

圖3 YOLOv5s網(wǎng)絡(luò)架構(gòu)

(1)輸入端

在YOLOv5s網(wǎng)絡(luò)的輸入端,YOLOv5s算法對(duì)數(shù)據(jù)集中尺寸不同的圖片進(jìn)行縮放操作。根據(jù)圖片的長(zhǎng)寬大小,自適應(yīng)添加圖片四周的最小尺寸黑邊,這樣在算法推理時(shí)計(jì)算量也會(huì)相應(yīng)減少,從而使算法性能得以提高。為了豐富算法的數(shù)據(jù)集,增加算法網(wǎng)絡(luò)的魯棒性,在訓(xùn)練期間采用Mosaic數(shù)據(jù)增強(qiáng),即使用多張圖片進(jìn)行隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布,從而提高算法的訓(xùn)練效率。為了準(zhǔn)確地檢測(cè)不同目標(biāo),將計(jì)算初始錨框程序嵌入到Y(jié)OLOv5算法中,自適應(yīng)地計(jì)算不同訓(xùn)練集中的最佳錨框值。

(2)Backbone網(wǎng)絡(luò)

在Backbone骨干網(wǎng)絡(luò)中,主要包括兩種結(jié)構(gòu):Focus結(jié)構(gòu)和CSP結(jié)構(gòu)。在Focus結(jié)構(gòu)中,將輸入端的608×608×3圖片通過四次切片操作,再經(jīng)過一次32個(gè)卷積核的卷積,得到304×304×12的特征圖。CSP結(jié)構(gòu)中使用3×3的卷積核,將初始608×608的圖片轉(zhuǎn)換為19×19的特征圖。

(3)Neck網(wǎng)絡(luò)

在YOLOv5s網(wǎng)絡(luò)中Neck網(wǎng)絡(luò)主要有承上啟下的作用,它對(duì)Backbone網(wǎng)絡(luò)中獲取的重要特征進(jìn)行分析和繼續(xù)利用,以便下一步的任務(wù)學(xué)習(xí)。Neck網(wǎng)絡(luò)包括FPN和PAN結(jié)構(gòu),F(xiàn)PN結(jié)構(gòu)中對(duì)圖片特征的獲取通過自上而下的方式,使用上采樣,對(duì)高層和低層的特征信息相互傳遞和融合,得到預(yù)測(cè)的目標(biāo)特征圖。PAN結(jié)構(gòu)采用另外一種自下而上特征金字塔形式,使用下采樣,對(duì)FPN結(jié)構(gòu)中獲取的預(yù)測(cè)特征圖中的低層和高層特征信息進(jìn)行提取和融合,從而獲取預(yù)測(cè)的目標(biāo)特征圖。

(4)輸出端

YOLOv5中使用GIoU_Loss作為Bounding box的損失函數(shù)。

由此可以計(jì)算出同時(shí)包含預(yù)測(cè)邊框和真實(shí)邊框的最小邊框面積,再計(jì)算出閉包區(qū)域內(nèi)不屬于兩個(gè)邊框的區(qū)域占整個(gè)閉包區(qū)域的比重值;IoU值減去比重值后得到GIoU,則損失函數(shù)GIoU_Loss=1-GIoU。

3.2 系統(tǒng)控制程序設(shè)計(jì)

圖像識(shí)別端是整個(gè)垃圾分類系統(tǒng)的基礎(chǔ)功能,攝像頭連接Jetson Nano,運(yùn)行YOLOv5算法進(jìn)行采集并識(shí)別垃圾類型,如成功識(shí)別,則將模擬信號(hào)轉(zhuǎn)化為電信號(hào)。通過Jetson Nano串口通信輸出到主控芯片STM32F407,主控芯片控制舵機(jī)旋轉(zhuǎn)到恰當(dāng)?shù)慕嵌?,將垃圾放至?duì)應(yīng)垃圾箱,并且主控芯片判斷垃圾箱是否裝滿以及給出對(duì)應(yīng)的LED提示。

4 實(shí)驗(yàn)與結(jié)果

4.1 垃圾實(shí)物識(shí)別

本實(shí)驗(yàn)所用數(shù)據(jù)集來(lái)源有兩方面:一是通過Python網(wǎng)絡(luò)爬蟲代碼抓取百度和谷歌圖片;二是自己拍了一些垃圾實(shí)物圖片,使用OpenCV對(duì)圖像進(jìn)行數(shù)據(jù)增強(qiáng)操作,擴(kuò)充數(shù)據(jù)集的數(shù)量為原來(lái)的4倍。之后用LabelImg工具對(duì)垃圾圖片數(shù)據(jù)進(jìn)行標(biāo)注,最終得到數(shù)據(jù)集共有16 000張圖片,按照7∶2∶1的比例把數(shù)據(jù)集分成訓(xùn)練集、測(cè)試集和驗(yàn)證集。設(shè)置不同的文件夾存放圖片:文件夾images中存放所有圖片,文件夾labels存放打好的標(biāo)簽,test.txt為測(cè)試集,train.txt為訓(xùn)練集,val.txt為驗(yàn)證集。具體實(shí)施過程分兩個(gè)步驟:先把數(shù)據(jù)集在服務(wù)器上訓(xùn)練;然后將得到的模型轉(zhuǎn)移到Jetson Nano上。

在服務(wù)器中部署YOLOv5的運(yùn)行環(huán)境,下載YOLOv5源碼,根據(jù)之前的數(shù)據(jù)集進(jìn)行訓(xùn)練,獲得YOLOv5的垃圾分類模型;將模型文件 tensorrtx/yolov5/gen_wts.py復(fù)制到y(tǒng)olov5文件夾中,同時(shí)將訓(xùn)練后獲取的best.pt復(fù)制到主文件夾中,進(jìn)入yolov5文件夾執(zhí)行python gen_wts.py,即可獲得yolov5s.wts 文件。

將服務(wù)器tensorrtx文件夾內(nèi)容復(fù)制到NANO中,在yololayer.h 文件里可以修改模型類個(gè)數(shù),CLASS_NUM初始值為80,本實(shí)驗(yàn)中修改為4;還可以在yololayer.h 文件中修改INPUT_H和INPUT_W的值,圖片尺寸必須是32的倍數(shù)??s小輸入尺寸在一定程度上可以加快推理速度。將yolov5s.wts文件復(fù)制到ensorrtx/yolov5中,并且運(yùn)行cmake與make命令,生成engine 部署引擎文件。將引擎載入文件路徑修改成自己引擎的路徑,同時(shí)修改模型標(biāo)簽文件名,最后調(diào)用攝像頭就可以進(jìn)行視頻預(yù)測(cè)。

4.2 實(shí)驗(yàn)結(jié)果分析

將垃圾投放至平臺(tái),攝像頭采集垃圾圖片由Jetson Nano判斷垃圾類別,通過串口將垃圾類別編號(hào)傳輸至主控模塊,控制舵機(jī)根據(jù)預(yù)先設(shè)計(jì)角度旋轉(zhuǎn),打開垃圾箱投放口將垃圾放至正確的垃圾桶。延遲2 s后滿箱報(bào)警模塊監(jiān)測(cè)是否滿箱后將數(shù)據(jù)發(fā)送給后臺(tái)。進(jìn)行100次垃圾實(shí)物投放,檢測(cè)正確率為98%,從投放到放至正確垃圾桶的時(shí)間為1.5 s。

5 結(jié) 語(yǔ)

智能垃圾分類是節(jié)約資源的措施之一,也是社會(huì)智能化發(fā)展的重要指標(biāo)之一。本文設(shè)計(jì)的智能垃圾分類系統(tǒng),硬件主要包括STM32F407ECT6主控模塊、Jetson Nano垃圾識(shí)別模塊、無(wú)線傳輸模塊、報(bào)警模塊等,手機(jī)APP主要實(shí)時(shí)顯示垃圾箱的狀況和提醒垃圾清運(yùn)。系統(tǒng)運(yùn)行穩(wěn)定,垃圾識(shí)別率為98%,效果良好,可以有效地幫助用戶實(shí)現(xiàn)垃圾分類。

猜你喜歡
垃圾箱舵機(jī)文件夾
洗掃車?yán)潴w及過濾裝置優(yōu)化研究
垃圾箱的變化
含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
摸清超標(biāo)源頭 大文件夾這樣處理
調(diào)動(dòng)右鍵 解決文件夾管理三大難題
基于PLC的自動(dòng)降解垃圾箱壓縮粉碎模塊的設(shè)計(jì)
基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
掛在墻上的文件夾
基于云模型的舵機(jī)同步控制
望江县| 江津市| 太谷县| 东阳市| 武邑县| 德格县| 建阳市| 东城区| 石首市| 龙江县| 马关县| 扬州市| 乐昌市| 游戏| 同江市| 赣州市| 苍溪县| 改则县| 武定县| 棋牌| 彰化市| 历史| 印江| 崇信县| 太保市| 上思县| 辉县市| 辉南县| 萨嘎县| 鄄城县| 黎城县| 嘉义县| 松滋市| 湾仔区| 沁阳市| 华亭县| 翁牛特旗| 英山县| 镇平县| 三台县| 红安县|