金 輝,李昊天
(北京理工大學機械與車輛學院,北京 100081)
每年公路交通安全問題都會導致大量的人員傷亡,酒駕、駕駛疲勞、駕駛經(jīng)驗不足等都可能導致交通事故,追尾是常見的交通事故之一。追尾的直接原因是駕駛員無法正常處理前后車關系,前后車縱向間距過小以致無法躲避,最終造成事故。不同駕駛員風險感知能力不同、操作習慣不同,則可能有不同的駕駛風格,研究表明道路安全性與駕駛風格有很大關系[1]。前撞預警系統(tǒng)可以在事故發(fā)生前提醒駕駛員,避免意外發(fā)生,但當前的前撞預警策略大都無法適應于不同駕駛風格,這導致了更多的誤報警,也降低了人們對系統(tǒng)的接受程度。因此,在考慮駕駛風格情況下改進預警策略的研究很有意義。
道路駕駛的安全性與駕駛員的駕駛風格十分相關。受到不同交通文化影響的人在道路安全方面也表現(xiàn)不同,他們有不完全相同的駕駛行為準則[2-3]。研究人員開發(fā)了許多高級駕駛輔助系統(tǒng),以提高駕駛安全性,減輕駕駛員負擔。文獻[4]中分別針對直道、彎道和交叉路設計了多種前撞預警策略,定義了風險因子,提出了一種前撞預警功能的檢測方法。不同駕駛風格的人可能會有不同的可接受車頭間距和碰撞時間,這些量的閾值常是輔助駕駛系統(tǒng)的關鍵參數(shù)。而在系統(tǒng)中,這些參數(shù)比較固定,無法適應每個人的駕駛風格,由此產(chǎn)生的誤報警降低了人們對駕駛輔助系統(tǒng)的接受程度[5-9]。
傳統(tǒng)的前撞預警策略主要有兩種,分別基于預警距離和碰撞時間。文獻[10]中提出了一種以防撞最小減速度為風險指標的算法。算法主要研究兩種交通情況,即前車加速度不變下預警和前車急減速下預警。試驗結(jié)果表明基于減速度的前撞預警系統(tǒng)可以有效避免碰撞,且大部分試驗對象表示防撞最小減速度比碰撞時間更適合作為風險指標。預警距離類算法常假設車輛減速度為固定值,但實際制動時減速度經(jīng)常變化[11-12]。文獻[11]中基于道路滾動阻力系數(shù)提出了一種新的預警距離計算方法,分別考慮前車靜止、穩(wěn)定運動、急減速的情況,對比變加速和傳統(tǒng)定加速度方法,結(jié)果表明新方法更符合實際情況。文獻[12]中改進了避撞標準合作伙伴組織提出的預警策略,設計了新的駕駛員預期響應減速度估計方法,以用于預警距離類模型。該模型可以適用于高風險場景下的預警,降低了僅制動未報警情況的出現(xiàn)次數(shù)。上述報警策略可以較好地輔助駕駛員避撞,但模型沒有考慮到駕駛員不同風格的影響,不一定適應于不同風格的駕駛員;且系統(tǒng)預警根據(jù)的只是當前狀態(tài)下的危急程度,本文中設計的策略將當前狀態(tài)和未來預測狀態(tài)進行綜合分析,以做出判斷。
駕駛工況會影響駕駛風格。在擁擠的城市,即使冷靜型駕駛員也會頻繁踩踏板[13-14]。駕駛風格的研究方法主要包括模糊控制[13,15]、無監(jiān)督學習[16]、有監(jiān)督學習[17]和貝葉斯理論。文獻[18]中對駕駛風格識別常用的特征變量、方法、分類類別和應用進行了綜述。文獻[19]中為處理手動打標簽費時費力的問題,僅利用少量數(shù)據(jù)聚類結(jié)果作為半監(jiān)督學習的標簽,通過S3VM識別駕駛風格。文獻[20]中利用半隱馬爾科夫模型從駕駛數(shù)據(jù)中提取出初級駕駛模式,每位駕駛員共有75 種初級駕駛模式,文中通過評估駕駛員間模式分布的相似性,分析駕駛風格。文獻[21]中先以車頭時距、碰撞時間的倒數(shù)為特征進行聚類,從而得到駕駛風格標簽,再將相對距離、相對速度、加速度分別進行傅里葉變換和小波變換,對得到的特征變量進行有監(jiān)督訓練,實現(xiàn)駕駛風格分類。
當前文獻對駕駛風格的識別也存在兩點局限性。一是風格分類器訓練采用主觀評價或聚類結(jié)果做標簽,并以準確率作為分類器效果的評價指標。主觀評價對于模糊類駕駛員的分類效果不好,不同的評價人員可能得出不同的結(jié)論;聚類結(jié)果根據(jù)數(shù)據(jù)特征分類,可重復。但駕駛風格是一個主觀概念,主觀評價結(jié)果、聚類結(jié)果都不能完全真實。如果模型將基于該種結(jié)果的準確率作為評價指標,這會導致結(jié)果真實性進一步降低。二是分類是基于小段過程而不是基于人。風格分類主要是為了應用到其他汽車控制系統(tǒng),以提高駕駛性能。對小段過程進行分類,必須先知道該過程的全部數(shù)據(jù),對某一過程來說,這意味著駕駛事件發(fā)生是先于分類,則分類無法應用到該段過程。人在一段駕駛過程中表現(xiàn)出的模式,并不一定和相鄰時間段一致,這意味著當前段的分類結(jié)果也無法應用到其他段。針對上述問題,本文中有如下貢獻。
(1)綜合兩種特征提取方式,用于聚類。將每個駕駛員駕駛數(shù)據(jù)分為均等的兩段,以同一駕駛員不同段變量分類結(jié)果是否相同為評價指標。
(2)利用分類結(jié)果,優(yōu)化編碼器-解碼器模型以實現(xiàn)縱向相對距離預測。
(3)利用預測模型,改進前撞預警系統(tǒng)報警策略,降低誤報警次數(shù)。
駕駛數(shù)據(jù)來源為SPDM(safety pilot model deployment)數(shù)據(jù)庫,數(shù)據(jù)采集于美國密歇根州安阿伯市,采集頻率為10 Hz,本文中選取該數(shù)據(jù)庫中的DAS2 DATASET。DAS2 數(shù)據(jù)庫存儲了64 輛車的自然駕駛數(shù)據(jù),每輛車都裝配有集成安全設備和數(shù)據(jù)采集系統(tǒng)。雷達采集周圍車輛信息,本車的加減速、轉(zhuǎn)向數(shù)據(jù)由CAN 總線獲取。駕駛員日常駕駛不受任何限制,且數(shù)據(jù)收集處理設備被隱藏,以免對駕駛員行為產(chǎn)生影響。
本文中研究的是跟車工況下的駕駛風格分類,跟車工況主要是縱向運動,因此本文中選取縱向相對距離range、縱向相對速度range_rate、本車加速度ax為研究變量。選取滿足跟車工況的數(shù)據(jù)條件如下:
(1)本車車頭與前車車尾距離在4~100 m之間;
(2)跟隨同一車輛時長在15 s以上。
根據(jù)該條件本文中選取了42 輛車,每輛車的各段跟車時長之和超過3 h。
本節(jié)中包含下等分位點法和信息熵法兩種特征提取方式,二者分別與k-means 聚類方法結(jié)合,實現(xiàn)駕駛風格分類,得到下等分位點分類模型和信息熵分類模型。兩種模型中,不同段數(shù)據(jù)分類結(jié)果相同的車輛都占多數(shù),效果均較好,但結(jié)果仍存在差異,為進一步提高風格分類真實性,以二者交集為最終結(jié)果。
2.1.1 k-means聚類
首先初始化k個聚類中心,k由人工設定,計算每個點與聚類中心的距離,將每個點分配給最近的聚類中心,再更新每個類的聚類中心,為該類所有點的均值。該過程重復運算直至達到終止條件。
聚類中心初始化采用kmeans++方式。先從數(shù)據(jù)集中隨機選取1 個聚類中心。計算每個點與已有聚類中心的距離d(x),再由公式p計算每個點被選為下1 個聚類中心的概率,最后采用輪盤法得到下1 個聚類中心。重復上述步驟直至得到全部k個中心。
當前風格分類一般將駕駛員分為3 類[19]或2類[16],如激進型、一般型、冷靜型。本文中也將駕駛員分為3類,即k=3。
2.1.2 特征選擇與分類
得到所有車輛的range、range_rate、ax 頻數(shù)分布數(shù)據(jù),如圖1所示,分別對3個變量求下分位點,結(jié)果如表1和表2所示。
圖1 變量頻數(shù)分布圖
表1 縱向相對距離的下分位點
表2 縱向相對速度及本車加速度的下分位點
縱向相對距離range 的3 個區(qū)間分別對應短距離、一般距離、長距離,縱向相對速度range_rate 的5個區(qū)間分別對應快速接近、接近、保持、落后、快速落后,本車加速度的5 個區(qū)間分別對應急減速、減速、不加速、加速、急加速。在研究1 個駕駛員時,對一段駕駛過程,分別求得縱向相對距離range 在[4.032,18.944)、[18.944,42.080)、[42.080,99.968]3 段中所占時間量trange1j、trange2j和trange3j,然后對應3段區(qū)間將各過程的時間量累加,最后3段除以總時間量,完成歸一化:式中:trangeij為第j段駕駛過程在第i段相對距離區(qū)間中所占時間量;m為區(qū)間段個數(shù);n為駕駛過程個數(shù);vrangei為縱向相對距離對應第i段區(qū)間的結(jié)果變量。
對于range_rate、ax,也采取同樣方式獲取待聚類變量。車輛10的兩部分變量如表3所示。
表3 車輛10的兩部分變量表
當前向量的維數(shù)較高,直接分類會降低分類效果,因而需要先利用主成分分析進行降維,去除數(shù)據(jù)間的相關性。主成分分析是通過線性變換將高維向量投影到低維空間,同時要確保在低維空間中的投影可以近似表達原向量。模型根據(jù)結(jié)果向量中主成分的解釋率,來確定向量維數(shù),通常來說,主成分累計解釋率超過85%即可。結(jié)果表明,前3 個主成分累計解釋率超過85%,則得到維度為3 的結(jié)果向量。再利用2.1.1 節(jié)中的k-means 方法聚類,可得到不同駕駛員的風格分類結(jié)果。
2.2.1 信息熵
信息熵是表示樣本集合純度的一種指標。設所有數(shù)據(jù)分為N類,第k類數(shù)據(jù)所占比例為pk,則該數(shù)據(jù)集信息熵計算公式為
entropy值越大,純度越低,復雜度越高,該數(shù)據(jù)集所含的信息量越大。文獻[16]中正是以高信息熵為準則,得到分隔閾值的。
2.2.2 分隔點的選取
對下等分位點分類模型來說,由于區(qū)間分隔點選取根據(jù)的是概率等分,range、range_rate、ax 的信息熵不一定最優(yōu)。信息熵分類模型選取分隔點,根據(jù)的原則是使得3 個變量的信息熵盡量大。對range來說,根據(jù)駕駛員的所有數(shù)據(jù),先將整個區(qū)間等分為49份,得到48個分隔點。然后分別嘗試去除每個分隔點,計算去除后信息熵,選取剩余信息熵最大的方式去除分隔點。然后以該種方法繼續(xù)去除分隔點,直到中間分隔點剩余2個,結(jié)果如下。
同理,從48 起,減少range_rate、ax 的分隔點數(shù)目,保持剩余信息熵盡量大,直到剩余4 個中間分隔點,結(jié)果如下。
2.2.3 分類
利用2.2.2 節(jié)中的分隔點,得到range 變量的3個區(qū)間。在研究1個駕駛員時,對應3段區(qū)間將各過程時間量累加,再歸一化。對于range_rate、ax,也采取同樣方式,共得到13 個變量。然后進行PCA 降維,表4描述前3個主成分解釋度,總計超過85%,最后利用前3個主成分聚類得到結(jié)果。
表4 主成分解釋度表
下等分位點分類模型結(jié)果中,同一駕駛員不同段變量分類結(jié)果相同的車輛數(shù)為33,分類結(jié)果不同的車輛數(shù)為9,表5為具體結(jié)果。
對13 個待聚類變量進行直接聚類,可獲得具有數(shù)學意義的3 個聚類中心。從聚類中心看,一類更冷靜,二類處于中等,三類更激進。如聚類中心的前3 個變量分別代表縱向相對距離在[4.032,18.944)、[18.944,42.080)、[42.080,99.968]所占的比例,在第3 個區(qū)間中一類占32%,二類占21.7%,三類占14.8%。
信息熵分類模型中,同一駕駛員不同段變量分類結(jié)果相同的車輛數(shù)為28,分類結(jié)果不同的車輛數(shù)為14,表6為具體結(jié)果。
兩種模型中,不同段數(shù)據(jù)分類結(jié)果相同的車輛都占多數(shù),但結(jié)果仍存在差異,因此取兩種模型分類結(jié)果的交集作為縱向相對距離預測的數(shù)據(jù)集,共25輛車,分類見表7。
表5 下等分位點分類模型結(jié)果
表6 信息熵分類模型結(jié)果
表7 最終分類編號表
LSTM 模型是循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)的一種[22],普通循環(huán)神經(jīng)網(wǎng)絡存在信息保存時間短、梯度消失的問題,而LSTM 模型可以緩解這些問題。LSTM 模型在循環(huán)層單元上不同于普通RNN,其循環(huán)層單元包含輸入門、輸出門、遺忘門3部分,如圖2所示,其被稱為記憶單元。
圖2 循環(huán)層單元示意圖
遺忘門決定著記憶單元要丟棄的信息,遺忘門計算公式為
式中:ht-1為上一時刻記憶單元的循環(huán)層輸出;xt為當前時刻記憶單元的循環(huán)層輸入;σ為sigmoid函數(shù);Wf為遺忘門權重矩陣;bf為遺忘門偏置矩陣。
輸入門決定著存放到記憶單元中的新信息,輸入門計算公式為
ct-1是包含上一時刻信息的記憶值,其利用輸入門計算結(jié)果和遺忘門計算結(jié)果更新,公式為
式中:“°”代表哈達瑪積;ct為當前時刻的記憶值。
輸出門決定了記憶單元中有多大比例的記憶值可以被輸出,計算公式為
循環(huán)層輸出ht計算公式為
本文中的seq2seq 模型為encoder-decoder,如圖3 所示,模型的encoder 部分輸入歷史數(shù)據(jù),模型的decoder 部分輸出預測數(shù)據(jù)。encoder 輸入變量為range、range_rate、ax,decoder 的每個單元輸入為上一時刻range,輸出為當前時刻range 的預測值。變量在輸入之前需要經(jīng)過標準化處理。
圖3 seq2seq模型示意圖
seq2seq 模型參數(shù)圖如圖4 所示,F(xiàn)C 代表全連接網(wǎng)絡,數(shù)字代表網(wǎng)絡的神經(jīng)元數(shù)量,decoder 模型輸出部分FC-100 層的激活函數(shù)為relu 函數(shù)。在訓練階段,decoder 所有輸入為真實歷史數(shù)據(jù),代價函數(shù)為歐式距離損失函數(shù),使用adam 優(yōu)化算法。在測試階段,decoder第1個輸入為真實歷史數(shù)據(jù),其余為前一時刻模型預測結(jié)果。由本文中第2部分得到25輛車駕駛數(shù)據(jù),以歷史時間和預測時間之和為一段過程的時長,將每輛車的數(shù)據(jù)進行分割,最后將分割好的數(shù)據(jù)按4∶1分配,得到訓練集和測試集。
圖4 seq2seq模型參數(shù)圖
文中第2部分得到風格分類較真實的25輛車數(shù)據(jù),共分為3 類。本小節(jié)中將根據(jù)3 類數(shù)據(jù)和3.2 節(jié)中訓練后模型參數(shù)創(chuàng)建3 類個性化seq2seq 模型,結(jié)構如圖5 所示,為提高模型對每類數(shù)據(jù)的學習能力,在個性化部分增加1 個全連接層。每類個性化seq2seq 模型中encoder、decoder 輸入部分和LSTM 部分共用3.2 節(jié)中訓練后模型參數(shù),然后使用每類對應的駕駛數(shù)據(jù)訓練模型剩余部分,這通過設置學習率來實現(xiàn),共用部分學習率設置為10-5,以限制共用部分參數(shù)改變,個性化部分學習率設置為10-3。
圖5 個性化seq2seq模型參數(shù)圖
預測模型評價指標選取為均方根誤差,設M為樣本量,則預測時間內(nèi)誤差計算公式為
式中:x-1為預測過程中最后一個時間點的真實值;為預測過程中最后一個時間點的預測值。
圖6 為訓練過程中代價誤差的變化圖。代價誤差是標準化后縱向相對距離預測值和真實值之間的誤差,量綱為1。誤差描述了模型預測縱向相對距離效果的好壞。誤差越小,則說明預測性能越好。本文中的一批數(shù)據(jù)量大小為100,模型利用每批數(shù)據(jù)計算得到代價誤差,然后進行反向傳播以更新參數(shù)。從圖6 可以看出,隨著模型參數(shù)更新,各批數(shù)據(jù)的代價誤差不斷降低,訓練效果越來越好。
圖6 seq2seq模型代價誤差更新圖
表8 描述了模型優(yōu)化前后測試評價指標的變化,試驗分別進行了兩組訓練測試,一組為3.6 s 歷史數(shù)據(jù)輸入、1.2 s 預測數(shù)據(jù)輸出,另一組為6 s 歷史數(shù)據(jù)輸入、2 s預測數(shù)據(jù)輸出。從表8可知,優(yōu)化后模型的結(jié)果誤差有一定降低。
表8 個性化優(yōu)化前后模型測試結(jié)果誤差
預警距離經(jīng)常被預警策略作為特征量,其計算的方式有許多。一種常用的方法就是計算從駕駛員反應過來需要制動到本車車速降低至和前車相同、且兩車不相撞所需的最小縱向相對距離[4,23-24]。本節(jié)中策略正是利用這種方法且假設條件為前車車速不變,本車以最大減速度減速。這種預警距離計算方法適用于弧度較小的道路。本節(jié)中前撞預警策略基于Euro NCAP AEB Test Protocol,包含3種狀態(tài),具體規(guī)則如下。
(1)安全
最重要被檢測對象(本車航道上位于前方且距離最近的對象)正在遠離本車或者與本車的距離為常量。
(2)注意
最重要被檢測對象正接近本車,但縱向相對距離仍大于FCW 報警距離。FCW 報警距離隨縱向相對速度變化,接近速度越高則該距離越大。
(3)報警
最重要被檢測對象正接近本車,且縱向相對距離小于FCW報警距離。
由Euro NCAP AEB Test Protocol 確定 的FCW 報警距離計算公式為
式中:dFCW為FCW 報警距離;vrel為前后車縱向相對速度的絕對值;amax為最大減速度,其被設為0.4 倍重力加速度[23]。
本文中使用數(shù)據(jù)庫為自然駕駛數(shù)據(jù),駕駛過程為人工操作,無輔助系統(tǒng),且無事故發(fā)生。將上述前撞預警策略應用于本文中第3 部分車輛數(shù)據(jù),25 輛車共發(fā)生253 次報警,其中誤報警次數(shù)為123 次(在不發(fā)生事故的前提下,前撞預警系統(tǒng)報警但駕駛員判斷無需制動,則此時的報警為誤報警),如圖7 所示。原因應該是該策略僅判斷當前時刻的危急性,沒有將當前狀態(tài)和未來預測狀態(tài)綜合考慮,且沒有考慮駕駛員不同風格的影響。
圖7 基于4.1節(jié)中預警策略的各個車輛誤報警次數(shù)
為降低誤報警次數(shù),本文中利用第3 部分個性化預測模型和4.1 節(jié)中報警策略,設計新策略,條件如下:
(1)當前時刻及預測時刻均滿足4.1 節(jié)中報警策略;
(2)連續(xù)0.5 s滿足(1)條件。
本文中縱向相對距離、縱向相對速度均采用第3 部分預測模型。圖8 描述了在一段行駛過程中車輛16 縱向相對距離真實值和預測值的變化情況。圖8(a)預測模型的輸入時長為3.6 s,輸出時長為1.2 s。圖8(b)預測模型的輸入時長為6 s,輸出時長為2 s。從第3 部分結(jié)果和圖8 分析可知,預測時長越短,預測精度越高。這是因為當前時刻預測結(jié)果是以前一時刻預測結(jié)果為輸入,而前一時刻預測結(jié)果本身就存在誤差,這使得誤差不斷積累,在最后一個預測時刻表現(xiàn)出更大的誤差,因此本文中預測時長選擇1.2 s。
歷史時長分別選擇2.4和3.6 s,對比兩組結(jié)果。前者誤報警次數(shù)為78,后者誤報警次數(shù)為50,后者的各個車輛已減少誤報警次數(shù)如圖9 所示。歷史時長3.6 s 比歷史時長2.4 s 的誤報警次數(shù)低,原因應該是更長的歷史時長包含更多的時序信息,有助于預測精度的提高。改進后策略可降低誤報警次數(shù),且歷史時長3.6 s、預測時長1.2 s 的報警策略模型誤報警次數(shù)更低。如果需要進一步降低誤報警次數(shù),可能需要提高模型在更長時間預測時的精度。
圖8 車輛16第一段駕駛過程數(shù)據(jù)的縱向相對距離預測與真實結(jié)果對比
圖9 基于改進后預警策略的各個車輛已減少誤報警次數(shù)
本文中設計了一種基于駕駛風格的縱向相對距離預測模型,并利用該模型改進了前撞預警策略。駕駛風格分類模型結(jié)合了兩種特征提取方法,即下分位點法、信息熵法,使用k-means方法聚類,以車輛兩部分數(shù)據(jù)分類結(jié)果是否相同為評價指標。兩種模型中分類結(jié)果相同的車輛數(shù)與不同的車輛數(shù)之比分別為33∶9 和28∶14。綜合兩種模型,以二者交集為最終結(jié)果??v向相對距離預測模型采用基于LSTM的編碼器-解碼器框架,以風格分類結(jié)果全部數(shù)據(jù)訓練可得到預測模型的共用部分參數(shù),個性化部分分別利用3 種駕駛風格對應數(shù)據(jù)集訓練得到。文中對比了個性化優(yōu)化前后模型在“3.6 s+1.2 s”和“6 s+2 s”兩組預測中的結(jié)果,結(jié)果表明駕駛風格優(yōu)化后的模型有更低的預測誤差。本文中將預測模型應用到前撞預警策略中,輸入的歷史數(shù)據(jù)時長為3.6 s,輸出的預測時長為1.2 s,誤報警次數(shù)由原來的123降低至50,減少至原來的40.65%。如果需要根據(jù)新駕駛員特性改善預警性能,先要利用該駕駛員的特征變量對比已有模型的3 個聚類中心,以最近的聚類中心類別為新駕駛員類別,再根據(jù)類別選擇已有的縱向相對距離預測模型。最后利用新駕駛員的預測模型,實現(xiàn)本文中上述說明的改進后預警,降低誤報警次數(shù),提高新駕駛員對前撞預警系統(tǒng)的接受程度。