自動駕駛中的AI大模型如今已越來越火,其設(shè)計(jì)實(shí)際上主要集中在數(shù)據(jù)生成和場景分析表述兩部分,最終目標(biāo)是想針對自動駕駛的原始感知直接生成車端控制指令。為了要實(shí)現(xiàn)這一目的,業(yè)界已經(jīng)做了很多嘗試和努力,先探索可行性,最后再重點(diǎn)解決自動駕駛的長尾分布問題和場景識別。
自動駕駛控制器設(shè)計(jì)通常有兩種范式:局部感知方法和端到端學(xué)習(xí)方法。感知方法依賴于識別人類指定的特征,例如車輛、車道標(biāo)記等,需要嚴(yán)格的參數(shù)調(diào)整才能達(dá)到滿意的性能。相比之下,端到端方法直接將來自傳感器的原始數(shù)據(jù)作為輸入來生成規(guī)劃路線或控制信號。
將此類自動控制系統(tǒng)部署到實(shí)際車輛中的關(guān)鍵挑戰(zhàn)之一是自動駕駛汽車決策控制策略往往過于復(fù)雜,且難以讓普通駕駛員理解,因?yàn)閷τ谄胀ǔ丝蛠碚f,此類車輛的安全性及其可控性是重中之重。
本文將重點(diǎn)集中典型的應(yīng)用在自動駕駛中的兩種GPT算法,且就這些算法在實(shí)際應(yīng)用中的優(yōu)缺點(diǎn)進(jìn)行詳細(xì)分析。
ADAPT:通過標(biāo)注可解釋性動作的端到端Transformer預(yù)測架構(gòu)
理想的自動駕駛系統(tǒng)解決方案是包含自然語言敘述指導(dǎo)自主控制模塊的整個規(guī)劃決策執(zhí)行過程,且這種決策過程必須是易于駕駛員理解。此外,對每個控制/動作決策的附加推理解釋可以幫助用戶了解車輛和周圍環(huán)境的當(dāng)前狀態(tài),作為自動駕駛車輛所采取動作的支持證據(jù)。其實(shí)這就是一種通過對智能汽車行為生成可解釋性的推理來完成對應(yīng)的駕駛控制決策。通過自然語言描述和推理來解釋智能汽車的控制行為,可以使得整個自動駕駛系統(tǒng)更加透明,更容易理解。
例如,[動作敘述:]汽車停在路的右側(cè),[推理:]因?yàn)槠囌谕\嚒保鐖D1所示。
圖1. 自動駕駛車輛的不同解釋方法,包括注意力圖、成本量和自然語言
盡管注意力圖或成本量很有效,但基于語言的解釋對普通乘客來說更加用戶友好。為此,本文首先介紹一個基于駕駛行為的Transformer預(yù)測架構(gòu),為乘客提供用戶友好的自然語言敘述和自動駕駛車輛的推理。為了消除預(yù)測任務(wù)和車輛控制信號之間的差異,算法通過共享視頻表示聯(lián)合訓(xùn)練駕駛字幕任務(wù)和車輛控制預(yù)測任務(wù)。通過合并文本生成頭,可以將這種多任務(wù)框架構(gòu)建在各種端到端自動駕駛系統(tǒng)上。
1、對于視頻字幕標(biāo)注的研究
本文提到的相關(guān)算法是利用視頻字幕所表示的自然語言來描述視頻的車輛目標(biāo)決策控制,實(shí)際上,早期已有相應(yīng)的研究來進(jìn)行車輛動作決策。
首先,通過在固定模板中填充識別的元素來生成具有特定句法結(jié)構(gòu)的句子,這些模板不靈活且缺乏豐富性。后面也有利用序列學(xué)習(xí)方法來生成具有靈活句法結(jié)構(gòu)的自然句子。具體來說,這些方法采用視頻編碼器來提取幀特征,并使用語言解碼器來學(xué)習(xí)用于字幕生成的視覺文本對齊。為了利用細(xì)粒度的對象和動作來豐富字幕,利用對象級表示來捕獲視頻中詳細(xì)對象感知交互特征,進(jìn)一步開發(fā)了一種新穎的雙分支卷積編碼器來共同學(xué)習(xí)視頻的內(nèi)容和語義信息。此外,將單模態(tài)變換器應(yīng)用于視頻字幕,并采用稀疏邊界感知池來減少視頻幀中的冗余,場景理解的發(fā)展也對字幕任務(wù)做出了很大貢獻(xiàn)。最近,提出了一種基于端到端Transformer的模型 SWINBERT,它利用稀疏注意力掩模來減少連續(xù)視頻幀中的冗余和不相關(guān)信息。雖然現(xiàn)有的架構(gòu)在一般視頻字幕方面取得了有希望的結(jié)果,但它不能直接應(yīng)用于動作表示,因?yàn)楹唵蔚貙⒁曨l字幕轉(zhuǎn)移到自動駕駛動作表示會錯過一些關(guān)鍵信息,例如車輛速度,這在自動駕駛系統(tǒng)中至關(guān)重要。本文介紹的算法則是有效地利用這些多模態(tài)信息來生成駕駛決策動作。
2、智能駕駛決策的可解釋性
基于學(xué)習(xí)的自動駕駛是一個活躍的研究領(lǐng)域。采用了一些基于學(xué)習(xí)的駕駛方法,例如可供性和強(qiáng)化學(xué)習(xí),取得了不錯的性能,模仿方法也被用來回歸人類演示的控制命令。例如,對車輛等駕駛主體的未來行為進(jìn)行建模,騎行者或行人來預(yù)測車輛路徑點(diǎn),而直接根據(jù)傳感器輸入預(yù)測車輛控制信號,這與控制信號預(yù)測子任務(wù)是類似的。
提供全面解釋的能力在自動駕駛中發(fā)揮著重要作用,自動駕駛汽車的大多數(shù)可解釋方法是基于視覺或基于LiDAR的。這種算法主要是利用“注意力圖”的可視化來過濾掉不顯著的圖像區(qū)域,以使自動駕駛車輛動作合理且可解釋。
然而,注意力圖可能很容易包含一些不太重要的區(qū)域,從而引起乘客的誤解。從車載攝像頭構(gòu)造BEV(鳥瞰圖),以可視化車輛的運(yùn)動信息和環(huán)境狀態(tài)。以激光雷達(dá)和高清地圖作為輸入來預(yù)測駕駛代理的邊界框,并利用代價函數(shù)來解釋規(guī)劃決策數(shù)值。此外,根據(jù)分割以及駕駛代理的狀態(tài)構(gòu)建在線地圖,從而可以很好的避免對高清地圖的嚴(yán)重依賴。
ADAPT方法論
實(shí)際上,利用上游傳感器的探測直接進(jìn)行字幕賦值對于車端駕駛員來說可解釋性并不太明顯。因?yàn)?,對于自動駕駛算法來說,是需要利用感知數(shù)據(jù)進(jìn)行車端決策控制的。本文介紹的算法是通過探索自動駕駛車輛控制決策的文本解釋性,從控制信號預(yù)測任務(wù)中離線提取視頻特征,然后完成視頻字幕構(gòu)建。
ADAPT架構(gòu)如下圖 2 所示,它解決兩個任務(wù):駕駛字幕生成(DCG)和控制信號預(yù)測(CSP)。DCG 將一系列原始視頻幀作為輸入,并輸出兩個自然語言句子:一個描述車輛的動作(例如,“汽車正在加速”),另一個解釋采取此動作的原因(例如,“因?yàn)榻煌糇兙G”)。而CSP 將相同的視頻幀作為輸入,并輸出一系列控制信號,例如速度、航向或加速度。
一般來說,DCG和CSP任務(wù)共享相同的視頻編碼器,同時采用不同的預(yù)測頭來產(chǎn)生最終的預(yù)測結(jié)果。對于DCG任務(wù),我們采用視覺語言轉(zhuǎn)換器編碼器通過序列到序列生成來生成兩個自然語言句子。對于CSP任務(wù),使用運(yùn)動信息編碼器通過變換來預(yù)測控制信號序列。
圖 2. ADAPT 框架
如上圖所示,(a)輸入是車輛前視視頻,(b)(c)分別顯示預(yù)測頭。輸出是預(yù)測的車輛控制信號以及當(dāng)前動作的敘述和推理。算法首先從視頻中密集且均勻地采樣T幀,將其發(fā)送到可學(xué)習(xí)的視頻swin轉(zhuǎn)換器并標(biāo)記為視頻,不同的預(yù)測頭生成最終的運(yùn)動結(jié)果和文本結(jié)果。
1、視頻編碼器
遵循 Swinbert算法采用Video Swin Transformer (video swin)作為視覺編碼器,將視頻幀編碼為視頻特征標(biāo)記。給定從第一視角捕獲的汽車視頻,首先進(jìn)行均勻采樣以獲得大小為 H×W×3的T幀。這些幀作為視頻 swin 的輸入傳遞,從而得到大小為 T 的特征 FV :其中C是視頻swin中定義的通道尺寸。然后,視頻特征被輸入到Transformer不同的預(yù)測頭中以執(zhí)行各個任務(wù)。
2、預(yù)測頭
文本生成頭的目的是生成兩個句子,描述車輛的動作及其背后的原因。如上所述,視頻幀被編碼為尺寸大小為的特征,然后沿著通道維度對視頻特征進(jìn)行標(biāo)記。對于文本輸入(動作敘述和推理),首先對每個句子進(jìn)行標(biāo)記并將其填充到固定長度。
然后將這兩個句子連接起來并進(jìn)行嵌入。為了識別動作敘述和推理之間的區(qū)別,這里利用分段嵌入方法來區(qū)分它們。過程中,使用可學(xué)習(xí)的 MLP 來轉(zhuǎn)換視頻標(biāo)記的維度,以確保視頻標(biāo)記和文本標(biāo)記之間的維度一致性。
最后,文本標(biāo)記和視頻標(biāo)記被輸入視覺語言轉(zhuǎn)換器編碼器,它將生成一個包含動作敘述和推理的新序列。
控制信號預(yù)測頭 CSP頭的目標(biāo)是根據(jù)視頻幀預(yù)測車輛的控制信號(例如加速度)。給定 T 幀的視頻特征,以及相應(yīng)的控制信號記錄 S = {s1, s2, 。。, sT },CSP頭的輸出是控制信號序列 ?S = {s?2, 。。., s?T }。每個控制信號 si 或 s^i 都是一個 n 元組,其中 n 指的是可利用的傳感器類型。首先對視頻特征進(jìn)行標(biāo)記S,然后利用另一個motion transformer來生成這些控制信號的預(yù)測?S。通過損失函數(shù) LCSP 定義為 S 和 ?S 的均方誤差來找到兩者之間的差異:
請注意,算法不預(yù)測與第一幀相對應(yīng)的控制信號,因?yàn)榈谝粠膭討B(tài)信息是有限的,而其他信號可以很容易地從先前幀推斷出來。
3、聯(lián)合訓(xùn)練
在本算法框架中,假設(shè) CSP 和 DCG 任務(wù)在視頻表示的語義層面上是一致的。直觀上,動作敘述和控制信號數(shù)據(jù)是自動駕駛車輛動作的不同表達(dá)形式,而推理解釋則集中于影響車輛動作的環(huán)境要素。在單個網(wǎng)絡(luò)中聯(lián)合訓(xùn)練這些任務(wù)可以通過利用不同任務(wù)之間的歸納偏差來提高性能。通過對CSP和DCG進(jìn)行聯(lián)合訓(xùn)練,然后,簡單地將 LCSP 和 LDCG 相加即可得到最終的損失函數(shù):
盡管兩個任務(wù)是聯(lián)合訓(xùn)練的,但每個任務(wù)的推理可以獨(dú)立進(jìn)行。對于 DCG 任務(wù),ADAPT 將視頻序列作為輸入,輸出包含兩段的駕駛字幕,文本生成以自回歸方式執(zhí)行。具體來說,模型從“[CLS]”令牌開始,一次生成一個單詞令牌,將之前生成的令牌用作視覺語言轉(zhuǎn)換器編碼器的輸入。
該過程持續(xù)進(jìn)行,直到模型輸出結(jié)束標(biāo)記“[SEP]”或達(dá)到單個句子的最大長度閾值。將第一個句子填充到最大長度后,將另一個“[CLS]”連接到輸入并重復(fù)上述過程。
圖3.定性分析:生成的敘述正確地描述了當(dāng)前的動作,推理合理
基于語言的可解釋性對于社會接受自動駕駛車輛至關(guān)重要。ADAPT這種動作感知駕駛字幕Transformer架構(gòu)是利用多任務(wù)聯(lián)合訓(xùn)練來減少駕駛動作字幕任務(wù)和控制信號預(yù)測任務(wù)之間的差異。這是一種基于端到端Transformer的新框架,用于為自動駕駛車輛生成動作敘述和推理。
BEVGPT:用于自動駕駛預(yù)測、決策和規(guī)劃的生成式預(yù)訓(xùn)練大模型
傳統(tǒng)自動駕駛算法架構(gòu)是通過一種廣泛接受的解決方案,將將感知、預(yù)測、規(guī)劃、決策這些任務(wù)劃分為不同的模塊,并為每個模塊開發(fā)特定于任務(wù)的模型。鳥瞰 (BEV) 視角對于自動駕駛系統(tǒng)具有巨大潛力,BEV 可以準(zhǔn)確表示鄰近交通狀況,以實(shí)現(xiàn)以視覺為中心的感知。然而,現(xiàn)有的 BEV 生成方法需要復(fù)雜的輸入表示。此外,這些方法缺乏長期建模的能力,使得它們對未來純電動汽車的預(yù)測不可靠。
因此,這里介紹一種新的集成駕駛場景預(yù)測、決策和運(yùn)動規(guī)劃的生成式自監(jiān)督pre-trained預(yù)訓(xùn)練模型。該模型以鳥瞰(BEV)圖像作為唯一輸入源,并根據(jù)周圍的交通場景做出駕駛決策。最后通過優(yōu)化運(yùn)動規(guī)劃方法實(shí)現(xiàn)駕駛軌跡的可行性和平滑性。
在該方案中,首先根據(jù)環(huán)境信息預(yù)測周圍交通主體的未來軌跡。然后,預(yù)測的代理運(yùn)動以及地圖分割用于制定駕駛決策來規(guī)劃自動駕駛車輛的未來軌跡。然而,采用這種模塊化方法,系統(tǒng)很容易受到不同模塊之間累積誤差的影響。另一種范式是多任務(wù)學(xué)習(xí),具有共享的特征提取主干,但具有單獨(dú)的任務(wù)頭。盡管這種方法降低了模型大小和復(fù)雜性,并實(shí)現(xiàn)了更快的計(jì)算速度和更少的計(jì)算開銷,但它可能會受到負(fù)向遷移的影響,因?yàn)榕c不相關(guān)的任務(wù)共享信息實(shí)際上可能會損害模型性能?;谌缟戏治觯覀兛梢哉J(rèn)為:自動駕駛的各個模塊應(yīng)該集成到一個綜合框架中。
這種將自動駕駛預(yù)測、決策和運(yùn)動規(guī)劃集成在單個生成預(yù)訓(xùn)練生成式預(yù)訓(xùn)練大型模型 (GPT,Generative Pretrained Transformer) 中算法,我們稱之為BEVGPT。
如圖所示,介紹的算法采用兩階段訓(xùn)練過程。首先,使用大量自動駕駛數(shù)據(jù)來訓(xùn)練生成式大模型。隨后,使用真實(shí)模擬器通過在線學(xué)習(xí)對模型進(jìn)行微調(diào)。具體來說,預(yù)訓(xùn)練階段的目標(biāo)是學(xué)習(xí)駕駛場景預(yù)測和決策,即自動駕駛?cè)蝿?wù)中的 BEV 生成和自我預(yù)測。該模型容量大,可在4秒內(nèi)決定未來軌跡,并在長達(dá)6秒內(nèi)預(yù)測未來駕駛場景。
接下來是在線微調(diào)階段,通過將經(jīng)過訓(xùn)練的生成式預(yù)測模型調(diào)整為運(yùn)動動力學(xué)運(yùn)動規(guī)劃和準(zhǔn)確的BEV預(yù)測。在微調(diào)階段,運(yùn)動規(guī)劃器被設(shè)計(jì)為自動駕駛車輛生成平滑且可行的軌跡。此外,還開發(fā)了體驗(yàn)光柵器來幫助模型處理駕駛場景的靜態(tài)信息,例如車道和交叉路口。
在本節(jié)中,我們詳細(xì)介紹了方法框架、差分平坦車輛模型、分段多項(xiàng)式軌跡表示和最小加加速度運(yùn)動規(guī)劃。
1、框架設(shè)計(jì)
該算法研究的前提是駕駛員會更加關(guān)心其駕駛車輛的預(yù)測軌跡,比如,自車軌跡上的位置將來是否會被其他車輛占據(jù),而對周邊環(huán)境車輛的預(yù)測軌跡卻并未有那么多關(guān)注。
首次,人類駕駛員通常預(yù)先了解環(huán)境地圖。例如,使用導(dǎo)航地圖對每條道路的結(jié)構(gòu)和每個交叉路口的位置都一目了然?;诖?,駕駛員會做出相應(yīng)正確的駕駛決策。
基于以上考慮,則可以保留了構(gòu)成極簡自動駕駛的必備模塊系統(tǒng),即決策、運(yùn)動規(guī)劃和駕駛場景預(yù)測,同時從經(jīng)典自動駕駛框架中刪除了對象跟蹤和代理運(yùn)動預(yù)測模塊。
在主體框架中,決策輸出是自車在 T = 4s 范圍內(nèi)的未來位置,由運(yùn)動規(guī)劃器進(jìn)一步處理以生成運(yùn)動動力學(xué)且平滑的軌跡??紤]到靜態(tài)環(huán)境信息可以很容易地從高清地圖中獲取,我們更加關(guān)注對車輛和行人等動態(tài)物體的精確預(yù)測。駕駛場景預(yù)測是通過環(huán)境地圖和動態(tài)預(yù)測相結(jié)合得到的,如圖2所示。
該算法采用分段多項(xiàng)式軌跡來表示我們的差分平坦輸出,即 px 和 py。為了最小化后續(xù)運(yùn)動規(guī)劃模塊中參數(shù)抖動,通常選擇五次多項(xiàng)式表示。假設(shè)軌跡總共由M段組成,每段具有相同的時間間隔Δt。對于每個維度,第 n 段多項(xiàng)式軌跡可以寫為:
對于 n = 0, 1, 。。., M ? 1 且 Tn = nΔt。fn =[fn,0, fn,1, fn,2, fn,3, fn,4, fn,5] T 表示第 n 項(xiàng)多項(xiàng)式的系數(shù)。
2、運(yùn)動規(guī)劃
規(guī)劃軌跡f(t)的基本要求包括動態(tài)可行性和軌跡平滑性。同時,優(yōu)選的是最小化控制工作。比如加速度通常作為駕駛舒適性和安全性的判斷客觀指標(biāo)。因此,可以選擇加加速度來代表控制效果。指定初始狀態(tài) p0 和最終狀態(tài) pM。決策輸出 pn 應(yīng)包含在軌跡中??傊\(yùn)動規(guī)劃的要求給出了以下加速度jerk問題:
以上方程中,4a 是我們運(yùn)動規(guī)劃問題的一般形式,其目標(biāo)是最小化控制動力變化率?;谶@樣的一種迭代優(yōu)化方式,需要設(shè)計(jì)初始狀態(tài)p0和最終狀態(tài)pM(4b和4c),該每個分段的初始位置需要確定從預(yù)訓(xùn)練因果變換器的預(yù)測路徑點(diǎn)獲得(4d),且兩段軌跡之間的需要保證其連續(xù)性(4e)。最后,需要設(shè)置對于最大加速度和其jerk的動態(tài)約束4f。
3、模型訓(xùn)練
從數(shù)據(jù)集中提取車輛姿態(tài)、語義BEV圖像和靜態(tài)環(huán)境地圖圖像。去除持續(xù)時間短于24秒(即240幀,時間間隔Δt = 0.1秒)的駕駛情景。然后將自車的未來目標(biāo)位置作為決策訓(xùn)練的label。將每幀的車輛位置、當(dāng)前BEV圖像、下一楨BEV圖像和下一楨環(huán)境地圖圖像作為訓(xùn)練集。
在預(yù)訓(xùn)練階段,BEVGPT進(jìn)行了20個epochs的訓(xùn)練。為了提高模型的決策能力和預(yù)測能力,這里使用均方誤差(MSE)作為Loss。
其中,pde 和 pgt 分別代表未來 4 秒的決策輸出和真實(shí)自車位置。bevpr 和 bevgt 是 BEV 預(yù)測和 BEV 真實(shí)值。envgt 是對應(yīng)的靜態(tài)環(huán)境圖。損失權(quán)重參數(shù)α旨在平衡決策損失和預(yù)測損失。
4、在線微調(diào)
BEV 輸入被嵌入并饋送到模型中,以確定 MΔt 時間間隔的未來軌跡點(diǎn)。采用運(yùn)動規(guī)劃器根據(jù)決策輸出生成動態(tài)可行的軌跡。然后將可執(zhí)行軌跡輸入模型以生成未來的 BEV 預(yù)測。此外,還開發(fā)了體驗(yàn)光柵器來幫助模型獲取模擬駕駛場景的靜態(tài)信息。只有知道靜態(tài)全局地圖、自動駕駛車輛的初始世界坐標(biāo)以及世界坐標(biāo)和光柵坐標(biāo)之間的轉(zhuǎn)換,就可以輕松地將所有車道和交叉口映射到光柵化 BEV 圖像中。經(jīng)過Δt時間間隔的模擬后,我們可以獲得下一張BEV圖像的groundtruth。根據(jù)方程式將模型微調(diào) 10k 步。
其中 enver、bevpr 和 bevsm 分別表示體驗(yàn)光柵器提供的環(huán)境貼圖、L5Kit 模擬器上的預(yù)測和模擬 BEV 圖像。
總結(jié)
預(yù)測、決策和運(yùn)動規(guī)劃對于自動駕駛至關(guān)重要。在大多數(shù)傳統(tǒng)算法架構(gòu)中,它們被視為單獨(dú)的模塊或組合成具有共享主干但獨(dú)立任務(wù)頭的多任務(wù)學(xué)習(xí)范例。實(shí)際上,最終的算法是將它們整合到一個綜合框架中,且這種整合過程不應(yīng)受到復(fù)雜的輸入表示(即輸入解耦)和冗余框架設(shè)計(jì)的困擾。同時,設(shè)計(jì)之初也需要重點(diǎn)考慮對未來駕駛場景做出長期預(yù)測。為了解決這些問題,需要重新思考自動駕駛?cè)蝿?wù)中各個模塊的必要性,并僅將所需的模塊納入到極簡的自動駕駛框架中。
基于此,本文介紹了兩種端到端的自動駕駛系統(tǒng)算法架構(gòu)。算法一ADAPT是通過標(biāo)注可解釋性動作的端到端transformer預(yù)測架構(gòu),BEVGPT 的綜合框架,它僅使用 BEV 圖像作為輸入生成端到端的指令。實(shí)際上這種算法不算是真正的端到端處理方法,而是針對感知前處理后形成的目標(biāo)級結(jié)果作為輸入BEV images, 最終輸出自車軌跡及對駕駛場景的預(yù)測。然而,該方案在訓(xùn)練時需要高精地圖,來實(shí)現(xiàn)BEV場景真值系統(tǒng)構(gòu)建,因?yàn)锽EV更關(guān)注道路環(huán)境中的動態(tài)目標(biāo)(如實(shí)時車輛目標(biāo)等),而高精地圖則是對靜態(tài)場景(如道路拓?fù)洌┑臉?gòu)建基準(zhǔn)。本文中的輸入是BEV圖像想要利用想ChatGPT那種自然語言處理方式進(jìn)行計(jì)算,然而,基于文字的語言處理是蘊(yùn)含豐富的語義的,然而BEV Images這種類型則是原始圖像,對于整個后端模型處理無法做到很好的適配。最好的方式則是將BEV Images轉(zhuǎn)化為以LSS變換得到的BEV Feature作為輸入,則會更好的提升模型的運(yùn)算效率。
審核編輯:黃飛
評論