在搭建無人車時(shí),我和小伙伴們的主要工作是建立一個(gè)駕駛模型。所謂的駕駛模型是控制無人車行駛的軟件,在功能上類似于一名司機(jī),其輸入為車輛狀態(tài)、周圍環(huán)境信息,輸出為對(duì)無人車的控制信號(hào)。在所有駕駛模型中,最簡(jiǎn)單直接的是端到端駕駛模型。端到端駕駛模型直接根據(jù)車輛狀態(tài)和外部環(huán)境信息得出車輛的控制信號(hào)。從輸入端(傳感器的原始數(shù)據(jù))直接映射到輸出端(控制信號(hào)),中間不需要任何人工設(shè)計(jì)的特征。通常,端到端駕駛模型使用一個(gè)深度神經(jīng)網(wǎng)絡(luò)來完成這種映射,網(wǎng)絡(luò)的所有參數(shù)為聯(lián)合訓(xùn)練而得。這種方法因它的簡(jiǎn)潔高效而引人關(guān)注。
端到端駕駛模型的發(fā)展歷程
尋找端到端駕駛模型的最早嘗試,至少可以追溯到1989年的ALVINN模型【2】。ALVINN是一個(gè)三層的神經(jīng)網(wǎng)絡(luò),它的輸入包括前方道路的視頻數(shù)據(jù)、激光測(cè)距儀數(shù)據(jù),以及一個(gè)強(qiáng)度反饋。對(duì)視頻輸入,ALVINN只使用了其藍(lán)色通道,因?yàn)樵谒{(lán)色通道中,路面和非路面的對(duì)比最為強(qiáng)烈。對(duì)測(cè)距儀數(shù)據(jù),神經(jīng)元的激活強(qiáng)度正比于拍攝到的每個(gè)點(diǎn)到本車的距離。強(qiáng)度反饋描述的是在前一張圖像中,路面和非路面的相對(duì)亮度。ALVINN的輸出是一個(gè)指示前進(jìn)方向的向量,以及輸入到下一時(shí)刻的強(qiáng)度反饋。具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖一所示。
圖一:ALVINN的網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖片引用于【2】
在訓(xùn)練ALVINN時(shí),其輸出的真值被設(shè)為一個(gè)分布。該分布的中心位置對(duì)應(yīng)于能讓車輛行駛到前方7米處的道路中心的那個(gè)方向,分布由中心向兩邊迅速衰減到0。此外,在訓(xùn)練過程中使用了大量合成的道路數(shù)據(jù),用于提高ALVINN的泛化能力。該模型成功地以0.5米每秒的速度開過一個(gè)400米長(zhǎng)的道路。來到1995年,卡內(nèi)基梅隆大學(xué)在ALVINN的基礎(chǔ)上通過引入虛擬攝像頭的方法,使ALVINN能夠檢測(cè)到道路和路口【3】。另外,紐約大學(xué)的Yann LeCun在2006年給出了一個(gè)6層卷積神經(jīng)網(wǎng)絡(luò)搭建的端到端避障機(jī)器人【4】。
近年來,比較有影響力的工作是2016年NVIDIA開發(fā)的PilotNet【5】。如圖二所示,該模型使用卷積層和全連層從輸入圖像中抽取特征,并給出方向盤的角度(轉(zhuǎn)彎半徑)。相應(yīng)地,NVIDIA還給出了一套用于實(shí)車路測(cè)的計(jì)算平臺(tái)NVIDIA PX 2。在NVIDIA的后續(xù)工作中,他們還對(duì)PilotNet內(nèi)部學(xué)到的特征進(jìn)行了可視化,發(fā)現(xiàn)PilotNet能自發(fā)地關(guān)注到障礙物、車道線等對(duì)駕駛具有重要參考價(jià)值的物體【6】。
圖二:PilotNet的網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖片引用于【5】
PilotNet之后的模型如雨后春筍般涌現(xiàn)。一個(gè)重要的代表是加州大學(xué)伯克利分校提出的FCN-LSTM網(wǎng)絡(luò)【7】。如圖三所示,該網(wǎng)絡(luò)首先通過全卷積網(wǎng)絡(luò)將圖像抽象成一個(gè)向量形式的特征,然后通過長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)將當(dāng)前的特征和之前的特征融合到一起,并輸出當(dāng)前的控制信號(hào)。值得指出的是,該網(wǎng)絡(luò)使用了一個(gè)圖像分割任務(wù)來輔助網(wǎng)絡(luò)的訓(xùn)練,用更多監(jiān)督信號(hào)使網(wǎng)絡(luò)參數(shù)從“無序”變?yōu)椤坝行颉保@是一個(gè)有趣的嘗試。以上這些工作都只關(guān)注無人車的“橫向控制”,也就是方向盤的轉(zhuǎn)角。羅徹斯特大學(xué)提出的Multi-modal multi-task網(wǎng)絡(luò)【8】在前面工作的基礎(chǔ)上,不僅給出方向盤的轉(zhuǎn)角,而且給出了預(yù)期速度,也就是包含了“縱向控制”,因此完整地給出了無人車所需的最基本控制信號(hào),其網(wǎng)絡(luò)結(jié)構(gòu)如圖四所示。
圖三:FCN-LSTM網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖片引用于【7】
圖四:Multi-modal multi-task網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖片引用于【8】
北京大學(xué)提出的ST-Conv + ConvLSTM + LSTM網(wǎng)絡(luò)更加精巧【9】。如圖五所示,該網(wǎng)絡(luò)大致分成兩部分,即特征提取子網(wǎng)絡(luò)和方向角預(yù)測(cè)子網(wǎng)絡(luò)。特征提取子網(wǎng)絡(luò)利用了時(shí)空卷積,多尺度殘差聚合,卷積長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)等搭建技巧或模塊。方向角預(yù)測(cè)子網(wǎng)絡(luò)主要做時(shí)序信息的融合以及循環(huán)。該網(wǎng)絡(luò)的作者還發(fā)現(xiàn),無人車的橫向控制和縱向控制具有較強(qiáng)的相關(guān)性,因此聯(lián)合預(yù)測(cè)兩種控制能更有效地幫助網(wǎng)絡(luò)學(xué)習(xí)。
圖五:ST-Conv+ConvLSTM+LSTM網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖片引用于【9】
端到端駕駛模型的特點(diǎn)
講到這里,大家也許已經(jīng)發(fā)現(xiàn),端到端模型得益于深度學(xué)習(xí)技術(shù)的快速發(fā)展,朝著越來越精巧的方向不斷發(fā)展。從最初的三層網(wǎng)絡(luò),逐步武裝上了最新模塊和技巧。在這些最新技術(shù)的加持下,端到端駕駛模型已經(jīng)基本實(shí)現(xiàn)了直道、彎道行駛,速度控制等功能。為了讓大家了解目前的端到端模型發(fā)展現(xiàn)狀,我們從算法層面將這種模型與傳統(tǒng)模型做一個(gè)簡(jiǎn)單對(duì)比,見下表一:
表一:傳統(tǒng)駕駛模型和端到端模型對(duì)比
傳統(tǒng)的模型一般將駕駛?cè)蝿?wù)分割成多個(gè)子模塊,例如感知、定位、地圖、規(guī)劃、控制等等。每個(gè)子模塊完成特定的功能,某個(gè)模塊的輸出作為其它模塊的輸入,模塊間相互連接,形成有向圖的結(jié)構(gòu)。這種方法需要人工解耦無人車的駕駛?cè)蝿?wù),設(shè)計(jì)各個(gè)子模塊,而子模塊的數(shù)量甚至高達(dá)上千個(gè),導(dǎo)致這項(xiàng)工作費(fèi)時(shí)費(fèi)力,維護(hù)成本高昂。如此多的子模塊又對(duì)車載計(jì)算平臺(tái)提出了極高的要求,需要強(qiáng)大的算力保證各個(gè)模塊能快速響應(yīng)環(huán)境的變化。
此外,傳統(tǒng)駕駛模型往往依賴高精地圖,導(dǎo)致其數(shù)據(jù)成本高昂。這類模型通過規(guī)則化的邏輯來做無人車的運(yùn)動(dòng)規(guī)劃與控制,又導(dǎo)致其駕駛風(fēng)格的擬人化程度弱,影響乘坐的舒適性。作為對(duì)比,端到端模型以其簡(jiǎn)單、易用、成本低、擬人化等特點(diǎn)表現(xiàn)出很強(qiáng)的優(yōu)勢(shì)。
人們通常認(rèn)為端到端駕駛模型和模塊化的傳統(tǒng)模型之間是彼此對(duì)立的,有了模塊化模型就不需要端到端了。但在無人配送領(lǐng)域,我認(rèn)為兩者應(yīng)該是互補(bǔ)的。首先,無人配送車“小、輕、慢、物”的特點(diǎn)【10】極大降低了其安全風(fēng)險(xiǎn)。使端到端模型的部署成為可能。然后,端到端模型可以很好地處理常見場(chǎng)景,而且功耗低。模塊化的方法能覆蓋更多場(chǎng)景,但功耗高。因此,一個(gè)很有價(jià)值的方向應(yīng)該是聯(lián)合部署端到端模型和模塊化模型。在常見場(chǎng)景中使用端到端,在復(fù)雜場(chǎng)景中,切換到模塊化模型。這樣,我們可以在保證整體模型性能的同時(shí),盡最大可能降低配送車的功耗。
那么是不是很快就能見到端到端駕駛模型控制的無人配送車了呢?其實(shí),現(xiàn)在端到端駕駛模型還處在研究階段。我從自己的實(shí)際工作經(jīng)驗(yàn)中總結(jié)出以下幾個(gè)難點(diǎn):
1、端到端駕駛模型因其近乎黑盒的特點(diǎn)導(dǎo)致調(diào)試?yán)щy。
由于端到端模型是作為一個(gè)整體工作的,因此當(dāng)該模型在某種情況下失敗時(shí),我們幾乎無法找到模型中應(yīng)該為這次失敗負(fù)責(zé)的“子模塊”,也就沒辦法有針對(duì)性地調(diào)優(yōu)。當(dāng)遇到失敗例子時(shí),通常的做法只能是添加更多的數(shù)據(jù),期待重新訓(xùn)練的模型能夠在下一次通過這個(gè)例子。
2、端到端駕駛模型很難引入先驗(yàn)知識(shí)。
目前的端到端模型更多地是在模仿人類駕駛員動(dòng)作,但并不了解人類動(dòng)作背后的規(guī)則。想要通過純粹數(shù)據(jù)驅(qū)動(dòng)的方式讓模型學(xué)習(xí)諸如交通規(guī)則、文明駕駛等規(guī)則比較困難,還需要更多的研究。
3、端到端駕駛模型很難恰當(dāng)?shù)靥幚黹L(zhǎng)尾場(chǎng)景。
對(duì)于常見場(chǎng)景,我們很容易通過數(shù)據(jù)驅(qū)動(dòng)的方式教會(huì)端到端模型正確的處理方法。但真實(shí)路況千差萬別,我們無法采集到所有場(chǎng)景的數(shù)據(jù)。對(duì)于模型沒有見過的場(chǎng)景,模型的性能往往令人擔(dān)憂。如何提高模型的泛化能力是一個(gè)亟待解決的問題。
4、端到端駕駛模型通常通過模仿人類駕駛員的控制行為來學(xué)習(xí)駕駛技術(shù)。
但這種方式本質(zhì)上學(xué)到的是駕駛員的“平均控制信號(hào)”,而“平均控制信號(hào)”甚至可能根本就不是一個(gè)“正確”的信號(hào)。
例如在一個(gè)可以左拐和右拐的丁字路口,其平均控制信號(hào)——“直行”——就是一個(gè)錯(cuò)誤的控制信號(hào)。因此,如何學(xué)習(xí)人類駕駛員的控制策略也有待研究。
在這個(gè)問題上,我和小伙伴們一起做了一點(diǎn)微小的工作,在該工作中,我們認(rèn)定駕駛員在不同狀態(tài)下的操作滿足一個(gè)概率分布。我們通過學(xué)習(xí)這個(gè)概率分布的不同矩來估計(jì)這個(gè)分布。這樣一來,駕駛員的控制策略就能很好地通過其概率分布的矩表達(dá)出來,避免了簡(jiǎn)單求“平均控制信號(hào)”的缺點(diǎn)。該工作已被 ROBIO 2018 接收。
端到端駕駛模型中常用方法
為了解決上面提到的各種問題,勇敢的科學(xué)家們提出了許多方法,其中最值得期待的要數(shù)深度學(xué)習(xí)技術(shù)【11】和強(qiáng)化學(xué)習(xí)技術(shù)【12】了。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,相信模型的可解釋性、泛化能力會(huì)進(jìn)一步提高。這樣以來,我們或許就可以有針對(duì)性地調(diào)優(yōu)網(wǎng)絡(luò),或者在粗糙的仿真下、在較少數(shù)據(jù)的情況下,成功地泛化到實(shí)車場(chǎng)景、長(zhǎng)尾場(chǎng)景。強(qiáng)化學(xué)習(xí)這項(xiàng)技術(shù)在近年來取得了令人驚嘆的成就。通過讓無人車在仿真環(huán)境中進(jìn)行強(qiáng)化學(xué)習(xí),也許可以獲得比人類駕駛員更優(yōu)的控制方法也未可知。此外,遷移學(xué)習(xí)、對(duì)抗學(xué)習(xí)、元學(xué)習(xí)等技術(shù)高速發(fā)展,或許也會(huì)對(duì)端到端駕駛模型產(chǎn)生巨大影響。
我對(duì)端到端駕駛模型今后的發(fā)展充滿了期待。“Two roads diverged in a wood, and I took the one less traveled by”【13】。
-
傳感器
+關(guān)注
關(guān)注
2545文章
50433瀏覽量
750923 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100410 -
圖像分割
+關(guān)注
關(guān)注
4文章
182瀏覽量
17960
原文標(biāo)題:美團(tuán)技術(shù)部解析:無人車端到端駕駛模型概述
文章出處:【微信號(hào):IV_Technology,微信公眾號(hào):智車科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論