蔡素賢,杜超坎,周思毅,王雅斐
(1.漢納森(廈門(mén))數(shù)據(jù)股份有限公司,福建廈門(mén)361000:2.上海財(cái)經(jīng)大學(xué)信息管理與工程學(xué)院,上海200433)
公共交通的安全運(yùn)營(yíng)很大程度取決于駕駛員,而疲勞駕駛是導(dǎo)致交通事故的主要原因之一[1].當(dāng)駕駛員處于疲勞駕駛狀態(tài)時(shí),注意力不夠集中,無(wú)法快速應(yīng)對(duì)緊急情況,如突然的行人路過(guò)或前車(chē)緊急剎車(chē)等[2].因此,分析疲勞駕駛時(shí)駕駛員的行為特征,及時(shí)檢測(cè)疲勞駕駛,并提醒駕駛員集中注意力,對(duì)保證安全行車(chē)具有重要意義.
目前,國(guó)內(nèi)外對(duì)疲勞駕駛的客觀檢測(cè)方法主要有三種[3].(1)基于駕駛員生理指標(biāo),如腦電信號(hào)[4]、心電信號(hào)[5]、脈搏等;(2)基于駕駛員行為特征,如眼動(dòng)特征[6]、瞳孔大小、眨眼頻率等;(3)基于車(chē)輛運(yùn)行狀態(tài),如車(chē)道偏離、轉(zhuǎn)向盤(pán)握力[7]、轉(zhuǎn)向盤(pán)轉(zhuǎn)角[8]、油門(mén)剎車(chē)等.
第一種方法依賴(lài)于直接接觸駕駛員,需駕駛員佩戴設(shè)備進(jìn)行疲勞檢測(cè).通過(guò)駕駛員處于疲勞狀態(tài)時(shí)在生理指標(biāo)(如腦部組織含氧情況、心電信號(hào)、肌電信號(hào)等)特征上的變化,檢測(cè)駕駛員是否處于疲勞狀態(tài)[9].這種方法檢測(cè)疲勞駕駛準(zhǔn)確度高,但是成本高且有可能影響駕駛.第二種方法依賴(lài)于圖像檢測(cè),根據(jù)駕駛員的眼動(dòng)特征對(duì)駕駛員的疲勞狀態(tài)做出判斷[10].這種方法受周?chē)h(huán)境(如光暗)及攝像頭位置的影響較大.第三種方法中,通過(guò)分析正常與疲勞駕駛時(shí),車(chē)速、發(fā)動(dòng)機(jī)轉(zhuǎn)速、方向盤(pán)轉(zhuǎn)角、剎車(chē)、油門(mén)、車(chē)道偏離等數(shù)據(jù)的差異,生成用于檢測(cè)疲勞駕駛的模型[11].目前已有很多學(xué)者研究從車(chē)輛運(yùn)行時(shí)的方向盤(pán)轉(zhuǎn)角速度、車(chē)輛行駛速度、發(fā)動(dòng)機(jī)轉(zhuǎn)速等數(shù)據(jù)判斷疲勞駕駛員的疲勞狀態(tài).如利用BP神經(jīng)網(wǎng)絡(luò)對(duì)駕駛員疲勞駕駛時(shí)的車(chē)輛行駛特性進(jìn)行訓(xùn)練,并建立疲勞駕駛行為的檢測(cè)模型[12].其中,車(chē)道偏離依賴(lài)于道路車(chē)道情況(清晰度)的影響,較難采集.而轉(zhuǎn)向、油門(mén)剎車(chē)、車(chē)速等數(shù)據(jù)采集較為簡(jiǎn)單,同時(shí)較為穩(wěn)定可靠.研究表明,當(dāng)駕駛員處于疲勞狀態(tài)時(shí),對(duì)油門(mén)剎車(chē)、換擋及轉(zhuǎn)向盤(pán)等操作能力會(huì)下降[13].
當(dāng)前主流的疲勞駕駛檢測(cè)是通過(guò)防疲勞監(jiān)控設(shè)備對(duì)司機(jī)面部圖像進(jìn)行判別,這種方法在實(shí)際應(yīng)用中受到周?chē)h(huán)境及司機(jī)眼部大小的影響較大,同時(shí)設(shè)備較為昂貴.而通過(guò)車(chē)輛運(yùn)行數(shù)據(jù)進(jìn)行判別,成本較低,且數(shù)據(jù)較為可靠.目前,基于車(chē)輛運(yùn)行數(shù)據(jù)的疲勞駕駛研究大部分采用特定的實(shí)驗(yàn)數(shù)據(jù),與實(shí)際司機(jī)的駕駛有一定的偏差.本文以CAN(Controller Area Network)總線采集的真實(shí)的車(chē)輛運(yùn)行數(shù)據(jù)為基礎(chǔ),綜合分析疲勞駕駛的數(shù)據(jù)規(guī)律模式,其結(jié)論更符合實(shí)際情況,可有效用于司機(jī)的疲勞檢測(cè)與預(yù)警.
本文基于CAN總線采集實(shí)際的車(chē)輛運(yùn)行數(shù)據(jù)和防疲勞監(jiān)控設(shè)備上報(bào)的疲勞預(yù)警數(shù)據(jù),將車(chē)輛運(yùn)行數(shù)據(jù)切分為清醒狀態(tài)樣本與疲勞狀態(tài)樣本,構(gòu)建判斷疲勞駕駛的模型,實(shí)現(xiàn)通過(guò)車(chē)輛運(yùn)行數(shù)據(jù)檢測(cè)疲勞駕駛狀態(tài)的目的.整體流程如圖1所示.
圖1 基于車(chē)輛運(yùn)行數(shù)據(jù)的疲勞駕駛檢測(cè)流程Fig.1 Fatigue driving detection process based on vehicle operating data
(1)數(shù)據(jù)采集與傳輸.
數(shù)據(jù)采集部分包括實(shí)時(shí)采集車(chē)輛的運(yùn)行數(shù)據(jù)和疲勞預(yù)警的數(shù)據(jù),并通過(guò)GPRS/GSM/3G/4G 網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫(kù).其中,CAN總線采集的車(chē)輛運(yùn)行數(shù)據(jù)包括的維度主要有記錄日期和時(shí)間、車(chē)輛ID、駕駛員、位置經(jīng)度、位置緯度、CAN速度、上下行方向、電機(jī)轉(zhuǎn)速、發(fā)動(dòng)機(jī)轉(zhuǎn)速、檔位、電子剎車(chē)、手剎、油門(mén)踏板百分比、點(diǎn)火信號(hào)、司機(jī)制動(dòng)踏板開(kāi)度、開(kāi)關(guān)狀態(tài)(轉(zhuǎn)向燈信號(hào)、門(mén)開(kāi)關(guān)信號(hào)).防疲勞監(jiān)控報(bào)警數(shù)據(jù)主要包括記錄時(shí)間、線路ID、車(chē)牌號(hào)、駕駛員ID、預(yù)警的行為(疲勞相關(guān)的行為包括打哈欠、分神提醒和危險(xiǎn)駕駛)及視頻圖片.其中,分神提醒:當(dāng)發(fā)現(xiàn)駕駛員進(jìn)入瞌睡狀態(tài),或者低頭看手機(jī)1~3 s 等分神動(dòng)作,設(shè)備將發(fā)出分神提醒;危險(xiǎn)駕駛:觸發(fā)分神提醒后,仍然沒(méi)有恢復(fù)正常的駕駛姿勢(shì),則觸發(fā)危險(xiǎn)駕駛報(bào)警.
(2)疲勞駕駛與清醒狀態(tài)的數(shù)據(jù)切分.
疲勞駕駛數(shù)據(jù)的判斷規(guī)則為:當(dāng)某段時(shí)間持續(xù)上報(bào)疲勞駕駛相關(guān)的行為預(yù)警時(shí),專(zhuān)家根據(jù)上報(bào)的圖片和視頻再判斷該段時(shí)間司機(jī)是否為疲勞駕駛,若是,則為這段時(shí)間打上疲勞駕駛的標(biāo)簽.若未出現(xiàn)預(yù)警信息,則為這段時(shí)間打上清醒狀態(tài)的標(biāo)簽.基于時(shí)間段標(biāo)簽,將車(chē)輛運(yùn)行狀態(tài)數(shù)據(jù)切分為疲勞狀態(tài)數(shù)據(jù)和清醒狀態(tài)數(shù)據(jù).不同狀態(tài)數(shù)據(jù)最后再以1分鐘的時(shí)長(zhǎng)切割為一個(gè)樣本.
(3)構(gòu)建疲勞駕駛檢測(cè)模型.
基于疲勞駕駛樣本與清醒狀態(tài)樣本,構(gòu)建二分類(lèi)模型,使得可基于CAN采集的車(chē)輛運(yùn)行數(shù)據(jù)識(shí)別出疲勞駕駛,從而可在司機(jī)駕駛過(guò)程中,對(duì)疲勞狀態(tài)進(jìn)行預(yù)警,以提高駕駛安全.
本文基于車(chē)輛運(yùn)行數(shù)據(jù),構(gòu)建疲勞駕駛檢測(cè)模型,主要分為以下幾個(gè)步驟:首先從樣本數(shù)據(jù)中提取駕駛行為特征,包括司機(jī)對(duì)車(chē)速、油門(mén)踏板開(kāi)度、剎車(chē)踏板開(kāi)度、轉(zhuǎn)彎等的操作特征;再通過(guò)分析各個(gè)特征之間的相關(guān)關(guān)系以及特征與是否疲勞的關(guān)系;最后,采用隨機(jī)森林(Random Forest)算法對(duì)疲勞駕駛數(shù)據(jù)進(jìn)行判別,達(dá)到預(yù)警的目的.整體的模型框架如圖2所示.
圖2 構(gòu)建疲勞駕駛檢測(cè)模型Fig.2 Building a fatigue driving test model
數(shù)據(jù)源來(lái)自某公交公司同一條線路,通過(guò)詢(xún)問(wèn)3名公交司機(jī)來(lái)人工篩選出其疲勞駕駛和清醒狀態(tài)駕駛的CAN 數(shù)據(jù)(車(chē)輛運(yùn)行狀態(tài)數(shù)據(jù)),數(shù)據(jù)采集間隔為0.2 s.時(shí)間窗口設(shè)定為1 min,收集到的樣本數(shù)如表1所示.
表1 疲勞駕駛和清醒駕駛的樣本數(shù)量Table1 Number of samples for fatigue driving and conscious driving
疲勞駕駛樣本數(shù)量占比32.19%,將近1/3的比例.
當(dāng)司機(jī)處于疲勞駕駛時(shí),其對(duì)于車(chē)輛的駕駛預(yù)判能力和感知外界環(huán)境的能力會(huì)有所下降,導(dǎo)致司機(jī)對(duì)于車(chē)速、油門(mén)踏板、剎車(chē)踏板、轉(zhuǎn)彎等的控制穩(wěn)定性和靈活度與清醒狀態(tài)有一定的差異.因此,我們可從這些維度中提取與疲勞駕駛相關(guān)的特征.
CAN采集的與司機(jī)駕駛行為相關(guān)的車(chē)輛運(yùn)行數(shù)據(jù)維度包括:記錄時(shí)間、車(chē)牌號(hào)、駕駛員ID、檔位、速度、加速度、油門(mén)踏板開(kāi)度、剎車(chē)踏板開(kāi)度、轉(zhuǎn)向燈信號(hào)、門(mén)開(kāi)關(guān)信號(hào)以及GPS經(jīng)緯度.根據(jù)業(yè)務(wù)理解和數(shù)理統(tǒng)計(jì)的知識(shí),對(duì)收集的駕駛數(shù)據(jù)進(jìn)行特征提取,包括以下特征:
(1)車(chē)速的均值、中位數(shù)和標(biāo)準(zhǔn)差:車(chē)速均值表示車(chē)速的快慢、中位數(shù)描述車(chē)速的集中趨勢(shì),標(biāo)準(zhǔn)差表現(xiàn)司機(jī)對(duì)車(chē)速控制的平穩(wěn)性.
(2)車(chē)速的樣本熵.樣本熵(SampEn)是一種用于度量時(shí)間序列復(fù)雜性的方法.
(3)加速度的均值、中位數(shù)和標(biāo)準(zhǔn)差.
(4)加速度絕對(duì)值>2 m/s2的比例:統(tǒng)計(jì)每分鐘記錄的加速度絕對(duì)值>2 m/s2的記錄次數(shù)占總記錄數(shù)的比例.加速度絕對(duì)值超過(guò)閾值2 m/s2說(shuō)明司機(jī)急加速或急剎車(chē).
(5)油門(mén)踏板開(kāi)合度的均值、中位數(shù)、標(biāo)準(zhǔn)差、最大值和樣本熵.
(6)剎車(chē)踏板開(kāi)合度的均值、中位數(shù)、標(biāo)準(zhǔn)差、最大值和樣本熵.
一共提取了18個(gè)與司機(jī)駕駛行為相關(guān)的特征.
通過(guò)分析駕駛特征與是否疲勞駕駛之間的關(guān)系,可用于獲取與疲勞駕駛最相關(guān)的特征,為判別疲勞駕駛提供數(shù)據(jù)基礎(chǔ).所提取的特征數(shù)量共18個(gè),它們之間與是否疲勞的相關(guān)關(guān)系可采用皮爾森相關(guān)系數(shù)表示.
皮爾森相關(guān)系數(shù)(Pearson Correlation Coefficient)[14]是一種線性的相關(guān)系數(shù),可以用來(lái)體現(xiàn)兩個(gè)變量之間的相關(guān)程度.兩個(gè)特征之間的皮爾遜相關(guān)系數(shù),為兩者的協(xié)方差和標(biāo)準(zhǔn)差的之商:
式中:X,Y表示兩個(gè)變量的特征值所構(gòu)成的向量;μ為特征的均值;σ為特征的標(biāo)準(zhǔn)差.ρ的值范圍在[-1,1]之間,越接近1,則兩個(gè)特征正相關(guān)性越強(qiáng),越接近-1,則兩個(gè)特征負(fù)相關(guān)性越強(qiáng).各駕駛行為特征與是否疲勞駕駛的相關(guān)性程度如表2所示.
表2 駕駛行為特征與疲勞駕駛的相關(guān)系數(shù)Tabel 2 Correlation coefficient of driving behavior characteristics
從相關(guān)系數(shù)看來(lái),單個(gè)特征與疲勞駕駛的相關(guān)度不高.
隨機(jī)森林(Random Forest,RF)[15]是一種基于分類(lèi)樹(shù)的集成學(xué)習(xí)算法,由Breiman 于2001年提出.隨機(jī)森林是由隨機(jī)子空間算法和裝袋算法集成的一種算法,其基本原理是通過(guò)隨機(jī)采樣特征和樣本,生成很多決策樹(shù),每一顆決策樹(shù)是不相關(guān)的,將多棵決策樹(shù)組合在一起就形成森林.通過(guò)各決策樹(shù)進(jìn)行投票決策,最終選擇多數(shù)投票(Bagging)的策略來(lái)決定結(jié)果[16].具體的算法步驟如下:
(1)記原始訓(xùn)練集中有M個(gè)特征,樣本總數(shù)為N.采用Bootstrap抽樣技術(shù),從訓(xùn)練集中抽取N個(gè)樣本形成訓(xùn)練子集.
(2)隨機(jī)選取m個(gè)特征作為特征子集(m≤M),從這m個(gè)特征中選擇最優(yōu)的切分點(diǎn)再做節(jié)點(diǎn)分裂,直到節(jié)點(diǎn)的所有訓(xùn)練樣例都屬于同一類(lèi).節(jié)點(diǎn)通常按基尼指數(shù)、信息增益率、均方差等規(guī)則分裂,且在分裂過(guò)程中完全分裂不剪枝.
(3)重復(fù)(1)、(2)步驟k次即可得到由k棵決策樹(shù)構(gòu)建而成的隨機(jī)森林.
(4)使用隨機(jī)森林進(jìn)行決策.若設(shè)x代表測(cè)試樣本,k代表決策樹(shù)數(shù)量,hi代表單棵決策樹(shù),i∈{1,…,k},Y代表輸出變量即分類(lèi)標(biāo)簽,I為指示性函數(shù),H為隨機(jī)森林模型,則決策公式[16]為
基于采集的車(chē)輛運(yùn)行數(shù)據(jù)(檔位、速度、油門(mén)踏板開(kāi)度、剎車(chē)踏板開(kāi)度、時(shí)間等),共提取了駕駛行為特征18項(xiàng).隨機(jī)森林在處理高維特征的樣本數(shù)據(jù)時(shí),通常能得到極好的準(zhǔn)確率.且在訓(xùn)練完之后,隨機(jī)森林能夠給出特征重要度的排名.隨機(jī)森林算法還具有很強(qiáng)的抗干擾能力.如果數(shù)據(jù)有很大一部分的特征遺失,用隨機(jī)森林算法仍然可以維持準(zhǔn)確度.此外,該算法的抗過(guò)擬合能力也很強(qiáng)[17].
本文集中于分析疲勞狀態(tài)下的駕駛行為特征,并通過(guò)差異性來(lái)檢測(cè)疲勞.通過(guò)隨機(jī)分配的方式,將數(shù)據(jù)集的70%拆分為訓(xùn)練集,30%拆分為測(cè)試集.本次實(shí)驗(yàn)使用了隨機(jī)森林(RF)對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,算法經(jīng)過(guò)剪枝和參數(shù)調(diào)優(yōu)[18],得到最終的實(shí)驗(yàn)結(jié)果如表3所示.
表3 實(shí)驗(yàn)結(jié)果Table3 Experimental result
考慮到本文所使用數(shù)據(jù)的樣本標(biāo)簽分布并不均勻,因此在評(píng)價(jià)實(shí)驗(yàn)結(jié)果所采用的指標(biāo)中除了判斷算法的準(zhǔn)確率以外,也使用了召回率和精確率來(lái)進(jìn)一步對(duì)有偏數(shù)據(jù)的實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià)[19].具體指標(biāo)說(shuō)明如下.
Recall:召回率,表示疲勞駕駛被正確檢測(cè)出來(lái)的概率,即預(yù)測(cè)為疲勞駕駛實(shí)際也為疲勞駕駛的樣本數(shù)與總的實(shí)際疲勞駕駛的樣本數(shù)的比值,即20/(20+13)=0.61.
Precision:精確率,表示正確預(yù)測(cè)出疲勞駕駛的比例,即預(yù)測(cè)為疲勞駕駛實(shí)際也為疲勞駕駛的樣本數(shù)與總的預(yù)測(cè)為疲勞駕駛的樣本數(shù)的比值,即20/(20+10)=0.67.
Accuracy:準(zhǔn)確率,識(shí)別正確的概率,實(shí)際為清醒駕駛預(yù)測(cè)也為清醒駕駛的樣本數(shù)與實(shí)際為疲勞駕駛預(yù)測(cè)也為疲勞駕駛的樣本數(shù)之和,再除以總的樣本數(shù),即(64+20)/(64+20+13+10)=0.785.
將邏輯回歸、支持向量機(jī)和決策樹(shù)算法應(yīng)用于本次實(shí)驗(yàn)的數(shù)據(jù),實(shí)驗(yàn)結(jié)果如表4所示.
表4 各類(lèi)算法實(shí)驗(yàn)結(jié)果Table4 Experimental result on models
將各類(lèi)算法的結(jié)果與隨機(jī)森林做比較,如圖3所示.
圖3 疲勞駕駛檢測(cè)模型指標(biāo)對(duì)比Fig.3 Comparison on fatigue driving test models
可以看出隨機(jī)森林的準(zhǔn)確率和召回率均大于其他三種算法,說(shuō)明隨機(jī)森林算法相比較更適用于對(duì)疲勞駕駛的判別.
本文基于車(chē)輛運(yùn)行時(shí)采集的車(chē)速、油門(mén)踏板開(kāi)合度、剎車(chē)踏板開(kāi)合度等數(shù)據(jù),提取與駕駛行為相關(guān)的18項(xiàng)特征,對(duì)駕駛員的疲勞狀態(tài)進(jìn)行了分析和檢測(cè),與基于駕駛員生理指標(biāo)和圖像面部狀態(tài)的疲勞駕駛檢測(cè)相比,具有方法簡(jiǎn)單且成本低的優(yōu)勢(shì).本文實(shí)驗(yàn)采用了隨機(jī)森林、邏輯回歸、支持向量機(jī)和決策樹(shù)這幾種算法對(duì)樣本數(shù)據(jù)進(jìn)行訓(xùn)練并測(cè)試訓(xùn)練結(jié)果.實(shí)驗(yàn)表明,隨機(jī)森林算法對(duì)疲勞狀態(tài)的識(shí)別效果最好,其中:召回率為0.61,即表明其中有61%的疲勞狀態(tài)能被識(shí)別出來(lái);精確率為0.67,即識(shí)別出來(lái)的疲勞駕駛狀態(tài)有67%的概率是真的疲勞駕駛狀態(tài);總體的準(zhǔn)確率為0.785,表明隨機(jī)森林算法的識(shí)別準(zhǔn)確率為78.5%.結(jié)果表明通過(guò)車(chē)輛運(yùn)行狀態(tài)數(shù)據(jù)檢測(cè)駕駛員疲勞狀態(tài)具有一定的可行性和實(shí)用性.
論文在基于車(chē)輛運(yùn)行數(shù)據(jù)對(duì)駕駛員疲勞狀態(tài)監(jiān)測(cè)方面進(jìn)行了有價(jià)值的探索,涉及更大規(guī)模樣本數(shù)據(jù),考慮疲勞等級(jí)因素與個(gè)體差異化因素,可進(jìn)一步提高疲勞駕駛檢測(cè)準(zhǔn)確率與可信度的相關(guān)實(shí)驗(yàn)與方法,尚有待進(jìn)一步深入研究.