孟 妮山 巖
(1.陜西工業(yè)職業(yè)技術學院 咸陽 712000)(2.長安大學汽車學院 西安 710064)
車道偏離預警系統(tǒng)(Lane Departure Warning System,LDWS)目的是幫助駕駛人使車輛保持在車道內(nèi)行駛,在車輛偏離車道時發(fā)出警告。通常車道偏離預警系統(tǒng)通過圖像識別技術采集車道線位置,通過識別車輛與車道線的距離關系判斷車輛是否發(fā)生偏離。車道偏離預警系統(tǒng)對于預防因為駕駛人分心或疲勞引起的無意識車道偏離具有良好的效果。但是許多駕駛人在換道過程中不開啟轉向信號燈,這導致車道偏離預警系統(tǒng)無法有效地區(qū)分駕駛人換道和無意識車道偏離行為,進而導致車道偏離系統(tǒng)在車輛換道時產(chǎn)生誤報。誤報率偏高會對駕駛人的正常行駛構成干擾,進而迫使駕駛人關閉車道偏離預警系統(tǒng)。
因為駕駛人換道過程中不開啟轉向燈現(xiàn)象普遍,國內(nèi)外針對換道識別進行了大量研究,其中具有代表性的有:C.Jeol等利用車輛橫向運動和頭部姿態(tài)數(shù)據(jù)建立了基于稀疏貝葉斯方法換道識別系統(tǒng)[1]。Oliver等通過在換道模型中加入駕駛人眼動數(shù)據(jù)改善了模型換道識別效果[2]。Kuge等利用方向盤轉角向量值、方向盤轉動角速度和方向盤轉矩作為輸入,建立了基于隱馬爾科夫理論的換道意圖識別模型[3]。吉林大學侯海晶基于隱馬爾科夫理論建立了高速公路上不同類型駕駛人的換道意圖識別模型[4]。清華大學王玉海根據(jù)駕駛人的換擋行為特征對駕駛人換道行為進行識別[5]。Doshi等利用車輛運動狀態(tài)、駕駛人眼動參數(shù)和周圍車輛運動參數(shù),建立了基于相關向量機的駕駛人換道預測模型[6]。
當前的研究只是集中于辨識車道變換與車道保持,將駕駛人無意識車道偏離簡單地劃分到車道保持當中去,但是駕駛人無意識車道偏離與換道具有較大的相似性,容易被誤識別為換道行為[7]。為此本文基于支持向量機理論著重研究駕駛人無意識車道偏離與換道行為的辨識。
2.1 SVM理論
支持向量機(Support Vector Machine,SVM)是常用的模式分類方法。SVM的主要目的是通過尋找一個分類超平面作為模型的決策曲面,使得不同類別之間的隔離邊緣距離最大化[8]。支持向量機屬于通過特征空間里區(qū)域特性來分割不同類別的判別式模型。
SVM模型中最常見的是二分類SVM模型,本文也是采用二分類SVM模型區(qū)分駕駛人無意識車道偏離與換道行為。其具體計算過程如下。
1)建立已知訓練集:
其中xi表示特征向量,yi表示分類標簽,本文中換道標簽為0,無意識車道變換標簽為1。
2)選擇合適的核函數(shù)K和適當參數(shù)C用來求解最優(yōu)化問題:
4)決策函數(shù)的構建:
本文通過實車試驗分別采集了車輛在換道和無意識車道偏離狀態(tài)下的運動數(shù)據(jù),考慮到實驗過程中具有一定風險性,本文選取在試驗場內(nèi)完成實車試驗。相關研究表明分心是造成駕駛人無意識車道偏離的主要因素之一,在駕駛人正常駕駛過程中,通過讓駕駛人處于分心狀態(tài)來使駕駛人出現(xiàn)無意識車道偏離的現(xiàn)象。本文中共選取了12名駕駛人。其中駕駛人的平均年齡為35歲,平均駕齡為5年,健康狀態(tài)良好。為保證實驗結果的客觀性,事前并沒有告知駕駛人實驗目的。
通過在試驗車輛上安裝方向盤傳感器、車道線識別系統(tǒng)、GPS和陀螺儀等??梢圆杉囕v行駛過程中的方向盤轉角、方向盤轉動角速度、方向盤轉動力矩、車速、橫向位移、橫擺角速度和橫向速度等參數(shù)。參考相關研究成果以及結合自身研究特點,選擇方向盤轉角、橫向速度、橫向距離作為模型的辨識參數(shù)[9]。
1)方向盤轉角θ:方向盤轉角能夠直接體現(xiàn)駕駛人對于車輛運動方向的控制意圖,在車輛換道過程中方向盤轉角會表現(xiàn)出明顯的波動變化。但是在車輛經(jīng)過彎道時,無意識車道偏離與換道的方向盤轉角變化類似,僅依靠方向盤轉角難以區(qū)分兩者區(qū)別。
2)橫向距離d:本文中橫向距離表示車輛距離車道中心線的距離,橫向距離可以直接體現(xiàn)車輛在道路中的橫向位置變化。
3)橫向速度v:橫向速度能夠表現(xiàn)車輛的橫向變化趨勢,車輛在換道時其橫向速度普遍高于無意識車道偏移。
傳感器在實際測量過程中會受到環(huán)境等因素的影響而在數(shù)據(jù)中夾雜有隨機噪聲,同時在數(shù)據(jù)采集過程中受到傳感器精度的影響產(chǎn)生數(shù)據(jù)不連續(xù)的現(xiàn)象。為了最大限度地消除隨機噪聲并使數(shù)據(jù)連續(xù)化,本文采用了擴展卡爾曼濾波器對獲取的數(shù)據(jù)進行濾波。傳統(tǒng)的卡爾曼濾波器利用線性高斯模型對目標狀態(tài)做最優(yōu)估計,但這僅僅局限于線性問題或者近似線性問題的非線性問題[10]。車輛的車道偏離識別與相應的方向盤轉角、橫向速度、橫向距離參數(shù)是一種復雜的非線性映射關系,為了能夠精確地估計目標狀態(tài),必須建立合適的非線性濾波器算法。
對于復雜的非線性問題,擴展卡爾曼濾波器采用線性變換將問題轉化成近似線性濾波器的問題。擴展卡爾曼濾波器的原理是圍繞濾波值對非線性函數(shù)展開成泰勒級數(shù),通過去除二階以上項可以得到線性化模型,利用卡爾曼濾波器完成對數(shù)據(jù)的濾波處理。通過Matlab軟件中的卡爾曼濾波工具箱對方向盤轉角、橫向速度、橫向距離進行擴展卡爾曼濾波處理結果如圖1、圖2和圖3所示。
圖1 方向盤轉角濾波結果
圖2 橫向速度濾波結果
圖3 橫向距離濾波結果
方向盤轉角的變換范圍通常在-60°~60°之間,橫向位移的變換范圍在-200cm~200cm之間,橫向速度的變化范圍在-6m/s~6m/s之間。方向盤轉角、橫向速度、橫向距離的單位不同,其變化范圍也不同,橫向位移的變換范圍明顯大于方向盤轉角和橫向速度[11]。若是不作處理直接輸入到SVM模型當中,橫向位移的變化趨勢就會一定程度的掩蓋方向盤轉角和橫向速度的變化趨勢。因此在建立模型前需要對輸入數(shù)據(jù)進行歸一化處理。將所有的數(shù)據(jù)都轉化到[0,1]范圍之內(nèi),歸一化處理公式如下:
其中,xmin表示數(shù)據(jù)當中最小值,xmax表示數(shù)據(jù)當中最大值。
方向盤轉角原始數(shù)據(jù):7.438,7.438,7.438,7.438,7.438,5.95,5.95,5.95,5.95,8.925,8.925,7.438,7.438,7.438。
方向盤轉角歸一化后數(shù)據(jù):0.5,0.5,0.5,0.5,0.5,0,0,0,0,1,1,0.5,0.5,0.5。
橫向距離原始數(shù)據(jù):-1.445,-1.511,-1.578,-1.632,-1.691,-1.696,-1.624,-1.553,-1.444,-1.337,-1.299,-1.316,-1.379,-1.463,-1.539。
橫向距離歸一化后數(shù)據(jù):0.632,0.465,0.297,0.161,0.012,0,0.181,0.360,0.634,0.904,1,0.957,0.798,0.586,0.395。
橫向速度原始數(shù)據(jù):-0.541,-0.629,-0.551,-0.432,-0.272, 0.053,-0.461, 0.527, 0.521,0.447,0.064,-0.832,-1.071,-0.783,-0.630。
橫向速度歸一化后數(shù)據(jù):0.331,0.276,0.325,0.399,0.5,0.703,0.381,1,0.996,0.949,0.71,0.149,0,0.18,0.275。
本文中傳感器采集方向盤轉角、橫向速度、橫向距離參數(shù)數(shù)據(jù)的采樣頻率為10Hz,在1s中就會產(chǎn)生30個數(shù)據(jù)值,但是這些數(shù)據(jù)當中信息大部分是重疊的,直接輸入模型會增加模型的計算量,同時大量重疊信息有可能會導致模型出現(xiàn)過擬合現(xiàn)象。為了提高數(shù)據(jù)質(zhì)量,選擇具有代表性的數(shù)據(jù)同時去除冗余數(shù)據(jù),選擇K均值聚類法對輸入數(shù)據(jù)進行優(yōu)化。
首先選取k個數(shù)據(jù)點作為初始聚類點,計算剩余數(shù)據(jù)點與初始聚類點之間的距離,將它們分配到最近的聚類當中。之后不斷進行迭代,每次對聚類的數(shù)據(jù)點求平均值,計算新的聚類中心。重新計算數(shù)據(jù)點與聚類中心的距離,若數(shù)據(jù)點距新聚類中心的距離小于上次聚類的距離,就將該數(shù)據(jù)點移至新的聚類當中。這個過程反復進行直到滿足收斂條件為止。
選取了換道時1s之內(nèi)的數(shù)據(jù)為例進行K均值聚類,其中具體數(shù)據(jù)如表1所示。
表1 輸入表征參數(shù)數(shù)據(jù)
利用K均值聚類法將方向盤轉角、橫向速度、橫向距離參數(shù)數(shù)據(jù)分為三類。因為輸入的表征參數(shù)都是按照一定規(guī)律漸變的,在選取初始聚類中心時分別選取了序列為3、6和9的數(shù)據(jù)作為初始聚類中心,如表2所示。
表2 初始聚類中心
利用Matlab軟件中kmeans函數(shù)對數(shù)據(jù)進行K均值聚類后得到的新聚類中心如表3所示。
表3 最終聚類中心
將最終的聚類中心作為輸入樣本。通過對原始數(shù)據(jù)進行精簡,在去除冗余信息的同時保留了關鍵信息。
從試驗數(shù)據(jù)中挑選出換道和無意識車道偏離樣本數(shù)據(jù)共738組,其中換道包括417組數(shù)據(jù),占總樣本的56.5%。無意識車道偏離包括321組數(shù)據(jù),占總樣本的43.5%。從417組換道樣本中隨機挑選了367組樣本用于SVM模型訓練,剩余500組換道樣本用于測試。同樣從321組無意識車道偏離樣本中隨機選取271組樣本用于SVM模型訓練,剩余50組換道樣本用于測試。
時間窗口的大小控制著輸入SVM模型中的信息量的多少,輸入信息量太少,模型不能夠做出有效的識別。輸入信息量太多,可能會同時輸入不同運動狀態(tài)的信息也會影響模型識別準確率。時間窗口的選取對于SVM模型的識別準確率與識別效率有重要的影響。對采集到的417組換道樣本的換道時間進行統(tǒng)計可知,換道時間大部分集中于3s~14s之間,平均換道時間為7s。對321組無意識車道偏離樣本的持續(xù)時間進行統(tǒng)計可知,無意識車道偏離的持續(xù)時間主要集中于2s~7s之間,平均無意識車道偏離持續(xù)時間為4.7s。為了能夠有效地識別無意識車道偏離,時間窗口長度就需要小于平均無意識車道偏離持續(xù)時間,這樣才能保證模型能夠有效快速地識別大部分的無意識車道偏離行為[12]。因此選擇時間窗口寬度在0.5s~5.0s范圍之內(nèi),以0.5s為時間間隔,分別計算了不同時間窗口下模型的識別準確率。
表4 不同時間窗口下SVM識別率
由表4可知,SVM總體識別準確率是隨著時間窗口的增加先增加后減小的,其中SVM模型對于換道識別的準確率要普遍高于對于無意識車道偏離的識別率。在時間窗口為3.5s時,總體識別率達到最高為83%。但是當前SVM的識別準確率難以滿足LDWS系統(tǒng)的要求。
粒子群優(yōu)化算法(PSO)是一種群體智能優(yōu)化算法。PSO算法受到生物種群行為的啟發(fā)并將其運用到尋找最優(yōu)化的問題上。PSO算法當中每一個粒子代表了SVM模型中一組可能最優(yōu)參數(shù)。選擇SVM模型的誤差值作為適應度函數(shù),每一個粒子的適應度值由適應度函數(shù)決定,粒子適應度的大小決定了該粒子品質(zhì)的優(yōu)劣。粒子的速度表示了粒子在PSO算法當中的移動距離和方向。速度跟隨其自身以及周圍粒子的經(jīng)驗進行動態(tài)調(diào)整[13]。通過速度、位置和適應度指標來表示粒子特征。粒子在參數(shù)空間運動過程中,利用群體極值Gbest和個體極值Pbest不斷更新粒子位置,群體極值表示所有粒子尋找到適應度最優(yōu)的坐標,個體極值表示個體搜尋過程中得到的適應度最優(yōu)的坐標[14]。粒子位置每變更一次,對于適應度、群體極值和個體極值都需要重新更新[15]。最終獲取空間內(nèi)的SVM最優(yōu)化參數(shù)。其中PSO算法優(yōu)化SVM模型的流程如圖4所示。
圖4 PSO算法優(yōu)化SVM模型流程圖
SVM模型參數(shù)經(jīng)過PSO算法優(yōu)化后,計算出了SVM算法在不同時間窗口下對于換道和無意識車道偏離的識別準確率。
表5 優(yōu)化后不同時間窗口下SVM識別率
由表5可知,經(jīng)過粒子群優(yōu)化算法優(yōu)化后,SVM模型的識別準確率有明顯的提升。在時間窗口為3.5s時,SVM模型具有最高的識別準確率88%,其中換道識別準確率為90%,無意識車道偏離的識別準確率為86%,能夠滿足LDWS系統(tǒng)的要求。
因為車道偏離系統(tǒng)會混淆無意識車道偏離與換道行為,對換道行為進行有效識別可以降低車道偏離預警系統(tǒng)的誤報率。本文通過實車試驗分別采集了駕駛人在換道和無意識車道偏離時的方向盤轉角、橫向位移和橫向速度等數(shù)據(jù)。并通過擴展卡爾曼濾波、歸一化和K均值聚類方對數(shù)據(jù)進行預處理。建立了基于支持向量機的車道偏離識別模型。為了進一步提高支持向量機對于車道偏離的識別準確率,采用粒子群算法對支持向量機參數(shù)進行優(yōu)化。在時間窗口為3.5s時,支持向量機的總體識別率可以達到88%,降低了車道偏離預警系統(tǒng)的誤報率,減少了因為系統(tǒng)誤報對駕駛人造成的干擾。