快慢雙系統(tǒng)!清華&博世最新Chameleon:無(wú)需訓(xùn)練即可解決復(fù)雜道路拓?fù)洌↖CRA'25)
在自動(dòng)駕駛技術(shù)中,車道拓?fù)涮崛∈菍?shí)現(xiàn)無(wú)地圖導(dǎo)航的核心任務(wù)之一。它要求系統(tǒng)不僅能檢測(cè)出車道和交通元素(如交通燈、標(biāo)志),還要理解它們之間的復(fù)雜關(guān)系。例如,判斷車輛是否可以左轉(zhuǎn)進(jìn)入某條車道,就需要綜合考慮交通規(guī)則、車道布局和信號(hào)燈狀態(tài)等多種因素。然而,現(xiàn)有的解決方案存在明顯局限性。一方面,密集視覺提示方法雖然準(zhǔn)確,但計(jì)算成本高昂,且在實(shí)時(shí)處理中效率低下,難以應(yīng)用于實(shí)際場(chǎng)景。另一方面,神經(jīng)符號(hào)推理方法雖然效率較高,但在處理復(fù)雜場(chǎng)景(如交叉路口)時(shí),常常因?yàn)槿狈σ曈X信息而無(wú)法做出準(zhǔn)確判斷。
為了解決這一難題,清華大學(xué)與博世中央研究院RIX聯(lián)合提出了一個(gè)創(chuàng)新的解決方案——Chameleon。它通過(guò)一種快慢系統(tǒng)交替的神經(jīng)符號(hào)方法,成功平衡了效率與性能,為自動(dòng)駕駛領(lǐng)域帶來(lái)了新的突破。
論文鏈接:https://arxiv.org/pdf/2503.07485
開源地址:https://github.com/XR-Lee/neural-symbolic
引言
在線地圖感知是現(xiàn)代自動(dòng)駕駛中的一個(gè)重要課題,它避免了對(duì)高成本高精地圖的依賴。當(dāng)前的三維場(chǎng)景理解方法雖然能夠有效檢測(cè)車道和交通元素(如圖1所示),但這些實(shí)例之間的關(guān)系復(fù)雜,需要大量標(biāo)注數(shù)據(jù)進(jìn)行監(jiān)督訓(xùn)練。為此,我們提出了一種基于視覺語(yǔ)言基礎(chǔ)模型(VLM)的少樣本(few-shot)方法,用于提取車道拓?fù)洹?/span>
圖1:VLM無(wú)法直接解決復(fù)雜的三維場(chǎng)景理解任務(wù),例如車道拓?fù)涮崛 ?a) 一種可能的方法是使用密集視覺提示(如RedCircle),雖然準(zhǔn)確但效率低下。(b) 另一種方法是神經(jīng)符號(hào)推理(如NS3D),但這種方法在程序合成時(shí)未能有效利用視覺輸入,導(dǎo)致在處理復(fù)雜邊緣情況時(shí)效果不佳。(c) 我們提出的Chameleon方法采用快慢交替的設(shè)計(jì),其中一個(gè)VLM用于合成程序,另一個(gè)用于處理邊緣情況。
具體而言,我們專注于OpenLane-V2定義的車道拓?fù)涮崛∪蝿?wù),即檢測(cè)車道和交通元素(如交通信號(hào)燈和標(biāo)志),并提取它們之間的關(guān)系。這一任務(wù)極具挑戰(zhàn)性,需要高水平的推理能力,例如判斷車輛在交叉路口是否可以駛?cè)肽硹l車道。然而,現(xiàn)有的VLM仍無(wú)法直接解決這種復(fù)雜的三維場(chǎng)景理解任務(wù)。
為解決這一問題,我們結(jié)合了兩類基于VLM的方法:密集視覺提示和神經(jīng)符號(hào)推理。密集視覺提示(如RedCircle)通過(guò)在圖像上放置紅色圓圈,將復(fù)雜推理任務(wù)轉(zhuǎn)化為問答(QA)任務(wù)。但這種方法會(huì)導(dǎo)致大量的QA查詢,計(jì)算成本高昂且不適合實(shí)時(shí)應(yīng)用(如圖1-a)。神經(jīng)符號(hào)推理(如NS3D)雖然效率更高,但在程序合成時(shí)未能整合視覺信息,無(wú)法有效處理復(fù)雜邊緣情況(如圖1-b)。
因此,我們提出了一種名為“Chameleon”的快慢系統(tǒng)交替的神經(jīng)符號(hào)車道拓?fù)涮崛∑鳎ㄈ鐖D1-c)。它通過(guò)VLM合成程序,根據(jù)視覺輸入定制推理過(guò)程,并動(dòng)態(tài)切換快慢系統(tǒng)以平衡效率和性能。此外,我們還提出了一個(gè)鏈?zhǔn)酵评恚–OT)方法,用于識(shí)別和處理需要額外推理的邊緣情況。
圖二:Chameleon架構(gòu)概覽。輸入多視圖圖像后,視覺模型分別生成交通元素和車道線段的檢測(cè)結(jié)果。提出的快速系統(tǒng)利用一個(gè)大型視覺語(yǔ)言模型(VLM),以預(yù)定義的視覺-文本少樣本和文本提示為輸入,生成可執(zhí)行代碼以處理視覺模型的預(yù)測(cè)結(jié)果。提出的慢速系統(tǒng)包括一個(gè)視覺問答(VQA)API集和一個(gè)具有鏈?zhǔn)酵评砟芰Φ囊曈X語(yǔ)言模型(VLM),其中VQA API集中的視覺提示和文本提示是VLM的輸入。隨后,拓?fù)渫评斫Y(jié)果是代碼執(zhí)行結(jié)果和VLM輸出的組合。
方法
A. 概述
在車道拓?fù)涮崛∪蝿?wù)中,我們預(yù)測(cè)一個(gè)密集的鄰接矩陣,用于表示車道線段和交通元素之間的關(guān)系。具體來(lái)說(shuō),車道線段之間的關(guān)系由矩陣 A∈Rm×m 表示,車道線段與交通元素之間的關(guān)系由矩陣 A∈Rm×n 表示,其中 m 和 n 分別是車道線段和交通元素的數(shù)量。盡管密集視覺提示可以實(shí)現(xiàn)高性能,但其高昂的成本、環(huán)境影響和低效的推理速度使其不適用于實(shí)時(shí)應(yīng)用。因此,我們采用鏈?zhǔn)酵评恚–hain-of-Thought, COT)方法,僅對(duì)稀疏的邊緣情況進(jìn)行密集視覺提示,從而提高推理效率。
為了高效處理任務(wù),我們?cè)O(shè)計(jì)了快慢系統(tǒng)架構(gòu)??焖傧到y(tǒng)使用符號(hào)表示處理基本推理任務(wù),適用于簡(jiǎn)單場(chǎng)景(如直線車道);而慢速系統(tǒng)則針對(duì)復(fù)雜邊緣情況(如交叉路口的密集交通和多種交通元素)進(jìn)行深度推理。這種架構(gòu)通過(guò)動(dòng)態(tài)切換快慢系統(tǒng),平衡了效率和性能。
B. 提示
為了執(zhí)行符號(hào)推理,我們使用多種提示來(lái)生成符號(hào)代碼。這些提示包括帶有few-shot參考的視覺提示(正例或負(fù)例)、API描述和專家規(guī)則。
- API提示:API提示定義了生成代碼的輸入和輸出,以及API的輸入輸出描述,例如用于車道自定位和并行車道搜索的函數(shù)等。在我們的實(shí)現(xiàn)中,我們還將選定的VQA任務(wù)定義為程序合成期間的API。
- 專家規(guī)則提示:為了穩(wěn)定代碼生成過(guò)程并整合領(lǐng)域?qū)<业南闰?yàn)知識(shí),我們將專家規(guī)則添加為程序合成的提示。例如,在TOP lsls任務(wù)中,強(qiáng)制執(zhí)行角度和距離約束。例如,父車道的終點(diǎn)不應(yīng)與子車道的起點(diǎn)相距過(guò)遠(yuǎn),以滿足駕駛幾何約束。在TOP lste任務(wù)中,規(guī)則規(guī)定不允許在交叉路口內(nèi)存在車道拓?fù)洹?/span>
- few-shot提示:在few-shot場(chǎng)景中,我們選擇正例和負(fù)例,并將它們渲染為相機(jī)的透視圖。我們還將這些示例的坐標(biāo)轉(zhuǎn)換為文本,分別作為視覺提示和文本提示。
- VQA提示:對(duì)于VQA任務(wù),文本提示由關(guān)于語(yǔ)義和空間上下文的簡(jiǎn)單問題組成。我們還使用鏈?zhǔn)酵评恚–OT)提示。視覺提示基于預(yù)測(cè)結(jié)果從透視圖和鳥瞰圖中渲染圖像。
圖三:Chameleon架構(gòu)示意圖。輸入多視圖圖像和文本提示后,Chameleon實(shí)現(xiàn)車道拓?fù)涮崛?。每個(gè)API或密集視覺提示VQA任務(wù)表示為一個(gè)節(jié)點(diǎn)。具有鏈?zhǔn)酵评恚–hain-of-Thought, COT)能力的視覺語(yǔ)言模型(VLM)根據(jù)輸入動(dòng)態(tài)選擇需要執(zhí)行的節(jié)點(diǎn),以推斷拓?fù)浣Y(jié)果。
C. 代碼執(zhí)行
對(duì)于生成的程序,TOP lsls和TOP lste任務(wù)的代碼執(zhí)行過(guò)程有所不同。對(duì)于TOP lsls任務(wù),使用簡(jiǎn)單的成對(duì)預(yù)定義代碼框架,VLM根據(jù)API描述和給定的提示生成Python代碼。此代碼以字符串形式生成,然后使用Python的exec
函數(shù)執(zhí)行。相比之下,TOP lste任務(wù)涉及更多的API調(diào)用(如圖3所示),因此我們使用OpenAI的函數(shù)調(diào)用API來(lái)管理所需的函數(shù)執(zhí)行。首先,我們提示VLM生成一個(gè)鏈?zhǔn)酵评恚越鉀Q拓?fù)涮崛栴},該問題包含六個(gè)步驟(如圖3執(zhí)行模塊所示)。這進(jìn)一步用作文本提示,供VLM合成程序根據(jù)視覺輸入自適應(yīng)地跳過(guò)某些步驟。某些步驟涉及需要通過(guò)密集視覺提示VLM模型處理的邊緣情況,因此被送入慢系統(tǒng)。通過(guò)總結(jié)API結(jié)果,系統(tǒng)可以推斷出潛在的拓?fù)鋵?duì)。
D. 密集視覺提示VQA任務(wù)
密集視覺提示VQA任務(wù)是慢系統(tǒng)的核心API,特別是在開放場(chǎng)景拓?fù)渫评淼幕ゲ僮鬟^(guò)程中。為了測(cè)試VLM模型的能力,我們創(chuàng)建了幾個(gè)基本的VQA任務(wù)。如表II所示,我們關(guān)注四個(gè)不同的任務(wù)。在“左或右”任務(wù)中,以鳥瞰圖(BEV)的形式呈現(xiàn)兩條車道線段。模型需要執(zhí)行三類分類,選擇左側(cè)、右側(cè)或無(wú)關(guān)系。對(duì)于“是否在交叉路口”任務(wù),以馬賽克形式顯示單條車道,左側(cè)為鳥瞰圖(BEV),右側(cè)為前方透視圖(PV)。模型需要判斷該車道線段是否在交叉路口內(nèi)。在“鄰接性”任務(wù)中,給出兩條車道線段,模型需要判斷它們是否相鄰。最后,在“向量”任務(wù)中,模型需要評(píng)估兩條渲染的向量箭頭的方向是否匹配。
實(shí)驗(yàn)
A. 實(shí)驗(yàn)設(shè)置
我們?cè)贠penLane-V2官方驗(yàn)證數(shù)據(jù)集上評(píng)估了Chameleon方法,該數(shù)據(jù)集提供了車道線段和交通元素之間的拓?fù)渥⑨?。此外,我們手?dòng)標(biāo)注了500個(gè)樣本,涵蓋四個(gè)密集視覺提示VQA子任務(wù),用于評(píng)估性能指標(biāo)。這些數(shù)據(jù)集不僅支持車道拓?fù)涮崛∪蝿?wù),還適用于其他自動(dòng)駕駛場(chǎng)景。
在評(píng)估指標(biāo)方面,我們報(bào)告車道線段檢測(cè)和交通元素檢測(cè)的平均精度均值(mAP)。對(duì)于拓?fù)淙蝿?wù),采用OpenLane-V2官方指標(biāo)TOPlsls(車道線段間拓?fù)鋗AP)和TOPlste(車道線段與交通元素間拓?fù)鋗AP)。對(duì)于VQA分類問題,由于正負(fù)樣本在標(biāo)注時(shí)保持平衡,我們使用準(zhǔn)確率(Accuracy)作為評(píng)估指標(biāo)。
B. 實(shí)現(xiàn)細(xì)節(jié)
我們將Chameleon方法應(yīng)用于自定義基線,并進(jìn)行了實(shí)驗(yàn)。基線方法結(jié)合了SMERF的SD編碼和融合模塊,使用LanesegNet框架檢測(cè)車道線段,并通過(guò)DETR實(shí)現(xiàn)2D交通元素檢測(cè),同時(shí)并行訓(xùn)練TopoMLP以預(yù)測(cè)拓?fù)潢P(guān)系。為了進(jìn)一步提升性能,我們還設(shè)計(jì)了一個(gè)增強(qiáng)基線(“Powerful Baseline”),引入了StreamMapNet的時(shí)間信息,使用更大的Vovnet作為骨干網(wǎng)絡(luò),并采用YOLOv8進(jìn)行交通元素檢測(cè)。在少樣本學(xué)習(xí)場(chǎng)景中,我們采用3-shot配置,包含三個(gè)幀及其注釋作為參考。
對(duì)于視覺語(yǔ)言模型(VLM),我們使用了GPT-4的官方API(包括GPT-4-vision-preview和GPT-4o)以及LLaVA-v1.5-13b-full ft-1e權(quán)重。此外,我們還進(jìn)行了VQA基準(zhǔn)測(cè)試,使用基于ResNet18的MLP分類模型,數(shù)據(jù)集按3:1比例分為訓(xùn)練集和測(cè)試集,采用Adam優(yōu)化器和交叉熵?fù)p失函數(shù)進(jìn)行20個(gè)周期的訓(xùn)練。
C. 定量和定性結(jié)果
與最新方法的比較:在本節(jié)中,我們將提出的少樣本方法與OpenLane-V2驗(yàn)證集上的最新監(jiān)督方法進(jìn)行了比較。表I顯示了與LaneSegNet、TopoLogic和MapVision等方法的比較結(jié)果。
我們的方法使用了兩個(gè)不同的基線,每個(gè)基線使用不同的骨干網(wǎng)絡(luò)?;€基于LanesegNet和TopoMLP實(shí)現(xiàn),并結(jié)合了SMERF中的SD編碼和融合過(guò)程。如表所示,我們的方法在few-shot設(shè)置中實(shí)現(xiàn)了與監(jiān)督基線相當(dāng)?shù)男阅?,甚至在TOPlste任務(wù)中略微超過(guò)了全監(jiān)督模型??傮w而言,我們的方法在僅使用少樣本的情況下表現(xiàn)出顯著的競(jìng)爭(zhēng)力。
圖四:TopoMLP和我們的方法(Chameleon)在OpenLane-V2驗(yàn)證數(shù)據(jù)集上的定性結(jié)果對(duì)比。(a) 車輛剛剛通過(guò)交叉路口。(b) 前方有一個(gè)左轉(zhuǎn)交通燈。(c) 地面車道標(biāo)有直行標(biāo)志。(d) 車輛行駛在單向右轉(zhuǎn)車道上。所選場(chǎng)景均為邊緣情況,需要通過(guò)密集視覺提示進(jìn)行進(jìn)一步推理。每個(gè)子圖均包含鳥瞰圖(BEV)和前視圖(PV)。藍(lán)色線條表示車道線段檢測(cè)結(jié)果,綠色線條表示車道與交通元素之間的真正例(ls-te),粉色線條表示車道與交通元素之間的假正例(ls-te)。當(dāng)車輛剛剛通過(guò)交叉路口時(shí)(圖4-a),車輛正上方的綠燈與交叉路口前方的車道沒有拓?fù)潢P(guān)系。我們的方法(Chameleon)理解了綠燈與車道之間的空間關(guān)系,從而做出了正確的判斷,而TopoMLP則相反。在圖4-b中,左轉(zhuǎn)交通燈僅與最左側(cè)車道存在拓?fù)溥B接。與TopoMLP不同,我們的方法正確地忽略了與右側(cè)車道的關(guān)系。地面車道標(biāo)有直行標(biāo)志(圖4-c),因此該標(biāo)志僅與其自身車道和連接車道相關(guān),而不是其他平行車道。我們的方法做到了這一點(diǎn),而TopoMLP沒有做到。車輛行駛在單向右轉(zhuǎn)車道上(圖4-d),控制直行交通的兩側(cè)綠燈不影響車輛。我們的解決方案正確地判斷了綠燈與車道之間不存在拓?fù)潢P(guān)系。
不同VLM方法的VQA比較:由于其通用性,VQA與各種VLM兼容。表II比較了不同VLM在四個(gè)任務(wù)上的性能。在這些任務(wù)中,我們發(fā)現(xiàn)GPT-4的性能與監(jiān)督分類器模型相當(dāng),而LLaVA在語(yǔ)義和空間理解任務(wù)中表現(xiàn)較差。
數(shù)據(jù)和推理效率比較:為了比較不同方法之間的推理成本,我們?cè)赗TX 4080 GPU上測(cè)試了LLaVA的平均VQA任務(wù)延遲。平均VQA延遲約為1447毫秒。在我們的實(shí)驗(yàn)中,每幀平均執(zhí)行6次VQA,導(dǎo)致慢速系統(tǒng)的延遲為8.7秒/幀。TopoMLP的延遲根據(jù)不同的骨干網(wǎng)絡(luò)和圖像分辨率而變化,范圍從140毫秒到700毫秒。密集視覺提示的延遲是基于20×20矩陣的逐個(gè)VQA計(jì)算得出的,結(jié)果為每幀超過(guò)200秒。詳細(xì)信息總結(jié)在表IV中。
定性結(jié)果:為了更直觀地展示我們算法的性能,我們還提供了OpenLane-V2驗(yàn)證數(shù)據(jù)集上預(yù)測(cè)的ls-ls關(guān)系和ls-te關(guān)系的定性可視化結(jié)果。所有比較的場(chǎng)景均為邊緣情況,每個(gè)子圖均包含鳥瞰圖和前視圖。藍(lán)色線條表示車道線段檢測(cè)結(jié)果,綠色線條表示ls-te真正例,粉色線條表示ls-te假正例。
當(dāng)車輛剛剛通過(guò)交叉路口時(shí)(圖4-a),車輛正上方的綠燈與交叉路口前方的車道沒有拓?fù)潢P(guān)系。我們的方法(Chameleon)理解了綠燈與車道之間的空間關(guān)系,從而做出了正確的判斷,而TopoMLP則相反。在圖4-b中,左轉(zhuǎn)交通燈僅與最左側(cè)車道存在拓?fù)溥B接。與TopoMLP不同,我們的方法正確地忽略了與右側(cè)車道的關(guān)系。地面車道標(biāo)有直行標(biāo)志(圖4-c),因此該標(biāo)志僅與其自身車道和連接車道相關(guān),而不是其他平行車道。我們的方法做到了這一點(diǎn),而TopoMLP沒有做到。車輛行駛在單向右轉(zhuǎn)車道上(圖4-d),控制直行交通的兩側(cè)綠燈不影響車輛。我們的解決方案正確地判斷了綠燈與車道之間不存在拓?fù)潢P(guān)系。
D. 消融研究
我們?cè)贠penLane-V2驗(yàn)證集上對(duì)TOPlsls任務(wù)進(jìn)行了消融研究,以評(píng)估我們框架中每個(gè)組件的有效性。結(jié)果如表V所示。“提示到符號(hào)”指的是僅提供API提示的基本神經(jīng)符號(hào)推理。由于生成代碼的不穩(wěn)定性,我們報(bào)告了三次符號(hào)推理結(jié)果的平均值作為最終性能?!皩<乙?guī)則”指的是將專家觀察結(jié)果納入提示。對(duì)于少樣本示例,我們引入了三個(gè)正例和三個(gè)負(fù)例以改進(jìn)生成的程序。
結(jié)論
本文介紹了一種名為“Chameleon”的新方法,該方法結(jié)合了密集視覺提示和神經(jīng)符號(hào)推理,利用視覺語(yǔ)言基礎(chǔ)模型(VLM)以few-shot的方式提取車道拓?fù)?。Chameleon通過(guò)整合視覺信息來(lái)合成程序,針對(duì)特定場(chǎng)景定制處理過(guò)程,并通過(guò)密集視覺提示高效地處理邊緣情況。通過(guò)平衡計(jì)算效率和高性能,Chameleon適用于實(shí)時(shí)機(jī)器人應(yīng)用,并展示了將視覺輸入整合到復(fù)雜三維場(chǎng)景任務(wù)程序合成中的潛力。未來(lái)的工作可以探索將這種方法擴(kuò)展到其他自動(dòng)駕駛領(lǐng)域。






