新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于Tensorflow的智能垃圾分類系統(tǒng)的研究與設(shè)計(jì)

基于Tensorflow的智能垃圾分類系統(tǒng)的研究與設(shè)計(jì)

作者:祝朝坤,魏倫勝 時(shí)間:2020-05-27 來(lái)源:電子產(chǎn)品世界 收藏

  祝朝坤,魏倫勝(鄭州工商學(xué)院,河南?鄭州?451400)

本文引用地址:http://2s4d.com/article/202005/413611.htm

  摘?要:本研究旨在開(kāi)發(fā)一種基于的深度學(xué)習(xí)應(yīng)用程序,該應(yīng)用程序通過(guò)圖像處理檢測(cè)垃圾中的垃圾類型。為了提供最有效的方法,本研究對(duì)眾所周知的深度卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)進(jìn)行了實(shí)驗(yàn)。經(jīng)測(cè)試的準(zhǔn)確率要優(yōu)于其他同類模型。本研究的模型是經(jīng)過(guò)精心優(yōu)化的深度卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),用于對(duì)選定的可回收對(duì)象類別進(jìn)行分類,其數(shù)據(jù)將通過(guò)硬件端進(jìn)行分析進(jìn)而控制整個(gè)系統(tǒng)。

  關(guān)鍵詞:;;;;

  0 引言

  使用傳統(tǒng)的工藝對(duì)垃圾進(jìn)行分類,需要增加人力和物力以及時(shí)間。在當(dāng)前人工智能越來(lái)越普及的大時(shí)代背景之下,利用圖像處理對(duì)垃圾進(jìn)行分類是一種非常有效的方法。本研究的主要目的是設(shè)計(jì)一種基于深度學(xué)習(xí)算法的全自動(dòng)系統(tǒng)來(lái)對(duì)常見(jiàn)垃圾進(jìn)行分類。深度學(xué)習(xí)的方法已經(jīng)成功應(yīng)用到了各個(gè)領(lǐng)域,例如自動(dòng)駕駛、醫(yī)學(xué)成像和多種工業(yè)環(huán)境,在對(duì)象檢測(cè)問(wèn)題上取得了顯著成果。

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

  由框圖可以知道本系統(tǒng)主要是由軟件和硬件的組合,其中算法處理部分在PC端進(jìn)行,將垃圾置于擋板上,由PC端進(jìn)行圖像處理分割以及數(shù)據(jù)集的訓(xùn)練和識(shí)別,繼而通過(guò)藍(lán)牙將數(shù)據(jù)發(fā)送到MCU核心端控制垃圾桶旋轉(zhuǎn),與此同時(shí),擋板打開(kāi),垃圾落入指定的格子內(nèi),從而完成垃圾自動(dòng)分類。舵機(jī)用于控制擋板的開(kāi)啟以及關(guān)閉,步進(jìn)電機(jī)控制垃圾桶精確角度的旋轉(zhuǎn),TTS串口語(yǔ)音播報(bào)模塊實(shí)時(shí)播報(bào)當(dāng)前的垃圾種類,進(jìn)而由OLED顯示出來(lái),以方便使用者查看信息。

微信截圖_20200608161539.jpg

  2 硬件設(shè)計(jì)

  硬件端以F1為核心,控制OLED模塊、藍(lán)牙模塊、TTS語(yǔ)音模塊以及步進(jìn)電機(jī),通過(guò)各種硬件實(shí)現(xiàn)了各種功能,硬件系統(tǒng)總體結(jié)構(gòu)如圖2。

1591604532463157.jpg

  3 算法設(shè)計(jì)

  本研究的核心是TensorFlow,其用于數(shù)據(jù)集模型的訓(xùn)練,從而提升圖像識(shí)別的準(zhǔn)確率以及實(shí)現(xiàn)精準(zhǔn)分類。

  3.1 數(shù)據(jù)集的訓(xùn)練

  本研究的重點(diǎn)是對(duì)可回收材料進(jìn)行分類,該研究目的是識(shí)別一些最常見(jiàn)的可回收材料,例如玻璃,紙張,紙板,塑料,金屬和垃圾。由于沒(méi)有公開(kāi)的垃圾數(shù)據(jù)集,故在該研究中需要手工收集自己的圖像數(shù)據(jù)集,由于每一類的規(guī)模較小,所以對(duì)每一幅垃圾圖像都進(jìn)行了圖像處理。包括圖像的隨機(jī)旋轉(zhuǎn)、圖像的隨機(jī)亮度控制、圖像的隨機(jī)平移、圖像的隨機(jī)縮放和圖像的隨機(jī)剪切,此外還執(zhí)行了均值減法和歸一化。數(shù)據(jù)集包含六類可回收對(duì)象,數(shù)據(jù)集的圖像具有白色背景,每張照片都會(huì)選擇不同的方向和曝光度。圖3顯示了來(lái)自數(shù)據(jù)集的部分樣本圖像。

1591604600730712.jpg

  3.2 CNN 卷積神經(jīng)網(wǎng)絡(luò)

  CNN旨在明確用于圖像分類,該算法首先從數(shù)據(jù)集中輸入圖像,它將輸入作為激活量,也將輸出作為激活量。因此,在CNN中,中間層不像普通的人工神經(jīng)網(wǎng)絡(luò)那樣是法向量,而是具有高度,寬度和深度的空間維度。該算法主要分為三層:卷積層、最大池化層和全連接層。

  卷積層:該層接收一些輸入量,在這種情況下,圖像將具有特定的高度,寬度和深度。它存在一些過(guò)濾器,它們基本上是由隨機(jī)數(shù)初始化的矩陣。濾鏡在空間上較小,但深度與輸入圖像的通道相同,對(duì)于RGB,濾鏡的深度為3,對(duì)于灰度,濾鏡的深度為1,依此類推,過(guò)濾器在輸入量上進(jìn)行卷積。它在圖像中進(jìn)行空間滑動(dòng),并在整個(gè)圖像中計(jì)算點(diǎn)積,過(guò)濾器最終為輸入圖像生成激活圖。點(diǎn)積的計(jì)算方式如下:

微信截圖_20200608161253.png

  其中 W = 濾波器、 x = 輸入圖像 b = 偏差,在每個(gè)卷積層的末端,CNN最終會(huì)獲取濾波器的激活圖。激活函數(shù)為ReLu:

微信截圖_20200608161258.png

  此激活函數(shù)最終會(huì)舍棄零以下的值,即將最小值閾值設(shè)為零。

  最大池化層:最大池化基本上只是激活映射的下采樣層,通常使用 2 2 × 過(guò)濾器和步長(zhǎng)為2的最大池化層,最終將輸入激活圖縮小為一半的空間圖。池化的另一種方法是平均池化,在這種方法中,子矩陣的最大值保留為下一層的平均值而不是最大值。

  完全連接層:完全連接層在最后將體積作為輸入,它像正常的神經(jīng)網(wǎng)絡(luò)一樣完全連接到整個(gè)輸入量,該層執(zhí)行最后一個(gè)矩陣乘法器以計(jì)算輸出。

  在傳統(tǒng)的多層神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元第一層與下一層中的所有神經(jīng)元相連;卷積層在上一層的輸出上建立本地連接,全連接層執(zhí)行矩陣乘法,卷積層使用卷積過(guò)程,如等式(1)所示的線性數(shù)學(xué)過(guò)程:

微信截圖_20200608161332.png

  當(dāng)?shù)仁?被用于連續(xù)域時(shí),可以得到等式2的情況:

微信截圖_20200608161356.png

  x [k] 在等式2中可以寫(xiě)成 x [k?j] , 同 樣 ,x [k?j]可以在等式中轉(zhuǎn)換為 x [k+j]。如等式3,它并不影響結(jié)果。

微信截圖_20200608161412.png

  在進(jìn)行卷積過(guò)程中,w是卷積層的濾波器,x是這一層的輸入, f ( . ) 是激活函數(shù)sigmoid,是將輸入向量與卷積層上神經(jīng)元的權(quán)重向量 ( w ) 執(zhí)行點(diǎn)積的一個(gè)數(shù)學(xué)過(guò)程。步幅 ( ζ ) 是一個(gè)參數(shù),可以定義為卷積過(guò)程中過(guò)濾器窗口輸入窗口上的偏移量,也可在等式4中被計(jì)算出來(lái):

微信截圖_20200608161437.png

  采用正整數(shù) ζ 參數(shù)的原因是在卷積過(guò)程中加入樣本稀疏函數(shù)來(lái)減小卷積過(guò)程中輸入的大小。

  該研究對(duì)CNN的多種模型進(jìn)行了實(shí)驗(yàn),最終發(fā)現(xiàn)inception-v4提供了更穩(wěn)定的訓(xùn)練和更高的準(zhǔn)確性。

  3.3 試驗(yàn)結(jié)果以及數(shù)據(jù)

  CNN算法工作在兩階段循環(huán)中,即正向傳播和反向傳播,在前向通過(guò)過(guò)程中,圖像將傳遞到上述每個(gè)層,并計(jì)算輸出。將預(yù)期輸出與實(shí)際輸出進(jìn)行比較,并計(jì)算誤差,在計(jì)算出誤差之后,該算法隨后調(diào)整權(quán)重。濾波器的權(quán)重的調(diào)整是反向傳播階段,此階段與優(yōu)化技術(shù)(例如梯度下降)結(jié)合使用,以盡可能降低誤差,隨后將數(shù)據(jù)集中的所有圖像調(diào)整為256x256,然后再作為輸入(input)輸入到網(wǎng)絡(luò)。

  損失是使用二進(jìn)制交叉輸入法計(jì)算的,優(yōu)化器使用的是RMSprop。CNN在GTX 750Ti上接受了大約3–3.5小時(shí)的訓(xùn)練。由于使用擴(kuò)展樣本進(jìn)行輸入,所以即使增加了數(shù)據(jù)集的大小,它們也具有高度相關(guān)性,但這可能導(dǎo)致數(shù)據(jù)過(guò)擬合,通過(guò)調(diào)節(jié)網(wǎng)絡(luò)的熵容量(模型中存儲(chǔ)的信息量)解決了過(guò)擬合問(wèn)題。本研究使用了非常小的CNN,幾乎沒(méi)有圖層,每層只有很少的過(guò)濾器,同時(shí)數(shù)據(jù)增加和丟失(loss)為0.5,從而有助于減少過(guò)度擬合的情況。而為了判斷模型是否過(guò)擬合,是否需要停止訓(xùn)練,則需要依靠驗(yàn)證集,即一邊訓(xùn)練一邊驗(yàn)證,從圖4的實(shí)驗(yàn)結(jié)果可知,訓(xùn)練值一直低于驗(yàn)證值,未處于過(guò)擬合狀態(tài),最終實(shí)驗(yàn)數(shù)據(jù)如表1。

  4 OpenCV圖像處理

  本研究中,OpenCV用于對(duì)圖像的采集以及預(yù)處理,此外,OpenCV也用于對(duì)輸出結(jié)果進(jìn)行處理。

  4.1 形態(tài)學(xué)處理以及圖像不變矩

  圖像處理包括將RGB圖像轉(zhuǎn)換為灰度圖像,然后將其二值化。此階段從圖像中刪除了不必要的特征。圖像由Microsoft Webcam VX-6000采集并轉(zhuǎn)換為灰度,獲得灰度圖像后,為了使灰度圖像僅具有兩種顏色(分別為0和255),應(yīng)用了二值化處理,圖5為相關(guān)算法流程圖。

微信截圖_20200608161629.jpg

  本研究用力矩描述圖像而不是使用其他更常用的圖像特征(例如寬度和高度),這意味著使用圖像的全局屬性而不是局部屬性。該方法對(duì)于選擇從目標(biāo)垃圾中提取的一組數(shù)字屬性很有用,以便于進(jìn)行分類。

  4.2 圖像分割

  處理步驟(分割)涉及將對(duì)象與背景和其他對(duì)象區(qū)分開(kāi),在此步驟中,使用了非常通用的圖像處理方法,即:

  a)邊界檢測(cè)(Canny算法)。

  b)閾值以與背景隔離并消除噪聲。

  c)高斯模糊以柔化細(xì)節(jié)并過(guò)濾噪聲。

  d)從彩色到黑白和二值圖像的轉(zhuǎn)換,使用飽和通道來(lái)幫助尋找邊界。

  e)二值圖像中的輪廓檢測(cè)以單獨(dú)分析對(duì)象。

  閾值化采用Otsu算法,使用一個(gè)閾值將像素劃分為兩個(gè)類,其定義為每個(gè)群集的方差的加權(quán)和:

微信截圖_20200608161454.png

  其中 n B 與 n o 是閾值以下和之上的像素?cái)?shù),而 δ B 與δ o 分別是它們的方差。 T 是選擇的閾值。該研究使用Ostu算法的意義是僅考慮邊界附近的像素,因此這樣應(yīng)用的閾值傾向于保持邊界上的分離,圖像分割實(shí)際效果如圖6。

微信截圖_20200608161637.jpg

  5 結(jié)論

  隨著處理大數(shù)據(jù)的深度網(wǎng)絡(luò)架構(gòu)的出現(xiàn),在不執(zhí)行其他任何功能的情況下,就準(zhǔn)確性,可擴(kuò)展性,適應(yīng)性而言,深度學(xué)習(xí)提供了同類最佳的性能。本文提出了使用深度學(xué)習(xí)實(shí)現(xiàn)全自動(dòng)垃圾分類的想法,而無(wú)需進(jìn)行人工操作。要實(shí)現(xiàn)它,系統(tǒng)將使用龐大的數(shù)據(jù)集,用于對(duì)象檢測(cè)的模式預(yù)測(cè)和訓(xùn)練算法。后期進(jìn)一步的工作包括實(shí)時(shí)優(yōu)化各種離散輸入的結(jié)果和預(yù)測(cè)精度。這種方法有助于降低污染水平,從長(zhǎng)遠(yuǎn)來(lái)看,其重點(diǎn)是發(fā)展通用垃圾分類框架,可以將輸入圖像的數(shù)據(jù)集更改為更多的特定場(chǎng)景,用于應(yīng)用程序的執(zhí)行。例如,該系統(tǒng)可用于對(duì)快餐店以及其他各個(gè)公共場(chǎng)合的垃圾進(jìn)行分類。

  參考文獻(xiàn):

  [1] Mohammadi M, Al-Fuqaha A, Sorour S, et al. Deeplearning for IoT big data and streaming analytics: Asurvey[J]. IEEE Communications Surveys & Tutorials, 2018,20(4): 2923-2960.

  [2] Chu Y, Huang C, Xie X, et al. Multilayer hybrid deep-learning method for waste classification and recycling[J].Computational Intelligence and Neuroscience, 2018, 2018.

  [3] Liu Y, Ge Z, Lv G, et al. Research on AutomaticGarbage Detection System Based on Deep Learning andNarrowband Internet of Things[C]//Journal of Physics:Conference Series. IOP Publishing, 2018, 1069(1): 012032.

  [4] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf,“DeepFace: closing the gap to human-level performancein face verification,” in Proceedings of Computer Visionand Pattern Recognition (CVPR), 2014 IEEE Conference,Columbus, OH, USA, 2014.

  [5] Chen G, Wang H, Zheng J. Application of ImageRecognition Technology in Garbage ClassificationEducation Platform[C]//2019 5th International Conferenceon Control, Automation and Robotics (ICCAR). IEEE, 2019:290-294.

  [6] Sudha S, Vidhyalakshmi M, Pavithra K, et al. Anautomatic classification method for environment: Friendlywaste segregation using deep learning[C]//2016 IEEETechnological Innovations in ICT for Agriculture and RuralDevelopment (TIAR). IEEE, 2016: 65-70.

  [7] Lee S H, Yeh C H, Hou T W, et al. A LightweightNeural Network Based on AlexNet-SSD Model forGarbage Detection[C]//Proceedings of the 2019 3rdHigh Performance Computing and Cluster TechnologiesConference. 2019: 274-278.

 ?。ㄗⅲ罕疚膩?lái)源于科技期刊《電子產(chǎn)品世界》2020年第06期第71頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉