蔣淵德,朱 冰,趙祥模,趙 健,鄭兵兵
(1.長安大學信息工程學院,西安 710018;2.吉林大學,汽車仿真與控制國家重點實驗室,長春 130025;3.中航光電科技股份有限公司,洛陽 471000)
自動駕駛汽車測試是保障車輛安全性的基礎防線,然而由于實際交通場景維度高、交通車輛之間存在復雜的動態交互關系,給自動駕駛測試帶來了挑戰。當前廣泛采用的測試場景缺乏對背景交通車輛的交互描述,難以可靠反映實際交通場景特性。如何描述交通車輛交互特征,是測試技術的研究難點,是決定自動駕駛汽車測試結果可信性的基礎,當前研究中通常采用交通流模型(元胞自動機、智能駕駛員模型、社會力模型[1]等)進行自動駕駛汽車測試,對實際交通車輛之間的復雜交互特征表達能力有限。
在自動駕駛汽車測試場景構建方面,通過數理統計分析駕駛數據分布特征,結合各場景的邊界先驗知識構建典型測試場景得到成功應用,如建立切入場景、交叉口沖突場景、跟馳場景[2]等。定義不同場景之間的差異度量,利用非監督學習算法分析自然駕駛數據是另一類場景提取方法,常用的有kmeans、貝葉斯推理[3]等。深度學習在構建測試場景方面得到了廣泛研究,如深度學習聚類、變分自編碼器、生成式對抗神經網絡[4]。但這些方法偏向于建模駕駛數據的概率統計關系,常生成類似的或不合理的場景。交通車輛之間的交互特征是影響測試場景有效性的重要因素。Markkula等[5]對交通車輛交互特征研究進行了調研總結,將交互定義為路權沖突。Scheibler等[6]將車輛間的交互描述為行為已知條件下的約束建模問題,通過優化求解算法生成邊界測試場景。Bagschik等[7]基于本體論建立了交通車輛間的交互關系知識,提出了語義場景生成方法。Zhang等[8]對車-車、人-車、人-人之間的交互進行了研究,基于貝葉斯博弈論建立了擬人交通車輛模型。Chao等[9]將交通車輛之間的交互作用建模為引力和斥力,構建了自動駕駛汽車虛擬測試環境。Feng等[10]基于實際駕駛數據統計車輛狀態轉移概率,構造了對抗駕駛場景。
利用機器學習算法從駕駛數據中挖掘交通車輛之間的交互耦合機理成為當前的熱點研究方向。Bhattacharyya等[11]將交通車輛行為數據和道路信息投影為鳥瞰圖,利用卷積神經網絡進行編碼,學習其交互關系。Cui等[12]將道路信息轉化成帶有語義向量的簡化約束(如將車道抽象成兩條直線,車輛抽象成矩形等),然后采用卷積網絡學習交通車輛之間的交互關系。Liu等[13]建立了一種基于LSTM的交通車輛模型。為降低圖像渲染中的計算負荷,研究人員直接以交通車輛軌跡向量作為輸入,通過設計交通車輛之間以及與道路信息的交互方式學習其耦合關系。如Gao等[14]采用圖神經網絡進行建模,減少了70%以上的模型參數。Gilles等[15]融合地圖特征和軌跡向量特征學習交通車輛之間的交互關系,并預測未來時域行為的概率熱圖。Mohamed等[16]提出社會時空圖卷積網絡,將交通車輛之間的交互作用建模為圖結構,采用核函數定量評估行人之間的交互影響。這類方法采用端到端的方式學習同質的表示模型,構建的交互模型具有計算復雜度高、部署應用可擴展性差的問題。
獨立建模方式難以考慮實際交通車輛之間的復雜交互關系。統一建模方法以場景內所有信息作為輸入進行訓練,模型具有較大計算量,與實際環境中各交通車輛的局部可觀測特點不一致,且可擴展性較差,難以應用于不同測試場景構建。針對這一問題,本文中在多智能體機器學習算法[17]的基礎上利用“分布執行-集中訓練”策略建模交通車輛交互特征,各交通車輛通過局部可觀測信息進行決策,通過集中式優化策略進行模型訓練。
面向自動駕駛汽車測試的交通車輛建模須滿足以下3點要求:能夠準確模擬實際交通特征;具有良好的魯棒性;模型具有良好的可擴展性。據此,本文參照交通流建模思路將交通車輛交互模型拆解為跟馳模型、換道決策模型和換道規劃模型,以避免模型對交通車輛數量、行駛環境的應用局限性。同時利用機理模型構建虛擬數據、開源數據集和構建的固定工況數據集對模型進行訓練。采用局部決策-全局優化方式進行模型訓練,保證模型在自動駕駛汽車測試應用中的可擴展性。采用對抗訓練方式提高模型對輸入噪聲的魯棒性,通過模型決策誤差對模型的準確性進行評估。依據文中提出的交通車輛交互模型構建框架能有效保證模型的有效性,可作為其它數據建模方法的參考架構。
自動駕駛汽車測試本質是通過構造符合實際交通特征的行駛場景,測試車輛在安全、協同、能耗等方面的性能。本文中針對當前普遍采用的交通流模型在交通車輛動態交互特性方面描述能力不足,建立如圖1所示的建模框架,主要包括數據集構建、交通車輛模型建立以及對抗訓練優化等幾部分內容。

圖1 建模框架
為滿足交通車輛建模對真實訓練樣本的依賴,結合物理模型和實際交通數據構建訓練樣本集。通過自注意力模型的長程關聯表達能力建立交通車輛交互模型,提高模型對真實環境的表達能力。針對交通車輛交互模型在可擴展性方面的需求,按照模塊化建模方式分別建立自注意力跟馳模型、換道規劃模型和換道決策模型。為保證模型對干擾噪聲的魯棒性,本文基于對抗訓練進行模型優化。最后將訓練的交通車輛模型用于虛擬測試場景構建,通過與真實數據對比驗證模型的有效性。
本文中同時利用物理模型構建的虛擬數據和真實環境數據建立模型訓練數據集。
傳統研究相繼提出了多種交通流模型,如IDM、元胞自動機模型等,為充分利用這些理論,基于跟馳模型和換道模型建立虛擬數據集。
2.1.1 跟馳模型
利用IDM模型生成縱向跟馳數據。IDM模型數學表達式[18]為

2.1.2 換道模型
換道行為較復雜,當前研究通常將其分為自由換道和強制換道,存在多種換道決策模型,如速度判別法、效用函數判別法、概率判別法等。在此采用自由換道將其分為換道意圖產生和換道執行。利用駕駛員對當前車道的滿意度曲線d=τv+d0(取τ=1.1,d0=5.8)作為換道決策觸發狀態[19]。
在換道軌跡生成方面,研究人員相繼提出了貝塞爾、多項式、正弦函數曲線等方法。在此利用正弦函數進行換道軌跡規劃。

式中:y(t)表示在t時刻的側向偏移;t1為換道時間;d為車道寬。
以y(t)為目標換道軌跡,利用最優曲率預瞄控制可得車輛轉向盤轉角數據。
上述模型雖然在交通流宏觀特征方面具有良好的表達能力,卻難以描述實際交通環境中駕駛員的隨機駕駛行為。
同時利用開源數據集和實際駕駛數據作為真實數據集,對模型進行訓練。采用的開源數據集包括Argoverse和Level 5數據集,其中Level 5數據集提供超過4 000條道路、54個停車區域信息。Argoverse數據集提供324 557個場景數據。本文中基于Argoverse和Level 5提取車輛跟馳行駛和換道行駛場景,對構建的交通車輛交互模型進行優化。
實際交通數據為交通車輛交互特征建模提供了重要依據。為構造覆蓋不同駕駛特性的駕駛數據,基于一輛紅旗H7搭建如圖2所示的駕駛數據實車道路試驗采集平臺,主要通過3類傳感器采集駕駛數據:用于測量車輛狀態的慣導系統RT3002;用于探測周圍車輛狀態的ESR毫米波雷達;用于采集周圍視覺信息的攝像機C930e。通過CANoe對主車CAN總線、ESR毫米波雷達和RT3002的CAN接口進行數據同步,然后采用工控機上的數據記錄軟件RTMaps(Intempora公司的一款軟件,可用于數據采集、同步和回放,支持CAN、LIN、以太網和串口等多種通信接口)實現CAN信號和視頻數據的同步存儲。

圖2 駕駛數據采集平臺
實際環境中存在大量風格各異的駕駛員,在長春生態大街凈月國際雕塑公園附近開展試驗,共有87名駕駛員參加駕駛數據采集,被測人員包括了不同的駕齡和職業,具體分布情況如表1所示。

表1 駕駛員統計信息
為采集駕駛員換道行為數據,設置工況:①前車分別保持30、40、50 km/h的速度行駛,主車加速追趕前方目標車至一定車間距后換至相鄰車道行駛;②前車分別以30、40、50 km/h速度行駛,主車與前方目標車保持穩定跟車一段時間后前車逐漸減速,被測駕駛員進行換道操作。測試中由駕駛員自主決定換道時機和換道軌跡。
結合上述采集的實際駕駛數據和開源數據集,構建真實駕駛數據集,為交通車輛建模提供數據基礎。
將自動駕駛汽車測試視作交通車輛與被測車輛的動態交互,采用模塊化建模方式構建交通車輛交互耦合模型。
交通車輛具有車道保持、左換道、右換道3種決策行為,參考傳統物理建模思想,認為影響車輛換道行為的周圍車輛包括本車道前車和相鄰車道前、后車,據此利用LSTNet[20]建立交通車輛換道決策模型,整體結構如圖3所示,主要包括卷積網絡層、循環網絡層和全連接層。
輸入狀態量為xdec=[vx,ax,dpre,vpre,di,vi],其中vx、ax分別表示主車速度、加速度,dpre表示與前車的間距,vpre表示前車速度,di、vi分別表示與車輛i的間距和車輛i的速度,i=lf、lr、rf、rr分別表示左車道前車、左車道后車、右車道前車和右車道后車。為建模時序依賴關系,以一段時窗內的狀態[xdec,1,xdec,2,...,xdec,T1](T1表示時長)作為輸入,以保持當前車道、左換道、右換道3種駕駛行為作為模型輸出。
如圖3所示,首先通過一組一維卷積神經網絡提取變量之間的局部關系,然后采用GRU循環神經網絡建模變量之間的時序關系,其包括重置門和更新門,計算如下:

圖3 換道決策模型

式中:p表示跳過的變量數;Wxr、Whr、br、Wxz、Whz、bz、Wxc、Whc、bc表示待優化參數。
本文以交叉熵作為換道決策模型損失函數,利用上節內容構建的數據集進行訓練。
在跟馳和換道建模中,將車輛縱向加速度決策輸出視作對狀態變量選擇性注意的結果,利用Transformer自注意力模型構建跟馳模型和換道模型,模型結構如圖4所示。

圖4 跟馳模型/換道模型結構
輸入 變量為xfoll=[vx,vpre,apre,dpre],其中apre表示前車加速度。以T2表示輸入狀態時序長度,以各歷史狀態點處的信息作為一個片段,采用一維卷積對每個片段進行特征建模,得到特征序列結合每個片段的位置編碼pi得到最終的輸入序列為
以上述得到的特征序列為輸入,采用Transformer自注意力模型進行計算,每層的輸入為三元組(query,key,value),第li層的輸入計算為

式中WQ、WK、WV為學習參數。
輸出為

多頭自注意力模塊輸出為

式中:WO為學習參數;SAi(qi,ki,vi)為第i個自注意力的計算結果,通過式(13)得到。

采用如圖4所示架構建立換道模型,以主車、目標車道前、后車狀態量為模型輸入,為xlachange=[vx,vy,ay,vp,ap,vr,ar,dp,dr],其中vy表示主車側向速度,ay表示主車側向加速度,vp、vr表示目標車道前車、后車速度,ap、ar表示目標車道前車、后車加速度,dp、dr分別表示與目標車道前、后車的距離。輸入狀態時序長度為T3,以車輛當前位置為原點,以縱向、側向位移序列cmodel=[x1:T4,y1:T4]為輸出(其中T4為換道軌跡規劃時長),模型計算過程與跟馳模型類似。
實際交通場景是交通車輛耦合交互演化的過程,區別于以往研究多針對單個交通車輛的建模方法,本文中建立分布執行-集中優化策略,集中損失函數為

式中:Li表示第i個交通車輛的損失函數;n表示當前場景內的交通車輛個數;xt為模型輸入;f(·)表示集中損失函數(圖1中的融合網絡)。
為保證各交通車輛損失函數最小,可通過以下單調約束對各交通車輛進行集中優化。

式中Ai表示第i個交通車輛。以各單體模型損失函數為輸入,建立一個單調網絡函數,從而表達不同交通車輛之間的交互關系,最終得到綜合損失函數Ltot。為保證單調性約束條件式(15),如圖1中對抗訓練部分所示(其中,s為綜合xdec、xfoll和xlachange的系統全局狀態信息),采用線性混合損失函數網絡及絕對值激活函數,從而滿足所有權重都是非負數。
單交通車輛損失函數為

本文將構建的各類模型進行集中式訓練,利用當前行為類別(車道保持、換道)交叉熵損失函數和決策輸出(車道保持:amodel為車輛縱向加速度。換道:縱、側向位置)MSE損失函數得到各單體模型損失函數,其中,agt表示實際加速度值,cgt表示實際換道軌跡。以式(14)作為損失函數,可集中優化多交通車輛模型,建模多交通車輛之間的交互關系。
單體交通車輛模型的計算復雜性導致難以解析表達其穩定性特征,而交通場景中具有大量的隨機干擾,會對模型形成對抗攻擊,影響模型的有效性。對抗訓練能夠提升模型魯棒性,對多交通車輛交互場景構建具有重要作用。
對抗訓練通過構造對抗擾動來提高模型對原數據的魯棒性,其訓練過程可通過下式進行描述:

式中:x、y分別表示模型輸入和輸出真值;D為訓練數據集;?x表示對抗擾動;Ω為擾動空間;θ表示模型參數。
模型訓練過程中不斷執行max和min操作向樣本中注入擾動?x以誤導模型輸出,然后以(x+?x,y)作為訓練樣本對模型進行參數優化。本文中采用FGM(fast gradient method)算法[21]構造擾動,如下式所示:

式中ε為一常數。
為測試模型的有效性,利用真實駕駛數據(占比30%)構建測試集分別對決策模型、跟馳模型和換道控制模型進行測試。以一輛前車運動歷程構造測試場景,通過對比模擬車輛和真實車輛運動軌跡分布對模型進行驗證。
本文設置的主要模型參數如表2所示。

表2 網絡參數
模型訓練環境為Nvidia RTX3080 GPU,i7-11700 CPU,Pytorch 1.6。為測試模型在CPU上的推理速度,以i7-8550 CPU(無GPU)作為測試環境。
采用文中分布執行-集中對抗訓練策略對模型進行參數優化,以模擬數據在不同行為類別下的特征分布作為指標對模型進行分析,以Wasserstein距離[22]作為量化指標定量評價特征分布間的差異性。
5.1.1 換道決策模型
換道決策模型主要用于對車輛當前行駛狀態進行評估,決策是否執行換道操作,其核心是對換道決策點的判定。據此本文共提取820個換道起始點,以[?v,vx,dpre](其中?v表示相對速度)作為換道特征描述,對該三維特征點進行平面擬合,將其作為決策平面,通過擬合仿真換道決策平面和真實數據換道平面進行分析,如圖5所示。圖6和圖7分別為左換道和右換道起始點的相對速度分布對比結果。計算得左換道和右換道工況下特征分布之間的Wasserstein距離分別為1.466 8和0.586 7。可以看出,構建的仿真模型與真實數據具有較好的分布一致性。

圖5 換道點特征平面對比

圖6 左換道起始點數據分布

圖7 右換道起始點數據分布
5.1.2 跟馳模型
當車輛保持當前車道行駛時,統計大量仿真數據,通過對比其與真實數據的特征分布進行模型分析。圖8和圖9分別為真實數據相對距離-相對速度分布和仿真數據分布。可以看出,真實數據具有更大的相對車速,仿真模型相對較小的相對速度意味著車輛具有更大的行駛速度。構建的模型能夠較好反映實際數據的統計特性。

圖8 真實數據分布

圖9 仿真數據分布
針對車輛加速度和速度進行分析,結果如圖10和圖11所示。由圖可知,模型仿真數據與真實數據特征具有較好的統計一致性,計算得到車輛加速度和速度分布之間的Wasserstein距離分別為0.189 5和0.884 6。

圖10 加速度分布對比

圖11 車速分布對比
5.1.3 換道規劃模型
從仿真數據中提取車輛換道規劃軌跡(即換道決策模型輸出換道決策時,換道規劃模型的輸出軌跡),以車輛當前位置作為坐標原點,車輛航向方向為x軸方向,得到換道規劃軌跡的側向偏差,其統計結果如圖12所示。計算得到側向偏差分布之間的Wasserstein距離為0.167 1,可知其與真實數據統計分布較為接近。圖13為多條具體換道軌跡對比結果。

圖12 側向偏差分布對比

圖13 換道軌跡示例
為適應自動駕駛汽車測試需求,建立的交通車輛交互特征模型應具有良好的計算效率,較低的計算負荷有助于提高模型的可擴展性。
分別統計了各類模型在仿真場景構建中的計算耗時,如圖14所示。由圖可知,自注意力跟馳模型的推理速度約為526次/s(單次耗時0.001 9 s),換道規劃模型約為200次/s(單次耗時0.005 s),換道決策模型推理速度約為77次/s(單次耗時0.013 s),模型具有較好的計算效率。

圖14 模型計算時間對比
提出了一種分布執行-集中優化的交通車輛交互過程建模方法,將單體模型分解為行為決策模型、跟馳模型和換道控制模型來提高場景模擬的可擴展性,采用集中對抗訓練算法對各單體模型進行優化,提升模型對輸入擾動的魯棒性。通過與真實數據分布對比分析了模型的準確性。
構建的交通車輛交互模型具有相對較低的計算復雜度,同時能表征車輛之間的復雜耦合關系,具有良好的部署擴展性。建立的行為決策模型能可靠反映實際駕駛員換道行為特點,跟馳模型和換道控制模型能準確表征駕駛員的駕駛操控特征分布。
本文提出的交通車輛交互過程建模方法從數據集構建-模型建立-集中對抗訓練等多個步驟進行研究,能有效保證模型在模擬精度、計算效率、魯棒性等方面的性能。未來將基于交通車輛交互過程表征開展測試場景構建研究。