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