目錄
前言
課題背景和意義
實現(xiàn)技術思路
一、目標檢測算法對比研究
二、垃圾數(shù)據(jù)集的制作
實現(xiàn)效果圖樣例
最后
前言
? ? ??大四是整個大學期間最忙碌的時光,一邊要忙著備考或?qū)嵙暈楫厴I(yè)后面臨的就業(yè)升學做準備,一邊要為畢業(yè)設計耗費大量精力。近幾年各個學校要求的畢設項目越來越難,有不少課題是研究生級別難度的,對本科同學來說是充滿挑戰(zhàn)。為幫助大家順利通過和節(jié)省時間與精力投入到更重要的就業(yè)和考試中去,學長分享優(yōu)質(zhì)的選題經(jīng)驗和畢設項目與技術思路。
??對畢設有任何疑問都可以問學長哦!
選題指導:?https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,這里是海浪學長畢設專題,本次分享的課題是
??畢業(yè)設計-基于深度學習的垃圾分類識別方法
課題背景和意義
隨著我國的生活水平不斷提高,垃圾問題也逐漸成為人們關注的問題。在生 活的過程中,我們或多或少都會制造垃圾。尤其是我國是全世界人口最多的國家, 可以想象到在一天里所制造的生活垃圾的數(shù)目是多么驚人。在由生態(tài)環(huán)境部所公 布的《2019 年全國大、中城市固體廢物污染環(huán)境防治年報》中顯示,在 2018 年 里,在全國中的 200 個大、中城市里生活垃圾產(chǎn)生量為 21147.3 萬噸,處置量為 21028.9 萬噸,處置率達到了 99.4%。雖然垃圾分類問題已經(jīng)變成社會重點關注的問題之一,但這個問題也依舊沒 有很好地解決。盡管垃圾投放處放置了用來投放不同分類的垃圾的垃圾桶,但是 由于垃圾分類投放的意識還未深入人心,還是會出現(xiàn)大量垃圾沒有進行分類的情 況,把各類不同的垃圾混雜在一起投放。這種情況也導致了給后續(xù)垃圾場的垃圾 分類、垃圾回收、垃圾處理等工作帶來不小的麻煩。最后主要的分類手段還是垃 圾場員工進行人工分類。所以我們可以幫助進行垃圾分類進而提高垃圾分類的效 率或者監(jiān)督人們進行垃圾分類從最開始在投放垃圾時就減少未分類的垃圾的數(shù) 量,進而減少垃圾場的工作量。
實現(xiàn)技術思路
一、目標檢測算法對比研究
SSD
SSD 算法的英文全名是 Single Shot MultiBox Detector,從名字中的 Single ?Shot 就能看出 SSD 算法是屬于 one-stage 目標檢測算法,從 MultiBox 可以看出 SSD 算法采用了多框預測的方法。
1、設計理念
SSD 算法只通過了一個卷積神經(jīng)網(wǎng)絡對不同的特征圖做處理。SSD 的基本 框架如圖所示。SSD 算法的設計想法引入多尺度特征圖。該算法用卷積進行 檢測,并對先驗框進行設置。
第一,在檢測的過程中,使用不同大小的特征圖。就 CNN 網(wǎng)絡而言,開始 的特征圖較大。之后通過 conv 層和 pooling 層來縮小特征圖。如圖所示,把 一個大的特征圖和小的特征圖都做檢測。這樣就可以更合理的檢測物體,較小的 物體可以用較大的特征圖進行檢測,而較大的物體可以用較小的特征圖進行檢測。
特征圖如下圖所示,圖中有很多網(wǎng)格,每個網(wǎng)格都可以當成 anchor,每個網(wǎng) 格都對應于原圖片中的一組特征,然后對這些特征進行分類和回歸。
?第二,SSD 算法對所有的特征圖做提取。在對形狀大小不一的特征圖進行檢 測時,如大小為a × b × c的特征圖,都只用大小為3 × 3 × c的卷積核。
第三,在 YOLO 算法中會在每個單元中預測多個邊界框。但實際被檢測的 物體的形狀往往是各有不同的,所以就需要 YOLO 算法在訓練中逐步適應檢測 物體的形狀。
在 SSD 中,不同的先驗框有它們特殊的檢測值。這一套檢測值都表示著一 個邊界框,每套檢測值都是由兩個值組成。編碼公式如下式所示。
上面四個公式是邊界框的編碼公式。而當我們需要得到真實值時,我們就可以用編碼公式變化得到,反向推得真實值。
2、網(wǎng)絡結構
SSD 模型是用 VGG-16 做了一些改進。他在 VGG-16 之后添加了 conv 層。 這些 conv 層都為最后的檢測提供數(shù)據(jù)。其中 SSD 模型的網(wǎng)絡結構如下圖所 示。
Faster R-CNN
Faster R-CNN 是 2016 年 Ross B. Girshick 在對 Fast R-CNN 進行改進后提出 的新模型。它引入了 anchor box 和用 RPN 代替了 Fast R-CNN 中的 Selective Search 方法提取候選框。在結構上,F(xiàn)aster R-CNN 已經(jīng)把目標檢測的所有步驟都放到了 一個網(wǎng)絡中。.
1、整體框架
Faster R-CNN 可以分為四個主要內(nèi)容,F(xiàn)aster R-CNN 基本結構圖如下圖所示。Faster R-CNN 中主要內(nèi)容有:
(1)Conv layers。這是一種目標檢測的方法。在 Faster R-CNN 中先將整張 圖片作為輸入。最后輸出該圖像的 feature map,為后面的使用做準備。
(2)RPN 網(wǎng)絡。RPN 網(wǎng)絡首先通過 softmax 判斷錨框中是前景還是背景。 接著用邊框回歸(Bounding Box Regression)的方法修正錨框得到更準確的候選 區(qū)域。
(3)RoI pooling。感興趣區(qū)域池化層將特征圖和候選區(qū)域等數(shù)據(jù)聯(lián)合處理, 從中得到候選區(qū)域的特征圖。最后將該特征圖輸入全連接層計算出候選區(qū)域中目 標物體的類別。
(4)Classifier。分類器利用前幾步得到的候選區(qū)域的特征圖判斷出候選區(qū) 域的類別。最后再次使用邊框回歸得到檢測框的準確位置。
2、網(wǎng)絡結構
Faster R-CNN 網(wǎng)絡可以將任意大小的圖片改變到C × D大小。而 Conv layers 中包含了 13 個 conv 層、13 個 relu 層和 4 個 pooling 層。Faster R-CNN 網(wǎng)絡結構 圖如圖所示。
3、Conv layers
Conv layers 中包含了 conv 層、relu 層和 pooling 層這三種層。并在做卷積時 都要對矩陣做擴邊處理。卷積示意圖如圖所示。
4、RPN網(wǎng)絡
它在生成候選框的方法不同于 R-CNN 中的選擇性搜索方法,而是用 RPN 網(wǎng) 絡來得到候選框。RPN 的使用也成為了 Faster R-CNN 的優(yōu)點之一。RPN 網(wǎng)絡的 結構圖如圖所示。
?由 RPN 網(wǎng)絡結構圖看出 RPN 網(wǎng)絡可以分為分類和定位 2 個部分。第一個部 分就如上圖的上面一條首先通過過濾器進行卷積然后變形,接著使用 softmax 分 類判斷窗口里是否含有物體。
5、RoI 池化及Classification
而 RoI 池化層則負責收集候選區(qū)域,并計算出候選區(qū)域特征圖,送入后續(xù)網(wǎng) 絡。從圖 2-6 中可以看到 RoI 池化層有以下 2 個輸入:
在 Classification 中也分為分類和定位兩部分。第一部分用在 RoI 池化后得到 7 × 7大小的候選區(qū)域特征圖,經(jīng)過全連接層和 softmax 推測出該目標物體的種 類,并得到 cls_prob。第二部分則是利用邊框回歸得到 bbox_pred。這兩個部分就 是 Classification 里做的工作。Classification 部分網(wǎng)絡結構如圖所示。
?其中第一部分里的全連接層簡單的示意圖如圖所示。
它的計算公式如下式所示。
YOLOv3
YOLOv3 主要的改進之處有:利用多尺度特征進行對象檢測; 由于 softmax 不適用于多分類,所以用 Logistic 分類器替換了 softmax;調(diào)整了網(wǎng) 絡結構,并提出了一個新的網(wǎng)絡結構 Darknet-53。
1、Darknet-53網(wǎng)絡
Darknet-53 在 YOLOv2 的 Darknet-19 的基礎上加入了類似殘差網(wǎng)絡的殘差 單元的結構。該結構成功克服了梯度爆炸的難題。所以 Darknet-53 網(wǎng)絡中增加了 網(wǎng)絡層數(shù)。
?Darknet-53 是全卷積網(wǎng)絡,使用了大量的殘差的跳層連接。YOLOv3 將 YOLOv1、YOLOv2 網(wǎng)絡中的 pooling 進行刪除。并直接采用 stride 為 2 的卷積來 改變大小。其中 Darknet-53 中的殘差基本單元如下圖所示。
2、構建多尺度特征
YOLOv3 采用了 FPN 的構建多尺度特征的方法,在不同尺度大小的情況下 進行特征的提取。YOLOv3 構建了三個不同尺度大小的特征圖,它們都是通過上 采樣的方式對特征圖進行構建的。
3、anchor box聚類
YOLOv2 借鑒了 Faster R-CNN 和 SSD 中使用的錨(anchor)機制,YOLOv3 也和 YOLOv2 一樣的引入錨框(anchor box)做檢測。
計算框和類中心之間的距離的計算公式如 下式所示。
4、位置預測及非極大值抑制
在進行位置預測時,YOLOv3 會按照不同特征圖的尺度將每個圖像平均分為 S × S份。就可以得到S × S個格子,其中特征圖里的每個格子都會預測 3 個邊界 框。在每個框中都會對該框的位置、置信度和類別概率這三個參數(shù)進行預測。
根據(jù)每個格子的坐標????和????,以及前面得到邊界框的寬????和高???,預測框可 以對邊界框按公式進行計算。
5、類別預測
因為 softmax 分類器無法對多標簽進行分類,所以 YOLOv3 則采用了多個 logstic 分類器去把一個多路 softmax 分類器替換掉的方案。同時 YOLOv3 使用了 二元交叉熵。YOLOv3 使用 logstic 分類器取代 softmax 分類器來進行分類的原因有以下兩個:
(1)softmax 分類器只能讓每個邊界框分類到分類得分最高的一個類別中, 而且能用 softmax 分類器的條件是類別必須是互斥的,所以它不適合使用于有包 含屬性關系的分類任務中。
(2)softmax 分類器可以由多個獨立的 logistic 分類器置換,分類損失函數(shù) 也換為二元交叉熵。
二、垃圾數(shù)據(jù)集的制作
數(shù)據(jù)集組成
本實驗的垃圾數(shù)據(jù)集的圖片來源主要有三部分,分別為:
(1) 實地拍攝垃圾圖片;
(2) 2019“添翼杯”人工智能創(chuàng)新應用大賽-智能環(huán)保數(shù)據(jù)集;
(3) 通過上面兩個的圖片擴增得到的數(shù)據(jù)集。
其中 2019“添翼杯”人工智能創(chuàng)新應用大賽-智能環(huán)保數(shù)據(jù)集里很多圖片是完 好的物品,不屬于垃圾,所以選取其中少數(shù)符合條件的垃圾圖片。
數(shù)據(jù)集制作
1、PASCAL
VOC2007數(shù)據(jù)集制作 本文要用 Faster R-CNN 和 YOLOv3 這兩種算法模型來用于對垃圾分類進行 識別。而 Faster R-CNN 和 YOLOv3 都可以用 PASCAL VOC2007 格式的數(shù)據(jù)集。 為了不做重復性工作。所以本次就類比 PASCAL VOC2007 數(shù)據(jù)集來自制垃圾數(shù) 據(jù)集。這種數(shù)據(jù)集的目錄結構如圖所示。
2、數(shù)據(jù)集擴充
數(shù)據(jù)集圖片的質(zhì)量和數(shù)量會對網(wǎng)絡的訓練結果產(chǎn)生很大程度的影響。所收集 到的垃圾數(shù)據(jù)集中的圖片數(shù)量不夠,會導致檢測效果不好,所以為了要得到較好 的訓練權重和較好的測試結果,就要擴大垃圾數(shù)據(jù)集的數(shù)量。
擴增后圖片:
3、數(shù)據(jù)集標注
本文所有的通過收集和擴充得到的垃圾圖片都是使用圖像標注工具 Labelling 來標注的。所以本文所制作的數(shù)據(jù)集共包含 4 個類別的垃圾分類,并都 使用英文標注垃圾的類別。表列舉了數(shù)據(jù)集中 4 個類別的定義名稱
實現(xiàn)效果圖樣例
垃圾分類識別方法:
我是海浪學長,創(chuàng)作不易,歡迎點贊、關注、收藏、留言。文章來源:http://www.zghlxwxcb.cn/news/detail-462292.html
畢設幫助,疑難解答,歡迎打擾!文章來源地址http://www.zghlxwxcb.cn/news/detail-462292.html
最后
到了這里,關于畢業(yè)設計-基于深度學習的垃圾分類識別方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!