尉志禮,胥 川,王雪松,王岳川
(1.西南交通大學(xué) 交通運(yùn)輸與物流學(xué)院,四川 成都 611756;2.西南交通大學(xué) 綜合交通運(yùn)輸智能化國(guó)家地方聯(lián)合工程實(shí)驗(yàn)室,四川 成都 610031;3.同濟(jì)大學(xué) 交通運(yùn)輸工程學(xué)院,上海 201804;4.道路交通集成優(yōu)化與安全分析技術(shù)國(guó)家工程實(shí)驗(yàn)室,江蘇 無錫 214151)
疲勞駕駛是一種危險(xiǎn)駕駛行為,會(huì)造成駕駛?cè)塑囕v操縱能力的退化,是引起道路交通事故的重要原因之一[1-2]。根據(jù)美國(guó)高速公路安全管理局的統(tǒng)計(jì),美國(guó)每年大約有328 000起事故由疲勞駕駛引發(fā),造成大約1 090億美元的損失[3]。美國(guó)汽車協(xié)會(huì)交通安全基金會(huì)的調(diào)查顯示,大約96%的駕駛?cè)苏J(rèn)為疲勞駕駛非常危險(xiǎn),但仍有大約24%的駕駛?cè)顺姓J(rèn)自己每30天會(huì)有1次在疲勞狀態(tài)下進(jìn)行駕駛的情況[4]。疲勞駕駛是中國(guó)高速公路事故的主要原因之一,2015年,中國(guó)有8.41%的道路事故和6.21%的高速公路事故由疲勞駕駛導(dǎo)致[5]。近年來,國(guó)內(nèi)外學(xué)者對(duì)疲勞駕駛的研究關(guān)注度越來越高[2]。
目前,交通運(yùn)輸行業(yè)對(duì)疲勞駕駛相當(dāng)重視,但是其治理仍然存在困難。在我國(guó),相關(guān)法律規(guī)定駕駛員連續(xù)駕駛4 h后必須進(jìn)行20 min的休息[6],相關(guān)部門也要求部分客運(yùn)及貨運(yùn)車輛安裝并使用衛(wèi)星定位系統(tǒng)并接入全國(guó)性平臺(tái)對(duì)車輛運(yùn)行時(shí)間進(jìn)行實(shí)時(shí)監(jiān)控[7]。一些公司推出了自己的疲勞監(jiān)控產(chǎn)品:Volvo在汽車上搭載能夠?qū)崟r(shí)監(jiān)控車輛運(yùn)動(dòng)狀態(tài)的疲勞預(yù)警系統(tǒng)[8];OPTALERT通過無線眼鏡檢測(cè)眼動(dòng)指標(biāo)來判斷駕駛員疲勞狀態(tài)并已投入商用[9]。盡管采取了一些措施,但是針對(duì)疲勞等級(jí)的判別,還需要更加準(zhǔn)確可靠的模型[10]。
按照測(cè)量設(shè)備與駕駛?cè)说念~外接觸關(guān)系,用以判別疲勞等級(jí)的測(cè)量指標(biāo)可以分為兩種:侵入測(cè)量指標(biāo)(有額外接觸測(cè)量)和無侵入測(cè)量指標(biāo)(無額外接觸測(cè)量)。侵入測(cè)量指標(biāo)主要有腦電信號(hào)、心電信號(hào)和肌電信號(hào)等生理信號(hào)[11-14],這類指標(biāo)具有可靠性強(qiáng)的優(yōu)點(diǎn),但是通常通過在駕駛?cè)吮砻嬲迟N電極獲取數(shù)據(jù),容易干擾正常駕駛。此外這類指標(biāo)的采集和處理需要多種昂貴的設(shè)備儀器和復(fù)雜的計(jì)算方法,特征參數(shù)提取時(shí)效性較差[1,11],因此還未廣泛應(yīng)用于實(shí)際。無侵入測(cè)量指標(biāo)主要通過對(duì)面部特征和車輛運(yùn)行狀態(tài)的檢測(cè)獲得,包括眼特征參數(shù)、口部特征、頭部位置以及車輛運(yùn)行參數(shù)等指標(biāo)。這些指標(biāo)的獲取方法不會(huì)對(duì)正常駕駛產(chǎn)生影響,因此具有更好的實(shí)際應(yīng)用前景。
目前,利用無侵入測(cè)量指標(biāo)進(jìn)行駕駛?cè)似诘燃?jí)判別已有很多研究。Zhang等[5]將疲勞狀態(tài)分為3個(gè)等級(jí),使用車輛運(yùn)行參數(shù)和眼動(dòng)指標(biāo)PERCLOS,并考慮時(shí)間積累效應(yīng),建立了logit模型進(jìn)行疲勞狀態(tài)識(shí)別,準(zhǔn)確度為62.84%;Shahverdy等[15]根據(jù)加速度、油門大小、速度和發(fā)動(dòng)機(jī)轉(zhuǎn)速來分析駕駛?cè)耸欠裉幱谄跔顟B(tài);Arefnezhad等[16]進(jìn)行了模擬駕駛試驗(yàn),根據(jù)車道中心偏移值標(biāo)準(zhǔn)差、橫向加速度、橫擺角速度、方向盤轉(zhuǎn)角和方向盤轉(zhuǎn)動(dòng)速率共5個(gè)車輛運(yùn)行特征參數(shù)和操作參數(shù)建立了三級(jí)疲勞等級(jí)判別模型,準(zhǔn)確度能夠達(dá)到96%;胥川等[17]基于模擬駕駛試驗(yàn)的數(shù)據(jù),計(jì)算出了23個(gè)無侵入測(cè)量指標(biāo),經(jīng)比較發(fā)現(xiàn),閉眼時(shí)間比例、平均瞳孔直徑、車道偏移標(biāo)準(zhǔn)差、方向盤反轉(zhuǎn)次數(shù)是用于疲勞等級(jí)判別最重要的指標(biāo);Chai等[18]從模擬駕駛試驗(yàn)的數(shù)據(jù)中設(shè)計(jì)了11個(gè)與方向盤有關(guān)的指標(biāo),并使用其中和疲勞等級(jí)有顯著關(guān)系的4個(gè)指標(biāo)分別建立了MOL模型、SVM和BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比分析,根據(jù)結(jié)果認(rèn)為考慮到個(gè)人差異的MOL模型效果最好。
用于對(duì)疲勞等級(jí)進(jìn)行判別的模型多種多樣,目前常見的模型有k近鄰算法[19]、Logit模型[5,17,18,20]、支持向量機(jī)[21-23]、神經(jīng)網(wǎng)絡(luò)[15,16,24,25]等。由于駕駛?cè)说钠跔顟B(tài)不能被直接觀察到,并且單一無侵入測(cè)量指標(biāo)和疲勞程度的相關(guān)性不高[26],給無侵入疲勞檢測(cè)帶來一定困難。而本研究所使用的隱馬爾可夫模型(hidden Markov model,HMM)由于其雙重隨機(jī)性的特征,能夠在可觀測(cè)狀態(tài)和隱含狀態(tài)之間建立聯(lián)系,同時(shí)該模型兼顧到了駕駛疲勞是隨時(shí)間變化的動(dòng)態(tài)隨機(jī)過程。此外,相比于人工神經(jīng)網(wǎng)絡(luò)等研究方法,HMM由于具有良好的監(jiān)控性能以及診斷效果,學(xué)習(xí)過程需要的數(shù)據(jù)樣本量更小,因此將其作為疲勞等級(jí)判別模型值得嘗試[27]。
Fu等[13]使用實(shí)車進(jìn)行試驗(yàn),根據(jù)獲取的EEG、EMG等侵入測(cè)量指標(biāo)的數(shù)據(jù)建立了動(dòng)態(tài)HMM,并證明了該模型用于疲勞等級(jí)判別行之有效;Liu等[14]將疲勞狀態(tài)劃分為了3個(gè)等級(jí),使用EEG等生理指標(biāo)建立了KPCA-HMM復(fù)合模型,最終模型的識(shí)別準(zhǔn)確度為84%,同樣他們也認(rèn)為HMM是用于判別疲勞等級(jí)的有效模型。目前使用HMM進(jìn)行疲勞等級(jí)判別的研究中,大多都使用侵入測(cè)量指標(biāo)進(jìn)行輸入[12-14,28],而使用無侵入測(cè)量指標(biāo)建立隱馬爾可夫模型進(jìn)行疲勞等級(jí)判別的研究較少。
本研究通過高仿真度駕駛模擬器進(jìn)行了模擬駕駛試驗(yàn),采集了駕駛行為數(shù)據(jù)、眼動(dòng)信號(hào)和主觀疲勞數(shù)據(jù),根據(jù)這些數(shù)據(jù)提取出了4個(gè)無侵入測(cè)量指標(biāo),結(jié)合能夠反映駕駛累計(jì)時(shí)間的駕駛?cè)?shù),將疲勞狀態(tài)分為3個(gè)等級(jí),建立了疲勞分級(jí)隱馬爾可夫模型對(duì)疲勞等級(jí)進(jìn)行判別,使用交叉驗(yàn)證的方式得到了模型的判別準(zhǔn)確度,并建立了支持向量機(jī)用以對(duì)比。
試驗(yàn)采用如圖1所示的同濟(jì)大學(xué)高仿真度駕駛模擬器。該模擬器可實(shí)現(xiàn)八自由度駕駛仿真,模擬艙內(nèi)含有一臺(tái)專用的梅甘娜3系轎車,并安裝了一些必要的傳感器和音響系統(tǒng),試驗(yàn)時(shí)與駕駛實(shí)車的操作基本相同。駕駛過程中的視覺信息主要通過柱面沉浸式投影系統(tǒng)和3塊模擬后視鏡的LED屏幕提供。這套系統(tǒng)的有效性已通過測(cè)試,模擬器的仿真度可以滿足本研究需要。
圖1 高仿真度駕駛模擬試驗(yàn)平臺(tái)Fig.1 High-fidelity driving simulation experiment platform
同時(shí)在試驗(yàn)過程中使用四通道SmartEye眼動(dòng)儀對(duì)眼動(dòng)信號(hào)進(jìn)行采集,該眼動(dòng)儀能實(shí)現(xiàn)二自由度目光追蹤和六自由度頭部跟蹤。同時(shí)配備了4個(gè)攝影裝置,用于拍攝駕駛?cè)说拿娌恳曨l,跟蹤頭部方向。
駕駛?cè)斯?2名,年齡最小為22歲,最大為52歲,平均年齡為33.6±7.5歲(平均值±標(biāo)準(zhǔn)差)。所有的受測(cè)人員均持有駕照,無精神疾病、睡眠相關(guān)疾病,不需要長(zhǎng)期服用藥物。受測(cè)之前24 h內(nèi)未飲用酒精飲料、咖啡或功能型飲料。
由于本試驗(yàn)主題有關(guān)疲勞駕駛,因此需要部分駕駛?cè)嗽趨⒓釉囼?yàn)之前進(jìn)行預(yù)先疲勞生成,分為兩種情況。第1種情況要求駕駛?cè)嗽谇耙灰拐共凰X后,于第2天早上8點(diǎn)進(jìn)行試驗(yàn);第2種情況要求駕駛?cè)嗽谇耙灰拐K? h后,在午飯后下午1點(diǎn)進(jìn)行試驗(yàn)。
模擬駕駛器中的試驗(yàn)道路如圖2所示,是一條長(zhǎng)為20 km,車道寬為3.75 m,雙向六車道的環(huán)形郊區(qū)高等級(jí)高速公路。該道路由6條長(zhǎng)2 km的直線路段(路段編號(hào):1,3,5,9,11,13),8條半徑較大的S型曲線(路段編號(hào):2,4,6,8,10,12,14,16),2條半徑為700 m的圓曲線(路段編號(hào):7,15)路段構(gòu)成。為排除試驗(yàn)道路線形對(duì)指標(biāo)的影響,只對(duì)6條直線路段所收集的數(shù)據(jù)進(jìn)行處理分析。
圖2 試驗(yàn)道路的線形Fig.2 Alignment of experiment road
駕駛道路兩旁設(shè)置有一些使人更有真實(shí)感的建筑群村落、綠色植物。道路上設(shè)置不占試驗(yàn)車輛所行駛車道的交通環(huán)境車輛,不設(shè)置任何隧道,不安排任何不良天氣和環(huán)境干擾(如道路橫風(fēng)、雨雪天氣),試驗(yàn)均在白天進(jìn)行。
測(cè)試前,所有駕駛?cè)诵杼顚戱{駛?cè)嘶拘畔⒄{(diào)查表和疲勞狀態(tài)調(diào)查表。然后進(jìn)行5 min模擬駕駛試駕,以提前適應(yīng)模擬駕駛器的操作。
在試驗(yàn)過程中要求駕駛?cè)藢④囁俦3衷?20 km/h 左右,全程使用自動(dòng)擋,并且要求在駕駛車輛過程中遵守交通規(guī)則,不進(jìn)行干擾駕駛的活動(dòng),如嚼口香糖、使用手機(jī)、聽音樂廣播、和他人聊天等。行駛到每一圈固定位置時(shí),試驗(yàn)工作人員詢問并記錄駕駛?cè)说闹饔^疲勞等級(jí)(Karolinska sleepiness scale,KSS)。行駛滿6圈后終止試驗(yàn),一次試驗(yàn)歷時(shí)約1 h。
隱馬爾可夫模型(hidden Markov model,HMM)是能夠描述含有隱含狀態(tài)的馬爾可夫過程的統(tǒng)計(jì)模型。隱馬爾可夫模型與普通馬爾可夫過程的區(qū)別是狀態(tài)隱含無法被直接觀察到,需要通過可觀測(cè)狀態(tài)確定隱含狀態(tài)的變化過程。
駕駛過程中,駕駛?cè)说钠跔顟B(tài)是隱含狀態(tài),無法被直接觀測(cè),而在狀態(tài)變化過程中駕駛?cè)说母黜?xiàng)無侵入測(cè)量指標(biāo)都是可以被觀察到的,通過對(duì)這些指標(biāo)的監(jiān)測(cè)和觀察,可以推斷出駕駛?cè)似跔顟B(tài)的變化,符合上述隱馬爾可夫模型的特點(diǎn),因此本研究使用該模型實(shí)現(xiàn)對(duì)疲勞等級(jí)的判別。
隱馬爾可夫模型有兩個(gè)重要假設(shè):
第一,齊次馬爾可夫假設(shè)。即馬爾可夫過程的無后效性,是指駕駛過程中,t+1時(shí)刻的疲勞狀態(tài)概率分布只與t時(shí)刻的疲勞狀態(tài)有關(guān),與t時(shí)刻之前的疲勞狀態(tài)概率分布無關(guān),用公式表達(dá)為:
P(qt+1|qt,qt-1,…,q1)=P(qt+1|qt),
(1)
式中,qt為t時(shí)刻下的疲勞狀態(tài)。
第二,觀察獨(dú)立假設(shè)。即t時(shí)刻的可觀測(cè)狀態(tài)只與t時(shí)刻的疲勞狀態(tài)有關(guān),與之前的疲勞狀態(tài)和觀察值都無關(guān),用公式可以表達(dá)為:
P(ot|qt,qt-1,…,q1,ot-1,…,o1)=P(ot|qt),
(2)
式中,ot為t時(shí)刻的可觀測(cè)狀態(tài)。
隱馬爾可夫模型表示為λ=[N,M,A,B,π],其中各參數(shù)意義如下:
N是指疲勞狀態(tài)的數(shù)量,設(shè)N個(gè)疲勞狀態(tài)分別為S1,S2,…,SN,那么qt∈(S1,S2,…,SN)。本研究中駕駛疲勞被劃分為3種狀態(tài),分別是清醒或輕微疲勞,中度疲勞和嚴(yán)重疲勞,所以N的值為3。
M是指可觀測(cè)狀態(tài)的數(shù)量,設(shè)M個(gè)可觀測(cè)狀態(tài)分別為V1,V2,…,VM,并記t時(shí)刻觀察到的狀態(tài)為ot,那么ot∈(V1,V2,…,VM)。
A為狀態(tài)轉(zhuǎn)移矩陣,A={aij|i,j=1,2,…,N},其中:
aij=P(qt+k=Sj|qt=Si)。
(3)
B為觀測(cè)概率矩陣,是隨機(jī)變量或隨機(jī)矢量在各狀態(tài)的觀察概率空間中的分布,可以表示為B=(bjk)N×M,其中:
bjk=P(ot=Vk|qt=Sj),
(4)
式中,bjk表示在t時(shí)刻對(duì)應(yīng)的疲勞狀態(tài)為Sj時(shí),可觀測(cè)狀態(tài)為Vk的概率。
除狀態(tài)轉(zhuǎn)移矩陣和觀測(cè)概率矩陣外,還需要確定初始概率分布π。
π為初始概率分布,用于描述在t=1時(shí),即初始時(shí)刻各個(gè)疲勞狀態(tài)的出現(xiàn)概率,即π=(π1,π2,…,πN)T,其中:
πi=P(q1=Si),i=1,2,…,N,
(5)
HMM建模流程如下:首先進(jìn)行試驗(yàn)采集數(shù)據(jù),篩選并處理數(shù)據(jù)后提取指標(biāo)用以建模。建模時(shí)統(tǒng)計(jì)疲勞狀態(tài)和可觀測(cè)狀態(tài)來獲取模型各項(xiàng)參數(shù)值,最后使用交叉驗(yàn)證方式得到模型精度。
本研究中交叉驗(yàn)證具體做法如下:由于訓(xùn)練HMM需要根據(jù)試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)得到狀態(tài)轉(zhuǎn)移矩陣,要求每個(gè)駕駛?cè)藬?shù)據(jù)完整,所以按照駕駛?cè)藢?shù)據(jù)隨機(jī)分為4組,每組有3位駕駛?cè)说臄?shù)據(jù)。分組完成后,將第1組數(shù)據(jù)作為測(cè)試集計(jì)算精確度,其余組的數(shù)據(jù)作為訓(xùn)練集進(jìn)行建模;完成1次建模和測(cè)試后,將第2組作為測(cè)試集,其余各組數(shù)據(jù)作為訓(xùn)練集進(jìn)行建模。以此類推,直至完成4次建模和計(jì)算,最后取4次判別準(zhǔn)確度的平均值來作為模型的整體精確度。
該建模過程需要涉及到以下兩個(gè)問題和相應(yīng)算法。
(1)訓(xùn)練問題:已知一個(gè)給定的可觀測(cè)狀態(tài)序列O=(o1,…,ot,…,oT),不斷地調(diào)整模型的參數(shù)λ=[N,M,A,B,π],使該序列的概率P(O|λ)最大,即不斷優(yōu)化參數(shù)使模型能夠準(zhǔn)確地描述該可觀測(cè)狀態(tài)的生成方式。
訓(xùn)練問題分兩種,疲勞狀態(tài)和可觀測(cè)狀態(tài)值都給出并進(jìn)行HMM建模的學(xué)習(xí)是監(jiān)督學(xué)習(xí);只給出可觀測(cè)狀態(tài)序列,未給出疲勞狀態(tài)序列的學(xué)習(xí)是非監(jiān)督學(xué)習(xí)。本研究中的問題屬于監(jiān)督學(xué)習(xí),使用統(tǒng)計(jì)的方法計(jì)算各個(gè)參數(shù)的初始值,具體公式如下:
(6)
(7)
(8)
(2)解碼問題:已知一組可觀測(cè)狀態(tài)值的序列O,通過疲勞狀態(tài)檢測(cè)模型尋找一個(gè)最匹配的疲勞狀態(tài)序列Q。
解碼問題通常使用Viterbi算法進(jìn)行解決,定義變量:
δt(i)=maxP(o1,…,ot,q1,…,qt-1,qt=Si|λ),
(9)
式中,δt(i)為t時(shí)刻由一組疲勞狀態(tài)序列q1,…,qt-1,qt且qt=Si推導(dǎo)得到的可觀測(cè)狀態(tài)序列。
那么可以推導(dǎo)得到:
δt+1(j)=maxP(o1,…,ot+1,q1,…,qt,
qt+1=Sj|λ)。
(10)
得到遞推公式:
(11)
記ψt+1(j)=arg max(δt(i)aij),表示在t+1時(shí)刻疲勞狀態(tài)為Sj的所有單個(gè)狀態(tài)轉(zhuǎn)移路徑中概率最大的轉(zhuǎn)移路徑中t時(shí)刻的疲勞狀態(tài)[29]。利用ψt+1(j)即可進(jìn)行回溯找到生成既定可觀測(cè)狀態(tài)序列的概率最大的疲勞狀態(tài)序列。
試驗(yàn)過程中采集了以下4大類原始數(shù)據(jù):
(1)眼動(dòng)數(shù)據(jù)
通過眼動(dòng)儀所采集的各種信號(hào)[30],如眨眼頻率、眨眼時(shí)間、閉眼時(shí)間、瞳孔直徑、眼瞼開度等。
(2)操作數(shù)據(jù)
駕駛?cè)藢?duì)于車輛的控制數(shù)據(jù),如駕駛檔位、方向盤角度、剎車踏板力、油門開度等。
(3)車輛運(yùn)行特征數(shù)據(jù)
車輛的運(yùn)行參數(shù)數(shù)據(jù),如車輛橫縱加速度、行駛速度、橫向速度、車道偏移值等。
(4)主觀疲勞等級(jí)
主觀疲勞程度量表,即KSS量表,分為9個(gè)等級(jí),常用于快速測(cè)量疲勞程度,見表1。KSS疲勞等級(jí)已經(jīng)證明和眼動(dòng)圖(EOG)的變化有顯著的相關(guān)性并且能夠有效地反映疲勞對(duì)駕駛?cè)蝿?wù)的影響[31]。在試驗(yàn)過程中,駕駛?cè)嗽诿咳Φ墓潭ㄎ恢脜R報(bào)KSS等級(jí)。
表1 主觀疲勞程度量表Tab.1 Karolinska sleepiness scale
本研究將駕駛?cè)说钠诔潭确譃?個(gè)等級(jí)[32]:1≤KSS≤6時(shí),駕駛?cè)似跔顟B(tài)為清醒或輕微疲勞,記為疲勞等級(jí)Ⅰ;KSS=7時(shí),駕駛?cè)似跔顟B(tài)為中度疲勞,記為疲勞等級(jí)Ⅱ;8≤KSS≤9時(shí),駕駛?cè)似跔顟B(tài)為嚴(yán)重疲勞,記為疲勞等級(jí)Ⅲ。
KSS是駕駛?cè)酥饔^報(bào)告的數(shù)據(jù),和實(shí)際的疲勞程度可能存在偏差。因此,為提高疲勞程度的準(zhǔn)確度,在試驗(yàn)過程中還錄制了駕駛?cè)说拿娌恳曨l。在試驗(yàn)結(jié)束后,由經(jīng)過專門訓(xùn)練的研究人員觀看視頻,通過對(duì)駕駛?cè)说难鄄€開度、眼球活動(dòng)、注意力、反應(yīng)等對(duì)所有駕駛?cè)说腒SS進(jìn)行評(píng)定和修正。
本研究需要從試驗(yàn)原始數(shù)據(jù)中計(jì)算眼動(dòng)和駕駛行為指標(biāo)并輸入進(jìn)隱馬爾可夫模型。眼動(dòng)指標(biāo)是對(duì)眼動(dòng)儀采集的數(shù)據(jù)進(jìn)行處理后,根據(jù)眼動(dòng)參數(shù)計(jì)算得出的,主要包括閉眼時(shí)間比例(PERCLOS)、平均眨眼時(shí)間(Blink_duration)、平均瞳孔直徑(Pupil)、平均眨眼頻率(Blink_Frequency)等。駕駛行為是指駕駛?cè)瞬僮鞯臄?shù)據(jù)和車輛運(yùn)行的特征數(shù)據(jù)。本研究結(jié)合以往的相關(guān)研究,從試驗(yàn)原始數(shù)據(jù)中提取了5個(gè)指標(biāo),具體的指標(biāo)和描述見表2。
表2 試驗(yàn)數(shù)據(jù)中提取出的指標(biāo)Tab.2 Indicators extracted from experimental data
表2中的駕駛?cè)?shù)代表駕駛?cè)嗽谠囼?yàn)中處在第幾圈,從過往研究可知,疲勞程度會(huì)隨著駕駛時(shí)長(zhǎng)加深[5],故使用該指標(biāo)。
為了消除操作不當(dāng)和儀器誤差帶來的影響,需要對(duì)數(shù)據(jù)中的異常值進(jìn)行識(shí)別和替換。采用箱線圖法進(jìn)行異常值識(shí)別,原理如下:
計(jì)算出75%分位數(shù)和25%分位數(shù)的差值,即四分位差數(shù),記為IQR:
IQR=Q2-Q1,
(12)
式中,Q1為25%分位數(shù);Q2為75%分位數(shù)。
以Q2+1.5IQR為上限、Q1-1.5IQR為下限識(shí)別異常值,超出上下限的異常值使用該圈下的均值進(jìn)行替換。在替換完成后重新進(jìn)行異常值識(shí)別和替換,重復(fù)進(jìn)行直至不存在異常值為止。
結(jié)果顯示,LP_stdev替換了15個(gè)異常值,PERCLOS替換了28個(gè)異常值,Pupil替換了1個(gè)異常值,SWM_Re沒有異常值。通過以上分析,最后確認(rèn)了Round,LP_stdev,PERCLOS,Pupil以及SWM_Re共5個(gè)參數(shù)作為疲勞等級(jí)判別的指標(biāo)。
本研究根據(jù)KSS將疲勞程度分為了3個(gè)等級(jí):清醒或輕微疲勞,中度疲勞以及嚴(yán)重疲勞。為了和疲勞等級(jí)相對(duì)應(yīng),所有的指標(biāo)參數(shù)也應(yīng)該通過聚類分為3個(gè)等級(jí),隨后進(jìn)行組合形成綜合觀察狀態(tài)。如果每個(gè)指標(biāo)都分為3個(gè)等級(jí),一共有3的5次方,即243個(gè)可觀測(cè)狀態(tài),那么隱馬爾可夫的觀測(cè)矩陣就會(huì)有243列,而本研究使用的數(shù)據(jù)一共420條,也就是說觀測(cè)概率矩陣將會(huì)變得非常稀疏,模型的可靠性會(huì)受到影響;并且直接使用所有指標(biāo)無可避免的會(huì)受到數(shù)據(jù)中雜質(zhì)的影響。因此,本研究在構(gòu)建隱馬爾可夫模型前,先對(duì)確定下來的指標(biāo)使用主成分分析(principal component analysis,PCA)進(jìn)行降維,降維過后選擇前兩個(gè)主成分進(jìn)行模糊C均值聚類,每個(gè)主成分聚為3類,得到9類綜合可觀測(cè)狀態(tài),最終完成HMM的建立。
記重要度最高的2個(gè)主成分為C1和C2,2個(gè)主成分的組成分別為:
C1=-0.456×Round-0.382×LP_stdev-0.607×
PERCLOS+0.521×Pupil-0.072×SWM_Re
C2=0.063×Round-0.257×LP_stdev+0.323×
PERCLOS+0.368×Pupil+0.831×SWM_Re。
對(duì)這2個(gè)主成分進(jìn)行模糊C均值聚類。為了和疲勞等級(jí)對(duì)應(yīng),C1和C2在進(jìn)行聚類時(shí)的類別數(shù)選擇為3,聚類中心見表3。
表3 C1和C2聚類中心Tab.3 Clustering centers of C1 and C2
由于每一個(gè)主成分都有3種狀態(tài),因此融合C1、C2這2個(gè)主成分后,共有32=9種可觀測(cè)狀態(tài),記為1至9。
在隱馬爾可夫模型結(jié)構(gòu)方面,3種疲勞狀態(tài)之間可以相互轉(zhuǎn)換,此外,同一種狀態(tài)也能維持不變。根據(jù)以上假設(shè)可以得到如圖3所示的隱馬爾可夫模型結(jié)構(gòu)。
圖3 疲勞分級(jí)隱馬爾可夫模型結(jié)構(gòu)Fig.3 Drowsiness classification HMM structure
本研究使用了交叉驗(yàn)證的方式來得到模型精度,將12個(gè)駕駛?cè)穗S機(jī)平均分成了4組,一共建立4次模型。下面以其中一組作為測(cè)試集,其余組作為訓(xùn)練集建模時(shí)的模型參數(shù)為例進(jìn)行說明。
進(jìn)行隱馬爾可夫模型的構(gòu)建時(shí),需要計(jì)算出關(guān)鍵性的參數(shù):狀態(tài)轉(zhuǎn)移矩陣A(由疲勞狀態(tài)序列得出)、初始狀態(tài)概率分布π(由疲勞狀態(tài)序列得出)、觀測(cè)概率矩陣B(由疲勞狀態(tài)序列和可觀測(cè)狀態(tài)序列得出)。
狀態(tài)轉(zhuǎn)移概率矩陣A的具體計(jì)算方法為統(tǒng)計(jì)訓(xùn)練集中駕駛?cè)似诘燃?jí)變化的情況。訓(xùn)練集中共統(tǒng)計(jì)到了303次疲勞狀態(tài)轉(zhuǎn)移的情況,得到的狀態(tài)轉(zhuǎn)移矩陣如下式所示:
(13)
可以看出,9名駕駛?cè)藦那逍鸦蜉p微疲勞發(fā)生狀態(tài)轉(zhuǎn)移的總次數(shù)為137,在下一次統(tǒng)計(jì)狀態(tài)時(shí),保持該狀態(tài)不變的次數(shù)有130次,所以a11=130/137;而從清醒或輕微疲勞狀態(tài)轉(zhuǎn)變?yōu)橹卸绕跔顟B(tài)的次數(shù)有7次,所以a12=7/137;沒有出現(xiàn)從清醒狀態(tài)直接轉(zhuǎn)換為嚴(yán)重疲勞狀態(tài)的情況,所以a13=0。從這3項(xiàng)數(shù)據(jù)體現(xiàn)出駕駛?cè)嗽谔幱谇逍鸦蜉p微疲勞狀態(tài)時(shí),大概率會(huì)保持這個(gè)狀態(tài)進(jìn)入下一個(gè)路段的駕駛,較低概率進(jìn)入中度疲勞狀態(tài),不會(huì)跳過中度疲勞狀態(tài)直接進(jìn)入嚴(yán)重疲勞狀態(tài)。從第2行的數(shù)據(jù)看出,駕駛?cè)藦闹卸绕跔顟B(tài)發(fā)生狀態(tài)轉(zhuǎn)移的總數(shù)量為128,他們?cè)谶M(jìn)入下一圈重新變成清醒狀態(tài)的次數(shù)為1,即a21=1/128;保持該狀態(tài)進(jìn)入下一路段的次數(shù)為122,所以a22=122/128;從中度疲勞狀態(tài)進(jìn)入嚴(yán)重疲勞狀態(tài)的次數(shù)為5,a23=5/128。從第2行的數(shù)據(jù)體現(xiàn)出,試驗(yàn)者在處于中度疲勞狀態(tài)時(shí),幾乎不會(huì)在接下來的路段中轉(zhuǎn)移為清醒或輕微疲勞狀態(tài),維持不變的概率最大,轉(zhuǎn)變?yōu)閲?yán)重疲勞狀態(tài)的概率也較小。駕駛?cè)颂幱趪?yán)重疲勞狀態(tài)的數(shù)量有50次,沒有出現(xiàn)轉(zhuǎn)換為清醒或輕微疲勞狀態(tài)的情況,所以a31=0;轉(zhuǎn)換為中度疲勞狀態(tài)的次數(shù)有1次,所以a32=1/50;保持該狀態(tài)不變的次數(shù)為50次,所以a33=49/50。從第3行的數(shù)據(jù)看出如果駕駛?cè)艘呀?jīng)處于嚴(yán)重疲勞狀態(tài),那么他們不會(huì)在短時(shí)間內(nèi)重新回到清醒或輕微疲勞狀態(tài),回到中度疲勞狀態(tài)的概率也較低,保持該狀態(tài)進(jìn)入下一圈測(cè)試的概率很大。
根據(jù)狀態(tài)統(tǒng)計(jì),可以計(jì)算得出初始狀態(tài)概率分布π:
(14)
一共觀測(cè)到324個(gè)疲勞狀態(tài),其中清醒或輕微疲勞狀態(tài)占到了138次,以此類推,得到其余兩個(gè)狀態(tài)的初始概率分布。
觀測(cè)概率矩陣B同樣使用統(tǒng)計(jì)的方法來計(jì)算,統(tǒng)計(jì)疲勞狀態(tài)和可觀測(cè)狀態(tài)的情況,具體步驟如下:
每一種疲勞狀態(tài)都對(duì)應(yīng)9種可觀測(cè)狀態(tài),因此原始觀測(cè)概率矩陣B為:
(15)
根據(jù)式(8)計(jì)算出B中各元素的值。同樣以b11為例,在疲勞等級(jí)為Ⅰ(清醒或輕微疲勞)的前提下,可觀測(cè)狀態(tài)為1的概率。根據(jù)統(tǒng)計(jì),疲勞等級(jí)為Ⅰ的總數(shù)為138,在疲勞等級(jí)為Ⅰ的前提下,可觀測(cè)狀態(tài)為1的數(shù)目為3,因此b11=3/138,矩陣B中其他元素可以按照同樣的方法求出。
觀測(cè)概率矩陣B為:
(16)
使用R中的“HMM”包進(jìn)行建模,使用“e1071”包進(jìn)行聚類,各項(xiàng)指標(biāo)的預(yù)處理也在R中完成。
將測(cè)試集中的數(shù)據(jù)代入訓(xùn)練后的模型,并與實(shí)際得到的疲勞等級(jí)進(jìn)行對(duì)比和分析。HMM交叉驗(yàn)證的精度見表4。
表4 HMM判別結(jié)果Tab.4 Identification result by HMM
從表4中可以看出,預(yù)測(cè)精度最高的模型為第一組模型,總體預(yù)測(cè)精度為81.25%。該組模型在進(jìn)行識(shí)別時(shí),誤差主要來源于疲勞等級(jí)Ⅱ,即駕駛?cè)颂幱谥卸绕跔顟B(tài)時(shí)的情況,此時(shí)模型會(huì)有將狀態(tài)識(shí)別為清醒或輕度疲勞以及嚴(yán)重疲勞的傾向。
從所有結(jié)果來看,4組交叉驗(yàn)證的平均精度為77.26%,沒有出現(xiàn)當(dāng)疲勞等級(jí)為Ⅲ但預(yù)測(cè)結(jié)果為Ⅰ的情況,即駕駛?cè)说膶?shí)際疲勞等級(jí)為嚴(yán)重疲勞時(shí)不會(huì)判別為清醒或輕度疲勞。從表4中可以看出一組中的各個(gè)疲勞等級(jí)的數(shù)量并不完全均衡,一定程度上影響了判別精度。
如果去除駕駛?cè)?shù)這一指標(biāo),只使用駕駛行為指標(biāo)和眼動(dòng)指標(biāo),那么平均正確率只有55.61%,這表明能夠反映累計(jì)駕駛時(shí)間的駕駛?cè)?shù)是用以判別駕駛疲勞等級(jí)的有效指標(biāo)。值得注意的是,即使去除了駕駛?cè)?shù)這一指標(biāo)后,HMM在進(jìn)行疲勞等級(jí)判別時(shí),也并沒有出現(xiàn)將嚴(yán)重疲勞誤判為清醒或輕微疲勞的情況。
采用SVM,即支持向量機(jī)與本研究使用的HMM進(jìn)行對(duì)比。使用同樣的駕駛?cè)藬?shù)據(jù)和同樣的分組方式進(jìn)行交叉驗(yàn)證。使用R軟件中的“e1071”包進(jìn)行建模,每次建模都會(huì)選擇最優(yōu)的超參數(shù)C和γ。模型準(zhǔn)確度如表5所示。
表5 SVM判別結(jié)果Tab.5 Identification result by SVM
從表5中可以看出,SVM的精度明顯低于HMM的精度,并且出現(xiàn)了駕駛?cè)藢?shí)際疲勞等級(jí)為Ⅲ時(shí)預(yù)測(cè)疲勞等級(jí)為Ⅰ的情況,4組交叉驗(yàn)證的平均精度為65.02%,同時(shí),如果去除駕駛?cè)?shù)這一指標(biāo),平均正確率會(huì)下降到50.46%,再次表明駕駛?cè)?shù)是用以判別疲勞等級(jí)的有效指標(biāo)。
本研究將隱馬爾可夫模型應(yīng)用于駕駛疲勞等級(jí)的判別。從模擬駕駛數(shù)據(jù)中采集了駕駛操作數(shù)據(jù)、車輛運(yùn)行數(shù)據(jù)和眼動(dòng)數(shù)據(jù),并通過主觀疲勞程度量表獲取了主觀疲勞等級(jí)數(shù)據(jù)。從數(shù)據(jù)中提取了LP_stdev、SWM_Re、PERCLOS和Pupil共4個(gè)無侵入測(cè)量指標(biāo),結(jié)合駕駛?cè)?shù)建立了疲勞分級(jí)隱馬爾可夫模型,此外,還建立了支持向量機(jī)用以對(duì)比,得到了以下結(jié)論:
(1)無論是HMM還是SVM,引入駕駛?cè)?shù)都能夠提高模型的精度,這表明累計(jì)駕駛時(shí)間是用以判別疲勞等級(jí)的有效指標(biāo)。
(2)本研究中的疲勞分級(jí)隱馬爾可夫模型使用4個(gè)無侵入指標(biāo)和能夠反映累計(jì)駕駛時(shí)間的駕駛?cè)?shù)指標(biāo)進(jìn)行疲勞等級(jí)判別,不會(huì)對(duì)正常駕駛造成干擾,相對(duì)于使用侵入指標(biāo),實(shí)用性更強(qiáng)。
(3)當(dāng)使用無侵入測(cè)量指標(biāo)判別疲勞等級(jí)時(shí),疲勞分級(jí)隱馬爾可夫模型相對(duì)于SVM準(zhǔn)確度更高,4組交叉驗(yàn)證平均準(zhǔn)確度達(dá)到了77.26%。
(4)相對(duì)于SVM,疲勞分級(jí)隱馬爾可夫模型判別結(jié)果更加穩(wěn)定,不會(huì)出現(xiàn)將嚴(yán)重疲勞狀態(tài)誤判為清醒或輕微疲勞狀態(tài)的情況。
(5)當(dāng)用以判別駕駛?cè)似诘燃?jí)的指標(biāo)增加,綜合可觀測(cè)狀態(tài)的數(shù)量也會(huì)隨之增多,觀測(cè)概率矩陣也會(huì)變得稀疏,本研究中的疲勞分級(jí)隱馬爾可夫模型使用了PCA降維有效地解決了這個(gè)問題,提升了模型的普適性。
本研究通過駕駛模擬器進(jìn)行試驗(yàn),還需要在實(shí)車試驗(yàn)中驗(yàn)證結(jié)論;駕駛?cè)嗽谙薅ǚ秶鷥?nèi)進(jìn)行了挑選,后續(xù)研究可以把研究范圍擴(kuò)展到其他重點(diǎn)駕駛?cè)巳后w并增加樣本量。除此之外,在試驗(yàn)中需要駕駛?cè)嗽诠潭ㄎ恢媒邮軉栐儾?bào)告KSS等級(jí),此行為可能會(huì)對(duì)精神狀態(tài)有一定干擾,未來可以建立通過面部視頻識(shí)別駕駛?cè)似诘燃?jí)的可靠標(biāo)準(zhǔn)和體系,直接通過駕駛?cè)嗣娌孔R(shí)別獲取其疲勞程度,不再采用問詢方式。