張 瑞,朱天軍,2,鄒志亮,宋 瑞
1.河北工程大學 機械與裝備工程學院,河北 邯鄲 056038
2.肇慶學院 機械與汽車工程學院,廣東 肇慶 526061
3.中汽研汽車檢驗中心(廣州)有限公司,廣州 511340
在經濟全球化的影響下,世界上的人民生活水平逐步提高。人們可以選擇不同的交通方式出行,進而導致交通事故也頻繁發生。引發交通事故的原因有很多,其中疲勞駕駛是一個關鍵性因素[1]。通過調查發現,因疲勞引起的交通事故占總數的20%左右,占特大交通事故的40%以上[2]。如果在交通事故發生前的一瞬間及時向駕駛員發出預警,就可能避免近90%的交通事故[3]。因此,對疲勞駕駛檢測的研究很有必要。
世界上最早關于疲勞檢測的研究是使用高精度的醫學設備開展的,研究人員通過分析人體的腦電信號[4-5]、心電信號[6-7]等生理信號的變化來判別人是否處于疲勞。生理信號的采集需在人體表皮粘貼傳感器,進而對駕駛員的操作造成干擾。隨著科技的進步,為了消除信號采集設備對人體的侵入性影響,非侵入性檢測設備被研發出來。同時圖像處理技術與機器學習的興起,進一步推動了疲勞駕駛檢測的發展。本文首先對疲勞駕駛的概念、特征以及形成機理進行論述,其次通過分析現有的疲勞檢測研究方法,進行整理分類,闡述了疲勞檢測方法各自的優劣。分析和討論了疲勞駕駛檢測存在的不足,進一步總結出未來的研究趨勢,為今后研究疲勞駕駛檢測的學者提供幫助。
疲勞駕駛一般是指駕駛員長時間精神高度集中的行車后,肌肉上產生的松弛和精神上的疲倦,手腳反應能力和預判能力下降,進而產生動作遲緩的現象。在早期的疲勞駕駛的定義中,Lal 等人認為疲勞是一種從喚醒到睡眠狀態的過渡,若疲勞狀態不發生改變時,就會產生睡眠[8]。
疲勞駕駛特征從表現方式上可以分為行為特征和心理特征兩類。根據駕駛員的疲勞程度的不同所表現出來的身體特征也有所不同。如表1所示。

表1 疲勞駕駛特征的表現方式Table 1 Manifestation of fatigue driving characteristics
人們一直認為交通運輸行業是一種高強度高危險行業。因為在車行進中,駕駛員需時刻關注車輛周圍環境。在該過程中駕駛員的大腦神經持續處于興奮狀態,極易產生精神上的疲乏。同時駕駛員操縱車輛的動作一直保持,肢體會變僵硬進而產生疲乏。概括來講,產生駕駛疲勞的因素如下:
(1)駕駛員的壓力:生活和工作中的壓力。
(2)駕駛員睡眠時間不足:作息時間不規律。
(3)駕駛員連續行車:雇主催促、高收入的誘惑。
(4)夜間行車:光線不足導致視野范圍縮小,精神高度集中。
疲勞駕駛檢測方法主要分為主動檢測法和被動檢測法兩類,如圖1所示。主動檢測法是通過對駕駛員進行口頭問答、填寫問卷調查等方式獲取在不同時段內駕駛員的心理與面部表情等信息,然后對獲取到的信息進行分析得出駕駛員的精神狀態。與主動檢測法不同,被動檢測法是通過外部裝置采集駕駛員駕駛過程中的相關數據,再依靠算法檢測駕駛員是否處于疲勞駕駛狀態。
主動檢測法主要是基于駕駛員主觀表現、反應時間、臉部表情變化等將司機主觀疲勞表現進行分類量化。主動檢測法具有操作便捷、成本低等優勢而被廣泛使用。但是也存在實時性差、干擾駕駛員正常駕駛以及受人為主觀意識的影響等劣勢。主動檢測法又可分為填寫問卷調查與主觀評價表、口頭問答分析以及主動檢測模型三類。
2.1.1 調查問卷表與主觀評價表
研究人員通過填寫問卷調查與主觀評價表以及隨機抽查駕駛員等方法,分析出駕駛員的實時狀態。為了從社會心理學的角度探討疲勞駕駛的影響因素,Jiang等人基于TPB(theory of planned behaviour)設計了一份調查問卷。通過調查問卷有效地揭示了與疲勞駕駛相關的心理因素。研究表明主觀規范、感知行為控制和駕駛意圖與在疲勞狀態下繼續駕駛相關[9]。Bener 等人使用曼徹斯特駕駛行為問卷(driving behavior questionnaire,DBQ)評估導致事故的異常駕駛行為。通過分析受試者所填寫的疲勞嚴重程度量表(fatigue severity scale,FSS)和斯坦福睡眠調查問卷(epworth 量表)的結果,表明患有慢性疲勞、急性嗜睡和不規范的駕駛操作可能會顯著增加道路碰撞的風險[10]。Noughab等人使用問卷調查得出影響重型車輛駕駛員困倦和疲勞程度的因素。并運用統計分析和TOPSIS(technique for order of preference by similarity to ideal solution)技術對因素的影響程度進行排序。進而避免影響程度大的因素導致駕駛員疲勞駕駛[11]。杜振君依據日本能率學會的《疲勞癥狀自評量表》設計了叉車操作員疲勞主觀感受調查問卷。通過調查問卷對叉車操作員的作業疲勞狀態進行主觀檢測,進而得出操作員的狀態[12]。
2.1.2 口頭問答分析
口頭問答分析測試方法會受到被測試者的主觀意識的影響,故其在疲勞駕駛檢測中存在一定的局限性。Lee 等人通過對929 名飛行員進行訪談的基礎上,提出假設和調查問題,并進行了全國性的調查。結論表明:不足的計劃操作、飛行方向、文化差異的伙伴關系、飛機環境、工作分配、種族差異、酒店環境等因素會造成飛行員的疲勞[13]。Filtness 等人從新西蘭和澳大利亞的客運鐵路公司中選出28 名駕駛員,開展關于SPAD(signal passed at danger)影響因素的小組討論。提取與疲勞相關的數據并進行歸納分析,得出駕駛疲勞的原因、后果和應對措施。由于駕駛員工作時間并不規律,所得結論可信度較低[14]。
2.1.3 主動檢測的模型
填寫問卷表與主觀評價表以及口頭問答分析是針對駕駛員的主觀行為進行分析和討論的過渡,而建立檢測的模型可以進行疲勞狀態的判定。研究人員通過建立檢測模型來評定駕駛員的疲勞程度。
文獻[15]提出一種鐵路營運車操作員疲勞風險的動態評定方法。該方法將時變因素進行量化提高了準確性,利用層次分析法(improved analytic hierarchy process,IAHP)建立了評價模型,總結出在不同時段下機車操作員疲勞風險的變化規律。Mollicone等人開發了一種基于生物數學模型預測駕駛員疲勞的方法。研究表明,該方法基于駕駛員的睡眠模式預測疲勞,并根據安全相關的操作指標估計駕駛性能[16]。Li等人通過對出租車駕駛員的問卷數據建立模型。分析了樣本數據集以識別與高低疲勞事故風險(fatigue-related accident risk,FRAR)相關的主要因素,并擬合FRAR預測模型。同時使用另外的數據集測試該模型在高風險駕駛員預測的性能。結果表明該預測模型能較好地識別出存在高風險的駕駛員,預測結果如圖2所示。圖中顯示為在不同班次即全班、長班、短班三種情形下,未標記的駕駛員疲勞相關事故風險預測情況。其中預測為高風險所占比例約為75%,低風險所占比例約為25%。由于所檢測人群為出租車駕駛員,經過實際考察得知所預測的結果與實際基本符合。進一步表明所構建預測模型實用性較好,可以推廣至其他類型車輛的風險預測中,進而減少交通事故的發生[17]。
由于被動檢測法具有準確率高、可靠性更佳以及不受駕駛員主觀意識的影響等優勢,所以該種檢測方法成為目前檢測駕駛員疲勞的主要研究方向。被動檢測法根據檢測疲勞特征的不同又可分為以下五類:基于車輛行為的疲勞檢測、基于駕駛員行為的疲勞檢測、基于駕駛員生理特征的疲勞檢測、基于駕駛員面部特征的疲勞檢測、基于多特征融合的疲勞檢測,以下分別進行闡述。
2.2.1 基于車輛行為特征的檢測方法
當駕駛員出現疲勞癥狀時,會通過車輛行為表現出來。車輛行為特征主要包括車輛速度、加速度、車輛橫擺角以及車輛偏離車道的程度等。研究人員將獲取的車輛行為特征參數進行分析,分別提取出正常駕駛與疲勞駕駛的車輛行為特征參數,通過提取的參數制定一個區分正常和疲勞駕駛的檢測標準。將實時獲取的車輛行為參數與標準比較,可以檢測出駕駛員的身體狀態。該種方法無侵入性,數據采集方便,檢測設備易于安裝攜帶,市場前景較好。但這種檢測方法易受到周圍環境、駕駛員的操作水平以及駕駛習慣等因素的影響。
在早期的車輛行為的研究中,Pomerleau等人提出了一個快速調整橫向位置處理器(rapidly adapting lateral position handler,RALPH)的系統。系統通過模板匹配及假設和測試策略對道路圖像進行分析,進而估計出車道偏離的信息[18]。郭思強等人通過CAN總線采集到的車輛信息,如車速、瞬時油耗、踏板位置等信息。根據層次分析法原理構建了疲勞狀態識別模型并從時間和空間維度進行檢驗和應用[19]。黃皓利用駕駛模擬器獲取駕駛員正常狀態和疲勞狀態下的操作特征及車輛狀態。將獲取的信息建立數據庫,依據因素方差分析法對特征指標的有效性進行分析。最后使用模糊聚類和神經網絡算法對駕駛員疲勞進行檢測[20]。蔡素賢等人利用CAN 總線捕獲車輛行為數據,提取了車速、加速度、油門踏板與剎車踏板開合度等18項特征。通過皮爾森相關系數來得出所提取的特征與疲勞的相關性大小,同時采用隨機森林算法對駕駛員疲勞進行檢測,圖3是將各類算法與隨機森林算法作比較所得的。圖中所示為邏輯回歸、支持向量機、決策樹、隨機森林四種算法所訓練的疲勞駕駛檢測模型,利用同一組數據集檢測疲勞,不同模型所得精確率、召回率和準確率的對比結果。通過比較得出隨機森林的準確率和召回率均大于另外三種算法,進而表明隨機森林算法更適用于疲勞檢測[21]。Riera 等人開發了一種檢測和跟蹤車道偏離的新模型。該模型通過對視頻中的前向車道區域進行前處理,并對其中的凸包進行標記,當檢測到前方區域的凸包時,跟蹤凸包區域的質心,利用質心位置判斷駕駛員是否偏離車道行駛。研究顯示,檢測車道偏離事件的總召回率為81.82%[22]。Chen 等人設計了一個駕駛員行為檢測和警告框架。該框架首先通過圖像傳感器連續檢測車輛所在車道線的坡度變化,估計車輛車道偏離的功率譜密度。其次,利用頭戴式設備提取頭部姿態的特征向量,以測量駕駛員的異常水平。最后,根據估計的車道偏離功率譜密度和測量的駕駛員異常水平,通過車輛互聯網將檢測的危險駕駛警告發送給相鄰車輛和附近行人,以避免交通事故的發生[23]。
2.2.2 基于駕駛員行為的疲勞檢測方法
在疲勞檢測的研究中,學者發現駕駛員的行為也會對疲勞駕駛造成影響。研究人員通過傳感器測得的方向盤的轉角、方向盤的握力以及踏板的運動變化等特征來檢測駕駛員的精神狀態。
在早期駕駛員行為的疲勞檢測研究中,張希波等人根據駕駛員疲勞與清醒狀態下對方向盤修正幅度和頻率的不同來實現疲勞狀態檢測[24]。沙春發等人在實際道路環境開展試驗。將采集的轉向盤握力特征和腦電特征,利用BP 神經網絡建立基于轉向盤握力的疲勞駕駛模型,并使用部分數據進行驗證,圖4 為轉向盤握力信號采集流程。信號采集時,先使用壓力傳感器將握力信息轉化為電壓信號,電壓信號經分壓電路傳送至AD轉換器,電壓信號通過AD轉換器轉化為數字量,轉換的數據通過Arduino 單片機(微處理器)從串口(USB接口)傳輸至計算機,在計算機上利用Arduino IDE 把握力信息保存至SD 卡,進而得到用于檢測的握力信息。結果表明所構建的模型對疲勞識別精度較高[25]。Mcdonald等人通過將轉向角、踏板開合度、車速和加速度等信息輸入動態的貝葉斯網絡算法中進行駕駛員的疲勞檢測[26]。由于真實道路和駕駛員的不確定性,有效地學習駕駛員的疲勞特征表示這一問題,Li等人使用方向盤轉角序列的近似熵對輸入數據進行裁剪,通過LSTM(long short-term memory)單元挖掘疲勞特征。最后利用信息獲取方法得出潛在特征與疲勞之間的相關性,進而獲得最佳的駕駛員疲勞特征[27]。Li等人提出一種通過檢測方向盤握力來測量駕駛員疲勞的方法。該方法通過分析駕駛員操作車輛的方向盤握力與握力標準偏差之間的差值,來判斷駕駛員狀態。同時采集駕駛員的自我疲勞評估、腦電信號、眨眼頻率,在實際道路駕駛中進行交叉驗證。研究表明,所提方法總體識別率為86.6%,單獨識別率為88.3%[28]。
基于駕駛員行為的疲勞檢測方法中信息采集比較便捷,成本較低,不會影響駕駛員的正常駕駛,設備小易于攜帶且精度相對較高。市場前景好,易于推廣使用,但這種檢測方法受駕駛行為的影響較大。
2.2.3 基于駕駛員生理特征的檢測方法
由于人們的工作和生活方式發生了改變,導致了人產生疲勞癥狀。對于駕駛員的疲勞駕駛的檢測也是先從醫學角度入手,通過使用醫療設備來對駕駛員進行檢測[29]。人體的生理信號一直被認為是疲勞駕駛檢測的“金標準”,由于生理信號主要是通過粘貼在人的身體上的傳感器進行采集的,它能夠直接反映出駕駛員的身體狀況。生理特征主要有:腦電信號(electroencephalography,EEG)、眼電信號(electro-oculogram,EOG)、心電信號(electrocardiogram,ECG)、肌電信號(electromyogram,EMG)等。
研究發現當人進入疲勞狀態時,EEG 中的delta 波和theta 波的頻率會顯著提高,而alpha 波的頻率只會小幅增長。因此,通過EEG 中的三個波形的變化規律可以反應出駕駛員的狀態。Lal等人通過分析受試者在駕駛模擬實驗中心理和生理的變化,總結出人在疲勞時腦電圖中的delta 波和theta 波活性顯著加強[30]。Houshmand等人提出一種基于腦電alpha紡錘波的早期駕駛員疲勞檢測方法。該方法采用連續小波變換(continuous wavelet transform,CWT)和Morlet 函數檢測腦電特征,并利用卷積神經網絡對腦電信號進行分類,自動學習早期嗜睡狀態的特征,進而對駕駛員的疲勞進行檢測[31]。目前基于EEG 信號的相關研究僅針對二元分類(即警惕狀態和疲勞狀態)。同時基于腦電信號的腦機接口系統存在信號不平穩以及類別稀少的問題。Jeong等人不僅分析了兩種心理狀態的分類,也分析了對疲勞等級進行高精度分類的可行性。提出一個深度時空卷積雙向長短時記憶網絡(DATCLN)模型,首先使用BrainAmp設備采集受試者在模擬夜間飛行環境中持續飛行1 h的腦電數據,將所采集的數據進行預處理;其次,經過處理之后的數據輸入模型進行檢測;最后,將EEG信號的疲勞等級分為(非常警覺(VA)、相當警覺(FA)、既不警覺也不困倦(NAS)、困倦但不努力保持清醒(SNEA)和非常困倦(VS))五個階段。同時利用KSS(karolinska sleepiness scale)表評估了兩種心理狀態和五種疲勞等級的分類表現。總平均分類率分別為0.87(±0.01)和0.69(±0.02)。進一步證明利用深度學習對五種疲勞等級進行高精度分類的可行性。該種分類方法是第一種僅使用EEG 信號將疲勞詳細分類的方法[32]。由于傳統計算信號熵特征的方法只在單個尺度上分析數據,試驗結果不穩定。Zou 等人提出一種基于經驗模式分解(empirical mode decomposition,EMD)多尺度熵的額頭腦電圖信號處理方法。該方法在傳統模糊熵的基礎上加入尺度信息,采用EMD技術,對EEG信號進行處理,并應用隨機森林算法對所提取的特征進行分類,進而對駕駛員的疲勞進行檢測.研究表明,所提方法的準確率最高為88.74%[33]。Chinara等人提出一種基于單通道腦電的疲勞檢測模型,該模型利用小波包變換從單通道EEG 信號中提取時域特征。通過對時域特征進行分析對駕駛員的狀態進行分類,進而識別出駕駛員的狀態[34]。Liu 等人提出了一種基于EEG 的腦疲勞檢測方法。該方法通過設計的2-back 任務的疲勞誘發實驗中采集EEG信號。利用ReliefF算法計算特征下每個通道的權值,并分析其分類精度。利用精度加權和得到通道的權重值。然后,從權重值大的通道中提取時域和頻域特征。采用稀疏表示方法得到融合特征作為分類器的輸入。最后,使用SRDA分類器檢測疲勞狀態。研究表明,所提方法可以減少計算通道數量,提高了心理疲勞檢測的準確性[35]。Zheng等人提出了一種了結合腦電圖和眼電圖的多模態方法來估計警覺。圖5 為驗證所提方法是否與真實受試者行為和認知狀態一致。圖中顯示駕駛員從清醒到疲勞整個實驗過程的警惕性持續估計,圖中的抓拍與不同警戒下的幀數一一對應。從中可以清晰看出駕駛員從清醒狀態到疲勞狀態整個過程中PERCLOS、EOG、EEG、融合特征、連續性條件神經場以及連續條件隨機場的變化情況。結果表明與單一模式相比,模式融合有效提升警覺估計的性能。同時與清醒狀態相比,疲勞時theta 和alpha 頻率活動增加,而gamma頻率活動減少[36]。
Gromer 等人開發了一種低成本的心電圖傳感器,利用該傳感器采集心率變異性(heart rate variability,HRV)信息。通過采集的信息檢測駕駛員是否疲勞駕駛[37]。徐禮勝等人提出一種基于短時心電信號的疲勞駕駛檢測算法。首先,利用截取的短時心電信號序列計算R-R間期序列的時域/頻域特征。通過ImageNet數據集訓練深度卷積神經網絡模型進而提取特征。將所提取特征與R-R 間期序列的時頻/頻域特征結合,利用隨機森林分類器進行分類,進而對駕駛員進行疲勞檢測[38]。Murugan 等人將疲勞視為一種低警覺狀態,并將駕駛員的狀態分為正常、困倦、疲勞、視覺和認知注意力不集中五類。通過駕駛模擬器模擬以上五類駕駛員的狀態來采集ECG 信號,從ECG 信號中提取低警覺狀態的特征,使用單因素方差分析方法對提取的特征進行統計顯著性分析,并利用主成分分析(principle component analysis,PCA)來選取特征。最后,利用SVM、KNN(K-nearest neighbor)和集成分類器對特征進行分類,進而檢測出駕駛員的狀態[39]。Lee 等人使用可穿戴ECG或PPG 傳感器采集HRV 信號來檢測駕駛員的疲勞。為了將存在噪聲的HRV 信號區分為疲勞或不疲勞,分析了由心跳RRIs(R-R intervals)生成的Bin-RP(binrecurrence plot)、Cont-RP(continuous-recurrence plot)和ReLU-RP(ReLU-recurrence plot)三種類型的遞歸圖,并將其都用作CNN(convolutional neural network)的輸入特征。同時檢查每種分類模式的有用性。研究表明,不論使用哪種采集傳感器,ReLU-RP-CNN能更好地區分清醒和疲勞狀態。與Bin-RP 和Cont-RP 結果相比,ReLU-RP-CNN在疲勞/不疲勞的分類中分別將PPG和ECG的準確率提高約4%~14%和6%~17%[40]。Salvati等人提出一種基于HRV的ANS(autonomic nervous system)檢測駕駛員疲勞的方法。該方法利用集成在座椅靠背中的傳感器采集HRV信號。從RRI數據中提取心電信號的特征,利用疲勞檢測模型實時評估駕駛員的狀態。并利用PERCLOS 對所提方法進行驗證顯示,與實驗結果的符合率為63%。進而表明所提方法能持續監測駕駛員狀態的有效性[41]。
Wang等人提出了基于肌電圖的駕駛疲勞非接觸檢測方法。通過采集了受試者二頭肌的肌電圖信號,從肌電圖中選取峰值因子(Fc)為特征來檢測受試者的疲勞,研究顯示該方法可明顯區分正常與疲勞狀態[42]。Fan等人提出并開發了一種有效檢測駕駛員異常行為的方法,即SafeDriving。該方法首先利用置于前臂上的肌電傳感器采集EMG,根據設定的異常駕駛行為對樣本標記。然后使用標記數據,設計和訓練分類器,以提高檢測方法的性能。研究表明,GRU(gated recurrent unit)分類器可以很好地檢測駕駛員的異常行為,其精確度為93.94%[43]。
雖然這種檢測方法精確度很高、魯棒性很好,但是需要穿戴信息采集設備,會影響駕駛員的操作。同時試驗成本較高,設備較大不宜裝車以及個體差異性較大,從而致使這種檢測方法大多是在試驗室或駕駛模擬器上使用,不宜推廣。
2.2.4 基于駕駛員面部特征的檢測方法
基于面部特征的檢測方法是指通過攝像頭等圖像傳感器獲取到的面部視頻為基礎,運用機器視覺中人臉識別、面部特征點定位等技術手段,對駕駛員的臉部變化如注視方向、眼睛張開程度(eye aspect ratio,EAR)、眨眼頻率、單位時間內眼睛閉合程度(percentage of eyelid closure over tine,PERCLOS)、嘴巴開合度(mouth aspect ratio,MAR)、頭部運動情況以及頭部旋轉角等特征進行提取,運用算法將所提取特征進行駕駛員疲勞駕駛檢測。該檢測方法根據人臉不同部位疲勞特征表現不同又可分為基于眼睛特征的檢測方法、基于嘴巴特征的檢測方法以及基于頭部特征的檢測方法三類。
在基于眼睛特征的檢測方法中,最開始研究眼睛與疲勞關系的學者是Walt Wirewille。他通過模擬對比試驗研究眼睛在受到光的作用下與疲勞的相關性,結論表明眼睛的閉合時間與疲勞的程度呈正相關[44]。在此基礎上,卡內基梅隆研究所經過反復試驗和論證,得出度量疲勞的物理量PERCLOS,將其定義為一定時間內眼睛的閉合程度。PERCLOS 有三個標準分別是EM 標準、P70標準、P80標準。其中P80標準在反映人的疲勞狀態遠優于其他標準,所以科研人員經常選用該標準來判斷駕駛員的精神狀態[45]。
由于人戴眼鏡會使疲勞檢測的性能和魯棒性降低,Tao等人提出了一種基于人臉定位算法的疲勞檢測方法。首先,利用每個眼睛的6個關鍵點定位駕駛員的眼睛;其次,將提取的HOG(histogram of oriented gradients)特征輸入SVM 分類器中來識別眼睛狀態;最后,計算PERCLOS 的值與閾值進行比較確定駕駛員是否困倦。該方法可快速檢測人眼狀態和實時報警[46]。文獻[47]設計了一種基于機器視覺的駕駛員疲勞檢測機制。使用Adaboost 算法進行人臉檢測并定位眼睛區域,經預處理消除眉毛,再用模糊綜合評價算法對眼睛的開合狀態進行分析,最后根據PERCLOS 原理判斷駕駛員是否疲勞駕駛。圖6為駕駛員疲勞檢測結果,其中左側為夜間環境下使用紅外線攝像頭進行駕駛員疲勞檢測的結果顯示圖,右側為白天正常光線下疲勞檢測結果顯示圖。Zhuang等人提出一種基于瞳孔和虹膜分割的眼睛開合度疲勞檢測方法。該方法通過Dlib 算法提取眼睛圖像。使用分割網絡提取眼睛圖像中的瞳孔和虹膜特征。并利用決策網絡評估眼睛的開合度。最后根據眼睛的開合度計算PERCLOS 值,以預測駕駛員的狀態。該方法在NTHU-DDD 數據集上進行測試,疲勞檢測準確率為96.72%[48]。Bakheet等人提出一種新興的駕駛員疲勞檢測框架。該框架通過攝像頭采集駕駛員人臉圖像,利用自適應對比度限制直方圖均衡算法對采集的人臉圖像進行預處理。然后,通過基于類Haar 特征的級聯AdaBoost分類器檢測駕駛員的面部。采用改進ASM(active shape model)算法定位眼睛區域。從眼睛區域中提取二值化方向偏移的HOG 特征。最后,將提取的特征輸入NB(Na?ve Bayes)分類器預測眼睛狀態。進而判斷駕駛員的狀態[49]。
基于嘴巴特征的檢測方法中,在司機出現疲勞癥狀時,嘴巴會不受控制的打哈欠、嘴巴張開程度較大以及張開時間相對較長。在早期的嘴部特征疲勞研究中,Wang等人提出一種新的駕駛員嘴部運動的疲勞監測方法。通過持續監測和追蹤司機的嘴部運動,對嘴部運動進行了分類,進而在司機疲勞時發出警告[50]。打哈欠是疲勞的一個顯著標志,為了使檢測器的響應足夠快,Anitha 等人提出一種基于雙代理專家系統的新型哈欠檢測系統,該系統將人臉分割為上下兩部分,人臉下部分用于提取嘴部特征,利用二值圖像來檢測是否打哈欠,如圖7 所示。圖中所示為當駕駛員在無遮擋、正面以及戴/不戴眼鏡的情形下的哈欠疲勞檢測過程,其中原始圖像(a)經過預處理后,提取到嘴部特征(b),在經過哈欠檢測器處理得到(c),最后得出哈欠特征的直方圖(d),通過分析哈欠特征的直方圖,進而判別出司機的狀態[51]。文獻[52]通過分析睡眠不足與警覺駕駛員的標記視頻數據集,論證了面部接觸、人臉遮掩及打哈欠之間的聯系。進而提出面部接觸可作為檢測疲勞的新方向。同時還提出一種基于嘴巴和眼睛區域的幾何和外觀特征的自動哈欠檢測方法。Adhinata 等人提出將人臉特征提取的FaceNet 算法與K-NN 或多類SVM 分類方法相結合的一種疲勞檢測方法。通過FaceNet算法進行特征的提取,并分析比較了K-NN和多類SVM對獲取特征分類的準確率。FaceNet算法的特征提取取決于每個類別中面部特征的相似性。研究表明,FaceNet 算法與K-NN 結合使用的準確率為94.68%,遠遠優于多類SVM,而所提方法處理一幀圖像的速度為0.061 s,符合實時監測的要求[53]。
基于頭部姿態的檢測方法中,在司機出現疲勞癥狀時,人會不由自主進行點頭動作,導致頭部的位置與注視方向發生變化。由此可將點頭頻率、頭部姿態角以及視線偏離作為疲勞特征進行疲勞檢測。為了彌補眼睛特征檢測疲勞的不足,李勇達等人提出了基于頭部姿態特征的列車司機疲勞駕駛檢測方法。所提方法先使用AdaBoost 算法定位人臉,再使用Cameshift 算法跟蹤臉部并計算人臉的旋轉角速度以及角加速度。依據頭部的傾斜角度和旋轉角速度綜合推斷列車司機的疲勞狀態[54]。傳統的頭部姿態計算方法是通過人臉來估計關鍵點,并利用平均頭部模型求解二維到三維的對應問題,相對比較復雜。文獻[55]提出一種便捷而穩定的頭部姿勢的估計方法。該方法是通過多損耗深度網絡從像素強度中預測頭部的姿態角,進而判斷出司機的狀態。Ansari等人提出一種基于改進Adam優化算法的深度學習網絡ReLU-BiLSTM來測量疲勞的新方法。該方法使用XSENS運動抓取系統來捕獲司機頭部姿態的變化規律,進而檢測出司機的疲勞程度。圖8為所提出的疲勞檢測方法。該研究方法中,研究人員讓受試者佩戴MCS(motion capture system)在driver-in-loop(DIL)模擬器構建的模擬駕駛環境中駕駛車輛,并利用MCS 的傳感器將所采集的數據通過Matlab 車輛動力學模型結合3D虛擬引擎可視化器進行實時仿真受試者在模擬駕駛過程中的姿態變化,進而捕獲受試者的頭部姿態變化。將頭部姿態變化數據輸入Matlab深度學習模型中,依據疲勞的模式進行疲勞檢測[56]。Zhang等人提出一種基于人臉關鍵點頭部姿態估計的駕駛員疲勞檢測方法。該方法利用攝像機實時捕獲人臉視頻。采用基于模型的方法估計頭部姿態的。使用Dlib 工具包來判斷駕駛員的眼睛狀態、嘴巴狀態和頭部姿態。研究表明,所提方法可準確判斷駕駛員的狀態[57]。
基于駕駛員面部特征的檢測方法中,通過機器視覺技術得以實現,而機器視覺技術是利用機器學習算法運行的[58]。以下是最近幾年內新興的用于駕駛員面部特征疲勞檢測方法的機器學習算法。
You 等人提出一種考慮駕駛員個體差異的實時疲勞駕駛檢測算法。該算法由離線訓練和在線監控兩個模型組成。離線訓練模型中以EAR 為輸入,訓練基于SVM 的分類器。在線監控模型中,利用訓練好的分類器在線監測駕駛員的狀態。由于疲勞駕駛狀態是逐漸產生的,因此引入以單位時間內的疲勞幀數計算的變量來評估駕駛員的疲勞狀態。該算法在模擬駕駛應用中的準確率為94.80%。通過對比實驗,表明該算法在準確性和速度上都優于目前的駕駛疲勞檢測方法[59]。Zhang 等人建立了一種疲勞特征參數優化選擇算法。算法的基本思想是利用SFFS算法從疲勞特征中搜索最優特征子集,以最優子集為輸入,建立了通用的疲勞運動檢測模型。由于運動員個體差異對疲勞檢測的影響,根據特征參數計算個性參數,進而建立了自適應檢測模型。傳統的基于瞳孔開合的疲勞檢測算法由于使用單一特征進行疲勞識別,魯棒性較差,而所提方法可將PERCLOS 標準應用于卷積神經網絡的訓練,在綜合人臉特征的基礎上識別人臉的疲勞狀態,提高算法的魯棒性[60]。Liu等人提出一種基于人臉多特征的疲勞檢測算法,該算法將多個面部特征(如閉眼持續時間、點頭和打哈欠)反饋給卷積雙流網絡,稱為gamma 疲勞檢測網絡。該算法首先利用多任務級聯CNN定位駕駛員的眼睛和嘴巴。其次從局部人臉圖像中提取靜態特征。然后,從局部人臉光流中提取動態特征。最后,將靜態和動態特征使用雙流神經網絡組合,以對圖像數據進行分類。使用NTHU-DDD 數據集對該算法進行了驗證,準確率為97.06%[61]。Ji 等人提出一種基于多指標融合和狀態識別網絡的疲勞檢測算法。算法采用MTCNN(multi-scale CNN)進行人臉檢測和人臉關鍵點檢測,根據眼睛中心點對人臉校正,提取人臉圖像中的眼睛和嘴巴圖像。然后,利用提取的圖像構建識別網絡來提取特征。最后,將所提取的特征進行融合,結合融合特征,建立疲勞判斷模型,進而分析駕駛員的疲勞狀態。該算法在人眼數據集上的準確率為98.42%,在張口數據集上的準確率為97.93%[62]。Zhao等人提出一種全自動駕駛員疲勞狀態檢測算法。算法采用MTCNN 結構進行人臉檢測和特征點定位。其次,對眼睛和嘴巴的狀態進行分類,并通過特征點提取感興趣區域;然后,通過所提出EM-CNN(eye and mouth-CNN)從感興趣區域中檢測眼睛和嘴巴的狀態。最后,結合MAR、PERCLOS 以及張口率來識別駕駛員的疲勞狀態。研究表明,所提出的EM-CNN 算法的精確率為93.623%[63]。由于大多數算法不從駕駛員特征中分析駕駛狀態,這樣就會出現誤差。Li 等人提出一種結合駕駛員特征的人臉多特征融合的疲勞駕駛監測算法。算法主要包括三個模塊:(1)身份錄入。使用攝像頭采集駕駛員的生物特征圖像、眼睛圖像和嘴巴圖像,利用YOLOv3定位人臉區域;利用Dlib工具包提取面部特征點,計算128維面部特征向量、眼鏡特征向量(eye feature vector,EFV)和嘴巴特征向量(mouth feature vector,MFV);利用采集的圖像訓練SVM分類器;將生物特征、眼睛以及嘴巴的分類器存儲在身份信息庫。(2)身份驗證。將采集生物特征圖像與身份信息庫中存儲的生物特征進行比較;根據比較結果,調用信息庫中的分類器進行識別。(3)在線識別。實時計算駕駛視頻中人臉圖像的EFV和MFV;使用(1)中的分類器判斷眼睛與嘴巴狀態;計算出PERCLOS、眨眼頻率和打哈欠頻率,進而判斷駕駛員的狀態[64]。You等人提出一種基于人臉運動信息熵的實時駕駛員疲勞檢測算法。該算法利用改進的YOLOv3微型CNN在不同的復雜條件下定位視頻中的臉部位置。其次,使用Dlib 工具包、人臉位置的特征構建FFT(face feature triangle),同時基于FFT信息創建人臉特征向量。然后,提取人臉特征向量,組建疲勞狀態數據集。最后,通過采樣器提取面部運動信息熵。將信息熵與閾值進行比較,以評估駕駛員的疲勞狀態。結果顯示,算法能實時檢測駕駛員的狀態,其準確率為94.32%[65]。為了提高駕駛員疲勞檢測的準確性和實時性,Liu 等人提出一種基于面部表情分析的疲勞檢測算法。算法中通過MB_LBP(multi block local binary patterns)特征是在Haar_like 特征和LBP 特征的基礎上發展而來的。與傳統的LBP 特征相比,MB_LBP 可從不同尺度上檢測圖像。在FDDB數據集上的測試結果發現,所提出人臉檢測模型靈敏度和精確性均高于基于傳統的LBP 特征和Haar_like特征的人臉檢測模型[66]。表2為基于駕駛員面部特征疲勞檢測各類算法的總結。

表2 基于面部特征的疲勞檢測算法Table 2 Fatigue detection algorithm based on facial features
基于駕駛員面部特征的疲勞檢測方法具有成本低、不需接觸、檢測方便、設備較小易于裝車、準確度相對較好以及可以實時檢測駕駛疲勞等優勢。但是若駕駛員頭部偏轉過大、佩戴墨鏡以及環境光線不足時,會出現無法識別的現象。雖然存在以上的問題,但是目前疲勞檢測方法依舊以該種檢測方法為主,市場前景好。
2.2.5 基于多特征融合的疲勞檢測
上述基于四種人體特征的被動檢測方法均存在各自的優缺點,因此有學者提出了一種多特征融合的疲勞駕駛檢測方法。基于多特征融合的檢測方法是從汽車主動安全性出發,利用數字圖像信號處理和傳感器技術,結合駕駛員的各種疲勞特征對駕駛員的疲勞狀態進行判別與預警。與單一特征的疲勞檢測相比,降低了誤檢或漏檢的概率,提升了檢測的精確性和穩定性[67]。
Zhu 等人提出了一種基于任務約束深度神經網絡(tasks-constrained deep convolutional network,TCDCN)面部多特征融合的駕駛員疲勞綜合檢測方法,該方法利用人臉視頻序列檢測駕駛員的疲勞狀態。該方法是基于68 個關鍵點來檢測人臉區域,解決了由于每個任務的收斂速度不同而導致的優化問題,并根據實時人臉視頻圖像,分別計算EAR、MAR 和PERCLOS。根據以上三個特征值所占不同權重,估算融合特征值。最后通過駕駛員疲勞綜合評估模型評估融合特征值的幀數進而確定駕駛員的疲勞程度。通過對比實驗表明該算法在駕駛員疲勞檢測的精度和速度上效果較好,同時應用該方法可以有效避免因佩戴眼鏡/墨鏡而導致檢測準確度下降[68]。Hong等人提出一種通過腦電圖結合光容積描記法和心電圖描記法檢測駕駛員疲勞的方法,該方法所用的設備如圖9。其中最左側為實驗所用的駕駛模擬器和記錄儀,中間為佩戴耳道腦電圖的電極的受試者,最右側為耳道腦電圖的三維設計圖[69]。Vardhan等人提出一種基于面部多特征實時疲勞檢測系統。該系統采用方向梯度直方圖(histogram of oriented gradients,HOG)識別每一幀中的人臉。通過狀態向量機(state vector machine,SVM)檢測眼睛和嘴巴特征,進而判別出駕駛員的狀態[70]。Jia 等人提出一種基于深度學習和臉部多指標融合的疲勞駕駛檢測算法。該算法通過改進多任務級聯卷積神經網絡(MTCNN),準確提取出眼睛和嘴巴的特征。將所提取特征輸入眼睛和嘴巴狀態識別網絡(E-MSR Net)中進行狀態分析,最后將眼睛閉合率(eye closure rate,ECR)、嘴巴張開率(mouth opening rate,MOR)以及頭部非正面率(head non-positive face rate,HNFR)三個特征進行融合來判斷司機的狀態,流程如圖10 所示。首先,通過攝像頭捕獲駕駛員面部圖像;其次,利用多任務級聯卷積神經網絡定位人臉和人臉的關鍵點檢測,根據檢測到的關鍵點,確定眼睛和嘴巴的位置;然后,將其輸入識別網絡進行狀態識別;最后利用人臉多指標融合策略來判斷駕駛員的疲勞狀態[71]。由于現有的檢測方法忽視了疲勞特征的時間信息與特征之間的關系。Du等人提出一種新穎的多模式融合遞歸神經網絡(multimodal fucused on recurrent neural network,MFRNN)。首次使用RGB-D 攝像頭提取心率、EAR和MAR三個疲勞特征。該網絡利用RNN(recurrent neural network)層提取疲勞特征的時間信息。由于心率是間接提取的,存在噪聲和模糊性,因此通過模糊推理與RNN結合的方式提取心率特征的時間信息。將所提取疲勞特征的時間信息作為所提網絡的輸入,然后將其進行融合,進而檢測出駕駛員的狀態[72]。Li 等人提出一種基于人臉圖像的疲勞檢測系統REDE(recognizing the drowsy expression)。系統利用Dlib 算法從所采集的人臉圖像中提取左右眼睛和嘴巴的位置區域。利用LBP(local binary patterns)算法從眼睛和嘴巴圖像中提取特征,并應用RBF 核訓練SVM 模型進行分類。通過靈敏度、特異性、準確度和馬修斯相關系數來評估模型。研究顯示,REDE 性能優異,可進行實時疲勞檢測[73]。Zhao 等人提出了一種基于InceptionV3-LSTM 的多特征融合疲勞檢測方法。該方法首先使用InceptionV3 提取眼睛的狀態,經過LSTM 處理得到時間序列特征組。然后,利用BVP(blood volume pulse)方法獲取HRV信號,并提取由LF(low frequency)/HF(high frequency)比值計算閾值。最后,將LSTM 輸出的特征與HRV 信號的閾值進行融合,進而檢測駕駛員的狀態。研究表明,所提方法的準確率為96.5%[74]。
多特征融合的疲勞檢測方法可以改進目前疲勞檢測存在的環境適應性差,光線不足等問題,同時可以整合不同特征的優勢,以提高檢測精確性。由此這種檢測方法將會成為未來疲勞駕駛檢測的重點研究方向。
疲勞駕駛檢測方法被廣泛應用于多種交通運輸工具。不論是從主動檢測方面,還是被動檢測方面,大量的研究表明熟悉被檢測人員的真實的生理與精神狀態,可以實時了解駕駛員是否疲勞駕駛,進而有效避免交通事故的發生。通過對上述文獻進行整理和分析,得出目前駕駛員疲勞檢測方法存在的不足,主要體現在以下幾個方面:
(1)試驗樣本數據缺乏參與者的年齡多樣性和性別差異,以及未對駕駛員的疲勞進行量化。文獻[28,33,41]沒有考慮個體差異性而導致檢測精度較低。文獻[32,34,39,48,55,57]都是運用不同的方法對疲勞進行分類和評估。
(2)疲勞駕駛檢測試驗大多是通過駕駛模擬器或室內模擬設備開展的,缺乏真實性。文獻[22]在實際道路和模擬道路上都進行了試驗,發現兩者存在差別。文獻[25]在實際道路上進行試驗,得到的結果較為滿意。
(3)基于主動檢測法的疲勞駕駛因素分析不全面,以及在試驗中未對參與者觀點的權重進行考慮。同時,該種檢測方法適用范圍有限。文獻[32,48]運用主被動結合的檢測方法進行疲勞檢測,所得到的結果更符合實際。
(4)生理信號的測量受穿戴裝置的不確定性影響,試驗成本較高、設備體積大。同時,由于個體性差異,導致其自適應性很差。文獻[31,33,36]等大多數的基于腦電的疲勞研究,所用設備均較大,不易移動,且難以進行實時疲勞檢測。
(5)目前被動檢測法的算法未能達到實際公開道路試驗精確度和魯棒性的要求。文獻[21,31,36,40]所用算法均是在實驗室內進行疲勞檢測的,文獻[59-66]所提出的算法大都處于仿真優化階段,并未在公開道路驗證算法的精確性和魯棒性。
(6)當前駕駛環境、光線、駕駛員的頭部或身體旋轉過大以及墨鏡或眼鏡的佩戴都會增加疲勞檢測的難度。目前對于駕駛員佩戴眼鏡情形的疲勞檢測已有較大的進展。文獻[65]和[68]均可以對佩戴眼鏡的駕駛員進行眼鏡的識別與檢測。對于另外幾種情形的疲勞檢測的研究相對較少。
目前,國內外對駕駛員疲勞檢測的方法有很多,但大多數依舊處于試驗階段。本文通過對疲勞檢測方法存在的不足進行分析,總結出未來的研究趨勢如下:
(1)由于個體差異性導致每一位駕駛員的駕駛行為都會存在差別。未來可進一步增加不同年齡段試驗駕駛員,同時也增加女性試驗駕駛員的比例,進而構建更為全面的疲勞檢測數據集。
(2)由于疲勞駕駛試驗存在一定的風險,大多數的疲勞檢測試驗均是通過模擬駕駛試驗開展的。未來的疲勞檢測試驗可以從模擬駕駛試驗轉向封閉道路試驗,這樣可以極大程度地貼合實際情況。
(3)未來可通過建立一套完整的疲勞分類標準,同時構建一個完善的疲勞等級評估體系對疲勞駕駛檢測的進一步研究奠定理論基礎。目前的分類標準與評估體系都是在前人的研究的基礎上進行疲勞分類和評估的。
(4)未來可以將主被動檢測法相結合的方式對駕駛員進行疲勞檢測。在應用主動檢測法時,應盡量避免主觀因素的干擾,同時對參與者不同的客觀描述進行權重的合理分配。
(5)未來可通過研發一種新型的干電極材料應用于生理檢測來提高生理信號采集裝置的穩定性。將生理采集系統進行小巧化和無線化,進而將數據進行實時的處理。同時尋找能更好體現且易于提取的生理特征。
(6)未來可將疲勞檢測算法的測試和驗證盡可能轉移到實際道路進行測試和驗證,這樣可極大提高實用性。目前的檢測算法無法進行獨立的測試,必須借助第三方平臺才可實施。未來可以開發一種儲存算法的模塊,可獨立進行測試。同時算法測試所用數據集比較單一且其對環境的要求嚴格,未來應對算法進行多種數據集進行驗證,并對算法及逆行環境適應性的測試,進而使其在復雜環境中更具有穩定性。
(7)未來可通過多特征融合的檢測方法對極端環境下的駕駛員進行疲勞檢測。同時開發一種警示系統,當駕駛員出現頭部或身體扭轉角度過大時,車載系統會提醒駕駛員調整好坐姿。同時進一步研發可以增強所捕獲圖像的亮度的算法,以達到準確識別圖像中的所有疲勞特征。