文獻標識碼: 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.
0 引言
據實驗調查,有50%的駕駛員承認自己曾疲勞駕駛,且疲勞駕駛是導致交通事故的一個重要因素。如果要減少由于疲勞駕駛導致的事故,可以對駕駛員在疲勞狀態時進行一定的警醒。越來越多的疲勞駕駛預警系統在國內外被相繼提出[1],本文研究的方法——基于圖像處理的監測算法也是其中被廣泛應用的一種,這些預防疲勞駕駛的研究方法對交通事故的減少有著十分重要的現實意義。
1 系統結構
駕駛員一旦出現疲勞狀態,他們的生理信號(例如腦電信號或心電信號)會產生相應的改變,一般情況還會伴隨眨眼過快、頻繁打哈欠、點頭、注意力難集中等一系列生理狀態。這樣就可能會導致駕駛員在長時間不動油門或轉向盤時發生車道偏移等危險行為[2]。各種疲勞駕駛預警系統的研制則是為了能夠第一時間快速識別到司機的疲勞特征信息,且能實時產生報警對駕駛員進行提醒。疲勞駕駛系統的部分組成如圖1所示。首先由傳感器來采集司機駕駛時的各種生理參數與行為特征等疲勞參數,再采用信號處理的方法提取和識別疲勞參數值,將識別后的疲勞特征參數送入傳感器與多傳感器進行信息融合,最后使用疲勞判別準則對駕駛狀態進行預判以及發出警報。
2 疲勞駕駛監測系統
疲勞駕駛監測系統主要由人臉檢測、面部關鍵點定位以及疲勞判定這幾個部分組成,檢測系統的大體流程圖如圖2所示。通過處理駕駛員的面部圖像,將駕駛員的生理狀態轉化疲勞狀態,最后用判定準則對駕駛員是否疲勞進行判定[3]。
3 圖像預處理
駕駛員實際駕駛時,車內的光照強度會隨行車過程發生改變,因此提取不同圖像的亮度信息也存在一定偏差。因而對圖像進行預處理操作十分重要,它可以改善圖像分析的穩定性[4]。本實驗對圖像預處理的操作主要是對圖像進行圖像增強和光照補償處理。
3.1 圖像增強
圖像增強是對圖像進行加工與處理,突顯相應被測區域,并使無關區域衰減,讓圖像在特定場合實用性更強。其目的是:(1)提高視覺效果,使圖像變得更加清晰明了;(2)方便計算機處理被測圖像。作為在圖像處理中非常實用的工具——形態學,它能夠快速識別圖像中骨格、軀殼以及邊界線等被測圖像分量[5]?;静僮饔信蛎浐透g,定義如式(1)、式(2)所示。
頂帽原理主要是完成原圖對開運算后的減運算,顯現了相對原圖邊界四周明亮的區域;黑帽原理反之,它顯現了相對原圖邊界四周昏暗的區域[7]。可以將原圖(img)經過頂帽運算和黑帽運算后的圖像通過式(7)實現對比度提高,以此改善圖像和增強圖像效果。
利用形態學的方法對原始圖像進行圖像增強,效果如圖3所示,實驗表明圖像質量被大幅度提高。
3.2 光照補償處理
光照補償處理主要應用在圖像顏色發生改變(例如照片發藍、發紅、或色偏冷、暖)的情況。一般按照像素的高清順序排列圖像,先用低像素圖像的亮度作為標準白色,并調節圖像的R、G、B分量值到255[8],將剩下的像素點按照尺度改變進行調節,以此來改善因為光照不均引起的色彩改變。圖4所示即為對圖像進行光照補償后的效果圖。
4 人臉檢測
由于傳統SVM統計方法在背景顏色與膚色比較接近時難以提取人臉特征,且適用于背景靜止的場合[9]。考慮到實驗的場合多需要對人臉的實時監測,因此,本文選用AdaBoost算法為人臉檢測的核心方法。AdaBoost算法實際上就是將若干個弱分類算法合并成一種強分類算法的算法[10],且每種弱分類器都有本身的分類方向、類Haar特征以及分類閾值。上述由弱分類器組合而成的強分類器以及弱分類本身都設有本身分類閾值,若累加的權值到達強分類器閾值,就說明該區域的強分類器會被通過。因此,AdaBoost算法具有很高的識別率,且算法的擬合性好[11]。
多種基于AdaBoost的人臉檢測的算法的差異性來源于其弱分類器的不同組織方式。例如級聯分類器,它是按照每級的強分類器都由些許弱分類器構成[11],這就能夠更加迅速地區分人臉部位和非人臉部位。圖5所示是人臉檢測算法的檢測結果示意圖,在確定有無人臉的基礎上進一步劃分人臉的大致位置。
由于級聯分類器的高效性,基于AdaBoost的人臉檢測算法也很容易對多個人臉圖像進行檢測。
圖6為多個檢測對象的人臉檢測效果圖。在該圖像中存在人臉姿態、對比度以及光照程度的區別。
從表1可以看出,用AdaBoost算法檢測人臉在不同光照強度的情況下幾乎未出現誤檢測效果,準確性較高,但是人臉檢測受光照影響也會出現相應的漏檢。隨著加入光照補償,漏檢率會隨之降低[12]。
5 人臉關鍵點定位
在基于人的生理狀態來進行疲勞駕駛檢測的過程中,人的面部關鍵點是最能直接體現出人是否疲勞的重要因素。
基于被約束局部模型的自動特征點定位——CLM,首先是將關鍵點定位問題轉化為對函數求解最優解的問題,再建立局部模型的一種定位方法[13]。CLM一般使用SVM來建立局部模型,它建立的全局形狀模型一般以主成分分析法為主,且將主要的維度參數化為函數矩陣,以此來分析人臉形狀的改變。構建的局部模型如式(8)所示。
其中,λ和β為單個關鍵點的SVM訓練結果,λ為特征值矩陣,β為一個列向量。整個局部模型由組合序列所表示。具體CLM算法的求解過程如下[14]:
(1)大致預計初始的關鍵點區域;
(2)快速搜索檢測到模型的關鍵點四周區域,得出SVM響應曲線圖;
(3)用二次函數來擬合選中關鍵點:
其中,A、B、C為常系數,ε表示偏差。
(4)利用數學方法得出函數的最優解,并得到各個特征點的位置,完成上述操作后對模型進行更新;
(5)循環步驟(2)~(4),直到達到設定的迭代次數或者函數呈現收斂的情況。
6 疲勞判定
由于眼睛閉合狀態是直觀反映一個人是否疲勞的重要參數[15],因此本文采用PERCLOS準則與人眼閉合曲線相結合的判定方法檢測疲勞參數。
6.1 PERCLOS準則
PERCLOS為單位時間內眼睛開閉時間比,分為P70、P80、EM 3種標準類型[16]。一般判定多采用P80標準(以眼瞼遮擋瞳孔面積的80%以上為閉合狀態),其測量原理如圖7所示。
若明確在一定時間內司機眼睛開閉時間,確定出t1、t2、t3、t4的參數值,PERCLOS值就可計算出來,計算方法如式(11),從而就能夠判定司機的疲勞狀態。
其中,f為眼睛閉合時間比。為了簡化計算,一般將時間比轉化為圖像幀數比,如式(12)所示:
其中,Nc為閉合眼睛幀數[17-18],No為張開眼睛幀數。
6.2 人眼變化曲線法
瞬目反射是一種快速的閉眼動作[19],據統計,一般人每分鐘瞬目反射大約10~18次,通常2~5 s就要眨眼一次。每一次眨眼要用0.1~0.3 s。人在雙眼凝視或者高度集中注意力時,就會減少到4~5次/min。出現疲勞后,人的眨眼頻率則會變快且每次眨眼所用時長變慢。因此可以對得到的每一幀圖像進行人眼信息統計,可按照人的眨眼頻率判斷司機疲勞狀態,本實驗得到人眼變化曲線如圖8所示[20]??v坐標為人眼相對大小n值,橫坐標為每秒通過的圖像幀數。
其中,人眼開閉狀態的判定步驟為,在圖像幀中,首先找到人眼區域中面積的最大值M。后續其余值順次與最大值M進行相比,比值n為人眼的相對大小值,n的取值范圍在0~1之間,因為人在閉眼時會預留一些基本面積,所以n值大于0,本次實驗中標定n小于0.28時為閉眼狀態的臨界值。
7 檢測結果及分析
通過攝像頭采集30位測試者的視頻序列作為數據集,包括15位男性和15位女性。采集每位測試者配戴眼鏡時和不佩戴眼鏡時的視頻集。每位測試者取30張圖像進行樣本實驗,采集幀率為30 幀/s,圖像像素為720×360。
測試人員戴眼鏡與未戴眼鏡的人臉定位測試結果如圖9所示,人臉定位平均耗時如表2所示,眼部定位準確率如表3所示。
從實驗結果可以得出,在不同壞境的拍攝下配戴眼鏡樣本測試的識別率高于未配戴眼鏡樣本。原因主要是配戴眼鏡的樣本由于鏡面反光對圖像識別產生了部分干擾,對睜眼和閉眼狀態的識別準確度有部分偏差[21]。
通過完成圖片預處理、人臉檢測以及關鍵點定位部分的識別工作,采用多個測試樣本在疲勞狀態和健康狀態下的數據序列計算相應的PERCLOS參數值,結合人眼變化曲線圖的n值,得到眨眼頻率,采樣時間均取60 s,統計結果如表4所示。
本次實驗經過多次多樣本測量,將檢測PERCLOS值大于0.25,通過人眼變化曲線圖得到眨眼頻率大于18次/min為疲勞臨界值[22],結合測試樣本的實際狀態作為對照,疲勞試驗結果如表5所示,該閾值具有較好的可行性和較高的準確度。
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)