文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190521
中文引用格式: 劉朝濤,張雪佼. 基于圖像處理的疲勞駕駛預(yù)警研究[J].電子技術(shù)應(yīng)用,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 引言
據(jù)實驗調(diào)查,有50%的駕駛員承認(rèn)自己曾疲勞駕駛,且疲勞駕駛是導(dǎo)致交通事故的一個重要因素。如果要減少由于疲勞駕駛導(dǎo)致的事故,可以對駕駛員在疲勞狀態(tài)時進(jìn)行一定的警醒。越來越多的疲勞駕駛預(yù)警系統(tǒng)在國內(nèi)外被相繼提出[1],本文研究的方法——基于圖像處理的監(jiān)測算法也是其中被廣泛應(yīng)用的一種,這些預(yù)防疲勞駕駛的研究方法對交通事故的減少有著十分重要的現(xiàn)實意義。
1 系統(tǒng)結(jié)構(gòu)
駕駛員一旦出現(xiàn)疲勞狀態(tài),他們的生理信號(例如腦電信號或心電信號)會產(chǎn)生相應(yīng)的改變,一般情況還會伴隨眨眼過快、頻繁打哈欠、點頭、注意力難集中等一系列生理狀態(tài)。這樣就可能會導(dǎo)致駕駛員在長時間不動油門或轉(zhuǎn)向盤時發(fā)生車道偏移等危險行為[2]。各種疲勞駕駛預(yù)警系統(tǒng)的研制則是為了能夠第一時間快速識別到司機的疲勞特征信息,且能實時產(chǎn)生報警對駕駛員進(jìn)行提醒。疲勞駕駛系統(tǒng)的部分組成如圖1所示。首先由傳感器來采集司機駕駛時的各種生理參數(shù)與行為特征等疲勞參數(shù),再采用信號處理的方法提取和識別疲勞參數(shù)值,將識別后的疲勞特征參數(shù)送入傳感器與多傳感器進(jìn)行信息融合,最后使用疲勞判別準(zhǔn)則對駕駛狀態(tài)進(jìn)行預(yù)判以及發(fā)出警報。
2 疲勞駕駛監(jiān)測系統(tǒng)
疲勞駕駛監(jiān)測系統(tǒng)主要由人臉檢測、面部關(guān)鍵點定位以及疲勞判定這幾個部分組成,檢測系統(tǒng)的大體流程圖如圖2所示。通過處理駕駛員的面部圖像,將駕駛員的生理狀態(tài)轉(zhuǎn)化疲勞狀態(tài),最后用判定準(zhǔn)則對駕駛員是否疲勞進(jìn)行判定[3]。
3 圖像預(yù)處理
駕駛員實際駕駛時,車內(nèi)的光照強度會隨行車過程發(fā)生改變,因此提取不同圖像的亮度信息也存在一定偏差。因而對圖像進(jìn)行預(yù)處理操作十分重要,它可以改善圖像分析的穩(wěn)定性[4]。本實驗對圖像預(yù)處理的操作主要是對圖像進(jìn)行圖像增強和光照補償處理。
3.1 圖像增強
圖像增強是對圖像進(jìn)行加工與處理,突顯相應(yīng)被測區(qū)域,并使無關(guān)區(qū)域衰減,讓圖像在特定場合實用性更強。其目的是:(1)提高視覺效果,使圖像變得更加清晰明了;(2)方便計算機處理被測圖像。作為在圖像處理中非常實用的工具——形態(tài)學(xué),它能夠快速識別圖像中骨格、軀殼以及邊界線等被測圖像分量[5]。基本操作有膨脹和腐蝕,定義如式(1)、式(2)所示。
頂帽原理主要是完成原圖對開運算后的減運算,顯現(xiàn)了相對原圖邊界四周明亮的區(qū)域;黑帽原理反之,它顯現(xiàn)了相對原圖邊界四周昏暗的區(qū)域[7]??梢詫⒃瓐D(img)經(jīng)過頂帽運算和黑帽運算后的圖像通過式(7)實現(xiàn)對比度提高,以此改善圖像和增強圖像效果。
利用形態(tài)學(xué)的方法對原始圖像進(jìn)行圖像增強,效果如圖3所示,實驗表明圖像質(zhì)量被大幅度提高。
3.2 光照補償處理
光照補償處理主要應(yīng)用在圖像顏色發(fā)生改變(例如照片發(fā)藍(lán)、發(fā)紅、或色偏冷、暖)的情況。一般按照像素的高清順序排列圖像,先用低像素圖像的亮度作為標(biāo)準(zhǔn)白色,并調(diào)節(jié)圖像的R、G、B分量值到255[8],將剩下的像素點按照尺度改變進(jìn)行調(diào)節(jié),以此來改善因為光照不均引起的色彩改變。圖4所示即為對圖像進(jìn)行光照補償后的效果圖。
4 人臉檢測
由于傳統(tǒng)SVM統(tǒng)計方法在背景顏色與膚色比較接近時難以提取人臉特征,且適用于背景靜止的場合[9]??紤]到實驗的場合多需要對人臉的實時監(jiān)測,因此,本文選用AdaBoost算法為人臉檢測的核心方法。AdaBoost算法實際上就是將若干個弱分類算法合并成一種強分類算法的算法[10],且每種弱分類器都有本身的分類方向、類Haar特征以及分類閾值。上述由弱分類器組合而成的強分類器以及弱分類本身都設(shè)有本身分類閾值,若累加的權(quán)值到達(dá)強分類器閾值,就說明該區(qū)域的強分類器會被通過。因此,AdaBoost算法具有很高的識別率,且算法的擬合性好[11]。
多種基于AdaBoost的人臉檢測的算法的差異性來源于其弱分類器的不同組織方式。例如級聯(lián)分類器,它是按照每級的強分類器都由些許弱分類器構(gòu)成[11],這就能夠更加迅速地區(qū)分人臉部位和非人臉部位。圖5所示是人臉檢測算法的檢測結(jié)果示意圖,在確定有無人臉的基礎(chǔ)上進(jìn)一步劃分人臉的大致位置。
由于級聯(lián)分類器的高效性,基于AdaBoost的人臉檢測算法也很容易對多個人臉圖像進(jìn)行檢測。
圖6為多個檢測對象的人臉檢測效果圖。在該圖像中存在人臉姿態(tài)、對比度以及光照程度的區(qū)別。
從表1可以看出,用AdaBoost算法檢測人臉在不同光照強度的情況下幾乎未出現(xiàn)誤檢測效果,準(zhǔn)確性較高,但是人臉檢測受光照影響也會出現(xiàn)相應(yīng)的漏檢。隨著加入光照補償,漏檢率會隨之降低[12]。
5 人臉關(guān)鍵點定位
在基于人的生理狀態(tài)來進(jìn)行疲勞駕駛檢測的過程中,人的面部關(guān)鍵點是最能直接體現(xiàn)出人是否疲勞的重要因素。
基于被約束局部模型的自動特征點定位——CLM,首先是將關(guān)鍵點定位問題轉(zhuǎn)化為對函數(shù)求解最優(yōu)解的問題,再建立局部模型的一種定位方法[13]。CLM一般使用SVM來建立局部模型,它建立的全局形狀模型一般以主成分分析法為主,且將主要的維度參數(shù)化為函數(shù)矩陣,以此來分析人臉形狀的改變。構(gòu)建的局部模型如式(8)所示。
其中,λ和β為單個關(guān)鍵點的SVM訓(xùn)練結(jié)果,λ為特征值矩陣,β為一個列向量。整個局部模型由組合序列所表示。具體CLM算法的求解過程如下[14]:
(1)大致預(yù)計初始的關(guān)鍵點區(qū)域;
(2)快速搜索檢測到模型的關(guān)鍵點四周區(qū)域,得出SVM響應(yīng)曲線圖;
(3)用二次函數(shù)來擬合選中關(guān)鍵點:
其中,A、B、C為常系數(shù),ε表示偏差。
(4)利用數(shù)學(xué)方法得出函數(shù)的最優(yōu)解,并得到各個特征點的位置,完成上述操作后對模型進(jìn)行更新;
(5)循環(huán)步驟(2)~(4),直到達(dá)到設(shè)定的迭代次數(shù)或者函數(shù)呈現(xiàn)收斂的情況。
6 疲勞判定
由于眼睛閉合狀態(tài)是直觀反映一個人是否疲勞的重要參數(shù)[15],因此本文采用PERCLOS準(zhǔn)則與人眼閉合曲線相結(jié)合的判定方法檢測疲勞參數(shù)。
6.1 PERCLOS準(zhǔn)則
PERCLOS為單位時間內(nèi)眼睛開閉時間比,分為P70、P80、EM 3種標(biāo)準(zhǔn)類型[16]。一般判定多采用P80標(biāo)準(zhǔn)(以眼瞼遮擋瞳孔面積的80%以上為閉合狀態(tài)),其測量原理如圖7所示。
若明確在一定時間內(nèi)司機眼睛開閉時間,確定出t1、t2、t3、t4的參數(shù)值,PERCLOS值就可計算出來,計算方法如式(11),從而就能夠判定司機的疲勞狀態(tài)。
其中,f為眼睛閉合時間比。為了簡化計算,一般將時間比轉(zhuǎn)化為圖像幀數(shù)比,如式(12)所示:
其中,Nc為閉合眼睛幀數(shù)[17-18],No為張開眼睛幀數(shù)。
6.2 人眼變化曲線法
瞬目反射是一種快速的閉眼動作[19],據(jù)統(tǒng)計,一般人每分鐘瞬目反射大約10~18次,通常2~5 s就要眨眼一次。每一次眨眼要用0.1~0.3 s。人在雙眼凝視或者高度集中注意力時,就會減少到4~5次/min。出現(xiàn)疲勞后,人的眨眼頻率則會變快且每次眨眼所用時長變慢。因此可以對得到的每一幀圖像進(jìn)行人眼信息統(tǒng)計,可按照人的眨眼頻率判斷司機疲勞狀態(tài),本實驗得到人眼變化曲線如圖8所示[20]??v坐標(biāo)為人眼相對大小n值,橫坐標(biāo)為每秒通過的圖像幀數(shù)。
其中,人眼開閉狀態(tài)的判定步驟為,在圖像幀中,首先找到人眼區(qū)域中面積的最大值M。后續(xù)其余值順次與最大值M進(jìn)行相比,比值n為人眼的相對大小值,n的取值范圍在0~1之間,因為人在閉眼時會預(yù)留一些基本面積,所以n值大于0,本次實驗中標(biāo)定n小于0.28時為閉眼狀態(tài)的臨界值。
7 檢測結(jié)果及分析
通過攝像頭采集30位測試者的視頻序列作為數(shù)據(jù)集,包括15位男性和15位女性。采集每位測試者配戴眼鏡時和不佩戴眼鏡時的視頻集。每位測試者取30張圖像進(jìn)行樣本實驗,采集幀率為30 幀/s,圖像像素為720×360。
測試人員戴眼鏡與未戴眼鏡的人臉定位測試結(jié)果如圖9所示,人臉定位平均耗時如表2所示,眼部定位準(zhǔn)確率如表3所示。
從實驗結(jié)果可以得出,在不同壞境的拍攝下配戴眼鏡樣本測試的識別率高于未配戴眼鏡樣本。原因主要是配戴眼鏡的樣本由于鏡面反光對圖像識別產(chǎn)生了部分干擾,對睜眼和閉眼狀態(tài)的識別準(zhǔn)確度有部分偏差[21]。
通過完成圖片預(yù)處理、人臉檢測以及關(guān)鍵點定位部分的識別工作,采用多個測試樣本在疲勞狀態(tài)和健康狀態(tài)下的數(shù)據(jù)序列計算相應(yīng)的PERCLOS參數(shù)值,結(jié)合人眼變化曲線圖的n值,得到眨眼頻率,采樣時間均取60 s,統(tǒng)計結(jié)果如表4所示。
本次實驗經(jīng)過多次多樣本測量,將檢測PERCLOS值大于0.25,通過人眼變化曲線圖得到眨眼頻率大于18次/min為疲勞臨界值[22],結(jié)合測試樣本的實際狀態(tài)作為對照,疲勞試驗結(jié)果如表5所示,該閾值具有較好的可行性和較高的準(zhǔn)確度。
8 結(jié)束語
本文使用圖像處理的方法先對圖像集進(jìn)行一定預(yù)處理,基于AdaBoost算法對人臉進(jìn)行檢測,在此基礎(chǔ)上采用基于CLM的人臉關(guān)鍵點定位方法對樣本進(jìn)行眼睛和嘴巴區(qū)域圖像的提取,最后對PROLOS參數(shù)值進(jìn)行計算,結(jié)合參數(shù)結(jié)果和人眼變化曲線圖閾值對樣本疲勞狀態(tài)進(jìn)行判斷。
實驗結(jié)果表明,本文方法的檢測速率可被接受且具有較好的準(zhǔn)確性。針對不同測試樣本對眼睛及嘴部狀態(tài)的識別準(zhǔn)確性和魯棒性較好。
參考文獻(xiàn)
[1] 李明瑞,傅明,曹敦.基于膚色檢測的AdaBoost人臉檢測算法改進(jìn)[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] 劉春生,常發(fā)亮,陳振學(xué),等.改進(jìn)的高斯膚色模型及其在人臉檢測中的應(yīng)用[J].儀器儀表學(xué)報,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] 趙文,張意,張衛(wèi)華,等.基于紅外圖像的眼睛開閉檢測方法[J].計算機工程與設(shè)計,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] 鄧健康.基于級聯(lián)回歸模型的人臉配準(zhǔn)研究[D].南京:南京信息工程大學(xué),2015.
[13] 吳宇豪,安籽鵬.面向圖像三維重建的無人機航線規(guī)劃[J].電子技術(shù)應(yīng)用,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,F(xiàn)ERGUS R.Stochastic pooling for regularization of deep convolutional neural networks[J].Computer Science,2012,7575(1):702-715.
[16] 連佳佳,王志有,王利斌,等.基于JPEG2000算法的圖像編碼裝置的設(shè)計[J].電子技術(shù)應(yīng)用,2019,45(3):46-49.
[17] 吳康華.基于PERCLOS的駕駛疲勞檢測系統(tǒng)設(shè)計[D].杭州:浙江大學(xué),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] 姚勝,李曉華,張衛(wèi)華,等.基于LBP的眼睛開閉檢測方法[J].計算機應(yīng)用研究,2015,32(6):1897-1901.
[21] 楊晉吉,李榮兵.基于Adaboost與Clifford代數(shù)的人臉檢測[J].計算機工程,2013,9(9):214-217.
[22] 曠文騰,毛寬誠,黃家才,等.基于高斯眼白模型的疲勞駕駛檢測[J].中國圖象圖形學(xué)報,2016,21(11):1515-1522.
作者信息:
劉朝濤,張雪佼
(重慶交通大學(xué) 機電與車輛工程學(xué)院,重慶400074)