自動駕駛汽車如何解決復(fù)雜交互問題?清華聯(lián)合MIT提出M2I方案
自動駕駛汽車上路時(shí),不可避免的需要學(xué)習(xí)一些道路上的“潛規(guī)則”。自動駕駛系統(tǒng)需要察言觀色,隨機(jī)應(yīng)變地及時(shí)發(fā)現(xiàn)什么時(shí)候應(yīng)該減速禮讓,什么時(shí)候又應(yīng)該發(fā)現(xiàn)別人正在禮讓而盡快加速通過。由于道路環(huán)境的復(fù)雜性,很多新手司機(jī)都未必能夠做出合適的判斷。
這種復(fù)雜性導(dǎo)致基于規(guī)則的方法很難在覆蓋到全部情況的同時(shí)不出現(xiàn)互相沖突的情況。來自清華大學(xué)的研究團(tuán)隊(duì)提出了一種基于自監(jiān)督學(xué)習(xí)的方法,從已有的軌跡預(yù)測數(shù)據(jù)集中學(xué)得道路上的各種“禮儀”,并正確判斷出沖突中的禮讓關(guān)系。該研究將預(yù)測的關(guān)系在充滿復(fù)雜交互的 Waymo Interactive Motion Prediction 數(shù)據(jù)集上進(jìn)行了測試,并提出了 M2I 框架來使用預(yù)測出的關(guān)系進(jìn)行場景級別的交互軌跡預(yù)測。
該項(xiàng)目主要由清華大學(xué)孫橋和MIT黃昕合作完成,清華MARS Lab趙行老師給予指導(dǎo)。
- 論文地址:https://arxiv.org/abs/2202.11884
- 項(xiàng)目地址:https://tsinghua-mars-lab.github.io/M2I/
軌跡預(yù)測問題是自動駕駛系統(tǒng)中的重要一環(huán),對自動駕駛車輛安全行駛不可或缺。軌跡預(yù)測模塊通常作為識別 (Detection) 和跟蹤 (Tracking) 的下游系統(tǒng),使用已有的高精地圖和識別到的周圍的其他車輛或行人的信息來預(yù)測他們未來可能會做出哪些行為。軌跡預(yù)測系統(tǒng)會以軌跡或熱力圖的形式輸出預(yù)測結(jié)果,以便下游的規(guī)劃 (Planning) 系統(tǒng)規(guī)劃出一條對于自動駕駛車自身最為合理的下一步的決策或軌跡。
盡管大多數(shù)軌跡預(yù)測方法都通過 GNN 或基于 Attention 的方法嘗試學(xué)習(xí)道路上的車輛和行人之間的關(guān)系,但是這些方法通常面對以下一些難以克服的挑戰(zhàn):
1. 模型預(yù)測的關(guān)系是隱式的所以缺乏可解釋性,也難以確定模型是否真的學(xué)習(xí)到了這些關(guān)系;
2. 模型預(yù)測的關(guān)系和最終輸出的軌跡之間并不統(tǒng)一(如圖 1 第一行所示),會天然出現(xiàn)重疊的情況,無法確保場景級別的合理性;
3. 道路使用者的決策存在順序關(guān)系,模型預(yù)測無法區(qū)別邏輯上的預(yù)測順序,而是只能并行逐個(gè)預(yù)測。
圖 1: 逐車進(jìn)行軌跡預(yù)測的方法輸出的軌跡之間會存在碰撞
為了解決這些問題,研究者提出了一個(gè)簡單且有效的框架 M2I(如圖 1 第二行)。使用 M2I 框架,你可以快速的將手頭已有的任何軌跡預(yù)測模型進(jìn)行改造后,獲得場景級別的關(guān)系預(yù)測能力以及基于一輛車的軌跡預(yù)測另一輛車的軌跡的能力。使用這兩種能力即可確保你的新模型獲得針對交互場景的更好預(yù)測效果。
多智能體軌跡預(yù)測轉(zhuǎn)單智能體軌跡預(yù)測
首先讓我們來看一下 M2I 的整體框架。M2I 由三個(gè)模塊組成, 如圖 2。這三個(gè)模塊分別是關(guān)系預(yù)測模塊,單智能體軌跡預(yù)測,條件軌跡預(yù)測。
圖 2: M2I 軌跡預(yù)測框架
關(guān)系預(yù)測
復(fù)雜的道路使用者之間的關(guān)系可以被抽象為多個(gè)關(guān)系對,該研究將每一對道路使用者分類為一個(gè) 影響者 (Influencer) 和一個(gè) 響應(yīng)者 (Reactor),將響應(yīng)者定義為沖突中的需要禮讓的一方,而影響者則是不需要禮讓的一方。由此可以將交互中的軌跡預(yù)測問題抽象成兩次軌跡預(yù)測,一次是預(yù)測影響者的軌跡,一次是使用預(yù)測好的影響者的軌跡去預(yù)測響應(yīng)者的軌跡。這樣的方法確保了兩者在場景級別上預(yù)測的軌跡的一致性從而最大程度上避免了重疊等不合理的情況。
那么如何預(yù)測誰是影響者誰是響應(yīng)者呢?或者說預(yù)測沖突中誰應(yīng)該禮讓。該研究提出了一種基于時(shí)空軌跡交錯(cuò)的方法從已有數(shù)據(jù)集中挖掘 Ground Truth 標(biāo)簽的方法。具體來說,在數(shù)據(jù)集中,如果任意兩個(gè)道路使用者的軌跡在不同時(shí)間上產(chǎn)生了交叉,該方法則標(biāo)記優(yōu)先通過這個(gè)交叉點(diǎn)的智能體為影響者,后通過的標(biāo)記為響應(yīng)者。通過對這個(gè)自動生成的標(biāo)簽的學(xué)習(xí),該模型可以學(xué)習(xí)到?jīng)_突時(shí)的先行關(guān)系。
該研究使用的關(guān)系預(yù)測模型是將 DenseTNT 的 Trajectory Prediction Head 換為一個(gè)普通的分類 Classification Head 改造得到的。研究者發(fā)現(xiàn)不對已有模型的其他部分進(jìn)行任何修改,就可以將關(guān)系預(yù)測的準(zhǔn)確率達(dá)到 90% 以上。對比實(shí)驗(yàn)顯示,使用準(zhǔn)確率越高的關(guān)系進(jìn)行 Conditional Trajectory Prediction 可以獲得越好的效果。
研究者還將關(guān)系預(yù)測拓展到多智能體的關(guān)系預(yù)測上。針對多智能體,該研究將他們兩兩成對進(jìn)行預(yù)測,并將預(yù)測結(jié)果組成一個(gè)有向圖來表示他們之間的關(guān)系,結(jié)果如圖 3 所示,M2I 的關(guān)系預(yù)測模塊可以很好地拓展到多智能體的關(guān)系預(yù)測上。
圖 3: 復(fù)雜場景下的多智能體的關(guān)系預(yù)測
軌跡預(yù)測
可以使用任何常見的軌跡預(yù)測模塊來替換 M2I 框架中的單智能體軌跡預(yù)測模塊,在該論文的實(shí)驗(yàn)中,研究者使用了 DenseTNT 進(jìn)行單智能體軌跡預(yù)測。對于 Conditional Trajectory Prediction,研究者修改了 DenseTNT 的 Encoder,將影響者的未來的軌跡(在使用的 Waymo 數(shù)據(jù)集中,未來軌跡為 8s,共 80 幀)與其他信息共同進(jìn)行編碼供模型進(jìn)行學(xué)習(xí)。訓(xùn)練時(shí)影響者未來的軌跡是數(shù)據(jù)集中的 ground truth 軌跡,預(yù)測時(shí)影響者未來的軌跡是單智能體模塊輸出的軌跡。對于 Conditional Trajectory Prediction,該研究沒有修改除了 Encoder 之外模型的其他結(jié)構(gòu)。
實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果證明,相比于其他幾個(gè)在 leaderboard 上的方法,使用了 M2I 框架的 DenseTNT 模型表現(xiàn)明顯優(yōu)于其他方法。尤其是在車輛之間的交互上,使用 M2I 預(yù)測在 mAP 上相比其他模型性能提升明顯。
圖 4: M2I 在 Interactive Motion Prediction 上的表現(xiàn)明顯優(yōu)于其他已有方法
該研究還嘗試了使用 TNT 作為 Backbone。實(shí)驗(yàn)結(jié)果顯示,使用 M2I 框架同樣可以幫助 TNT 提升在交互場景中的性能表現(xiàn),從而證明了 M2I 框架可以不受限于某個(gè)指定的 backbone。
定性分析顯示,使用 M2I 框架后,預(yù)測軌跡在場景級別上表現(xiàn)的更為接近真實(shí)的交互軌跡,如圖 5 所示。
圖 5: M2I 更好的學(xué)習(xí)到了場景中兩輛正在交互的車輛應(yīng)該如何先后完成轉(zhuǎn)彎