• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      智能垃圾分類系統(tǒng)的設(shè)計

      2024-01-08 12:14:04朱毅泓郭常盈蘇智宇
      現(xiàn)代計算機 2023年20期
      關(guān)鍵詞:舵機垃圾桶界面

      朱毅泓,郭常盈,蘇智宇

      (南陽理工學(xué)院信息工程學(xué)院,南陽 473004)

      0 引言

      隨著人民生活水平的日益提高,垃圾的產(chǎn)生量也隨之增多,如果處理不好,將會對人們的居住環(huán)境帶來巨大的威脅[1]。垃圾分類是垃圾處理的基礎(chǔ),需要全社會群眾的廣泛參與,由于大多數(shù)人在垃圾種類區(qū)分方面存在一定的困難,導(dǎo)致人工處理垃圾分類工作存在耗時較長、效果不理想以及影響工作人員健康等問題。于是各種智能垃圾分類系統(tǒng)應(yīng)運而生。目前不管基于深度學(xué)習(xí)算法還是應(yīng)用垃圾分類APP 進(jìn)行垃圾分類識別的,都沒有將智能垃圾分類和垃圾桶控制進(jìn)行有機結(jié)合,即識別后還需要人們手動打開對應(yīng)的垃圾桶蓋進(jìn)行垃圾投放。

      為了解決這一系列問題,本文充分利用人工智能技術(shù),基于深度學(xué)習(xí)理論構(gòu)建和訓(xùn)練垃圾分類模型,讓對垃圾分類規(guī)則不太熟悉的用戶輕松實現(xiàn)垃圾分類。并且根據(jù)垃圾識別結(jié)果,通過硬件控制電路打開對應(yīng)的垃圾桶蓋,使得用戶可以無接觸完成垃圾的精準(zhǔn)投放。

      1 垃圾分類系統(tǒng)設(shè)計

      1.1 系統(tǒng)總體設(shè)計

      根據(jù)垃圾分類的工藝流程,要求所設(shè)計的智能垃圾分類識別系統(tǒng)能夠通過攝像頭對垃圾拍照,上傳垃圾圖片后通過圖庫比對能夠快速、準(zhǔn)確地識別垃圾種類,并且根據(jù)識別結(jié)果啟動驅(qū)動控制,打開對應(yīng)垃圾桶蓋,使用戶能夠準(zhǔn)確地將垃圾投放到對應(yīng)的垃圾桶。當(dāng)然要想完成圖庫比對,事先還需要構(gòu)建和訓(xùn)練好垃圾分類模型。因此,所設(shè)計的智能垃圾分類識別系統(tǒng)必須具有以下幾個子模塊:垃圾分類模型的構(gòu)建與訓(xùn)練、攝像頭拍攝垃圾照片、圖庫對比分析、驅(qū)動控制等功能模塊。為了便于用戶進(jìn)行數(shù)據(jù)顯示、參數(shù)設(shè)置和操作控制,需要設(shè)計一個圖形用戶界面,由上位機提供;其他的設(shè)備作為下位機,根據(jù)功能,這里設(shè)置兩個下位機。所以整個系統(tǒng)需要軟硬件相互結(jié)合、上下位機共同協(xié)作。其系統(tǒng)功能實現(xiàn)框圖如圖1所示。

      圖1 系統(tǒng)功能實現(xiàn)框圖

      1.2 垃圾分類模型的構(gòu)建和訓(xùn)練

      智能垃圾分類系統(tǒng)的核心是垃圾分類模型。在進(jìn)行垃圾分類模型的構(gòu)建與訓(xùn)練時,通過選取網(wǎng)絡(luò)圖片,收集大量垃圾圖像作為訓(xùn)練數(shù)據(jù)集。為了方便后續(xù)的訓(xùn)練以及保證數(shù)據(jù)集的特征具有一致性和有效性,需要對圖像數(shù)據(jù)進(jìn)行清洗。所設(shè)計的數(shù)據(jù)集包含可回收物、廚余垃圾、有害垃圾、其他垃圾等4 個大類、245 個子類,約計8萬張圖片用于訓(xùn)練[2]。訓(xùn)練中對于數(shù)據(jù)集采用八二劃分方式,即訓(xùn)練集占據(jù)八份,測試集占據(jù)兩份。

      基于深度學(xué)習(xí)的圖像識別會由于數(shù)據(jù)量的局限性,導(dǎo)致模型提取特征有限,進(jìn)而影響識別的準(zhǔn)確度。目前,一種常用且非常高效的優(yōu)化方式便是使用預(yù)訓(xùn)練網(wǎng)絡(luò)模型,將一個已在大型數(shù)據(jù)集上訓(xùn)練好的模型作為基礎(chǔ)模型,在此基礎(chǔ)上對自己的數(shù)據(jù)集再進(jìn)行訓(xùn)練,即使新的數(shù)據(jù)集和原始數(shù)據(jù)集完全不同,也可以得到很好的特征提取。模型訓(xùn)練的流程如圖2所示。

      圖2 模型訓(xùn)練的流程圖

      因此,本文對于垃圾識別模型的構(gòu)建是基于TensorFlow2.3 實現(xiàn)的MobilenetV2 模型的遷移學(xué)習(xí)[3-4]。首先,通過tf.keras.applications 來加載MobilenetV2 模型,凍結(jié)主干的特征提取網(wǎng)絡(luò)參數(shù);其次,為了保證每一批次訓(xùn)練的數(shù)據(jù)的分布一致,最終使得構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型容易收斂,對數(shù)據(jù)進(jìn)行了歸一化處理;再次,全局平均池化和設(shè)置全連接層,以此來達(dá)到分類效果;最后,設(shè)置訓(xùn)練輪數(shù),開始訓(xùn)練。訓(xùn)練完成后需要對模型進(jìn)行精度測試,測試要求采用與訓(xùn)練數(shù)據(jù)集不同的數(shù)據(jù)集,而且需要多輪精度測試。本文每一輪測試都是采用4001 張圖片進(jìn)行測試。最終測試結(jié)果表明,本次訓(xùn)練的模型的精度高達(dá)0.829,已經(jīng)達(dá)到預(yù)期要求。

      1.3 硬件電路設(shè)計

      系統(tǒng)硬件電路主要包含兩塊主控芯片、舵機及用于連接的舵機拓展板等。遵循經(jīng)濟實用、已開發(fā)、易維護的設(shè)計理念,本文選擇ESP32-CAM、ESP8266-NodeMCU 作為下位機。ESP32 硬件平臺中的MCU 芯片可以獨立運行應(yīng)用程序,其主要載體可以通過SPI/SDIO 或12C/UART 接口提供Wi-Fi 或藍(lán)牙功能[5]。為了避免拍攝的圖片出現(xiàn)水紋,使用ESP32-CAM 時注意輸入電源至少要5V2A,其GPIO32 管腳控制攝像頭電源,當(dāng)攝像頭工作時應(yīng)當(dāng)把GPIO32 拉低。由于IO0 連接攝像頭XCLK,使用時也應(yīng)當(dāng)把IO0 懸空,不接高低電平。

      若實現(xiàn)垃圾桶的自動開合,需要將舵機與垃圾桶進(jìn)行物理連接,本文舵機采用SG90。SG90 三根數(shù)據(jù)線:棕色線GND、紅色線VCC、黃色線SIG。四個垃圾桶需要四臺SG90 舵機,即有十二根線需要連接,這里通過加入舵機拓展板來解決線路復(fù)雜問題。舵機拓展板直接與SG90 舵機連接,則通過杜邦線與ESP8266-NodeMCU 進(jìn)行連接,以此來達(dá)到ESP8266-NodeMCU 控制多臺舵機的目的。同時,為了保證固定在舵機上的連桿能夠順暢地隨著舵機運動而運動,這里是將舵機通過膠水固定在垃圾桶內(nèi)部,并在垃圾桶背部開孔,將舵機的數(shù)據(jù)線牽引出去,方便與ESP8266-NodeMCU 的舵機拓展板進(jìn)行連接。將連桿與舵機組裝到一起,并通過計算PWM 得到實際舵機需要向上轉(zhuǎn)動的角度,舵機向上轉(zhuǎn)的同時帶動連桿,連桿頂開垃圾桶蓋。舵機復(fù)位后,在重力的作用下,垃圾桶蓋會自動回落,以此來達(dá)到自動開合垃圾桶的預(yù)期。

      1.4 軟件設(shè)計

      軟件部分包括用戶界面的構(gòu)建、對下位機1發(fā)送的視頻流進(jìn)行處理、使用訓(xùn)練好的模型完成垃圾分類、向下位機2發(fā)送相關(guān)操作指令。其中,前三個為前端程序,最后一個為后端程序。

      前端程序設(shè)計,即上位機用戶界面應(yīng)用Qt Designer 與Python 制作而成,使用的IDE 是Pycharm。所設(shè)計的用戶主界面如圖3(a)所示,用戶可分別選擇攝像頭的開啟與關(guān)閉、實時顯示ESP32-CAM 拍攝到的視頻流、拍照并顯示拍照的內(nèi)容、對拍攝照片進(jìn)行識別等按鈕。當(dāng)用戶進(jìn)行識別操作后,將彈出用戶子界面,如圖3(b)所示。新界面會顯示用戶拍攝的照片、識別出來的垃圾種類、垃圾名稱以及一些簡短的相關(guān)介紹。此界面還有兩個按鈕,一個再次打開垃圾桶按鈕,是為了防止初次打開垃圾桶時用戶未將垃圾及時放入而設(shè)計的;另一個按鈕是返回按鈕,返回主界面。

      圖3 用戶界面

      后端程序設(shè)計除前面所講述的垃圾識別模型的構(gòu)建與訓(xùn)練之外,還有舵機轉(zhuǎn)動設(shè)計、上下位機之間的通信程序設(shè)計等。電路供電后,下位機ESP8266-NodeMCU 以及ESP32-CAM 調(diào)用自身的Wi-Fi 模塊,分別和上位機建立網(wǎng)絡(luò)通信,其Wi-Fi 模塊調(diào)用程序流程如圖4 所示。上位機和下位機之間的信息傳送,即為通過Wi-Fi模塊導(dǎo)入socket 庫,開啟UDP 套接字進(jìn)行的數(shù)據(jù)傳輸通信,如圖5所示。

      圖4 Wi-Fi模塊調(diào)用流程

      圖5 UDP套接字

      2 系統(tǒng)測試及結(jié)果分析

      所設(shè)計的垃圾分類識別系統(tǒng)實物圖如圖6所示。

      圖6 垃圾分類識別系統(tǒng)實物圖

      將ESP8266-NodeMCU 與ESP32-CAM 中所要運行的程序改名為main.py,通過充電寶給ESP8266-NodeMCU 和ESP32-CAM 供電。打開手機熱點,電腦連接,以此保證上機位與下機位處于同一網(wǎng)絡(luò)環(huán)境中。

      運行上位機主程序,電腦端將出現(xiàn)用戶主界面。在此界面,點擊拍攝按鈕,所要識別的垃圾圖片逐一顯示在主界面窗口。再分別點擊識別按鈕,結(jié)果如圖7 所示。其中,圖7(a)垃圾是眼藥水,識別為有害垃圾;圖7(b)垃圾是豆子,識別為廚余垃圾;圖7(c)垃圾是回形針,識別為可回收物。對比垃圾實物,可知以上垃圾類型識別均正確。

      圖7 垃圾類型識別結(jié)果

      下位機ESP8266-NodeMCU 調(diào)用自身Wi-Fi模塊實現(xiàn)與電腦之間的通信。垃圾識別結(jié)果在用戶子界面上顯示,并將識別內(nèi)容通過Wi-Fi模塊發(fā)送相應(yīng)的消息給ESP8266-NodeMCU,ESP8266-NodeMCU 根據(jù)消息內(nèi)容控制相應(yīng)的舵機,并打開對應(yīng)的垃圾桶蓋。如圖8(a)所示,用戶主界面上顯示將要被識別的垃圾是泡沫板,泡沫板經(jīng)模型識別為可回收物垃圾,因此可回收物垃圾桶被打開,如圖8(b)所示。

      圖8 根據(jù)識別結(jié)果相應(yīng)垃圾桶被打開效果圖

      綜上測試,可以看出所設(shè)計的垃圾分類系統(tǒng)能夠正確地實現(xiàn)垃圾類型的識別和分類,完全達(dá)到了預(yù)期設(shè)計要求。

      3 結(jié)語

      本文應(yīng)用計算機視覺識別技術(shù)設(shè)計一個生活垃圾的智能分類系統(tǒng)。系統(tǒng)軟硬件相結(jié)合,計算機為上位機,提供圖形用戶界面。系統(tǒng)啟動后,ESP32-CAM 接收拍攝命令,調(diào)用自身的攝像頭和Wi-Fi模塊,對需要分類的垃圾進(jìn)行拍攝并通過Wi-Fi傳送至上位機。根據(jù)訓(xùn)練好的分類模型進(jìn)行圖庫比對,并將識別信息通過Wi-Fi傳送至ESP8266-NodeMCU,驅(qū)動控制相應(yīng)的SG90 舵機和垃圾桶蓋。測試表明所設(shè)計的系統(tǒng)完全可以準(zhǔn)確地實現(xiàn)家庭生活垃圾的智能分類。所設(shè)計的系統(tǒng)具有兩點創(chuàng)新:第一,構(gòu)建包含各種生活垃圾圖像的訓(xùn)練數(shù)據(jù)集,通過不斷地選取、改進(jìn)分類模型算法以及反復(fù)精度測試從而獲取精確的分類模型,這是系統(tǒng)能夠準(zhǔn)確識別類型的關(guān)鍵;第二,將智能垃圾分類和垃圾桶控制充分結(jié)合,通過識別信息驅(qū)動硬件控制電路,自動實現(xiàn)垃圾桶蓋的開合,使得用戶可以無接觸完成垃圾的精準(zhǔn)投放。

      猜你喜歡
      舵機垃圾桶界面
      垃圾桶等
      好孩子畫報(2021年2期)2021-03-15 08:45:48
      投進(jìn)垃圾桶的信
      投進(jìn)垃圾桶的信
      趣味(語文)(2021年11期)2021-03-09 03:11:34
      飛進(jìn)垃圾桶
      國企黨委前置研究的“四個界面”
      含齒隙彈載舵機的全局反步模糊自適應(yīng)控制
      基于dsPIC單片機的飛艇舵機控制實現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      基于高速同步485總線通信的多通道舵機控制器設(shè)計
      人機交互界面發(fā)展趨勢研究
      门源| 文成县| 谢通门县| 抚远县| 吴忠市| 泸西县| 大庆市| 中江县| 章丘市| 郯城县| 三门峡市| 弥渡县| 攀枝花市| 海伦市| 大厂| 乾安县| 新巴尔虎右旗| 昔阳县| 错那县| 北碚区| 佛山市| 烟台市| 黄石市| 襄汾县| 城步| 嘉峪关市| 醴陵市| 正阳县| 崇阳县| 上杭县| 太谷县| 古交市| 铁力市| 同心县| 石嘴山市| 嵊泗县| 和硕县| 金塔县| 西平县| 巫溪县| 齐河县|