《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于圖像處理的疲勞駕駛預警研究
基于圖像處理的疲勞駕駛預警研究
2019年電子技術應用第8期
劉朝濤,張雪佼
重慶交通大學 機電與車輛工程學院,重慶400074
摘要: 基于圖像處理知識對疲勞駕駛檢測系統進行研究。在構建人臉相關數據庫後,主要的疲勞相關信息通過混合模型算法進行獲取。首先對圖片進行一定的預處理,增加圖像增強模塊消除實際的光照幹擾。采用基于AdaBoost的人臉檢測算法為核心檢測方法,對人臉的定位以駕駛員眼部特征為關鍵部位。采用人眼變化曲線分析法與PERCLOS準則相結合的判定方法進行疲勞判定。針對不同需要和特性對疲勞駕駛預警進行優化。實驗通過模拟測試驗證了關鍵點定位算法的可實現性與準确性,并驗證實際的疲勞測試具有較好的可靠性。
中圖分類号: TP319
文獻标識碼: A
DOI:10.16157/j.issn.0258-7998.190521
中文引用格式: 劉朝濤,張雪佼. 基于圖像處理的疲勞駕駛預警研究[J].電子技術應用,2019,45(8):104-108.
英文引用格式: Liu Chaotao,Zhang Xuejiao. Research on fatigue driving warning based on image processing[J]. Application of Electronic Technique,2019,45(8):104-108.
Research on fatigue driving warning based on image processing
Liu Chaotao,Zhang Xuejiao
School of Mechanical,Electrical and Vehicle Engineering,Chongqing Jiaotong University,Chongqing 400074,China
Abstract: This paper researches the fatigue driving detection system based on the knowledge of image processing. After constructing the face correlation database, the main fatigue related information is obtained by the hybrid model algorithm. Firstly, the image is preprocessed, and the image enhancement module is added to eliminate the actual illumination interference. The face detection algorithm based on AdaBoost is used as the core detection method, and the positioning of the face is based on the driver′s eye feature. Fatigue determination is performed using a combination of human eye curve analysis and PERCLOS criteria. Fatigue driving warnings are optimized for different needs and characteristics. The experiment verifies the achievability and accuracy of the key point location algorithm through simulation test, and verifies that the actual fatigue test has good reliability.
Key words : fatigue determination;key point localization algorithm;PERCLOS;human eye curve analysis;AdaBoost

0 引言

    據實驗調查,有50%的駕駛員承認自己曾疲勞駕駛,且疲勞駕駛是導緻交通事故的一個重要因素。如果要減少由于疲勞駕駛導緻的事故,可以對駕駛員在疲勞狀态時進行一定的警醒。越來越多的疲勞駕駛預警系統在國内外被相繼提出[1],本文研究的方法——基于圖像處理的監測算法也是其中被廣泛應用的一種,這些預防疲勞駕駛的研究方法對交通事故的減少有着十分重要的現實意義。

1 系統結構

    駕駛員一旦出現疲勞狀态,他們的生理信号(例如腦電信号或心電信号)會産生相應的改變,一般情況還會伴随眨眼過快、頻繁打哈欠、點頭、注意力難集中等一系列生理狀态。這樣就可能會導緻駕駛員在長時間不動油門或轉向盤時發生車道偏移等危險行為[2]。各種疲勞駕駛預警系統的研制則是為了能夠第一時間快速識别到司機的疲勞特征信息,且能實時産生報警對駕駛員進行提醒。疲勞駕駛系統的部分組成如圖1所示。首先由傳感器來采集司機駕駛時的各種生理參數與行為特征等疲勞參數,再采用信号處理的方法提取和識别疲勞參數值,将識别後的疲勞特征參數送入傳感器與多傳感器進行信息融合,最後使用疲勞判别準則對駕駛狀态進行預判以及發出警報。

jsj2-t1.gif

2 疲勞駕駛監測系統

    疲勞駕駛監測系統主要由人臉檢測、面部關鍵點定位以及疲勞判定這幾個部分組成,檢測系統的大體流程圖如圖2所示。通過處理駕駛員的面部圖像,将駕駛員的生理狀态轉化疲勞狀态,最後用判定準則對駕駛員是否疲勞進行判定[3]

jsj2-t2.gif

3 圖像預處理

    駕駛員實際駕駛時,車内的光照強度會随行車過程發生改變,因此提取不同圖像的亮度信息也存在一定偏差。因而對圖像進行預處理操作十分重要,它可以改善圖像分析的穩定性[4]。本實驗對圖像預處理的操作主要是對圖像進行圖像增強和光照補償處理。

3.1 圖像增強

    圖像增強是對圖像進行加工與處理,突顯相應被測區域,并使無關區域衰減,讓圖像在特定場合實用性更強。其目的是:(1)提高視覺效果,使圖像變得更加清晰明了;(2)方便計算機處理被測圖像。作為在圖像處理中非常實用的工具——形态學,它能夠快速識别圖像中骨格、軀殼以及邊界線等被測圖像分量[5]。基本操作有膨脹和腐蝕,定義如式(1)、式(2)所示。

jsj2-gs1-4.gif

jsj2-gs5-6.gif

    頂帽原理主要是完成原圖對開運算後的減運算,顯現了相對原圖邊界四周明亮的區域;黑帽原理反之,它顯現了相對原圖邊界四周昏暗的區域[7]。可以将原圖(img)經過頂帽運算和黑帽運算後的圖像通過式(7)實現對比度提高,以此改善圖像和增強圖像效果。

    jsj2-gs7.gif

    利用形态學的方法對原始圖像進行圖像增強,效果如圖3所示,實驗表明圖像質量被大幅度提高。

jsj2-t3.gif

3.2 光照補償處理

    光照補償處理主要應用在圖像顔色發生改變(例如照片發藍、發紅、或色偏冷、暖)的情況。一般按照像素的高清順序排列圖像,先用低像素圖像的亮度作為标準白色,并調節圖像的R、G、B分量值到255[8],将剩下的像素點按照尺度改變進行調節,以此來改善因為光照不均引起的色彩改變。圖4所示即為對圖像進行光照補償後的效果圖。

jsj2-t4.gif

4 人臉檢測

    由于傳統SVM統計方法在背景顔色與膚色比較接近時難以提取人臉特征,且适用于背景靜止的場合[9]。考慮到實驗的場合多需要對人臉的實時監測,因此,本文選用AdaBoost算法為人臉檢測的核心方法。AdaBoost算法實際上就是将若幹個弱分類算法合并成一種強分類算法的算法[10],且每種弱分類器都有本身的分類方向、類Haar特征以及分類阈值。上述由弱分類器組合而成的強分類器以及弱分類本身都設有本身分類阈值,若累加的權值到達強分類器阈值,就說明該區域的強分類器會被通過。因此,AdaBoost算法具有很高的識别率,且算法的拟合性好[11]

    多種基于AdaBoost的人臉檢測的算法的差異性來源于其弱分類器的不同組織方式。例如級聯分類器,它是按照每級的強分類器都由些許弱分類器構成[11],這就能夠更加迅速地區分人臉部位和非人臉部位。圖5所示是人臉檢測算法的檢測結果示意圖,在确定有無人臉的基礎上進一步劃分人臉的大緻位置。

jsj2-t5.gif

    由于級聯分類器的高效性,基于AdaBoost的人臉檢測算法也很容易對多個人臉圖像進行檢測。

    圖6為多個檢測對象的人臉檢測效果圖。在該圖像中存在人臉姿态、對比度以及光照程度的區别。

jsj2-t6.gif

    從表1可以看出,用AdaBoost算法檢測人臉在不同光照強度的情況下幾乎未出現誤檢測效果,準确性較高,但是人臉檢測受光照影響也會出現相應的漏檢。随着加入光照補償,漏檢率會随之降低[12]

jsj2-b1.gif

5 人臉關鍵點定位

    在基于人的生理狀态來進行疲勞駕駛檢測的過程中,人的面部關鍵點是最能直接體現出人是否疲勞的重要因素。

    基于被約束局部模型的自動特征點定位——CLM,首先是将關鍵點定位問題轉化為對函數求解最優解的問題,再建立局部模型的一種定位方法[13]。CLM一般使用SVM來建立局部模型,它建立的全局形狀模型一般以主成分分析法為主,且将主要的維度參數化為函數矩陣,以此來分析人臉形狀的改變。構建的局部模型如式(8)所示。

    jsj2-gs8.gif

其中,λ和β為單個關鍵點的SVM訓練結果,λ為特征值矩陣,β為一個列向量。整個局部模型由組合序列所表示。具體CLM算法的求解過程如下[14]

    (1)大緻預計初始的關鍵點區域;

    (2)快速搜索檢測到模型的關鍵點四周區域,得出SVM響應曲線圖;

    (3)用二次函數來拟合選中關鍵點:

     jsj2-gs9-10.gif

其中,A、B、C為常系數,ε表示偏差。

    (4)利用數學方法得出函數的最優解,并得到各個特征點的位置,完成上述操作後對模型進行更新;

    (5)循環步驟(2)~(4),直到達到設定的疊代次數或者函數呈現收斂的情況。

6 疲勞判定

    由于眼睛閉合狀态是直觀反映一個人是否疲勞的重要參數[15],因此本文采用PERCLOS準則與人眼閉合曲線相結合的判定方法檢測疲勞參數。  

6.1 PERCLOS準則

    PERCLOS為單位時間内眼睛開閉時間比,分為P70、P80、EM 3種标準類型[16]。一般判定多采用P80标準(以眼睑遮擋瞳孔面積的80%以上為閉合狀态),其測量原理如圖7所示。

jsj2-t7.gif

    若明确在一定時間内司機眼睛開閉時間,确定出t1、t2、t3、t4的參數值,PERCLOS值就可計算出來,計算方法如式(11),從而就能夠判定司機的疲勞狀态。

    jsj2-gs11.gif

其中,f為眼睛閉合時間比。為了簡化計算,一般将時間比轉化為圖像幀數比,如式(12)所示:

    jsj2-gs12.gif

其中,Nc為閉合眼睛幀數[17-18],No為張開眼睛幀數。

6.2 人眼變化曲線法

    瞬目反射是一種快速的閉眼動作[19],據統計,一般人每分鐘瞬目反射大約10~18次,通常2~5 s就要眨眼一次。每一次眨眼要用0.1~0.3 s。人在雙眼凝視或者高度集中注意力時,就會減少到4~5次/min。出現疲勞後,人的眨眼頻率則會變快且每次眨眼所用時長變慢。因此可以對得到的每一幀圖像進行人眼信息統計,可按照人的眨眼頻率判斷司機疲勞狀态,本實驗得到人眼變化曲線如圖8所示[20]。縱坐标為人眼相對大小n值,橫坐标為每秒通過的圖像幀數。

jsj2-t8.gif

    其中,人眼開閉狀态的判定步驟為,在圖像幀中,首先找到人眼區域中面積的最大值M。後續其餘值順次與最大值M進行相比,比值n為人眼的相對大小值,n的取值範圍在0~1之間,因為人在閉眼時會預留一些基本面積,所以n值大于0,本次實驗中标定n小于0.28時為閉眼狀态的臨界值。

7 檢測結果及分析

    通過攝像頭采集30位測試者的視頻序列作為數據集,包括15位男性和15位女性。采集每位測試者配戴眼鏡時和不佩戴眼鏡時的視頻集。每位測試者取30張圖像進行樣本實驗,采集幀率為30 幀/s,圖像像素為720×360。

    測試人員戴眼鏡與未戴眼鏡的人臉定位測試結果如圖9所示,人臉定位平均耗時如表2所示,眼部定位準确率如表3所示。

jsj2-t9.gif

jsj2-b2.gif

jsj2-b3.gif

    從實驗結果可以得出,在不同壞境的拍攝下配戴眼鏡樣本測試的識别率高于未配戴眼鏡樣本。原因主要是配戴眼鏡的樣本由于鏡面反光對圖像識别産生了部分幹擾,對睜眼和閉眼狀态的識别準确度有部分偏差[21]

    通過完成圖片預處理、人臉檢測以及關鍵點定位部分的識别工作,采用多個測試樣本在疲勞狀态和健康狀态下的數據序列計算相應的PERCLOS參數值,結合人眼變化曲線圖的n值,得到眨眼頻率,采樣時間均取60 s,統計結果如表4所示。

jsj2-b4.gif

    本次實驗經過多次多樣本測量,将檢測PERCLOS值大于0.25,通過人眼變化曲線圖得到眨眼頻率大于18次/min為疲勞臨界值[22],結合測試樣本的實際狀态作為對照,疲勞試驗結果如表5所示,該阈值具有較好的可行性和較高的準确度。

jsj2-b5.gif

8 結束語

    本文使用圖像處理的方法先對圖像集進行一定預處理,基于AdaBoost算法對人臉進行檢測,在此基礎上采用基于CLM的人臉關鍵點定位方法對樣本進行眼睛和嘴巴區域圖像的提取,最後對PROLOS參數值進行計算,結合參數結果和人眼變化曲線圖阈值對樣本疲勞狀态進行判斷。

    實驗結果表明,本文方法的檢測速率可被接受且具有較好的準确性。針對不同測試樣本對眼睛及嘴部狀态的識别準确性和魯棒性較好。

參考文獻

[1] 李明瑞,傅明,曹敦.基于膚色檢測的AdaBoost人臉檢測算法改進[J].計算機工程,2012,38(19):147-150.

[2] NOBE S A,WAG F Y.An overview of recent developments in automated lateral and longitudinal vehicle controls[C].Proceedings of IEEE International Conference on Systems,Man,and Cybernetics.Washington D.C.,USA:IEEE Press,2001:3447-3452.

[3] 劉在英,朱琳玲,楊平.基于膚色模型和中線定位的人臉檢測算法[J].計算機工程,2013,39(1):200-203.

[4] 劉春生,常發亮,陳振學,等.改進的高斯膚色模型及其在人臉檢測中的應用[J].儀器儀表學報,2012,33(5):1117-1121.

[5] LEE B G,JUNG S J,CHUNG W Y.Realtime physiological and vision monitoring of vehicle driver for non-intrusive drowsiness detection[J].IET Communications,2011,5(17):2461-2469.

[6] OMIDYEGANEH M,JAVADTALAB A,SHIMOHAMMADI S.Intelligent driver drowsiness detection through fusion of yawning and eye closure[C].Proceedings of IEEE International Conference on Virtual Environments Human Computer Interfaces & Measurement Systems.Ottawa,Canada:IEEE Press,2011:18-23.

[7] 趙文,張意,張衛華,等.基于紅外圖像的眼睛開閉檢測方法[J].計算機工程與設計,2015,36(2):436-440.

[8] KNIPLING R R,WIERWILLE W W.Vehicle-based drowsy driver detection: current status and future prospects[C].Proceedings of IVHS′94.Atlanta,USA,1994:1-24.

[9] LECUN Y,BOSER B,DENKER J S,et al.Back propagation applied to handwritten zip code recognition[J].Neural Computation,1989,1(4):541-551.

[10] HENRIQUES J F,CASEIROR,MARTINS P,et al.High-speed tracking with kernelized correlation filters[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015(3):583-596.

[11] HENRIQUES J F,RUI C,MARTINS P,et al.Exploiting the circulent structure of tracking-by-detection with kernels[C].Proceedings of ECCV′12.Roma,Italy,2012:702-715.

[12] 鄧健康.基于級聯回歸模型的人臉配準研究[D].南京:南京信息工程大學,2015.

[13] 吳宇豪,安籽鵬.面向圖像三維重建的無人機航線規劃[J].電子技術應用,2019,45(3):76-79,87.

[14] CUN Y L,HAN C,WANG C,et al.The application of a convolution neural network on face and license plate detection[C].Proceedings of the 18th International Conference on Pattern Recognition.Washington D.C,USA:IEEE Press,2006:552-555.

[15] ZEILE M D,FERGUS R.Stochastic pooling for regularization of deep convolutional neural networks[J].Computer Science,2012,7575(1):702-715.

[16] 連佳佳,王志有,王利斌,等.基于JPEG2000算法的圖像編碼裝置的設計[J].電子技術應用,2019,45(3):46-49.

[17] 吳康華.基于PERCLOS的駕駛疲勞檢測系統設計[D].杭州:浙江大學,2008.

[18] JAVIE F M.Driver drowsiness warning system using visual information for both diurnal and nocturnal illumination conditions[J].EUASIP Journal on Advances in Signal Processing,2010(1):1-19.

[19] WANG H,ZHOU L B,YING Y.A novel approach for real time eye state detection in fatigue awareness system[C].Proceedings of International Conference on Robotics Automation and Mechantronics.New YORK,USA:ACM Press,2010:528-532.

[20] 姚勝,李曉華,張衛華,等.基于LBP的眼睛開閉檢測方法[J].計算機應用研究,2015,32(6):1897-1901.

[21] 楊晉吉,李榮兵.基于Adaboost與Clifford代數的人臉檢測[J].計算機工程,2013,9(9):214-217.

[22] 曠文騰,毛寬誠,黃家才,等.基于高斯眼白模型的疲勞駕駛檢測[J].中國圖象圖形學報,2016,21(11):1515-1522.



作者信息:

劉朝濤,張雪佼

(重慶交通大學 機電與車輛工程學院,重慶400074)