在第4期Apollo自動駕駛公開課中,來自Apollo團隊的高級研發工程師-詹錕老師為大家帶來了關于Apollo 2.5預測系統的內容分享。
詹錕老師主要從三個方面講解了Apollo 2.5的預測系統:
第一自動駕駛為什么需要預測,預測的作用是什么,如果沒有預測會怎樣;
第二從代碼層面詳述Apollo的預測系統代碼是如何實現的,每個模塊的功能,如果開發者要改動或者修改應該怎么介入;
第三Apollo預測系統在實際場景中所遇到的困難,以及解決方案。
這里,我們將整理后的公開課視頻和資料分享給大家,沒能到達現場的開發者可以通過視頻和PPT資料來詳細了解課程內容。
Apollo 2.5預測系統介紹
預測模塊是連接感知和決策規劃的橋梁,結合物理世界的人類行為習慣進行適當的邏輯推理,將周圍障礙物下一時刻和后續多個時刻的運動行為進行估計,給出對應可能的運動軌跡線。
詹錕老師主要從代碼層面剖析Apollo2.5的預測系統。
Apollo代碼架構預測部分分為3個部分,第一個是Container,作用是合理規劃整合上游數據,處理歷史信息;第二部分是評估、評價,是預測系統的核心,非常適用于神經網絡的學習,建立合理模型,使其找到人類的歷史行為軌跡,預測路線。通過第二部分的推理,系統會繪制出物體的行為軌跡,并將結果傳遞給決策規劃層。
Container
首先是Container, ADC trajectory可以通過路權做合理的推理,讓障礙物不直接發生預測。第二是構建來自感知障礙物、定位和高精圖等序列化特征。第三是本車的狀態。除了上面的特征抽取以外,更重要一步是需要把地圖信息進行合理的規劃。
如何在復雜的物理世界中,把地圖數據進行合理的刻畫,這是非常重要的步驟。通過把每條Lane,拆分成小的Lane,Lane1、Lane2、Lane3,按照前后級關系,組成具體的序列,每個序列上車都可以沿著其中一個序列進行走,就是這個車的軌跡線。上圖可以看到紅車有可能走三條軌跡線,就是Lane1、Lane2、Lane3,根據當前的地圖信息和當前的Lane的位置狀態,刻畫出這樣具有特征表達的地圖信息出來,只有物理識別信息進行合理表達,才能進行網絡學習、數據驅動,這是根據地圖特征信息抽取非常重要的部分。
在Apollo代碼里,表達出每個特征的特性,如上圖左邊是關于障礙物的特征,包含了車的位置信息、速度信息、加速信息、位置方向還有它的長、寬、高等等,右邊是代表它的Lane信息,把細小的Lane,組成Lane feature。這就是Container需要做的事情。
Evaluator
第二部是邏輯推理階段,這也是預測直接使用神經網絡的方式。就Apollo來說,對車輛進行了深度神經網絡的學習。具體來講,結構如圖所示,將每個障礙物各自特征輸入給LSTM的模型,每個LSTM對特征信息進行了全連接,最后輸出走這一條LSTM。第一規劃Lane橫向行為的分類情況,選擇是否走此Lane,選擇Lane1還是Lane2。第二是它的動力學,速度是什么樣的,就是它縱向的問題。第一是分類問題,同時結合在一個神經網絡中,這是Apollo 2.5的神經網絡。
前面有兩種預測方式,開發者可以根據自己的特性選擇自己的評價網絡,只是這個結構可以根據Apollo配置。
Predictor
選擇某條Lane或者知道Lane上面的速度以后,可以繪制出這個物體在Lane的行為軌跡,具體怎么繪制,有以下三種方式:一個是Free move,根據障礙物的動力學模型繪制出軌跡。第二是Lane sequence,就是根據車道中心線和Kalman濾波方法繪制的軌跡。第三是Move sequence,結合里學和車道信息融合后降采樣的軌跡方式。第四是Regional,根據障礙物動力學和軌跡3Sigma方差構建的區域軌跡。
Apollo Data
數據開發者來說是非常重要的一部分,Apollo開放的數據對預測有很好的作用,基于Apollo Data,可以通過自己采集以及周圍開發者共享數據進一步開發預測模型 。
Apollo Data的數據使用規范:
使用SL坐標系,車在軌道上做相對軌道的刻劃,然后確定要走的車道線每一個車道的狀態。通過這樣的數據結構,給特定的Lane,檢測它到底走沒走這條線,通過這樣的數據訓練模型,通過數據驅動方式,可能就非常貼切的表達出人類的駕駛行為習慣,而不是通過規則算法來做。
實際效果
通過動圖了解一下其效果:
自行車過馬路的時候,本來應該是紅燈變綠燈了,然后它應該在原地等待車輛駛過,但是其選擇了闖紅燈,系統能很好的給出預測線,這在預測場景是非常好的應用。
在無人車加速過路口的時候,有一個被隔離帶遮擋的障礙物出現了,同時其也選擇在無人車之前搶過這個路口,因此此時必須要有預測提前給主車提供這樣的信號,讓主車能及時做反應,而不是發生更危險的情況,這就是預測在承上啟下作用中,有非常好的范圍。
其實在中國的這些道路場景中,預測其實還遇到了非常多困難,最大的挑戰預測其實是在路口上。路口有很多種行為方式,比如一個車道既可以調頭,也可以左轉,也可以直行,還有各種社會車輛不按軌跡行走,這其實也是對預測有非常大的困難。如圖左側車輛并沒有按照真正的軌跡走,這樣的場景對主車是非常大的威脅,理論上從交規上肯定是他們的過錯,但是主車一切以安全為先,所以主車必須避讓。對這樣的場景,預測還是有很多困難。
第二場景是博弈的問題,低速過程中往往發生博弈現象,到底是哪輛車先走,這個情況是非常常見。如圖中,兩輛車都在等待對方先行,一方先行后,另一方又要開始行駛,所以需要進行上下游的溝通,才能進行更好的處理。
第三個場景是切車,有一些車輛行為比較暴躁,會在非常不合理的情況下急速加塞進來,導致主車處于很不安全的狀態,從規則上并沒有問題,但是這種場景對于自動駕駛也是要盡量躲讓,這時預測需要更好刻畫出駕駛行為是不是很危險、激進。
這種典型的挑戰場景,其實還有很多,整個預測的問題也分為這兩部分,一個是內部挑戰,一個是外部挑戰,內部挑戰主要是數據怎么能把所有的特征表達充分,模型是否在建立的非常合理,是不是還有更好的建模方式,這都是內部的挑戰。
同時既然是承上啟下的模塊,對上游數據的容忍度、依賴性都需要做一些處理,上游如果感知發出了消息,系統應該怎么根據歷史信息做很好的規避?做很好的容錯,這也是一個挑戰。同時像博弈問題,需要給下游決策做一些很好的交互,怎么提醒它先避讓還是先加速過去,這也是給預測帶來了非常多困難。
后續Apollo預測還是要不斷迭代更新,具體來說,會在特征方面做更多的融合處理,利用歷史信息,除了考慮當前的障礙物,還要考慮周圍所有障礙物,對全局進行估計。另外模型的迭代,同時數據積累,把仿真和真實打通,作為系統整合,需要上下游的聯系,通過多個維度,對預測模塊進行整合,這是后續Apollo需要做的事情。
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100714 -
Apollo
+關注
關注
5文章
342瀏覽量
18444
原文標題:?自動駕駛公開課 | Apollo 2.5預測系統介紹
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論