李振威 石 英 高田翔 劉子偉
(武漢理工大學自動化學院 武漢 430070)
隨著我國汽車保有量的迅速增長,駕駛員的不良駕駛行為成為導致交通事故和城市致堵致亂的重要因素,引起了人們對駕駛行為識別的關注度[1-2].國內外研究人員對行車過程中的駕駛行為進行了大量的研究分析,對于駕駛行為的研究主要分為基于視覺圖像和基于多傳感器數據融合這兩種手段.
利用駕駛人或車輛的圖像來對駕駛行為進行識別是目前較為主流的駕駛行為識別方案.Takenaka等[3]對車輛前裝攝像頭拍攝的圖像進行識別,提取車輛運行狀態、方向、交通信號等特征,利用雙層結構分類器對這些特征進行上下文分析來評估駕駛行為.基于視覺圖像的駕駛行為識別在環境理想的實驗情況下識別效果較好,但實際應用中光線強度、攝像頭角度的不確定性,以及周圍環境的干擾都會對識別效果造成影響.
通過多種傳感器融合感知車輛狀態及周邊環境的駕駛行為識別也漸漸流行起來.Sathyanarayana等[4]通過在車上加裝加速度、重力、陀螺儀、GPS等傳感器獲取車輛速度、加速度等數據,利用kNN和SVM算法分別對駕駛行為進行識別.
由于給車加裝便攜式傳感器過程復雜,且成本高,利用搭載了豐富的傳感的移動智能終端進行駕駛行為檢測易推廣、易擴展,有著巨大的優勢[5].Diaz等[6]利用智能手機內置的傳感器獲取速度等數據,并與車上加裝的傳感器獲取的數據進行對比,證實兩者獲取的數據相似度較高,前者獲取的數據能用來表示車輛的速度等狀態.Eren等[7]同樣利用智能手機的加速度計、陀螺儀和磁力計采集數據,進行駕駛行為的判別和其安全性的分析.
因此,本文采用智能移動終端內置的傳感器采集行車數據,提出了一種基于智能移動終端的車輛駕駛行為分析方法.該方法對采集到原始數據進行時域特征提取的基礎上,采用主成分分析(PCA)進行數據特征降維.對于經過主成分分析提取出主要駕駛行為特征的數據樣本,結合k-means和FCM聚類算法對駕駛行為特征進行聚類,并分析其典型特點與分布規律.
智能手機自帶的加速度傳感器和陀螺儀均為原生三軸慣性傳感器,其輸出的值描述了設備在環境中的動作,對應于設備坐標系,而不是車輛對地的全局坐標系[8].設備坐標系與全局坐標系的關系見圖1.
當車輛處干水平面且設備Y軸方向與車輛前進方向一致時,設備三軸方向上的加速度才能夠準確地描述車輛的運動狀態.為了便于實驗數據處理,實驗過程中智能手機水平放置,并且保持Y軸加速度方向與車輛移動方向一致,這樣采集的數據在坐標系上與車輛對地坐標系保持一致.

圖1 設備坐標系與全局坐標系
加速度傳感器和陀螺儀數據是一個n行6列的矩陣,在正常行駛、加速和右轉彎這三種駕駛行為下的傳感器參數變化見圖 2.

圖2 不同駕駛行為傳感器數據
由圖2可知,三軸加速度傳感器的Y軸在加速這種車輛縱向駕駛行為情況下變化明顯.而在右轉彎這種橫向駕駛行為中三軸加速度傳感器的X軸和陀螺儀繞Z軸角速度數據特征顯著.因此,本文選取加速度傳感器的X,Y軸和陀螺儀繞Z軸數據,也就是矩陣的第1,2,6列數據提取特征.
在實際采集數據過程中,由于車身抖動和芯片自身漂移,傳感器所采集的數據往往受到噪聲干擾,需進行平滑濾波處理,本文采用移動平均濾波算法.
首先,對于采集數據Xj={x(i),i=1,2…,n},設定滑動窗口大小為M,那么i時刻的濾波輸出值y(i)為
y(i)=y(i-1)+(x(i+p)-x(i-q))/M
(12)
式中:p=(M-1)/2;q=p+1.
滑動窗口M大小的選擇十分重要.若滑動窗口M過小,數據平滑效果不明顯;反之,容易過多地丟失車輛實際運動信息.通常M一般設定在[5,15]之間[9],本文選取10作為滑動窗口,見圖3.

圖3 加速度傳感器X軸數據原始、濾波對比
由圖3可知,移動平均濾波的平滑效果明顯,能夠有效濾除車輛震動帶來的噪聲.
利用上述移動平滑濾波預處理后的數據,考慮到轉彎和變道等行為在極短時間間隔內具有相似性,可提取一定時間間隔內傳感器數據的時域特征,提取的備選特征參數見表1.

表1 備選特征參數
表中的Xj為傳感器數據矩陣的第j列數據,根據前文描述,這里選取j=1,2,6.

(11)
式中:xmin,xmax分別為特征值數據的最小值和最大值.
根據表1對數據樣本進行特征提取,每個特征向量由21個分量組成.如此龐雜的特征參數對硬件平臺的處理效率提出了較高的要求,數據降維可以有效地解決上述問題.
采用主成分分析方法,通過構造數據樣本的一個正交變換,新空間的基底去除了原始空間基底下數據的相關性,因此,只需使用少數新變量就能夠解釋原始數據中的大部分變異[10],從而實現連續屬性的數據降維,主成分分析的流程為
1) 計算相關系數矩陣n次駕駛行為數據的p=21維特征分量的原始數據矩陣X為
,X2,…,Xp)
(1)
將原始數據矩陣按列進行中心標準化后,計算相關系數矩陣R=(rij)p×p,定義rij為
(2)
2) 計算特征根 計算R的特征方程det(R-λE)=0的特征根λi,并將其按從大到小排列,即λ1≥λ2≥λp>0.
3) 確定主成分個數 根據設定的主成分累計貢獻率α(α一般取85%~95%)確定主成分的個數m,即


(3)
4) 計算主成分 計算m(m≤p)個特征根相應的單位特征向量βi分別為

(4)
由式(4)所得單位特征向量計算相應的主成分Zi,得
Zi=β1iX1+β2iX2+…+βpiXp,i=1,2,…,m
(5)
對于聚類結果,通常采用外部指標和內部指標進行性能度量.前者將聚類結果與某個參考模型進行比較,后者則直接考察聚類結果.
由于目前并沒有關于駕駛行為的參考模型,無法使用外部指標,因此本文采用內部指標中常用的戴維森-堡丁(Davies-Bouldin index,DBI)指數評價聚類結果.
考慮聚類結果的類簇劃分C={C1,C2,…,Ck},μi為簇Ci的聚類中心.定義類簇Ci內數據樣本間的平均距離為avg(Ci),類簇Ci與Cj聚類中心點間的距離為dcen(μi,μj).那么DBI指數DI可表示為[11-12].
(6)
給定兩個簇,每個簇樣本之間距離平均值之和比上兩個簇的中心點之間的距離作為度量,然后考察該度量對所有簇的平均值,顯然DI越小越好.
利用k-means聚類算法對給定的駕駛行為特征向量數據樣本集X={x1,x2,…,xn}進行聚類劃分,最終將其劃分為k類C={C1,C2,…,Ck}.k-means算法的目標函數為
,μi)
(7)


(8)
其中:p=1時,Minkowski距離為曼哈頓距離;p=2時,Minkowski距離為歐式距離.
式(7)描述了簇內樣本圍繞聚類中心的緊密程度,E值越小則簇內樣本的相似度越高,簇和簇之間的相似程度越低.
k-means算法通過迭代優化更新聚類中心來求解目標函數的最優解,具體步驟如下:
步驟1從X中隨機選取k個樣本作為初始聚類中心{μ1,μ2,…,μk},給定迭代次數t和閾值ε.
步驟2計算每個數據樣本到聚類中心的距離,將其歸類到距離最近的那一類中;
步驟3重新計算聚類中心點,更新聚類中心μi.
步驟4重復進行步驟2,直到達到最大迭代次數t,或平方誤差E的變化小于閾值ε.
本文利用k-means聚類算法對駕駛行為特征向量集進行聚類,根據聚類結果的分布以及DBI指數DI的大小確定最合理的聚類數量k.
駕駛行為特征數據集通過 k-means算法聚類快速確定最優聚類數量k后,再用FCM算法基于給定聚類數量進行聚類分析.
FCM算法使用隸屬度來確定每一個樣本數據屬于某一類的程度,較之k-means 算法的單一歸類方法,其聚類效果更佳[13].
利用FCM算法對給定駕駛行為特征向量數據樣本集X={x1,x2,…,xn}進行聚類劃分,假設分為k類C={C1,C2,…,Ck},μi為簇Ci的聚類中心.FCM算法的目標函數與k-means一樣為
,μi),uij∈[0,1],m∈[1,∞]
(9)
不過相比于k-means算法,FCM算法引入了隸屬度uij和模糊參數m.
uij為數據xi屬于類簇Cj的程度,FCM算法要求每個駕駛行為數據樣本對于各個聚類簇的隸屬度之和為1,即
(10)
m則是用來控制聚類結果模糊程度的常數,越大表示聚類結果越模糊,本文取m=2.
因此,FCM算法的目標變為在式(8)的約束條件下求解式(7)的最小值,使得被劃分到同一簇的駕駛行為樣本之間相似度最大,而不同簇之間相似度最小.
采用Lagrange乘子法,得到其對偶規劃為
(11)
FCM算法也是通過迭代優化修改聚類中心和隸屬度矩陣來求解目標函數的最優值,算法具體步驟為
步驟1從X中隨機選取k個樣本作為初始聚類中心{μ1,μ2,…,μk},給定迭代次數t、閾值ε和模糊參數m.
步驟2根據式(9)更新隸屬度uij.
步驟3重新計算聚類中心點,更新聚類中心μi.
步驟4重復進行第2步,直到達到最大迭代次數t,或平方誤差E的變化小于閾值ε.
步驟5最后對每個樣本取其隸屬度最大值所在的類作為其確定性分類,實現模糊聚類結果的去模糊.
采用基于Android 系統的智能手機作為實驗數據采集平臺,編寫了一個能在Android手機上運行的傳感器數據采集程序收集數據.實驗中采用Android智能手機,均配備了加速度、陀螺儀等傳感器.車輛在典型道路環境下實測采集實驗數據,每次數據采集的持續時間為8 s,采樣頻率為50 Hz.
對實驗數據集進行移動平滑濾波處理,并提取出其時域特征,對歸一化后的特征向量集進行主成分分析,分析結果的碎石圖見圖4.

圖4 主成分分析碎石圖
碎石圖的橫軸為按特征值大小進行排列的主成分序號,縱軸為特征值.從碎石圖可以看出第6個主成分為其拐點,拐點之前折線較陡峭,拐點之后折線變平緩.
前6個主成分的特征值、貢獻率及累計貢獻率見表2.

表2 主成分特征值、貢獻率和累計貢獻率
由表2可知,前5個主成分的累計貢獻率已經達到86%,因此,這5個主成分足以表達數據的總體特征.
應用主成分分析后,可以把數據從21維降為5維,這5個主成分互不相關并且占據了原始數據86%的信息,其載荷矩陣見表3.主成分載荷矩陣顯示了對應主成分與原評價指標間的相關性系數,取值范圍為[-1,1],絕對值越大表明相關性越強.
由表3可知,Z1和Z2主要表征加速度傳感器X軸和陀螺儀Z軸的數據特征,因此,這兩個主成分可以用來作為橫向變動較大的駕駛行為(即轉彎)的指標,其中Z1表征轉彎的橫向加速度變化程度,Z2表征轉彎的角度變化程度.
Z3和Z4主要表征加速度傳感器Y軸的數據特征,因此這兩個主成分可以用來作為縱向變動較大的駕駛行為(即變速)的指標,Z3表征縱向加速度變化范圍,Z4表征加速度波動的程度.
Z5主要表征加速度傳感器X軸和Y軸的數據特征,因此Z5可以用來作為橫向和縱向均存在變動的駕駛行為(即變道)的指標.

表3 主成分載荷矩陣
前面主成分分析得到的 5個主成分按照轉彎、變道和變速指標進行分組,構成三種駕駛行為聚類分析的樣本矩陣,先使用k-means進行聚類尋找最優聚類數量,接著使用FCM聚類算法對樣本進行精細聚類.
駕駛行為按照Z1和Z2這兩個轉彎指標使用k-means聚類的結果見圖5.

圖5 基于Z1和Z2的轉彎指標的k-means聚類
由圖5可知,當聚類類別數從2增加到6時,DI系數先減小再增大,在聚類類別個數為4時DI取到最小值.當DI取最小值時,每個簇的內部的樣本分布緊密,表明簇內的駕駛行為樣本間相似度較高;而簇之間分隔的比較開,表明每個簇代表的駕駛行為差異比較明顯.那么,用轉彎指標Z1和Z2對駕駛行為數據集進行聚類時最佳聚類數量為4.
利用FCM算法對樣本聚類,其聚類個數為4,聚類結果見圖6.由圖6可知,聚類個數為4時,FCM算法聚類結果的類簇分布輪廓與k-means算法的相似,但是FCM的類簇之間分隔的更開一些.此外FCM的DI指數1.448也比k-means的1.548小,說明FCM的聚類效果明顯優于k-means,但其運行時長為0.421 s,相比k-means的運行時間0.176 s,更為耗時.

圖6 基于Z1和Z2的轉彎指標的FCM聚類
因此,結合k-means的快速最優聚類個數搜索性能和FCM優越的聚類分析性能,可兼顧實時性和準確性.
圖6中左側的三角形類簇兩項指標都很小,表明車輛沒有明顯的轉彎行為,而位于其右側的三個類簇則具有不同程度的轉彎行為,按照Z1和Z2的大小可分為劇烈、溫和和適中這三種轉彎行為.
同理,在分析變速和變道指標時,也是先通過基于k-means聚類確定聚類個數,再利用FCM算法對其進行聚類,聚類結果見表5~6.

表5 基于Z3和Z4的變速駕駛行為聚類

表6 基于Z5的變道駕駛行為聚類
由表5可知,駕駛行為按照Z3和Z4這兩個變速指標聚為3類較合適,FCM的DBI指數比k-means的小,即FCM的聚類效果較好.聚類結果表明車輛在行駛過程中均存在變速行為,其中劇烈的變速行為占比35%,適中及溫和的變速行為占比65%.
由表6可知,駕駛行為按照Z5這個變道指標聚為4類較合適,FCM的DBI指數比k-means的小,即FCM的聚類效果較好.聚類結果表明,車輛在行駛過程中大部分情況沒有變道行為發生;而在發生的變道行為中,根據變道指標Z5可劃分為劇烈、溫和和適中.
本文利用從智能移動終端傳感器采集能夠表征車輛行駛狀態的數據,對數據進行濾波處理后提取能夠表征車輛駕駛行為的特征.通過主成分分析對車輛駕駛行為特征進行特征降維,對降維后的綜合特征進行聚類分析.
實驗結果表明,主成分分析有效地將駕駛行為數據的21維特征進行降維處理,提取出了5個能表明不同駕駛行為的綜合特征.k-means聚類算法能夠對駕駛行為數據進行快速的初步聚類,觀查聚類結果的樣本分布,計算DBI指數確定最優聚類個數.接著利用FCM聚類算法實現了駕駛行為數據的精細聚類,FCM聚類結果各類內部比k-means更緊密,各類間隔得比k-means更開,運行速度明顯慢于k-means.
在后續研究中,將結合智能移動終端和車聯網提取更多有效的駕駛行為特征參數數據,進一步完善駕駛行為評估體系,并將其應用到對駕駛員行為的規范引導以及智能駕駛輔助系統的設計中.