深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐_第1頁
深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐_第2頁
深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐_第3頁
深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐_第4頁
深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Chapter5基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐第五章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自動駕駛目標(biāo)檢測技術(shù)應(yīng)用及案例介紹

目錄Content5.6實(shí)踐項(xiàng)目DeepLearningAndAutonomousDriving深度學(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)域里一個(gè)重要的研究方向。其主要任務(wù)是判斷數(shù)字圖像中是否具有目標(biāo)對象的區(qū)域,并輸出該區(qū)域的位置和該區(qū)域是此目標(biāo)對象的置信度。目標(biāo)檢測包含兩個(gè)子任務(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);其中,一個(gè)xml文件對應(yīng)一張圖片,用于保存圖片的標(biāo)注信息。COCO格式是微軟構(gòu)建的一種目標(biāo)檢測大型基準(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í)與自動駕駛應(yīng)用第8頁目標(biāo)檢測評價(jià)指標(biāo)評價(jià)一種目標(biāo)檢測算法可以從兩個(gè)角度考慮

一是目標(biāo)檢測模型的復(fù)雜度,二是目標(biāo)檢測模型的性能。前者反映了模型在應(yīng)用時(shí)需要的存儲空間大小、計(jì)算資源多少、運(yùn)行時(shí)間長短。

常用指標(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)一個(gè)模型的好壞,因此定義平均正確率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是首個(gè)將深度學(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個(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í)與自動駕駛應(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ì)是用來描述兩個(gè)候選框的重合程度。IoU越大,說明預(yù)測框與標(biāo)注的真實(shí)框越接近。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第16頁RCNN的具體步驟步驟一:訓(xùn)練(或者下載)一個(gè)分類模型(比如AlexNet)步驟二:對該模型做fine-tuning

(1)將分類數(shù)從1000改為20,比如20個(gè)物體類別+1個(gè)背景

(2)去掉最后一個(gè)全連接層DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第17頁RCNN的具體步驟步驟三:特征提取

(1)提取圖像的所有候選框(選擇性搜索SelectiveSearch);

(2)對于每一個(gè)區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個(gè)池化層的輸出(就是對候選框提取到的特征)存到硬盤。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第18頁RCNN的具體步驟步驟三:特征提取

(1)提取圖像的所有候選框(選擇性搜索SelectiveSearch);

(2)使用非極大值抑制(Non-MaxSuppression,NMS)剔除多余的候選框;

(3)對于每一個(gè)區(qū)域:修正區(qū)域大小以適合CNN的輸入,做一次前向運(yùn)算,將第五個(gè)池化層的輸出(就是對候選框提取到的特征)存到硬盤。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第19頁NMS的具體步驟非極大值抑制(Non-MaxSuppression,NMS)的處理流程為:

①按照SVM分類器得到的分類概率對所有候選框進(jìn)行得分排序,選出得分最高的候選框;

②遍歷其余的候選框,刪除與該候選框之間的IoU大于一定閾值的候選框;

③從保留下來的候選框中繼續(xù)選擇一個(gè)得分最高的候選框,重復(fù)上述過程,直到找到所有被留下來的候選框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第20頁RCNN的具體步驟步驟四:訓(xùn)練一個(gè)SVM分類器(二分類)來判斷這個(gè)候選框里物體的類別

每個(gè)類別對應(yīng)一個(gè)SVM,判斷是不是屬于這個(gè)類別,是就是positive,反之negative。

比如下圖,就是對狗分類的SVM。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第21頁RCNN的具體步驟步驟五:使用回歸器精細(xì)修正候選框位置:對于每一個(gè)類,訓(xùn)練一個(gè)線性回歸模型去判定這個(gè)框是否框得完美。邊框用四維向量來表示(x,y,w,h)來表示,四個(gè)量分別代表邊框中心點(diǎn)的橫坐標(biāo)、縱坐標(biāo),邊框的寬度、高度。邊框回歸采用最小二乘法設(shè)計(jì)損失函數(shù),邊框回歸的輸入是候選框內(nèi)的特征。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第22頁SPPNet和FastRCNNRCNN有以下不足:

①每個(gè)候選框都需要通過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)練耗時(shí)長。針對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)這一特性,采用在全連接層之前加入一個(gè)網(wǎng)絡(luò)層,即空間金字塔池化(SPP,spatialpyramidpoolinglayer)層,令其對任意的輸入都能產(chǎn)生固定的輸出。另外,SPPNet采用特征共享的方式,將整張圖片輸入CNN網(wǎng)絡(luò)中,每張圖片只需要提取一次特征。SPPNet相比于RCNN,通過特征共享和空間金字塔池化,極大提高了運(yùn)行效率。在精度基本保持不變的同時(shí),大大節(jié)省了運(yùn)行時(shí)間。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第24頁FastRCNNFastRCNN相比于RCNN,改進(jìn)的點(diǎn)主要包括:

①不再對每個(gè)候選框,而是對整個(gè)圖像進(jìn)行CNN特征提??;

②不再使用SVM進(jìn)行分類,而是使用softmax進(jìn)行分類;

③將目標(biāo)分類和邊框回歸整合到一起。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第25頁FastRCNNFastRCNN與RCNN一樣,使用SS算生成多個(gè)候選框、劃分正負(fù)樣本。但FastRCNN使用了VGG16來進(jìn)行特征提取,其將整個(gè)圖像作為輸入,并在第5層的池化層得到特征圖。接下來將候選框映射到該特征圖上。對于多個(gè)候選框尺寸不同的問題,F(xiàn)astRCNN中,作者對候選區(qū)域(RegionofInterest,ROI)進(jìn)行ROI池化,得到相同維度的特征向量,輸入給后續(xù)的全連接層。ROI池化實(shí)際上是SPPNeT的一個(gè)精簡版。SPPNeT對每個(gè)proposal使用了不同大小的金字塔映射,而ROIpoolinglayer只需要下采樣到一個(gè)7x7的特征圖。即,可以把不同大小的輸入映射到一個(gè)固定尺度的特征向量。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第26頁ROI池化縮放過程如下:首先將候選區(qū)域按照預(yù)定義的規(guī)則劃分為各個(gè)部分,然后找到每個(gè)部分的最大值,最后輸出將最大值復(fù)制輸出。輸入特征圖的ROI區(qū)域劃分ROI池化后的輸出DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第27頁FastRCNN的效果FastRCNN沒有像RCNN那樣把分類與邊框回歸分為兩個(gè)過程,而是直接放到同一個(gè)網(wǎng)絡(luò)中進(jìn)行優(yōu)化,整合優(yōu)化的過程如下:首先ROI特征圖通過全連接層得到4096維的ROI特征向量,然后并行的連接兩個(gè)全連接層,其中一個(gè)輸出接softmax用于類別預(yù)測,另一個(gè)用于邊框回歸。損失函數(shù)的設(shè)計(jì)如下,其中Lcls用于衡量分類損失,Lloc用于衡量檢測框定位的損失。綜上,通過提高提取候選框的效率、使用softmax分類器替換SVM、將分類和邊框回歸正好到一起進(jìn)行優(yōu)化、使用SVD矩陣分解方式減少計(jì)算量等方法,使得FastRCNN比RCNN相比,訓(xùn)練時(shí)間從84h減少到了9.5h,測試時(shí)間從47s減少到了2.32s。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第28頁FasterRCNNFasterRCNN不再使用選擇性搜索(SelectiveSearch,SS),而是提出了區(qū)域生成網(wǎng)絡(luò)(RegionProposalNetwork,RPN),使得搜索速度不再成為限制測試時(shí)間的瓶頸。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即為錨框,是指特征圖上以每個(gè)點(diǎn)作為中心點(diǎn),生成多個(gè)大小比例不同的邊界框。原文選擇了3種尺度、3種長寬比,共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í)與自動駕駛應(yīng)用第31頁RPN(區(qū)域生成網(wǎng)絡(luò))RPN網(wǎng)絡(luò)的結(jié)構(gòu)如右圖所示??梢钥吹剑琍RN網(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í)際上由兩個(gè)網(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把每個(gè)候選區(qū)域給深度網(wǎng)絡(luò)提特征,而是整張圖提一次特征,再把候選框映射到第五個(gè)卷積層上,而FastR-CNN只需要計(jì)算一次特征,剩下的只需要在第五個(gè)卷積層上操作就可以了。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)分類兩個(gè)任務(wù)合并為一個(gè)任務(wù)。YOLO的主要過程DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第36頁YOLOYOLO的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,其含有24個(gè)卷積層和2個(gè)全連接層,其中卷積層用來提取特征,全連接層用來輸出位置和類別概率。YOLO網(wǎng)絡(luò)的輸入最終會被劃分為7×7個(gè)網(wǎng)格,如果某個(gè)對象的中心落在了這個(gè)網(wǎng)格中,則這個(gè)網(wǎng)格負(fù)責(zé)預(yù)測這個(gè)對象。對于每個(gè)網(wǎng)格,都預(yù)測2個(gè)邊框,因此總共預(yù)測了7×7×2個(gè)邊框(包括每個(gè)邊框是目標(biāo)的置信度,以及每個(gè)邊框在多個(gè)類別上的概率),最后使用NMS方法剔除冗余邊框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第37頁YOLO的損失函數(shù)原作者在設(shè)計(jì)YOLO的損失函數(shù)時(shí),使用了平方和來計(jì)算損失??偟膿p失函數(shù)實(shí)際上就是各個(gè)因素帶來的損失的疊加??偟膿p失函數(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是首個(gè)單階段目標(biāo)檢測算法,其首次實(shí)現(xiàn)了端到端的訓(xùn)練方式,不再像RCNN系列算法那樣分階段訓(xùn)練和測試,使訓(xùn)練和測試的時(shí)間都大大縮短。同時(shí),由于YOLO在訓(xùn)練和測試時(shí)都在整張圖片的基礎(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個(gè)全連接層替換為了4個(gè)卷積層。核心思路在于采用多卷積層提取的特征圖、多尺度的特征圖進(jìn)行融合后再檢測。在6個(gè)不同尺度的特征圖上設(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在每個(gè)卷積層的后面都增加了一個(gè)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)練時(shí)丟失較多空間信息,位置預(yù)測的準(zhǔn)確性會下降。YOLOv2則借鑒了FasterRCNN的Anchor思想,同時(shí)又做了改進(jìn):使用聚類的方法對Anchor進(jìn)行聚類分析,聚類的依據(jù)就是IoU指標(biāo),最終選擇5個(gè)聚類中心。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第41頁YOLOv2對邊框位置的聚類YOLOv2中對于邊框位置的預(yù)測,首先根據(jù)劃分的網(wǎng)格位置來預(yù)測坐標(biāo),13×13像素的的特征圖上每個(gè)網(wǎng)格預(yù)測5個(gè)候選框,每個(gè)候選框上需要預(yù)測5個(gè)量(4個(gè)坐標(biāo)(x,y,h,w)、1個(gè)置信度σ)。假設(shè)一個(gè)網(wǎng)格中心與圖像左上角點(diǎn)的偏移是Cx、Cy,候選框的高度和寬度是Ph、Pw,則預(yù)測的邊框(bx,by,bh,bw)計(jì)算公式如右圖所示。聚類的依據(jù)就是IoU指標(biāo),最終選擇5個(gè)聚類中心。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第42頁YOLOv2的Anchor通過比較,發(fā)現(xiàn)使用上述5個(gè)聚類得到的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個(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ò)為檢測模型,并在檢測數(shù)據(jù)集上繼續(xù)微調(diào)網(wǎng)絡(luò)。總體而言,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ò)輸出的三個(gè)尺寸的特征圖,又使用了三個(gè)可以并行進(jìn)行分類和回歸的子網(wǎng)絡(luò)。這三個(gè)子網(wǎng)絡(luò)的權(quán)重是共享的,每個(gè)子網(wǎng)絡(luò)由5個(gè)卷積層構(gòu)成,其中的最后一個(gè)卷積層的輸出通道數(shù)為檢測目標(biāo)的類別個(gè)數(shù)。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第45頁RetinaNet的FocallossRetinaNet最重要的創(chuàng)新點(diǎn)在于提出了Focalloss。以往的單階段目標(biāo)檢測算法對密集采樣的情形下精度更高更快,但精度落后于兩階段算法。作者發(fā)現(xiàn)造成此現(xiàn)象的原因在于訓(xùn)練時(shí)前景和背景類別不平衡問題。為此,坐著設(shè)計(jì)的Focalloss能夠:降低分類良好例子的loss,將訓(xùn)練重點(diǎn)放在稀疏的例子上,有效的減少了easynegative給訓(xùn)練帶來的影響。Focalloss本質(zhì)上是一個(gè)能夠動態(tài)縮放交叉熵?fù)p失的函數(shù),當(dāng)正確類別的置信度提高時(shí),縮放衰減因子衰減為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)簽多分類問題;如一個(gè)目標(biāo)同時(shí)屬于多個(gè)類別的情景。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ù)往往在另一個(gè)任務(wù)中并不適用。

第二,基于Anchor的方法在訓(xùn)練和預(yù)測的過程非常耗時(shí)和低效。為了增大模型的召回率,則還需要密集的設(shè)置更多的Anchor,讓訓(xùn)練和預(yù)測的耗時(shí)更長。同時(shí),盡管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),再組合起來,便鎖定了這個(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í)與自動駕駛應(yīng)用第50頁CornerNetCornerNet的網(wǎng)絡(luò)結(jié)構(gòu)如右圖所示。首先輸入一張圖片,通過卷積神經(jīng)網(wǎng)絡(luò)來提取特征。提取出來的特征會輸入給兩個(gè)檢測器,分別去檢測圖片的左上角點(diǎn)和右下角點(diǎn)。每個(gè)檢測器分成Heatmaps和Embeddings兩層。其中,Heatmaps層找到角點(diǎn)的位置,并對其進(jìn)行分類;Embedding分支則將兩個(gè)檢測器里Heatmaps的輸出角點(diǎn)進(jìn)行匹配,匹配成功則組合到一起,形成檢測框。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第51頁Heatmaps層的設(shè)計(jì)、CornerPoolingHeatmaps層的設(shè)計(jì),主要基于以下兩個(gè)規(guī)則:

第一,對于角點(diǎn)位置的預(yù)測,使用像素點(diǎn)位置是角點(diǎn)概率的高斯分布的圓圈來回歸真實(shí)框角點(diǎn)??拷鼒A心的位置目標(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和一個(gè)Offset層各自損失值的加權(quán)和。

(1)Heatmaps層的損失值與Focalloss相似,其對難易樣本的劃分標(biāo)準(zhǔn)是當(dāng)前點(diǎn)與真實(shí)點(diǎn)之間的距離;距離較遠(yuǎn)時(shí)會認(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)練過程中,希望前者的損失值小,而后者損失值大。

(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容易判定為一個(gè)目標(biāo)并形成誤檢框。

(2)其使用的Hourglass-104網(wǎng)絡(luò),所以其檢測速度仍然還有可以優(yōu)化的空間。原作者后續(xù)又提出了改進(jìn)版的CornerNet-Lite,減少了對每個(gè)像素點(diǎn)的處理。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第53頁FCOSFCOS的核心思想是,使用全卷積網(wǎng)絡(luò)FCN直接對特征圖的每一個(gè)位置到目標(biāo)框四邊的距離進(jìn)行回歸,每個(gè)點(diǎn)都是訓(xùn)練樣本。FCOS的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示。首先其采用了一個(gè)FPN結(jié)構(gòu),在不同層級預(yù)測不同尺度的目標(biāo),能有效對圖像中大小不同但位置重疊的物體進(jìn)行很好的區(qū)分。FPN輸出的5個(gè)特征圖進(jìn)入5個(gè)Heads網(wǎng)絡(luò),每個(gè)Heads網(wǎng)絡(luò)里面又有分類、中心度、回歸三個(gè)分支。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第54頁FCOS在Heads網(wǎng)絡(luò)里,分類分支采用Focalloss,以像素點(diǎn)為訓(xùn)練樣本,每個(gè)像素被標(biāo)上類別或背景標(biāo)簽進(jìn)行訓(xùn)練?;貧w分支采用IoUloss,以真實(shí)框每個(gè)像素到真實(shí)框四條邊的距離作為監(jiān)督值進(jìn)行邊框回歸的訓(xùn)練;最后,論文里使用設(shè)置閾值的方式,將不同尺寸的邊框分配給不同層級Heads的輸出。FCOS首次提出了中心度(Center-ness)的概念:在一個(gè)預(yù)測框中,像素點(diǎn)離目標(biāo)中心越近,center-ness值越大。使用中心度損失可以很好的抑制那些離目標(biāo)中心很遠(yuǎn)的像素點(diǎn)對訓(xùn)練的影響,最后使用NMS方法便可以將這些遠(yuǎn)離中心的像素點(diǎn)進(jìn)行濾除。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第55頁CenterNetCenterNet也是一種AnchorFree目標(biāo)檢測算法,其核心思想就是檢測中心點(diǎn)和物體尺寸(長和寬),如下圖所示。CenterNet訓(xùn)練時(shí),指定每個(gè)位置僅有一個(gè)樣本,不必使用NMS進(jìn)行篩選。對于物體尺寸的預(yù)測問題,CenterNet選擇直接預(yù)測真實(shí)框的大小,這使得其靈活性較高,方便擴(kuò)展到其他任務(wù)。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第56頁CenterNet與單階段Anchor-based方法相比,CenterNet網(wǎng)絡(luò)中每個(gè)中心點(diǎn)都可以認(rèn)為是一個(gè)不含形狀信息的Anchor。每個(gè)物體僅有一個(gè)正樣本點(diǎn),不再需要NMS,僅通過提取heatmap上局部最大值的位置即可。另外,CenterNet分配正樣本時(shí)僅依賴位置而不依賴overlap,沒有手動區(qū)分前景背景的閾值。與CornerNet相比,CenterNet同樣使用heatmap和變種focalloss進(jìn)行訓(xùn)練、使用offset分支來彌補(bǔ)下采樣點(diǎn)的誤差,不同之處是不再需要對關(guān)鍵點(diǎn)進(jìn)行配對操作。最后,CenterNet直接去預(yù)測輸入圖像中預(yù)測框的大小。訓(xùn)練的監(jiān)督信息,只在真實(shí)框的中心點(diǎn)處產(chǎn)生,并使用一個(gè)L1loss進(jìn)行計(jì)算。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第57頁DETRDETR是首個(gè)將Transformer應(yīng)用于目標(biāo)檢測的算法,其在保證了與FasterRCNN相當(dāng)?shù)乃俣群蜏?zhǔn)確率的同時(shí),大大簡化了目標(biāo)檢測的流程;避免了NMS、Anchor等人工設(shè)計(jì)組件的需求,首創(chuàng)了基于Transformer的目標(biāo)檢測框架,成為當(dāng)下目標(biāo)檢測領(lǐng)域的熱點(diǎn)。DETR的總體思路就是把目標(biāo)檢測看作是一個(gè)集合預(yù)測的問題,并且使用Transformer來預(yù)測邊框的集合。DETR框架總共分為四個(gè)部分:骨干網(wǎng)絡(luò)、編碼層、解碼層、預(yù)測層,如下圖所示。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第58頁DETR的網(wǎng)絡(luò)結(jié)構(gòu)其中的骨干網(wǎng)絡(luò),是DETR的特征提取層。接下來,將特征與特征的位置信息進(jìn)行拼接送入編碼層。編碼層得到的結(jié)果是圖像物體編碼后的特征。DETR的解碼層使用多頭自編碼器和編碼器-解碼器注意力機(jī)制進(jìn)行轉(zhuǎn)換。最終預(yù)測層的預(yù)測是一個(gè)由帶有ReLU激活函數(shù)、具有隱藏層的3層感知器和線性層計(jì)算的,即FFN。FNN預(yù)測框標(biāo)準(zhǔn)化中心坐標(biāo)、高度和寬度,輸入圖像。最后線性層使用softmax函數(shù)預(yù)測類標(biāo)簽。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第59頁5.5自動駕駛目標(biāo)檢測技術(shù)應(yīng)用及案例介紹本節(jié)內(nèi)容:

(1)自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述

(2)自動駕駛障礙物危險(xiǎn)等級預(yù)測案例介紹

DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第60頁自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述隨著人工智能技術(shù)以及車載感知元器件的發(fā)展,自動駕駛感知技術(shù)的上限正在不斷提高。自動駕駛的感知模塊作為自動駕駛系統(tǒng)的“眼睛”,是整個(gè)系統(tǒng)中必要且關(guān)鍵的組成部分?;谝曈X的目標(biāo)檢測是自動駕駛感知技術(shù)的重要手段,其主要任務(wù)是從車載的光學(xué)傳感器(即攝像頭)處獲得圖像,并從中快速、精準(zhǔn)、穩(wěn)定的識別出各個(gè)目標(biāo)的類別與位置。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第61頁自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述過去的二十多年里,基于二維視覺圖像的目標(biāo)檢測方法從傳統(tǒng)目標(biāo)檢測算法、發(fā)展到基于深度學(xué)習(xí)的目標(biāo)檢測算法,其泛化能力、精度等,都有了大幅度的提高。具體而言,傳統(tǒng)目標(biāo)檢測算法強(qiáng)依賴于人工設(shè)計(jì)的規(guī)則,泛化能力不強(qiáng),僅對特定特征、特定類別有效,且檢測精度難以保證,不適合于自動駕駛安全性、可靠性的要求。而基于深度學(xué)習(xí)的目標(biāo)檢測算法,借助于卷積神經(jīng)網(wǎng)絡(luò)的表達(dá)能力和泛化能力,可對多種目標(biāo)進(jìn)行檢測,且檢測精度、速度也在不斷提高,能很好的滿足自動駕駛的需求。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第62頁自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述傳統(tǒng)的目標(biāo)檢測算法需要人工設(shè)定規(guī)則,所以此類自動駕駛目標(biāo)檢測方法主要是對某一類特定的目標(biāo)進(jìn)行檢測,如行人檢測、車輛檢測、交通標(biāo)志檢測等。Liu等人對Haar特征,利用SVM分類器進(jìn)行檢測,構(gòu)建了一種車輛檢測器。通過該檢測器在試驗(yàn)車輛上檢測后方車輛,并實(shí)現(xiàn)了輔助自車實(shí)現(xiàn)變道行為。Cheon等人則利用對稱HOG算子,對圖像中的特征進(jìn)行提取,實(shí)現(xiàn)對車輛的檢測。對于車輛變道時(shí)視野盲區(qū)內(nèi)的目標(biāo),Lin等人設(shè)計(jì)了一種基于外觀和邊緣特征的DPM算法,其利用車輛不同視角來建立多個(gè)模型、利用冗余的輔助檢測器來檢測視野盲區(qū)的目標(biāo)車輛。對于交通標(biāo)志的檢測,Ellahyani提出了一種利用方向梯度直方圖(HOG)特征擴(kuò)展到HIS顏色空間的方式,將局部的自相似特征進(jìn)行結(jié)合作為特征描述符,使用隨機(jī)森林和SVM來進(jìn)行目標(biāo)檢測的分類。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第63頁自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述受限于兩階段算法本身的速度、執(zhí)行時(shí)間,自動駕駛中應(yīng)用更多的是單階段的目標(biāo)檢測算法,如SSD算法、YOLO系列算法等。對于SSD算法:陳強(qiáng)等人對SSD算法中的特征融合結(jié)構(gòu)、損失函數(shù)進(jìn)行了改進(jìn),使復(fù)雜交通場景中的漏檢問題得以減少,提高了目標(biāo)檢測的定位的精確度。葉召元等人基于SSD算法提出的DFSSD則能夠?qū)D像中的復(fù)雜背景展示出了較好的抗干擾能力,小目標(biāo)的誤檢率得到降低、重疊目標(biāo)的檢測性能得到加強(qiáng)。馬樂等人基于SSD算法提出了D-D-SSD算法,其引入空洞卷積、增加特征融合策略、優(yōu)化激活函數(shù)與損失函數(shù)。其在識別高速公路上的車輛時(shí),對于不同的場景(如白天、夜晚、雨雪)下都有較好的準(zhǔn)確性。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第64頁自動駕駛目標(biāo)檢測技術(shù)應(yīng)用概述YOLO系列算法:網(wǎng)絡(luò)結(jié)構(gòu)簡單、預(yù)測速度快,故應(yīng)用廣泛。呂禾豐等人對YOLOv5中的損失函數(shù)進(jìn)行了改進(jìn),即使用EIOU(efficientintersectionoverunion)損失函數(shù)替代GIOU(generalizedintersectionoverunion)損失函數(shù),使用ClusterNMS代替Weighted-NMS算法。此方案在交通標(biāo)志的檢測中得到應(yīng)用,模型的精度、生成檢測框的準(zhǔn)確率都有了較好的提升。Jensen等利用YOLO構(gòu)建了一套實(shí)時(shí)目標(biāo)檢測系統(tǒng),來檢測公共LISA交通燈數(shù)據(jù)集。該方案在大量在不同光照和天氣條件下檢測交通燈,達(dá)到了90%的準(zhǔn)確率。葉佳林等人在YOLOv3框架下,加入了特征融合結(jié)構(gòu)和和GIOU損失函數(shù)。該方式能夠降低道路上非機(jī)動車的誤檢率,提高對周圍車輛的定位準(zhǔn)確度。結(jié)合行人在圖像中表現(xiàn)出小縱橫比的特點(diǎn),高宗等在原有的YOLO網(wǎng)絡(luò)結(jié)構(gòu)中,通過聚類選擇合適數(shù)量和規(guī)格的候選幀,調(diào)整候選幀在X軸和Y軸方向的分布密度,形成適合行人檢測的網(wǎng)絡(luò)結(jié)構(gòu)。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第65頁障礙物危險(xiǎn)等級預(yù)測案例:背景介紹本案例以基于單目視覺的駕駛輔助系統(tǒng)相關(guān)技術(shù)為背景,介紹一種適用于車載移動端的基于單目視覺的快速障礙物檢測方法,同時(shí)能夠輸出障礙物的危險(xiǎn)程度。總體而言,本案例首先應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)檢測障礙物,再利用快速跟蹤算法處理視頻相鄰幀之間的相關(guān)信息,提升平均檢測精度;基于檢測到的障礙物目標(biāo),使用單目測距方法測定障礙物與車身的相對距離,計(jì)算相對速度與估計(jì)碰撞時(shí)間,對障礙物進(jìn)行危險(xiǎn)程度分級,最終輸出預(yù)警信息??偣卜譃槿齻€(gè)部分:

(1)基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法;

(2)融合目標(biāo)跟蹤的障礙物實(shí)時(shí)檢測算法;

(3)基于單目視覺的障礙物運(yùn)動信息測算以及危險(xiǎn)等級判別算法。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第66頁障礙物危險(xiǎn)等級預(yù)測案例:技術(shù)路線DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第67頁障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法本案例的第一步,基于快速的單階段檢測框架SSD來設(shè)計(jì)目標(biāo)檢測網(wǎng)絡(luò),下圖為該目標(biāo)檢測網(wǎng)絡(luò)的示意圖。整體網(wǎng)絡(luò)組成分為兩個(gè)部分:

第一個(gè)部分是特征提取網(wǎng)絡(luò),用于充分提取輸入圖片的特征,其結(jié)構(gòu)可以靈活設(shè)計(jì),是檢測網(wǎng)絡(luò)的主體;

第二部分是額外添加的卷積層,目的是得到更小更抽象的特征圖,為后面預(yù)測目標(biāo)框做準(zhǔn)備。DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第68頁網(wǎng)絡(luò)輸出預(yù)測框的信息由式5.7~式5.9表示。其中,Ck表示第k個(gè)目標(biāo)框是每個(gè)類別的概率。這里除了八種障礙物概率,還包括檢測為背景的概率;Lk表示第k個(gè)目標(biāo)框的位置信息,

xk、yk、wk、hk分別表示目標(biāo)矩形框上左上角在原圖中的像素橫坐標(biāo)、像素縱坐標(biāo)、目標(biāo)框的像素寬、目標(biāo)框的像素高;Uk則包含類別與位置的完整信息。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第69頁對于特征提取過程,本案例設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)如表所示。特征提取網(wǎng)絡(luò)輸入大小初步設(shè)定為288*288,網(wǎng)絡(luò)由若干個(gè)殘差單元組成,每個(gè)殘差單元由1*1的標(biāo)準(zhǔn)卷積與3*3的標(biāo)準(zhǔn)卷機(jī)或者深度可分離卷積組成,其中1*1的卷積核用于升維與降維。使用步長為2的卷積核可以得到更小的特征圖,一方面能減少后面層次的計(jì)算量,另一方面可提高后面特征圖的感受野,即特征提取范圍。網(wǎng)絡(luò)輸入大小與殘差單元的數(shù)量可以根據(jù)需求和計(jì)算平臺性能進(jìn)行適當(dāng)調(diào)整。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第70頁在設(shè)計(jì)特征提取網(wǎng)絡(luò)時(shí),具體使用了殘差連接、深度可分離卷積以及多尺度特征融合這三種策略。其中:殘差連接策略能夠提高網(wǎng)絡(luò)的表達(dá)能力;深度可分離卷積策略能夠在適當(dāng)削減精度的情況下減少計(jì)算量;多尺度特征融合策略能夠?qū)⒕W(wǎng)絡(luò)低層豐富的細(xì)節(jié)信息與高層豐富的特征信息相融合,提高小目標(biāo)的識別率。本案例同樣設(shè)計(jì)了一個(gè)額外層和預(yù)測層,額外層的作用是將特征提取網(wǎng)絡(luò)得到的特征圖進(jìn)行進(jìn)一步的壓縮,得到更小更抽象的特征,為后面預(yù)測較大的目標(biāo)做準(zhǔn)備。本案例所設(shè)計(jì)特征提取網(wǎng)絡(luò)最后輸出的特征圖大小為原圖的1/32,大小為9*9,因此可用步長為2的卷積核繼續(xù)壓縮特征圖大小,另外考慮到特征圖的通道數(shù)此時(shí)較大,執(zhí)行卷積操作的計(jì)算量較大,所以使用1*1卷積核事先進(jìn)行通道降維。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第71頁接下來需要從不同層次特征圖中選取若干作為預(yù)測層,預(yù)測層中每個(gè)像素位置都能映射至原圖,并對應(yīng)一個(gè)初始的固定尺寸和長寬比的目標(biāo)框。本文選取最后6種大小的特征圖作為預(yù)測層,最終預(yù)測層設(shè)計(jì)方案如左圖所示,右圖為每個(gè)預(yù)測層生成預(yù)測框的流程。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第72頁訓(xùn)練網(wǎng)絡(luò),需要設(shè)置初始框的尺寸。不同尺寸的特征圖具有的語義信息豐富程度并不相同。越高層的特征圖具有的語義信息更為豐富,但是缺少細(xì)節(jié)信息,因此適合預(yù)測大目標(biāo);反之,越低層的特征圖適合預(yù)測小目標(biāo)。因此,不同的預(yù)測層對應(yīng)的初始目標(biāo)框的尺寸大小也不同。本案例使用了一種針對初始目標(biāo)框長寬比的自適應(yīng)設(shè)定方法,目的是增加初始框的先驗(yàn)性,使得訓(xùn)練階段更容易回歸出精準(zhǔn)的目標(biāo)框。對于任何給定的圖像數(shù)據(jù)集,本案例能夠統(tǒng)計(jì)所有已經(jīng)標(biāo)注完成的目標(biāo)框的長寬比例分布情況,將不同類型的目標(biāo)分開統(tǒng)計(jì),分布最集中的區(qū)間中值作為初始框長寬比的設(shè)定值,因?yàn)槌霈F(xiàn)頻率最高的長寬比例更具有代表性。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearningAndAutonomousDriving深度學(xué)習(xí)與自動駕駛應(yīng)用第73頁以提前采集并標(biāo)注完成的4萬張道路環(huán)境圖片為例,統(tǒng)計(jì)八種障礙物目標(biāo)的長寬比例分布如下圖,橫軸表示矩形縱邊與橫邊的長度比值,縱軸表示區(qū)間內(nèi)的樣本數(shù)量。障礙物危險(xiǎn)等級預(yù)測案例:基于卷積神經(jīng)網(wǎng)絡(luò)的圖像障礙物檢測算法DeepLearn

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論