Co-Driver:基于 VLM 的自動駕駛助手,類人行為并理解復雜場景
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
24年5月來自俄羅斯莫斯科研究機構的論文“Co-driver: VLM-based Autonomous Driving Assistant with Human-like Behavior and Understanding for Complex Road Scenes”。
關于基于大語言模型的自動駕駛解決方案的最新研究,顯示了規劃和控制領域的前景。然而,大量的計算資源和大語言模型的幻覺繼續阻礙預測精確軌跡和指示控制信號的任務。為了解決這個問題,本文提出了Co-driver,這是一種自動駕駛輔助系統,能夠根據對道路場景的理解,使自動駕駛車輛能夠調整駕駛行為。提出一個涉及 CARLA 模擬器和ROS2的流水線,驗證系統的有效性,利用單個 Nvidia 4090 24G GPU,同時利用視覺-語言模型的文本輸出能力。此外,還提供一個包含圖像集和相應提示集的數據集,用于微調系統的視覺-語言模型模塊。Co-driver 數據集將在 https://github.com/ZionGo6/Co-driver 發布。
系統架構如圖所示:視覺語言模型模塊接收圖像輸入和系統提示,以行為樹格式發布環境分析和指令結果。然后根據對環境的分析,將指令結果的行為樹映射到智體行為。
系統的主要任務是分析來自自車前置攝像頭的視覺輸入,并得出有關天氣、光線、路面、地點等環境信息的結論,以及控制參數,例如最大速度、最大制動、最大油門等?;谝曈X數據確定自動駕駛汽車的駕駛行為對于視覺語言模型來說是一項復雜的任務。然而,將任務分解為兩步過程,它就變得易于管理。
該任務被分解為將圖像數據集中專門定義的場景提供給模型去識別圖像中的環境信息,并根據所描述的環境數據來預測控制和行為參數的水平。這兩項任務對微調的視覺語言模型都沒有構成重大挑戰,這確保了提出的系統實際實施流程。
在上述任務的第一步中,視覺語言模型模塊接收包含任務描述和目的地的系統提示,以及來自自車前置攝像頭的圖像。在此階段,該模塊會識別位置、照明和天氣條件以及前方的潛在危險。然后,模塊在第一步確定的環境參數的指導下繼續生成控制和駕駛行為參數的級別。最后,基于視覺語言模型模塊的圖像輸入,所有獲得的參數都被映射為一組智體行為,改變和影響 CARLA 模擬器中自車的駕駛風格。
圖像數據集是在 CARLA 模擬器中從自車的前置攝像頭視圖中收集的,在定義的天氣(晴朗、下雨、有霧)、光線(明亮、陰暗、黑暗)、地點(城市、城鎮、高速公路)條件下, 關于前方潛在障礙物的安全和不安全距離的分類[18]。
在提示數據集中,系統提示是從駕駛員的角度作為完成駕駛任務的請求和環境信息的通知而給出的。然后,將定義的環境信息以及關于控制類型、最大速度、最大制動、最大油門、最大加速度和最大轉向速度的車輛控制和駕駛行為建議作為行為樹格式的輸出提示。如圖所示數據集的一點示例。
系統的視覺-語言模型(VLM)是在 Qwen-VL 架構的基礎上利用QLoRA方法 [22] 進行訓練的,是一個參數高效微調(PEFT)的一種形式 [23]。在訓練過程中,視覺編碼器的權重保持凍結,專注于優化模型的語言方面。
訓練在單個 Nvidia RTX 4090 GPU 上進行,該 GPU 提供 24 GB 視頻內存用于處理。該數據集總共包含 221,228 個樣本,被分為每批 6 個樣本,以保持高效的訓練吞吐量。此外,梯度累積步驟設置為 8,導致一個epoch包含大約 4,600 個步驟。
在學習率為 1e-4 的情況下,模型快速適應目標突發能力并響應所需的格式。這一過程只需要一個 epoch 的訓練,大約需要 25 個小時才能完成。盡管訓練時間相對較短,但該方法被證明是有效的,在模型性能和輸出質量方面產生了令人滿意的結果。
訓練過程的進展如圖所示的訓練曲線所示,其展示了損失隨時間的變化,并提供了對模型學習動態的深入了解。
為了驗證系統的有效性,進行兩種類型的實驗。首先,在 CARLA 中,使用可調整的天氣、地圖和交通設置創建了測試場景。在測試模擬運行期間,視覺語言模型模塊處于打開狀態,讀取自車的前方圖像并執行場景理解和行為指令。記錄帶有車輛軌跡和車輛狀態信息(例如速度、加速度等)的駕駛場景。其次,用暗光的真實駕駛場景驗證系統的視覺-語言模型模塊在HawkDrive數據集[24]上夜間條件的泛化能力 。