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