首頁  >  文章  >  科技週邊  >  整理自動駕駛端到端規劃方法的綜述

整理自動駕駛端到端規劃方法的綜述

王林
王林轉載
2023-10-30 14:45:05831瀏覽

本文為經自動駕駛之心公眾號授權轉載,轉載請聯絡原文出處

一、Woven Planet(豐田子公司)的方案:Urban Driver 2021

這篇文章雖然是21年的,但許多新的文章都以它為對比基線,因此也有必要了解其方法

整理自動駕駛端到端規劃方法的綜述

整理自動駕駛端到端規劃方法的綜述

大概看了下,主要就是用Policy Gradients學習State->近期action的映射函數,有了這個映射函數,可以一步步推演出整個執行軌跡,最後loss就是讓這個推演給予的軌跡盡可能的接近專家軌跡。

效果應該當時還不錯,因此能成為各家新演算法的基線。

二、南洋理工大學方案一Conditional Predictive Behavior Planning with Inverse Reinforcement Learning 2023.04

整理自動駕駛端到端規劃方法的綜述

先使用規則列舉了多種行為,生成了10~30條軌跡。 (未使用預測結果)
使用Condtional Prediction算出每條主車待選軌跡情況下的預測結果,然後使用IRL對待選軌跡評分。

其中Conditional Joint Prediction模型長這樣:

整理自動駕駛端到端規劃方法的綜述

這個方法基本上很讚的點就是利用了Conditional Joint Prediction可以很好的完成互動性的預測,使得演算法有一定的博弈能力。
但我個人認為演算法缺點是前邊只產生了10~30條軌跡,而且軌跡生成時沒考慮預測,而且最後會直接在IRL打分後,直接選用這些軌跡中的一條作為最終結果,比較容易出現10~30條在考慮預測後發現都不大理想的狀況。相當於要在瘸子裡邊挑將軍,挑出來的也還是瘸子。基於這個方案,再解決前邊待選樣本產生品質會是很不錯的路子

三、英偉達方案:2023.02 Tree-structured Policy Planning with Learned Behavior Models

#用規則樹狀採樣,一層一層的往後考慮,對每一層的每個子結點都產生一個conditional prediction,然後用規則對prediction結果和主車軌跡打分,並用一些規則把不合法的幹掉,然後,利用DP往後產生最優軌跡,DP思路有點類似apollo裡dp_path_optimizer,不過加了一個時間維度。

不過因為多了一個維度,這個後邊擴展次數多了之後,還是會出現解空間很大計算量過大的情況,當前論文裡寫的方法是到節點過多之後,隨機丟棄了一些節點來確保計算量可控(感覺意思是節點過多之後可能也是n層之後了,可能影響比較小了)

本文主要貢獻就是把一個連續解空間通過這種樹形採樣規則轉變一個馬可夫決策過程,然後再利用dp求解。

四、南洋理工大學&英偉達聯合2023年10月最新方案:DTPP: Differentiable Joint Conditional Prediction and Cost Evaluation for Tree Policy Planning in Autonomous Driving

#你看標題就感覺很Exciting:

一、Conditional Prediction確保了一定賽局效果
二、可導,能夠整個梯度回傳,讓預測與IRL一起訓練。也是能拼出一個端對端自動駕駛的必備條件
三、Tree Policy Planning,可能有一定的交互推演能力

#仔細看完,發現這篇文章資訊含量很高,方法很巧妙。

整理自動駕駛端到端規劃方法的綜述

經過對英偉達的TPP和南洋理工的Conditional Predictive Behavior Planning with Inverse Reinforcement Learning進行糅合改進,成功解決了之前南洋理工論文中待選軌跡不好的問題

論文方案的主要模組包括:

一、Conditional Prediction模組,輸入一條主車歷史軌跡提示軌跡障礙車歷史軌跡,給出主車接近提示軌蹟的預測軌跡和與主車行為自洽的障礙車的預測軌跡。
二、評分模組,能夠給一個主車 障礙車軌跡打分看這個軌跡是否像專家的行為,學習方法是IRL。
三、Tree Policy Search模組,用來產生一堆待選軌跡

採用Tree Search演算法來探索主車的可行解,探索過程中每一步都將已經探索出來的軌跡作為輸入,利用Conditional Prediction演算法產生主車和障礙車的預測軌跡,並調用打分模組評估軌跡的優劣,從而影響下一步搜尋擴展節點的方向。透過這種方法,可以產生一些與其他方案不同的主車軌跡,並且在軌跡生成時考慮與障礙車之間的交互

傳統的IRL都是人工搞了一大堆的feature,如前後一堆障礙物在軌跡時間維度上的各種feature(如相對s, l和ttc之類的),本文裡為了讓模型可導,則是直接使用prediction的ego context MLP生成一個Weight數組( size = 1 * C),隱式表徵了主車周圍的環境訊息,然後用MLP直接接把主車軌跡對應多模態預測結果轉成Feature數組(size = C * N, N指的待選軌跡數),然後將兩個矩陣相乘得到最終軌跡評分。然後IRL讓專家得分最高。個人感覺這裡可能是為了計算效率,讓decoder盡可能簡單,還是有一定的主車信息丟失,如果不關注計算效率,可以用一些更複雜一些的網絡連接Ego Context和Predicted Trajectories,應該效果層面會更好?或者如果放棄可導性,這裡還是可以考慮再把人工設定的feature加進去,也應該可以提升模型效果。

在時間方面,該方案採用了一次重編碼 多次輕量化解碼的方法,成功地減少了計算延遲。文章中指出,延遲可以壓縮到98毫秒

在learning based planner中屬於SOTA行列,閉迴路效果接近前一篇文章中提到的nuplan 排第一的Rule Based方案PDM。

總結

看下來,感覺這麼範式是挺不錯的思路,中間具體過程可以自己想辦法調整:

  1. 用預測模型指導一些規則來產生一些待選ego軌跡
  2. 對每個軌跡,用Conditional Joint Prediction做互動式預測,產生agent預測。可以提升博弈效能。
  3. IRL等方法做利用Conditional Joint Prediction結果對前邊的主車軌跡評分,選出最優軌跡

整理自動駕駛端到端規劃方法的綜述

需要重新書寫的內容是:原文連結:https://mp.weixin.qq.com/s/ZJtMU3zGciot1g5BoCe9Ow

以上是整理自動駕駛端到端規劃方法的綜述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除