0
本文作者: 張偉 | 2017-08-31 19:13 |
雷鋒網(wǎng)按:雷鋒網(wǎng) · 新智駕(微信公眾號(hào):AI-Drive)持續(xù)關(guān)注和報(bào)道智能駕駛領(lǐng)域的一線動(dòng)態(tài)。從6月份開始,我們聯(lián)合雷鋒網(wǎng) · AI慕課學(xué)院、網(wǎng)易云課堂企業(yè)版舉辦系列智能駕駛講座,邀請(qǐng)業(yè)界、學(xué)界頂尖專家共同打造屬于智能駕駛時(shí)代的技術(shù)盛宴。
今年4月,百度推出阿波羅計(jì)劃(Apollo),將逐步開放其自動(dòng)駕駛技術(shù);今年7月,百度在首屆開發(fā)者大會(huì)(Baidu Create)上公布了阿波羅計(jì)劃的第一批細(xì)節(jié),包括百度自動(dòng)駕駛技術(shù)的架構(gòu)設(shè)計(jì)以及一個(gè)完整的基于林肯MKZ打造的封閉場(chǎng)地循跡自動(dòng)駕駛參考設(shè)計(jì)——Apollo 1.0。
接下來,這個(gè)計(jì)劃將逐步開放更多細(xì)節(jié),為眾多從事自動(dòng)駕駛研究的企業(yè)賦能。當(dāng)然,想深入了解這個(gè)計(jì)劃的人數(shù)不勝數(shù)。
8月30日晚8點(diǎn),雷鋒網(wǎng)新智駕邀請(qǐng)到百度智能駕駛事業(yè)部資深架構(gòu)師郁浩詳解阿波羅計(jì)劃,進(jìn)行計(jì)劃公布后的首次線上直播。本次分享中,您可以重點(diǎn)關(guān)注的內(nèi)容包括:
端到端(End-to-end)自動(dòng)駕駛系統(tǒng)的發(fā)展歷史
與傳統(tǒng)的規(guī)則式(rule based)自動(dòng)駕駛相比,端到端自動(dòng)駕駛有哪些區(qū)別和優(yōu)劣勢(shì)?
百度的阿波羅計(jì)劃在這個(gè)方向有哪些實(shí)踐?
以下內(nèi)容為郁浩分享完整版,由新智駕進(jìn)行不改變?cè)獾木庉嫼驼怼?/p>
整個(gè)阿波羅項(xiàng)目其實(shí)是百度面向自動(dòng)駕駛的一個(gè)很宏大的系統(tǒng),而端到端(end-to-end)的方案是其中的一個(gè)子方向。今天主要進(jìn)行這個(gè)子方向的實(shí)踐和經(jīng)驗(yàn)分享。
在介紹端到端自動(dòng)駕駛之前,可以了解一下自動(dòng)駕駛另一大主流的方案:基于規(guī)則(rule based solution)的方案。這類系統(tǒng)和端到端系統(tǒng)相比還是有很明顯的區(qū)別。
Rule based方案的主體需要人工去搭建,拆解開來一般是以下的流程:
從車輛開始是一個(gè)閉環(huán):從車輛到車上的傳感器(radar、LiDAR以及camera等),綜合在一起獲取信息,這些信息經(jīng)過感知層、經(jīng)過特殊的處理(包括深度學(xué)習(xí)網(wǎng)絡(luò)),最終會(huì)提取出道路、行人和車輛等各種信息。在感知到的信息的基礎(chǔ)之上,再加入高精地圖等一些靜態(tài)信息,當(dāng)動(dòng)態(tài)和靜態(tài)信息結(jié)合在一起后,就會(huì)形成一個(gè)比較完備的世界模型(Wodel Model)——對(duì)外部環(huán)境的完備描述。
在此基礎(chǔ)之上,我們就進(jìn)入到?jīng)Q策模塊,考慮到駕駛舒適性,這一步主要是演繹推理(reasoning)的一些過程,最終會(huì)產(chǎn)生一些決策,決策再往下就到了車廠比較擅長(zhǎng)的領(lǐng)域——車輛控制,需要給車輛一些控制信號(hào)。
在這樣一個(gè)rule based的系統(tǒng)里面,其實(shí)有一個(gè)非常復(fù)雜的架構(gòu)。
上圖是國(guó)際汽車工程師學(xué)會(huì)(SAE)推薦的一個(gè)系統(tǒng)架構(gòu)圖。
我們可以看到這樣一個(gè)架構(gòu)其實(shí)是一個(gè)閉環(huán)系統(tǒng),這個(gè)閉環(huán)本身又分了好幾個(gè)層次。從最底層的控制循環(huán)(Control Layer)往上到安全性能的循環(huán)(Safety Layer)再到本地層的循環(huán)(Local Layer)再到全局的循環(huán)(Global Layer),這樣的層層閉環(huán)做到了對(duì)車輛的控制。
這樣一個(gè)復(fù)雜的系統(tǒng)其實(shí)還是提綱挈領(lǐng)的,再往下分又可以看到這樣一張架構(gòu)圖:
這張架構(gòu)圖比上一張顯然要詳細(xì)得多,但依然還是一種抽象的概括。這張架構(gòu)圖其實(shí)也反映出了無人駕駛的幾大問題,需要從業(yè)者聯(lián)手去解決。
一個(gè)是系統(tǒng)復(fù)雜性。這樣一個(gè)系統(tǒng),需要人工設(shè)計(jì)上千個(gè)模塊,從0到1是非常艱難的,其系統(tǒng)的復(fù)雜度不亞于一個(gè)操作系統(tǒng)
第二個(gè)是高精地圖的成本很高。在構(gòu)建世界模型的時(shí)候,需要高精地圖的輔助,而高精地圖本身的廣鋪、更新都是極其大的成本。很多創(chuàng)業(yè)公司在往這個(gè)方向努力,會(huì)嘗試一些眾包的數(shù)據(jù)采集,這一塊也是個(gè)很誘人的方向。
還有一個(gè)問題是車載硬件計(jì)算能力要求非常高。在這樣一個(gè)系統(tǒng)里面,有不同的感知、決策模塊,每一個(gè)模塊都會(huì)使用深度學(xué)習(xí)的優(yōu)化手段。一個(gè)綜合的復(fù)雜系統(tǒng)里面,可能需要幾個(gè)甚至是十幾個(gè)深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),每一個(gè)的計(jì)算成本都極其巨大。
NVIDIA CEO 黃仁勛曾表示,目前的自動(dòng)駕駛系統(tǒng),使用2個(gè) Drive PX2核心都不夠,已經(jīng)遠(yuǎn)超目前計(jì)算能力所能達(dá)到的上限,硬件本身就是很高的門檻。
所以,打造一個(gè)自動(dòng)駕駛系統(tǒng)的難度之大,已經(jīng)遠(yuǎn)遠(yuǎn)超出一家公司的能力范圍,需要一個(gè)協(xié)作的生態(tài)(聯(lián)盟)。
*百度與 NVIDIA 合作推出的自動(dòng)駕駛系統(tǒng)
*百度阿波羅計(jì)劃所購(gòu)建的生態(tài)
這個(gè)系統(tǒng)中,有很多公司體量很大,每個(gè)公司也只不過做了其中的一部分工作。
剛剛提到一點(diǎn),人駕駛的時(shí)候并不需要這么復(fù)雜的拆解,不需要高精度定位、高精度地圖,只需要一些導(dǎo)航語(yǔ)音的提示。很多人還可以邊打電話邊開車,能一心二用。
與之對(duì)應(yīng)的,目前比較熱的一個(gè)新興的自動(dòng)駕駛解決方案就是端到端(end-to-end)的系統(tǒng),它的特點(diǎn)是更接近于人的駕駛習(xí)慣。看到的是人看到的場(chǎng)景,經(jīng)過神經(jīng)網(wǎng)絡(luò)的處理之后,產(chǎn)生類似于人類的駕駛行為。
如圖所示,車輛可能看到的是一張圖片,經(jīng)過加工處理,得到了橫向控制和縱向控制。
其實(shí)end-to-end系統(tǒng)并不是最近這一兩年才出現(xiàn)的技術(shù),這和整個(gè)無人駕駛系統(tǒng)一樣,是一個(gè)很長(zhǎng)遠(yuǎn)的事情。
早在1988年的時(shí)候,一個(gè)名為“ALVINN”的系統(tǒng)就已經(jīng)面世了,是卡耐基梅隆大學(xué)(CMU)的研究成果。當(dāng)時(shí)還沒有CNN,用的是比較淺層的全連接網(wǎng)絡(luò),用的是單目相機(jī),只處理30*32的圖像,即便是這么簡(jiǎn)單的一個(gè)場(chǎng)景,還是可以看到它做了很多傳統(tǒng)的圖像處理的手段(比如二值化)。這樣的一個(gè)網(wǎng)絡(luò)也能讓車輛在簡(jiǎn)單的道路上行駛。
到了2005年的時(shí)候,Yann LeCun也參與了一個(gè)類似的項(xiàng)目,研發(fā)出了DAVE系統(tǒng)。這系統(tǒng)運(yùn)用了卷積CNN網(wǎng)絡(luò),使用的是雙目相機(jī)。
再到2015年的時(shí)候,普林斯頓大學(xué)也做了一些嘗試,用中間狀態(tài)——從原始圖像,不是端到端生成的一個(gè)指令,是從中提取一些關(guān)鍵的信息,在關(guān)鍵信息的基礎(chǔ)上,再做自動(dòng)駕駛的決策和控制。
轉(zhuǎn)折點(diǎn)出現(xiàn)在2016年,NVIDIA在2005年DAVE的基礎(chǔ)之上,做出了DAVE2。這個(gè)系統(tǒng)用的是單目相機(jī)、卷積神經(jīng)網(wǎng)絡(luò),更關(guān)鍵的是能搭載上實(shí)車路測(cè)。NVIDIA還為此研究出了配套的評(píng)估體系。
在NVIDIA之后,我們可以看到眾多的創(chuàng)業(yè)公司如雨后春筍般冒出來。比如Comma.ai、Udacity、Drive.ai以及AutoX,當(dāng)然,后兩家沒有明確提及end-to-end系統(tǒng),比較愿意說他們的系統(tǒng)完全基于深度學(xué)習(xí)、可快速大量的擴(kuò)展等。Udacity為此還專門組織了end-to-end steering的比賽,其中也包含了很多很出彩的成果。
其實(shí)end-to-end系統(tǒng)不只是針對(duì)于自動(dòng)駕駛領(lǐng)域,其實(shí)對(duì)于機(jī)器人行業(yè)來講,都有比較大的影響,可以說是變革。
上圖是李飛飛實(shí)驗(yàn)室做的室內(nèi)機(jī)器人的行駛測(cè)試,完全基于深度神經(jīng)網(wǎng)絡(luò)的端到端的系統(tǒng),里面沒有事先預(yù)置好的地圖,也沒有自定位、SLAM功能,完全是機(jī)器人實(shí)現(xiàn)的自動(dòng)行駛。
還有一些是機(jī)械臂的操控,自動(dòng)化完成一些指定的任務(wù)。傳統(tǒng)的機(jī)械臂也需要封閉環(huán)境的準(zhǔn)確信息,以及各個(gè)關(guān)節(jié)和組件也需要極高精度的定位。經(jīng)過閉環(huán)的控制,按照預(yù)設(shè)的軌跡執(zhí)行特定的任務(wù)。而end-to-end系統(tǒng)就不需要這些,不再受限于簡(jiǎn)單的封閉的環(huán)境,可以走向開放的環(huán)境里去。當(dāng)然,也不再受限于高精地圖、高精的環(huán)境信息。
當(dāng)然,目前也有一些人在用端到端的系統(tǒng)做一些更為主動(dòng)的規(guī)劃,而不是一味的被動(dòng)響應(yīng),這也是很有意思的方向。
那么end-to-end系統(tǒng)能干嘛?不能干嘛?主要的問題是什么?與rule based系統(tǒng)有什么區(qū)別和聯(lián)系?
接下來來拆解一下:
從功能層面看的話,我們把自動(dòng)駕駛的行為或者功能按照兩個(gè)角度來分:一個(gè)是Reactive control;一個(gè)是Proactive planning。人可以邊打電話邊開車,其實(shí)就是Reactive control的一種,有時(shí)候是條件反射,甚至是一些簡(jiǎn)單的駕駛經(jīng)驗(yàn)就可以判斷,不用你去做深入的思考。
而與之相對(duì)的就是Proactive planning,在一些陌生的環(huán)境、道路,聽導(dǎo)航的指示時(shí),你要想一想該怎么走。比如并線的時(shí)候要看一看周圍的環(huán)境怎么樣、盲區(qū)有沒有車、其他車輛的車速如何……
所以從功能角度來看,目前的end-to-end系統(tǒng)實(shí)現(xiàn)的是Reactive control,或者說是類似于人潛意識(shí)的駕駛行為。而在Proactive planning這一塊,目前end-to-end系統(tǒng)還處在研究階段,這也是一個(gè)很誘人的方向。
在系統(tǒng)工程復(fù)雜度上,Rule based系統(tǒng)是極高的,而end-to-end系統(tǒng)則比較低。因?yàn)槠渲行枰斯と?gòu)建的部分大多由神經(jīng)網(wǎng)絡(luò)去擬合了。
當(dāng)然,二者對(duì)于算法的要求都很高。
至于“可解釋性”,其實(shí)是非常多人在討論的事情,達(dá)成的共識(shí)是rule based系統(tǒng)可解釋性很高,而end-to-end系統(tǒng)可解釋性很低。
這里,要說明一下“可解釋性”與自動(dòng)駕駛最終能落地的關(guān)系。其實(shí),我們跳出來看,對(duì)于傳統(tǒng)的基于規(guī)則的無人駕駛系統(tǒng),影響其最關(guān)鍵的點(diǎn)恰恰就在于規(guī)則式系統(tǒng)中存在著大量的不確定的邊界性問題,這些問題是“不可解釋的”。從這點(diǎn)看,rule based系統(tǒng)也沒有壓倒性的優(yōu)勢(shì)。
此外,可解釋性當(dāng)然很重要,去年9月份,美國(guó)白宮發(fā)表的針對(duì)自動(dòng)駕駛行業(yè)的指導(dǎo)意見便指出,涉及到行駛安全的部分一定要具備可解釋性。
再看系統(tǒng)廣鋪的成本,rule based系統(tǒng)成本非常高,因?yàn)槠湟蕾囉诟呔鹊貓D,普通地圖的維護(hù)更新都需要很巨大的成本,可想而知高精度地圖的維護(hù)和更新成本會(huì)有多大。End-to-end系統(tǒng)廣鋪成本則很低了,因?yàn)槠洳灰蕾嚨貓D和定位。
傳感器成本方面,rule based系統(tǒng)的成本會(huì)很高,而end-to-end系統(tǒng)則相對(duì)較低。在歐洲的車廠中,自動(dòng)駕駛系統(tǒng)傳感器非常之多,光攝像頭就有很多個(gè),還有很多radar、LiDAR(4線)。但end-to-end系統(tǒng)本身不是可以去減少使用傳感器,而是在信息利用率上很高,主要是整合信息的能力很強(qiáng)。
另外一個(gè)是車載計(jì)算能力,無疑這方面rule based系統(tǒng)要求會(huì)很高,end-to-end系統(tǒng)這方面要求就要低一些。
最后一個(gè)是數(shù)據(jù)成本,包括獲取和標(biāo)注數(shù)據(jù),這是對(duì)于自動(dòng)駕駛發(fā)展來說比較關(guān)鍵的一點(diǎn)。在rule based系統(tǒng)中,因?yàn)樾枰斯とピO(shè)計(jì)各個(gè)模塊,所以需要人工去對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,比如比較知名的KITTI數(shù)據(jù)集,會(huì)耗費(fèi)人力對(duì)環(huán)境圖像、LiDAR數(shù)據(jù)進(jìn)行標(biāo)注。這樣一來,數(shù)據(jù)采集成本已經(jīng)很高了,后期的標(biāo)注成本可能會(huì)更高。
而end-to-end系統(tǒng)的數(shù)據(jù)成本則要低很多,一方面其數(shù)據(jù)是傳感器數(shù)據(jù),部署成功后就可以自動(dòng)化去獲??;另一方面數(shù)據(jù)是人的駕駛行為,也是可以自動(dòng)化的去采集,這樣的話整個(gè)數(shù)據(jù)成本就把標(biāo)注的成本剔除了。整體成本要減掉二分之一甚至更多,因?yàn)橐坏┮恍┸噺S和ADAS公司采納這一系統(tǒng),就可以批量、規(guī)模化地去采集??梢?,end-to-end系統(tǒng)在這方面優(yōu)勢(shì)很大。
總結(jié)起來,核心問題在于:rule based系統(tǒng)的研發(fā)、廣鋪成本極高;end-to-end系統(tǒng)很缺數(shù)據(jù),不過可以自動(dòng)化、規(guī)?;@取。所以,二者是互補(bǔ)的關(guān)系,對(duì)于一些普通的駕駛行為,使用end-to-end系統(tǒng)就足夠了,而對(duì)于一些安全層面的駕駛行為,則愿意去采用rule based系統(tǒng)。
接下來談?wù)劙⒉_項(xiàng)目的一些實(shí)踐經(jīng)驗(yàn)。
上面的視頻是百度的地圖采集車正在采集數(shù)據(jù)供End-to-end系統(tǒng)進(jìn)行訓(xùn)練。紅線是原始的司機(jī)的行為,綠線是模型預(yù)測(cè)出的一些結(jié)果。
目前,這個(gè)系統(tǒng)還只能做到Reactive control,從視頻中的一個(gè)交叉路口車輛的反應(yīng)來看,紅線要進(jìn)行邊線,但是綠線的預(yù)測(cè)還依然默認(rèn)車輛要保持車道行駛。當(dāng)然,當(dāng)車輛拐彎之后,預(yù)測(cè)模型就知道要怎么走。
而上面這個(gè)視頻是百度今年在CES Asia上提供給用戶試乘的自動(dòng)駕駛實(shí)車。已經(jīng)將訓(xùn)練后的End-to-end系統(tǒng)搭載上去,經(jīng)過了海量的數(shù)據(jù)的訓(xùn)練。
為了進(jìn)行功能展示,車輛只用了一個(gè)單目攝像頭,在這樣的場(chǎng)地中可以實(shí)現(xiàn)自動(dòng)駕駛。這里比較關(guān)鍵的點(diǎn)在于,我們故意設(shè)計(jì)了兩個(gè)比較急的彎,在速度上也可以做到更為人性化,急彎處會(huì)減速。
視頻后半段,工作人員將轉(zhuǎn)向的交通標(biāo)志推進(jìn)了場(chǎng)內(nèi),車輛可以識(shí)別出這個(gè)交通標(biāo)志,然后進(jìn)行左拐。這個(gè)循跡系統(tǒng)其實(shí)有很大差別,因?yàn)樵撓到y(tǒng)可以識(shí)別交通標(biāo)志。
如上文所述,end-to-end系統(tǒng)的關(guān)鍵在于很缺數(shù)據(jù),現(xiàn)在的研究數(shù)據(jù)來源主要有兩方面,一方面是真實(shí)數(shù)據(jù)(一些機(jī)構(gòu)的開源),一方面是模擬器的數(shù)據(jù)(模擬器軟件)。
可以對(duì)比一下二者的一些特性:
在今年的CVPR上,蘋果的獲獎(jiǎng)?wù)撐谋闾岢隽藄imGAN的概念,就是要將模擬器中的場(chǎng)景渲染得和真實(shí)場(chǎng)景極其接近,如果這些數(shù)據(jù)可以應(yīng)用于自動(dòng)駕駛實(shí)車上,將會(huì)是很大的突破。但是現(xiàn)階段仍然要打一個(gè)問號(hào)。
真實(shí)數(shù)據(jù)從哪里來?百度已經(jīng)和長(zhǎng)安、江淮等車廠合作,共同推出地圖采集車。
這些車輛不只是采集地圖信息,還會(huì)采集環(huán)境信息以及駕駛行為,這些數(shù)據(jù)會(huì)用于后臺(tái)做訓(xùn)練。目前已經(jīng)有數(shù)百輛這樣的車在全國(guó)各地行駛。
再來說一下具體的數(shù)據(jù),目前,我們開源出來的數(shù)據(jù)的基本結(jié)構(gòu)是這樣的:
上圖中的圖片是百度的地圖采集車前向的攝像頭采集到的圖片,第一期會(huì)開源10000公里的數(shù)據(jù)(是已采集數(shù)據(jù)中的一小部分),在全世界范圍內(nèi)也是絕無僅有的。
當(dāng)然,我們?cè)疾杉降臄?shù)據(jù)是軌跡、坐標(biāo)的信息,是參差、有一些擾動(dòng)的,我們會(huì)經(jīng)過地圖的制作流程和工藝將其處理得更為平滑、逼真。
有了這些高精度的軌跡之后,就可以做很多工作,比如汽車動(dòng)力學(xué)方面的執(zhí)行:
其中,百度阿波羅計(jì)劃開源的10000公里數(shù)據(jù)大概是這樣的一個(gè)組成關(guān)系:
其中Ctx指的是道路的曲率,為什么會(huì)有這么多組曲率數(shù)據(jù),主要還是因?yàn)閿?shù)據(jù)的延遲,車輛行駛過程中需要進(jìn)行一定的預(yù)測(cè),而系統(tǒng)無法做到百分之百的實(shí)時(shí)。
要特別提醒的是,各位在拿到開源數(shù)據(jù)的時(shí)候,也要做相應(yīng)的處理。
NVIDIA在2016年就給出了一個(gè)基本的橫向的控制模型,一個(gè)比較典型的CNN網(wǎng)絡(luò)。除了和CNN的一些基本優(yōu)化套路一樣,這個(gè)模型還會(huì)有一些問題:
而在縱向模型上,百度去年使用的是Convolutional-LSTM的視頻分析方法。
今年,百度采用的是橫向和縱向模型結(jié)合的方式,主要是LRCN的架構(gòu),就是CNN+RNN的整合。CNN去提取每一幀的特征,然后用LSTM擬合出其在時(shí)序上的行為。
其實(shí)走到現(xiàn)在,end-to-end系統(tǒng)還有很多可供討論的開放性問題,需要去優(yōu)化,需要從業(yè)者聯(lián)手去解決。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。