彭子灃,葛萬成
(同濟大學 中德學院,上海 201804)
有經驗的人類駕駛者會觀察環境并對周邊車輛和行人的行為做出預測,以便對可能出現的情況做出準備[1-2]。而這些行為由于人類自我意識的存在而呈現出多模態(multi-model)的特性,每個人的目的地各不相同,并且由于性格、年齡等諸多個體差異,到達目的地的策略也是多樣的。除此之外,人與物理環境以及其他人的交互行為進一步把問題復雜化,對計算機使用算法處理該問題提出了新的挑戰。盡管如此,作為重要的技術環節,自動駕駛車輛必須模仿人類并具備對等的預測能力。
近年來,國內外學者對軌跡預測的研究已經取得了長足的發展,軌跡預測算法從以卡爾曼濾波、高斯過程[3-4]等為代表的傳統動力學模型全面轉向了以循環神經網絡、注意力機制為代表的序列處理深度學習模型。一些綜述論文系統地總結了該領域的重要論文[5-6],然而這些論文缺乏對關鍵數據集的介紹,而且其分類方法往往從發展歷程或者具體網絡結構的角度出發對模型進行分類,并非從解決方案的動機出發進行分類。因此,本文將介紹該領域面臨的挑戰,并從與之對應的具體模型的實現思路和解決問題的動機出發對論文進行分類和總結。此外,本文還將介紹重要的數據集,并在最后對未來的研究趨勢進行分析,展望該領域的發展,希望為軌跡預測領域的工作提供參考。
軌跡預測問題在實際模型中主要被抽象為兩種形式。一種如圖1所示,根據目標此時的動力學參數(主要是速度的大小和方向),預測其下一個時刻的動力學模型,并在此基礎上計算之后的坐標位置。這種建模方式在傳統模型中更常見。圖1標出了下一時刻行人可能的速度方向,深色代表概率較大,淺色代表概率較小[7]。另一種如圖2所示,把軌跡抽象為一系列坐標點的集合,此時模型的輸入為場景中目標過去一段時間的軌跡坐標,輸出為模型推測的未來一段時間的軌跡坐標。深度學習模型中,軌跡往往被視作坐標點的序列。圖2中白色方塊代表過去的軌跡,灰色圓點表示未來各種可能的軌跡,白色圓點表示真實的軌跡[8]。在深度學習中,該類任務和自然語言處理(Natural Language Processing)問題一樣,屬于典型的序列處理問題,所以通常可以看到長短時記憶神經網絡(Long Short-Term Memory,LSTM)[9]、Transformer[10]等類似的結構。

圖1 軌跡預測形式一

圖2 軌跡預測形式二
軌跡預測問題的建模并不復雜,但是影響軌跡走向因素的多樣性導致了問題的復雜性,可以分為下面幾類。
(1)場景因素。在不同的交通場景中,行人和車輛會受到具體環境的極大影響。首先是場景的物理限制,例如,行人不能穿過墻壁,車輛在環島中不能駛過圓心等,這對算法的障礙物辨識能力提出了要求。此外,場景還會產生隱式影響,例如,在十字路口過馬路的行人會比在校園中散步的學生有更快的速度,車輛會受到標志標牌和交通規則的限制等,這對算法理解場景類型的能力也提出了要求。
(2)個體差異。由于個人在性格、年齡、精神狀態等方面的差異,其行進策略也會有明顯的不同。舉幾個例子,一個性格急躁或在趕時間的行人可能在避開障礙物時采取更加激進的策略;年輕人的速度往往比老年人快;一些人的舒適社交距離較大,導致其軌跡總是遠遠避開其他人。
(3)復雜交互。行人和車輛的行進策略并不是互相獨立的,而是存在非常復雜的交互關系,同一場景下的交通參與者會對各自的策略進行反應并調整自己的策略。例如,三五好友會結伴而行,前方有車輛變道時駕駛者會輕點剎車等。要判斷各個交通參與者的交互策略,其目的和意圖是至關重要的,而這對模型來說是完全隱式的,于是對算法提出了更高的要求。因此,模型應該能夠推斷各個交通參與者的意圖,并在此基礎上理解各個交通參與者之間的關系,這是軌跡預測的中心問題之一。
(4)多模態性(multi-model)。在深度學習中,多模態往往指代不同類型的輸入信息,而在軌跡預測領域,特指軌跡的多樣性和不確定性,即對于某一段過去的軌跡、多種未來軌跡的選擇可能都是同樣合適的。車輛尚有標志標線、紅綠燈狀態等交通規則的限制,而對于行人,這種多模態的影響更大,因為此時個體差異和場景因素的影響進一步凸現。所以對于軌跡預測問題,模型常常不給出確定解,而是給出未來軌跡的概率分布,以此為多模態性建模。
上述四個因素并不互相獨立,而是相互影響的。例如,場景不同可能導致交互方式變化,個體的差異也會加強多模態性。考慮分離的因素可以為模型提供建模的依據,但是從更一般的角度來說,對于如此復雜的問題,手工定義的特征往往并不足以達到較高的精確度。因此需要一種更加靈活、數據驅動的自適應解決方案,一個對場景、個體差異、交互、動力學、多模態都敏感的模型。這是軌跡預測解決方案從動力學模型轉向深度學習模型的重要原因。接下來,本文將介紹該領域常用的幾個數據集,然后以本章的分類為基礎介紹具體的重要論文。
軌跡預測的任務環境多變復雜,所以多個側重不同方面的大型公開數據集都具有較大影響力, 主 要 有NGSIM[11]、HighD[12]、Stanford Drone[13]、nuScenes[14]、ETH[15]、JAAD[16]、PIE[17]、TrajNet++[18]。表1詳細列出了各個數據集的發布時間、數據規模等信息。

表1 軌跡預測數據集信息整理
該部分主要從解決軌跡預測問題的動機出發分類介紹重要的模型,分類方法與第二部分中闡述的挑戰相對應。除此之外還在開頭簡要介紹了傳統模型的思路,并在最后總結了部分歸類困難但仍有價值的解決方案。由于該分類方法并不是按照時間排序,所以同一個模型可能會出現在不同的分類中,因為有大量模型嘗試同時解決軌跡預測問題的多個方面。
傳統模型可分為三類。第一類完全建立在物理學的基礎上,文獻[20]、文獻[21]、文獻[22]、文獻[23]通過對車輛動力學的細致分析,可以得到短時間內周邊車輛的位置,常用于碰撞預警或者風險評估。第二類是行為模型[24-26],基于對駕駛員打算執行的操作的實時識別來預測未來的軌跡。第三類模型建立在能量函數的基礎上,由于使用了梯度下降算法,該類模型是最接近深度學習模型的。文獻[7]通過行人間的距離和速度的大小、方向首先提出了碰撞能量函數的概念,并通過梯度下降算法找到該函數的最小值來預測下一時刻的速度,最后通過該速度計算下一瞬間的行人位置。文獻[27]在能量函數中加入了懲罰行人偏離目的地或偏離同行者的正則項,改進了文獻[7]的效果。文獻[13]進一步通過對行進策略分類改進了文獻[27]的效果。
傳統模型的優勢是計算復雜度低,并且由于模型簡單,泛用性強,對于不同的數據集無需重復訓練。劣勢在于缺乏全局的交互信息和對多模態性、個體差異性的建模,所以其長時間預測效果很難提升,導致傳統模型只適合于瞬時預測任務,如碰撞檢測。
場景類型和場景理解對于軌跡預測問題有決定性的影響。眾多模型通過多種方式引入了場景信息,改進了預測準確度。文獻[28]和文獻[29]將視頻中的某幀圖片取出作為對特定場景的建模,并通過卷積神經網絡(Convolutional Neural Networks,CNN)對其進行特征提取后直接輸入到預測網絡中來隱式地利用場景信息。文獻[29]還將場景特征和預測點輸入到了物理注意力模塊(physical attention),利用場景信息對預測點的可能性進行判斷。這種方式雖然在實驗中取得了不錯的效果,但是可解釋不佳,對于卷積核大小等超參的選擇有較高的調試要求。而文獻[30]利用語義分割為圖片中每個像素分配一個固定的類型,對場景進行了更精確的建模,因為此時模型清楚地知道預測點一般不可能落在被分類為花壇或者墻壁的像素上,該模型在Stanford Drone和ETH數據集上實現了目前最佳的預測精度。在車輛軌跡預測方面,文獻[31]和文獻[32]通過利用高速公路場景中的車道信息提高了模型對變道行為的敏感度,提高了在HighD數據集上的預測精度。不同在于,文獻[31]直接使用車道標號的嵌入向量(embedding vector),而文獻[32]則通過為不同的車道提供不同的編碼器(Encoder),在模型結構層面引入了車道信息。
雖然上述利用環境信息的方式都推動了軌跡預測領域的進步,但是他們往往都在俯視角的數據集上進行測試,而在工程實踐中俯視角數據是難以獲得的,所以這些方法還需要進一步在主視角的數據集上進行測試。另外,使用語義分割的模型[30]的計算量大,特別是在輸入為點云數據時能否在車載計算平臺上達到滿足安全要求的計算時間是一個 問題。
如何提取交通參與者之間的交互信息,是軌跡預測的另一個核心任務,與軌跡的多模態性一起,形成該領域最重要的兩個關注點。大部分的模型都會在這兩個方向上做出嘗試。文獻[33]首先指出軌跡預測中交互信息的重要性并產生了持續的影響,該模型利用LSTM為序列建模,并對距離較近的行人的隱藏層狀態做池化操作來提取交互信息。文獻[34]改進了文獻[33]的方法,每個行人都會計算與所有其他行人的池化值,得到了全局交互信息。文獻[35]與文獻[33]一樣,都將原始的軌跡數據劃分為網格,但不同于文獻[33]的池化操作,該模型將網格看做圖像,利用卷積操作來提取交互信息,池化和卷積都是提取本地交互性的方式。與文獻[35]類似,文獻[36]也利用了卷積操作來提取交互信息,但該模型不在模型中顯式地建立卷積層,而是利用了內部存在卷積結構的convLSTM[37]。還有一類重要的模型[8,31,38,39,40]受到谷歌提出的自然語言處理模型Transformer[10]中自注意力機制(self-attention)和文獻[41]提出的非本地操作(non-local operation)的影響,提出了一系列利用全局自注意力機制來提取交互信息的模型。文獻[39]在Highd數據集上嘗試了自注意力機制,通過矩陣點積操作計算兩兩車輛間的交互信息。文獻[40]與文獻[39]的結構類似,但是會生成多條軌跡來為多模態性建模。文獻[31]中的車輛注意力模塊與文獻[39]的結構類似,但該模型還提出了車道注意力機制,將車道編號的嵌入向量和車輛特征向量做點乘,求得車道和車輛間的交互信息,提高了對車道信息的敏感程度。文獻[38]用距離、速度角、最小距離三個因素定義了一個權重向量,并根據這個權重向量來加權點乘的結果使得交互信息精細化。文獻[8]使用了一種循環自注意力機制,每次循環得到的交互信息矩陣會與上次的結果相加進入下一個循環,這種做法可解釋性不強,但加深了網絡深度,也對預測精度有一定的改進。另外還有一類,文獻[42]和文獻[43]將軌跡預測問題建模為圖模型(graph),每個交通參與者被視為一個節點,而邊上的權重代表了交互強度。
作為軌跡預測的核心問題,學術界已經做出了大量的嘗試,可用的經典神經網絡結構幾乎都已經應用到了這一問題中,今后該領域的發展重點或許會回到數據的精確性和多樣性中。
由于達到同一個目的地完全可能存在多種選擇,所以軌跡預測往往不能采用確定性模型,而必須通過輸出概率分布來對多模態性和不確定性建模。在深度學習領域,生成器是一種常見的為概率分布建模的結構,其中生成對抗網絡(Generative Adversarial Networks,GAN)[44]和變分自編碼器(Variational Auto-Encoders,VAE)[45]最為常見,兩種結構被廣泛地應用到了軌跡預測模型中。
文獻[38]、文獻[34]、文獻[28]以及文獻[29]用基本相同的方式引入了生成對抗網絡,嘗試解決多模態性問題,其中較為特殊的兩篇文章是文獻[38]和文獻[34]。文獻[38]指出生成對抗網絡不容易訓練并且對于模式崩潰和模式掉落非常敏感,故而使用了新的Info-GAN模型[46],改進了軌跡預測效果。而文獻[34]的判別模型(discriminator)的功能是評價生成的軌跡是否在交互上是可能的。除此之外,文獻[38]、文獻[28]及文獻[29]的判別模型輸入都是真實未來軌跡或者生成的軌跡,輸出軌跡為兩種類別的可能性,以此來提高生成器生成真實軌跡的能力。
文獻[8]和文獻[43]利用VAE來對不確定性進行建模。文獻[43]提出了一種循環VAE來預測下一步的位移,而不是直接輸出下個點的坐標,這樣做可使得VAE得到類似于循環神經網絡的序列順序信息。文獻[8]通過CVAE[47]首先生成一系列目標可能的目的地,在此基礎上預測中間點。文獻[30]改進了文獻[8]的方法,不僅利用CVAE生成目的地,還生成了中間關鍵幀的可能取值,以此提高了對多模態性建模的能力。文獻[48]的模型較為復雜,該模型生成模塊首先用CVAE生成多個可能的預測點輸入到后續模塊中,后續模塊會生成位置偏移反饋到輸入中修正預測點的位置,并同時為預測點打分,循環結束后得到最高分的預測點勝出。文獻[49]通過修改VAE本身以增強對于多模態性的建模,非常特殊。它提出了CF-VAE的概念,通過將VAE的隱藏分布從一般的高斯分布改變為結構更加靈活的標準化流(normalizing flow)來增強其表達能力。
除生成器外,文獻[50]利用一個人為設計的分布來生成M個與車道相關的可能目的地,然后通過提取好的環境信息優化這些目的地坐標點,并為每個目的地生成一條相應的軌跡,最后利用打分模塊為每條軌跡評分,留下分數最高的k條軌跡。文獻[51]通過在解碼階段輸出混合高斯分布來為多模態性建模,但每一步根據每個高斯分布的權重只取一個樣本。
由于多模態性過于重要,雖然各個模型為了對預測效果進行評估最終往往會以某種方式選擇其中一條預測軌跡計算誤差,但在實際環境中,預測模塊后續往往還存在有規劃模塊來對預測模塊的輸出信息進行篩選處理,所以預測模塊通常直接輸出多條軌跡,這是需要注意的一點。
個體差異在軌跡預測中也是一個非常重要的因素,不同的性格、年齡等差異會極大地影響軌跡的選擇,然而目前在這方面著力的模型并不多見,所以這是未來的一個發展方向。文獻[13]雖然是利用能量函數的傳統模型,但是其根據行進策略對行人進行分類的思想很有價值。該模型通過“開始躲避其他行人的距離”以及“躲避時所偏離原始軌跡的距離”將行人的策略分為四類。舉例來說,如果某個行人在很近的距離才開始采取躲避行為,并且躲避的距離也很短,那么可以說該行人的策略是激進的,可以判斷他在趕時間或者性格急躁。文獻[42]指出同一類型的交通參與者(車輛、行人、自行車等)具有包括速度、加速度、轉向等相似的動力學特性,如果模型能夠提取出每個類型的運動模式,其理解能力會大大增加。所以該模型提出了超級節點(super node)的結構,每個超級節點只接受一類交通參與者樣例的訓練。
一部分軌跡預測模型另辟蹊徑,雖然不能歸類為上述幾個重要的類型,但是其思路新穎,也具有很強的研究價值。數據增強是深度學習常用的技術,文獻[52]和文獻[53]通過將真實數據搬運到三維模型中的方式進行了數據增強,但是目的有所不同。文獻[53]把從視頻中真實的場景建模到計算機三維模型中,使得手工地在該模型中給可能的軌跡進行標注成為可能。文獻[52]認為目前的模型對于不同視角的數據集的有效性沒有得到驗證,于是通過三維模型建立了不同視角(俯視角、45°視角等)但實際軌跡相同的數據集,并在數據集上驗證了文章模型的有效性。另外,文獻[54]認為普通的LSTM等結構對于序列信息的記憶只使用一個單獨的隱藏層狀態是不足夠的,于是建立了一個專門的記憶網絡來增強網絡的長時記憶能力。最后,還有一類模型將軌跡預測問題做了完全不同的建模。如文獻[55]從博弈論的角度出發,將多個行人的軌跡預測問題看做是一個平均場游戲(mean-fieldsgame)。一些更早的研究如文獻[56]則把行人的動力學模型與氣體進行類比建模。
本文從軌跡預測問題的實質和挑戰出發,對解決該問題的動機進行了分類,并給出了目前對應的解決方案,梳理了該領域的模型現狀:傳統模型具有可遷移性好、計算量小等優勢,但是預測精度只能在短時間內達到令人滿意的效果;對于場景因素的考慮,仍然有部分模型停留在直接利用場景圖片信息的層面,使用語義分割等其他深度學習領域的模塊進一步精細化地理解場景信息可能是將來的大趨勢;在復雜交互和多模態性兩個焦點問題上,當前的模型已經做出了非常充分的嘗試,在沒有更有效的基礎網絡結構出現前可能很難再有明顯的突破;個體差異性的考量目前是該領域不太關心的一個方面,原因可能在于對數據進行分類可能會導致對應網絡受到訓練不充分,導致性能下降,于是解決該問題的關鍵變成建立更大規模、更精確的數據集。
綜上所述,軌跡預測研究的綜合發展趨勢應該是數據的精細化和模型的混合化,通過在更加完善的數據集上集中發揮傳統模型、序列深度學習模型、圖像深度學習模型的優勢,在提高網絡理解能力的同時降低計算強度。例如在短時預測任務如碰撞檢測時使用傳統模型,因為該任務對實時性要求極高,而在中等時間長度預測和長時間預測任務中考慮采取不同的針對性結構。另一方面,將更加先進的圖像、點云理解算法引入到模型中,也可能是一種有效的嘗試。