作者 |Jone
出品 | 焉知汽車
現代自動駕駛系統的特點是按順序排列的模塊化任務,傳統的方法是基于標準的感知-規劃-控制這種序列式架構的主流處理方式。即首先將感知信息處理成人類可以理解的語義信息和道路交通信息,然后基于常態化知識和規則進行決策規劃,這種處理方式在先前常規的高速路、快速路上實現L2級以后以下的駕駛輔助而言是基本沒有問題的。然而,針對高階自動駕駛而言,這類專家和規則的處理方式卻難以勝任在復雜不確定的城市甚至鄉村場景中需要執行的自動給駕駛任務。
最近,自動駕駛領域無論是在CVPR上發表的論文還是工程化實踐中,最火的專業領域莫過于端到端End to End的大模型了。該模型實際上是一個抽象的概念,即只需要輸入原始數據到模型端,即可得出對應期待的輸出。實際上,隱藏在大模型背后的便是以人工智能基礎深度學習之上的強化深度學習。
那么什么是強化深度學習呢,實際上,這是一種將感知、規劃、決策能力相結合的計算能力。且這種學習方式根據輸入的圖像為基礎,輸出段以最大限度地模仿真人思考對環境的判斷和處理,使得駕駛體驗具備靈活性、自適應、擬人化程度更佳。更進一步講,強化深度學習實際是一種以時間線為決策基準的方式,智能體通過與環境的交互獲得必要的反饋。對這種反饋的處理模式與當前典型深度學習(監督學習和無監督學習)的不同之處在于:強化學習對于目標訓練采用的是獎勵函數而非代價函數。
眾所周知,對于自動駕駛環境場景理解中,一般使用監督學習算法實際是標準庫的匹配過程,這是可以既快又好的學習到環境目標。而針對規劃決策而言,則是更加擬人化的處理過程,也就是規劃與處理不再是標準的公式套用,而是將高維感知信息通過不斷的反饋、回歸映射處理實現到動作空間的有效映射。實踐證明,基于深度強化學習的端到端控制架構可以規避傳統方式以來處理更高維度更復雜場景的自動駕駛決策規劃能力。
因此,從整體優化角度上說,隨著深度學習的成功發展,自動駕駛算法將集合一系列任務,包括感知中的檢測、跟蹤、建圖,以及預測中的運動和占用預測。本文將跳出常規基于AI感知的數據處理模式,而將目光轉向感知后端的預測、規劃和決策模塊,將AI處理邏輯應用在這些模塊上實現更加智能化的處理過程。
為了執行各種各樣的任務并實現高級智能,先進的算法是要么為單個任務部署獨立模型,要么設計具有單獨頭的多任務范例。然而,他們可能會遇到累積錯誤或任務協調不足的問題。因此,基于AI大模型的自動駕駛汽車規劃則是一種優化整體設計框架的有效手段。以此為導向,需要重新審視感知和預測中的關鍵組成部分,并確定任務的優先級,以便所有這些任務都有助于后續的任務規劃。因此,有必要推出統一自動駕駛(UniAD)綜合框架,將全棧駕駛任務整合到一個網絡中。充分利用每個模塊的優勢,并從全局角度為代理交互提供互補的特征抽象。各個任務間可以通過統一的查詢接口進行通信,以方便彼此進行規劃。
如上圖(a)所示,只要板載芯片的資源帶寬允許,大多數行業解決方案都會為每個任務分配獨立部署獨立模型。這樣的設計雖然簡化了跨團隊的研發難度,但由于各個任務之間相互隔離,也存在跨模塊信息丟失、錯誤累積、功能錯位的風險。
一種更優雅的設計是將多個特定任務頭插入共享特征提取器中,將廣泛的任務納入多任務學習(MTL)范式中,如上圖(b)所示。這是許多領域的流行做法,包括自動駕駛通用視覺算法(例如 Transformer、BEV )以及芯片行業(例如 Mobileye、Tesla、Nvidia 等)。在 MTL 中,跨任務的協同訓練策略可以利用特征抽象毫不費力地擴展到額外任務,并節省板載芯片的計算成本。然而,這樣的方案可能會導致不良的“負遷移”。
相比之下,端到端自動駕駛模型的出現將所有節點從感知、預測到規劃統一為一個整體。前面任務的選擇和優先級將有利于后續任務的規劃。系統應該以規劃為導向,對某些組件進行精心設計,使得很少有像獨立選項那樣的累積誤差或像MTL方案中的負轉移。
遵循端到端范式,一種“白板”實踐是直接預測計劃軌跡,無需對感知和預測進行任何明確的監督,如上圖(c.1)所示。雖然這樣的方向值得進一步探索,但其安全保障和可解釋性不足,尤其是對于高度動態的城市場景。在本文中,我們從另一個角度提出以下問題:對于一個可靠的、面向規劃的自動駕駛系統,如何設計有利于規劃的管道?哪些前面的任務是必需的?
直觀的解決方案是感知周圍的物體、預測未來的行為并明確地計劃安全的操作,如上圖(c.2)所示。在這方面已經有不少實踐提供了很好的見解并取得了令人印象深刻的表現。然而,細節決定成敗,以前的工作或多或少沒有考慮某些組成部分,比如以規劃為導向的必要性。
統一的自動駕駛算法框架
最近的研究證明了Transformer 結構在感知任務上的有效性,受此啟發,在端到端設置中也將這種時序上的預測模式應用到了各個后端處理中,這里我們簡稱為“xxxFormer”。 首先,我們引入一個統一的自動駕駛算法框架---UniAD ,即利用 ffve 基本任務來構建安全、魯棒的系統。UniAD 的設計本著以規劃為導向的精神,這不僅僅是一個簡單的工程任務堆棧,而是一個連接所有節點的基于查詢設計的關鍵組件。與經典的邊界框表示相比,查詢受益于更大的接受場,以減輕上游預測的復合誤差。此外,查詢可以靈活地對各種交互進行建模和編碼,例如多個代理之間的關系。UniAD是一個全面研究自動駕駛領域感知、預測和規劃等多種任務的聯合工作。通過這樣的設計希望能夠對自動駕駛系統的目標驅動設計有所啟發,為協調各種駕駛任務提供一個起點。
這種遵循以規劃為導向的理念精心設計,不是簡單的任務堆棧,而是研究每個模塊在感知和預測中的效果,利用從先前節點到駕駛場景中最終規劃的聯合優勢。所有感知和預測模塊均采用 Transformer Decoder 結構設計,以任務查詢作為連接各個節點的接口。一個簡單的基于注意力的規劃器最終會考慮從先前節點提取的知識來預測自車未來路徑點。期間,將會使用基于視覺形成的占用地圖。
接下來將對如上圖所示的整個數據鏈路中的預測模型進行完整性說明。
首先,軌跡生成是聯合執行檢測和多目標跟蹤(MOT),這種方式無需后處理,而是采用取查詢設計的方式。除了對象檢測中使用的傳統檢測查詢之外,還引入了額外的跟蹤查詢來處理跨幀跟蹤代理。具體來說,就是在每個時間步,初始化的檢測查詢負責檢測第一次感知到的新生代理,而跟蹤查詢則保持對在先前幀中檢測到的那些代理進行建模。檢測查詢和跟蹤查詢都通過關注 BEV 特征 B 來捕獲代理抽象。隨著場景不斷發展,當前幀的跟蹤查詢與自注意力模塊中先前記錄的查詢進行交互,以聚合時間信息,直到在特定時間段內未跟蹤到目標且相應的代理完全消失。
如上圖所示,UniAD最終包括四個基于Transformer解碼器的感知和預測模塊以及一個規劃器。查詢 Q 起到連接管道的作用,以對駕駛場景中實體的不同交互進行建模。具體來說,需要將一系列多攝像頭圖像輸入特征提取器,并通過 BEVFormer 中現成的 BEV 編碼器將所得透視圖特征轉換為無擴散鳥瞰圖 (BEV) 特征B。UniAD 并不局限于特定的 BEV 編碼器,并且可以利用其他替代方案通過長期時間的多模態融合來提取更豐富的 BEV 表示。 在 TrackFormer 中,從特征圖 B 查詢到可學習的跟蹤信息代理。TrackFormer 包含 N 層,最終輸出狀態 QA 為下游預測任務提供 Na 個有效代理的知識。除了對自車周圍的其他代理進行編碼的查詢之外,還在查詢集中引入了一個特定的自車查詢,以顯式地對自動駕駛車輛本身進行建模,這將進一步用于規劃。
MapFormer 則將地圖作為道路元素(例如車道和分隔線)的語義抽象進行查詢,并執行地圖的全景分割。這種基于 2D 全景分割方法 Panoptic SegFormer進行地圖設計原理是將道路元素稀疏地表示為地圖查詢,以幫助下游進行運動預測,并對位置和結構知識進行編碼。對于不同的駕駛場景而言,將車道、分隔線和十字路口設置為關注目標,并將可行駛區域設置為某一特定的其他目標。此外,MapFormer還有N個堆疊層,每層的輸出結果都受到監督,而只有最后一層中更新的查詢QM被轉發到MotionFormer以進行智駕車與地圖的交互。
通過上述表示代理和地圖的查詢,MotionFormer 捕獲代理和地圖之間的交互,并預測每個代理的未來軌跡。接下來,OccFormer 采用 BEV 特征 B 作為查詢,配備智能體作為鍵和值,并在保留智駕車輛的情況下預測多步未來占用情況。最后,Planner利用 MotionFormer 富有表現力的自車查詢來預測規劃結果,并使其遠離 OccFormer 預測的占用區域以避免碰撞。
以上過程中,如果考慮自車行駛的周邊場景都是智能體,且由于每個智能體的動作都會對場景中的其他智能體產生重大影響,因此該模塊對所有考慮的智能體都可以進行聯合預測。同時,通過設計一個自車查詢來顯式地建模,并使其能夠在這種以場景為中心的范例中與其他代理進行交互。
運動預測與占用預測
接下來將詳細介紹相關運動預測和占用預測的詳細方法。
1、運動預測
首先,通過分別從 TrackFormer 和 MapFormer 對動態代理 QA 和靜態地圖 QM 進行高度抽象的查詢,MotionFormer 以場景為中心的方式預測所有代理的多模態未來運動,即前 k 個可能的軌跡。這種范例通過一次前向傳遞在幀中產生多智能體軌跡,這大大節省了將整個場景與每個智能體坐標對齊的計算成本。同時,考慮到未來的動態,通過 MotionFormer 傳遞來自 TrackFormer 的自車查詢,以使自車與其他環境目標進行交互。形式上,輸出運動被表述為 {x?i, k ∈ RT×2|i = 1,......N; k=1,... ..., K} ,其中 i 表示索引代理,k 索引軌跡模態,T 是預測范圍的長度。
運動預測由 N 層組成,每層捕獲三種類型的交互:自車與周邊環境目標、自車與地圖和自車與潛在風險目標。對于每個運動查詢 Qi,k,其與其他代理 QA 或地圖元素 QM 之間的交互可以表示為:
其中,MHCA、MHSA 分別表示多頭交叉注意力和多頭自注意力。由于在完善預測軌跡中更加關注預期位置(即目標點),因此通過可變形注意力可以設計一個代理目標點注意力,如下所示:
其中 x^l?1T 是上一層預測軌跡的端點。DeformAttn(q,r,x) 是一個可變形注意力模塊,接收查詢q、參考點 r 和空間特征 x。它對參考點周圍的空間特征進行稀疏關注,通過這種方式,隨著了解端點周圍環境,預測軌跡將進一步細化。所有這三種交互都是并行建模的,其中生成的 Qa、Qm 和 Qg 被連接并傳遞到多層感知器 (MLP),從而生成查詢上下文 Qctx。然后,Qctx被發送到后續層進行細化或解碼為最后一層的預測結果。
2、占用網格圖預測
“占用網格圖”這是一個當前智能駕駛相對較火的術語,其本身是一種離散化的 BEV 表示,其中每個單元格都持有一個指示其是否被占用的信念,而占用預測任務是發現網格圖未來如何變化。先前經典的方法利用 RNN 結構根據觀察到的 BEV 特征在時間上擴展未來預測 。
然而,這種高度依賴于手工制作的聚類后處理來生成每個智能體占用圖,因為它們通過將 BEV 特征作為一個整體壓縮到 RNN 隱藏狀態,而這其中大多與智能體無關。由于代理知識的使用不足,他們很難預測全局所有代理的行為,這對于理解場景如何演變至關重要。為了解決這個問題,就需要進一步詳細介紹占用網絡預測 OccFormer 。
在占用網格預測中,主要在兩個方面結合了場景級和代理級語義:
(1)密集場景特征在展開到未來視野時通過精心設計的注意力模塊獲取代理級特征;
(2)我們通過代理級特征和密集場景特征之間的矩陣乘法輕松產生實例占用率,而無需進行繁重的后處理。
OccFormer 由 To 順序塊組成,其中 To 表示預測范圍。由于密集表示占用的計算成本較高,因此在運動任務中 To 通常小于 T。每個塊將來自前一層的豐富代理特征 Gt 和狀態(密集特征)F t?1 作為輸入,并考慮實例級和場景級信息生成時間步 t 的密集特征 Ft。
為了獲得具有動態和空間先驗的代理特征Gt,可表示為 QX ∈ R Na×D 的模態維度中對來自 MotionFormer 的最大池運動查詢進行最大池化,其中 D 作為特征維度。通過a將其與上游軌跡查詢QA和當前位置嵌入PA融合時間特定 MLP:
其中[·]表示串聯。對于場景級知識,為了提高訓練效率,將 BEV 特征 B 縮小到 1/4 分辨率,以作為第一個塊輸入 F0。為了進一步節省訓練內存,每個塊都遵循下采樣-上采樣方式,并注意中間的模塊以 1/8 自縮放特征進行像素代理交互,表示為 Ftds。
像素與代理交互旨在預測未來占用情況時輸出統一場景和代理級別的理解。將密集特征 Ftds 作為查詢輸入,將實例級特征作為鍵和值,以隨著時間的推移更新密集特征。具體來說,Ftds 通過自注意力層來對遠處網格之間的響應進行建模,然后交叉注意力層對代理特征Gt 和每個網格特征之間的交互進行建模。此外,為了對齊像素-代理對應關系,通過注意掩模來約束交叉注意,該掩模限制每個像素僅在時間步 t 處查看占據它的代理。稠密特征的更新過程可表述為:
注意掩碼 Ot m 在語義上與占用相似,是通過將額外的代理級特征與密集特征 Ftds 相乘而生成的,其中將此處的代理級特征命名為掩碼特征Mt = MLP(Gt )。經過方程式中的交互過程后,Dtds 被上采樣到 B 的 1/4 大小。進一步將 Dtds 與塊輸入 Ft?1 作為殘差連接相加,并將得到的特征 Ft 傳遞到下一個塊。
接下來是生成實例級占用率。它代表保留每個代理身份的占用情況。它可以通過矩陣乘法簡單地繪制出來,就像最近基于查詢的分割工作一樣。形式上,為了獲得 BEV 特征 B 的原始大小 H ×W 的占用預測,場景級特征 Ft需要通過卷積解碼器上采樣Ft dec ∈ R C×H×W,其中 C 是通道維度。對于代理級特征,我們進一步通過另一個 MLP 將粗掩模特征 Mt 更新為占用特征 Ut ∈ R Na×C。從經驗發現,從掩碼特征 Mt 而不是原始代理特征 Gt 所生成的 Ut 會帶來更加優越的性能。最終以時間t 為步長的最終實例級占用率可以表示為:
運動軌跡規劃與查詢
在沒有高清 (HD) 地圖或預定義路線的情況下進行規劃通常需要高級命令來指示前進方向。對于智能車而言,其對應的行駛動作無非包括車道保持、加減速、變道等。因此,可以粗略的將原始導航信號(即左轉、右轉和保持前進)轉換為三個可學習的嵌入,稱為命令嵌入。由于 MotionFormer 的自車查詢已經表達了其多模式意圖,因此,需要為其配備命令嵌入以形成“計劃查詢”。
這里對 BEV 特征 B 進行計劃查詢,使其了解周圍環境,然后將其解碼為未來的航路點 τ?。為了進一步避免碰撞,可以通過以下方式進行推理優化τ?:
其中τ?是原始規劃預測,τ*表示優化規劃,它是從multipleshooting軌跡τ中選擇的,以最小化成本函數f(·)。O^ 是從 OccFormer 的實例占用預測合并而來的經典二進制占用圖。
MotionFormer 每層的輸入查詢(稱為運動查詢)包含兩個組成部分:如前所述由前一層產生的查詢上下文 Qctx 以及查詢位置 Qpos。具體來說,Qpos 將位置知識四重整合,如下式中所示。
其中們這些位置包括場景級錨點 Is 的位置;代理級錨點 Ia 的位置;智能體 i 的當前位置x0和預測目標點xl-1T。
這里利用正弦位置編碼 PE(·) 后跟 MLP 對位置點進行編碼,并將 x0T 設置為 I s
在第一層(下標i、k也被省略)。場景級錨點表示全局視圖中的先前運動統計數據,而代理級錨點捕獲局部坐標中可能的意圖。它們都通過 k-means 算法在真實軌跡的端點上進行聚類,以縮小預測的不確定性。
與先驗知識相反,起點為每個智能體提供定制的位置嵌入,預測的終點作為動態錨以粗到細的方式逐層優化。
基于自學習的非線性優化
與直接訪問地面真實感知結果(即代理的位置和相應軌跡)的傳統運動預測工作不同,在端到端范式中考慮了先前模塊的預測不確定性。從不完美的檢測位置或航向角回歸地面實況航跡點,這可能會導致預測軌跡產生不合實際的較大曲率和加速度。為了解決這個問題,可以采用非線性平滑器來調整目標軌跡,并在上游模塊預測的起始點不精確的情況下使它們也可以用于未來的預測。其過程是:
其中x和x*表示真實軌跡和平滑軌跡,x是通過多次觀測生成的數據,相應的成本函數如下:
其中λxy和λgoal是超參數,運動學函數集Φ有5個項,包括橫縱向加速度及其變化率、曲率、曲率變化率。成本函數規范目標軌跡且遵守運動學約束,這種目標軌跡優化僅在訓練時進行,不影響推理。
最后,UniAD 框架中的模塊學習分兩個階段。首先聯合訓練幾個 epoch感知部分,即跟蹤和映射模塊,然后使用所有感知、預測和規劃模塊端到端地訓練模型 20 個 epoch。且經驗發現兩階段學習訓練更穩定。由于 UniAD 涉及實例建模,因此在感知和預測任務中需要將預測與地面實況集配對。這里,需要在跟蹤和在線建圖階段采用二分匹配算法。至于跟蹤,來自檢測查詢的候選者與新生的地面實況對象配對,來自跟蹤查詢的預測繼承了先前幀的分配。跟蹤模塊中的匹配結果在運動和占用節點中可以被重用,以在端到端框架中對從歷史軌跡到未來運動的代理進行一致的建模。
總結
基于深度強化學習的端到端(End-to-end)的控制架構是自動駕駛領域中新興的研究熱點,它能克服傳統方式依賴先驗環境建模的問題,可以直接實現通過從感知到控制功能的映射。即,將transformer的思想整個貫穿于感知、預測、規劃、決策的整個處理過程。
本文介紹的處理算法遵循以規劃為導向的理念,擁抱自動駕駛框架的新前景,并證明有效任務協調的必要性,而不是獨立設計或簡單的多任務學習。并且這種UniAD作為一個利用廣泛任務的綜合性端到端系統,可以很好的啟動關鍵組件,將查詢設計為連接所有節點的接口。因此,本文中的UniAD 享有靈活的中間表示和交換多任務知識以進行規劃。
審核編輯:湯梓紅
-
人工智能
+關注
關注
1791文章
46845瀏覽量
237535 -
感知算法
+關注
關注
0文章
19瀏覽量
7636 -
自動駕駛
+關注
關注
783文章
13682瀏覽量
166139 -
Transformer
+關注
關注
0文章
141瀏覽量
5981
原文標題:從Transformer探索自動駕駛感知算法提升處理策略
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論