<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 基于目標檢測的智能垃圾分類(lèi)垃圾桶的設計

基于目標檢測的智能垃圾分類(lèi)垃圾桶的設計

作者:祝朝坤,陳記文(鄭州工商學(xué)院,河南鄭州451400) 時(shí)間:2022-03-01 來(lái)源:電子產(chǎn)品世界 收藏
編者按:本設計使用目標檢測識別進(jìn)行分類(lèi)垃圾以代替傳統的人工分類(lèi)。本設計旨在用前沿的YOLOv3模型去實(shí)現準確的垃圾識別。設計中的模型利用Anaconda搭建環(huán)境變量,并在Pycharm軟件上運行模型。YOLOv3模型實(shí)驗所需的數據集來(lái)自華為云人工智能大賽提供的垃圾分類(lèi)數據集,共有44種垃圾類(lèi)別,圖片數為1.9萬(wàn)張。經(jīng)測試發(fā)現YOLOv3模型能夠快速而又準確地識別出44種垃圾,隨后通過(guò)藍牙發(fā)出信號給STM32單片機部分,單片機通過(guò)控制舵機旋轉后完成全自動(dòng)化垃圾分類(lèi)。


本文引用地址:http://dyxdggzs.com/article/202203/431562.htm

1   研究背景

隨著(zhù)科技的快速發(fā)展,人們的生活水平得到了很大的改善,城市生活中的垃圾數量也隨之飛速增長(cháng)。近年來(lái)我國提出了全民垃圾分類(lèi)的政策并在全國進(jìn)行試點(diǎn)推廣,為解決垃圾處理問(wèn)題,各個(gè)城市相繼出臺了垃圾分類(lèi)的地方標準,但實(shí)際執行起來(lái)依然有不小難度,用戶(hù)的習慣和對垃圾分類(lèi)知識了解的不足帶來(lái)垃圾分類(lèi)的現實(shí)困難,而設置專(zhuān)門(mén)的管理人員則會(huì )大量浪費人力資源。如果可以通過(guò)相關(guān)的設計實(shí)現自動(dòng)分類(lèi)的垃圾桶,將有助于大幅提升垃圾分類(lèi)的準確率和效率。

技術(shù)的高速發(fā)展,它的功能也逐漸增強,尤其是在目標檢測和圖像識別等領(lǐng)域上發(fā)揮著(zhù)重要作用。本文提出的基于的智能垃圾分類(lèi)垃圾桶,該設計將人工智能與垃圾分類(lèi)進(jìn)行有機結合,提出了一種能夠自動(dòng)進(jìn)行垃圾分類(lèi)的垃圾桶的設計方案。方案的關(guān)鍵在于如何對目標準確而有效地識別,特別是應用性能較為優(yōu)異的卷積模型作為目標檢測的模型,對其在目標檢測識別領(lǐng)域的應用具有十分關(guān)鍵以及重要的研究?jì)r(jià)值。

2   分類(lèi)垃圾桶簡(jiǎn)介

2.1 分類(lèi)垃圾桶的總體設計

分類(lèi)垃圾桶整個(gè)方案分為PC(個(gè)人計算機)端和硬件端兩大部分組成,總體設計圖如圖1 所示。

1646115936163853.png

圖1 總體設計框圖

PC 端主要是實(shí)現垃圾的分類(lèi),主要處理過(guò)程如下:

(1)攝像頭捕捉到含有垃圾的圖片;

(2)圖片傳入到模型中進(jìn)行處理;

(3)處理完后會(huì )通過(guò)藍牙發(fā)送信號給硬件端。

硬件部分的設計如圖2 所示,STM32 上電后串口、定時(shí)器進(jìn)行初始化。當STM32 收到電腦端發(fā)送的垃圾類(lèi)型數據時(shí),對收到的數據進(jìn)行判斷,用于區別出被識別垃圾的種類(lèi)。當垃圾成功識別種類(lèi)時(shí),STM32 通過(guò)控制垃圾桶底部的垃圾旋轉控制裝置。旋轉不同的角度使垃圾投放進(jìn)不同分類(lèi)的格子中。實(shí)現不同垃圾的分類(lèi)效果。在實(shí)際執行中,系統將通過(guò)控制垃圾旋轉裝置旋轉到一定角度來(lái)進(jìn)行下方垃圾格子的選擇,如干垃圾時(shí)旋轉0° 、濕垃圾時(shí)旋轉90° 、可回收垃圾旋轉180° 、有害垃圾時(shí)旋轉270° ,從而將垃圾投入下方系統定的格子中。

1646116148667231.png

3   模型分析和實(shí)際應用

3.1 Two Stage目標檢測算法

在人工智能方面較出名的目標檢測模型有R-CNN(區域卷積神經(jīng)網(wǎng)絡(luò ))、OverFeat、Fast R-CNN、FasterR-CNN、YOLO(You Only Look Once)v1、YOLOv2、SSD(single shot multibox detector)。早期的目標檢測模型(較典型的是2013 年的R-CNN)是通過(guò)人工技術(shù)得到物體特征,其中有三個(gè)主要步驟。

(1)區域選擇:隨機生成多個(gè)固定大小的窗口然后采用滑動(dòng)窗口對圖像進(jìn)行遍歷。

(2)特征提?。篠IFT(尺度不變特征轉換,scale-invariant feature transform) 是常用特征。

(3)分類(lèi)器:主要是Adaboost、SVM(支持向量機,support vector machines)。

3.2 模型

作為近期發(fā)布的模型,它對之前的算法既有保留又有改進(jìn)。 保留的結構如下所述。

(1)YOLOv1 中保留的結構是劃分單元格來(lái)做檢測,區別是劃分的數量不一樣。采用”leaky ReLU”作為激活函數,進(jìn)行端到端地訓練。一個(gè)loss function 即可搞定訓練,因此只需關(guān)注輸入端和輸出端。

(2)YOLOv2 中保留的結構是用batch normalization(批量歸一化,BN)作為正則化、加速收斂和避免過(guò)擬合的方法,把BN 層和leaky relu 層接到每一層卷積層之后。

YOLO 每一代的提升主要取決于backbone 網(wǎng)絡(luò )的提升,從YOLOv2 的darknet-19 到YOLOv3 的darknet-53。YOLOv3還提供替換backbone——tiny darknet。backbone用Darknet-53 提高性能,用tiny-darknet 提高速度。以下將從三個(gè)方面來(lái)講述YOOv3 模型。

DBL(Darknetconv2d_BN_Leaky):如圖3 所示,是YOLOv3 的基本組件,包含了卷積+BN+Leaky relu。在YOLOv3 中,BN 和leaky relu 已經(jīng)是和卷積層不可分離的部分( 最后一層卷積除外),共同構成了最小組件。其中BN 結構起到關(guān)鍵作用,它可減少訓練計算量。計算公式如下:

image.png

圖3 YOLO內部結構展示

image.png

res_n:n 代表數字,有res1,res2,…,res8 等等,表示這個(gè)res_block里含有多少個(gè)res_unit。這是YOLOv3的大組件,YOLOv3 開(kāi)始借鑒了ResNet 的殘差結構,使用這種結構可以讓網(wǎng)絡(luò )結構更深。殘差結構相當于把圖片中一些無(wú)用特征給過(guò)濾掉,提取出有用特征,從而增加本實(shí)驗的識別精度。殘差構如圖4 所示。

image.png

圖4 殘差結構

concat:張量拼接。將darknet 中間層和后面的某一層的上采樣進(jìn)行拼接。拼接的操作和殘差層add 的操作是不一樣的,拼接會(huì )擴充張量的維度,而add 只是直接相加不會(huì )導致張量維度的改變。

3.3 實(shí)際應用方面的解決方法

在實(shí)際應用中,本實(shí)驗在設計中碰到兩個(gè)問(wèn)題,并且找到了對應的解決方法。

(1)當把YOLOv3 模型訓練完成后,開(kāi)始進(jìn)行測試部分。訓練出來(lái)的參數加載到測試部分時(shí),可通過(guò)在電腦上的攝像頭識別出不同種類(lèi)垃圾。但是此垃圾識別過(guò)程不只是在電腦端完成的,它需要部署到硬件端。從圖5 可看出實(shí)物中的大垃圾桶是裝有可回收垃圾桶、有害垃圾桶、廚余垃圾桶、其他垃圾桶這四個(gè)小型垃圾桶的,系統是通過(guò)旋轉小垃圾桶再把黑色平臺上的垃圾倒入對應類(lèi)別的特定垃圾桶中,而這個(gè)過(guò)程不可避免存在攝像頭會(huì )拍到小垃圾桶中垃圾的可能,進(jìn)而致誤識別操作。

1646116439423992.png

圖5 垃圾桶模型圖

為解決此問(wèn)題,本設計在垃圾被成功識別并發(fā)送了指令后用了一個(gè)中斷操作,當識別完成后,識別的測試代碼將停止運行,而硬件端的STM32 芯片將執行倒垃圾操作,倒完后又會(huì )反饋給識別代碼端繼續開(kāi)啟識別過(guò)程,從而避免了存在拍攝到垃圾桶內垃圾影響識別準確度的問(wèn)題。

(2)測試代碼中用的是開(kāi)啟攝像頭識別模式,但是其本質(zhì)還是把視頻中的每幀圖片逐一識別出來(lái),這就涉及到識別靈敏度的操作問(wèn)題。整個(gè)倒放垃圾的過(guò)程并不是一瞬間的,而是連續的。在每段識別過(guò)程中,可大致分為三種情形,一是垃圾完全沒(méi)有出現在攝像頭下,二是垃圾部分出現在攝像頭下,三是垃圾全部出現在攝像頭下。因為當垃圾只漏出部分時(shí),識別所需要的特征是不清楚的,因此在這三種情況中第二部分最容易出現誤識別操作,而如果按照每幀圖片識別的話(huà)必定會(huì )出現垃圾還沒(méi)放到黑色平臺上,垃圾桶就開(kāi)始運轉的現象。為解決這個(gè)問(wèn)題,本實(shí)驗通過(guò)計算攝像頭每秒多少幀和放垃圾這個(gè)動(dòng)作大概需要多少時(shí)間,預先設置識別時(shí)間并改善識別靈敏度。經(jīng)過(guò)多次的實(shí)踐結果是,攝像頭每秒30 幀,放垃圾的時(shí)間大約是2 秒左右,這個(gè)過(guò)程中識別到的圖片大約為60 張,而60 張中一定會(huì )有誤操作圖片。本實(shí)驗通過(guò)控制總的識別數量來(lái)控制最后發(fā)送給STM32 微控制器的指令。實(shí)驗結果表明,最佳值是在2秒內有20 張圖片全部識別到同一物體時(shí)可發(fā)送對應指令給STM32 微控制器。

經(jīng)過(guò)上面兩點(diǎn)改進(jìn)后,分類(lèi)垃圾桶在實(shí)際應用中的誤判斷進(jìn)一步減小,有效提升了識別準確率。

4   實(shí)驗結果

4.1 系統設計

智能垃圾分類(lèi)垃圾桶系統設計包含硬件和軟件兩部分,在測試過(guò)程中,我們主要對軟件部分進(jìn)行了模型實(shí)驗。將YOLOV3模型實(shí)驗進(jìn)行結果對比,在VGG(Visual Geometry Group)16 實(shí)驗中用到了tensorflow、VGG16模型,并采用華為的垃圾識別數據集一共包括19 800張圖44 個(gè)類(lèi)別,先通過(guò)訓練得出權重再分析實(shí)驗結果對模型進(jìn)行了一些微調,之后開(kāi)始進(jìn)行測試實(shí)驗。在YOLOV3 模型中用的是torch、YOLOV3 模型,華為垃圾識別的數據集一共為19 800 張圖44 個(gè)類(lèi)別,先訓練凍結部分為了加快訓練,再使用解凍實(shí)驗加強識別率和先驗框,最后進(jìn)行測試實(shí)驗。硬件用到了STMF103、語(yǔ)音播放、舵機、藍牙模塊和攝像頭。

4.2 YOLOv3實(shí)驗

4.2.1 實(shí)驗前的準備工作

第一步 實(shí)驗前的準備

在訓練階段,本實(shí)驗基于Windows 操作系統, 硬件采用Intel Core i7-8750H 處理器、NVIDIA 2060ITX 獨立顯卡、16GB 顯存、16GB 內存,在Pycharm 軟件上運行程序,環(huán)境是torch1.8.1 版本和cuda1.1.1。

第二步 訓練過(guò)程

構建完模型后把train 和val 的數據集劃分為9 比1,epoch 一共為50,凍結和解凍的Batch_size 分別為8 和3,經(jīng)過(guò)8 小時(shí)的訓練。

第三步 測試

通過(guò)攝像頭輸入圖片到測試代碼中對物體進(jìn)行識別,得出結果后發(fā)出信號給硬件,硬件部分做出反應。

4.2.2 實(shí)驗結果

訓練出來(lái)的training loss 數值、val loss 數值與訓練輪數的關(guān)系如圖6 所示。

image.png

圖6 training loss數值、val loss數值與練輪數的關(guān)系

從圖7 中可以看出訓練集和驗證集的loss 值都在同時(shí)下降,在實(shí)驗中能夠很好地排除背景干擾。

1646116620878279.png

圖7 精確率和召回率的線(xiàn)性圖

5   結論

從YOLOv3 的實(shí)驗結果可以得出,在訓練輪數增加的同時(shí)模型沒(méi)有出現過(guò)擬合狀態(tài),并且精確率與召回率也在不斷增加,進(jìn)而證明了模型優(yōu)良。通過(guò)在實(shí)際應用上做出了具體改進(jìn),使得該垃圾識別系統更接近于應用到實(shí)際生活中。由于該系統的構造新穎,YOLOv3 模型的表現優(yōu)異,打破了人們對傳統垃圾桶的理解,使人們在生活中隨處可見(jiàn)的垃圾箱變得更加人性化。采用該系統設計的智能垃圾分類(lèi)垃圾桶更容易受大眾接首,通過(guò)將垃圾在源頭進(jìn)行分類(lèi)投放,并經(jīng)過(guò)分類(lèi)回收,使之重新變成資源,實(shí)現垃圾的二次甚至多次利用,符合國家號召的實(shí)現科學(xué)垃圾分類(lèi)的既定目標。

參考文獻:

[1]Wang Xuehao,Li Shuai,Chen Chenglizhao,etc.Depth Quality-awa「e Selective Saliency Fusion fo「 RGB-D Image Salient Object Detection[J].Neurocomputing, 2020,(4):72-74.

[2]孟丹.基于的圖像分類(lèi)方法研究[D].上海:華東師范大學(xué),2017.

[3]馮子勇.基于深度學(xué)習的圖像特征學(xué)習和分類(lèi)方法的研究及應用[D].廣州:華南理工大學(xué),2016.

[4]吳正文.卷積神經(jīng)網(wǎng)絡(luò )在圖像分類(lèi)中的應用研究[D].成都:電子科技大學(xué),2015.

(本文來(lái)源于《電子產(chǎn)品世界》雜志2022年2月期)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>