曹徐 田文泉



摘 要:如今疲勞駕駛是安全的重要隱患之一,疲勞駕駛會使駕駛員對周圍駕駛環境的感知判斷力以及對車輛的操控力下降,從而引發不可挽回的交通事故。本文在深入分析了國內外有關駕駛員疲勞駕駛檢測方法研究的基礎上,提出了一種基于駕駛員疲勞狀態下的面部表情特征檢測方法,通過檢測駕駛員疲勞時的眨眼頻率、哈欠頻率及點頭頻率結合駕駛員腦電頻率和心率來判斷駕駛員的疲勞狀態。
關鍵詞:駕駛員疲勞檢測;人臉識別;特征提取
隨著汽車數量的增加以及公路建設規模的擴大,開車的人數越來越多,駕駛員因疲勞駕駛而引發的交通事故也越來越多。據調查表明因疲勞駕駛而引發的交通事故占據21%的比例,由于駕駛員駕駛過程中環境的多變性和復雜性,很多疲勞檢測手段很難對駕駛員的疲勞狀態做出有效的監督和預警。所以對駕駛員行駛過程中進行實時疲勞檢測越來越急迫和重要。
疲勞駕駛客觀上表現為駕駛技能的下降,并表現出打瞌睡、反應遲鈍、四肢無力、注意力不集中和判斷能力下降等現象。駕駛員疲勞檢測技術因其巨大的社會效應和經濟效應,受到各國政府的高度重視。根據信息來源的不同,可將駕駛員疲勞檢測方法分為以下三種:
(1)基于生理參數的檢測方法:以生理參數為基礎的駕駛員疲勞檢測方法主要是利用各種專用生理傳感器,采集駕駛員在駕駛狀態下的各種生理信號,并對這些信號進行分析,從而識別駕駛員的疲勞狀態,目前常用的駕駛員生理參數有:腦電(EEG)、心電(ECG)、眼動(EMG)、肌電(EMG)、脈搏(ECG)、呼吸頻率等。由于生理信號能快速、準確地反映人的心理狀態,所以基于生理信號的檢測方法具有很好的實時性和準確性。以生理參數為基礎的駕駛員疲勞狀態檢測方法需要使用接觸設備來提取生理參數,從而在一定程度上會造成駕駛員的不舒服,影響操作。
(2)基于駕駛行為的檢測方法:以駕駛行為為基礎的疲勞檢測方法主要是利用各種車載傳感器,采集駕駛狀態下駕駛員的操作信息,如方向盤、加速踏板、制動踏板和離合器等,進行分析建模,從而判斷駕駛員的疲勞狀態。
一、駕駛員面部特征提取
面部含有很重要的信息,可以作為駕駛員疲勞的一種指標,面部動態表現睡意,以打哈欠為特征,這通常與大腦缺氧有關。在這種情形下,人類的自然反應就是張大嘴巴,努力呼吸更多的氧氣,這是一種可以被用來作為疲勞預警的面部特征。臉部的另一個特征是眨眼速度,它表示一段時間內眨眼的次數。當人處于困倦狀態時,眨眼的頻率會發生變化,此特征可用于指示疲勞程度。司機由于某種原因處于疲勞駕駛狀態時,經常會出現打瞌睡,打哈欠等現象。與這些生理現象有很大的關聯且微表情的特點主要集中在眼睛、嘴巴和眉毛。從而監控人臉區域中眼、嘴、眉的微表情,提取疲勞特征指標,識別駕駛員疲勞狀態。司機疲勞時,眼睛睜開-閉-睜開的過程所花的時間變長,而司機眨眼的時間越長,疲勞程度越高。一般情況下,每分鐘眨眼15~30次,每次眨眼時間在0.2~0.3秒之間。如果駕駛員一段時間內眨眼次數過少,且一分鐘低于七次,則可能處于疲勞駕駛狀態,此時應向駕駛員發出警告。在正常行駛過程中,司機嘴基本上是閉著的。當司機在和別人說話時,嘴的狀態是一般張著的;當司機打哈欠時,嘴就會張開的要比平常大一些。一般說來,打哈欠是一個較長的過程,而且嘴張開的幅度較大。在張開嘴保持一定時間之后,就可以判斷司機為打哈欠狀態,而且下垂的眉毛和下垂的嘴角呈現的是一種順從性的疲勞狀態。在疲勞狀態下,駕駛員會自我調節,此時會輕皺眉頭,眼部微微抬起,面部肌肉會不定時的收縮,同時還會出現打哈欠的動作。以計算機視覺技術為基礎的疲勞檢測,是通過安裝在汽車儀表板或鏡子下面的低成本攝像頭來獲取駕駛員的圖像,其中包括駕駛員的面部、身體的上部、手部、座椅的后部或汽車的其他內部部件,并通過這些圖像來判斷汽車的重要信息,例如人臉等等。
該系統主要包括:圖像采集模塊,心率采集模塊,腦電采集模塊,車載處理模塊,預警模塊。每個采集模塊收集人眼圖像、心率信號、腦電信號并傳送到車內處理模塊進行一系列數據預處理,利用機器學習訓練得到的邏輯回歸模型對人的疲勞狀態進行判斷,并根據判
斷結果控制預警模塊的預警強度。在圖1中顯示了系統的構圖。
二、駕駛員疲勞狀態判斷
駕駛員疲勞駕駛的主要表現是在駕駛過程中打瞌睡、走神、心跳加快、頻繁眨眼等,造成操作失誤或駕駛能力喪失。心率、腦電疲勞計算及PERCLOS算法表現疲勞的心電信號時域指標主要為R-R間期,也就是心臟的每次搏動間期。將R-R間隔一段時間的心率取平均值,再除以相應的系數,得到1min內心臟跳動的次數,即為所得到的心率
公式中period為一段時間內的平均心跳時間間隔。
駕駛員處于疲勞狀態時,β波減少,α波增多;駕駛員處于睡眠狀態時,腦電的主要頻率會降至θ波。因此使用公式(2)可表示駕駛員的疲勞程度:
公式中:r是腦電波功率譜之比;β、α、θ是對應于β波、α波、θ波的功率。
PERCLOS算法是國際公認的較為準確的人眼疲勞檢測算法,它可以檢測一段時間內眼睛閉合時間所占總時間的百分比
公式中:t1為人眼睜開100%至閉合20%的時間;t2為人眼睜開100%至閉合80%的時間;t3為人眼睜開100%至下一次睜開20%的時間;t4為人眼睜開100%至下一次睜開80%的時間。其中,20%,80%,100%都是眼球占全眼的比例。
三、算法流程圖
一般而言,人眼在一分鐘內眨眼次數為10至15次,若眨眼次數小于此值,則表明駕駛員的眼睛大部分時間是閉著的,或眼睛一直張開,但目光比較呆滯,眼球無明顯活動。在第二種情況下,需要判斷加入駕駛員的眨眼次數。在本文中設定,如果駕駛員 PERCLOS測量值大于0.3,而一分鐘眨眼次數小于或等于5,則認為駕駛員是在高度走神,需要給予相應的警告信息。它的特定算法是,如果人眼在相鄰兩幀之間的狀態有變化,設變化數 change=1.如果 change=2,說明眨眼一次,記眨眼數 sum=1,并設置 change=0,按順序進行。圖2顯示了它的算法流程圖。
四、結論
本文對上述算法進行了測試,并對結果進行了分析。一定程度上可以檢測出駕駛員是否處于疲勞狀態。當駕駛員處于疲勞駕駛狀態時,通過發出聲音警告提醒駕駛員停車休息,可以減少交通事故的發生。但是由于真實場景中環境復雜,各方面都存在不利因素,導致性能下降,這也是我們今后研究工作的重點。
參考文獻:
[1]高永萍.駕駛員疲勞檢測系統[J].儀表技術與傳感器,2007,(1):60-62.
[2]薄華.基于人眼識別的駕駛員疲勞檢測[J].電腦知識與技術,2011,(25):6164-6165,6177.
[3]顏偉.駕駛員疲勞檢測系統設計[J].計算機測量與控制,2017,(3):43-47.f