熊曉夏,陳 龍,梁 軍,蔡英鳳,江浩斌
(江蘇大學汽車與交通工程學院,鎮江 212013)
在對本車和周圍車輛運行狀態感知的基礎上,研究汽車未來行駛風險狀態的預測方法,有助于實現輔助駕駛系統準確、及時的碰撞預警或干預機制。目前行車風險預警主要通過比較實時距離和計算安全距離的大小進行危險判別,用于計算安全距離的模型主要包括基于制動過程運動學分析的安全距離模型[1]、基于車間時間的安全距離模型[2]和基于碰撞時間的安全距離模型[3]等。而實際上,從行車風險形成開始到發生危險沖突的整個風險轉化過程很難用單一的時空距離參數(實際車距、車間時間和碰撞時間等)進行描述,需要綜合考慮多個時空距離參數并采用更復雜的模型和算法對車輛防碰撞預警進行研究。同時,目前國內外預警模型算法通常僅考慮車輛的運行特征(如車間距、速度和加速度特征等)[4-6],而忽略了動態駕駛員行為、道路和環境變化對行車風險狀態的影響,不能全面反映行車狀態之間的內在轉化規律,不利于行車風險模型的準確性和預測精度。因此,有必要研究充分考慮駕駛員行為、道路和環境特征的行車風險預測方法。
自然駕駛學習(naturalistic driving study,NDS)近年來在車輛安全研究領域得到了廣泛關注,它通過實時記錄緊急情況或事故發生前后一段時間內的車輛運動狀態參數和駕駛員及周圍環境圖像信息,為事故分析和車輛安全技術等研究提供了可靠的科學依據[7]。本文中為解決車輛防碰撞預警問題,擬在自然駕駛數據的基礎上,提出基于駕駛員避撞行為的行車風險狀態分類方法,并在此基礎上通過機器學習建立反映不同駕駛員行為、道路和環境特征的行車風險判別算法,辨識和預測汽車未來運行風險狀態,為研究防碰撞預警策略和控制方法提供新的思路。
本文中的行車風險數據來源于美國弗吉尼亞理工大學于2004-2005年采集的“100-car”自然駕駛數據[8],其中包括68起事故數據和760起臨近事故(即駕駛員采取了緊急制動或緊急避讓行為的情形)數據,每組數據記錄了事故(或臨近事故)發生前30s至事故發生后10s內車輛的運行狀態、駕駛員狀態以及交通和環境狀態等特征信息,可以滿足研究反映動態駕駛員行為、道路和環境特征的行車風險預測方法的目的。由于該數據集對換道事故涉及的沖突車輛運動參數記錄不完整,僅選取追尾事故和臨近追尾事故作為行車風險事故觀測樣本,經過剔除觀測值缺失和錯誤的無效樣本,最終獲取行車風險事故樣本{X1,X2,…,XN},其中N=114,每個樣本Xi(i=1,2,…,N)是時長為Ti的時間序列,包括篩選整合后的車輛、駕駛員、道路和環境信息變量,如表1所示。

表1 “100-car”自然駕駛數據集變量
其中層次-1中變量刻畫了實時的車輛運動特征,將用于第3節進行行車風險狀態劃分;層次-2中變量表征了車輛運動數據記錄時段駕駛員、道路和環境的特征,將用于第4節進行行車模式劃分,如圖1所示。第5節將通過機器學習分別對不同的行車模式建立行車風險狀態判別算法。

圖1 算法設計流程框架圖
研究表明,行車風險等級可由駕駛員的避撞行為特征表征[7],其機理如下:在跟車過程中,駕駛員會根據車間距離過近或過遠通過加速或減速操作調整車間距離,直至形成穩定的跟車狀態(即穩態跟車),在該狀態下駕駛員無需采取制動措施;若在跟車過程中前車出現制動,車輛間距離逐漸縮短,車輛間追尾碰撞風險逐漸增大(即險態跟車),當碰撞風險程度超過了駕駛員的風險感知閾值,駕駛員就會立即采取制動操作進行避撞。因此,可將追尾碰撞事故(或臨近追尾事故)發生前跟車過程中自車制動開始時刻的車輛狀態視為行車風險狀態,并根據該時刻的自車速度、車間距離和相對速度等車輛狀態參數特征對行車風險等級進行劃分。
碰撞時間TTC和車間時間THW均為衡量車輛運行風險的傳統特征參數,為避免單一傳統預警變量TTC對車間距離變小風險狀況和單一THW對兩車相對速度變大風險狀況的評價不足,本文中結合兩者優點,對“100-car”自然駕駛數據集中事故和臨近事故樣本中車輛在制動開始時刻的{-iTTC,THW}參數向量進行K-means聚類(為避免相對車速較小時TTC無限大的問題,取TTC的倒數iTTC進行分析;負號保證了其隨風險變化的增減性與THW一致),通過elbow法[9]得到K=5個瞬時行車風險類別,各類別分布情況如圖2所示。

圖2 駕駛員制動開始時刻車輛運動參數分布
由圖2可知,在(臨近)追尾事故發生前駕駛員制動開始時刻車輛運動參數分布空間基本可由①iTTC=0.7s-1,②THW=0.9s,③THW=1.3s,④THW=1.8s以及⑤THW=2.5s 5條界線劃分為5大區域。值得注意的是,在(臨近)事故樣本中駕駛員制動開始時,存在著iTTC為負數(根據傳統TTC判別方法為無風險情況[10])但THW較小的iTTC-THW參數對,進一步表明了僅使用兩個參數中的單個參數進行行車風險評估的局限性。同時,結合其它文獻基于TTC的預警范圍設定(1.0s-1≤iTTC,0.67s-1≤
iTTC<1.0s-1,iTTC<0 范圍內對應的事故-沖突比分別預計為0.8,0.6和0)[10],本文中基于瞬時運動參數最終將行駛風險等級(risk level,RL)按表2進行劃分。

表2 瞬時行車風險等級劃分
為克服單一觀測點包含信息的局限性,進而提高預測算法的實時性和準確性,將瞬時的行駛風險等級信息按時間序列順序合并劃分為短時間的風險等級時間窗,如圖3所示,其中“100-car”自然駕駛數據集中的每個采樣時刻(采樣間隔為0.1s,即10Hz)對應一個瞬時行車風險等級,例如圖中時長φ=1.3s的時間窗由14個觀測到的瞬時行車風險等級組成,時刻t的行車風險狀態將由結束于時刻t的風險等級時間窗內所有瞬時風險等級的統計特征值通過聚類算法決定。

圖3 行車風險等級時間窗示意圖
選取時間窗內瞬時行車風險等級的平均值RLavg、時間窗內最后觀測到的風險等級(即t時刻的瞬時風險等級)RLlast和時間窗內風險等級的趨勢值CON作為每個時間窗的統計特征變量。其中趨勢值CON源于圖像分析領域表征灰度變化特點的統計量Contrast[11]。本文中針對風險預測問題,對時間窗內風險等級觀測序列的趨勢值CON定義如下:

式中dij為風險度共生矩陣的第i行第j列元素(此處i,j代表瞬時行車風險等級)。dij的表達式為

式中:Nij為按時間窗內時間序列方向相鄰時刻組成的風險等級對(i,j)出現的次數;N_pairs為所有相鄰時刻風險等級可能組成的對數。以一個包含連續10個時刻瞬時行車風險等級的時間窗為例,dij的具體計算方法如圖4所示。

圖4 時間窗風險等級共生矩陣示意圖
由式(1)和式(2)可以看出,CON不僅衡量了時間窗內每個觀測數據點與其相鄰數據點的對比強度關系,并反映了一個時間序列中數值的趨勢變化特征(即當時間窗內瞬時風險等級呈上升趨勢時CON為正值,反之為負值),故在此用于表征時間窗內風險等級的變化規律。
提取每個時間窗內風險等級的均值、方差和趨勢值[RLavg,RLlast,CON]作為該時間窗的特征向量xi,對樣本劃分得到的所有時間窗特征向量{x1,x2,…,xn,…,xN′}進行 K-means 聚類,獲取基于時間窗的K′類行駛風險狀態。從理論上講,時間窗長度越長,所涵蓋的車輛行駛信息越多,預測準確率越高,但時間窗長度越長,更難突出反映車輛行駛最新的動態變化特征,預測及時性降低。因此,為滿足預測的準確度和及時性要求,本文中折中選取時間窗時長φ=1.5s。同時,為獲取盡可能多的時間窗觀測樣本進行風險狀態聚類分析,此處按時間窗間隔δ=0.1s對所有時間序列樣本進行劃分,見圖3。為便于未來構建行車風險預警策略,最終基于聚類劃分K′=3個風險狀態:1-高風險,2-中風險,3-低風險,風險聚類結果如表3所示,每個類別內聚類變量RLavg,RLlast,CON和運動參數iTTC及THW的分布情況如圖5(各圖橫坐標代表每個聚類狀態內時間窗樣本的序列號)所示。

表3 基于時間窗的風險狀態聚類結果
如表3所示,當風險狀態由狀態1→狀態3變化時,-iTTC和THW的平均值均呈下降趨勢,說明行車風險狀態正在向更危險的狀態演變,因此定義狀態1為低風險狀態,狀態2為中風險狀態,狀態3為高風險狀態。圖5有兩點值得注意(與傳統的基于TTC的風險評估不完全相符):
(1)在圖5(i)和圖5(l)中,一些TTC平均值高(iTTC∈(0,0.4),即TTC>2.5s)但THW平均值低(<2s)且CON為正(表明在時間窗內的風險等級序列呈上升趨勢)的時間窗被分配到高風險狀態而不是低風險狀態;
(2)在圖5(h)和圖5(k)中,一些TTC平均值低(iTTC>1s-1,即TTC<1s)但CON為負(表明時間窗內的風險等級序列呈下降趨勢)且窗內最后觀測到的瞬時風險等級低的時間窗被分配到中等風險狀態而不是高風險狀態。
以上兩點表明本文中提出的行車風險狀態分類與傳統的基于TTC閾值的風險評估存在差異,原因在于本文中定義的風險狀態是基于TTC-THW的二維平面而不是基于TTC的一維空間。注意到本文中高風險類的平均TTC值約為2.3s(表3狀態3中iTTC_avg=0.438s-1),接近于NHTSA的TTC=2.4s的警告閾值[12],表明此處的風險聚類結果是可信的。

圖5 各風險狀態類別內聚類變量RLlast,CON和運動參數iTTC及THW的分布情況
研究表明,駕駛員和道路環境狀態對行車風險有顯著影響[13],因此在建立行車風險狀態預測算法過程中,需考慮相關因素變量影響。考慮到駕駛員、道路和環境變量維數多且復雜,不利于預測模型的預測效果[14],因此對其進行降維處理并進行聚類分析,提取不同駕駛員-道路-環境因素下的行車模式(driving mode,DM),為第4節基于不同行車模式下的行車風險狀態SVM模型預測奠定基礎。
通過計算各變量Spearson相關系數對變量進行初步篩選(剔除相關度低的變量),并通過主成分分析(principle component analysis,PCA)試驗變量組合,最終獲得對樣本數據變異解釋程度最大的變量組合,如表4所示。其中駕駛員“非駕駛任務”指駕駛員進行的與駕駛任務無關的任意其它行為(如打電話或飲食等),可按實現該行為的復雜程度進行等級劃分,按文獻[15]中的分類標準將駕駛員的非駕駛任務行為分為簡單、中等和復雜3大類。注意到所有變量均為多類別離散變量,而傳統PCA分析僅適用于連續變量,因而在此采用改進的非線性PCA方法進行主成分分析:首先采用最佳量化非線性方法將離散類別轉化為連續值,然后再對轉換后的變量連續值進行傳統主成分分析[16]。非線性PCA算法由SAS中Prinqual和Princomp過程實現[17],得到選擇變量(表4)的主成分分析結果如表5所示。

表4 最大樣本數據變異解釋程度變量列表

表5 所選變量主成分分析結果
有文獻表明,各成分特征值達到1以上,累積貢獻率達到60%以上,即可基本滿足分析要求[18],因此選取前5個成分代替原多維變量對行車模式進行K-means聚類劃分,最終得到KDM=3個行車模式(DM1,DM2,DM3),各行車模式聚類中心的原始變量值如圖6所示。
值得注意的是,由圖6中IAT,NST,HST的中心值可以看出,從行車模式DM1到DM3駕駛員駕駛分心狀態的范圍和程度呈明顯下降趨勢(DM3內駕駛員未觀測到駕駛分心行為),而其它變量沒有觀測到明顯的變化規律。結果反映駕駛員分心狀態變量(IAT,NST,HST)對樣本數據變異解釋程度最大,是行車模式聚類最主要的特征變量。

圖6 各行車模式聚類中心變量值
SVM(support vector machine)為機器學習的代表算法之一,對分類預測問題具有較好的預測效果(文獻[4]和文獻[19]中利用SVM對換道安全性進行預測并獲得了較高的預測準確率),因而被本文中用于行車風險狀態類別預測。給定樣本數據,其算法主要通過高維空間變換(即將原輸入空間的樣本映射至高維的特征空間)在高維特征空間中尋找間隔最大的超平面將樣本進行分類,且保證該超平面具有最好的泛化能力,其數學表達式為

式中:φ(x)為特征空間;w為權重向量;b為偏置項。該問題可由如下表達式求解:

式中:{xi,yi}為給定N組帶標記的訓練數據,i=1,2,…,N;C為選用值懲罰參數;K(xi,xj)為核函數,即將原始向量xi和xj投影至特征空間后作內積。則給定新的觀測向量z,SVM的判別函數D(z)為

式中為式(4)的最優解。
以t時刻時間窗內行車風險等級統計向量[RLavg,RLlast,CON]為輸入特征變量,以t+δ時刻(δ為時間窗滾動間隔,見圖3)時間窗內的行車風險狀態類別為SVM輸出預測類別(即δ為基于SVM的行車風險狀態類別預測區間),綜合考慮駕駛員和環境狀態(即第3節中定義的行車模式)對行車風險的潛在影響,利用SVM對不同的行車模式分別建立基于時間窗行車風險等級統計特征的行車風險狀態預測模型。為不失一般性,按行車模式隨機選取60%時間序列樣本(共68個)內劃分的時間窗作為SVM判別器訓練集,剩余的40%時間序列樣本(共46個)劃分的時間窗作為測試集。根據訓練集數據試驗,不同行車模式SVM的平均正確率隨δ時長的變化趨勢如表6所示。

表6 不同預測區間下SVM的平均預測準確率
由表6可以看出,隨著預測區間δ的增大,SVM的平均正確率呈遞減趨勢,這可能是由于隨著預測視距變長,車輛動態變化存在的不確定因素更多,預測難度亦更大??紤]到預測區間為1.0s時模型平均預測準確率可達90%水平,且研究表明若駕駛員能在碰撞風險發生前1.0s得到風險預警,則90%左右的追尾事故可以避免[20],因此綜合考慮防碰撞預警的準確性和實時性要求,最終選擇δ=1.0s作為SVM行車風險預測模型的預測區間。
對于風險類別預測問題,通常需要考慮預測結果的真正率(true positive rate,TPR)和假正率(false positive rate,FPR)問題。結合本文中行車風險狀態的劃分類別,預測結果的真正(TP)、假正(FP)、真負(TN)和假負(FN)的定義見表7,低、中、高風險狀態類別的預測正確率Acc1,Acc2和Acc3也如表7最后一行所示。

表7 預測結果劃分
相應的真正率(TPR)和假正率(FPR)定義為

可以看出,該定義下TPR與高風險類別的預測正確率Acc3相同(即TPR=Acc3)。真正率TPR越高,說明高風險狀態被提前預測的正確率越高,該預測系統的有效性亦越高。為了避免真正率越高可能帶來的模型過擬合問題,一般同時需保證模型預測的假正率FPR(實際為中、低風險狀態但被預測為高風險狀態的比例)在合理范圍內,考慮駕駛員對預測結果為假正的容忍限度,在實際應用中最高假正率FPR通常選為5%。
基于不同行車模式的訓練集數據(即按行車模式將訓練樣本劃分為3組),在風險預測區間δ=1.0s下,采用5-折交叉驗證法得到不同行車模式下SVM的訓練模型,利用訓練得到的SVM模型對測試集數據進行預測,得到不同行車模式(DM)下基于SVM的行車風險狀態預測正確率Acc(5%FPR條件下),如圖7所示。

圖7 基于SVM的行車風險狀態預測結果
由圖7可以看出,模型的預測正確率隨行車模式變化DM1→DM3呈遞減趨勢,這可能是由于DM1表征的駕駛員分心狀態對行車風險狀態變化的影響規律能更好地反映在SVM模型中,因而該行車模式下SVM模型的預測正確率普遍更高;而DM3表征的其它道路、環境狀態對行車風險狀態變化的影響機理更為復雜,更難在相應SVM模型中得到全面反映,導致預測正確率降低。同時結果顯示,對于每一種行車模式,建立的SVM模型對高風險狀態的預測正確率(Acc3)最高(可達90%以上),中風險狀態(Acc2)次之,低風險狀態(Acc1)最低,說明基于SVM的行車風險狀態預測模型能有效預測高風險行車狀態。另外,基于所有訓練樣本得到的基準SVM模型(未按不同行車模式樣本組分別進行訓練)的預測總準確率(總Acc1,總Acc2,總Acc3)均低于按行車模式分別訓練的SVM模型的平均預測準確率,說明駕駛員、道路和環境特征對行車風險狀態預測有顯著影響,在進行行車風險狀態預測建模時應該考慮這些特征的差異化作用。
針對行車風險狀態預測問題提出了基于駕駛員避撞行為的風險狀態分類方法,并綜合考慮駕駛員-道路-環境因素的影響通過聚類方法對行車模式進行了劃分,建立了基于不同行車模式的行車風險狀態預測算法,最后通過美國“100-car”自然駕駛數據對預測算法進行了訓練和驗證。研究結果表明,駕駛員、道路和環境特征對行車風險狀態預測的準確率有顯著影響(特別是駕駛員分心狀態),在構建行車風險狀態預測算法時應該充分考慮這些特征的差異化作用;同時,不同行車模式下SVM模型對各風險狀態的預測正確率均可達到80%以上,其中對高風險狀態的預測正確率可達90%以上,且均能滿足假正率FPR低于5%的要求。說明本文中構建的預測算法對未來行車過程中的高風險狀態預測具有較高的準確率,有助于對臨近危險狀態的駕駛員給予及時的警告或者輔助糾正,為研究防碰撞預警策略和控制方法提供了新的思路。未來可通過獲取更多實際的事故和臨近事故駕駛數據對預測模型進行優化,通過實車試驗考察模型的在線實時預測效果,將其應用到安全輔助駕駛系統中。