劉建銘,陳偉俠,盧仲康
(1. 華南理工大學 機械與汽車工程學院,廣州 510641;2. 廣州華工機動車檢測技術有限公司,廣州 510640)
對周圍環境中車輛及行人的軌跡預測是自動駕駛關鍵技術之一,對未來軌跡的準確預測能夠避免自動駕駛車輛規劃出錯誤的路徑,增強決策規劃模塊輸出的有效性,輸出更加平滑的規劃軌跡。
目前車輛軌跡預測方法主要可以分為兩大類型:基于物理模型以及深度學習方法?;谖锢砟P偷念A測方法將車輛表示為受限于某種物理模型控制的運動物體,該模型一般為運動學模型或者動力學模型。動力學模型需要有準確的車輛物理參數,因此在預測任務中運動學模型更為常見。常用的運動學模型包括了恒定速度模型、恒定加速度模型、恒定角速度和速度模型[1]以及恒定角速度和加速度模型[2]。物理模型方法通常只適用于短期預測,例如預測一秒內的未來軌跡,因為這些算法無法對駕駛員的駕駛行為進行預測[3]。
深度學習則通過大數據驅動,使模型能夠自主的學習到其他環境因素對目標車輛駕駛行為的影響。軌跡預測作為一個序列預測的問題,循環神經網絡(RNN,recurrent neural network)自然的被引入到軌跡預測中。文獻[4]中將車輛的歷史坐標及加速度輸入到LSTM網絡中,輸出車輛在未來時刻位于占據柵格地圖每個網格的概率。文獻[5]基于生成對抗模型進行軌跡預測,使用LSTM作為生成模型的編碼器及解碼器。
車輛的未來狀態除了與自身的歷史軌跡相關,同時也取決于與其他車輛的交互。文獻[6-7]將被預測車輛周圍車輛的信息加入到輸入中,考慮與周圍車輛的交互明顯加強了預測的準確性。在Social-LSTM[8]中提出了社會池化層(social pooling)處理行人之間的空間關系,不同行人的軌跡經過LSTM的編碼被放入到一個網格圖中,此網格圖即表示了當前時刻行人的空間關系。Deo等人[9]在社交池化層后使用卷積層代替原本的全連接層,利用卷積層的等價性能提取網格圖中的局部有用信息。Lin[10]等人在社交池化層增加了額外的注意力層,在每個時間步T計算目標車輛對其他網格內車輛的注意力權重,該權重與LSTM輸出的隱變量相乘。
在結構化道路下行駛的車輛一般會沿著車道線行駛,如果能有效地提取道路信息將提升網絡預測性能。Khandelwal等人提出WIMP[11],在軌跡預測中加入了路網信息,將路網分段離散并表示成有向圖。LanGCN[12]同樣將路網表示為有向圖,并定義了LaneConv算子以充分利用路網的連接關系。VectorNet[13]則將道路和軌跡向量化,通過聚合函數將向量聚合在一個高維特征中,并使用注意力機制提取各個高維特征之間的信息。文獻[14]延續了VectorNet對道路的編碼形式,但是增加了路段和路點作為道路信息的額外特征并拼接在原來的高維特征中。文獻[15-16]中道路信息被表示為圖像的形式,各種道路信息按照一定的分辨率繪制在圖像的不同通道中,使用卷積神經網絡處理該圖像以提取道路信息。
對駕駛員的目標點意圖預測也是提升模型預測精度的方式,在TPNet[16]中提出了預測目標點的方式以增加預測準確性。TNT[17]模型使用分層圖神經網絡VectorNet來編碼場景的特征向量,該特征向量被用于預測目標點及生成最終軌跡。
綜上,車輛軌跡預測算法中依然存在以下問題:
1)如何更高效編碼道路信息以及歷史軌跡信息,并建立對應的交互模型以充分利用環境信息是預測模塊提供準確預測軌跡的關鍵問題。

圖1 軌跡預測網絡結構圖
2)目標點信息對未來軌跡預測精度是重要影響因素之一,如何準確的預測目標點并利用目標點信息增強預測精度同樣也是一項問題。
針對以上問題,本文以道路信息、車輛歷史軌跡信息作為輸入,提出了基于注意力機制的實時軌跡預測網絡。本文的主要貢獻包括:
1)對預測網絡的多模態輸入問題,提出了基于注意力機制的交互模塊處理車道線信息和歷史軌跡信息,該模塊將提取影響車輛未來狀態的3個重要交互信息:車道線對于車輛的指引、車流信息以及車輛間的交互。
2)增加目標點預測模塊,從道路中心線中采樣目標點,在軌跡預測模塊中加入目標點信心進一步增強軌跡預測模塊的準確性。
軌跡預測模塊的任務是給定自動駕駛車輛周圍環境若干時間步的歷史狀態,預測周圍車輛未來幾個時間步的狀態或某個狀態的轉移概率。使用數學語言描述即為,給定歷史狀態Xhs:
(1)

所提軌跡預測網絡整體架構如圖1所示,軌跡預測網絡主要包括了3個模塊:歷史軌跡與道路的編碼模塊將低維輸入轉換為高維的特征向量;交互模塊負責提取道路與車輛、車輛與車輛之間的交互,輸出目標車輛與環境的交互特征;預測模塊包括了兩個預測任務——目標點及軌跡預測,交互特征向量、預測目標點坐標及對應的概率作為該模塊的輸入。網絡使用了簡潔統一的架構對多模態的輸入進行編碼并提取不同輸入特征之間的交互信息,下面對每個模塊進行詳細介紹。
2.1.1 軌跡編碼模塊
對于車輛軌跡信息,預測網絡的輸入首先應當包括各個車輛的二維坐標,由于傳感器的采樣頻率并不能保證在全部場景都是穩定的,即在部分場景中軌跡的幀時間間隔大于設定的采樣間隔,所以將時間戳信息也加入到網絡輸入中。在部分時刻由于障礙物遮擋會導致觀測信息為空值,因此附加一列指示位表示該時刻是否有觀測值。根據上述處理方法,最后將得到一個m×tobs×4的歷史軌跡輸入Phis={p1,p2,…,pm},其中m為該場景中的相關車輛數目,tobs為可觀測的時間長度。
從輸入的特征可以看出車輛的歷史信息是按照一定的時間間隔記錄的車輛狀態,對時間序列進行編碼的常用方式是循環神經網絡(RNN)。軌跡編碼模塊選用了RNN中的一個變體UGRU[18],所有的軌跡將使用同一個U-GRU模塊進行編碼,編碼后的特征為τ,其定義如下:
τ={t1,t2,…,tm}
(2)
ti=UGRU(Phis)
(3)
式(3)中U-GRU的計算公式如下:
(4)
(5)

2.1.2 道路信息編碼模塊
結構化道路具有明確的交通標志如車道線、人行道等,位于結構化道路的車輛在大部分情況下將沿著道路中心線行駛或移動至另一條道路中心線,道路中心線是車輛駕駛行為的重要影響因素之一,因此選用了道路中心線作為輸入。
自動駕駛系統中的道路信息一般來自于高精地圖(HD map,high definition map),高精地圖在表示道路信息采用點、線段、區域3個層級的方式。點是最基本的構成單元,可以用來表示路點或者交通指示燈。線段由離散的路點組成,一般用于表示道路中心線。區域同樣由點所組成,線段與區域的區別是后者是封閉的,一般用于表示道路的交互區域,如人行橫道等。
假設道路信息輸入為L={L0,L1,…,Ln},其中Lj表示第j條道路中心線。輸入采用文獻[13]對道路信息的表示方法,如圖2所示,將高精地圖中的元素如道路中心線、人行道向量化。

圖2 道路元素向量化與道路編碼
向量化過程如下:對于一段由m個路點組成的道路中心線Lj,第i個向量vi由第i個路點作為起點與第i+1個路點作為終點連接形成,則這段道路中心線Lj將由m-1個向量v組成,向量的特征被定義為:
(6)

對向量化后道路中心線的編碼方式,同樣使用文獻[13]使用的方法。對于若干向量v組成的一段路段Lj,其編碼特征pj計算公式如下:
(7)
(8)

礦體主要分布在內外接觸帶,礦床成因厘定為矽卡巖型。含礦巖性以透輝石矽卡巖和石榴石透輝石矽卡巖為主。礦體主要分布在3~16線間,東西長約500 m,南北寬約300 m,面積約0.15 km2。
φrel(x,y)=concat[x,y]
(9)
將以上的編碼方式應用在道路中心線的每個路段中得到最終的道路中心線編碼特征。
如前所述,在結構化道路中行駛的車輛,其駕駛行為除了自身駕駛意圖外主要受到兩個因素的制約,首先是與同一場景中其他車輛的交互,其次駕駛員會受到道路信息的指引,自身駕駛意圖主要由軌跡信息編碼模塊從歷史軌跡中提取,車輛之間、車輛與道路之間的交互信息將由交互模塊獲取。
交互模塊的整體流程如圖3所示,場景中每個車輛歷史軌跡與道路中心線的路段將被視為一個節點,交互模塊將使用注意力機制[19]提取路段與車輛,車輛與車輛之間的交互信息。該目標由圖3中的4個子模塊完成:路段對于車輛的注意力模塊(L2A,lane to actors)、路段之間的注意力模塊(L2L,lane to lane)、車輛對于道路的注意力模塊(A2L,actors to lane)以及車輛之間交互的注意力模塊(A2A,actors to actors),其中前3個模塊用于提取車輛與車道中心線之間的交互,最后一個模塊用于提取車輛之間的交互。

圖3 交互信息提取模塊
L2L模塊以路段的注意力信息AL2A作為query、key與value的輸入向量,輸出為路段與路段之間的注意力信息AL2L。經過自注意力后每個路段將自身周圍路段的交通狀況以不同權重聚合到該路段。
A2L模塊以軌跡編碼特征τ作為query的輸入向量,路段與路段之間的注意力信息AL2L作為key與value的輸入向量,A2L模塊輸出為AA2L。該模塊將最終將車道相關的信息以不同權重聚合到每個車輛節點上,車輛節點對路段的不同權重也表示了各個路段節點對于車輛的指引作用。
A2A模塊負責提取車輛之間的交互信息,以該場景中的每輛車的軌跡編碼特征τ作為query、key與value的輸入向量,因此該模塊的注意力同樣是自注意力,該模塊輸出為AA2A。A2A模塊表示了車輛間的交互作用,雖然經過L2A、L2L與A2L的交互信息流在一定程度上通過車流信息表示車輛間的交互,但A2A模塊以更直接的方式提取這種交互。
隨后將A2L模塊與A2A模塊的輸出相加得到交互特征I=AA2L+AA2A,交互特征I包含了場景中所有車輛對于車道線及其他車輛的交互信息,本文研究的預測任務僅限于單個目標車輛,交互模塊最終僅輸出目標車輛與其他車輛的交互信息Iagent。
2.3.1 目標點預測
人類駕駛員另一個常見的駕駛習慣是確定一個目標點,然后規劃到這個目標的路徑,如果能準確預測目標車輛在未來幾秒后的目標點就能增強對未來軌跡預測的準確性。
在道路信息編碼模塊中使用了道路中心線的路點,在目標點預測任務中對離散路點進行重新采樣以產生待選的目標點集合。對于目標點預測分為兩個部分的預測,對離散點的分類預測和偏離離散點距離的回歸預測,分類任務的目標是預測最靠近預測軌跡真實目標點的路點,而回歸任務是預測每個路點距離真實目標點的偏移量。即最終預測的目標點集合τp為
(10)
式中,(xn,yn)為離散路點的坐標,(△xn,△yn)為真實目標點與離散路點的偏移量,N為候選目標點的個數。


圖4 目標點預測多層感知器結構
在訓練中該階段的損失函數被定義為兩部分:
Ltarget=Lcls(P,Pt)+Lreg(△x,△y,△xt,△yt)
(11)
式中,Lcls為分類損失,此處選擇使用交叉熵損失函數;P為預測值,Pt為路點真實標簽,最靠近真實目標點的候選路點標簽為1,其余路點為0;Lreg為回歸損失,此處使用Huber損失函數;△x,△y為偏移量的預測值,△xt,△yt為偏移量的真值。
2.3.2 軌跡生成
軌跡生成階段的輸入為目標車輛的交互特征Iagent與目標點預測階段概率最大的前m個點,這m個點的坐標將與其預測概率排列后拼接至Iagent后形成新的特征Itar。在該階段不直接輸出一整條軌跡而是輸出每個時間步的位移。
該階段的具體實現是一個兩層的MLP以及一個Linear層,將特征Itar轉換為1×2Tpredict大小的向量Ppre,定義如下:
Ppre={△x0,△y0,△x1,△y1,…,△xTpre,△yTpre}
(12)
式中,Tpre表示預測時間的步長,△xTi,△yTi表示Ti時刻到Ti+1時刻的位移。該階段的損失函數Ltra同樣使用Huber損失函數。
所提預測網絡的任務有兩項,對車輛行駛目標點的預測以及未來軌跡的預測,總的損失函數被定義為:
L=λ1*Ltarget+λ2*Ltra
(13)
Ltarget、Ltra分別為目標點預測和軌跡生成階段的損失函數,λ1、λ2為兩項任務的權重系數,用來平衡網絡對兩項任務的側重部分,權重越大表示該項任務的準確性對總損失函數的影響越大。
Argoverse運動預測數據集[20]是由Argo AI自動駕駛公司、卡內基梅隆大學以及佐治亞理工學院開源的大規模數據集。使用安裝在車輛上的攝像頭、激光雷達以及GPS采集數據,經過處理后該數據集不僅包含了車輛軌跡的鳥瞰圖,同時提供了與每個場景下的車道線信息。圖5展示了數據集中的一個場景,圖中實線表示了車輛的歷史軌跡,圓點為歷史軌跡最后一個時刻的位置,虛線表示道路中心線。

圖5 數據集場景示例
在數據集中提供車輛軌跡部分的數據類型見表1。在Argoverse提供的每個場景中,有一輛車類型被標記為AGENT,該車輛即為需要預測未來軌跡的目標車輛。車輛軌跡以10 Hz的頻率采樣,總長度為5 s,其中(0,2]s被用做可觀測到的軌跡信息,而(2,5]s被當做預測軌跡地面真值。

表1 Argoverse數據類型
根據預測網絡的輸入,需要處理的數據有三項:軌跡信息、車道線信息以及候選目標點。
3.2.1 軌跡信息歸一化

3.2.2 車道線信息重采樣
車道線信息首先通過目標車輛歷史軌跡最后一點XTobs獲取目標車輛周圍給定曼哈頓距離內的所有路段及其路點,隨后使用樣條曲線插值的方式擬合原本的路點,并以一定間隔d重新采樣曲線上的點作為該路段中新的路點。
重新采樣后路點內的路點數量可能會與原本的數量有較大的差距,若某一路段內的路點數量超過設定閾值,該路段將被分割為幾個路點數目更少的幾個路段。該分割方法保證了每個路段內包含的向量數目在設定閾值之下,防止存在過長的特征被壓縮,導致信息丟失。
3.2.3 目標點采樣
目標點采樣過于稀疏會導致最終預測的目標點與真值相差過遠,反之如果采樣點過多則可能因目標點數過多使訓練難以進行,且最終預測的目標點會集中在某個區域,不利于多模態的預測。最終選擇的采樣方式是首先確定與歷史軌跡的最后一點最接近的路段Li,使用深度搜索的方式前向搜索Li的后續路段,使用這種搜索方式將去除掉目標車輛不可能行駛到的路段。同時合理選擇前述的樣條曲線插值的間隔,使得候選目標點數量在一定的范圍內。
軌跡預測網絡訓練使用的計算機軟、硬件配置如表2所示。預測網絡具體參數如下:在歷史軌跡編碼模塊中,UGRU前向傳播與后向傳播輸出維數均為64。道路信息編碼中的MLP模塊中間層及輸出的維數為64,聚合層數l為3層。交互模塊中注意力模塊的輸出特征長度為64。目標點預測及軌跡預測使用的MLP中間層維數為64。場景的采樣點個數N最大數量為1 000,選擇目標點個數m為6。

表2 軟硬件配置清
網絡訓練的各項參數如下:訓練批次大小(batch size)設置為128;訓練次數(epoch)設置為50;學習率(learning rate)在開始訓練時設置為1e-3,在經過15輪訓練后,每5輪訓練學習率將隨指數下降,下降率設置為0.9;訓練的優化器為Adma,其中Adam優化器的β1=0.9,β2=0.999,權重衰減率為1e-2;損失函數的兩項權重分別選擇為λ1=0.5,λ2=1。
目前對于預測軌跡質量常用的評價指標主要有以下兩個:最小平均位移誤差(minADE,minimum average distance error)、最小最終距離誤差(minFDE,minimum final distance error)。
3.4.1 最小平均位移誤差
minADE為最佳預測軌跡按照每一個時間步與真值差值的二范數:
(14)

3.4.2 最小最終距離誤差
minFDE為最佳預測軌跡最終點與真值的最終點之間的二范數距離:
(15)

將所提網絡在argoverse數據集中的驗證集于其他方法進行對比以驗證所提算法在單模態預測精度上的提升,試驗結果如表3所示,選擇對比的方法有以下幾種。
1)恒速模型[20]:使用歷史軌跡1秒至2秒間速度觀測值的平均值作為預測時間段的速度,利用運動學模型計算未來軌跡。
2)LSTM-social[20]:使用LSTM作為編碼器和解碼器,在輸入特征中加入了車輛間的交互特征。
3)LSTM-map[20]:同樣使用LSTM作為編碼器和解碼器,與方法(2)的區別在于輸入特征加入道路信息。
4)VectorNet[13]:將道路信息和歷史軌跡信息都視為向量,使用自注意力機制同時獲取道路與車輛、車輛與車輛之間的交互信息。
5)SGANAM[21]:以社會對抗生成網絡為基礎,加入使用注意力機制的社會注意力模塊以及歷史注意力模塊學習車輛間的交互作用,使用車道卷積操作[12]提取道路特征。
6)GA-MTP[22]:將道路信息建模為圖模型,使用車道卷積操作提取道路特征,對歷史軌跡信息使用LSTM進行編碼,隨后使用注意力機制獲取車輛以及道路交互。

表3 驗證集模型性能對比
通過表3的對比可以看出所提軌跡預測算法預測精度相較于恒速模型有明顯的提升,兩項指標分別提升53.3%與54.2%,其余深度學習模型的預測精度由于恒速模型,因此使用深度學習的方法顯著提升了預測的準確性。對比LSTM-social與LSTM-map,可以看相較于交互信息,加入車道信息對于預測準確性有更大的提升。所提方法對比LSTM-map,兩項指標分別提升了35.5%與31.26%,證明了所提方法中交互模塊對周圍環境信息有更強的提取能力。VectorNet使用了較為簡單的注意力模塊提取交互信息,而SGANAM與GA-MTP均使用了車道卷積操作提取環境信息,因此有相近的預測精度且精度優于VectorNet。所提軌跡預測算法在指標上均優于其他使用注意力機制的方法,本文方法與GA-MTP相比在指標上分別提升了6.5%、9.57%,在minFDE指標上有更大的提升,證明本文方法所提的交互模塊充分考慮了目標車輛與周圍車輛以及車道線間存在的交互,并且目標點預測模塊進一步提升了模型的預測精度,且對最終點預測有更大的提升。
除了歷史信息,預測時長也是影響預測精度的因素之一,此處選擇恒速模型、SGANAM以及本文方法在不同預測時長下進行對比,結果如圖6所示,圖中展示了3種方法的平均距離誤差以及最終距離誤差。

圖6 不同預測時長下的預測誤差
在0.5 s預測時長下,3種方法的預測誤差相近。隨著預測時間的增加,3種方法的預測誤差都隨之增加,預測準確性下降。恒速模型由于不能識別駕駛員的意圖與周圍環境,因此預測誤差隨預測時長將大幅增加,兩種深度學習模型的誤差增長明顯小于恒速模型。SGANAM與本文方法使用了不同深度學習模型學習駕駛員與周圍的交互及駕駛員的駕駛意圖,因此在誤差增長趨勢上呈現一致,且所提方法在所有預測時長的誤差均小于SGANAM,進一步證明所提方法的有效性。
為了驗證各個模塊在預測中的作用,消融實驗將逐步添加不同的模塊,從而定量分析每個模塊在網絡結構中對性能提升的占比。
表4為消融實驗的結果,其中A2A是交互模塊中用于提取車輛間交互信息的模塊;MAP表示交互模塊中的L2L、L2L、A2L三個模塊,這3個模塊幫助網絡提取道路信息和交通流信息;Target表示加入目標點預測。

表4 消融實驗
從實驗結果可以看出相較于只使用車輛間交互信息的A2A模塊,MAP模塊加入了道路信息,將幫助預測網絡更好地學習駕駛的未來意圖,兩項指標下降了3.8%與4.0%,預測網絡性能在minFDE上有明顯的下降。在單獨使用L2L、A2L、L2L這3個模塊時由于該模塊通過各個道路點傳播了交通流信息,該信息隱含了車輛間可能的交互信息,所以在預測精度上與同時使用地圖信息和車輛交互信息相近,但是直接提取輛交互信息的A2A提升了網絡預測最終目標點的能力,使得兩項指標分別下降了1.3%與1.2%。進一步加入目標點預測模塊提升了預測網絡的整體預測能力,預測軌跡的平均誤差和最終誤差都有所下降,分別下降了1.3%與2.4%,證明加入目標點預測對于最終點的預測有更大的提升。
本文提出了基于交互性的軌跡預測網絡,使用軌跡信息以及車道線信息作為輸入,預測網絡主要包括了3個模塊:編碼模塊、交互模塊、預測模塊。歷史軌跡信息以及車道線信息經過編碼后將送入到基于注意力機制的交互模塊,該模塊用于提取車輛和道路之間的交互信息。最后經預測模塊輸出預測軌跡,在預測模塊中使用目標點預測的方式增加了預測的準確性。通過在Argoverse公開數據集上的實驗證明了算法在預測準確性上的提高,minADE為1.45 m,minFDE為3.21 m。目前所提算法聚焦于單條未來軌跡的預測,無法預測駕駛員的多種駕駛意圖,后續的工作將以多模態預測為主。