理解老司機,超越老司機!LeapAD:具身智能加持下的雙過程自駕系統(上海AI Lab等)
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
論文信息
- 論文題目:Continuously Learning, Adapting, and, Improving: A Dual-Process Approach to Autonomous Driving
- 論文發表單位:浙江大學,上海人工智能實驗室,華東師范大學
- 論文地址:https://arxiv.org/abs/2405.15324
- 代碼地址:https://github.com/PJLab-ADG/LeapAD

研究動機
最近的數據驅動方法在自動駕駛領域取得了巨大的成功, 然而,這些方法在很大程度上依賴于訓練數據分布,它們主要是對觀察到的模式進行歸納,而沒有推論的能力。自動駕駛算法雖然能學會一些模式,但在遇到復雜情況時,它可能會做出錯誤的判斷,因為它沒有理解底層的語義信息和事物之間的關系。這就好比是,讓一個只見過斑點狗的人來描述所有狗的外貌,可能會有些不準確。因此,迫切需要一種能夠對未見過的場景進行推理并以人類認知方式利用駕駛知識的系統。
我們人類學習開車的過程其實是個不斷嘗試和學習的過程。人類司機會根據周圍的情況作出決定,然后根據反饋來調整駕駛行為。這是因為人類的大腦有兩套系統在協同工作:1) 一個是快速、基于經驗的,就好像是直覺——啟發式過程(系統-I);2) 另一個是緩慢、理性的,更像是邏輯推理——分析過程(系統-II)。這兩種思維方式在我們學習開車的過程中都發揮了作用。
剛開始學開車的時候,我們很依賴常識和直覺。通過不斷的練習和試錯,我們逐漸培養出開車的技能,并且開始更理性地思考我們的行為。隨著時間的推移,這些技能變成了習慣,就像是肌肉記憶一樣,讓我們在熟悉的路況下可以快速、本能地做出反應。即使我們拿到駕照后,我們還會通過日常的駕駛和意外事故來不斷學習,不斷提高我們的駕駛技能。
基于雙過程理論的自動駕駛系統
基于上述動機,我們開發了一個具有不斷學習、適應和改進能力的雙過程閉環自動駕駛系統——LeapAD。與人類的注意力機制類似,LeapAD中的場景理解模塊主要關注可能影響駕駛決策的關鍵物體,簡化環境描述和決策過程。基于場景理解模塊提供的環境描述,我們設計了一個模擬人類認知過程的雙過程決策模塊,包括啟發式過程和分析過程。通過閉環實驗,分析過程積累經驗并構建包含高質量駕駛決策的可轉移記憶庫。這些知識可以適應各種場景并能夠遷移到啟發式過程中,用于后續的閉環決策。當交通事故發生時,分析過程介入并分析歷史事件并更新記憶庫,使系統能夠通過自我反思不斷改進。
LeapAD框架介紹
如下圖所示,LeapAD由3部分組成:(1)用于場景理解的VLM;(2)由分析過程和啟發式過程組成的雙進程決策模塊 ;(3)以及用于低級控制的操作執行器。

場景理解模塊:、我們人類在開車時會特別關注周圍的重要事物,這樣可以避免我們的大腦負擔過重,提高我們的反應速度,減少出錯的可能性。這種方法有助于我們更專注地駕駛,減少發生事故的可能。
在LeapAD中,場景理解模塊的設計靈感來源于人類駕駛中的注意力管理,它聚焦于關鍵對象,以減少決策過程中的信息過載。通過這種方法,系統能夠快速識別并理解車輛、自行車、交通信號、停車標志等重要元素,這些元素的詳細描述有助于駕駛者做出準確和及時的反應。
基礎視覺語言模型(VLM)在通用領域表現良好,但在駕駛特定領域的知識上有所欠缺。因此,我們采取了有監督微調(SFT)策略,利用11K個經過標注的數據樣本,對VLM進行訓練。這個過程讓模型能夠輸出與駕駛決策直接相關的語言描述,包括:
- 語義屬性:模型能識別并描述交通參與者(如車輛和自行車)和交通設施(如信號燈和標志)的類別。
- 空間屬性:提供物體的位置信息,如邊界框、車道位置以及與車輛的距離,這對于避免碰撞至關重要。
- 運動屬性:物體的運動方向,幫助駕駛者預測其可能的動向。
- 行為推理:模型能理解這些物體對駕駛的影響,比如預測它們的行駛意圖,從而支持駕駛者做出相應的決策。
通過這種方式,LeapAD的場景理解模塊不僅提升了對駕駛環境的理解,還提高了駕駛者的決策效率和安全性,確保在復雜駕駛場景中保持靈活和警覺。

分析過程:LeapAD的大腦,它像我們人類的理性思維一樣,用邏輯推理來處理復雜情況,做出安全的駕駛決策。大語言模型(LLM) 通過在各種數據集上進行廣泛的預訓練,已經囊括了大量的世界知識,具有很好的推理理解和處理復雜問題的能力。這種能力恰好符合我們對駕駛場景中分析過程的需求,因為決策必須基于深入的環境分析和情境理解。分析過程利用 LLM 的強大功能,利用其蘊含的世界知識來理解場景描述并執行高質量的駕駛分析和決策。
分析過程通過閉環實驗積累了很多經驗,就像我們的記憶一樣。這些經驗可以幫助LeapAD在未來類似情況下更快速地做出反應。我們還引入了反思機制,就像是用分析過程來反思交通事故。就像下面的圖表所示的那樣,當系統的啟發式部分在進行閉環駕駛時,任何意外事件都會觸發反思機制。在這個過程中,分析過程會仔細分析事故發生前的情況,找出錯誤,并提供正確的決策。從這個反思過程中得到的見解會被整合到記憶庫中,這樣LeapAD就能不斷地從失敗中學習,并在未來的駕駛中做出更加明智、更準確的決策。

啟發式過程:就好比是LeapAD的直覺,它雖然不像分析過程那樣能提供非常精確的推理和決策,但它的處理速度非常快,就像我們人類駕駛員的肌肉記憶一樣。通過不斷的練習和經驗,它能夠迅速適應各種情況,而且在處理速度上比分析過程快了很多(在我們的實驗中大約快 5 倍)。為了讓啟發式過程更好地應用這些經驗,我們使用了有監督微調(SFT),就像是把知識內化到直覺中,讓它更好地適應各種情況。此外,它通過一種few-shot策略來增強對未曾見過的場景的處理能力,從而做出更加穩健的決策。
在few-shot策略中,啟發式過程主要依靠當前場景描述與記憶庫中存儲的描述之間的特征相似性來檢索相似的駕駛場景。然而,由于場景描述中存在冗余的語言信息,直接根據原始描述計算文本相似度使場景之間的區分變得困難。因此,我們聚焦于關鍵元素,如對象類別、車道位置以及與車輛的距離,來簡化相似場景的查找過程。這樣,我們優先考慮對駕駛決策影響重大的元素,提高了相似度計算的效率和決策的穩健性。這種方法有效地減少了冗余信息的影響,使得直覺在處理新場景時更加精準和有效。
實驗結果
我們在 CARLA仿真中進行閉環實驗,以評估LeapAD的性能。為了驗證有效性,我們在Town05基準上進行了閉環駕駛場景的綜合評估。我們的評估指標包括駕駛分數 (DS)、路線完成度 (RC) 和違規分數 (IS)。RC表示代理成功導航的路線的比例,IS表示因事故而受到的處罰。通過將 RC 乘以 IS,我們獲得了最終的度量 DS,用于評估我們的方法在路線上的駕駛性能。

如表1所示,LeapAD優于所有其他僅依賴相機傳感器輸入的方法此外,我們的方法超越了TransFuser,后者還利用了 LiDAR 傳感器輸入。
此外,我們還進行了一系列的消融實驗來驗證LeapAD的持續學習能力。我們發現,當shot個數從0個增加到3個,系統的閉環表現逐步提升。證明了記憶庫中經驗的價值和few-shot這種形式對反思過程的有效性。并且我們的實驗還表明隨著記憶庫大小的增加,性能會逐漸提高。這進一步證明了我們提出的LeapAD的持續學習能力,表明我們的模型的性能可以隨著經驗的積累而提高。另外我們還從反思過程和記憶庫的遷移性兩方面的消融實驗進一步證明LeapAD的可持續學習能力。我們選擇了一些得分較低的路線進行多輪反思實驗,反思后的經驗被添加到記憶庫中。通過圖 5我們可以看到反思5次后,DS可以從29.34提升到88.89,這證明了反思機制能夠顯著提高LeapAD的性能。


Demo 示例
下面是幾個簡單的閉環實驗示例:

這段視頻主要展現了我們的模型對于車禍這種corner case的反應。即使訓練數據中很少有這樣的場景,面對突發情況LeapAD也可以及時制動。

這段視頻主要反映了車應對復雜十字路口的情況,可以看到LeapAD可以輕松跟隨紅綠燈的指示。

這段視頻反映了車輛面對一些停車標識和突然出現的行人的反應。車輛在經過并看到停止信號時停止,啟動后,面對橫穿的行人能夠及時制動。
總結
LeapAD是一套先進的自動駕駛系統,它具備持續學習、靈活適應和不斷優化的能力,仿佛賦予了車輛一顆智慧之心。與人類注意力的運作機制相類似,該系統能夠精準捕捉對駕駛決策至關重要的信息,從而有效簡化駕駛環境,降低決策過程中的復雜性。LeapAD擁有兩種截然不同的決策模式。一種模式依賴于快速且基于經驗的決策機制,仿佛人類的直覺一般迅捷而準確;而另一種模式則通過深入細致的分析推理來做出決策,就如同人類深思熟慮的過程。這兩種模式共同協作,使LeapAD能夠在各種駕駛場景中展現出卓越的性能。不僅如此,LeapAD還具備強大的自我完善能力,能夠不斷學習和進步。它能夠與現有的智能汽車系統完美地無縫融合,在車輛運行過程中,LeapAD能夠同時進行雙過程決策,即在邊緣運行中進行啟發式決策,同時又能借助云端處理更為復雜的駕駛場景。這種獨特的能力使得LeapAD在自動駕駛領域脫穎而出,為未來的智能交通發展奠定了堅實的基礎,為人們提供更為安全、舒適的駕乘體驗。


























