黃 好,賴建文,梁麗邊,蘇玉淋
(柳州五菱新能源汽車有限公司,廣西 柳州 545007)
路怒癥是汽車或其他機(jī)動(dòng)車的駕駛司機(jī)有攻擊性或發(fā)怒的行為,路怒癥的現(xiàn)象在世界各國(guó)十分普遍,已受到世界各國(guó)心理學(xué)家、交通安全學(xué)家、醫(yī)學(xué)家等多學(xué)科專家學(xué)者的普遍關(guān)注與研究[1]。近年來(lái)國(guó)內(nèi)外研究都表明,超過33%的駕駛員都患有路怒癥或有過“路怒”現(xiàn)象,且近年來(lái)呈上升趨勢(shì),且根據(jù)美國(guó)國(guó)家道路交通安全管制部門的預(yù)測(cè),大概有2/3的死亡事故都直接或者間接地與路怒駕車有關(guān)[2]。因此,準(zhǔn)確檢測(cè)出駕駛員的路怒癥情緒,及時(shí)進(jìn)行必要的干涉和調(diào)整,減少或避免因路怒癥導(dǎo)致的交通安全問題顯得尤為重要。
針對(duì)行路怒癥問題的在線檢測(cè)技術(shù),許多學(xué)者進(jìn)行了大量的研究工作[3]。賈云帆等[4]采用問卷調(diào)查方式研究了進(jìn)攻性駕車行為及路怒情緒的關(guān)聯(lián)性,發(fā)現(xiàn)男性駕駛品格因素中的路怒型及焦躁型分?jǐn)?shù)明顯高于女性。雷虎等[5]探究了駕駛員路怒癥的駕駛行為特征,設(shè)計(jì)了駕駛司機(jī)怒氣表達(dá)量表,發(fā)現(xiàn)路怒情緒與跟車和頻繁變道等行為有關(guān)。萬(wàn)平等[6]運(yùn)用線性方法擬合由方向盤轉(zhuǎn)角與車輛橫向位置組成的駕駛行為多元時(shí)間序列,建立基于支持向量機(jī)的憤怒駕駛狀態(tài)檢測(cè)模型。Wang等[7]通過建立無(wú)車道路、高速公路、都市道路等3種不同情況下道路環(huán)境,在迥異道路環(huán)境下對(duì)汽車司機(jī)的生理信號(hào),例如心電、肌電和呼吸等進(jìn)行衡量和解析,完成了檢測(cè)汽車司機(jī)相應(yīng)壓力的程度。以上研究雖然可以識(shí)別出駕駛的憤怒情緒,但是僅依靠駕駛員的生理特征或駕駛行為識(shí)別駕駛員的狀態(tài),識(shí)別精度有待進(jìn)一步提高。因此,為了提高路怒癥檢測(cè)計(jì)算的準(zhǔn)確性,需要融合駕駛員的面部表情與駕駛行為,將檢測(cè)算法轉(zhuǎn)換為多模態(tài)、多信息融合的駕駛員在線檢測(cè)。
利用車載裝置收集到的駕駛員人臉圖像和駕駛行為數(shù)據(jù)信息,通過更換權(quán)重改進(jìn)AdaBoost人臉檢測(cè)算法,進(jìn)而區(qū)分駕駛員的面部表情信息;并通過轉(zhuǎn)向盤角度變化率、加速及制動(dòng)踏板變化率獲取駕駛行為信息,依據(jù)支持向量機(jī)算法來(lái)實(shí)現(xiàn)駕駛行為非線性分類;綜合考慮面部表情和駕駛行為的影響,構(gòu)建了融合面部表情和駕駛行為的Fisher線性判別模型,得到了一種優(yōu)化后融合多信息的路怒癥識(shí)別方法,最后通過實(shí)例進(jìn)行驗(yàn)證。
Adaboost是Freund等[8]提出的一種自適應(yīng)的算法,Adaboost算法整合強(qiáng)分類器的規(guī)則不是事先確定好的,而是由構(gòu)成的若干弱分類器的性能決定,與其他算法相比,Adaboost需要迭代的次數(shù)更少。但AdaBoost算法在人臉檢測(cè)過程中會(huì)出現(xiàn)退化及樣本權(quán)重扭曲的問題[9],采取更新權(quán)重并建立限制要求,為每次更新AdaBoost算法建立特定閾值,閾值為某一次訓(xùn)練樣品權(quán)值的平均數(shù),即:
式中,N為樣品總數(shù),Km為第m次迭代時(shí)建立的閾值,Km,i表示算法的權(quán)值。
在Baidu AI官網(wǎng)的介紹頁(yè)面顯示,人類面部輪廓及五官的臉頰、眉、眼、鼻、口等有150個(gè)關(guān)鍵點(diǎn)之多,利用這些關(guān)鍵點(diǎn)Baidu人臉檢測(cè)就可以精確鎖定并高精度判定多類特征信息。生氣、憎惡、害怕、愉悅、悲傷、詫異、嘟嘴、搞怪、面無(wú)表情這9類情緒是目前Baidu AI平臺(tái)能判定出來(lái)的。依據(jù)Baidu AI平臺(tái)給定的人臉檢測(cè)訓(xùn)練集(x1,y1)…(xN,yN)中,xi為輸入的訓(xùn)練樣本,yi為分類的類別標(biāo)志。則訓(xùn)練集中的錯(cuò)誤率為
式中,cm為人臉檢測(cè)錯(cuò)誤率,可用訓(xùn)練集錯(cuò)劃分樣品的權(quán)重總和來(lái)表示。
為了節(jié)約開發(fā)成本,可將人臉識(shí)別系統(tǒng)內(nèi)置于車載系統(tǒng)中,主要通過攝像頭設(shè)備放置于駕駛員前方的儀表盤。但是在駕駛過程中,司機(jī)的頭部不是一個(gè)固定的姿勢(shì),會(huì)和攝像頭存在一個(gè)夾角,所以攝像頭拍取的人臉圖像不會(huì)百分百是正臉,也會(huì)有側(cè)臉。需要根據(jù)AdaBoost算法進(jìn)行處理,對(duì)算法的權(quán)值進(jìn)行迭代運(yùn)算:
式中,β為加權(quán)因子。
從式(3)可以看出,若迭代操作生成的加權(quán)因子低于當(dāng)前迭代的閾值,則增加下一次迭代的加權(quán),反之則維持固定權(quán)值。通過改進(jìn)AdaBoost算法,能夠有效防止樣本量連續(xù)增加而導(dǎo)致人臉檢測(cè)算法性能下降的現(xiàn)象。
依據(jù)模擬駕駛的方法,依靠駕駛培訓(xùn)模擬器收集駕駛行為數(shù)據(jù),駕駛培訓(xùn)模擬器科學(xué)收集轉(zhuǎn)向盤角度變化、加速以及制動(dòng)踏板等部件的數(shù)據(jù)訊息,以此來(lái)反映駕駛員的駕駛行為。依據(jù)駕駛員操控車輛的穩(wěn)定性來(lái)判定駕駛行為,選取轉(zhuǎn)向盤角度變化率、加速及制動(dòng)踏板變化率兩個(gè)特征參數(shù),獲取駕駛行為樣本探究向量{轉(zhuǎn)向盤角度變化率,加速及制動(dòng)踏板變化率,駕駛行為標(biāo)志}。并將收集到的駕駛行為數(shù)據(jù)實(shí)施求導(dǎo),以便于求出其數(shù)據(jù)的變化率。
向量機(jī)支持算法能夠處理線性劃分相關(guān)的問題,該方法使用特定的核函數(shù)把起初樣品區(qū)域的向量數(shù)據(jù)投影至別的樣品特征向量區(qū)域內(nèi),依據(jù)采用向量機(jī)支持算法研究駕駛行為特性。假定樣本為(xi,yi),i=1,…,n,y∈{-1,1},建立且尋求約束最優(yōu)化問題:
利用向量機(jī)支持算法求解出分類的超平面線,通過改變參數(shù)提高駕駛行為分類的間隔,可以實(shí)現(xiàn)樣品中駕駛安全行為和危險(xiǎn)行為的精確劃分。將劃分平面的法向量定義為w*,且
其中向量支持定義為S.vec,而向量支持相對(duì)的系數(shù)就是S.cof;b*是常數(shù)項(xiàng)。向量機(jī)支持算法練習(xí)集會(huì)根據(jù)不同交通環(huán)境,需要根據(jù)安全駕駛數(shù)據(jù)及危險(xiǎn)駕駛數(shù)據(jù)來(lái)訓(xùn)練習(xí)駕駛行為判別方案,其中在都市判定函數(shù)中,可取b*=0.748;在高速判定函數(shù)中,可取b*=0.584。
設(shè)定各個(gè)時(shí)段片中轉(zhuǎn)向盤角度變化率作為一個(gè)特征,加速與制動(dòng)踏板的變化率設(shè)定為另一個(gè)特征。然后設(shè)定各個(gè)時(shí)段片向量均有專屬的標(biāo)志,安全駕駛則用1標(biāo)志,危險(xiǎn)駕駛則用-1來(lái)標(biāo)志。通過支持向量機(jī)算法來(lái)實(shí)現(xiàn)駕駛行為非線性分類,并利用最優(yōu)分類平面來(lái)劃分駛安全行為和危險(xiǎn)行為,提高了駕駛行為識(shí)別的準(zhǔn)確性。
目前人們已經(jīng)越來(lái)越不滿足于單一生物信息,例如面部、語(yǔ)音等各種生理信息的判定研究結(jié)果,多信息結(jié)合的判定識(shí)別便開始受到越來(lái)越多研究人員的重視,結(jié)合多信息可以更深入提升判定的準(zhǔn)確率[10]。本研究綜合考慮面部表情與駕駛行為的影響,采取融合多信息的Fisher線性判別模型對(duì)路怒癥進(jìn)行判定。
Fisher線性判別方法是尋找一個(gè)(或一組)投影軸,在將樣本投影到該轉(zhuǎn)向軸上之后,樣本在其類別內(nèi)具有最小方差,類別之間具有最大方差,并且確保了最小方差的投影軸。如果在二維空間中有兩類樣品,若直接把樣品點(diǎn)映射至X軸或者Y軸上,可以發(fā)現(xiàn)這兩類樣品點(diǎn)根本無(wú)法被正確劃分。因此,可以通過找到一條合適的直線使得數(shù)據(jù)點(diǎn)在投影到直線后可以被分離。
在改進(jìn)AdaBoost算法的人臉識(shí)別模型和駕駛行為識(shí)別的支持向量算法的基礎(chǔ)上,然后依據(jù)以下步驟構(gòu)造Fisher線性判別模型:
步驟1:假定特征向量X=(x1,x2…xn1)T,Y=(y1,y2…yn2)T分別對(duì)應(yīng)駕駛員面部表情和駕駛行為信)息,若n1≠n2,則m=max(n1,n2)指定Y向量中yn2+1=yn2+2=…=ym=0。
步驟2:根據(jù)人臉檢測(cè)模型推算出面部表情最優(yōu)判定矢量,并根據(jù)駕駛行為識(shí)別算法推算出駕駛行為的最優(yōu)判定矢量,分別為φ*和η*。
步驟3:依據(jù)φ*和η*進(jìn)而獲取面部表情的Fisher判定矢量集{φ,1≤i≤m}和駕駛行為的Fisher判定矢量集{η,1≤i≤m},且m=max(n1,n2)。
步驟4:將面部表情矢量集與駕駛行為矢量集結(jié)合在一起,計(jì)算出路怒癥判定矩陣為Z=(z1,z2…zm)T,且zi=max{XTφi,YTηi}。
為了方便統(tǒng)一計(jì)算,將融合面部表情和駕駛行為的識(shí)別結(jié)果分為2類情緒:安全駕駛行為和危險(xiǎn)駕駛行為,并將安全駕駛行為標(biāo)記為非路怒情緒,將危險(xiǎn)駕駛行為標(biāo)記為路怒情緒。由于該怒癥識(shí)別方法綜合考慮了面部表情和駕駛行為的特征,提高了路怒癥識(shí)別的精度,能及時(shí)迅速地判斷出路怒情緒,可對(duì)路怒癥情緒進(jìn)行報(bào)警干涉,提高公共交通的治理程度。
為了驗(yàn)證優(yōu)化后的AdaBoost算法,本研究采取FDDB人臉數(shù)據(jù)庫(kù)實(shí)施測(cè)試,該數(shù)據(jù)庫(kù)存放有5171張人臉圖像,選取其中的200張圖像進(jìn)行測(cè)試。根據(jù)測(cè)試結(jié)果,原來(lái)的AdaBoost算法在總共34張有效人臉中,準(zhǔn)確識(shí)別出26張,正確率為76.5%,還有8張人臉識(shí)別失敗,失誤率為23.5%;而優(yōu)化的AdaBoost算法在總共34張有效人臉中,有效識(shí)別出了30張,識(shí)別正確率為88.2%,還有4張人臉識(shí)別出錯(cuò),失誤率為11.8%。綜上實(shí)驗(yàn)結(jié)果來(lái)分析,優(yōu)化后的AdaBoost算法的人臉檢測(cè)實(shí)驗(yàn),在各種復(fù)雜條件下都具有非常好的人臉識(shí)別準(zhǔn)確率,可以運(yùn)用于駕駛員人臉在線檢測(cè)。
在驗(yàn)證了AdaBoost算法精確性的基礎(chǔ)上,選取了某公交企業(yè)的10名駕駛員,分別測(cè)試了30組非憤怒數(shù)據(jù)和30組憤怒數(shù)據(jù),然后采用面部表情特征、駕駛行為信息特征和融合兩種特征對(duì)公交車司機(jī)情緒進(jìn)行判定,得到的情緒狀態(tài)識(shí)別結(jié)果見表1。
表1 公交車司機(jī)情緒狀態(tài)識(shí)別結(jié)果
由表1可以看出,使用融合面部表情和駕駛行為的路怒癥識(shí)別方法正確率為86%以上,明顯高于單獨(dú)使用駕駛?cè)嗣娌勘砬樘卣骰蝰{駛行為信息特征時(shí)的正確率,尤其是融合面部表情和駕駛行為算法對(duì)公交車司機(jī)的路怒情緒識(shí)別率達(dá)到了86.7%,說(shuō)明了本方法能夠更好識(shí)別公交車司機(jī)的路怒情緒。
通過更換權(quán)重改進(jìn)AdaBoost人臉檢測(cè)算法,并依據(jù)支持向量機(jī)算法來(lái)實(shí)現(xiàn)駕駛行為非線性分類,并綜合考慮面部表情和駕駛行為的影響,構(gòu)建了融合面部表情和駕駛行為的路怒癥識(shí)別方法,并通過實(shí)例計(jì)算得到:
(1)針對(duì)AdaBoost算法存在過訓(xùn)導(dǎo)致算法性能下降的問題,通過更換權(quán)重和建立閾值改進(jìn)AdaBoost人臉檢測(cè)算法,即使在大樣本量計(jì)算中也可保持良好的計(jì)算穩(wěn)定性。
(2)通過支持向量機(jī)算法對(duì)駕駛行為非線性分類,并利用最優(yōu)分類平面來(lái)劃分駛安全行為和危險(xiǎn)行為。
(3)由于該怒癥識(shí)別方法綜合考慮了面部表情和駕駛行為的特征,提高了路怒癥識(shí)別的精度,融合面部表情和駕駛行為的路怒癥識(shí)別方法的準(zhǔn)確率為86%以上,明顯高于單獨(dú)使用駕駛?cè)嗣娌勘砬樘卣骰蝰{駛行為信息特征時(shí)的正確率。