国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

結(jié)合Spatial CNN的端到端自動駕駛研究

2021-06-30 06:47:38單兆晨黃丹丹耿振野劉智
關(guān)鍵詞:損失卷積誤差

單兆晨,黃丹丹,耿振野,劉智

(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)

傳統(tǒng)的自動駕駛是基于規(guī)則的系統(tǒng)[1]。一般方法是:融合多傳感器獲取的環(huán)境數(shù)據(jù)進行分析,基于此分割可行駛區(qū)域、識別障礙物、檢測標(biāo)示牌和路徑規(guī)劃等,系統(tǒng)理解了所處環(huán)境后做控制決策。其中每個子系統(tǒng)都涉及復(fù)雜的建模問題,并且還存在無法用規(guī)則描述的情況,規(guī)則構(gòu)建是非常困難的工程。

隨著人工智能時代的到來,深度學(xué)習(xí)成為計算機視覺領(lǐng)域最強大的機器學(xué)習(xí)方法。為了簡化基于規(guī)則的過程,近年來應(yīng)用端到端深度學(xué)習(xí)的方法受到學(xué)術(shù)和商業(yè)界的重視。該方法將感知、規(guī)劃和控制囊括在一個深度神經(jīng)網(wǎng)絡(luò)中,將攝像頭、雷達和陀螺儀等參數(shù)輸入網(wǎng)絡(luò)模型直接輸出得到車輛速度、方向盤轉(zhuǎn)向和剎車程度等駕駛控制指令,不深究特征提取、語義分析以及控制量的確定。這樣便省去了人為制定控制規(guī)則的過程,極大地降低了系統(tǒng)的各項成本。

Pomerleau等人[2]最先在汽車上應(yīng)用端到端算法,采用的是淺層的全連接BP神經(jīng)網(wǎng)絡(luò),輸出為45個方向預(yù)測節(jié)點和1個預(yù)測置信度的參數(shù)。該方法將方向預(yù)測作為分類任務(wù)用感知機模型訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)簡單且沒有關(guān)注圖像特征與輸出的相關(guān)性,可解釋性較差。LeCun等人[3]在2005年的論文中使用卷積網(wǎng)絡(luò)進行端到端的野外避障研究,系統(tǒng)命名為DAVE,可以從雙目相機獲取的原始圖像直接得到轉(zhuǎn)向角度。隨后2016年 NVIDIA 在此基礎(chǔ)上提出了 DAVE-2[4-5]無池化層的卷積網(wǎng)絡(luò)模型,DAVE類方法利用卷積網(wǎng)絡(luò)提取圖像特征,但并未進一步分析感興趣區(qū)域的特征表達方式。鄒斌等人[6]對DAVE-2進行改進,將自編碼器作為預(yù)訓(xùn)練模型并利用反卷積可視化感興趣區(qū)域,解釋了模型重點關(guān)注的是道路的部分邊線特征。但該方法并未利用這一特征作進一步的改進,缺乏針對性。

雖然端到端的自動駕駛已取得較多成果,但仍存在問題:(1)數(shù)據(jù)集規(guī)模龐大,訓(xùn)練耗時較長;(2)卷積網(wǎng)絡(luò)缺乏對道路信息的針對性提取。因此本文采用遷移學(xué)習(xí)[7-9]的方法,遷移預(yù)訓(xùn)練的 VGG16[10]網(wǎng)絡(luò)結(jié)合 Spatial CNN(SCNN)[11-12]模型結(jié)構(gòu)進行訓(xùn)練,并可視化特征圖驗證SCNN作用,最后比較不同網(wǎng)絡(luò)結(jié)構(gòu)的預(yù)測誤差。

1 端到端方法分析

端到端自動駕駛的核心為深度學(xué)習(xí)模型,基本思路是人工操控車輛在道路上正確行駛,同時車輛前方的攝像頭記錄下道路信息以及與之相對應(yīng)的一系列控制數(shù)據(jù),包括轉(zhuǎn)向角、剎車、油門和車速等。將采集到的路況圖像作為輸入數(shù)據(jù),與之對應(yīng)控制數(shù)據(jù)作為模型的輸出,模型訓(xùn)練后將具有一定的自動駕駛能力。根據(jù)前方道路的圖像信息,做出控制預(yù)測,從而達到端到端自動駕駛的目的。

模型必須學(xué)習(xí)如何在車道線中央行駛,如何從偏移錯誤中恢復(fù)。為了提高模型的泛化能力,利用三個攝像頭采集道路的正前方、左前方和右前方視頻數(shù)據(jù),擴充了額外的道路信息。這些信息顯示了偏離道路中央的程度以及轉(zhuǎn)向時車輛左右的信息差異。為了便于結(jié)果分析控制參數(shù)只采集轉(zhuǎn)向參數(shù)。訓(xùn)練系統(tǒng)總框圖如圖1所示。

圖1 訓(xùn)練系統(tǒng)總框

三個攝像頭采集的圖像傳入一個卷積神經(jīng)網(wǎng)絡(luò),然后計算一個被預(yù)測出的轉(zhuǎn)向控制命令。這個轉(zhuǎn)向命令會與該圖像的期望命令相比較,卷積神經(jīng)網(wǎng)絡(luò)的權(quán)重就會被調(diào)整以使其實際輸出更接近期望輸出。

模型訓(xùn)練完成后,CNN就能從攝像頭的視頻圖像生成轉(zhuǎn)向控制命令,此時只需車輛正前方的攝像頭采集的道路信息就可完成轉(zhuǎn)向預(yù)測。轉(zhuǎn)向預(yù)測框圖如圖2所示。

圖2 轉(zhuǎn)向預(yù)測框圖

1.1 遷移學(xué)習(xí)模型架構(gòu)

本文采用遷移預(yù)訓(xùn)練模型的方法構(gòu)建端到端的自動駕駛模型。為了使遷移效果最大化,因此選擇遷移預(yù)訓(xùn)練的VGG-16網(wǎng)絡(luò)以及與本次任務(wù)具有強相關(guān)性的車道線檢測模型Spatial CNN(SCNN)。傳統(tǒng)的CNN模型通過堆疊卷積層實現(xiàn)深層特征提取,特征是在隱藏層間逐層傳遞的,是一種基于圖像局部相關(guān)性的特征提取方法。SCNN是一種獨特的空間特征提取結(jié)構(gòu),特征信息在層中傳遞,即卷積核在隱藏層中的三維特征圖的行和列上做特征提取,將卷積神經(jīng)網(wǎng)絡(luò)推廣到了空間層次,使得空間信息能夠在同層的神經(jīng)元上傳播。SCNN能夠關(guān)注在空間域上具有空間連續(xù)性的目標(biāo)特征信息,如車道線、電線桿等線狀目標(biāo)。SCNN是基于已有的CNN主干架構(gòu)上學(xué)習(xí)空間信息,一般來說SCNN可以應(yīng)用在主干網(wǎng)絡(luò)隱藏層的任何部分,通常隱層的后端包含豐富的語義信息,是應(yīng)用SCNN理想的位置,SCNN結(jié)構(gòu)如圖3所示。

圖3 SCNN網(wǎng)絡(luò)結(jié)構(gòu)

SCNN應(yīng)用在卷積網(wǎng)絡(luò)隱層的三維特征圖上,假設(shè)隱藏層大小為C×W×H,依次對應(yīng)通道數(shù)、長和寬,對三維矩陣切片可以拆分出H×W,H×C,C×W三種二維張量,對應(yīng)六種信息傳遞方向,其中H×C和C×W張量切片可以實現(xiàn)空間信息傳遞,有向下(SCNN-Down),向上(SCNN-Up),向右(SCNN-Right),向左(SCNN-Left)四個方向,具體可用公式(1)表示:

式中,Xi,j,k記為張量X的元素,其中i、j、k分別指代通道、行、列,f是非線性激活函數(shù),X′表示更新后的值,所有的切片共享一組卷積核。

本文選用預(yù)訓(xùn)練的VGG-16作為主干網(wǎng)絡(luò)模型,具體架構(gòu)如圖4所示。

圖4 VGG-16網(wǎng)絡(luò)模型架構(gòu)

VGG-16網(wǎng)絡(luò)采用 224×224×3的 RGB 三通道彩色輸入圖像,結(jié)構(gòu)中包含五輪卷積、池化處理層和三個全連接層。這里選擇將第五輪池化之前虛線框部分作為凍結(jié)層,將凍結(jié)層作為預(yù)訓(xùn)練好的特征提取器深度遷移到自動駕駛模型,在其后端加入SCNN結(jié)構(gòu)增強對空間特征信息的提取。預(yù)訓(xùn)練的VGG-16網(wǎng)絡(luò)源任務(wù)是做1 000個類別的分類,而本文的目標(biāo)任務(wù)是回歸轉(zhuǎn)向角,需要重構(gòu)全連接層將輸出節(jié)點改為1,重新訓(xùn)練全連接層與SCNN網(wǎng)絡(luò),遷移學(xué)習(xí)模型總體架構(gòu)如圖5所示。

圖5 遷移學(xué)習(xí)模型總體架構(gòu)

1.2 損失函數(shù)設(shè)計

端到端自動駕駛的本質(zhì)是一個回歸任務(wù)。常用于回歸模型的損失函數(shù)有均方誤差(Mean Squared Error,MSE)以及平均絕對誤差(Mean Absolute Error,MAE)。DAVE-2模型與自編碼器網(wǎng)絡(luò)都采用均方誤差作為訓(xùn)練損失函數(shù),用公式(2)表示為:

式中,n為一個批次中的n個樣本;yi為輸出;yi′為期望輸出;θi為需要更新的權(quán)重。

由于駕駛數(shù)據(jù)集存在直行數(shù)據(jù)多于轉(zhuǎn)彎數(shù)據(jù)的不均衡問題[13-14],而MSE特點是對誤差取平方,這會使其對離群點非常敏感,模型訓(xùn)練結(jié)束會使預(yù)測值偏向離群點。如果采用MAE作為損失函數(shù),又存在梯度恒定的問題,使得小誤差仍具有大梯度,不利于學(xué)習(xí)。針對這種問題,設(shè)計了一種帶參數(shù)的條件損失函數(shù),用公式(3)表示如下:

δ作為超參數(shù)可以自定義,其作為閾值條件將損失函數(shù)分段,當(dāng)絕對誤差小于設(shè)定閾值,損失函數(shù)形式為MSE,否則損失函數(shù)形式為MAE。其結(jié)合了MSE和MAE的優(yōu)點,并且增強了MSE對離群點的魯棒性,分段函數(shù)處處可導(dǎo)求解效率高。

訓(xùn)練中采用自適應(yīng)學(xué)習(xí)率的優(yōu)化器Adam(adaptive moment estimation,Adam)優(yōu)化損失函數(shù)。

2 實驗結(jié)果與分析

本文所用的道路圖像信息數(shù)據(jù)與對應(yīng)的控制參數(shù)采集自udacity機構(gòu)所提供的無人車模擬器beta_simulator,實驗軟件環(huán)境為python3.6,GPU為Nvidia RTX2080,深度學(xué)習(xí)框架采用的是TensorFlow2.0,模擬器駕駛界面如圖6所示。

圖6 模擬器駕駛界面

2.1 數(shù)據(jù)采集

模擬器人為操控汽車采集數(shù)據(jù)時,需要不斷控制汽車回到道路中心位置。操控汽車在多彎道的山路地圖行駛五圈采集5 000份數(shù)據(jù),部分道路數(shù)據(jù)集如圖7所示。

圖7 部分道路數(shù)據(jù)集展示

模擬駕駛數(shù)據(jù)采集完成,所有的數(shù)據(jù)會保存在一個CSV文件中,其中包含七項數(shù)據(jù)′center′,′left′,′right′,′steering′,′throttle′,′reverse′,′speed′。其中′center′,′left′,′right′作為訓(xùn)練數(shù)據(jù),′steering′為標(biāo)簽數(shù)據(jù)。

2.2 數(shù)據(jù)預(yù)處理

為了使圖像數(shù)據(jù)集符合預(yù)訓(xùn)練模型輸入大小,需將原始圖像批量縮放。數(shù)據(jù)集剪裁完成后,進行圖像像素值和轉(zhuǎn)向角[-25°,25°]的歸一化處理。其目的是為了將數(shù)據(jù)范圍映射到激活函數(shù)最好的工作范圍內(nèi)[-1,1]。其中轉(zhuǎn)向角歸一化后的數(shù)據(jù)分布如圖8所示。

圖8 轉(zhuǎn)向角歸一化后數(shù)據(jù)分布

可以看出,轉(zhuǎn)向角數(shù)據(jù)分布極度不均衡,如果直接進行訓(xùn)練會導(dǎo)致模型輸出過擬合到直行數(shù)據(jù),從而在轉(zhuǎn)彎處的表現(xiàn)較差。為解決樣本不均衡的問題,訓(xùn)練前需將訓(xùn)練樣本中非直行圖像數(shù)據(jù)進行鏡像翻轉(zhuǎn)來增多轉(zhuǎn)彎訓(xùn)練樣本,同時翻轉(zhuǎn)對應(yīng)的轉(zhuǎn)向角。

將歸一化的數(shù)據(jù)集(5 000)隨機拆分成訓(xùn)練集和測試集,同時為了避免過擬合,將采用交叉驗證的方法,其中訓(xùn)練集占80%(4 000),驗證集占20%(1 000)。

2.3 模型訓(xùn)練與評估

Adam優(yōu)化器本質(zhì)上是利用梯度的一階矩估計和二階矩估計動態(tài)調(diào)整每個參數(shù)的學(xué)習(xí)率。推薦參數(shù)配置:learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1e-08,在能保證損失函數(shù)收斂的情況下,學(xué)習(xí)率設(shè)置為0.001時衰減最快。迭代次數(shù)設(shè)為5 000,每次迭代隨機選取250張圖像進行訓(xùn)練,并且每次迭代完成后用驗證集進行一次交叉驗證。遷移學(xué)習(xí)模型和DAVE-2模型訓(xùn)練過程的條件誤差損失隨迭代次數(shù)的變化情況如圖9和圖10所示。

圖9 遷移學(xué)習(xí)模型訓(xùn)練誤差損失

圖10 DAVE-2模型訓(xùn)練誤差損失

由于預(yù)訓(xùn)練模型已具有一定的圖片識別能力,從中遷移的凍結(jié)層可以捕獲圖像普遍性的特征。由圖9和圖10可以很明顯的看出,遷移學(xué)習(xí)的轉(zhuǎn)向預(yù)測模型其損失函數(shù)具有較低的初始誤差,僅用4 000個訓(xùn)練樣本經(jīng)過5 000次迭代就能將損失從0.19降到0.09左右。而對于從零開始訓(xùn)練的DAVE-2網(wǎng)絡(luò)來說,在訓(xùn)練初始階段不存在學(xué)習(xí)能力。在同等條件下,其具有較高的初始誤差,經(jīng)過2 000次的迭代后損失從1.58降低到0.2左右就已停止下降趨于穩(wěn)定。說明從零開始訓(xùn)練的DAVE-2網(wǎng)絡(luò)利用4 000個樣本訓(xùn)練將誤差損失衰減到0.2就已達到學(xué)習(xí)上限,仍需要大量的訓(xùn)練數(shù)據(jù)進行更多次數(shù)的迭代學(xué)習(xí),才能達到遷移學(xué)習(xí)模型的效果。

從兩種模型的訓(xùn)練過程對比來看,遷移一個具有圖像識別能力的預(yù)訓(xùn)練模型進行端到端自動駕駛的轉(zhuǎn)向預(yù)測,不需要大量數(shù)據(jù)訓(xùn)練,短時間內(nèi)就可以得到一個誤差較低的轉(zhuǎn)向預(yù)測模型。

將SCNN最后一層特征圖進行上采樣可視化,與測試圖片進行對比分析??梢钥闯銮度肓薙CNN結(jié)構(gòu)的特征提取器更加關(guān)注道路的線狀信息,消除了其他特征干擾,使得模型更具有針對性。對比如圖11所示。

圖11 特征圖上采樣與原圖對比

模型訓(xùn)練完成后,為了更直觀的觀測模型的預(yù)測效果,在模擬器上進行模型的準(zhǔn)確性測試,模擬器提供兩種類型的地圖,一種是平坦公路還有一種是多彎道山路,將遷移學(xué)習(xí)模型載入程序用Socket與模擬器通信,分別在兩種道路上進行自動駕駛測試,得到與人工操控駕駛的轉(zhuǎn)向角真實值折線圖對比,如圖12和圖13所示。

如圖12、圖13對比表明:遷移學(xué)習(xí)模型預(yù)測輸出的角度和人工操控的角度變化趨勢一致,而且在實際行駛過程中車輛能夠很好的保持在道路中央行駛。

圖12 平坦公路轉(zhuǎn)向角預(yù)測對比

圖13 多彎道山路轉(zhuǎn)向角預(yù)測對比

實驗共訓(xùn)練了6種網(wǎng)絡(luò)結(jié)構(gòu),其中遷移VGG-16+SCNN模型損失優(yōu)化以及預(yù)測統(tǒng)計誤差最小,模型采用MAE進行擬合度評估,對比如表1所示。

表1 不同網(wǎng)絡(luò)結(jié)構(gòu)結(jié)果對比

3 結(jié)論

本研究結(jié)合遷移VGG16和SCNN結(jié)構(gòu)建立了端到端的自動駕駛模型,用少量的樣本訓(xùn)練模型的轉(zhuǎn)向預(yù)測能力,在模擬器上得到了較好的測試效果。與直接從零開始訓(xùn)練的DAVE-2網(wǎng)絡(luò)相比,轉(zhuǎn)向角的誤差損失與預(yù)測誤差在相同的學(xué)習(xí)率和迭代次數(shù)下更低。實驗中特征圖經(jīng)過可視化后,結(jié)果表明了結(jié)合能夠提取空間連續(xù)線狀目標(biāo)特征的SCNN網(wǎng)絡(luò),讓模型能夠重點關(guān)注車道線的變化,使得本文的遷移模型與任務(wù)更具任務(wù)相關(guān)性。測試中發(fā)現(xiàn),在沒有車道線的路況上,模型仍然能夠提取出可行駛區(qū)域,沒有出現(xiàn)失控偏離車道的狀態(tài)。

猜你喜歡
損失卷積誤差
少問一句,損失千金
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
胖胖損失了多少元
角接觸球軸承接觸角誤差控制
哈爾濱軸承(2020年2期)2020-11-06 09:22:26
Beidou, le système de navigation par satellite compatible et interopérable
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
壓力容器制造誤差探究
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
九十億分之一的“生死”誤差
山東青年(2016年2期)2016-02-28 14:25:41
文水县| 泰兴市| 集贤县| 喜德县| 丹棱县| 余庆县| 龙游县| 广元市| 建湖县| 巨鹿县| 横峰县| 海晏县| 普陀区| 永德县| 韩城市| 辽中县| 宁津县| 黄骅市| 林州市| 花垣县| 平武县| 桃江县| 青田县| 安平县| 城步| 蓝田县| 信宜市| 镇江市| 黄龙县| 金湖县| 冕宁县| 新沂市| 万源市| 康平县| 奉新县| 祁连县| 曲阳县| 德惠市| 上饶县| 四平市| 米泉市|