基于深度學(xué)習(xí)的智能分類垃圾桶
《基于深度學(xué)習(xí)的智能分類垃圾桶》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于深度學(xué)習(xí)的智能分類垃圾桶(55頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 基于深度學(xué)習(xí)的智能分類垃圾桶 Intelligent classification trash can based on deep learning 中文摘要 隨著人類科技的進(jìn)步和生活質(zhì)量的提高,隨之而產(chǎn)生的生活垃圾也越來(lái)越多,因此如何有效的回收處理生活垃圾成為人們關(guān)注的焦點(diǎn)。調(diào)查研究發(fā)現(xiàn),在源頭處對(duì)垃圾進(jìn)行分類處理的方法是整個(gè)垃圾分類處理流
2、程中最高效的也是分類最徹底的。 而當(dāng)前的分類規(guī)則其一是難以做到各地全部統(tǒng)一,另一方面是垃圾分類種類繁多,難以區(qū)分,會(huì)對(duì)人的生活質(zhì)量造成一定影響。 目前市面上出現(xiàn)了種類繁多的“智能垃圾桶”,但基本都只是實(shí)現(xiàn)了自動(dòng)開合功能,不具備垃圾分類識(shí)別的能力。而當(dāng)前的人工智能技術(shù)正在飛速發(fā)展,深度學(xué)習(xí)領(lǐng)域的圖像識(shí)別方向有了長(zhǎng)足的發(fā)展,使得使用圖像識(shí)別技術(shù)對(duì)垃圾進(jìn)行分類成為可能。 選擇正確的圖像識(shí)別分類算法是本項(xiàng)目的重中之重。因此,本文對(duì)過(guò)往的圖像識(shí)別方面的突出貢獻(xiàn)的算法做介紹和總結(jié),把握其發(fā)展的脈絡(luò),從而說(shuō)明選擇MobileNetV2網(wǎng)絡(luò)的原因。 在本項(xiàng)目中,系統(tǒng)可分為垃圾識(shí)別模塊和垃圾分類投放模塊
3、,即識(shí)別模塊和控制模塊。在垃圾投入到垃圾桶中,由識(shí)別模塊對(duì)垃圾進(jìn)行識(shí)別分類,再把分類結(jié)果發(fā)送給控制模塊,由控制模塊將其投放到對(duì)應(yīng)的垃圾桶中。經(jīng)過(guò)實(shí)際測(cè)試,垃圾的類別判斷正確率能在可接受范圍內(nèi),而識(shí)別分類速度則在經(jīng)過(guò)分類結(jié)果濾波后,平均成功識(shí)別一次垃圾的平均時(shí)間為4秒。這證明該項(xiàng)目在智能垃圾分類領(lǐng)域還是很有發(fā)展前景的。 關(guān)鍵詞:垃圾分類,卷積神經(jīng)網(wǎng),MobileNetV Abstract With the advancement of human science and technology and the improvement of quality of life, mor
4、e and more domestic waste is generated. Therefore, how to effectively recycle and treat domestic waste has become the focus of peoples attention. The investigation and study found that the method of sorting waste at the source is the most efficient and the most thorough in the entire waste sorting p
5、rocess. One of the current classification rules is that it is difficult to unify all regions, on the other hand, there are many types of garbage classification, which are difficult to distinguish, which will have a certain impact on peoples quality of life. At present, there are a variety of "smar
6、t trash cans" on the market, but basically only the automatic opening and closing function is realized, and the ability to sort and identify trash is not available. The current artificial intelligence technology is developing rapidly, and the direction of image recognition in the field of deep learn
7、ing has made great progress, making it possible to use image recognition technology to classify garbage. Choosing the correct image recognition classification algorithm is the top priority of this project. Therefore, this article introduces and summarizes the algorithms that have made outstanding c
8、ontributions in the past in image recognition, grasping the development context, and thus explaining the reasons for choosing the MobileNetV2 network. In this project, the system can be divided into a garbage recognition module and a garbage classification delivery module, namely a recognition modu
9、le and a control module. After the garbage is put into the garbage bin, the recognition module classifies the garbage, and then sends the classification result to the control module, and the control module puts it into the corresponding garbage bin. After actual testing, the classification accuracy
10、rate of garbage can reach 90%, and the recognition and classification speed is after filtering the classification results, and the average time for successfully identifying a garbage is 4 seconds. This proves that the project is still very promising in the field of intelligent waste classification.
11、 Key words: Garbage Classification; Convolutional Neural Network; MoblieNetV2 目錄 中文摘要 I Abstract II 目錄 IV 圖目錄 VII 表目錄 VIII 第一章 緒論 1 1.1 課題研究背景與意義 1 1.1.1 研究背景 1 1.1.2 意義 2 1.2 國(guó)內(nèi)外垃圾分類及研究現(xiàn)狀 3 1.2.1 國(guó)外現(xiàn)狀 3 1.2.2 國(guó)內(nèi)現(xiàn)狀 3 1.3 本文研究?jī)?nèi)容 3 第二章 智能分類垃圾桶總體設(shè)計(jì) 5 2.1 概述 5 2.2 系統(tǒng)分析及設(shè)計(jì)思路 5 2.3 系統(tǒng)框架
12、5 2.4 系統(tǒng)總體運(yùn)行流程 6 2.4.1 主處理器及主控制器處理流程 6 2.5 本章小結(jié) 7 第三章 智能垃圾分類圖像處理原理 8 3.1 卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像的基本操作 8 3.1.1 卷積操作 8 3.1.2 池化操作 9 3.2 LeNet網(wǎng)絡(luò) 10 3.2.1 綜述 10 3.2.2 特點(diǎn) 12 3.3 AlexNet網(wǎng)絡(luò) 13 3.3.1 概述 13 3.3.2 特點(diǎn) 13 3.4 VGGNet網(wǎng)絡(luò) 14 3.4.1 特點(diǎn) 15 3.5 GoogleNet網(wǎng)絡(luò)及Inception架構(gòu) 16 3.5.1 背景介紹 16 3.5.2 Incepti
13、onV1 16 3.5.3 InceptionV2 18 3.5.4 InceptionV3 20 3.6 ResNet網(wǎng)絡(luò) 21 3.6.1 綜述 21 3.6.2 殘差結(jié)構(gòu) 22 3.7 MobileNet 23 3.7.1 背景介紹 23 3.7.2 MobileNetV1 24 3.7.3 MobileNetV2 24 3.8 本章小結(jié) 27 第四章 智能垃圾桶控制系統(tǒng)硬件設(shè)計(jì) 28 4.1 智能垃圾桶整體結(jié)構(gòu)分布 28 4.2 STM32硬件系統(tǒng)框架 28 4.3 STM32微處理器 29 4.4 步進(jìn)電機(jī)與步進(jìn)電機(jī)驅(qū)動(dòng)器 29 4.4.1 步進(jìn)電機(jī)
14、29 4.4.2 步進(jìn)電機(jī)驅(qū)動(dòng)器 29 4.5 Jetson Nano 30 4.6 本章小結(jié) 31 第五章 系統(tǒng)實(shí)現(xiàn)及測(cè)試 32 5.1 識(shí)別算法選取與訓(xùn)練 32 5.1.1 MobileNetV2 32 5.1.2 TensorFlow框架 32 5.1.3 訓(xùn)練MobileNetV2網(wǎng)絡(luò) 33 5.2 串口通信測(cè)試 35 5.2.1 通信格式 35 5.2.2 通信測(cè)試 36 5.3 實(shí)際垃圾分類測(cè)試 37 5.4 本章小結(jié) 38 第六章 總結(jié)與展望 1 參考文獻(xiàn) 2 致謝 4 圖目錄 圖 1.1 2014-2019年中國(guó)大、中城市生活垃圾產(chǎn)生量
15、1 圖 2.1 系統(tǒng)總體框架 5 圖 2.2 左A為主控制器處理流程 右B為主處理器處理流程 6 圖 2.3 系統(tǒng)總體運(yùn)行流程 6 圖 3.1 卷積在圖象中的計(jì)算圖示 9 圖 3.2 左為平均池化 右為最大池化 10 圖 3.3 LeNet-5神經(jīng)網(wǎng)絡(luò)模型 10 圖 3.4 全連接層(從左到右分別為輸入層、隱藏層、輸出層) 11 圖 3.5 激活函數(shù) 11 圖 3.6 Sigmoid函數(shù)(S型函數(shù)) 12 圖 3.7 AlexNet網(wǎng)絡(luò) 13 圖 3.8 ReLU函數(shù)圖像 13 圖 3.9 Dropout方法 14 圖 3.10 左圖為早期版本 右圖為改進(jìn)版本 16
16、 圖 3.11 通過(guò)不同的卷積核以及池化層實(shí)現(xiàn)的聚類 17 圖 3.12 55卷積被替換方式 17 圖 3.13 完善后的InceptionV1結(jié)構(gòu) 18 圖 3.14 兩個(gè)連續(xù)33卷積核替代55卷積核 19 圖 3.15 InceptionV2結(jié)構(gòu) 19 圖 3.16 BN方法計(jì)算公式 20 圖 3.17 BN方法計(jì)算示例 20 圖 3.18 使用31和13的非對(duì)稱卷積替代33卷積 21 圖 3.19 InceptionV3結(jié)構(gòu) 21 圖 3.20 常規(guī)深度網(wǎng)絡(luò)過(guò)深會(huì)導(dǎo)致深層網(wǎng)絡(luò)訓(xùn)練效果反而不如淺層網(wǎng)絡(luò) 22 圖 3.21 殘差塊(Residual Black) 22
17、 圖 3.22 Shortcut Connections示例 22 圖 3.23 圖左為Option A 圖右為Option B 23 圖 3.24 深度卷積與逐點(diǎn)卷積 24 圖 3.25 兩種倒殘差結(jié)構(gòu) 25 圖 3.26 ReLU6函數(shù)圖像 25 圖 3.27 不同維度下使用ReLU激活函數(shù)后再還原的圖像 25 圖 3.28 MobileNetV2結(jié)構(gòu) 26 圖 4.1 垃圾桶整體結(jié)構(gòu) 28 圖 4.2 STM32主控模塊 28 圖 4.3 電機(jī)驅(qū)動(dòng)器連接圖 30 圖 4.4 Jetson Nano B01底板 30 圖 4.5 神經(jīng)計(jì)算性能對(duì)比 31 圖 5.1
18、 訓(xùn)練、驗(yàn)證、測(cè)試集 33 圖 5.2 用來(lái)訓(xùn)練網(wǎng)絡(luò)的數(shù)據(jù)集 33 圖 5.3 訓(xùn)練集準(zhǔn)確率 33 圖 5.4 驗(yàn)證集準(zhǔn)確率 34 圖 5.5 訓(xùn)練集損失函數(shù) 34 圖 5.6 驗(yàn)證集損失函數(shù) 34 圖 5.7 實(shí)際測(cè)試材料 37 圖 5.8 實(shí)際測(cè)試材料的識(shí)別效果概率分布 37 表目錄 表 1.1 2014-2019年信息發(fā)布城市數(shù)量 1 表 3.1 VGG網(wǎng)絡(luò)層數(shù)配置 15 表 3.2 VGGNet各個(gè)深度下的單張圖片的準(zhǔn)確率 15 表 3.3 ResNet網(wǎng)絡(luò)層數(shù)配置 23 表 3.4 MobileNetV2網(wǎng)絡(luò)層數(shù)配置 26 表 3.5 Mobile
19、NetV2網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上性能和參數(shù)對(duì)比 27 表 3.6 MobileNetV2網(wǎng)絡(luò)在COCO數(shù)據(jù)集上性能和參數(shù)對(duì)比 27 表 4.1 步進(jìn)電機(jī)參數(shù)表 29 表 4.2 樹莓派4與Jetson Nano參數(shù)對(duì)比表 31 表 5.1 各個(gè)神經(jīng)計(jì)算模型性能對(duì)比表 32 表 5.2 測(cè)試集圖片識(shí)別成功率 35 表 5.3 串口通信格式表 35 表 5.4 主控制器串口測(cè)試表 36 表 5.5 主處理器串口測(cè)試表 36 X 廣東東軟學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 第一章 緒論 1.1 課題研究背景與意義 1.1.1 研究背景 人類科技進(jìn)步和城市化
20、極大的了改善人們的生活質(zhì)量,生活垃圾產(chǎn)量也隨之水漲船高,“垃圾圍城”這一景象也在各大城市中不斷上演。 據(jù)《2019年全國(guó)大、中城市固體廢物污染環(huán)境防治年報(bào)》[1]顯示,2019年,全國(guó)202個(gè)大、中城市的生活垃圾產(chǎn)生量為21147.3萬(wàn)噸。 圖 一.1 2014-2019年中國(guó)大、中城市生活垃圾產(chǎn)生量 表 一.1 2014-2019年信息發(fā)布城市數(shù)量 從上面數(shù)據(jù)可以看到,生活垃圾以每年一千萬(wàn)噸的量在增長(zhǎng),這是一個(gè)驚人數(shù)據(jù)。而在國(guó)外,梅波克洛夫指出:,美利堅(jiān)合眾國(guó)一年生成的城市固體廢棄物高達(dá)2.39億噸。這些垃圾,大多都是混合回收,在垃圾回收中心進(jìn)行簡(jiǎn)單回收后,再填埋到指定地區(qū)。
21、這種粗暴的垃圾處理方式,不僅占用珍貴的土地資源去填埋垃圾,又浪費(fèi)了一些可回收的資源。 在2019年極具討論性的上海垃圾分類話題中,上海市實(shí)行了史上最嚴(yán)垃圾分類管理規(guī)定。根據(jù)官方發(fā)布數(shù)據(jù),截止至當(dāng)年8月底,上海實(shí)現(xiàn)每天4500噸的可回收物回收,比去年年底多了5倍[19]之多。由此可見,在源頭對(duì)垃圾進(jìn)行分類是垃圾分類與回收中極重要的一環(huán)。但是在上海實(shí)行的垃圾分類規(guī)定的管理中,可以看到很多都是通過(guò)人工去分類、監(jiān)管的,這種方式給人們的日常生活還是造成一定的困擾,例如只能定時(shí)扔垃圾、垃圾分類過(guò)于復(fù)雜等問(wèn)題。而且,人們雖然認(rèn)識(shí)到垃圾分類的作用,也覺得應(yīng)該進(jìn)行,但是對(duì)垃圾分類方法卻不是太了解[3],因此需
22、要一種輔助手段去幫助他們。 另一方面,隨著計(jì)算機(jī)技術(shù)的快速變革,深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的重要分支日益得到普及。如今世界處處都存在它的蹤跡,如股票行情預(yù)測(cè)、人臉識(shí)別及智能機(jī)器人等。可以說(shuō),它在智能制造行業(yè)里面有著非常光明的前景,而其中的圖像分類與檢測(cè)領(lǐng)域更是出類拔萃。 1.1.2 意義 正如日本水泥大王淺野總一郎所說(shuō)的“在這個(gè)世界上沒(méi)有一件無(wú)用的東西,任何東西都是可以利用的”。如一般做填埋處理的濕垃圾可以通過(guò)厭氧發(fā)酵處理工藝[2]等技術(shù)實(shí)現(xiàn)生物發(fā)電,提高了對(duì)資源的利用率。從源頭上采取人工分揀的辦法,對(duì)垃圾進(jìn)行分類回收,使其各盡其用;垃圾越早分揀,成分越簡(jiǎn)單,也就越容易分揀[20]。傳統(tǒng)的人工
23、分揀方法,既對(duì)人健康不利,效率也不夠高。 因此,本文所設(shè)計(jì)的基于深度學(xué)習(xí)的智能分類垃圾桶,通過(guò)深度學(xué)習(xí)算法去分類垃圾類別,并且能根據(jù)不同地區(qū)的要求進(jìn)行不同種類劃分,從而在源頭處自動(dòng)對(duì)垃圾進(jìn)行分類和處理。 其優(yōu)點(diǎn)在于:通過(guò)技術(shù)手段,既客觀上減輕了人們?cè)诶诸惿厦娴呢?fù)擔(dān),也讓主觀上缺乏分類垃圾意識(shí)的民眾也一起參與進(jìn)來(lái),這也符合當(dāng)前的利用人工智能建設(shè)智能城市的市場(chǎng)發(fā)展趨勢(shì)。既能促進(jìn)環(huán)保發(fā)展,又能減輕人們的日常生活負(fù)擔(dān),使未來(lái)更美好。 1.2 國(guó)內(nèi)外垃圾分類及研究現(xiàn)狀 1.2.1 國(guó)外現(xiàn)狀 .(1) 日本 日本對(duì)生活垃圾分類的處置采取精細(xì)化的態(tài)度,所以垃圾分類領(lǐng)域中名列各國(guó)第
24、一。其分類最主要就是在源頭處進(jìn)行精細(xì)分類,共有15大類之多,并且對(duì)每一種垃圾都附有詳細(xì)的處理要求。如廢舊報(bào)紙要求要捆綁得整齊,而廢電器的電線則要求綁在它自身上[4]。但是這種方式,是日本從90年代就開始動(dòng)員形成的,而且伴隨著高額的罰款。它的發(fā)展不是一蹴而就,而是經(jīng)歷了多個(gè)階段才最終形成現(xiàn)在的機(jī)制。 .(2) 美國(guó) 美國(guó)既是一個(gè)經(jīng)濟(jì)強(qiáng)國(guó),也是一個(gè)垃圾產(chǎn)生大國(guó)。它本身有一套垃圾分類標(biāo)準(zhǔn),而且還將垃圾處理形成了產(chǎn)業(yè)。在2018年,美國(guó)的清潔科技領(lǐng)域獲得超過(guò)40億美元的投資,其投資率相比17年增長(zhǎng)了54%。美國(guó)垃圾分類機(jī)器人初創(chuàng)公司Clean Robotics更是在15年便將一部分智能分類垃圾桶投
25、入到了市場(chǎng)。但是其本身高昂的價(jià)格與分類效率低下使得其沒(méi)有鋪開來(lái)。而也有些公司采用終端處理方式,使用智能分類算法、機(jī)械臂和流水線結(jié)合的方式形式分類。 1.2.2 國(guó)內(nèi)現(xiàn)狀 國(guó)內(nèi)在垃圾分類處理方面雖然立法和建立試點(diǎn)城市的方法實(shí)施已久,但是由于宣傳和成本等問(wèn)題,在國(guó)內(nèi)沒(méi)有形成普遍的垃圾分類意識(shí)。同時(shí),政府方面在政策上也沒(méi)有足夠支持,很多地方的分類垃圾桶,在進(jìn)行垃圾回收時(shí),采用的是混合回收,哪怕是在源頭進(jìn)行分好,最終依然是混在一起。當(dāng)然,這也與民眾平時(shí)也不按垃圾分類標(biāo)準(zhǔn)進(jìn)行投放有關(guān)。2019年的上海最嚴(yán)垃圾分類規(guī)定的執(zhí)行,一方面看到了垃圾分類的必要性,另一方面也對(duì)民眾生活造成了一定困擾,甚至一度在
26、微博等社交網(wǎng)絡(luò)平臺(tái)形成了討論熱潮。 在目前的做法中,國(guó)內(nèi)依然采用分類垃圾桶的方式,通過(guò)人工分類,手工投放的方式進(jìn)行投放。當(dāng)然,為了輔助人工分類,如阿里巴巴集團(tuán)等公司也上線了手機(jī)app分類小程序?qū)M(jìn)行分類,還有是基于NB-IOT技術(shù)在本地拍照上傳到遠(yuǎn)程服務(wù)器上進(jìn)行識(shí)別,再返回分類結(jié)果后對(duì)垃圾進(jìn)行分類投放到對(duì)應(yīng)垃圾桶的方式[5]。 1.3 本文研究?jī)?nèi)容 本文主要是基于深度學(xué)習(xí)的智能分類垃圾桶研究與設(shè)計(jì),通過(guò)基于深度學(xué)習(xí)的移動(dòng)終端的輕量級(jí)卷積神經(jīng)系統(tǒng),針對(duì)移動(dòng)終端或嵌入式設(shè)備,使用深度學(xué)習(xí)的圖像分類技術(shù)對(duì)垃圾桶內(nèi)的垃圾進(jìn)行檢測(cè)分類,然后通過(guò)電機(jī)結(jié)構(gòu)將其投放到對(duì)應(yīng)的桶體中。 本文各章節(jié)安排
27、如下: 第一章:緒論。講訴垃圾分類研究的背景和意義,接著介紹國(guó)內(nèi)外在垃圾分類處理這方面的主要方法和現(xiàn)狀。 第二章:智能分類垃圾桶的總體設(shè)計(jì)。主要是通過(guò)分析需求從而確定系統(tǒng)的整體流程,然后分別表述了系統(tǒng)各個(gè)模塊和總體的運(yùn)行流程。 第三章:介紹了卷積神經(jīng)網(wǎng)絡(luò)的一些基本術(shù)語(yǔ)和操作,同時(shí)介紹這一領(lǐng)域算法的逐步發(fā)展,由此引出本身使用MobileNetV2模型的原因。 第四章:智能垃圾桶控制系統(tǒng)硬件設(shè)計(jì)。主要是描述了垃圾桶的機(jī)械結(jié)構(gòu)和硬件電路以及電機(jī)等內(nèi)容。 第五章:系統(tǒng)實(shí)現(xiàn)及測(cè)試。介紹了模型的訓(xùn)練過(guò)程和模塊之間的通信編碼以及通信測(cè)試等。最后對(duì)整個(gè)智能分類垃圾桶進(jìn)行總體測(cè)試,證明分類的準(zhǔn)確性。
28、 第二章 智能分類垃圾桶總體設(shè)計(jì) 2.1 概述 本項(xiàng)目中所設(shè)計(jì)的智能分類垃圾桶是基于深度學(xué)習(xí)實(shí)現(xiàn)的智能分類。通過(guò)安裝在垃圾桶中的USB攝像頭采集圖像傳送到作為處理中心的Jetson Nano上,然后Jetson Nano對(duì)圖像信息進(jìn)行分類處理,再將處理后的結(jié)果通過(guò)串口傳輸?shù)絊TM32中,由STM32根據(jù)分類結(jié)果將垃圾投放到對(duì)應(yīng)的桶體中。 2.2 系統(tǒng)分析及設(shè)計(jì)思路 主要是考慮到垃圾桶對(duì)垃圾分類并將其投放到相應(yīng)的垃圾桶中是一個(gè)實(shí)時(shí)性要求很高的任務(wù),而由終端拍攝照片或者傳輸視頻流的方式將采集樣本發(fā)送到云端,
29、再由云端處理完返回結(jié)果給終端再進(jìn)行處理,這種方式耗時(shí)太長(zhǎng)。而且在網(wǎng)絡(luò)波動(dòng)較大的地方,更是難以使用。 本項(xiàng)目采用的是本地進(jìn)行處理的方式。由于有Google公司提出的MobileNetV2算法跟NVIDIA公司開發(fā)的Jetson Nano平臺(tái),使得在本地進(jìn)行高效的圖像檢測(cè)分類成為了可能。這種方法避免了因?yàn)榫W(wǎng)絡(luò)波動(dòng)而造成的識(shí)別時(shí)間過(guò)久甚至是無(wú)法識(shí)別的問(wèn)題。 本項(xiàng)目中,采用的是模塊化設(shè)計(jì)的思路,分為識(shí)別分類模塊和控制模塊。這樣分類主要原因是Jetson Nano平臺(tái)是帶操作系統(tǒng)的,雖然本身有PWM輸出,但是其精準(zhǔn)度依舊比不上MCU。因此在控制部分中采用STM32F103作為主控芯片,在接收到Jet
30、son Nano的分類信號(hào)后,控制步進(jìn)電機(jī)去投放垃圾到對(duì)應(yīng)的垃圾桶。Jetson Nano和STM32之間由于距離近,所以直接采用串口通信方式進(jìn)行,避免了無(wú)線信號(hào)會(huì)出現(xiàn)的干擾問(wèn)題。 2.3 系統(tǒng)框架 圖 二.1 系統(tǒng)總體框架 2.4 系統(tǒng)總體運(yùn)行流程 2.4.1 主處理器及主控制器處理流程 圖 二.2 左A為主控制器處理流程 右B為主處理器處理流程 圖 二.3 系統(tǒng)總體運(yùn)行流程 2.5 本章小結(jié) 本章主要分析了本項(xiàng)目的項(xiàng)目需求,然后根據(jù)項(xiàng)目需求去制定項(xiàng)目的運(yùn)作流程。通過(guò)運(yùn)作流程將系統(tǒng)分為控制模塊和處理模塊兩大模塊,通過(guò)分開模塊化操作,實(shí)現(xiàn)系統(tǒng)的穩(wěn)定運(yùn)行。同時(shí)也介紹了
31、系統(tǒng)各個(gè)模塊和總體的運(yùn)行流程。 第三章 智能垃圾分類圖像處理原理 3.1 卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像的基本操作 3.1.1 卷積操作 其實(shí)質(zhì)是圖像矩陣和權(quán)值矩陣的點(diǎn)乘 卷積運(yùn)算公式為 yn=xn?hn=?=0Nxi?n?? (三.1) 卷積計(jì)算的相關(guān)術(shù)語(yǔ): .(1) Filter 過(guò)濾器,也稱卷積核,它的本質(zhì)是卷積神經(jīng)網(wǎng)絡(luò)中的權(quán)值矩陣,通過(guò)在“二維平面”中運(yùn)動(dòng),將卷積核包裹住的部分元素實(shí)行矩陣乘法,接著將計(jì)算得到的結(jié)果求和得到單個(gè)輸出像素值,從而實(shí)現(xiàn)對(duì)圖像
32、進(jìn)行特征提取。 .(2) Stride 步長(zhǎng),一般小于卷積核的尺寸,主要用來(lái)驅(qū)動(dòng)卷積核在圖像進(jìn)行上滑動(dòng)的長(zhǎng)度。如果步長(zhǎng)等于1,則向右滑動(dòng)一格,步長(zhǎng)為k,滑動(dòng)k格,具體如圖 3.1 卷積在圖象中的計(jì)算圖示所示。 .(3) Padding 填充,就是使用額外的自定義像素(通常值為0,因此也稱零填充)填充圖像的邊緣。在不使用填充的情況下,卷積核很難采集到位于邊緣的像素的特征,邊緣的特征很容易就被忽略掉。而填充通過(guò)在邊緣外增加一圈假像素,使得卷積核的可以讓邊緣區(qū)域的像素處于卷積核的中心位置。這樣不僅能在卷積操作結(jié)束之后提取到邊緣像素的特征,也能產(chǎn)生與輸入矩陣尺寸相同的輸出矩陣。 .(4) F
33、eature Map 特征圖,卷積計(jì)算之后產(chǎn)生的圖像 .(5) 卷積后圖像尺寸 hin為輸入矩陣的高度,win為輸入矩陣的寬度,hout為輸出矩陣的高度,wout為輸出矩陣的寬度,F為卷積核的尺寸,P為填充值,S為步長(zhǎng) ?out=?in?F+PS+1 wout=win?F+PS+1 (三.2) .(6) 圖像中的卷積計(jì)算步驟 可分為以下三步: 求點(diǎn)積:將55的輸入矩陣中3x3深藍(lán)色區(qū)域中每個(gè)元素分別與其對(duì)應(yīng)的權(quán)值矩陣相乘,然后再相加,得到輸出矩陣的第一個(gè)元素 滑動(dòng)窗口:若步長(zhǎng)為1,則將33權(quán)值矩陣向右移動(dòng)一個(gè)格 重復(fù)操作:重復(fù)執(zhí)行“求點(diǎn)積-滑動(dòng)窗口”操
34、作,直到輸出矩陣被填滿 圖 三.1 卷積在圖象中的計(jì)算圖示 y1,1=42+12 + 0 0 + 1 1 + 2 0 + 1 1 + 2 1 + 0 2 + 1 1 = 14 (三.3) y1,2=11+02 + 1 0 + 2 1 + 1 0 + 1 1 + 0 1 + 1 2 + 2 0 = 6 (三.4) y1,3=01+12 + 3 0 + 1 1 + 1 0 + 2 1 + 1 1 + 2 2 + 5 0 = 10 (三.5) 3.1.2 池化操作 在卷積層之后通常緊挨著一個(gè)降采樣層,通過(guò)減少矩陣的高度和
35、寬度,從而減少計(jì)算參數(shù),加快網(wǎng)絡(luò)運(yùn)行的速度,這一操作就是池化操作。而降采樣就是降低特定信號(hào)的采樣率的過(guò)程。 池化包括均值池化和最大池化兩種: .(1) 均值池化 對(duì)池化區(qū)域內(nèi)的像素點(diǎn)取均值,這種方法得到的特征數(shù)據(jù)對(duì)背景信息更敏感。 .(2) 最大池化 對(duì)池化區(qū)域內(nèi)所有像素點(diǎn)取最大值,這種方法得到的特征數(shù)據(jù)對(duì)紋理特征信息更敏感,示例如圖 3.2所示 圖 三.2 左為平均池化 右為最大池化 3.2 LeNet網(wǎng)絡(luò) 3.2.1 綜述 Yann LeCun提出的第一個(gè)訓(xùn)練成功的CNN模型:LeNet-5。該模型包含有輸入層、卷積層、池化層、全連接層和Softmax層。 圖
36、 三.3 LeNet-5神經(jīng)網(wǎng)絡(luò)模型 .(1) 輸入層 輸入層是整個(gè)神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)。在LeNe網(wǎng)絡(luò)使用灰度圖來(lái)訓(xùn)練和識(shí)別,所以其輸入為[32, 32, 1],其中3232是圖像的尺寸,而1代表的是圖像的通道數(shù)。 .(2) 卷積層 在本層使用卷積操作對(duì)輸入的圖像矩陣進(jìn)行處理,以此來(lái)提取圖像特征。卷積操作增強(qiáng)特定的輸入特征,并且降低原始圖像的噪音。 .(3) 降采樣/池化層 本層采用的是平均池化,通過(guò)利用圖像的局部相關(guān)性原理,對(duì)圖像進(jìn)行子抽樣。這種方法在保留有用信息的前提下,不僅能有效的降低神經(jīng)網(wǎng)絡(luò)的計(jì)算量,還能減少過(guò)擬合。 .(4) 全連接層 全連接層的本質(zhì)為矩陣向量乘積計(jì)算
37、,該計(jì)算使用特征空間變換方法對(duì)輸入的特征圖進(jìn)行處理,從而集成有用的信息。它的每一層的每個(gè)神經(jīng)元都和上一層所有神經(jīng)元相連接。該層結(jié)構(gòu)如圖 3.4所示,其函數(shù)表達(dá)為 ai= wx1ix1+ wx2ix2+…+ wxnixn+bi (三.6) yi= wa1ia1+ wa2ia2+…+ wanian+bai (三.7) 圖 三.4 全連接層(從左到右分別為輸入層、隱藏層、輸出層) .(5) 激活函數(shù) 在神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)作為一種特殊的映射法則,將特定的輸入映射到對(duì)應(yīng)的輸出上。如圖 3.5所示,通過(guò)對(duì)上一層所有的節(jié)點(diǎn)的輸出值求加權(quán)和,然后生成一個(gè)非線性的輸出值,并將
38、其傳遞給下一層節(jié)點(diǎn)作為輸入值。LeNet中采用的激活函數(shù)是Sigmoid函數(shù),也稱S型函數(shù)它本身可導(dǎo)且導(dǎo)數(shù)非零,容易計(jì)算。 圖 三.5 激活函數(shù) Sigmiod函數(shù)定義 y=11+e?(z) (三.8) 圖 三.6 Sigmoid函數(shù)(S型函數(shù)) .(6) 損失函數(shù) 損失函數(shù)是用來(lái)估算預(yù)測(cè)值與真實(shí)值之間的不一致程度,它是一個(gè)非負(fù)實(shí)值函數(shù)。損失函數(shù)越小,模型的魯棒性就越好。而在目前的卷積神經(jīng)網(wǎng)絡(luò)中,通常是使用交叉熵作為損失函數(shù)。 Hp, q= ?xpxlogqx=p=0,q→0Hp,q→0其他 Hp,q>0p=1,q→1Hp,q→
39、0 (三.9) 交叉熵描述的是兩個(gè)概率分布之間的距離,p代表樣本的標(biāo)簽值,而q代表預(yù)測(cè)值。通過(guò)交叉熵方法計(jì)算出來(lái)的值越小,即兩個(gè)概率分布的值越趨近,則預(yù)測(cè)越準(zhǔn)確。交叉熵?fù)p失函數(shù)定義如下所示,其中yi為標(biāo)簽值,而yi’為預(yù)測(cè)值 Loss= ?i=1nyi logyi (三.10) 3.2.2 特點(diǎn) LeNet模型首次使用了卷積方法去提取圖像的空間特征,還使用了平均池化方式的池化層來(lái)降采樣,而在降采樣層后面使用了S型激活函數(shù)。 3.3 AlexNet網(wǎng)絡(luò) 3.3.1 概述 AlexNet網(wǎng)絡(luò)是ILSVRC-2012挑戰(zhàn)賽的冠軍,也是首個(gè)在大規(guī)模圖像問(wèn)題中取得突
40、破性進(jìn)展的深度神經(jīng)網(wǎng)絡(luò)[9]。下圖為AlexNet網(wǎng)絡(luò)結(jié)構(gòu) 圖 三.7 AlexNet網(wǎng)絡(luò) 卷積神經(jīng)網(wǎng)絡(luò)的一大特點(diǎn)是模塊化的設(shè)計(jì)思維,通過(guò)卷積層-激活函數(shù)-池化層-標(biāo)準(zhǔn)化的有機(jī)組合方式,可以形成多種類型的模塊設(shè)計(jì)。如圖 三.7中的其中一種模塊設(shè)計(jì)就是:卷積層-激活函數(shù)(ReLU)-最大池化層。 3.3.2 特點(diǎn) .(1) 使用ReLU函數(shù)作為激活函數(shù) ReLU函數(shù)定義 fx=max?(0,x) (三.11) 圖 三.8 ReLU函數(shù)圖像 ReLU函數(shù)有效規(guī)避了S型函數(shù)在神經(jīng)網(wǎng)絡(luò)層次加深的時(shí)候出現(xiàn)的梯度彌散問(wèn)題。由于采用梯度下降法去訓(xùn)練AlexNet網(wǎng)絡(luò),因此飽
41、和非線性激活函數(shù)的學(xué)習(xí)速度要慢于不飽和非線性激活函數(shù)。 .(2) Dropout方法 在全連接層中,使之任意忽略掉一部分神經(jīng)元,從而在一定程度上遏制了過(guò)擬合的出現(xiàn)。 圖 三.9 Dropout方法 .(3) 重疊的最大池化操作 盡管常規(guī)的池化操作不會(huì)重疊,然而Alex-Net使用到了以下方法,其中卷積核尺寸大于移動(dòng)的步長(zhǎng),從而達(dá)到了池化層重疊操作。如圖 三.2所示的就是池化層重疊。采用最大池化方法是為了除去平均池化帶來(lái)的模糊化結(jié)果,這也是一種避免過(guò)擬合的手段。 .(4) 使用GPU和CUDA加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 .(5) 數(shù)據(jù)增強(qiáng) 該技術(shù)主要是對(duì)圖像進(jìn)行剪裁、翻轉(zhuǎn)、鏡像、放縮
42、等操作,在數(shù)據(jù)量較小的情況下增加數(shù)據(jù)量,從而減少過(guò)擬合 3.4 VGGNet網(wǎng)絡(luò) 從文章名[10]就可以看出來(lái),VGGNet主要是嘗試了更深的結(jié)構(gòu)。VGGNet有深度為16的VGG-16和深度為19的VGG-19。前者計(jì)算量相對(duì)較少的情況下獲得的準(zhǔn)確率比較高,而后者計(jì)算量龐大,但是準(zhǔn)確率最高。VGG-16的參數(shù)個(gè)數(shù)高達(dá)1.36億,而VGG-19更是達(dá)到了1.44億。 表 三.1 VGG網(wǎng)絡(luò)層數(shù)配置 表 三.2 VGGNet各個(gè)深度下的單張圖片的準(zhǔn)確率 3.4.1 特點(diǎn) .(1) VGGNet網(wǎng)絡(luò)取消了LRN層 主要原因是如表 三.2所示,經(jīng)過(guò)作者在ILSV
43、RC dataset上面進(jìn)行驗(yàn)證,發(fā)現(xiàn)LRN并不能提升模型的性能,反而會(huì)還會(huì)增加不少計(jì)算量[10]。 .(2) VGGNet網(wǎng)絡(luò)使用單一模塊 相比于后面的網(wǎng)絡(luò),超參數(shù)稀少,網(wǎng)絡(luò)結(jié)構(gòu)單一。但是相比于經(jīng)過(guò)Incepti-on、深度可卷積網(wǎng)絡(luò)等方法優(yōu)化過(guò)的結(jié)構(gòu),它本身的訓(xùn)練參數(shù)過(guò)于龐大。 .(3) 使用3個(gè)33卷積核來(lái)代替77卷積核 根據(jù)“NTN(Network in Network)”的結(jié)果,使用三個(gè)33網(wǎng)絡(luò)來(lái)替代77的大卷積核,既不損失精度,又能提高性能。 .(4) 隨著網(wǎng)絡(luò)加深,圖片的高度和寬度不斷的以一定的規(guī)律縮減 3.5 GoogleNet網(wǎng)絡(luò)及Inception架構(gòu) 3.5
44、.1 背景介紹 近些年來(lái),為了獲得高質(zhì)量的模型的最佳做法是增加模型的深度(即層數(shù))和寬度(即每一層的卷積核的數(shù)目或神經(jīng)元的數(shù)目)[11]。但是,這種做法會(huì)帶來(lái)以下問(wèn)題: a) 參數(shù)增加過(guò)多,若訓(xùn)練集的數(shù)據(jù)有限,則容易導(dǎo)致過(guò)擬合 b) 網(wǎng)絡(luò)越大,計(jì)算復(fù)雜度越大,難以實(shí)際應(yīng)用 c) 梯度消失會(huì)隨著網(wǎng)絡(luò)的加深而愈加嚴(yán)重,最終影響訓(xùn)練的成敗。 但是,另一個(gè)問(wèn)題又出現(xiàn)了,那就是計(jì)算機(jī)的硬件對(duì)于非均勻稀疏數(shù)據(jù)的計(jì)算效率很差。 文章中提出使用從稀疏的連接結(jié)構(gòu)的方法去解決上訴問(wèn)題,此方法的依據(jù)是Hebbian準(zhǔn)則。然后為了解決稀疏連接帶來(lái)的計(jì)算效率降低的問(wèn)題,提出了通過(guò)使用多個(gè)稀疏矩陣并將其聚集為
45、相關(guān)的密集子矩陣來(lái)提高計(jì)算性能的想法。 3.5.2 InceptionV1 .(1) 概述 Inception結(jié)構(gòu)主要是使用密集組件來(lái)替代最優(yōu)的局部稀疏結(jié)構(gòu)。 圖 三.10 左圖為早期版本 右圖為改進(jìn)版本 .(2) 不完善的InceptionV1結(jié)構(gòu) 在上文中提到,卷積網(wǎng)絡(luò)是模塊化組成的。在高度稀疏的大型深層神經(jīng)網(wǎng)絡(luò)中,可以通過(guò)分析每個(gè)模塊最后一層的相關(guān)性,逐層構(gòu)建局部最優(yōu)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而將高度相關(guān)輸出的神經(jīng)元聚合起來(lái)。在深度較淺的層,相關(guān)的特征信息都集中在局部,并且將這些信息輸出到下一層。而這些信息再被11的卷積核再次提取。 這種做法對(duì)應(yīng)圖 3.11,通過(guò)加大單個(gè)卷積層
46、的寬度,也就是說(shuō)在一個(gè)卷積層里,使用不同大小的卷積核。而且由于池化層在別的文獻(xiàn)中都有不錯(cuò)的表現(xiàn),以此也在該模塊中加入了一個(gè)池化層。再通過(guò)網(wǎng)絡(luò)自行調(diào)整內(nèi)部參數(shù),來(lái)決定使用哪個(gè)過(guò)濾器,和是否使用池化層等,增強(qiáng)了網(wǎng)絡(luò)的自我學(xué)習(xí)效果 圖 三.11 通過(guò)不同的卷積核以及池化層實(shí)現(xiàn)的聚類 采用尺寸不同的卷積核意味著有不同的感受野,從而可以提取到多種不同尺寸的特征圖。而在最后的拼接層中,將不同尺寸的特征圖進(jìn)行融合。 在該論文中采用的卷積核大小尺寸為11、33、55,是為了更容易對(duì)齊。將步長(zhǎng)設(shè)為1后,再分別將填充設(shè)為0、1、2,這樣卷積后得到的特征圖的大小就一致了,再將這些特征圖堆疊聚合。雖然這
47、些特征圖的維度一致,但是由于33和55的卷積核有填充操作,因此他們提取到的特征的值是不一樣的,因此特征圖也就不一樣。 .(3) 完善后的InceptionV1結(jié)構(gòu) 上述的模型存在一個(gè)很重要的問(wèn)題就是,計(jì)算量過(guò)大,其中55的卷積共需要1.2億次的計(jì)算量,這與這個(gè)網(wǎng)絡(luò)的初衷(減少計(jì)算量)是不一致的。 針對(duì)這個(gè)問(wèn)題,通過(guò)V1結(jié)構(gòu)的作者的實(shí)踐,發(fā)現(xiàn)以下網(wǎng)絡(luò)替代可以有效的解決上述問(wèn)題。示意圖如下所示: 圖 三.12 55卷積被替換方式 通過(guò)上圖可看到,完善后55卷積核的模型,為完善前的1/10。同理,也可以在33卷積核上應(yīng)用這一種方法。同時(shí),此結(jié)構(gòu)中的11卷積層又被稱為“bottlenec
48、k”(瓶頸層)。因此,完善后的InceptioV1結(jié)構(gòu)如下所示 圖 三.13 完善后的InceptionV1結(jié)構(gòu) .(4) 特點(diǎn) a) 深度和寬度:模型總層數(shù)達(dá)到22層,增加了多種卷積核,11、33、55,以及MAX-POOL b) 為了避免上述增加寬度導(dǎo)致的計(jì)算量巨大的問(wèn)題,在33、55卷積核前分別加上11d 卷積核,來(lái)降低計(jì)算量。 c) 使用Average Pooling代替全連接層,AlexNet的參數(shù)量是GoogleNet的12倍之多,GoogleNet的Top5的錯(cuò)誤率為6.67%,相比AlexNet提高了10個(gè)百分點(diǎn)。但在最后仍添加一個(gè)全連接層,以便以后微調(diào)分類輸出。
49、 d) 添加了兩個(gè)輔助分類器。經(jīng)過(guò)論文作者驗(yàn)證,輔助分類器在訓(xùn)練早期對(duì)精度的提升不大,但是在訓(xùn)練快要結(jié)束的時(shí)候,相比于沒(méi)有添加輔助分類器的模型準(zhǔn)確率會(huì)更高。 3.5.3 InceptionV2 .(1) 概述 在InceptionV1中為了獲得不同的感受野,而大的卷積核能帶來(lái)大的感受野,因此采用了55的大卷積核。雖然經(jīng)過(guò)了InceptionV1結(jié)構(gòu)的優(yōu)化后,參數(shù)減少了很多。但是經(jīng)過(guò)計(jì)算,在卷積核數(shù)目相同的情況下,55的卷積核的計(jì)算成本高出33卷積核2.78倍。 改進(jìn)后的結(jié)構(gòu)被稱為InceptionV2結(jié)構(gòu)。它用兩個(gè)級(jí)聯(lián)的33卷積核代替龐大的55的卷積核。同時(shí),論文提出了一個(gè)非常強(qiáng)大的
50、算法,即Batch Normalization(BN方法)。 圖 三.14 兩個(gè)連續(xù)33卷積核替代55卷積核 圖 三.15 InceptionV2結(jié)構(gòu) .(2) BN方法 BN方法的靈感來(lái)源于機(jī)器學(xué)習(xí)中的常用的規(guī)范化數(shù)據(jù)的方法:白化。但是這種方法計(jì)算成本過(guò)高,因此該文提出了BN方法,希望既能減少計(jì)算量,又能讓數(shù)據(jù)盡可能保留原始的表達(dá)能力。 BN是一類強(qiáng)大的正則化的處理方法,它的作用范圍是神經(jīng)網(wǎng)絡(luò)中一層所有的feature map,即它不是對(duì)某一張圖片的feature map進(jìn)行標(biāo)準(zhǔn)化處理,而是一個(gè)小規(guī)模的數(shù)據(jù)樣本的所有feature map,從而使一整層的輸出契合N(0,1
51、)的正態(tài)分布。 圖 三.16 BN方法計(jì)算公式 原文中描述:對(duì)于一個(gè)擁有d維的輸入x,將其所有維度進(jìn)行標(biāo)準(zhǔn)化處理。例如:輸入圖像是RGB三通道,則d等于圖像的通道數(shù)等于3,而x=(x1,x2,x3),其中x1就代表R通道所對(duì)應(yīng)的特征矩陣。 圖 三.17 BN方法計(jì)算示例 3.5.4 InceptionV3 .(1) 概述 該模型依舊是以Inception系列模型為基礎(chǔ)進(jìn)行優(yōu)化。在InceptionV2網(wǎng)絡(luò)中,我們發(fā)現(xiàn)一個(gè)55的卷積核可以被兩個(gè)33的卷積核給替換掉,從而明顯的減少了參數(shù)量。作者在此基礎(chǔ)上思考,是否還能對(duì)此進(jìn)行進(jìn)一步的拆分。從而提出了空間不對(duì)稱卷積分解的思路,即
52、兩個(gè)相對(duì)小的一維卷積替換掉一個(gè)大的二維卷積。 .(2) 大卷積核分解 該方法是使用不對(duì)稱卷積思想,經(jīng)過(guò)作者[12]實(shí)際驗(yàn)證,使用非對(duì)稱卷積去對(duì)大的卷積核進(jìn)行拆分,即n1的卷積核,實(shí)際效果比22的卷積核效果更好。 圖 三.18 使用31和13的非對(duì)稱卷積替代33卷積 圖 三.19 InceptionV3結(jié)構(gòu) 如上圖所示,使用一個(gè)31和13的卷積的級(jí)聯(lián)去替代一個(gè)33的卷積。這種方式可以削減一部分網(wǎng)絡(luò)參數(shù),增加計(jì)算速度和降低過(guò)擬合程度。而且由于多了一個(gè)卷積層,模型的表達(dá)能力得到增強(qiáng)。 3.6 ResNet網(wǎng)絡(luò) 3.6.1 綜述 卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)對(duì)分類識(shí)別效果中起很大作用。然
53、而一般的神經(jīng)網(wǎng)絡(luò)層數(shù)不斷堆疊加深,不一定會(huì)帶來(lái)好的效果。下圖為何凱明博士針對(duì)不同層數(shù)的模型做的測(cè)試。發(fā)現(xiàn)56層的深度網(wǎng)絡(luò)時(shí),表現(xiàn)還不如20層的深度。這種稱為網(wǎng)絡(luò)梯度消失或者網(wǎng)絡(luò)退化。 圖 三.20 常規(guī)深度網(wǎng)絡(luò)過(guò)深會(huì)導(dǎo)致深層網(wǎng)絡(luò)訓(xùn)練效果反而不如淺層網(wǎng)絡(luò) 3.6.2 殘差結(jié)構(gòu) 如圖 3.21 殘差塊(Residual Black)所示,作者提出了一個(gè)殘差函數(shù)F(x)=H(x)-x,x為該結(jié)構(gòu)的深入,期望輸出是H(x),而堆疊的非線形層結(jié)果F(x)即為我們學(xué)習(xí)的目標(biāo)。以下結(jié)構(gòu)也被稱為殘差學(xué)習(xí)單元。 圖 三.21 殘差塊(Residual Black) 文中將輸入x傳輸?shù)捷敵鯤(x
54、)中的方法使用的是“Shortcut Connections”(捷徑連接),指的是在網(wǎng)絡(luò)的輸入層添加一個(gè)線形層直接連接到輸出層。在ResNet網(wǎng)絡(luò)中,shortcut Connections將輸入x與組合而成的非線性層的輸出相加,即允許原始圖像的輸入信息直接傳輸?shù)胶竺娴膶又小? 圖 三.22 Shortcut Connections示例 在殘差網(wǎng)絡(luò)中,將x[m]復(fù)制到更深層的網(wǎng)絡(luò)節(jié)點(diǎn)中,然后在后續(xù)節(jié)點(diǎn)的激活層前面加上x[m], 這樣原始信息就可以直接傳達(dá)到更深層網(wǎng)絡(luò)。殘差塊使更深層的網(wǎng)絡(luò)構(gòu)造成為可能。因此,可以使用殘差塊疊加構(gòu)造ResNet神經(jīng)網(wǎng)絡(luò)。 圖 三.23 圖左為Optio
55、n A 圖右為Option B 表 三.3 ResNet網(wǎng)絡(luò)層數(shù)配置 在ResNet網(wǎng)絡(luò)中,深度較淺的網(wǎng)絡(luò)ResNet-34采用的是Option A方式構(gòu)造殘差模塊,而ResNet-50及以上則采用Option B方式構(gòu)建殘差模塊。其中, 11的卷積核主要是用來(lái)降維以及升維使用。堆疊的非線性層與Shortcut的輸出矩陣必須一致。 3.7 MobileNet 3.7.1 背景介紹 在現(xiàn)實(shí)中,如無(wú)人駕駛汽車、機(jī)器人等產(chǎn)品,使用的往往是性能受限的嵌入式設(shè)備,這要求神經(jīng)網(wǎng)絡(luò)模型的體積和計(jì)算量不能太大。因此,我們需要一個(gè)既能保持高準(zhǔn)確率又能在嵌入式設(shè)備中高速運(yùn)行的網(wǎng)絡(luò)模型[14]。
56、3.7.2 MobileNetV1 .(1) 深度可分離卷積(Depthwise Separable Convolution) MobileNet所用的深度可分離卷積是可分離卷積[12]的一種變形,它將一般卷積分為深度卷積和11的逐點(diǎn)卷積兩個(gè)部分。 圖 三.24 深度卷積與逐點(diǎn)卷積 深度卷積中的每一個(gè)卷積核負(fù)責(zé)一個(gè)輸入矩陣的chennel,所以輸出矩陣的channel等于卷積核的個(gè)數(shù)等于輸入矩陣的chennel。而點(diǎn)卷積則是傳統(tǒng)卷積,只不過(guò)特定卷積核尺寸為11。通過(guò)深度可分離卷積,可以有效的減少模型的參數(shù)量,從而提高計(jì)算速度。在文中,經(jīng)過(guò)計(jì)算后得出的結(jié)論是,深度可分卷積的計(jì)算速度是
57、普通卷積的8~9倍。 .(2) 模型收縮超參數(shù)(Model Shrinking Hyperparameters) a) 為了使模型的計(jì)算量更少,作者增加了兩個(gè)超參數(shù),α(Width Multiplie)和β(Resolution Mult-iplie)。 b) 寬度乘數(shù)α(Width Multiplie):用來(lái)改變輸入輸出的chennel,減少feature map的數(shù)量,減少網(wǎng)絡(luò)的厚度。其中α的取值為[0,1]。 c) 分辨率乘數(shù)β(Resolution Mult-iplie):用來(lái)改變輸入層的分辨率,同樣可以減少網(wǎng)絡(luò)的參數(shù)量 3.7.3 MobileNetV2 .(1) 倒殘差
58、結(jié)構(gòu)(Inverted Residuals) MobileNetV2主要是基于MobileNetV1進(jìn)行改進(jìn)的。為了提升梯度的跨層傳播能力,因此將殘差結(jié)構(gòu)添加到了MobileNetV2網(wǎng)絡(luò)中,提出了一種新的結(jié)構(gòu),倒殘差結(jié)構(gòu)。 圖 三.25 兩種倒殘差結(jié)構(gòu) 在引用殘差結(jié)構(gòu)的時(shí)候,作者提出了兩種殘差結(jié)構(gòu)模型,如圖 三.25所示。經(jīng)過(guò)作者的實(shí)驗(yàn)驗(yàn)證,(b)中的倒殘差結(jié)構(gòu)有著更好的內(nèi)存利用效率。 同時(shí)為了在嵌入式設(shè)備中也能使用16位較低精度的浮點(diǎn)數(shù)去精確的描述數(shù)值,作者使用ReLU6替換了ReLU非線性激活函數(shù)。 ReLU6函數(shù)定義為 ReLU6=min?(max0,x,6
59、) (三.12) 圖 三.26 ReLU6函數(shù)圖像 .(2) Linear Bottlenecks 作者做了個(gè)實(shí)驗(yàn),使用一個(gè)二維的圖像做輸入,然后采用不同維度的矩陣T對(duì)該圖像進(jìn)行卷積操作并提取相關(guān)的圖像特征。再使用ReLU激活函數(shù)得到它的輸出值,接著使用矩陣T的逆矩陣T-1將之前得到的輸出矩陣還原。得出如圖 3.27所示結(jié)果。從圖中可以看出,ReLU激活函數(shù)會(huì)對(duì)低維特征信息造成較大損失,而高維特征造成的損失不大。 圖 三.27 不同維度下使用ReLU激活函數(shù)后再還原的圖像 基于上述所說(shuō)的問(wèn)題,因此在MobileNetV2結(jié)構(gòu)中的第二個(gè)逐點(diǎn)卷積層中去掉ReLU6激活函數(shù),直接
60、使用線性連接。 .(3) MobileNetV2結(jié)構(gòu)及模型 圖 三.28 MobileNetV2結(jié)構(gòu) 在上圖中提到在Stride=1的時(shí)候就需要使用捷徑連接,但是在實(shí)際上是需要同時(shí)滿足stride=1且輸入矩陣與輸出矩陣的shape相同兩個(gè)條件時(shí)才能使用捷徑連接,不然shape不同的矩陣根本無(wú)法進(jìn)行加法操作的。 表 三.4 MobileNetV2網(wǎng)絡(luò)層數(shù)配置 表 三.4中的t是拓展因子,c是輸出特征矩陣的深度channel,n是bottleneck的重復(fù)次數(shù),s是步距(僅針對(duì)第一層,其他層均為1)。 表 三.5 MobileNetV2網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上性能和參數(shù)
61、對(duì)比 表 三.6 MobileNetV2網(wǎng)絡(luò)在COCO數(shù)據(jù)集上性能和參數(shù)對(duì)比 3.8 本章小結(jié) 本章主要介紹了卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別領(lǐng)域的發(fā)展脈絡(luò)。首先從Alex這個(gè)ILSVRC-2012挑戰(zhàn)賽的冠軍開始,分別介紹了AGGNet、GoogleNet、ResNet這些給深度卷積神經(jīng)網(wǎng)絡(luò)帶來(lái)顯著進(jìn)步的網(wǎng)絡(luò)模型。最后通過(guò)對(duì)比前面的龐大的卷積神經(jīng)網(wǎng)絡(luò),從而體現(xiàn)了MobileNet及MobileNetV2網(wǎng)絡(luò)體積小的優(yōu)點(diǎn)。 第四章 智能垃圾桶控制系統(tǒng)硬件設(shè)計(jì) 4.1 智能垃圾桶整體結(jié)構(gòu)分布 圖 四.1 垃圾桶整體結(jié)構(gòu) 4.2 STM32硬件系統(tǒng)框架
62、 圖 四.2 STM32主控模塊 STM32接收J(rèn)etson Nano通過(guò)串口發(fā)送過(guò)來(lái)的垃圾分類信號(hào),接收到信號(hào)之后,判斷接收到的垃圾類別。然后根據(jù)垃圾類別去驅(qū)動(dòng)57步進(jìn)電機(jī)轉(zhuǎn)動(dòng),從而帶動(dòng)垃圾桶旋轉(zhuǎn)到對(duì)應(yīng)的分類垃圾桶體。接著驅(qū)動(dòng)42步進(jìn)電機(jī)將暫時(shí)存放垃圾的托盤拉起,使垃圾下落到垃圾桶中。再將垃圾托盤收起,垃圾桶轉(zhuǎn)回原來(lái)位置。 4.3 STM32微處理器 微處理器也可稱單片機(jī),它相比于原來(lái)的通用計(jì)算機(jī)而言,有著成本低廉、使用方式靈活和易于產(chǎn)品化等特點(diǎn)。在本項(xiàng)目中,選擇STM32F429作為整個(gè)主控模塊的核心處理器,它是一個(gè)32位的微處理器,本身主頻高達(dá)180M,本身外設(shè)資源及其豐富。 4
63、.4 步進(jìn)電機(jī)與步進(jìn)電機(jī)驅(qū)動(dòng)器 4.4.1 步進(jìn)電機(jī) 步進(jìn)電機(jī)是一種能夠產(chǎn)生電磁轉(zhuǎn)矩的電磁鐵,它接收外部的電脈沖信號(hào)并將其轉(zhuǎn)換為角度位移或者直線位移,電磁脈沖信號(hào)又被稱為數(shù)字控制信號(hào)[16]。當(dāng)它每接收到一個(gè)脈沖的信號(hào)的時(shí)候,便會(huì)轉(zhuǎn)動(dòng)一個(gè)角度,這個(gè)角度就叫做步距角。因此,如果要它的旋轉(zhuǎn)角度和旋轉(zhuǎn)速度,只需要控制單位時(shí)間內(nèi)發(fā)送的脈沖信號(hào)的個(gè)數(shù)即可。 由于本項(xiàng)目要在底部旋轉(zhuǎn)分類垃圾桶,需要一個(gè)強(qiáng)有力的電機(jī),因此本項(xiàng)目中采取了57步進(jìn)電機(jī)作為動(dòng)力源。而收放托盤需要的力相對(duì)較小,因此可以使用42步進(jìn)電機(jī)。 表 四.1 步進(jìn)電機(jī)參數(shù)表 4.4.2 步進(jìn)電機(jī)驅(qū)動(dòng)器 由于本文中所用的步進(jìn)電機(jī)
64、運(yùn)行所需要的電流比較大,尤其是57步進(jìn)電機(jī)需要3A的電流,STM32最小系統(tǒng)本身無(wú)法驅(qū)動(dòng)這么大的電流。步進(jìn)電機(jī)驅(qū)動(dòng)器是驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)行的功率放大器,它可以提供步進(jìn)電機(jī)所需要的能源。而驅(qū)動(dòng)器性能的優(yōu)劣會(huì)直接影響到步進(jìn)電機(jī)性能的測(cè)試結(jié)果[17]。在項(xiàng)目開發(fā)中,在前期由于驅(qū)動(dòng)器選取不當(dāng),導(dǎo)致步進(jìn)電機(jī)經(jīng)常發(fā)生丟步現(xiàn)象,后來(lái)更換了驅(qū)動(dòng)器之后才正常運(yùn)轉(zhuǎn)。 本文中選取的電機(jī)驅(qū)動(dòng)器采用DM542芯片,能夠提供最大5A的電流供給電機(jī)使用。 圖 四.3 電機(jī)驅(qū)動(dòng)器連接圖 4.5 Jetson Nano Jetson Nano是一款專門為AI應(yīng)用而設(shè)計(jì)的開發(fā)板。采用1.4Ghz的ARM-A57芯片,12
65、8核Nvidia Maxwell GPU和4GB RAM。它運(yùn)行的官方系統(tǒng)是Ubuntu 18.04的一個(gè)定制版本,名稱為L(zhǎng)inux4Tegra,主要設(shè)計(jì)在NVIDIA的硬件上運(yùn)行。該系統(tǒng)預(yù)配置了CUDA跟TensorRT組件,因此可以使用CUDA對(duì)卷積神經(jīng)網(wǎng)絡(luò)計(jì)算進(jìn)行加速。它本身也集成了UART、I2C等外設(shè)通信組件。 圖 四.4 Jetson Nano B01底板 如圖 四.4所示,Jetson Nano引出來(lái)了40個(gè)GPIO口,布局與樹莓派一致。但是Jetson Nano的GPIO口的電流特別弱,因此使用的時(shí)候需要使用額外的供電電路去驅(qū)動(dòng)電子元器件。 本項(xiàng)目最初考慮使用的主處理
66、器是樹莓派,但是樹莓派本身只有一個(gè)ARM的CPU能夠用作神經(jīng)網(wǎng)絡(luò)計(jì)算,而Jetson Nano除了有CPU還配置了專為AI設(shè)計(jì)的GPU。而且顯卡上附帶的顯存對(duì)于本身最大內(nèi)存只有4G的機(jī)器來(lái)說(shuō)重要性不言而喻。 表 四.2 樹莓派4與Jetson Nano參數(shù)對(duì)比表 圖 四.5 神經(jīng)計(jì)算性能對(duì)比 通過(guò)上圖可以看到,在各種模型計(jì)算中,Jetson Nano的運(yùn)算性能完勝樹莓派加英特爾第二代神經(jīng)網(wǎng)絡(luò)計(jì)算棒的組合。 4.6 本章小結(jié) 本章主要介紹了垃圾桶的物理結(jié)構(gòu)以STM32、電機(jī)和Jetson Nano等硬件設(shè)備。 第五章 系統(tǒng)實(shí)現(xiàn)及測(cè)試 5.1 識(shí)別算法選取與訓(xùn)練 5.1.1 MobileNetV2 因?yàn)橐谇度胧皆O(shè)備上運(yùn)行,所以模型的計(jì)算量和體積是首要的考慮因素,實(shí)際使用中,不可能讓機(jī)器運(yùn)行好幾分鐘去分辨識(shí)別一次垃圾。而選擇進(jìn)行本地識(shí)別,也有一部分原因是基于設(shè)備運(yùn)行時(shí)間考慮的。因
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地震中的父與子_課件
- 《大自然你好》
- 新人教版四年級(jí)上冊(cè)億以內(nèi)數(shù)的改寫課件
- 第7章 礦井地質(zhì)(精品)
- 人教版六年級(jí)英語(yǔ)上冊(cè)第二單元第一課時(shí)
- 等差與等比數(shù)列的性質(zhì)
- B內(nèi)酰胺類抗生素的合理使用
- 英語(yǔ)下冊(cè)《燕子》課件蘇教版
- 同底數(shù)冪的除法課件
- 豐滿二實(shí)驗(yàn)陳麗杰-長(zhǎng)方體和正方體3(教育精
- 《扁鵲見蔡桓公》課件
- (精品)鑒別、鑒定、除雜類題目解決方法
- 第七章-擬膽堿藥和抗膽堿課件
- 膀胱腫瘤的護(hù)理查房
- 健康教研活動(dòng)PPT