VectorFlow:結(jié)合圖像和向量做交通占用和流預(yù)測
arXiv論文“VectorFlow: Combining Images and Vectors for Traffic Occupancy and Flow Prediction“,2022年8月9日,清華大學(xué)工作。
預(yù)測道路智體的未來行為是自主駕駛中的一項關(guān)鍵任務(wù)。雖然現(xiàn)有模型在預(yù)測智體未來行為方面取得了巨大成功,但有效預(yù)測多智體聯(lián)合一致的行為仍然是一個挑戰(zhàn)。最近,有人提出了occupancy flow fields(OFF)表示法,通過占用網(wǎng)格和流的組合來表示道路智體的聯(lián)合未來狀態(tài),支持聯(lián)合一致的預(yù)測。
這項工作提出一種新的occupancy flow fields預(yù)測器,從光柵化交通圖像中學(xué)習(xí)特征的圖像編碼器,和捕獲連續(xù)智體軌跡和地圖狀態(tài)信息的向量編碼器,二者結(jié)合起來,生成準(zhǔn)確的占用和流預(yù)測。在生成最終預(yù)測之前,兩個編碼特征由多個注意模塊融合。該模型在Waymo開放數(shù)據(jù)集占用和流預(yù)測挑戰(zhàn)(Occupancy and Flow Prediction Challenge)中排名第三,在遮擋占用率和預(yù)測任務(wù)(occluded occupancy and flow prediction task)中實現(xiàn)了最佳性能。
OFF表示(“Occupancy Flow Fields for Motion Forecasting in Autonomous Driving“,arXiv 2203.03875,3,2022)是一種時空網(wǎng)格,其中每個網(wǎng)格單元包括 i)任何智體占用單元的概率 和 ii)表示占用該單元智體運動的流。其提供了更好的效率和可擴展性,因為預(yù)測occupancy flow fields的計算復(fù)雜性與場景中道路智體的數(shù)量無關(guān)。
如圖是OFF框架圖。編碼器結(jié)構(gòu)如下。第一級接收所有三種類型的輸入點,并用PointPillars啟發(fā)的編碼器進(jìn)行處理。交通燈和道路點直接放置在網(wǎng)格中。智體在每個輸入時間步t的狀態(tài)編碼是,從每個智體BEV框內(nèi)均勻采樣固定大小的點網(wǎng)格,并把這些點與相關(guān)智體狀態(tài)屬性(包括時間t的one-hot編碼)放置在網(wǎng)格。每個pillar為其包含的所有點輸出一個嵌入。解碼器結(jié)構(gòu)如下。第二級接收每個pillar嵌入作為輸入,并生成每個網(wǎng)格單元占用和流預(yù)測。解碼器網(wǎng)絡(luò)基于EfficientNet,用EfficientNet作為主干來處理每個pillar嵌入得到特征映射(P2,…P7),其中Pi從輸入中下采樣2^i。然后用BiFPN網(wǎng)絡(luò)以雙向方式融合這些多尺度特征。然后,用最高分辨率特征映射P2在所有時間步回歸所有智體類K的占用和流預(yù)測。具體地,解碼器為每個網(wǎng)格單元輸出一個向量,同時預(yù)測占用和流。
針對本文,做以下問題設(shè)置:給定場景中交通智體1秒的歷史和場景上下文,如地圖坐標(biāo),目標(biāo)是預(yù)測 i)未來觀察到的占用率,ii)未來遮擋的占用率,以及 iii)在一個場景中未來8個路點上所有車輛的未來流,其中每個路點覆蓋1秒的間隔。
將輸入處理為光柵化圖像和一組向量。為了獲得圖像,在給定觀察智體軌跡和地圖數(shù)據(jù)的情況下,相對于自動駕駛汽車(SDC)的局部坐標(biāo),在過去的每個時間步創(chuàng)建一個光柵化網(wǎng)格。為了獲得與光柵化圖像一致的向量化輸入,遵循相同的變換,相對于SDC的局部視圖,旋轉(zhuǎn)和移動輸入智體和地圖坐標(biāo)。
編碼器包括兩部分:編碼光柵化表示的VGG-16模型,和編碼向量化表示的VectorNe模型。通過交叉注意模塊將向量化特征與VGG-16最后兩步的特征進(jìn)行融合。通過FPN-式樣網(wǎng)絡(luò),融合后的特征上采樣到原始分辨率,作為輸入的光柵化特征。
解碼器是單個2D卷積層,將編碼器輸出映射到occupancy flow fields預(yù)測,該預(yù)測包括一系列8網(wǎng)格圖,表示未來8秒內(nèi)每個時間步的占用和流預(yù)測。
如圖所示:
用torchvision的標(biāo)準(zhǔn)VGG-16模型,作為光柵化編碼器,并遵循VectorNet(代碼https://github.com/Tsinghua-MARS-Lab/DenseTNT)的實現(xiàn)。VectorNet的輸入包括 i)一組形狀為B×Nr×9的道路元素向量,其中B是批處理大小,Nr=10000是道路元素向量的最大數(shù),最后一個維度9表示每個向量和向量ID中兩個端點的位置(x,y)和方向(cosθ,sinθ);ii)一組形狀為B×1280×9的智體向量,包括場景中最多128個智體的向量,其中每個智體具有來自觀察位置的10個向量。
遵循VectorNet,首先根據(jù)每個交通元素的ID運行局部圖,然后在所有局部特征上運行全局圖,獲得形狀為B×128×N的向量化特征,其中N是交通元素的總數(shù),包括道路元素和智體。通過MLP層將特征的大小進(jìn)一步增加四倍,獲得最終的向量化特征V,其形狀為B×512×N,其特征大小與圖像特征的通道大小一致。
VGG每個級的輸出特征表示為{C1、C2、C3、C4、C5},相對于輸入圖像和512隱藏維,跨步長(strides)為{1、2、4、8、16}像素。通過交叉注意模塊將向量化特征V與形狀為B×512×16×16的光柵化圖像特征C5融合,獲得相同形狀的F5。交叉注意的query項是圖像特征C5,扁平為有256個令牌(tokens)的B×512×256形狀,Key和Value項是具有N個令牌的向量化特征V。
然后在通道維上連接F5和C5,通過兩個3×3卷積層,獲得形狀為B×512×16×16的P5。P5通過FPN風(fēng)格的2×2上采樣模塊做上采樣并與C4(B×512×32x32)連接,生成和C4一樣形狀的U4。之后在V和U4之間執(zhí)行另一輪融合,遵循相同的程序,包括交叉注意,獲得P4(B×512×32×32)。最后,P4由FPN式樣網(wǎng)絡(luò)逐漸上采樣,并與{C3,C2,C1}連接,生成形狀為B×512×256×256的EP1。將P1通過兩個3×3 卷積層,獲得形狀為B×128×256的最終輸出特征。
解碼器是單個2D卷積層,輸入通道大小為128,輸出通道大小為32(8個路點×4個輸出維度)。
結(jié)果如下: