大幅超越所有SOTA!地平線DiffusionDrive:生成式方案或?qū)⒅厮芏说蕉烁窬郑?/h1>
寫在前面&筆者的個(gè)人理解
近年來,由于感知模型的性能持續(xù)進(jìn)步,端到端自動(dòng)駕駛受到了來自工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注,端到端自動(dòng)駕駛算法直接從原始傳感器采集到的信息輸入中學(xué)習(xí)駕駛策略。這種基于數(shù)據(jù)驅(qū)動(dòng)的方法為傳統(tǒng)的基于規(guī)則的運(yùn)動(dòng)規(guī)劃提供了一種可擴(kuò)展且強(qiáng)大的替代方案,而傳統(tǒng)的基于規(guī)則的運(yùn)動(dòng)規(guī)劃通常難以推廣到復(fù)雜的現(xiàn)實(shí)世界駕駛環(huán)境。為了有效地從數(shù)據(jù)中學(xué)習(xí)駕駛過程,主流的端到端規(guī)劃器通常從自車查詢中回歸出單模軌跡,如下圖所示。
然而,這種回歸單模軌跡的框架模式并沒有考慮到駕駛行為中固有的不確定性和多模式的性質(zhì)。最近,提出的端到端自動(dòng)駕駛算法VADv2引入了大量固定的錨點(diǎn)軌跡vocabulary。然后,根據(jù)預(yù)測(cè)的評(píng)分從這些錨點(diǎn)中進(jìn)行采樣。然而,這種大型固定vocabulary范式從根本上受到錨點(diǎn)軌跡數(shù)量和質(zhì)量的限制,在vocabulary不足的情況下經(jīng)常會(huì)失敗。此外,管理大量錨點(diǎn)對(duì)實(shí)時(shí)的自動(dòng)駕駛應(yīng)用來說帶來了巨大的計(jì)算挑戰(zhàn)。
與離散化動(dòng)作空間不同,擴(kuò)散模型已被證明是機(jī)器人領(lǐng)域一種強(qiáng)大的生成決策策略,它可以通過迭代去噪過程的方式直接從高斯分布中采樣多模式物理上合理的動(dòng)作。這激勵(lì)我們將機(jī)器人領(lǐng)域的擴(kuò)散模型的成功經(jīng)驗(yàn)復(fù)制到端到端自動(dòng)駕駛領(lǐng)域當(dāng)中。
我們將原始機(jī)器人擴(kuò)散策略應(yīng)用于單模回歸方法Transfuser。與普通擴(kuò)散策略不同,人類駕駛員遵循既定的駕駛模式,并根據(jù)實(shí)時(shí)交通狀況進(jìn)行動(dòng)態(tài)調(diào)整。這一認(rèn)識(shí)促使我們將這些先前的駕駛模式嵌入到擴(kuò)散策略中,具體方法是將高斯分布劃分為以先前錨點(diǎn)為中心的多個(gè)子高斯分布,稱為anchored Gaussian分布。它是通過截?cái)郿iffusion schedule來實(shí)現(xiàn)的,從而在先前的錨點(diǎn)周圍引入一小部分高斯噪聲,如下圖所示。
為了增強(qiáng)與條件場(chǎng)景上下文的交互,我們提出了一種基于Transformer的擴(kuò)散解碼器,它不僅與感知模塊的結(jié)構(gòu)化查詢交互,還通過稀疏可變形注意機(jī)制與鳥瞰圖 和透視圖特征交互。此外,我們引入了一種級(jí)聯(lián)機(jī)制,在每個(gè)去噪步驟中迭代細(xì)化擴(kuò)散解碼器內(nèi)的軌跡重建。
最終,我們提出了一種實(shí)時(shí)端到端自動(dòng)駕駛的擴(kuò)散模型,稱之為DiffusionDrive。我們?cè)贜AVSIM數(shù)據(jù)集上對(duì)我們的方法進(jìn)行閉環(huán)評(píng)估的基準(zhǔn)測(cè)試。相關(guān)的實(shí)驗(yàn)結(jié)果表明,DiffusionDrive實(shí)現(xiàn)了88.1的PDMS,顯著超過了之前的SOTA算法。此外,我們通過開環(huán)評(píng)估進(jìn)一步驗(yàn)證了DiffusionDrive在nuScenes數(shù)據(jù)集上的性能, 相關(guān)的實(shí)驗(yàn)結(jié)果表明提出的DiffusionDrive實(shí)現(xiàn)了SOTA的表現(xiàn)結(jié)果。
論文鏈接:https://arxiv.org/pdf/2411.15139
算法模型網(wǎng)絡(luò)結(jié)構(gòu)&技術(shù)細(xì)節(jié)梳理
調(diào)研工作
如前文所述,我們先從非常具有代表性的端到端規(guī)劃算法Transfuser開始,通過簡(jiǎn)單地將回歸MLP層替換為遵循擴(kuò)散策略的條件擴(kuò)散模型 UNet,將其轉(zhuǎn)變?yōu)樯赡P汀T谠u(píng)估過程中,我們采樣隨機(jī)噪聲并通過20個(gè)step逐步對(duì)其進(jìn)行細(xì)化,相關(guān)的實(shí)驗(yàn)結(jié)果如下表所示。
為了進(jìn)一步研究擴(kuò)散策略在駕駛中的多模式特性,我們從高斯分布中采樣了20個(gè)隨機(jī)噪聲,并使用20個(gè)step對(duì)其進(jìn)行去噪。如下圖所示。
不同的隨機(jī)噪聲在去噪后會(huì)收斂到相似的軌跡。為了定量分析模式坍塌現(xiàn)象,我們定義了一個(gè)模式多樣性得分D,根據(jù)每條去噪軌跡與所有去噪軌跡的并集之間的平均交并比計(jì)算得到:
相關(guān)的實(shí)驗(yàn)結(jié)果如下表所示。通過表格中的結(jié)果可以看出,mIoU 越高,表示去噪軌跡的多樣性越低。通過可視化的結(jié)果可以看出類似的效果。此外,通過下表的實(shí)驗(yàn)結(jié)果還可以看出,DDIM擴(kuò)散策略需要20個(gè)去噪step才能將隨機(jī)噪聲轉(zhuǎn)換為可行軌跡,這會(huì)帶來大量計(jì)算開銷。這使得它對(duì)于實(shí)時(shí)在線駕駛應(yīng)用來說不切實(shí)際。
截?cái)鄶U(kuò)散
人類的駕駛行為遵循著固定模式,不同于普通擴(kuò)散策略中的隨機(jī)噪聲去噪。受此啟發(fā),我們提出了一種截?cái)鄶U(kuò)散策略,該策略從錨定高斯分布而不是從標(biāo)準(zhǔn)高斯分布開始進(jìn)行去噪過程。為了使模型能夠?qū)W習(xí)從錨定高斯分布到所需的駕駛策略進(jìn)行去噪,我們?cè)谟?xùn)練期間進(jìn)一步截?cái)鄶U(kuò)散計(jì)劃,只向錨點(diǎn)添加少量高斯噪聲。
訓(xùn)練過程:我們首先通過向訓(xùn)練集上由K-Means 聚類的錨點(diǎn)添加高斯噪聲來構(gòu)建擴(kuò)散過程。我們通過截?cái)鄶U(kuò)散噪聲方案來將錨點(diǎn)擴(kuò)散到錨定高斯分布,相關(guān)的計(jì)算公式如下。
在訓(xùn)練期間,擴(kuò)散解碼器將噪聲軌跡作為輸入,并預(yù)測(cè)分類分?jǐn)?shù)和去噪軌跡,相關(guān)公式如下。
我們將最接近真實(shí)軌跡的錨點(diǎn)周圍的噪聲軌跡指定為正樣本,其他軌跡指定為負(fù)樣本。訓(xùn)練目標(biāo)結(jié)合了軌跡重建和分類,計(jì)算公式如下所示。
推理過程:我們使用截?cái)嗳ピ脒^程,從錨定高斯分布中采樣的噪聲軌跡開始,并逐步對(duì)其進(jìn)行去噪,直至完成最終預(yù)測(cè)。在每個(gè)去噪時(shí)間戳中,上一步估計(jì)的軌跡被傳遞給擴(kuò)散解碼器,該解碼器預(yù)測(cè)分類分?jǐn)?shù)和坐標(biāo)。在獲得當(dāng)前時(shí)間戳的預(yù)測(cè)后,我們將 DDIM 更新規(guī)則應(yīng)用于下一個(gè)時(shí)間戳的樣本軌跡。
推理靈活性:我們提出的自動(dòng)駕駛DiffusionDrive算法的一個(gè)關(guān)鍵優(yōu)勢(shì)在于其推理的靈活性。雖然模型是用軌跡進(jìn)行訓(xùn)練的,但其推理過程可以容納任意數(shù)量的軌跡樣本,并可以根據(jù)計(jì)算資源或應(yīng)用要求進(jìn)行動(dòng)態(tài)的調(diào)整。
DiffusionDrive算法整體框架圖
如下圖所示,展示了我們提出的算法模型DiffusionDrive的網(wǎng)絡(luò)結(jié)構(gòu)。
DiffusionDrive算法模型可以集成之前端到端規(guī)劃器中使用的各種現(xiàn)有感知的模塊,并接受不同的傳感器信息作為輸入。設(shè)計(jì)的擴(kuò)散解碼器專為復(fù)雜且具有挑戰(zhàn)性的駕駛應(yīng)用而量身定制,增強(qiáng)了與條件場(chǎng)景環(huán)境的交互。
Diffusion Decoder:給定一組從錨定高斯分布中采樣的噪聲軌跡,我們首先應(yīng)用可變形空間交叉注意力來與基于軌跡坐標(biāo)的鳥瞰圖 (BEV) 或透視圖 (PV) 特征進(jìn)行交互。隨后,在軌跡特征和從感知模塊派生的代理/地圖查詢之間執(zhí)行交叉注意力,然后接一個(gè)FFN網(wǎng)絡(luò)。為了對(duì)擴(kuò)散時(shí)間戳信息進(jìn)行編碼,我們使用Timestep Modulation Layer,然后是多層感知機(jī)網(wǎng)絡(luò),用于預(yù)測(cè)置信度得分和相對(duì)于初始噪聲軌跡坐標(biāo)的偏移量。該Timestep Modulation Layer的輸出用作后續(xù)級(jí)聯(lián)擴(kuò)散解碼器層的輸入。DiffusionDrive 進(jìn)一步重用級(jí)聯(lián)擴(kuò)散解碼器在推理過程中迭代地對(duì)軌跡進(jìn)行去噪,并在不同的去噪時(shí)間步長(zhǎng)之間共享參數(shù)。選擇置信度得分最高的最終軌跡作為輸出。
實(shí)驗(yàn)結(jié)果&評(píng)價(jià)指標(biāo)
整體性能比較
下表展現(xiàn)了將DiffusionDrive與NAVSIM數(shù)據(jù)集上最先進(jìn)的算法模型進(jìn)行比較的實(shí)驗(yàn)結(jié)果匯總。
此外,如下表所示,使用擴(kuò)散策略將Transfuser算法模型轉(zhuǎn)換為生成式Transfuser DP,可將PDMS 得分提高 0.6,并提高模式多樣性得分11%。然而,它也顯著增加了規(guī)劃模塊的開銷,需要 20 倍以上的去噪step和 32 倍的時(shí)間,導(dǎo)致運(yùn)行時(shí)開銷總共增加了 650 倍。
通過采用所提出的截?cái)鄶U(kuò)散策略,將去噪step的數(shù)量從 20 減少到 2,同時(shí)實(shí)現(xiàn)了 PDMS 增加 1.1,模式多樣性提高 59%。通過進(jìn)一步結(jié)合所提出的擴(kuò)散解碼器,最終 DiffusionDrive 模型達(dá)到了 88.1 PDMS 和 74% 的模式多樣性得分。相比于Transfuser DP,DiffusionDrive實(shí)現(xiàn)了3.5 PDMS 和 64% 模式多樣性的改進(jìn), 以及去噪step減少了10倍,從而使 FPS 速度提高了 6 倍。這可以實(shí)現(xiàn)實(shí)時(shí)、高質(zhì)量的多模式規(guī)劃。
消融實(shí)驗(yàn)分析
下表顯示了我們?cè)跀U(kuò)散解碼器中的設(shè)計(jì)選擇的有效性。通過比較 ID-6 和 ID-1,我們可以看到所提出的擴(kuò)散解碼器減少了 39% 的參數(shù),并將規(guī)劃質(zhì)量顯著提高了 2.4 PDMS。由于缺乏與環(huán)境的豐富和層次化交互,ID-2 表現(xiàn)出嚴(yán)重的性能下降。通過比較 ID-2 和 ID-3,我們可以看到空間交叉注意對(duì)于準(zhǔn)確規(guī)劃至關(guān)重要。ID-5 表明所提出的級(jí)聯(lián)機(jī)制是有效的,并且可以進(jìn)一步提高性能。
下表的實(shí)驗(yàn)結(jié)果表明,由于起始點(diǎn)的選擇比較合理,DiffusionDrive僅需1步即可達(dá)到良好的規(guī)劃質(zhì)量。進(jìn)一步增加去噪步長(zhǎng)可以提高規(guī)劃質(zhì)量,并使其在復(fù)雜的環(huán)境下具有靈活的推理能力。
通過下表的實(shí)驗(yàn)結(jié)果可以看出,消除了級(jí)聯(lián)階段數(shù)的影響。增加階段數(shù)可以提高規(guī)劃質(zhì)量,但在 4 個(gè)階段就會(huì)飽和,并且每一步都會(huì)花費(fèi)更多的參數(shù)和推理時(shí)間。
由于在上文中已經(jīng)有所提到,DiffusionDrive 只需從錨定高斯分布中采樣可變數(shù)量的噪聲即可生成不同的軌跡。下表的相關(guān)實(shí)驗(yàn)結(jié)果可以看出,10 個(gè)采樣噪聲已經(jīng)可以實(shí)現(xiàn)不錯(cuò)的規(guī)劃質(zhì)量。通過采樣更多噪聲,DiffusionDrive 可以覆蓋潛在的規(guī)劃動(dòng)作空間并提高規(guī)劃質(zhì)量。
由于 PDMS 規(guī)劃指標(biāo)基于得分最高的軌跡進(jìn)行計(jì)算,而我們提出的分?jǐn)?shù)評(píng)估模式多樣性,因此僅憑這些指標(biāo)無法完全捕捉多樣化軌跡的質(zhì)量。為了進(jìn)一步驗(yàn)證多模式軌跡的質(zhì)量,我們?cè)?NAVSIM數(shù)據(jù)集上的具有挑戰(zhàn)性的場(chǎng)景中可視化了 Transfuser、Transfuser DP和 DiffusionDrive 的規(guī)劃結(jié)果,如下圖所示。
通過可視化的結(jié)果可以看出,DiffusionDrive 生成的多模式軌跡不僅多樣性,而且質(zhì)量較高。在上圖的a圖展示的結(jié)果可以看出,DiffusionDrive 算法模型生成的得分最高的前 10 條軌跡與真實(shí)軌跡非常相似,而突出顯示的前 10 條得分軌跡出人意料地試圖執(zhí)行高質(zhì)量的車道變換。上圖的b圖展示的結(jié)果可以看出,突出顯示的前 10 條得分軌跡也執(zhí)行車道變換,相鄰的低得分軌跡進(jìn)一步與周圍的代理交互以有效避免了碰撞的發(fā)生。
nuScenes 數(shù)據(jù)集是之前流行的端到端規(guī)劃基準(zhǔn)。由于 nuScenes 的主要場(chǎng)景都是簡(jiǎn)單而瑣碎的情況,因此我們僅進(jìn)行相關(guān)結(jié)果的比較,如下表所示。
我們根據(jù) SparseDrive 的訓(xùn)練和推理方案,使用 ST-P3中提出的開環(huán)指標(biāo),在 SparseDrive之上實(shí)現(xiàn)了 DiffusionDrive算法模型。我們堆疊了 2 個(gè)級(jí)聯(lián)擴(kuò)散解碼器層,并應(yīng)用了具有 18 個(gè)聚類錨點(diǎn)的截?cái)鄶U(kuò)散策略。通過上表的實(shí)驗(yàn)結(jié)果可以看出,DiffusionDrive 將 SparseDrive 的平均 L2 誤差降低了 0.04m,與之前最先進(jìn)的方法相比,實(shí)現(xiàn)了最低的 L2 誤差和平均碰撞率。同時(shí) DiffusionDrive 算法模型也非常高效,運(yùn)行速度比 VAD 快 1.8 倍,L2 誤差降低了 20.8%,碰撞率降低了 63.6%。
結(jié)論
在本文中,我們提出了一種新穎的生成式駕駛決策模型 DiffusionDrive,該模型結(jié)合了所提出的截?cái)鄶U(kuò)散策略和高效的級(jí)聯(lián)擴(kuò)散解碼器,用于端到端自動(dòng)駕駛。全面的實(shí)驗(yàn)和定性比較驗(yàn)證了 DiffusionDrive 在規(guī)劃質(zhì)量、運(yùn)行效率和模式多樣性方面的優(yōu)越性。