版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Chapter5基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測第五章DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第2頁5.4AnchorFree目標(biāo)檢測算法5.1目標(biāo)檢測概述5.3單階段目標(biāo)檢測算法5.2兩階段目標(biāo)檢測算法5.5實(shí)踐項(xiàng)目目錄ContentDeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第3頁5.1目標(biāo)檢測概述本節(jié)內(nèi)容:
(1)目標(biāo)檢測的基本介紹
(2)目標(biāo)檢測的發(fā)展
(3)數(shù)據(jù)格式與評估指標(biāo)DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第4頁目標(biāo)檢測的基本介紹目標(biāo)檢測是計(jì)算機(jī)圖形學(xué)領(lǐng)域里一個重要的研究方向。其主要任務(wù)是判斷數(shù)字圖像中是否具有目標(biāo)對象的區(qū)域,并輸出該區(qū)域的位置和該區(qū)域是此目標(biāo)對象的置信度。目標(biāo)檢測包含兩個子任務(wù):物體定位和物體分類。目標(biāo)檢測方法已在眾多領(lǐng)域得到應(yīng)用。商品識別病變組織識別交通標(biāo)志識別行人車輛識別DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第5頁目標(biāo)檢測的基本介紹采用傳統(tǒng)的目標(biāo)檢測方法,模型的可解釋性好、但適應(yīng)能力較差、模型較為復(fù)雜;
隨著對樣本數(shù)量的增加,模型的復(fù)雜程度也在增加,而準(zhǔn)確度卻并沒有明顯的提升?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法,則要求相當(dāng)規(guī)模的訓(xùn)練樣本數(shù)量,模型訓(xùn)練對硬件算力的要求也較高;
但方法簡單、方便增刪分類數(shù)量、適應(yīng)性好;
且隨著樣本數(shù)量的增加,算法的準(zhǔn)確度也逐漸提高。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第6頁目標(biāo)檢測的發(fā)展根據(jù)特征提取的方式,目標(biāo)檢測算法可以分為:
傳統(tǒng)的目標(biāo)檢測算法、
基于深度學(xué)習(xí)的目標(biāo)檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第7頁目標(biāo)檢測數(shù)據(jù)格式常用的數(shù)據(jù)格式:PASCALVOC格式和COCO格式。VOC格式來自于同名的競賽,該數(shù)據(jù)集格式定義了數(shù)據(jù)存放的目錄結(jié)構(gòu);其中,一個xml文件對應(yīng)一張圖片,用于保存圖片的標(biāo)注信息。COCO格式是微軟構(gòu)建的一種目標(biāo)檢測大型基準(zhǔn)數(shù)據(jù)集,其與VOC數(shù)據(jù)集最大的不同在于整個訓(xùn)練集的標(biāo)注信息都存放在一個json文件內(nèi)。VOC數(shù)據(jù)集文件結(jié)構(gòu)COCO格式j(luò)son文件內(nèi)容DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第8頁目標(biāo)檢測評價(jià)指標(biāo)評價(jià)一種目標(biāo)檢測算法可以從兩個角度考慮
一是目標(biāo)檢測模型的復(fù)雜度,二是目標(biāo)檢測模型的性能。前者反映了模型在應(yīng)用時需要的存儲空間大小、計(jì)算資源多少、運(yùn)行時間長短。
常用指標(biāo)有:
FLOPS(浮點(diǎn)運(yùn)算數(shù)量):反映算法大致所需資源。
FPS(每秒幀數(shù)):反映模型執(zhí)行過程中的執(zhí)行速度。后者反映了目標(biāo)檢測算法的預(yù)測結(jié)果與真實(shí)值的接近程度。
其可再細(xì)化為:輸出位置的準(zhǔn)確性、輸出類型的準(zhǔn)確性
因此,引入以下指標(biāo):
位置相關(guān):中心距離、圖像重疊程度、倒角距離
類型相關(guān):準(zhǔn)確率、精準(zhǔn)率、召回率、平均正確率、均值平均精度DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第9頁目標(biāo)檢測評價(jià)指標(biāo)與類型相關(guān)的評價(jià)指標(biāo):
準(zhǔn)確率(Accuracy)、精準(zhǔn)率(Precision,P)、召回率(Recall,R)、P-R曲線(P-RCurve)、
平均正確率(AveragePrecision,AP)、均值平均精度(meanAveragePrecision,mAP)等目標(biāo)檢測的結(jié)果可以分為以下四類:
①正樣本識別為正樣本(TruePositive,TP)、②正樣本識別為負(fù)樣本(FalsePositive,F(xiàn)P)、
③負(fù)樣本識別為負(fù)樣本(TrueNegative,TN)、④負(fù)樣本識別為正樣本(FalseNegative,F(xiàn)N)。使用#TP、#FP、#TN、#FN分別表示TP、FP、TN、FN的數(shù)量,則可以得到下列公式與圖表。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第10頁目標(biāo)檢測評價(jià)指標(biāo)數(shù)字比曲線圖更能體現(xiàn)一個模型的好壞,因此定義平均正確率AP為P-R曲線下與橫軸圍成的面積。
通常AP越高,分類器的性能越好。由于AP只針對單一種類的目標(biāo)檢測,對于多分類的目標(biāo)檢測問題,定義均值平均精度mAP。
mAP是對每一類別結(jié)果AP值的平均數(shù),反應(yīng)了多分類目標(biāo)檢測模型的整體性能。
通常mAP越高,多分類器的性能越好。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第11頁5.2兩階段目標(biāo)檢測算法本節(jié)內(nèi)容:
(1)RCNN
(2)SPPNet和FastRCNN
(3)FasterRCNN
(4)進(jìn)階的兩階段算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第12頁兩階段目標(biāo)檢測算法的基本框架兩階段目標(biāo)檢測算法,主要分為候選區(qū)域生成、分類回歸兩步。
其首先在圖像中生成若干候選區(qū)域(可能包含帶檢測物體的預(yù)選框),然后使用卷積神經(jīng)網(wǎng)絡(luò)提取候選區(qū)域內(nèi)的特征進(jìn)行分類,并修正檢測框的位置。典型的兩階段目標(biāo)檢測算法舉例:RCNN、FastRCNN、FasterRCNN、SPPNet等DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第13頁RCNNRCNN是首個將深度學(xué)習(xí)網(wǎng)絡(luò)引入目標(biāo)檢測領(lǐng)域的算法,其建立的兩階段目標(biāo)檢測流程奠定了后續(xù)眾多算法的框架基礎(chǔ)。RCNN的總體思路是:區(qū)域選擇、提取特征、分類和定位。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第14頁RCNNRCNN的簡要步驟如下:
(1)輸入測試圖像;
(2)利用選擇性搜索(SelectiveSearch)算法在圖像中從下到上提取2000個左右的可能包含物體的候選區(qū)域;
(3)因?yàn)槿〕龅膮^(qū)域大小各自不同,所以需要將每個候選區(qū)域縮放(warp)成統(tǒng)一的227x227的大小并輸入到CNN,將CNN的fc7層的輸出作為特征;
(4)將每個候選區(qū)域提取到的CNN特征輸入到SVM進(jìn)行分類。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第15頁RCNNRCNN使用傳統(tǒng)的選擇性搜索算法(SelectiveSearch,SS)來獲取候選框。然而該方法得到的候選框尺寸與長寬比例并不相同,但所使用的CNN網(wǎng)絡(luò)要求輸入尺寸是固定的,因此需要強(qiáng)制縮放到固定的尺寸(227像素×227像素)。在RCNN以及后續(xù)的目標(biāo)檢測方法中,都使用了IoU(IntersectionoverUnion,交并比)來評價(jià)目標(biāo)框的定位精度,其本質(zhì)是用來描述兩個候選框的重合程度。IoU越大,說明預(yù)測框與標(biāo)注的真實(shí)框越接近。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第16頁RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個分類模型(比如AlexNet)步驟二:對該模型做fine-tuning
(1)將分類數(shù)從1000改為20,比如20個物體類別+1個背景
(2)去掉最后一個全連接層DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第17頁RCNN的具體步驟步驟三:特征提取
(1)提取圖像的所有候選框(選擇性搜索SelectiveSearch);
(2)對于每一個區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個池化層的輸出(就是對候選框提取到的特征)存到硬盤。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第18頁RCNN的具體步驟步驟三:特征提取
(1)提取圖像的所有候選框(選擇性搜索SelectiveSearch);
(2)使用非極大值抑制(Non-MaxSuppression,NMS)剔除多余的候選框;
(3)對于每一個區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個池化層的輸出(就是對候選框提取到的特征)存到硬盤。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第19頁NMS的具體步驟非極大值抑制(Non-MaxSuppression,NMS)的處理流程為:
①按照SVM分類器得到的分類概率對所有候選框進(jìn)行得分排序,選出得分最高的候選框;
②遍歷其余的候選框,刪除與該候選框之間的IoU大于一定閾值的候選框;
③從保留下來的候選框中繼續(xù)選擇一個得分最高的候選框,重復(fù)上述過程,直到找到所有被留下來的候選框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第20頁RCNN的具體步驟步驟四:訓(xùn)練一個SVM分類器(二分類)來判斷這個候選框里物體的類別
每個類別對應(yīng)一個SVM,判斷是不是屬于這個類別,是就是positive,反之negative。
比如下圖,就是對狗分類的SVM。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第21頁RCNN的具體步驟步驟五:使用回歸器精細(xì)修正候選框位置:對于每一個類,訓(xùn)練一個線性回歸模型去判定這個框是否框得完美。邊框用四維向量來表示(x,y,w,h)來表示,四個量分別代表邊框中心點(diǎn)的橫坐標(biāo)、縱坐標(biāo),邊框的寬度、高度。邊框回歸采用最小二乘法設(shè)計(jì)損失函數(shù),邊框回歸的輸入是候選框內(nèi)的特征。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第22頁SPPNet和FastRCNNRCNN有以下不足:
①每個候選框都需要通過CNN計(jì)算特征,計(jì)算量極大、存儲空間占用極大;
②選擇性搜索提取的候選框質(zhì)量不夠好,導(dǎo)致進(jìn)入CNN訓(xùn)練的候選框中很多都是重復(fù)計(jì)算;
③特征提取、分類定位都是分模塊獨(dú)立訓(xùn)練,沒有聯(lián)合起來進(jìn)行系統(tǒng)性優(yōu)化,訓(xùn)練耗時長。針對RCNN的上述不足,出現(xiàn)了兩種比較具有代表性的改進(jìn)方案:SPPNet和FastRCNN
SPPNet全稱為SpatialPyramidPoolingNetworks,空間金字塔池化網(wǎng)絡(luò)。
FastRCNN則是原作者自己提出的改進(jìn)版。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第23頁SPPNet由于CNN只能接受固定規(guī)模的輸入,SPPNet為了適應(yīng)這一特性,采用在全連接層之前加入一個網(wǎng)絡(luò)層,即空間金字塔池化(SPP,spatialpyramidpoolinglayer)層,令其對任意的輸入都能產(chǎn)生固定的輸出。另外,SPPNet采用特征共享的方式,將整張圖片輸入CNN網(wǎng)絡(luò)中,每張圖片只需要提取一次特征。SPPNet相比于RCNN,通過特征共享和空間金字塔池化,極大提高了運(yùn)行效率。在精度基本保持不變的同時,大大節(jié)省了運(yùn)行時間。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第24頁FastRCNNFastRCNN相比于RCNN,改進(jìn)的點(diǎn)主要包括:
①不再對每個候選框,而是對整個圖像進(jìn)行CNN特征提??;
②不再使用SVM進(jìn)行分類,而是使用softmax進(jìn)行分類;
③將目標(biāo)分類和邊框回歸整合到一起。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第25頁FastRCNNFastRCNN與RCNN一樣,使用SS算生成多個候選框、劃分正負(fù)樣本。但FastRCNN使用了VGG16來進(jìn)行特征提取,其將整個圖像作為輸入,并在第5層的池化層得到特征圖。接下來將候選框映射到該特征圖上。對于多個候選框尺寸不同的問題,F(xiàn)astRCNN中,作者對候選區(qū)域(RegionofInterest,ROI)進(jìn)行ROI池化,得到相同維度的特征向量,輸入給后續(xù)的全連接層。ROI池化實(shí)際上是SPPNeT的一個精簡版。SPPNeT對每個proposal使用了不同大小的金字塔映射,而ROIpoolinglayer只需要下采樣到一個7x7的特征圖。即,可以把不同大小的輸入映射到一個固定尺度的特征向量。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第26頁ROI池化縮放過程如下:首先將候選區(qū)域按照預(yù)定義的規(guī)則劃分為各個部分,然后找到每個部分的最大值,最后輸出將最大值復(fù)制輸出。輸入特征圖的ROI區(qū)域劃分ROI池化后的輸出DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第27頁FastRCNN的效果FastRCNN沒有像RCNN那樣把分類與邊框回歸分為兩個過程,而是直接放到同一個網(wǎng)絡(luò)中進(jìn)行優(yōu)化,整合優(yōu)化的過程如下:首先ROI特征圖通過全連接層得到4096維的ROI特征向量,然后并行的連接兩個全連接層,其中一個輸出接softmax用于類別預(yù)測,另一個用于邊框回歸。損失函數(shù)的設(shè)計(jì)如下,其中Lcls用于衡量分類損失,Lloc用于衡量檢測框定位的損失。綜上,通過提高提取候選框的效率、使用softmax分類器替換SVM、將分類和邊框回歸正好到一起進(jìn)行優(yōu)化、使用SVD矩陣分解方式減少計(jì)算量等方法,使得FastRCNN比RCNN相比,訓(xùn)練時間從84h減少到了9.5h,測試時間從47s減少到了2.32s。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第28頁FasterRCNNFasterRCNN不再使用選擇性搜索(SelectiveSearch,SS),而是提出了區(qū)域生成網(wǎng)絡(luò)(RegionProposalNetwork,RPN),使得搜索速度不再成為限制測試時間的瓶頸。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第29頁FasterRCNNFasterRCNN使用VGG-16網(wǎng)絡(luò)提取特征,得到的特征圖直接進(jìn)入RPN,使用Anchor替代SelectiveSearch選取的候選區(qū)域來生成候選框。最后,選出包含物體的Anchor進(jìn)入ROIPooling提取特征。FasterRCNN損失函數(shù)的設(shè)計(jì)也有不同,其使用了多任務(wù)損失函數(shù),將邊框回歸BoundingBoxRegression直接加入到CNN網(wǎng)絡(luò)中訓(xùn)練。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第30頁AnchorAnchor即為錨框,是指特征圖上以每個點(diǎn)作為中心點(diǎn),生成多個大小比例不同的邊界框。原文選擇了3種尺度、3種長寬比,共9個Anchor,如右圖所示。如果圖像的尺寸是P像素×Q像素,則一共有P×Q×9個Anchor。訓(xùn)練時,需要向RPN網(wǎng)絡(luò)輸入一個監(jiān)督信息,根據(jù)Anchor和真實(shí)框IoU取值,判斷Anchor是否包含物體,與某一真實(shí)框IoU最大的Anchor或與任意真實(shí)框IoU>0.7的Anchor為正樣本、與所有真實(shí)框IoU<0.3的Anchor則為負(fù)樣本。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第31頁RPN(區(qū)域生成網(wǎng)絡(luò))RPN網(wǎng)絡(luò)的結(jié)構(gòu)如右圖所示。可以看到,PRN網(wǎng)絡(luò)一條線通過softmax分類獲得Anchor的正負(fù)樣本分類;另一條線用于計(jì)算對于Anchors的邊框回歸偏移量,得到較為準(zhǔn)確的proposal。Proposal層則綜合兩條線的結(jié)果獲取proposals,輸入給ROIpooling。因此,RPN網(wǎng)絡(luò)的損失函數(shù)同樣也分為兩項(xiàng),一項(xiàng)是分類分支的損失,另一項(xiàng)是邊框回歸分支的損失。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第32頁FasterRCNN的訓(xùn)練與提速原因分析FasterRCNN實(shí)際上由兩個網(wǎng)絡(luò)組成:RPN網(wǎng)絡(luò)和FastRCNN網(wǎng)絡(luò),二者需要分別進(jìn)行訓(xùn)練。訓(xùn)練的過程采用迭代訓(xùn)練的方式:先獨(dú)立訓(xùn)練RPN,再用RPN輸出的候選框訓(xùn)練FastRCNN;FastRCNN訓(xùn)練結(jié)束后又可以將參數(shù)傳給RPN網(wǎng)絡(luò),如此迭代訓(xùn)練,最后訓(xùn)練到想要的效果。FastR-CNN相對于R-CNN的提速原因就在于:不像R-CNN把每個候選區(qū)域給深度網(wǎng)絡(luò)提特征,而是整張圖提一次特征,再把候選框映射到第五個卷積層上,而FastR-CNN只需要計(jì)算一次特征,剩下的只需要在第五個卷積層上操作就可以了。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第33頁進(jìn)階的兩階段算法除了構(gòu)建圖像金字塔,還可以構(gòu)建特征金字塔,即FPN(FeaturePyramidNetwork),其將圖像縮放到不同尺度,在不同層使用不同的模型進(jìn)行預(yù)測,最后對不同層的預(yù)測進(jìn)行融合,使模型能夠具備檢測不同大小尺度物體的能力。淺層的特征圖分辨率高,保留了原區(qū)域中的大部分信息,有利于定位;深層的特征圖包含較強(qiáng)的語義信息,有利于分類識別。其他比較典型的兩階段目標(biāo)檢測算法還有CascadeRCNN、LibraRCNN等。特征提取的方式DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第34頁5.3單階段目標(biāo)檢測算法本節(jié)內(nèi)容:
(1)YOLO
(2)SSD
(3)YOLOv2
(4)Retina
(5)YOLO后續(xù)版本DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第35頁YOLOYOLO(YouOnlyLookOnce)是第一篇單階段目標(biāo)檢測算法,其首次把檢測任務(wù)當(dāng)做回歸問題來處理,把目標(biāo)定位和目標(biāo)分類兩個任務(wù)合并為一個任務(wù)。YOLO的主要過程DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第36頁YOLOYOLO的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,其含有24個卷積層和2個全連接層,其中卷積層用來提取特征,全連接層用來輸出位置和類別概率。YOLO網(wǎng)絡(luò)的輸入最終會被劃分為7×7個網(wǎng)格,如果某個對象的中心落在了這個網(wǎng)格中,則這個網(wǎng)格負(fù)責(zé)預(yù)測這個對象。對于每個網(wǎng)格,都預(yù)測2個邊框,因此總共預(yù)測了7×7×2個邊框(包括每個邊框是目標(biāo)的置信度,以及每個邊框在多個類別上的概率),最后使用NMS方法剔除冗余邊框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第37頁YOLO的損失函數(shù)原作者在設(shè)計(jì)YOLO的損失函數(shù)時,使用了平方和來計(jì)算損失。總的損失函數(shù)實(shí)際上就是各個因素帶來的損失的疊加。總的損失函數(shù)中共有以下幾項(xiàng):
①邊框的橫縱坐標(biāo)預(yù)測損失;
②邊框的長度寬度預(yù)測損失;
③網(wǎng)格包含目標(biāo)的方框的置信度的預(yù)測損失;
④網(wǎng)格不包含方框的置信度的預(yù)測損失;
⑤方框分類類別的預(yù)測損失。上述五項(xiàng)的損失通過設(shè)置權(quán)重值來調(diào)整占比。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第38頁YOLO的最終效果YOLO是首個單階段目標(biāo)檢測算法,其首次實(shí)現(xiàn)了端到端的訓(xùn)練方式,不再像RCNN系列算法那樣分階段訓(xùn)練和測試,使訓(xùn)練和測試的時間都大大縮短。同時,由于YOLO在訓(xùn)練和測試時都在整張圖片的基礎(chǔ)上進(jìn)行,能夠較好的學(xué)習(xí)上下文信息,比兩階段算法的背景誤檢率低很多。最后,YOLO算法的通用性更強(qiáng),其對非自然物體(如藝術(shù)類)圖像物體的檢測率高于DPM和RCNN系列算法。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第39頁SSD的網(wǎng)絡(luò)結(jié)構(gòu)SSD(SingleShotMultiBoxDetector,單次多邊框檢測器)網(wǎng)絡(luò)結(jié)構(gòu)如圖所示。采用VGG16作為特征提取模型,并將最后的2個全連接層替換為了4個卷積層。核心思路在于采用多卷積層提取的特征圖、多尺度的特征圖進(jìn)行融合后再檢測。在6個不同尺度的特征圖上設(shè)置候選框,訓(xùn)練和預(yù)測的邊界框正是以這些候選框?yàn)榛鶞?zhǔn),如圖所示。具有多層的特征圖,提高模型對多種尺度目標(biāo)的檢測能力和準(zhǔn)確性。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第40頁YOLOv2YOLO檢測算法雖然檢測速度快,但精度還不夠高。因此,原團(tuán)隊(duì)在YOLO的基礎(chǔ)上進(jìn)行優(yōu)化改進(jìn),得到了YOLOv2。YOLOv2使用自己設(shè)計(jì)的DarkNet-19,提升了輸入圖像的分辨率,使檢測精度得到了提高。YOLOv2在每個卷積層的后面都增加了一個BN(BatchNorm,批量歸一化)層,去掉了Dropout層。BN層的引入是為了對數(shù)據(jù)的分布進(jìn)行改善,改變方差的大小和均值,使數(shù)據(jù)更加符合真實(shí)數(shù)據(jù)的分布,防止數(shù)據(jù)的過擬合,增強(qiáng)了模型的非線性表達(dá)能力。YOLO對邊界框使用全連接層進(jìn)行預(yù)測,實(shí)際上使用全連接層會導(dǎo)致訓(xùn)練時丟失較多空間信息,位置預(yù)測的準(zhǔn)確性會下降。YOLOv2則借鑒了FasterRCNN的Anchor思想,同時又做了改進(jìn):使用聚類的方法對Anchor進(jìn)行聚類分析,聚類的依據(jù)就是IoU指標(biāo),最終選擇5個聚類中心。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第41頁YOLOv2對邊框位置的聚類YOLOv2中對于邊框位置的預(yù)測,首先根據(jù)劃分的網(wǎng)格位置來預(yù)測坐標(biāo),13×13像素的的特征圖上每個網(wǎng)格預(yù)測5個候選框,每個候選框上需要預(yù)測5個量(4個坐標(biāo)(x,y,h,w)、1個置信度σ)。假設(shè)一個網(wǎng)格中心與圖像左上角點(diǎn)的偏移是Cx、Cy,候選框的高度和寬度是Ph、Pw,則預(yù)測的邊框(bx,by,bh,bw)計(jì)算公式如右圖所示。聚類的依據(jù)就是IoU指標(biāo),最終選擇5個聚類中心。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第42頁YOLOv2的Anchor通過比較,發(fā)現(xiàn)使用上述5個聚類得到的Anchor進(jìn)行訓(xùn)練,比手動選擇選擇Anchor有更高的平均IoU值,有利于模型的快速收斂。右邊上圖展示了9種不同尺度的Anchor。右邊下圖展示了數(shù)據(jù)集VOC和COCO上的邊界框聚類分析結(jié)果。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第43頁YOLOv2的訓(xùn)練YOLOv2的訓(xùn)練包括3個階段:
(1)首先,在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練DarkNet-19,使用的輸入圖像尺寸為224×224,共訓(xùn)練160個epoch。
(2)接著,將輸入圖像分辨率調(diào)整到448×448,并在ImageNet數(shù)據(jù)集上微調(diào)分類模型,訓(xùn)練10個epoch。
(3)最后,修改DarkNet-19網(wǎng)絡(luò)為檢測模型,并在檢測數(shù)據(jù)集上繼續(xù)微調(diào)網(wǎng)絡(luò)??傮w而言,YOLOv2吸收了其他目標(biāo)檢測模型的很多方法,使得YOLOv2相比于YOLO,保證速度差不多的情況下提高了檢測精度。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第44頁RetinaNet的網(wǎng)絡(luò)結(jié)構(gòu)RetinaNet是YOLOv2誕生后、YOLOv3誕生前提出的一款目標(biāo)檢測模型,結(jié)構(gòu)如下圖所示。
特征提取網(wǎng)絡(luò)是殘差網(wǎng)絡(luò)ResNet-50,特征融合處理使用的是特征金字塔(FPN)網(wǎng)絡(luò),其FPN網(wǎng)絡(luò)用的是自頂向下的FPN結(jié)構(gòu),使其能夠?qū)^小物體也能夠保持檢測的精度。對于FPN網(wǎng)絡(luò)輸出的三個尺寸的特征圖,又使用了三個可以并行進(jìn)行分類和回歸的子網(wǎng)絡(luò)。這三個子網(wǎng)絡(luò)的權(quán)重是共享的,每個子網(wǎng)絡(luò)由5個卷積層構(gòu)成,其中的最后一個卷積層的輸出通道數(shù)為檢測目標(biāo)的類別個數(shù)。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第45頁RetinaNet的FocallossRetinaNet最重要的創(chuàng)新點(diǎn)在于提出了Focalloss。以往的單階段目標(biāo)檢測算法對密集采樣的情形下精度更高更快,但精度落后于兩階段算法。作者發(fā)現(xiàn)造成此現(xiàn)象的原因在于訓(xùn)練時前景和背景類別不平衡問題。為此,坐著設(shè)計(jì)的Focalloss能夠:降低分類良好例子的loss,將訓(xùn)練重點(diǎn)放在稀疏的例子上,有效的減少了easynegative給訓(xùn)練帶來的影響。Focalloss本質(zhì)上是一個能夠動態(tài)縮放交叉熵?fù)p失的函數(shù),當(dāng)正確類別的置信度提高時,縮放衰減因子衰減為0;縮放因子可以自動降低easy例子在訓(xùn)練期間貢獻(xiàn)loss的權(quán)重,使得模型更加注重hard的例子。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第46頁YOLOv3YOLOv3是YOLOv2的改進(jìn)版本。首先是網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn):YOLOv3的骨干網(wǎng)絡(luò)使用的是DarkNet-53,其相比于DarkNet-19,加深了網(wǎng)絡(luò)層數(shù),并加入了殘差網(wǎng)絡(luò)。原論文中通過對比,指出DarkNet-53比ResNet-101的速度快約1.5倍,比ResNet-152速度快約2倍。其次,YOLOv3在多尺度檢測上的改進(jìn):YOLOv3借鑒了使用多層級特征圖進(jìn)行檢測的思想,小尺寸特征圖用于檢測大物體,大尺寸特征圖檢測小尺寸物體。YOLOv3使用聚類的方法得到9種尺度的邊界框,最終輸出3種尺寸的特征圖。最后,YOLOv3使用邏輯回歸代替了softmax。如此便能實(shí)現(xiàn)在一些復(fù)雜場景下,實(shí)現(xiàn)多標(biāo)簽多分類問題;如一個目標(biāo)同時屬于多個類別的情景。YOLO系列本身在不斷的發(fā)展,后續(xù)眾多算法的提出,共同組成了現(xiàn)在龐大的YOLO家族。截止2023年9月,YOLO系列已發(fā)展到Y(jié)OLOv8。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第47頁5.4AnchorFree目標(biāo)檢測算法本節(jié)內(nèi)容:
(1)CornerNet
(2)FCOS和CenterNet
(3)DETR
DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第48頁AnchorFree算法的提出使用Anchor的弊端有:
第一,該方法過于依賴手動設(shè)計(jì),超參數(shù)過多(如Anchor的數(shù)量、大小、寬高比等),調(diào)參困難。在實(shí)際項(xiàng)目中,這些參數(shù)往往需要根據(jù)真實(shí)數(shù)據(jù)實(shí)際的參數(shù)來進(jìn)行確定。比如,車牌檢測和人臉檢測,Anchor的寬高比一定是不同的。此類超參數(shù)需要根據(jù)經(jīng)驗(yàn)來進(jìn)行確定,一種檢測任務(wù)里Anchor的超參數(shù)往往在另一個任務(wù)中并不適用。
第二,基于Anchor的方法在訓(xùn)練和預(yù)測的過程非常耗時和低效。為了增大模型的召回率,則還需要密集的設(shè)置更多的Anchor,讓訓(xùn)練和預(yù)測的耗時更長。同時,盡管Anchor非常多,但實(shí)際上真正對訓(xùn)練起作用的正樣本的Anchor卻不一定很多,這就導(dǎo)致了基于Anchor算法的低效。因此,目標(biāo)檢測領(lǐng)域出現(xiàn)了一類新的算法:AnchorFree目標(biāo)檢測算法。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第49頁CornerNetCornerNet是一種基于角點(diǎn)的AnchorFree方法。作者認(rèn)為,目標(biāo)檢測里面的目標(biāo)框,實(shí)際上只要檢測目標(biāo)框左上角點(diǎn)和右下角點(diǎn),再組合起來,便鎖定了這個目標(biāo)框的位置。之所以選擇角點(diǎn)而不是中心點(diǎn),是因?yàn)榻屈c(diǎn)更有利于訓(xùn)練,即左上角點(diǎn)之和左邊框和上邊框有關(guān),右下角點(diǎn)只和右邊框和下邊框有關(guān)。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第50頁CornerNetCornerNet的網(wǎng)絡(luò)結(jié)構(gòu)如右圖所示。首先輸入一張圖片,通過卷積神經(jīng)網(wǎng)絡(luò)來提取特征。提取出來的特征會輸入給兩個檢測器,分別去檢測圖片的左上角點(diǎn)和右下角點(diǎn)。每個檢測器分成Heatmaps和Embeddings兩層。其中,Heatmaps層找到角點(diǎn)的位置,并對其進(jìn)行分類;Embedding分支則將兩個檢測器里Heatmaps的輸出角點(diǎn)進(jìn)行匹配,匹配成功則組合到一起,形成檢測框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第51頁Heatmaps層的設(shè)計(jì)、CornerPoolingHeatmaps層的設(shè)計(jì),主要基于以下兩個規(guī)則:
第一,對于角點(diǎn)位置的預(yù)測,使用像素點(diǎn)位置是角點(diǎn)概率的高斯分布的圓圈來回歸真實(shí)框角點(diǎn)。靠近圓心的位置目標(biāo)值接近于1,靠近邊緣的區(qū)域目標(biāo)值接近于0。
第二,使用CornerPooling的方法來對訓(xùn)練過程中的角點(diǎn)賦予更多信息。以獲得左上角點(diǎn)的特征為例,其特征值的計(jì)算分為兩步,首先是從右往左掃描,保留每行中最大的像素值;然后是從下向上掃描,保留每列中最大的像素值,如下圖所示。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第52頁CornerNet損失函數(shù)、改進(jìn)方案在網(wǎng)絡(luò)的損失函數(shù)設(shè)計(jì)中,損失值等于Heatmaps、Embeddings和一個Offset層各自損失值的加權(quán)和。
(1)Heatmaps層的損失值與Focalloss相似,其對難易樣本的劃分標(biāo)準(zhǔn)是當(dāng)前點(diǎn)與真實(shí)點(diǎn)之間的距離;距離較遠(yuǎn)時會認(rèn)為該點(diǎn)是一個困難的樣本,其權(quán)重更大,需要更多的訓(xùn)練去學(xué)習(xí)。
(2)Embeddings層的損失值,則由同一目標(biāo)的角點(diǎn)匹配損失、不同目標(biāo)的角點(diǎn)匹配損失,加權(quán)求和得到。訓(xùn)練過程中,希望前者的損失值小,而后者損失值大。
(3)Offset層的損失值,用來降低訓(xùn)練過程中角點(diǎn)經(jīng)過降采樣之后坐標(biāo)與原始坐標(biāo)之間的誤差。通過對比實(shí)驗(yàn),CornerNet的檢測精度已經(jīng)與RetinaNet、CascadeRCNN等Anchor-based方法差距不大,但CornerNet方法也存在不足:
(1)其對同一類別的不同目標(biāo),CornerNet容易判定為一個目標(biāo)并形成誤檢框。
(2)其使用的Hourglass-104網(wǎng)絡(luò),所以其檢測速度仍然還有可以優(yōu)化的空間。原作者后續(xù)又提出了改進(jìn)版的CornerNet-Lite,減少了對每個像素點(diǎn)的處理。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第53頁FCOSFCOS的核心思想是,使用全卷積網(wǎng)絡(luò)FCN直接對特征圖的每一個位置到目標(biāo)框四邊的距離進(jìn)行回歸,每個點(diǎn)都是訓(xùn)練樣本。FCOS的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示。首先其采用了一個FPN結(jié)構(gòu),在不同層級預(yù)測不同尺度的目標(biāo),能有效對圖像中大小不同但位置重疊的物體進(jìn)行很好的區(qū)分。FPN輸出的5個特征圖進(jìn)入5個Heads網(wǎng)絡(luò),每個Heads網(wǎng)絡(luò)里面又有分類、中心度、回歸三個分支。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第54頁FCOS在Heads網(wǎng)絡(luò)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人信用貸款協(xié)議(2024年版)
- 2025年度健康食品研發(fā)與購銷合作框架協(xié)議3篇
- 2025年寵物醫(yī)院聯(lián)合科研項(xiàng)目合作協(xié)議3篇
- 2025版事業(yè)單位新員工試用期勞動合同范本3篇
- 小學(xué)課外閱讀與語文學(xué)科素養(yǎng)的培育
- 科技型企業(yè)組織架構(gòu)的靈活性與穩(wěn)定性
- 二零二五年餐飲業(yè)食品安全宣傳教育合作協(xié)議書模板3篇
- 2025版仙崇線道路養(yǎng)護(hù)與管理服務(wù)合同3篇
- 中介服務(wù)居間合同范本(2024年版)版B版
- 二零二五版集裝箱堆場管理及服務(wù)合同3篇
- 《色彩基礎(chǔ)》課程標(biāo)準(zhǔn)
- 人力資源 -人效評估指導(dǎo)手冊
- 大疆80分鐘在線測評題
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 2024中考復(fù)習(xí)必背初中英語單詞詞匯表(蘇教譯林版)
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護(hù)理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費(fèi)報(bào)銷單
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
評論
0/150
提交評論