目標(biāo)檢測(cè)RCNN系列講解復(fù)習(xí)課程課件_第1頁(yè)
目標(biāo)檢測(cè)RCNN系列講解復(fù)習(xí)課程課件_第2頁(yè)
目標(biāo)檢測(cè)RCNN系列講解復(fù)習(xí)課程課件_第3頁(yè)
目標(biāo)檢測(cè)RCNN系列講解復(fù)習(xí)課程課件_第4頁(yè)
目標(biāo)檢測(cè)RCNN系列講解復(fù)習(xí)課程課件_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于R-CNN的系列目標(biāo)檢測(cè)算法組員:R-CNN,

SPPNET,FastR-CNN,FasterR-CNN基于R-CNN的系列目標(biāo)檢測(cè)算法組員:R-CNN,SPP1目錄CONTENTS01背景知識(shí)02RCNNSPPNETFastR-CNNFasterR-CNN030504實(shí)例展示06目錄CONTENTS01背景知識(shí)02RCNNSPPNET201背景知識(shí)PARTONE01背景知識(shí)PARTONE3背景知識(shí)04目標(biāo)檢測(cè)是在給定的圖片中精確找到物體所在位置,并標(biāo)注出物體的類別。物體的尺寸變化范圍很大,擺放物體的角度,姿態(tài)不定,而且可以出現(xiàn)在圖片的任何地方,并且物體還可以是多個(gè)類別。目標(biāo)檢測(cè)背景知識(shí)04目標(biāo)檢測(cè)是在給定的圖片中精確找到物體所在位置,并4背景知識(shí)05圖像識(shí)別(classification):輸入:圖片輸出:物體的類別評(píng)估方法:準(zhǔn)確率。定位(localization):輸入:圖片輸出:方框在圖片中的位置(x,y,w,h)評(píng)估方法:檢測(cè)評(píng)價(jià)函數(shù)intersection-over-union背景知識(shí)05圖像識(shí)別(classification):定位(5背景知識(shí)06目標(biāo)檢測(cè)算法1.傳統(tǒng)的目標(biāo)檢測(cè)算法:Cascade+HOG/DPM+Haar/SVM以及上述方法的諸多改進(jìn)、優(yōu)化;2.候選區(qū)域/窗+深度學(xué)習(xí)分類:通過提取候選區(qū)域,并對(duì)相應(yīng)區(qū)域進(jìn)行以深度學(xué)習(xí)方法為主的分類的方案,如:R-CNN(SelectiveSearch+CNN+SVM)SPP-net(ROIPooling)FastR-CNN(SelectiveSearch+CNN+ROI)FasterR-CNN(RPN+CNN+ROI)R-FCN等系列方法;3.基于深度學(xué)習(xí)的回歸方法:YOLO/SSD/DenseBox等方法;以及最近出現(xiàn)的結(jié)合RNN算法的RRCdetection;結(jié)合DPM的DeformableCNN等。背景知識(shí)06目標(biāo)檢測(cè)算法1.傳統(tǒng)的目標(biāo)檢測(cè)算法:Cascad602R-CNNPARTTWO02R-CNNPARTTWO7R-CNN08傳統(tǒng)目標(biāo)檢測(cè)方法傳統(tǒng)目標(biāo)檢測(cè)的算法基本流程如下:使用不同尺度的滑動(dòng)窗口選定圖像的某一區(qū)域?yàn)楹蜻x區(qū)域;從對(duì)應(yīng)的候選區(qū)域提取如HarrHOGLBPLTP等一類或者多類特征;使用Adaboost、SVM等分類算法對(duì)對(duì)應(yīng)的候選區(qū)域進(jìn)行分類,判斷是否屬于待檢測(cè)的目標(biāo)。1、基于滑動(dòng)窗口的區(qū)域選擇策略沒有針對(duì)性,時(shí)間復(fù)雜度高,窗口冗余;2、手工設(shè)計(jì)的特征對(duì)于多樣性的變化沒有很好的魯棒性。傳統(tǒng)目標(biāo)檢測(cè)方法的缺點(diǎn)R-CNN08傳統(tǒng)目標(biāo)檢測(cè)方法傳統(tǒng)目標(biāo)檢測(cè)的算法基本流程如下8R-CNN09R-CNN是Region-basedConvolutionalNeuralNetworks的縮寫,中文翻譯是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò),是一種結(jié)合區(qū)域提名(RegionProposal)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目標(biāo)檢測(cè)方法。區(qū)域提名(RegionProposal):利用圖像中的紋理、邊緣、顏色等信息,預(yù)先找出圖中目標(biāo)可能出現(xiàn)的位置。需要解決的問題:(1)適應(yīng)不同尺度(2)多類別圖像的適應(yīng)性(3)速度。R-CNN的主要貢獻(xiàn):

1)傳統(tǒng)目標(biāo)檢測(cè)算法一般使用滑動(dòng)窗口掃描所有可能區(qū)間,同時(shí)需要考慮變化窗口尺寸以適應(yīng)不同大小的目標(biāo),這種方法效率太低。R-CNN使用SelectiveSearch方法預(yù)先提取所有候選區(qū)域

;

2)傳統(tǒng)目標(biāo)檢測(cè)算法依賴人工設(shè)計(jì)的特征,R-CNN使用深度學(xué)習(xí)自動(dòng)提取和學(xué)習(xí)特征。R-CNN09R-CNN是Region-basedConv9R-CNN10R-CNN的簡(jiǎn)要步驟如下:(1)輸入測(cè)試圖像;(2)利用選擇性搜索(SelectiveSearch)算法在圖像中從下到上提取2000個(gè)左右的可能包含物體的候選區(qū)域;(3)因?yàn)槿〕龅膮^(qū)域大小各自不同,所以需要將每個(gè)候選區(qū)域縮放(warp)成統(tǒng)一的227x227的大小并輸入到CNN,將CNN的fc7層的輸出作為特征;(4)將每個(gè)候選區(qū)域提取到的CNN特征輸入到SVM進(jìn)行分類。R-CNN的總體思路R-CNN10R-CNN的簡(jiǎn)要步驟如下:R-CNN的總體思路10R-CNN11SelectiveSearch算法

R-CNN11SelectiveSearch算法

11R-CNN12RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個(gè)分類模型(比如AlexNet)R-CNN12RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個(gè)12R-CNN13步驟二:對(duì)該模型做fine-tuning?將分類數(shù)從1000改為20,比如20個(gè)物體類別+1個(gè)背景?去掉最后一個(gè)全連接層R-CNN13步驟二:對(duì)該模型做fine-tuning13R-CNN14步驟三:特征提取?提取圖像的所有候選框(選擇性搜索SelectiveSearch);?對(duì)于每一個(gè)區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個(gè)池化層的輸出(就是對(duì)候選框提取到的特征)存到硬盤。R-CNN14步驟三:特征提取14R-CNN15步驟四:訓(xùn)練一個(gè)SVM分類器(二分類)來(lái)判斷這個(gè)候選框里物體的類別每個(gè)類別對(duì)應(yīng)一個(gè)SVM,判斷是不是屬于這個(gè)類別,是就是positive,反之nagative。比如下圖,就是對(duì)狗分類的SVMR-CNN15步驟四:訓(xùn)練一個(gè)SVM分類器(二分類)來(lái)判斷這15R-CNN16步驟五:使用回歸器精細(xì)修正候選框位置:對(duì)于每一個(gè)類,訓(xùn)練一個(gè)線性回歸模型去判定這個(gè)框是否框得完美R-CNN16步驟五:使用回歸器精細(xì)修正候選框位置:對(duì)于每一16R-CNN171、基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸的圖片,樣本輸入受限2、經(jīng)人工處理過的圖片,易降低網(wǎng)絡(luò)識(shí)別檢測(cè)精度3、R-CNN需對(duì)各候選區(qū)域進(jìn)行一次卷積操作,計(jì)算量大,耗時(shí)長(zhǎng)R-CNN存在的問題人工圖片處理樣例R-CNN171、基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸1703SPPNETPARTTHREE03SPPNETPARTTHREE18SPPNET19在R-CNN的第一步中,對(duì)原始圖片通過SelectiveSearch提取的候選框多達(dá)2000個(gè)左右,而這2000個(gè)候選框每個(gè)框都需要進(jìn)行CNN提特征+SVM分類,計(jì)算量很大,導(dǎo)致R-CNN檢測(cè)速度很慢,一張圖都需要47s。而且,基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸的圖片,樣本輸入受限,使用很不方便。那么如何改進(jìn)呢?SPP-NET的出現(xiàn)恰好解決了這些問題。SPP-Net(SpatialPyramidPooling)是何凱明2014年提出的方法,通過解決傳統(tǒng)CNN無(wú)法處理不同尺寸輸入的問題對(duì)同年的R-CNN算法做改進(jìn),實(shí)驗(yàn)結(jié)果表明SPP方法比R-CNN快了近100倍從算法架構(gòu)上,SPP-Net與R-CNN相似:通過SelectiveSearch獲取候選區(qū)域,最后也是使用SVM做分類。但不再將每個(gè)候選區(qū)域過一次CNN,而是將原始圖過一次CNN,在CNN的全連接層前添加新提出的SPP層,根據(jù)候選區(qū)域位置crop的圖像卷積結(jié)果通過SPP層來(lái)確保輸入全連接層的尺寸滿足要求。最后在全連接層的輸出一次性獲得所有候選區(qū)域的特征向量。SPPNET19在R-CNN的第一步中,對(duì)原始圖片通過Se19SPPNET20SPPNET的原理可允許不同尺寸圖片輸入,將R-CNN最后一個(gè)卷積層后的池化層替換為SPP層,生成長(zhǎng)度固定的特征,并輸入到最后的全連接層中。特點(diǎn):1、可實(shí)現(xiàn)CNN多尺度圖像的輸入;2、只對(duì)原圖進(jìn)行一次卷積特征提取。SPPNet結(jié)構(gòu)SPPNetvsR-CNNSPPNET20SPPNET的原理可允許不同尺寸圖片輸入20SPPNET21SPPNET的具體步驟步驟一:選擇性搜索對(duì)待檢測(cè)圖片,選擇性搜索出2000個(gè)候選框候選區(qū)域提取SPPNET21SPPNET的具體步驟步驟一:選擇性搜索21SPPNET22步驟二:特征提取將整張待檢測(cè)圖片輸入CNN中,進(jìn)行一次特征提取,得到featuremaps。在各featuremap中找到各候選框區(qū)域。SPPNet特征提取SPPNET22步驟二:特征提取SPPNet特征提取22SPPNET23步驟三:空間金字塔池化對(duì)各候選框區(qū)域進(jìn)行空間金字塔池化,提取出固定長(zhǎng)度的特征向量。空間金字塔池化SPPNET23步驟三:空間金字塔池化空間金字塔池化23SPPNET24步驟四:訓(xùn)練SVM分類器利用SVM算法,對(duì)各候選區(qū)域?qū)?yīng)的特征向量進(jìn)行分類識(shí)別。SVM分類識(shí)別SPPNET24步驟四:訓(xùn)練SVM分類器SVM分類識(shí)別24SPPNET25SPPNET存在的問題經(jīng)SPPNET改進(jìn)后的R-CNN雖能有效提高檢測(cè)速度,但仍存在局限性:在SPPNET采用selectivesearch對(duì)原始圖片進(jìn)行候選區(qū)域提取時(shí),由于候選區(qū)域數(shù)量較多,存在候選區(qū)域特征重復(fù)提取計(jì)算問題,限制了SPPNET的檢測(cè)速度。另外,對(duì)SPPNET,雖然ROI特征在最后一個(gè)卷積層才提取,省去了多次前向CNN。但由于SVM,ROI特征仍需存儲(chǔ)。此外,SPPNET中的tunning無(wú)法更新SPP層之前的所有權(quán)重,因此對(duì)于比較深的網(wǎng)絡(luò)無(wú)能為力。SPPNET25SPPNET存在的問題經(jīng)SPPNET改2504FastR-CNNPARTFOUR04FastR-CNNPARTFOUR26FastR-CNN27R-CNN和SPPNET的不足:1)R-CNN和SPPNET的訓(xùn)練都需要經(jīng)過多個(gè)階段:fine-tuning得到網(wǎng)絡(luò)卷積層的特征輸出、SVM對(duì)每組特征向量的學(xué)習(xí)、位置boundingbox的回歸2)對(duì)R-CNN,訓(xùn)練和測(cè)試的時(shí)間空間開銷大。每個(gè)圖像提取的大量ROI特征需要存儲(chǔ)和通過CNN3)對(duì)SPPNET,雖然ROI特征在最后一個(gè)卷積層才提取,省去了多次前向CNN。但由于SVM,ROI特征仍需存儲(chǔ)。此外,SPPNET中的tunning無(wú)法更新SPP層之前的所有權(quán)重,因此對(duì)于比較深得網(wǎng)絡(luò)無(wú)能為力FastR-CNN是RossGirshick在2015年對(duì)上一年的SPPNet算法做的改進(jìn)。作者在VGG16網(wǎng)絡(luò)的測(cè)試表明:FastR-CNN在訓(xùn)練階段比R-CNN快了9倍,比SPPNET快了3倍;在測(cè)試階段比R-CNN快了213倍,比SPPNET快了10倍;同時(shí)精度也有一定提升。FastR-CNN27R-CNN和SPPNET的不足:F27FastR-CNN28FastR-CNN算法思想FastR-CNN算法首先通過

selectivesearch方法生成約2K個(gè)ROI,連同圖像一起輸入到CNN網(wǎng)絡(luò);在最后一個(gè)卷積層后求取ROI位置的映射關(guān)系,使用1層的SPP池化層將每個(gè)ROI統(tǒng)一到相同大?。蛔詈笸ㄟ^兩個(gè)全連接層,一個(gè)FC層后接softmax實(shí)現(xiàn)分類,一個(gè)FC層后接boundingbox回歸得到類別修正后的位置。FastR-CNN28FastR-CNN算法思想Fast28FastR-CNN29(1)ROIpoolinglayer實(shí)際上是SPP-NET的一個(gè)精簡(jiǎn)版,SPP-NET對(duì)每個(gè)proposal使用了不同大小的金字塔映射,而ROIpoolinglayer只需要下采樣到一個(gè)7x7的特征圖。對(duì)于VGG16網(wǎng)絡(luò)conv5_3有512個(gè)特征圖,這樣所有regionproposal對(duì)應(yīng)了一個(gè)7*7*512維度的特征向量作為全連接層的輸入。換言之,這個(gè)網(wǎng)絡(luò)層可以把不同大小的輸入映射到一個(gè)固定尺度的特征向量。(2)邊框回歸對(duì)于窗口一般使用四維向量(x,y,w,h),分別表示窗口的中心點(diǎn)坐標(biāo)和寬高。紅色的框P代表原始的Proposal,綠色的框G代表目標(biāo)的GroundTruth,我們的目標(biāo)是尋找一種關(guān)系使得輸入原始的窗口P經(jīng)過映射得到一個(gè)跟真實(shí)窗口G更接近的回歸窗口G^。所以,邊框回歸的目的即是:給定(Px,Py,Pw,Ph)尋找一種映射f,使得f(Px,Py,Pw,Ph)=(Gx^,Gy^,Gw^,Gh^)并且(Gx^,Gy^,Gw^,Gh^)≈(Gx,Gy,Gw,Gh)FastR-CNN29(1)ROIpoolinglay29FastR-CNN30與R-CNN框架圖對(duì)比,可以發(fā)現(xiàn)主要有兩處不同:一是最后一個(gè)卷積層后加了一個(gè)ROIpoolinglayer;二是損失函數(shù)使用了多任務(wù)損失函數(shù),將邊框回歸BoundingBoxRegression直接加入到CNN網(wǎng)絡(luò)中訓(xùn)練。FastR-CNNvsR-CNNFastR-CNN30與R-CNN框架圖對(duì)比,可以發(fā)現(xiàn)主要30FastR-CNN31R-CNN:許多候選框->CNN->得到每個(gè)候選框的特征->分類+回歸FastR-CNN:一張圖片->CNN->得到每張候選框的特征->分類+回歸所以,F(xiàn)astR-CNN相對(duì)于R-CNN的提速原因就在于:不像R-CNN把每個(gè)候選區(qū)域給深度網(wǎng)絡(luò)提特征,而是整張圖提一次特征,再把候選框映射到第五個(gè)卷積層上,而FastR-CNN只需要計(jì)算一次特征,剩下的只需要在第五個(gè)卷積層上操作就可以了。然而,F(xiàn)astR-CNN在進(jìn)行選擇性搜索時(shí),需要找出所有的候選框,這個(gè)過程也非常耗時(shí)。FastR-CNN31R-CNN:許多候選框->CNN3105FasterR-CNNPARTFIVE05FasterR-CNNPARTFIVE32FasterR-CNN33由于FastR-CNN在進(jìn)行選擇性搜索時(shí),需要找出所有的候選框,這大大限制了其檢測(cè)的速度。FasterR-CNN是RossGirshick對(duì)FastR-CNN算法的改進(jìn)。簡(jiǎn)單網(wǎng)絡(luò)(ZF)目標(biāo)檢測(cè)速度達(dá)到17fps,在PASCALVOC上準(zhǔn)確率為59.9%;復(fù)雜網(wǎng)絡(luò)(VGG-16)達(dá)到5fps,準(zhǔn)確率78.8%。FasterR-CNN算法思想從R-CNN到FastR-CNN,再到FasterR-CNN,目標(biāo)檢測(cè)的四個(gè)基本步驟(候選區(qū)域生成,特征提取,分類,位置精修)終于被統(tǒng)一到一個(gè)深度網(wǎng)絡(luò)框架之內(nèi)。所有計(jì)算沒有重復(fù),完全在GPU中完成,大大提高了運(yùn)行速度。FasterR-CNN可以簡(jiǎn)單地看做“區(qū)域生成網(wǎng)絡(luò)RPN+FastRCNN“的系統(tǒng),用RPN代替fastRCNN中的SelectiveSearch方法。FasterR-CNN33由于FastR-CNN在進(jìn)行選33FasterR-CNN34RPN

為了提高候選區(qū)域的尋找速度,加入一個(gè)提取邊緣的神經(jīng)網(wǎng)絡(luò),也就是說,尋找候選框的任務(wù)也交給神經(jīng)網(wǎng)絡(luò)來(lái)完成。在FasterR-CNN中引入RegionProposalNetwork(RPN)替代SelectiveSearch,同時(shí)引入anchorbox應(yīng)對(duì)目標(biāo)形狀的變化問題(anchor就是位置和大小固定的box,可以理解成事先設(shè)置好的固定的proposal)。

具體做法:將RPN放在提取整幅圖片特征的CNN后面,RPN直接訓(xùn)練得到候選區(qū)域。

1.在featuremap上滑動(dòng)窗口。

2.建一個(gè)神經(jīng)網(wǎng)絡(luò)用于物體分類+框位置的回歸。

3.滑動(dòng)窗口的位置提供了物體的大體位置信息。

4.框的回歸提供了框更精確的位置。FasterR-CNN34RPN 為了提高候選區(qū)域的尋找速34FasterR-CNN35R-CNNVSFastR-CNNVSFasterR-CNNRCNN:SelectiveSearch->每個(gè)候選框CNN特征提取->SVM分類->邊框回歸FastR-CNN:SelectiveSearch->整張圖片輸入CNN,得到featuremap->每個(gè)候選框在featuremap上的映射patch作為卷積特征輸入到SPPlayer和之后的層->softmax分類+邊框回歸FasterR-CNN:整張圖片輸入CNN,得到featuremap->輸入到RPN,得到候選框->對(duì)候選框中提取出的特征,使用分類器判別是否屬于一個(gè)特定類->分類+邊框回歸FasterR-CNN35R-CNNVSFastR-3506實(shí)驗(yàn)展示PARTSIX06實(shí)驗(yàn)展示PARTSIX36實(shí)驗(yàn)展示35采用MITpedestriandetectiondatabase基于VGG16的FasterRCNN實(shí)驗(yàn)結(jié)果由測(cè)試結(jié)果可以看到,F(xiàn)asterRCNN對(duì)目標(biāo)具有較好的檢測(cè)效果,且對(duì)于人群間的重疊,仍能較好的進(jìn)行檢測(cè)。FasterRCNN行人檢測(cè)結(jié)果實(shí)驗(yàn)展示35采用MITpedestriandetecti37感謝各位聆聽ThanksforListening感謝各位聆聽ThanksforListening38基于R-CNN的系列目標(biāo)檢測(cè)算法組員:R-CNN,

SPPNET,FastR-CNN,FasterR-CNN基于R-CNN的系列目標(biāo)檢測(cè)算法組員:R-CNN,SPP39目錄CONTENTS01背景知識(shí)02RCNNSPPNETFastR-CNNFasterR-CNN030504實(shí)例展示06目錄CONTENTS01背景知識(shí)02RCNNSPPNET4001背景知識(shí)PARTONE01背景知識(shí)PARTONE41背景知識(shí)04目標(biāo)檢測(cè)是在給定的圖片中精確找到物體所在位置,并標(biāo)注出物體的類別。物體的尺寸變化范圍很大,擺放物體的角度,姿態(tài)不定,而且可以出現(xiàn)在圖片的任何地方,并且物體還可以是多個(gè)類別。目標(biāo)檢測(cè)背景知識(shí)04目標(biāo)檢測(cè)是在給定的圖片中精確找到物體所在位置,并42背景知識(shí)05圖像識(shí)別(classification):輸入:圖片輸出:物體的類別評(píng)估方法:準(zhǔn)確率。定位(localization):輸入:圖片輸出:方框在圖片中的位置(x,y,w,h)評(píng)估方法:檢測(cè)評(píng)價(jià)函數(shù)intersection-over-union背景知識(shí)05圖像識(shí)別(classification):定位(43背景知識(shí)06目標(biāo)檢測(cè)算法1.傳統(tǒng)的目標(biāo)檢測(cè)算法:Cascade+HOG/DPM+Haar/SVM以及上述方法的諸多改進(jìn)、優(yōu)化;2.候選區(qū)域/窗+深度學(xué)習(xí)分類:通過提取候選區(qū)域,并對(duì)相應(yīng)區(qū)域進(jìn)行以深度學(xué)習(xí)方法為主的分類的方案,如:R-CNN(SelectiveSearch+CNN+SVM)SPP-net(ROIPooling)FastR-CNN(SelectiveSearch+CNN+ROI)FasterR-CNN(RPN+CNN+ROI)R-FCN等系列方法;3.基于深度學(xué)習(xí)的回歸方法:YOLO/SSD/DenseBox等方法;以及最近出現(xiàn)的結(jié)合RNN算法的RRCdetection;結(jié)合DPM的DeformableCNN等。背景知識(shí)06目標(biāo)檢測(cè)算法1.傳統(tǒng)的目標(biāo)檢測(cè)算法:Cascad4402R-CNNPARTTWO02R-CNNPARTTWO45R-CNN08傳統(tǒng)目標(biāo)檢測(cè)方法傳統(tǒng)目標(biāo)檢測(cè)的算法基本流程如下:使用不同尺度的滑動(dòng)窗口選定圖像的某一區(qū)域?yàn)楹蜻x區(qū)域;從對(duì)應(yīng)的候選區(qū)域提取如HarrHOGLBPLTP等一類或者多類特征;使用Adaboost、SVM等分類算法對(duì)對(duì)應(yīng)的候選區(qū)域進(jìn)行分類,判斷是否屬于待檢測(cè)的目標(biāo)。1、基于滑動(dòng)窗口的區(qū)域選擇策略沒有針對(duì)性,時(shí)間復(fù)雜度高,窗口冗余;2、手工設(shè)計(jì)的特征對(duì)于多樣性的變化沒有很好的魯棒性。傳統(tǒng)目標(biāo)檢測(cè)方法的缺點(diǎn)R-CNN08傳統(tǒng)目標(biāo)檢測(cè)方法傳統(tǒng)目標(biāo)檢測(cè)的算法基本流程如下46R-CNN09R-CNN是Region-basedConvolutionalNeuralNetworks的縮寫,中文翻譯是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò),是一種結(jié)合區(qū)域提名(RegionProposal)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目標(biāo)檢測(cè)方法。區(qū)域提名(RegionProposal):利用圖像中的紋理、邊緣、顏色等信息,預(yù)先找出圖中目標(biāo)可能出現(xiàn)的位置。需要解決的問題:(1)適應(yīng)不同尺度(2)多類別圖像的適應(yīng)性(3)速度。R-CNN的主要貢獻(xiàn):

1)傳統(tǒng)目標(biāo)檢測(cè)算法一般使用滑動(dòng)窗口掃描所有可能區(qū)間,同時(shí)需要考慮變化窗口尺寸以適應(yīng)不同大小的目標(biāo),這種方法效率太低。R-CNN使用SelectiveSearch方法預(yù)先提取所有候選區(qū)域

;

2)傳統(tǒng)目標(biāo)檢測(cè)算法依賴人工設(shè)計(jì)的特征,R-CNN使用深度學(xué)習(xí)自動(dòng)提取和學(xué)習(xí)特征。R-CNN09R-CNN是Region-basedConv47R-CNN10R-CNN的簡(jiǎn)要步驟如下:(1)輸入測(cè)試圖像;(2)利用選擇性搜索(SelectiveSearch)算法在圖像中從下到上提取2000個(gè)左右的可能包含物體的候選區(qū)域;(3)因?yàn)槿〕龅膮^(qū)域大小各自不同,所以需要將每個(gè)候選區(qū)域縮放(warp)成統(tǒng)一的227x227的大小并輸入到CNN,將CNN的fc7層的輸出作為特征;(4)將每個(gè)候選區(qū)域提取到的CNN特征輸入到SVM進(jìn)行分類。R-CNN的總體思路R-CNN10R-CNN的簡(jiǎn)要步驟如下:R-CNN的總體思路48R-CNN11SelectiveSearch算法

R-CNN11SelectiveSearch算法

49R-CNN12RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個(gè)分類模型(比如AlexNet)R-CNN12RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個(gè)50R-CNN13步驟二:對(duì)該模型做fine-tuning?將分類數(shù)從1000改為20,比如20個(gè)物體類別+1個(gè)背景?去掉最后一個(gè)全連接層R-CNN13步驟二:對(duì)該模型做fine-tuning51R-CNN14步驟三:特征提取?提取圖像的所有候選框(選擇性搜索SelectiveSearch);?對(duì)于每一個(gè)區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個(gè)池化層的輸出(就是對(duì)候選框提取到的特征)存到硬盤。R-CNN14步驟三:特征提取52R-CNN15步驟四:訓(xùn)練一個(gè)SVM分類器(二分類)來(lái)判斷這個(gè)候選框里物體的類別每個(gè)類別對(duì)應(yīng)一個(gè)SVM,判斷是不是屬于這個(gè)類別,是就是positive,反之nagative。比如下圖,就是對(duì)狗分類的SVMR-CNN15步驟四:訓(xùn)練一個(gè)SVM分類器(二分類)來(lái)判斷這53R-CNN16步驟五:使用回歸器精細(xì)修正候選框位置:對(duì)于每一個(gè)類,訓(xùn)練一個(gè)線性回歸模型去判定這個(gè)框是否框得完美R-CNN16步驟五:使用回歸器精細(xì)修正候選框位置:對(duì)于每一54R-CNN171、基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸的圖片,樣本輸入受限2、經(jīng)人工處理過的圖片,易降低網(wǎng)絡(luò)識(shí)別檢測(cè)精度3、R-CNN需對(duì)各候選區(qū)域進(jìn)行一次卷積操作,計(jì)算量大,耗時(shí)長(zhǎng)R-CNN存在的問題人工圖片處理樣例R-CNN171、基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸5503SPPNETPARTTHREE03SPPNETPARTTHREE56SPPNET19在R-CNN的第一步中,對(duì)原始圖片通過SelectiveSearch提取的候選框多達(dá)2000個(gè)左右,而這2000個(gè)候選框每個(gè)框都需要進(jìn)行CNN提特征+SVM分類,計(jì)算量很大,導(dǎo)致R-CNN檢測(cè)速度很慢,一張圖都需要47s。而且,基于R-CNN目標(biāo)檢測(cè)算法只能輸入固定尺寸的圖片,樣本輸入受限,使用很不方便。那么如何改進(jìn)呢?SPP-NET的出現(xiàn)恰好解決了這些問題。SPP-Net(SpatialPyramidPooling)是何凱明2014年提出的方法,通過解決傳統(tǒng)CNN無(wú)法處理不同尺寸輸入的問題對(duì)同年的R-CNN算法做改進(jìn),實(shí)驗(yàn)結(jié)果表明SPP方法比R-CNN快了近100倍從算法架構(gòu)上,SPP-Net與R-CNN相似:通過SelectiveSearch獲取候選區(qū)域,最后也是使用SVM做分類。但不再將每個(gè)候選區(qū)域過一次CNN,而是將原始圖過一次CNN,在CNN的全連接層前添加新提出的SPP層,根據(jù)候選區(qū)域位置crop的圖像卷積結(jié)果通過SPP層來(lái)確保輸入全連接層的尺寸滿足要求。最后在全連接層的輸出一次性獲得所有候選區(qū)域的特征向量。SPPNET19在R-CNN的第一步中,對(duì)原始圖片通過Se57SPPNET20SPPNET的原理可允許不同尺寸圖片輸入,將R-CNN最后一個(gè)卷積層后的池化層替換為SPP層,生成長(zhǎng)度固定的特征,并輸入到最后的全連接層中。特點(diǎn):1、可實(shí)現(xiàn)CNN多尺度圖像的輸入;2、只對(duì)原圖進(jìn)行一次卷積特征提取。SPPNet結(jié)構(gòu)SPPNetvsR-CNNSPPNET20SPPNET的原理可允許不同尺寸圖片輸入58SPPNET21SPPNET的具體步驟步驟一:選擇性搜索對(duì)待檢測(cè)圖片,選擇性搜索出2000個(gè)候選框候選區(qū)域提取SPPNET21SPPNET的具體步驟步驟一:選擇性搜索59SPPNET22步驟二:特征提取將整張待檢測(cè)圖片輸入CNN中,進(jìn)行一次特征提取,得到featuremaps。在各featuremap中找到各候選框區(qū)域。SPPNet特征提取SPPNET22步驟二:特征提取SPPNet特征提取60SPPNET23步驟三:空間金字塔池化對(duì)各候選框區(qū)域進(jìn)行空間金字塔池化,提取出固定長(zhǎng)度的特征向量??臻g金字塔池化SPPNET23步驟三:空間金字塔池化空間金字塔池化61SPPNET24步驟四:訓(xùn)練SVM分類器利用SVM算法,對(duì)各候選區(qū)域?qū)?yīng)的特征向量進(jìn)行分類識(shí)別。SVM分類識(shí)別SPPNET24步驟四:訓(xùn)練SVM分類器SVM分類識(shí)別62SPPNET25SPPNET存在的問題經(jīng)SPPNET改進(jìn)后的R-CNN雖能有效提高檢測(cè)速度,但仍存在局限性:在SPPNET采用selectivesearch對(duì)原始圖片進(jìn)行候選區(qū)域提取時(shí),由于候選區(qū)域數(shù)量較多,存在候選區(qū)域特征重復(fù)提取計(jì)算問題,限制了SPPNET的檢測(cè)速度。另外,對(duì)SPPNET,雖然ROI特征在最后一個(gè)卷積層才提取,省去了多次前向CNN。但由于SVM,ROI特征仍需存儲(chǔ)。此外,SPPNET中的tunning無(wú)法更新SPP層之前的所有權(quán)重,因此對(duì)于比較深的網(wǎng)絡(luò)無(wú)能為力。SPPNET25SPPNET存在的問題經(jīng)SPPNET改6304FastR-CNNPARTFOUR04FastR-CNNPARTFOUR64FastR-CNN27R-CNN和SPPNET的不足:1)R-CNN和SPPNET的訓(xùn)練都需要經(jīng)過多個(gè)階段:fine-tuning得到網(wǎng)絡(luò)卷積層的特征輸出、SVM對(duì)每組特征向量的學(xué)習(xí)、位置boundingbox的回歸2)對(duì)R-CNN,訓(xùn)練和測(cè)試的時(shí)間空間開銷大。每個(gè)圖像提取的大量ROI特征需要存儲(chǔ)和通過CNN3)對(duì)SPPNET,雖然ROI特征在最后一個(gè)卷積層才提取,省去了多次前向CNN。但由于SVM,ROI特征仍需存儲(chǔ)。此外,SPPNET中的tunning無(wú)法更新SPP層之前的所有權(quán)重,因此對(duì)于比較深得網(wǎng)絡(luò)無(wú)能為力FastR-CNN是RossGirshick在2015年對(duì)上一年的SPPNet算法做的改進(jìn)。作者在VGG16網(wǎng)絡(luò)的測(cè)試表明:FastR-CNN在訓(xùn)練階段比R-CNN快了9倍,比SPPNET快了3倍;在測(cè)試階段比R-CNN快了213倍,比SPPNET快了10倍;同時(shí)精度也有一定提升。FastR-CNN27R-CNN和SPPNET的不足:F65FastR-CNN28FastR-CNN算法思想FastR-CNN算法首先通過

selectivesearch方法生成約2K個(gè)ROI,連同圖像一起輸入到CNN網(wǎng)絡(luò);在最后一個(gè)卷積層后求取ROI位置的映射關(guān)系,使用1層的SPP池化層將每個(gè)ROI統(tǒng)一到相同大?。蛔詈笸ㄟ^兩個(gè)全連接層,一個(gè)FC層后接softmax實(shí)現(xiàn)分類,一個(gè)FC層后接boundingbox回歸得到類別修正后的位置。FastR-CNN28FastR-CNN算法思想Fast66FastR-CNN29(1)ROIpoolinglayer實(shí)際上是SPP-NET的一個(gè)精簡(jiǎn)版,SPP-NET對(duì)每個(gè)proposal使用了不同大小的金字塔映射,而ROIpoolinglayer只需要下采樣到一個(gè)7x7的特征圖。對(duì)于VGG16網(wǎng)絡(luò)conv5_3有512個(gè)特征圖,這樣所有regionproposal對(duì)應(yīng)了一個(gè)7*7*512維度的特征向量作為全連接層的輸入。換言之,這個(gè)網(wǎng)絡(luò)層可以把不同大小的輸入映射到一個(gè)固定尺度的特征向量。(2)邊框回歸對(duì)于窗口一般使用四維向量(x,y,w,h),分別表示窗口的中心點(diǎn)坐標(biāo)和寬高。紅色的框P代表原始的Proposal,綠色的框G代表目標(biāo)的GroundTruth,我們的目標(biāo)是尋找一種關(guān)系使得輸入原始的窗口P經(jīng)過映射得到一個(gè)跟真實(shí)窗口G更接近的回歸窗口G^。所以,邊框回歸的目的即是:給定(Px,Py,Pw,Ph)尋找一種映射f,使得f(Px,Py,Pw,Ph)=(Gx^,Gy^,Gw^,Gh^)并且(Gx^,Gy^,Gw^,Gh^)≈(Gx,Gy,Gw,Gh)FastR-CNN29(1)ROIpoolinglay67FastR-CNN30與R-CNN框架圖對(duì)比,可以發(fā)現(xiàn)主要有兩處不同:一是最后一個(gè)卷積層后加了一個(gè)ROIpoolinglayer;二是損失函數(shù)使用了多任務(wù)損失函數(shù),將邊框回歸BoundingBoxRegression直接加入到CNN網(wǎng)絡(luò)中訓(xùn)練。FastR-CNNvsR-CNNFastR-CNN30與R-CNN框架圖對(duì)比,可以發(fā)現(xiàn)主要68FastR-CNN31R-CNN:許多候選框->CNN->得到每個(gè)候選框的特征->分類+回歸FastR-CNN:一張圖片->CNN->得到每張候選框的特征->分類+回歸所以,F(xiàn)astR-CNN相對(duì)于R-CNN的提速原因就在于:不像R-CNN把每個(gè)候選區(qū)域給深度網(wǎng)絡(luò)提特征,而是整張圖提一次特征,再把候選框映射到第五個(gè)卷積層上,而FastR-CNN只需要計(jì)算一次特征,剩下的只需要在第五個(gè)卷積層上操作就可以了。然而,F(xiàn)astR-CNN在進(jìn)行選擇性搜索時(shí),需要找出所有的候選框,這個(gè)過程也非常耗時(shí)。FastR-CNN31R-CNN:許多候選框->CNN6905FasterR-CNNPARTFIVE05FasterR-CNNPART

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論