丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
智能駕駛 正文
發(fā)私信給新智駕
發(fā)送

0

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

本文作者: 新智駕 2017-07-31 20:02
導語:無人駕駛并不是單點的技術,而是多個技術的整合。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

雷鋒網(wǎng)按:從6月開始,新智駕聯(lián)合雷鋒網(wǎng)· AI慕課學院、網(wǎng)易云課堂企業(yè)版舉辦了智能駕駛系列講座,邀請業(yè)界、學界頂尖專家一起分享關于自動駕駛現(xiàn)在與未來的多樣見解。

7月19日,“未來汽車大講堂”邀請到 PerceptIn 聯(lián)合創(chuàng)始人劉少山分享了主題為《詳解無人駕駛技術架構》的課程。

雷鋒網(wǎng)新智駕對課程內容進行了不改變原意的編輯,完整視頻回放請前往AI慕課學院官網(wǎng)查看。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

無人駕駛并不是單點的技術,而是多個技術的整合。

首先,來看看無人駕駛的整體技術架構,大概可以分為三大模塊:算法、系統(tǒng)以及云平臺。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

在車輛端,上層是算法模塊,包括傳感(如何更好的獲取環(huán)境數(shù)據(jù))、感知(如何更好的理解車輛周圍環(huán)境,包括定位,物體識別,物體追蹤)以及決策(在了解環(huán)境后如何更好的做出決策,包括路徑規(guī)劃,行為預測和障礙物躲避等)三個部分;下層則是操作系統(tǒng)和硬件平臺。

而在云端,則有一個無人駕駛的云平臺,其上囊括了高精地圖、模型訓練、模擬計算以及數(shù)據(jù)存儲等幾塊內容。

一、定位(Localization)

無人駕駛汽車行駛過程中最重要的是要知道自身處在什么位置上,只有這樣才知道要怎么去往目的地。接下來將主要闡述目前應用比較多的定位技術。

1、定位技術:GPS

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

我們平常用的是多星GPS,可以接收伽利略或北斗的信號,做一個綜合,然后得出一個相對精準的位置。但是多星GPS的定位精度大約能做到1-2米,這滿足不了無人駕駛車道級定位的要求。

所以,后續(xù),業(yè)內又開發(fā)出一種被稱為RTK(Real-Time-Kinematic)的GPS,主要是依靠在地面布置基站,通過基站的信號去糾正衛(wèi)星的信號,精度可以達到分米級別甚至更低。但缺點是需要布置基站,成本很高,還需要人維護。

接下來,又出現(xiàn)一種稱為PPP(精密單點定位)的GPS技術,基于全球衛(wèi)星的聯(lián)網(wǎng)系統(tǒng),通過互聯(lián)網(wǎng)發(fā)布衛(wèi)星的糾正信號,這項技術大概在2018年會在全球進行部署。其好處在于不需要布置基站,無論在哪,都能得到一個比較精準的位置。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

GPS是一個比較好的定位導航工具,但是其更新率低是最大的問題。有的是1幀/秒的更新,有的是10幀/秒的更新,車輛高速行駛的狀況下,這顯然不夠用。

所以,一般情況下,我們會把GPS和IMU慣導系統(tǒng)結合起來。慣導系統(tǒng)能提供快速更新——1000幀/秒,這彌補了GPS的更新率低的問題;而慣性導航所存在的“累計誤差”問題,也可以通過GPS來彌補。

2、定位技術:激光雷達(LiDAR)和高精地圖(HD Map)

激光雷達的好處是有一定的射程,能觸及100-200米的距離,能很精準的得到空間中的點(3D點云)。將激光雷達的數(shù)據(jù)和高精地圖的數(shù)據(jù)做一個匹配,可以將車輛定位上升到厘米級別。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

但是激光雷達的成本高,而且是轉動的形式,容易磨損,耐用性很差。

激光雷達很依賴另一個傳感器——高精地圖(傳統(tǒng)意義上也不能稱其為傳感器),二者配合使用才能達到一個很好的定位效果。

具體到高精地圖的制作上。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

在高精地圖的最底層,是一個網(wǎng)格地圖,網(wǎng)格地圖是使用激光雷達掃描回來的,精度可達5厘米;網(wǎng)格地圖之上,我們會做道路的標簽,也就是最底層的reference line;再加一些語義信息,精確到車道,標示出lanes;在車道之上,再做一些語義標簽,比如限速、紅綠燈這樣的標志物。

高精地圖制作起來非常昂貴,因為需要激光雷達設備不斷去掃描外部環(huán)境,從而得到相關的數(shù)據(jù)來支撐其制作。

3、定位技術:視覺(Visual Odometry)

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

傳統(tǒng)的做法是用雙目進行視覺導航,方法如下:

左右兩個圖進來,首先做一個三角成像,就可以得出空間中深度點的信息,每一個特征點都有描述,然后再將前后兩幀圖像的特征點進行比對,得出其位移的信息,大概能定位到車輛移動的距離。

后續(xù)技術的發(fā)展,實現(xiàn)了單目視覺進行導航的功能,但是圖像信息更新率有限——30-60幀/秒之間。所以,為了更快速得到信息更新,還是要將IMU加上,就產(chǎn)生了Visual inertial odometry技術,可以得到很精準的位置更新。

4、定位技術:輪速計

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

這個就非常簡單了,因為輪子周長固定,可以通過圈速來進行距離的測算,但是這個方式的累計誤差會比較大,所以也存在很大的問題。

5、定位技術:傳感器融合

但在實際的實踐中,只依賴一種定位技術或傳感器,顯然無法實現(xiàn)良好的效果。天氣、光照、磁場等等,都會干擾這些定位傳感器的正常使用。

真正的解決方案是傳感器融合:

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

通過IMU和輪速計,得到車輛初始的位置,而GPS則可以不斷糾偏,把錯誤率控制在一定的范圍,比如GPS是厘米級的,那么精度就能保證在厘米級別,同時再加上激光雷達和高精地圖的匹配,得出一個最終的很精準的位置。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

這套架構是主流的無人駕駛公司都在使用的,比如斯坦福大學的無人車、CMU的無人車、谷歌的無人車以及百度的無人車,都是這樣的一個架構。

二、感知(Perception)

感知就是理解環(huán)境,要做感知,需要的是一個數(shù)據(jù)集。在無人駕駛行業(yè),有一套通用的數(shù)據(jù)集——KITTI數(shù)據(jù)集,里面有不同的數(shù)據(jù),包括雙目視覺的數(shù)據(jù)、定位導航的數(shù)據(jù)等。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

1、感知:物體檢測(Object Detection)

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

傳統(tǒng)方法主要是針對固定物體的檢測。一般的方法是HOG(Histogram of Oriented Gradien,方向梯度直方圖),然后再加一個SVM的分類器。而對于動態(tài)物體的檢測,主要使用的是DPM模型的方法,先把手和腳識別出來,再進行組合。

2、感知:場景(Segmentation)

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

人行道是一個場景,道路是一個場景,在場景中對不同的物體進行分類,是一個很重要的問題。

傳統(tǒng)的方法是采用CRF(Conditional Random Field,條件隨機場),基本原理在于圖像都是由像素點組成的,若兩個像素點都比較像車,那就把二者連接起來,形成對車輛的識別。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

另外,就是我們所說的光流(Optical Flow),光流是針對2D圖像來說的,如果說一個圖片流到另外一個圖片,都是2D的物體移動,那就用光流來做。如果是3D的物體流動,那我們就用場景流(Scene Flow),場景流在傳統(tǒng)的方法就是使用的是SGBM,利用的是雙目成像的技術,把左圖和右圖合起來提取出空間的點,用光流在上面做,就能把場景的流動分析出來。

3、感知:物體追蹤(Object Tracking)

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

這也是無人駕駛中一個比較重要的技術。如何預測行人下一個動作、怎么去跟蹤這個行人,也有一系列問題。里面用到的是馬爾可夫鏈的解決方案,這個技術叫做MDP,跟蹤一個人,隨時跟蹤其下一個動作,預測其下一個動作。

以上其實都是一些傳統(tǒng)的感知方法,而這些年隨著深度學習的不斷進步,應用也非常廣泛。

在物體識別方面,有兩個非常有效的模型。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

一個是Faster R-CNN,它會將興趣點框出來,然后再進行物體識別,找到是不是你想要識別的物體;另一個是更為快速的SSD,也是將圖中的物體識別出來。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

而在場景分類方面,運用深度學習的方法則使用的是另一種模型,被稱為PSPnet(語義分割)。這是金字塔型的場景分解模型,將一個場景不斷地壓縮,把類似的物體聚類,然后再做判斷。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

光流也可以利用深度學習的模型來做,把左右兩圖用同樣的模型來提取特征,經(jīng)過計算就能得出一個深度的信息。但是這個方式的計算量非常大。

三、決策和控制(Planning and Control)

這是一個最基本的決策和控制的架構,但這個部分其實是無人駕駛中最難的部分。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

最上方的感知系統(tǒng)可以感知行人的位置、速度及態(tài)勢,然后將這些信息傳送給預測模塊,預測行人是往前還是往后,速度多快。而下方的定位數(shù)據(jù)流進來之后,全局的路徑規(guī)劃模塊就會將這些路徑傳入到最核心的控制決策模塊——其中包括行為決策、動作決策和反饋控制。最后,這些信號會傳送給CAN-BUS,由車輛來執(zhí)行。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

交通預測其實可以分成兩個問題:一個是分類問題,另一個是回歸的問題。

分類問題要了解的是行人到底是過馬路還是不過馬路,回歸問題就更復雜一些,如果行人是過馬路,那么針對其過馬路的速度是多少,需要做一個預測。

路徑規(guī)劃也是比較有趣的,因為這對無人車來說是一個比較特殊的問題,因為對于普通的車輛來說,只要知道這是哪條路就行了,而不需要知道這是哪一條車道。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

因為每條路都有不同的車道,那我們把車道標出不同的節(jié)點,不同的節(jié)點連接在一起,就變成了一條車道。通過某種方式(Dijkstra和A*)找到最短車道,就能得到最優(yōu)解。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

有了全局的路徑規(guī)劃以后,我們就需要進行行為決策。因為道路場景非常復雜,可以分成幾十個不同的場景——左右車道、丁字路口等等,需要做場景組合決策。

然后是動作的規(guī)劃,包括加速、減速、轉向等等,速度規(guī)劃主要使用了ST-graph工具來做,路徑規(guī)劃主要是動態(tài)編程來實現(xiàn)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

而最后的反饋控制則是由車廠來做,而且很多車廠采取的方案是不一樣的。實現(xiàn)反饋控制的一般有雙輪模型和PID控制模型,后者實現(xiàn)起來比較順暢。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

四、端系統(tǒng)(Client System)

任何一個復雜的系統(tǒng)都需要一個操作系統(tǒng)來輔助它實現(xiàn)功能,這樣才不至于混亂。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

如上圖所示,在處理器(Processor)中,其實運行了上文所述的各類算法,包括感知、定位、全局路徑規(guī)劃等算法。然后再實現(xiàn)對車輛本身的控制,包括動作控制、方向控制。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

首先我們需要一個操作系統(tǒng)來管理這么多復雜的工作,現(xiàn)在大部分廠家用的都是ROS——機器人操作系統(tǒng),當然都做了一些個性化設計。這是一個信息傳遞的系統(tǒng),可以通過點對點的傳輸形式或是廣播的形式來做信號傳輸?shù)膭幼鳌?/span>

ROS本身有很多問題:

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

  • 單一主節(jié)點,很容易整體崩潰。(解決方案:可以用Zookeeper機制來做,設置多個主節(jié)點。)

  • 通信非常低效。(解決方案:可以用共享內存的方法來做。)

  • 不是很安全,比如開一個惡意節(jié)點不斷去損耗資源,很容易造成整體系統(tǒng)的崩潰。(解決方案:這個問題可以使用Linux Container的技術來解決。)

硬件平臺當然也是不可或缺的。其前端有很多傳感器,信號傳輸進來后,有一個計算平臺進行接收,處理完成后再通過CAN-BUS,把控制信號傳給車輛控制系統(tǒng)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

以往很多時候,無人駕駛汽車上都放了兩臺計算機進行數(shù)據(jù)處理。這樣帶來的問題是功耗高,散熱問題非常難以處理。未來,計算單元小型化會是很大的挑戰(zhàn)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

劉少山介紹,他們曾經(jīng)使用手機平臺,實現(xiàn)了一些比較簡單的無人駕駛功能,主要是用視覺來做。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

五、云平臺(Cloud Infrastructure)

如今,很多投資人都關注無人駕駛的終端,而對于云平臺沒有給予足夠的重視,實際上這塊內容是非常重要的。

無人駕駛車輛每秒最多可以產(chǎn)生2GB的裸數(shù)據(jù),怎樣利用這大量的數(shù)據(jù)去幫助無人駕駛做得更好,怎么樣去搭建一個云平臺去更好地服務無人駕駛的作業(yè),這是個很大的挑戰(zhàn)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

云平臺底層就是存儲和計算。我們有一個開源的項目叫做Alluxio,基本上就把磁盤存儲給管理起來了,這是一個分布式的存儲管理器;在其上,我們運用了異構計算,不同的作業(yè)依賴的處理器也不一樣,所以會有GPU、CPU和FPGA;當然,為一個處理器寫一套單獨的程序,太復雜了,所以在其上統(tǒng)一搭載了OpenCL,對程序進行統(tǒng)一管理;分布式計算也需要一個管理平臺,我們采用了Spark平臺——比較通用、功能很多。再在這個平臺上搭建高精地圖、模擬計算和模型計算等作業(yè)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

在計算層面,我們運用了Apache Yarn這個分布式系統(tǒng)管理器通過Spark把作業(yè)分發(fā)下去,每個Spark的節(jié)點都有多個容器(Container),容器上會跑一些 OpenCL 的 Kernel,OpenCL 可以跑在 GPU 上,也可以跑在FPGA上。這個平臺的可擴展性非常強,模型訓練所需的時間會隨著GPU數(shù)量的增加而線性減少。

在談談云平臺的具體應用。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

首先是模擬計算。比如你新開發(fā)了一個程序,想要試試新的算法是不是好用,但是不可能每次都實車驗證,因為成本高,而且覆蓋的場景很少。

所以一般采用的是模擬計算的方式:游戲平臺和真實數(shù)據(jù)回放,更多是采用后者的形式。

這里有一個問題,單機回放必須要回放實際的數(shù)據(jù),比如谷歌無人車累計有8年的數(shù)據(jù),那就要計算8年,這顯然不可取。

所以這里采用了Spark Driver的系統(tǒng),可以并行處理,把作業(yè)分發(fā)下去,通過Linux pipe把每一個ROS Node節(jié)點打出來做一個回放,數(shù)據(jù)再回收到Spark Driver里去。只要給的節(jié)點夠多,幾十分鐘就可以驗證一套算法。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

第二個是高精地圖的制作。這是個很復雜的工作,首先是裸數(shù)據(jù),然后從裸數(shù)據(jù)得出一個點云的數(shù)據(jù),點云和點云之間要做一個對齊,對齊之后要把反射率的數(shù)據(jù)填到里面,然后再加一些語義的信息等。用分布式平臺來做高精地圖的生產(chǎn),最大的計算量部分集中在點云的生產(chǎn)和對齊上,用異構計算可以很好地完成這些作業(yè)。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

第三個是模型訓練。這里采用的是分布式訓練,其實百度很早就在用這種方式,用的是Paddle,將其連上Spark,把作業(yè)分發(fā)出去。這里面也用到了Alluxio分布式存儲管理器。

【參考文獻及資料】

1.第一本無人駕駛技術書 

2. Creating Autonomous Vehicle Systems [Summary]

3. Creating Autonomous Vehicle Systems [Book]

4. CAAD: Computer Architecture for Autonomous Driving

5. Implementing a Cloud Platform for Autonomous Driving

更多精彩課程還在持續(xù)更新中,請前往AI慕課官網(wǎng)了解詳情。

PerceptIn 劉少山:無人駕駛需要一個怎樣的技術架構? | 未來汽車大講堂

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知

分享:
相關文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說