惠 飛,魏 誠
(長安大學 信息工程學院,西安 710064)
駕駛員的換道行為是行車安全中的關鍵因素,一個不正當的換道行為可能會造成車輛的碰撞,甚至安全事故[1,2].但是在行車過程中,影響駕駛員變換車道的因素很多[3-5],這就要求預測模型能融合多種特征數據后得出一個較為準確的結果.2014 年,Zheng J 等[6]提出了一個普通的前饋神經網絡模型來預測駕駛員的換道行為,該模型融合了多個車輛在行駛過程中的數據特征,其準確率達到了94.58%(左換道)和73.33%(右換道).但是該模型沒有考慮駕駛員自身的生理特征并且右換道和左換道的準確率不對稱.2015 年,Peng JS 等[7]提出了一種多特征融合的神經網絡的模型,該模型考慮了駕駛員例如頭部轉動等生理因素.并利用前饋神經網絡來預測駕駛員的換道意圖.但文章中提到該模型的時間窗口提取方法不準確,可能會影響模型性能.
通過文獻[8-11],可知大多數較早期的預測模型都是以3 層的全連接神經網絡來作為預測模型,但是這種網絡在處理時間序列的能力不強,所以不論將數據怎樣處理,神經網絡的輸入都是代表一個瞬時值,這可能會導致預測結果的偏差.2016 年,Dou YL 等[12]提出了一種以支持向量機和前饋神經網絡為主要方法的預測模型.該模型只對支持向量機和前饋神經網絡的預測結果做了分析和合并,并沒有將支持向量機和神經網絡的結構加以改變.同年,Wang XP 等[13]提出了一種以前饋神經網絡和卷積神經網絡為基礎的混合神經網絡模型,該模型以時間序列為輸入,通過卷積網絡來提取數據特征,再經過前饋網絡進行數據融合后得出結果.但此模型的問題在于當用卷積網絡提取數據時,可能會造成數據的損失,使得預測精度降低.
針對上述問題,本文提出了一種基于全連接神經網絡和循環神經網絡的混合神經網絡模型,該模型充分利用了循環神經網絡的變體Seq2Seq[14,15]框架來處理時間序列數據,并且利用全連接神經網絡來提取數據特征.其次,本文將駕駛員的生理數據和汽車的運動學數據作為模型的輸入特征,以提高預測的精準度和前瞻時間.
文章的結構分為4 個部分,第1 部分介紹數據采集過程以及預處理方法,第2 部分介紹模型的結構和訓練方法,第3 部分對訓練后的模型進行驗證,最后對文章模型以及結果進行分析.
由于實驗數據來源于真實交通場景和不同的傳感設備,所以數據預處理的第一個任務是將每個傳感設備采集的數據進行濾波、分段處理,第二個任務是進行時間戳對齊,并按時間窗口提取具有同一標簽的數據.
本次數據采集過程中,汽車運動學數據中的速度、加速度來自安裝在試驗車上的Cohda_wireless 短程通信設備.轉向角、轉向角加速度來自安裝在方向盤處的轉角測試儀.駕駛員生理數據中的腦電數據(EEG)和頭部運動數據來自腦波分析儀.心電數據(ECG)來自貼片式心率測試儀.頭在水平方向轉動的次數來自行車記錄儀中的行車視頻.數據采集設備如圖1 所示.圖2 是模型訓練數據的采集路線,采集車輛從長安大學出發到西安城北客運站,全長23.8 公里.為了使模型訓練和驗證的時候更加魯棒,我們邀請了不同的駕駛員在不同的天氣、道路、行人、車輛情況下進行數據采集.

圖1 數據采集設備

圖2 訓練集/測試集數據采集路線
時間窗口是所有數據處理的時間大小依據,所以該時間窗口的大小要能容納駕駛員換道前的各個數據變化.即在該時間窗口內,車道變換前后的各個數據變化要能被觀察到.如圖3 所示,將從車輛轉向角發生巨大變化至轉向角趨于平穩的一個行為標記為一個變道行為,并將該段時間記作一個時間窗口.在討論該模型的前瞻性時,采用依次縮短該時間窗口的方法.其具體做法是將時間窗口的結束點依次提前,在不考慮預測精確率的情況下,時間窗口結束點3 比結束點2 具有更好的前瞻性.因此,在模型訓練和驗證過程中,采用縮小時間窗口的同時比較準確率的方法來訓練和驗證模型.
在數據處理過程中,以當前的時間窗口大小為依據.文章所采用的循環神經網絡要求每次輸入的數據為定長,但由于時間窗口是不定長的,因此要求在每個時間窗口內設定一個通用的數據提取方法,使得在不同長度的時間窗口內提取數據特征個數相同,在保證輸入數據的一致性的同時又可以將數據損失降到最小.駕駛員在時間窗口內頭部在水平方向的轉動次數不經過循環神經網絡的處理,直接參與全連接網絡的計算.

圖3 時間窗口確定方法
1.3.1 汽車運動學數據
由于時間窗口是動態劃分的,為了使每個時間窗口內提取的數據特征相同且長度相等,在處理汽車運動學數據時,取每條數據在時間窗口內的最大值、最小值、平均值等.表1 給出各個數據量在時間窗口內的處理方法.在逐漸縮小時間窗口時,Seq2Seq 的標簽數據為原時間窗口的尾部數據,但取值方法相同.因此一共提取了15 個特征.

表1 汽車運動學處理方法
1.3.2 駕駛員生理學數據
腦電信號EEG 采用切比雪夫2 型濾波器進行帶通濾波,設置截至頻率下限為3 Hz,上限為30 Hz.在這里,將EEG 中1~3 Hz,幅度為20~200 μV 的δ 波剔除,因為δ 波出現在人類的嬰兒階段或者智力發育不成熟時期以及成年人在極度疲勞和昏睡或麻醉狀態下.所以駕駛員在考慮換道時,該波形不會有明顯的變化.
模型需要的輸入波形為頻率為4~7 Hz,幅度為5~20 μV 的θ波、頻率為8~13 Hz,幅度為20~100 μV的α波、頻率為14~30 Hz,幅度為100~150 μV 的β波.這3 種波形分別在人類處于抑郁、正常、興奮狀態時有明顯的變化,所以可以作為模型的輸入量.同樣,在這個時間窗口內,取EEG 信號中的θ,α,β波的平均值、最大值、最小值、方差4 種值.然后取θ波段和α波段的絕對功率以及再從每個波段的提取6 個非線性EEG 特性別記為:θ/(θ+α),α/(θ+α),(θ+α)/β,α/β,(θ+α)/(θ+β),及θ/β.從EEG 信號中一共提取了18 個特征.
心率信號的處理方法與他數據類似,也是將其放在一個時間窗口內處理,因此處只有一個信號,不再進行濾波.取一個時間窗口內心率的最大值,最小值,平均值,方差作為輸入的特征信號,最終從心率信號中提取了4 個特征.
駕駛員頭部的運動數據為駕駛員頭在三維空間上的最大轉速和轉動次數,分別取其時間窗口內的最大值即可.在車輛換道過程中,駕駛員頭部在一個時間窗口內的的轉動次數為該駕駛員對后視鏡的觀看次數,該次數表現了駕駛員換道的迫切性,頭部最大轉速亦是如此,轉速越大,表現駕駛員越注意后方車輛,越迫切換道,所以這4 個特征不需要循環神經網絡的處理,即不需要Seq2Seq 的預測,直接輸入到全連接網絡參與分類.
數據按以上方法處理后,可以保證在任何大小的時間窗口下輸入的數據個數均相同,同時也保證了模型在訓練和檢測時數據的一致性.如圖4、圖5 所示是汽車運動學數據和駕駛員生理數據在一個完整時間窗口內的變化.

圖4 汽車運動學數據在一個換道時間窗口的變化
本文模型是基于循環神經網絡和全連接神經網絡建立的,循環神經網絡用來提取原始數據的特征,并對下一時間點的值進行預測.數據處理過程中提取了41 個特征數據,除了駕駛員頭部轉動數據外,其他都要經過循環網絡的預測.所以循環神經網絡需要37 個輸入和37 個輸出.混合網絡一共有41 個輸入,2 個輸出.該模型的流程如圖6.

圖5 腦波數據在一個換道時間窗口的變化
循環神經網絡(Recurrent Neuron Network,RNN)是一種對數據序列建模的神經網絡,該網絡的優點在于能夠很好的處理時間序列數據.由于車輛的換道行為往往發
生在較長的時間段內,如果直接用全連接網絡去處理時間序列,勢必會造成數據的損失,從而導致模型預測精度下降.RNN 在處理時間序列數據時,會考慮到數據序列中每個數據之間的相關性,可最大程度的利用每個時間窗口的數據序列[9].本文模型需要以數據序列預測數據序列,所以選取RNN 的一個變體結構Seq2Seq,該變體是普通RNN 的增強版本,由一個編碼器Encoder 和一個解碼器Decoder 成,而Encoder 和Decoder 的計算內核由GRU 構成.

圖6 模型流程
Seq2Seq 典型結構就是如圖7 所示的Encoder-Decoder 框架,其工作機制是先使用Encoder 將輸入編碼映射到語義空間,得到一個固定的位數向量,該向量即Seq2Seq 的輸入語義向量.然后使用Decoder 將這個語義向量解碼,獲得所需要的輸出.

圖7 Seq2Seq 框架
Seq2Seq 的Encoder-Decoder 框架有兩個輸入,x作為Encoder 的輸入,y作為Decoder 的輸入且x和y依次按照各自的順序傳入網絡.假設Encoder 的輸入序列是x={x1,x2,···,xt},傳入D e c o d e r 的輸入是y={y1,y2,···,yt},根據RNN 的特點,輸入過程中t時刻的隱藏狀態ht為:

其中,f是非線性激活函數,在本次模型構建中,選擇ReLU 函數.依次類推,最后得到ht的就是固定長度的編碼向量C,當依次輸入得到編碼向量C后,開始利用Decoder 解碼,那么解碼器中的t時刻狀態ht為:

由此,可以推出y在t時刻的條件概率是:

其中,f和g是給定的激活函數,但是后者必須產生有效概率.最后,整個Encoder-Decoder 結構的2 個組件被聯合訓練以最大化似然條件對數:

得出該概率之后,即可計算出每個節點的輸出.
全連接網絡是神經網絡里最基本、最簡單的一種,但這種網絡在多參數融合時的表現良好,所以一般用于處理復雜的非線性分類問題.Seq2Seq 的輸出數據復雜且本文的變換車道是預測典型的二分類問題,以及全連接網絡與其相匹配的多個激活函數都可以很好的處理該二分類問題.所以采用全連接網絡作為Seq2Seq后的分類器.本文所使用的全連接網絡的輸入有37 個來自RNN 的輸出,4 個來自數據預處理,因此共有41 個輸入,而結果只需要換道或不換道2 種結果,所以只有2 個輸出,全連接網絡的數據流向如圖8 所示.

圖8 全連接網絡數據流圖
首先給出全連接網絡的向前傳播公式.本文將這些輸入量設為x(1),x(2),···,x(n-1),x(n),表示第l層神經元的第j個突觸的權值,那么在l層的誘導局部域為:


如果神經元在j第一個隱藏層,則有:

其中,xj(n)是輸入向量x(n)的第j個元素.如果神經元j在輸出層(即l=L,L稱為網絡的深度),則有:

所以,網絡輸出誤差為:

其中,dj(n)是期望響應向量的第j個元素.
正向傳播完成之后,進行反向傳播,以完成權值優化.現在給出反向傳播的公式:

其中,δj(n)是局部梯度,φj’()是對自變量的微分.得出局部梯度以后,進行權值更新,下面給出在迭代到第n次的權值更新公式:

其中,a為動量常數,η為學習率參數.至此,模型構建完成.
據調查統計顯示,大部分駕駛員在驅車行駛的過程中更加愿意跟隨,而不是急于換道.所以駕駛員換道的數據樣本數據并不是很多.為了避免在試驗過程中出現駕駛員刻意換道的情況,在數據采集之前并沒有告訴駕駛員這次行車的真正目的.并且邀請了不同的駕駛員來完成本次數據采集,盡可能的避免人為干擾.從所采的數據集中一共提取了500 個變道行為和1500 個非變道的特征數據,由于數據量不是很多,因此采用10 折交叉驗證的方法來訓練和驗證模型.
為了能更好展示模型訓練過程及性能,如圖9 所示,模型訓練隨時間窗口的縮小推進.第1 步采用原始時間窗口,由于沒有縮小時間窗口,所以本次的Seq2Seq 沒有標簽數據.實驗中在Seq2Seq 結構后直接加入全連接層,以變道信號為標簽,討論整個模型的預測精確率.第2 步將原始時間窗口縮小至原來的2/5,討論模型的前瞻時間和精確率.根據深度學習數據處理方法和Seq2Seq 特點,被訓練及預測的標簽部分應盡量包含整個時間窗口的數據且至少是整個時間窗口數據的一半以上,這是因為被預測的標簽數據需要輸入到全連接網絡預測,如果標簽數據過短,會影響全連接網絡的預測準確率.所以第1 步將輸入數據設置為2/5,預測時間窗口后3/5 的數據.第3 步將時間窗口縮小至原始時間窗口的1/5,同樣討論前瞻時間和精確率.輸入數據時間窗口縮小到原時間的1/5 是為了提高預測前瞻時間,并且1/5 已經是縮小極限,如果再次縮小,會造成嚴重的數據損失,造成Seq2Seq 的預測偏差過大.在縮小時間窗之后,加入Seq2Seq 網絡預測性能展示.

圖9 模型訓練過程和時間窗口大小關系
在兩者級聯訓練模型收斂后,整個網絡的權值會適配輸入數據時間窗口為2/5 和1/5 的情況,并且達到最優值,其次就可以進行整個網絡模型的測試和驗證.
無中間標簽時,只討論整個模型的預測精度,如圖10、圖11 所示為迭代過程中的損失和精度變化.

圖10 無中間標簽時網絡預測精度

圖11 無中間標簽時網絡預測損失
模型迭代20 000 次后呈收斂狀態,精確率達到95%,損失降低到0.1.表明該模型可以較為精確的預測駕駛員變道行為.
其次給出兩次縮小時間窗口后Seq2Seq-全連接網絡的訓練過程,Seq2Seq 預測的是每個原始時間窗口1/5、2/5 后的數據,由于輸入輸出數據較多且Seq2Seq層預測的是下一時間點的駕駛員和車輛狀態,所以用歐式距離來評估預測結果對真實結果的回歸程度,計算公式為:

如圖12、圖13 所示,分別為模型在訓練時分別2 次縮小時間窗口的平均偏離程度.迭代200 次后,平均偏離程度開始收斂,但偏離程度會在小范圍內波動,這是由于Seq2Seq 模型的輸入較多而引起的噪音,并不影響整個模型的預測結果.
將Seq2Seq 預測結果輸入到全連接網絡中進行10 折交叉驗證,圖14、圖15 所示分別為第一次縮小時間窗口的預測精確率和損失,迭代到20 000 步時模型收斂,精確率達到93.4%,模型的交叉熵損失降低至0.12.此次模型的精確率降低是因為縮小時間窗口造成了數據損失,但這樣做的好處是提高了前瞻時間.同理圖16、圖17 分別是第二次縮小時間窗口后訓練集和測試集上的精確度和損失,其精確率達到了93.8%,損失降低至0.11.

圖12 第一次縮小時間窗口時Seq2Seq 誤差
如圖18、圖19 所示,是對相同變道的兩種不同的預測方式.t1,T1是車輛變道作用的時間,t2,T2是Seq2Seq訓練和測試時的數據提取窗口,t4,T4是Seq2Seq 訓練時訓練時的標簽提取窗口,則t3+t4,T3+T4是提前預測變道的時間長度,即前瞻時間.
從圖18 和圖19 可看出,T3>t3,在模型訓練過程中,第1 種方法的預測精確率達到93.4%,第2 種達到93.8%.說明第2 種方法的預測能力優于第1 種.而第2 種預測方法預測變道所用時間是整個變道所用時間的1/5,即T2=T1/5.假設一個正常變道所用時間為2 s,那么該模型會在變道的前1.6 s 會預測出變道行為.

圖13 第二次縮小時間窗口時Seq2Seq 誤差

圖14 第一次縮小時間窗口預測精確率

圖15 第一次縮小時間窗口預測損失

圖16 第二次縮小時間窗口預測精確率

圖17 第二次縮小時間窗口預測損失
表2 給出了500 個換道行為所用的時間及對應個數,其中用時2-3 s 的變道占了總數的47%,其前瞻時間為1.6-2.4 s,因此該模型能夠很早的預測變道且具有較高的預測精確率.

圖18 第一次縮小時間窗口前瞻時

圖19 第二次縮小時間窗口前瞻時間

表2 變道個數及所用時間
圖20 給出了在所有變道中抽樣50 次后,變道所用時間和預測所用時間對比,預測時間遠小于整個換道時間.

圖20 換道/預測用時
當整個模型達到收斂狀態,其內部權值達到最優時,開始用另一組未使用過數據對模型性能進行驗證.
模型訓練結束后,其內部的權值參數已經達到最優,為了檢驗模型的泛化程度,將訓練使用過的數據全部丟棄,并邀請了不同的駕駛員駕駛數據采集車輛在不同的路線進行數據采集,圖21 是驗證數據采集路線.

圖21 測試數據采集路線
使用和模型訓練時相同的數據處理方法,但驗證模型只有一個輸入數據,沒有任何的標簽,數據從網絡輸入,只看網絡預測變道結果和真實結果的對比,不同算法精準率對比如圖22 所示.我們采用200 個變道數據和800 個非變道數據進行十折交叉驗證,圖23 是每個測試批次的精確率變化.可見模型的在初始的幾個測試批次出現了精確率降低的情況,但整體表現良好,其測試平均精確度達到了93.5%,其前瞻時間和訓練模型時相同,前瞻時間是整個換道時間的4/5,如圖24所示,同樣隨機抽取了50 個變道數據來展示模型前瞻性.

圖22 不同算法精確率對比
我們使用同樣的數據處理方法驗證了幾種深度學習和機器學習領域的經典算法.發現在相同的情況下,傳統BP 網絡的精確率達到了91.6%,MTSDeepNet 的精確率達到了92.0%,SVM 的精確率達到了90.1%,DBN、Decision tree 的精確率分別達到了75.0%和84.0%.相比較,本文提出模型的平均精確率達到了93.5%,在性能上優于以上算法.

圖23 模型驗證精確率

圖24 驗證集換道/預測用時對比
模型驗證結果表明本文提出的Seq2Seq-全連接網絡的混合網絡模型能較準確的預測駕駛員變道行為,其平均精確率達到93.5%,平均預測時間達到2 s.
最后給出整個模型的在訓練和驗證完成后的性能分析.模型訓練和測試所用的環境是Windows 10 下的Spyder 和Tensorflow.機器的處理器為至強E5-2623,內存為16 GB.在此環境下,整個模型訓練的時間為28 小時左右.完成訓練后,進行模型驗證,1000 條數據在5-6 min 內可完成計算預測,此時模型權值已近計算完成,模型只進行順序計算即可,每條數據的計算耗時0.3-0.4 s,能夠滿足實車測試的實時性.且在此基礎上,提高了模型精確率和前瞻時間.相較傳統網絡模型,該網絡模型加入了二級訓練標簽,更適合處理深層次、更復雜的時間序列.計算時間方面,模型的訓練耗時更長,但驗證時間和傳統模型相比持平或更短.綜上,該網絡模型優于傳統網絡模型.表3 給出該混合網絡模型和傳統模型在輸入數據相同時的參數規模.
本文提出的Seq2Seq-全連接網絡模型的參數規模為104,和DBN 模型的規模相同,而全連接網絡、SVM、Decision-Tree 的參數規模均為103.這說明本文提出的模型具有更多的權值點和深度.但相比較DBN,所以出的網絡模型具有更快的計算時間和更強的時間序列處理能力.

表3 不同模型的參數規模
本文提出了一種基于RNN-Seq2Seq 和全連接網絡的兩級混合神經網絡,可以更加準確、更加提前的預測駕駛員的換道行為,減少駕駛員在行車過程中的危險性.在該模型中,車輛運動學數據、駕駛員生理數據、駕駛員運動學數據被用作混合神經網絡的輸入.并且設計了一種以動態時間窗口來提取車道變換過程中的3 種數據特征的方法,使用縮小時間窗口的方法來訓練提出的混合神經網絡以提高預測的前瞻時間.結果表明,該混合網絡模型的平均預測精確率達到93.5%,平均前瞻時間達到2 s,優于其他5 種常用模型.
在下一步的研究中,首先會增加訓練和驗證模型的數據量,使得模型更加泛化和魯棒.其次,會增加各種不同路況和路型的數據來訓練模型,使得模型能夠適用于不同的行車環境[16,17].最后,會使用不同的車輛種類來采集數據來訓練模型,以提高模型的使用范圍.