自動駕駛為什么需要軌跡預(yù)測?
01何為軌跡預(yù)測
自動駕駛中,軌跡預(yù)測一般位于感知模塊的后端,規(guī)控的前端,為承上啟下的模塊。輸入為感知模塊提供的目標(biāo)track的state信息、道路結(jié)構(gòu)信息,綜合考量高精地圖信息、目標(biāo)之間的交互信息,環(huán)境的語義信息及目標(biāo)的意圖信息,對感知到的各類目標(biāo)做出意圖預(yù)測(cut in/out、直行)以及未來一段時間的軌跡預(yù)測(0-5s不等)。如下圖所示。
ADAS系統(tǒng)需要對周圍環(huán)境信息有一定認(rèn)知能力,最基本的水平是要識別環(huán)境,再上一層則需要理解環(huán)境,而再上一層則需要對環(huán)境進(jìn)行預(yù)測。在對目標(biāo)進(jìn)行預(yù)測后,規(guī)控便可根據(jù)預(yù)測信息進(jìn)行自車的路徑規(guī)劃,并做出決策對可能出現(xiàn)的危險情況進(jìn)行制動或發(fā)出告警,這便是軌跡預(yù)測模塊存在的意義所在。
02 兩個挑戰(zhàn)
軌跡預(yù)測可分為短期預(yù)測與長期預(yù)測。
- 短期預(yù)測一般根據(jù)運動學(xué)模型(CV/CA/CTRV/CTRA)基于當(dāng)前的目標(biāo)state信息預(yù)測未來一段時間的軌跡,一般<1s是合適的,如果時間過長,那目標(biāo)僅與運動學(xué)相關(guān)的假設(shè)就不成立了。短期預(yù)測可以建一個運動模型專門去預(yù)測,同樣的也可以使用前面感知模塊濾波中的預(yù)測模塊,只不過不調(diào)用測量進(jìn)行濾波更新,這樣的好處是可以傳播不確定度。
- 長期預(yù)測是當(dāng)前業(yè)界主要在做的。這種預(yù)測僅基于運動模型就不合適了,一般需要做意圖預(yù)測,并結(jié)合一些上下文信息(地圖、目標(biāo)間交互信息)才能得到不錯的結(jié)果。此時業(yè)界有很多不同的輸出形式,比如輸出軌跡的概率分布、輸出多條預(yù)測軌跡、輸出一條可能性最大的預(yù)測軌跡。
對于長期的軌跡預(yù)測有兩個挑戰(zhàn):
- 輸出一條可能的軌跡或者輸出所有可能的軌跡都是不合理的。你輸出一條預(yù)測軌跡就可能漏掉真正的軌跡,你輸出所有可能的軌跡就會出現(xiàn)誤報的情況,這對于ADAS系統(tǒng)均是不可接受的。應(yīng)該考慮把預(yù)測軌跡限制在合適的子集中。
- 對軌跡預(yù)測做的越多就需要做更多的假設(shè)。極端一點的假設(shè)就是假定道路上的所有的目標(biāo)都遵守交通規(guī)則。這如果用于交通模擬功能是合理的,但是對adas系統(tǒng)并不合適,他需要對潛在的危險情況保持敏感。
影響做長期軌跡預(yù)測的不確定性主要來源于三個方面:
- 感知模塊輸出的目標(biāo)state估計的不確定。
- 駕駛意圖預(yù)測的不確定性。
- 從意圖識別完與車輛機(jī)動性改變中間的不確定性。
03 主要考量
對軌跡預(yù)測系統(tǒng)應(yīng)該考慮的四個問題:
- 軌跡預(yù)測要對潛在的危險有敏感性,這是軌跡預(yù)測存在的意義要求的。
- 既要考慮運行模型也要考慮意圖與周圍環(huán)境的信息。
- 考慮上述的不確定性。
- 考慮輸出的軌跡數(shù)量問題。
04 業(yè)界方法
如下圖為bosch公司發(fā)表綜述論文[2]中的分類方法。
- 如果按照使用模型的不同來分類,軌跡預(yù)測方法可以分為使用物理模型的方法、使用學(xué)習(xí)的方法、使用規(guī)劃算法的方法。
- 如果按照使用的信息來分類,軌跡預(yù)測方法可以分為使用目標(biāo)的信息的方法、使用環(huán)境中的動態(tài)目標(biāo)信息的方法、使用靜態(tài)環(huán)境信息的方法。
軌跡預(yù)測具體會涉及到哪些通用算法呢?
- 意圖預(yù)測:模糊理論、static BNs、DBN(HMM、JumpMM)、DS證據(jù)理論、機(jī)器學(xué)習(xí)中的分類算法。
- 深度學(xué)習(xí)相關(guān),端到端輸出。CNN、LSTM、RNN、Attention。
那軌跡預(yù)測可以使用哪些具體信息呢?
- 目標(biāo)信息:當(dāng)前/歷史的速度與位置信息,如果是行人軌跡預(yù)測的話,還可使用行人頭的朝向、關(guān)節(jié)信息、性別與年齡信息以及人的注意力信息。
- 環(huán)境中的動態(tài)目標(biāo)信息:social force、吸引力、群體約束信息。
- 靜態(tài)環(huán)境信息:free space、map、語義信息(道路結(jié)構(gòu)/交通規(guī)則/當(dāng)前交通信號燈)。
當(dāng)前學(xué)術(shù)界軌跡預(yù)測方面的論文越來越多,主要原因還是業(yè)界沒有行之有效的方法。
以下列舉業(yè)界論文:
BMW:物理模型+意圖預(yù)測(learning-based)。使用啟發(fā)式的方法集成專家知識,簡化了交互模型,在意圖預(yù)測的分類模型中加入了博弈論思想[3]。
BENZ:主要為意圖預(yù)測的相關(guān)論文,使用的是DBN[4]。
Uber:LaneRCNN[5]。
Google:VectorNet[6]。
Huawei:HOME[7]。
Waymo:TNT[8]。
Aptive:Covernet[9]。
NEC:R2P2[10]。
商湯:TPNet[11]。
美團(tuán):StarNet[12]。行人。
Aibee:Sophie[13]。行人。
MIT:Social lstm[14]。行人。
中科大:STGAT[15]。行人。
百度:Lane-Attention[16]。
Apollo:可以看如下博客作為參考。
www.cnblogs.com/liuzubing/p/11388485.html
Apollo的預(yù)測模塊接收感知、定位以及地圖模塊的輸入。
- 首先做了場景拆分,分為了普通巡航道路以及路口兩個場景。
- 而后對感知得到的目標(biāo)做重要性劃分,分為可以忽略的目標(biāo)(不會影響到自車)、需要謹(jǐn)慎處理的目標(biāo)(可能影響到自車)以及普通目標(biāo)(介于二者之間)。
- 而后進(jìn)入Evaluator,本質(zhì)上就是一個意圖預(yù)測。
4.最后進(jìn)入predictor,用于預(yù)測軌跡生成。對于靜止目標(biāo)、沿道行駛、freeMove、路口等不同場景做不同的操作。
05 數(shù)據(jù)集
(1) NGSIM
此數(shù)據(jù)集是美國FHWA搜集的高速公路行車數(shù)據(jù),包括了US101、I-80等道路上的所有車輛在一個時間段的車輛行駛狀況。數(shù)據(jù)是采用攝像頭獲取,然后加工成一條一條的軌跡點記錄。其數(shù)據(jù)集為CSV文件。數(shù)據(jù)沒有太多噪聲。
更多是整體調(diào)度層面的信息,如道路規(guī)劃、車道設(shè)置、車流量調(diào)節(jié)等。車輛運動學(xué)狀態(tài)需要進(jìn)一步抽取。處理代碼可使用下面的github。
github.com/nachiket92/conv-social-pooling
(2) INTERACTION
此數(shù)據(jù)集為加州大學(xué)伯克利分校機(jī)械系統(tǒng)控制實驗室(MSC Lab)與來自卡爾斯魯厄理工學(xué)院(KIT)和國立巴黎高等礦業(yè)學(xué)院(MINES ParisTech)的合作者建立了一個國際性、對抗性、協(xié)作性的數(shù)據(jù)集(INTERACTION)。它能準(zhǔn)確再現(xiàn)不同國家的各種駕駛場景中道路使用者(如車輛、行人)的大量交互性行為。
www.interaction-dataset.com/
(3)apolloscape
此為Apollo的公開自動駕駛數(shù)據(jù)集,其中有為軌跡預(yù)測提供的數(shù)據(jù)。內(nèi)部文件為2fps的1min數(shù)據(jù)序列,數(shù)據(jù)結(jié)構(gòu)包括幀數(shù)ID、目標(biāo)ID、目標(biāo)類別、位置xyz,長寬高信息以及heading,其中目標(biāo)類別包括小車、大車、行人、自行車/電動車以及其他。
apolloscape.auto/trajectory.html
(4) TRAF
此數(shù)據(jù)集聚焦于高密度的交通狀況,此狀況可以幫助算法更好地專注在不確定環(huán)境下人類駕駛員行為分析。數(shù)據(jù)每幀分別包含約13輛機(jī)動車輛,5名行人和2輛自行車
gamma.umd.edu/researchdirections/autonomousdriving/ad
在鏈接中有很多使用此數(shù)據(jù)集的軌跡預(yù)測項目。
(5) nuScenes
重磅來了,此數(shù)據(jù)集是2020年4月提出。其在波士頓和新加坡這兩個城市收集了1000個駕駛場景,這兩個城市交通繁忙而且駕駛狀況極具挑戰(zhàn)性。其數(shù)據(jù)集具有相關(guān)論文,可以看看,更好了解此數(shù)據(jù)集。
arxiv.org/abs/1903.11027
此數(shù)據(jù)集中有預(yù)測相關(guān)的比賽,可以關(guān)注。
www.nuscenes.org/prediction?externalData=all&mapData=all&modalities=Any
06 評估指標(biāo)
當(dāng)前主要使用的評估指標(biāo)為幾何度量。
幾何度量有很多個指標(biāo),主要使用的是ADE、FDE、MR。
ADE為均一化歐式距離。
FDE為最終預(yù)測點之間的歐式距離。
MR為未中率。有很多不同的名字,主要就是設(shè)一個閾值,預(yù)測點跡之間歐式距離低于這個預(yù)測就記為命中,高于這個閾值就記為未命中,最后計算一個百分比。
幾何度量是衡量預(yù)測軌跡與實際軌跡相似性的重要指標(biāo),可以很好是代表精度。但是以軌跡預(yù)測存在的意義來說,僅僅評估精度是沒有意義的。還應(yīng)有概率度量,用來評估不確定性,尤其是對于多模態(tài)輸出分布;還有任務(wù)層面度量,魯棒性的度量以及效率的評估這些。
概率度量:可以使用KL散度、預(yù)測概率、累積概率來作為概率度量。比如NLL, KDE-based NLL[17]。
任務(wù)層度量:評估軌跡預(yù)測對后端規(guī)控的影響(piADE,piFDE)[18]。
魯棒性:要考慮在預(yù)測之前,觀測到的部分軌跡的長度或持續(xù)時間;訓(xùn)練數(shù)據(jù)的size;輸入數(shù)據(jù)采樣頻率和傳感器噪聲;神經(jīng)網(wǎng)絡(luò)泛化、過擬合及輸入利用率分析;感知模塊送入的輸入如果有問題是否保證功能正常等等方面的因素。
效率:要考慮算力的。
說一下任務(wù)層的度量,piADE與piPDE為英偉達(dá)在2021年論文中提出的,我這邊有閱讀文章如下:
https://zhuanlan.zhihu.com/p/396549936
如下圖所示,此論文的主要考量為基于真值(藍(lán)色),灰色的目標(biāo)車預(yù)測的紫色與綠色軌跡如果使用幾何度量是具有相同的ADE與FDE的,但是不同的預(yù)測方式對自車的planning會造成影響,而現(xiàn)在沒有這種評估任務(wù)層級的度量,于是他們提出piADE與piFDE來做這個事。
07 三個問題
問題1:
三種不同的軌跡預(yù)測方法:基于物理模型、基于學(xué)習(xí)、基于規(guī)劃各自應(yīng)用場景在什么地方,有什么優(yōu)缺點呢?
不同的建模方法可以結(jié)合并利用不同類型的上下文信息。利用目標(biāo)的上下文線索、動靜態(tài)環(huán)境可以擴(kuò)展出所有建模方法。然而,不同的建模方法在結(jié)合不同類別的語義信息時表現(xiàn)出不同程度的復(fù)雜性和效率。
1.基于物理模型的方法
適用場景:目標(biāo)、靜態(tài)環(huán)境、動力學(xué)模擬可以被顯式轉(zhuǎn)移方程建模。
優(yōu)點:
- 基于物理模型的方法通過選擇適當(dāng)?shù)霓D(zhuǎn)移方程,可以很容易地跨環(huán)境應(yīng)用,而不需要訓(xùn)練數(shù)據(jù),盡管一些用于參數(shù)估計的數(shù)據(jù)是有用的。在論文中,簡單的CV模型也可產(chǎn)生合理的結(jié)果。
- 基于物理模型的方法很容易和target agent cues結(jié)合進(jìn)行擴(kuò)展。
缺點:
- 這種顯示建模的方法可能無法很好地捕捉現(xiàn)實世界的復(fù)雜性。
- 轉(zhuǎn)移方程在空間與時間上缺乏全局信息,導(dǎo)致可能獲得是局部最優(yōu)解。
這樣的缺點導(dǎo)致使用物理的方法限制在短期預(yù)測或者obstacle-free的環(huán)境。
2.基于學(xué)習(xí)的方法
適用場景:適合于當(dāng)前環(huán)境具有復(fù)雜的未知信息(例如具有豐富語義的公共區(qū)域),并且這些信息可以用于比較大的預(yù)測范圍。
優(yōu)點:
- 基于學(xué)習(xí)的方法可以潛在地處理所有類型的上下文信息,這些信息編碼在收集的數(shù)據(jù)集中。他們中一些是map-based,另外一些可以用來對上下文信息進(jìn)一步擴(kuò)展。
缺點:
- 需要在特定地點收集足夠的數(shù)據(jù),才能進(jìn)行訓(xùn)練。
- 上下文信息擴(kuò)展可能會導(dǎo)致involved learning、數(shù)據(jù)效率和泛化問題。
- 傾向于在非安全的關(guān)鍵組件中使用,在ADAS中比較在意可解釋性,這是基于學(xué)習(xí)方法無法做到的。
3.基于規(guī)劃的方法
適用場景:在終點定下來了且環(huán)境地圖可獲得的場景,有很好的表現(xiàn)。
優(yōu)點:
- 如果滿足以上兩個條件,其比物理方法可以獲得更好的精度,比基于學(xué)習(xí)的方法有更好的泛化能力。
缺點:
- 傳統(tǒng)的規(guī)劃算法:Dijkstra、Fast Marching Method、optimal sampling-based motion planners會隨著目標(biāo)的數(shù)量、環(huán)境的大小、預(yù)測范圍的增加而指數(shù)增長。
- 與基于物理的簡單模型相比,基于上下文線索的規(guī)劃方法(如逆向規(guī)劃的獎勵函數(shù)和正向規(guī)劃的模型)的參數(shù)是瑣碎的,通常更容易學(xué)習(xí),但在推理方面,對于高維(目標(biāo))智能體狀態(tài),效率較低。
基于規(guī)劃的方法本質(zhì)上是map-aware 與 abstacle-aware,很自然地使用語義線索進(jìn)行擴(kuò)展。通常情況下,他們會將情境復(fù)雜性編碼到目標(biāo)/獎勵方程中,但這可能無法恰當(dāng)?shù)卣蟿討B(tài)線輸入。因此,作者必須設(shè)計具體的修改,將動態(tài)輸入納入預(yù)測算法(Jump Markov Processes、local adaptations of the predicted trajectory、game-theoretic)。與基于學(xué)習(xí)的方法不同,目標(biāo)輸入很容易被合并,因為前向與逆向的規(guī)劃過程都基于同一個目標(biāo)動態(tài)模型。
問題2:
軌跡預(yù)測的問題現(xiàn)在已經(jīng)解決了嗎?
軌跡預(yù)測的需求很大程度上取決于應(yīng)用領(lǐng)域和其中的特定用例場景。短期內(nèi)可能不能說軌跡預(yù)測這個問題已經(jīng)解決了。以汽車行業(yè)舉例,因為有專門的標(biāo)準(zhǔn)規(guī)定,定義了最大速度、交通規(guī)則、行人速度和加速度的分布,以及車輛舒適加速/減速率的規(guī)范,其在制定需求和提出的解決方案方面似乎是最成熟的。可以說對于智能汽車的AEB功能,解決方案已經(jīng)達(dá)到了允許工業(yè)化生產(chǎn)消費產(chǎn)品的性能水平,對于其所需用例已經(jīng)解決。至于其他用例,則需要在不久的將來對需求進(jìn)行更多的標(biāo)準(zhǔn)化和明確的表述。并且對于魯棒性與穩(wěn)定性還需要演進(jìn)。
所以在回答軌跡預(yù)測是否已經(jīng)解決這個問題之前,最起碼應(yīng)該把標(biāo)準(zhǔn)定了。
當(dāng)前對于機(jī)器人領(lǐng)域來說
- 基于物理模型與學(xué)習(xí)的方法可以在短時間(1-2s)有較高的精度。非常適用于人群的局部運動規(guī)劃與碰撞避免。最簡單的CV模型就對機(jī)器人的局部規(guī)劃有很好的效果。如果考慮行人之間的交互以及因為機(jī)器人的存在對行人運動產(chǎn)生的影響,有好多種先進(jìn)算法。
- 對于需要預(yù)測15-20s的去全局路徑規(guī)劃,有很大挑戰(zhàn)。需求可以適當(dāng)放松,而理解動靜態(tài)上下文輸入(長期來看影響運行、在環(huán)境地圖上的推理、目標(biāo)的意圖推斷)則變得十分重要。對于局部和全局路徑規(guī)劃,位置無關(guān)方法最適合在各種環(huán)境下預(yù)測運動。
- 當(dāng)前機(jī)器人預(yù)測4.8s的ADE為0.19-0.4m的。簡單的速度模型也可以達(dá)到0.53m的ADE。9s預(yù)測有1.4-2m的ADE。
當(dāng)前對于自動駕駛領(lǐng)域來說:
- 大多數(shù)工作考慮的都是橫穿馬路的行人:開始走 繼續(xù)走 停止走。
- 自行車:一個騎自行車的人在接近一個十字路口時,后面有多達(dá)五個不同的道路方向。
問題3:
當(dāng)前衡量軌跡預(yù)測性能的評估技術(shù)是否足夠好?
當(dāng)前對于預(yù)測算法缺乏系統(tǒng)性的方法,特別是對于考慮上下文輸入以及預(yù)測任意數(shù)量的目標(biāo)的軌跡預(yù)測方法。
現(xiàn)在大多數(shù)作者僅僅使用幾何度量(AED, FDE)作為衡量算法好壞的指標(biāo)。然而對于長時間預(yù)測,預(yù)測通常是多模態(tài)的,并且與不確定性有關(guān),對此種方法的性能評估應(yīng)該使用考慮到這一點的指標(biāo),例如從KLD得到的負(fù)對數(shù)似然或?qū)?shù)損失。
此外也需要概率度量,其可以更好地反映了人體運動的隨機(jī)性以及感知缺陷所涉及的不確定性。
還有魯棒性的評估,需要考量在感知端出現(xiàn)檢測錯誤,跟蹤缺陷,自我定位不確定性或地圖變化此類場景時系統(tǒng)的穩(wěn)定性。
同時當(dāng)前所使用數(shù)據(jù)集,雖然包含的場景十分的全面,但是這些數(shù)據(jù)集通常是半自動注釋的,因此只能提供不完整和有噪聲真值估計。此外,在一些需要長期預(yù)測的應(yīng)用領(lǐng)域中,軌跡長度往往不足。最后,數(shù)據(jù)集中的目標(biāo)之間的交互通常是有限的,例如在稀疏的環(huán)境里面,目標(biāo)之間很難有影響。
綜上:為了評價預(yù)測質(zhì)量,研究者應(yīng)該選擇更復(fù)雜的數(shù)據(jù)集(包括非凸的障礙、長軌跡和復(fù)雜的interaction)以及完整的度量指標(biāo)(幾何+概率)。比較好的方法是根據(jù)不同的預(yù)測時間、不同的觀測周期,不同的場景復(fù)雜度設(shè)置不同的精度要求。并且應(yīng)該有魯棒性評估以及實時性評估。此外應(yīng)該有相關(guān)的指標(biāo)可以衡量ADAS系統(tǒng)對后端影響程度的指標(biāo)[18]以及衡量對危險場景敏感性的指標(biāo)[1]。
08 未來方向
來自于[2]中的討論,此處為引用。
當(dāng)前的趨勢時用更復(fù)雜的方法去超越使用單一模型+KF的方法
方向:
- 使用強(qiáng)化的上下文信息:可以使用更深層次的語義信息,這種語義信息應(yīng)對靜態(tài)環(huán)境有更好的理解。并且當(dāng)前使用語義特征進(jìn)行軌跡預(yù)測仍有待于開發(fā)
- 關(guān)于有social-aware的場景:①當(dāng)前大多數(shù)方法假設(shè)所有被觀察到的人的行為都是相似的,他們的運動可以由相同的模型和相同的特征來預(yù)測,而對高層次社會屬性的捕捉和推理還處于發(fā)展的早期階段。②大多數(shù)可行的方法基于的假設(shè)是人們之間的合作行為,而真實的人可能更傾向于優(yōu)化個人目標(biāo),而不是聯(lián)合策略,因此結(jié)合傳統(tǒng)AI+博弈論的方法很有研究前途。
- 對于長期預(yù)測,上下文信息變得特別重要,因為要基于情境和周圍環(huán)境考慮意圖。當(dāng)前許多基于學(xué)習(xí)的方法將個體視為粒子,用來學(xué)習(xí)轉(zhuǎn)移信息,以決定未來運動的方向。而通過更多的通過意圖驅(qū)動的預(yù)測來擴(kuò)展這些模型,類似于人類目標(biāo)導(dǎo)向的行為,將有利于長期預(yù)測。
- 大多數(shù)基于規(guī)劃的方法依賴于一組給定的目標(biāo),這使得它們在沒有事先知道目的地或可能目的地數(shù)量過高的情況下無法使用或不精確。這使得基于語義信息對目的終點進(jìn)行自動推斷變得重要?;蛘呖梢詣討B(tài)識別環(huán)境里面的可能目的地,并基于此進(jìn)行軌跡預(yù)測。這樣就可以在未知的環(huán)境里面使用基于規(guī)劃的方法了。
- 現(xiàn)在的方法都是集中于解決某一類特定的任務(wù),比如當(dāng)環(huán)境中存在明顯的運動模式時,或者當(dāng)環(huán)境的空間結(jié)構(gòu)和目標(biāo)agent的目的地預(yù)先已知時。而軌跡預(yù)測方法需要能適應(yīng)未定義的/不斷變化的環(huán)境,并且可以處理突發(fā)情況。這就需要遷移學(xué)習(xí)以及一些應(yīng)對新環(huán)境的方法,這種情況下,學(xué)習(xí)和推理基本的不變的規(guī)則,或者通用的行人行為或者碰撞避免是不合適的。領(lǐng)域自適應(yīng)是可以用于學(xué)習(xí)泛化模型。
- 另外需要注意的方向:魯棒性與可集成性。
綜上:簡潔來說就是上下文信息用的要更深入、最好對不同目標(biāo)有不同行為模型、博弈論、基于更多信息做更魯棒的意圖預(yù)測、對終點的自動推斷、對新環(huán)境的泛化問題、魯棒性與可集成性。