冀翀曉 呂青 李何
摘 ?要: 為預(yù)防及減少機(jī)動車駕駛過程中交通事故的發(fā)生,提出一種基于實(shí)時(shí)檢測眼睛狀態(tài)的安全駕駛方法。首先,在機(jī)動車駕駛空間安裝并初始化攝像頭,獲取駕駛員的實(shí)時(shí)視頻,然后采用基于膚色的人臉識別算法保留感興趣區(qū)域(ROI),再用Viola?Jones算法眼睛分類器進(jìn)行眼睛檢測,最后對圖像進(jìn)行直方圖均衡化以及中值濾波,利用Hough變換的圓形檢測技術(shù)實(shí)現(xiàn)虹膜檢測以完成眼睛的實(shí)時(shí)狀態(tài)檢測。實(shí)驗(yàn)結(jié)果表明,該方法能成功檢測眼睛狀態(tài),檢測準(zhǔn)確率為99%,Kappa一致性為95.3%,具有較高的實(shí)時(shí)性。
關(guān)鍵詞: 機(jī)動車駕駛; 眼睛檢測; 圖像預(yù)處理; 虹膜檢測; Viola?Jones算法; 實(shí)時(shí)狀態(tài)
中圖分類號: TN911.23?34; TP391.4 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)20?0133?06
A safe driving method based on real?time detection of eyes condition
JI Chongxiao, L? Qing, LI He
(College of Electrical and Power Engineering, Taiyuan University of Technology, Taiyuan 030024, China)
Abstract: A safe driving method based on real?time detection of eye state is proposed to prevent and reduce the occurrence of traffic accidents in the course of motor vehicle driving. Firstly, the camera is installed in motor vehicle driving space and initialized to obtain the real?time video of the driver, the region?of?interest (ROI) is reserved by means of the face recognition algorithm based on cuticolor, and then the eyes are detected by the eyes classifier of Viola?Jones algorithm. Finally, histogram equalization and median filtering are adopted for the image, the iris detection is realized by using Hough transformational circular measurement technique to complete the real?time detection of eyes condition. The experimental results show that the method can successfully detect the eyes condition, and has higher real?time performance than other methods, whose the detection accuracy is 99% and the Kappa consistency is 95.3%.
Keywords: motor vehicle driving; eye detection; image preprocessing; iris detection; Viola?Jones algorithm; real?time status
0 ?引 ?言
在機(jī)動車駕駛的眾多安全問題中,駕駛疲勞因素已居前三,我國的疲勞駕駛事故死亡人數(shù)占全球的20%,交通事故的頻發(fā)不僅威脅著人的生命,還伴隨著大量的經(jīng)濟(jì)損失[1]。設(shè)計(jì)一套能在駕駛員昏昏欲睡時(shí)發(fā)出警示的安全駕駛系統(tǒng)有著非常重要的意義。在現(xiàn)有研究中,文獻(xiàn)[2]提出了一種基于眼睛狀態(tài)的駕駛員睡意實(shí)時(shí)檢測方法。它使用Viola?Jones(VJ)算法進(jìn)行駕駛員面部檢測以及利用人臉的幾何特性進(jìn)行眼睛定位,然后對圖像進(jìn)行邊緣檢測,利用圓形Hough變換(CHT)技術(shù)完成虹膜檢測。該方法中,因?yàn)镃HT技術(shù)高度依賴于邊緣檢測結(jié)果,因此在低對比度圖像以及有噪圖像中會因?yàn)檫吘夵c(diǎn)的丟失而降低識別效率。
基于上述已有方法,本文對實(shí)時(shí)檢測駕駛員的眼睛狀態(tài)方法進(jìn)行了改進(jìn)。首先,在本文方法中, 先用基于膚色的人臉檢測算法保留人臉,即留取感興趣區(qū)域(ROI),節(jié)省時(shí)間,提高運(yùn)算速度,并且在下一步利用Viola?Jones算法時(shí)可以直接使用眼睛分類器訓(xùn)練快速確定雙眼區(qū)域;其次,檢測虹膜時(shí),對CHT技術(shù)給出的輸入不是傳統(tǒng)的邊緣檢測圖像,而是直方圖均衡化以及中值濾波后的灰度圖像,防止由于邊緣點(diǎn)丟失而降低識別率。采用直方圖均衡化的方法,提高了圖像的全局對比度,而且使具有相近灰度且占有大量像素點(diǎn)區(qū)域的灰度范圍展寬。施加中值濾波可以保留邊緣信息,并去除圖像中的噪聲[3?5]。實(shí)驗(yàn)結(jié)果證明,本文改進(jìn)方法有效地提高了識別效率。相應(yīng)的算法流程圖如圖1所示。
1) 視頻采集:在機(jī)動車駕駛環(huán)境安裝并初始化攝像頭,獲取汽車駕駛員的實(shí)時(shí)視頻。從視頻中提取幀并將這些幀存儲為圖像;
2) 人臉人眼檢測:使用基于膚色的人臉檢測算法從整個(gè)幀圖像中檢測駕駛員的臉部區(qū)域,并對臉部區(qū)域裁剪,再用VJ算法眼睛訓(xùn)練器從臉部圖像中檢測駕駛員的眼睛,裁剪眼睛區(qū)域;
3) 分心檢測:如果在實(shí)時(shí)視頻中沒有檢測到人臉區(qū)域,或者檢測到人臉而沒有檢測到眼睛區(qū)域,這就意味著駕駛員沒有直視前方或者分心;
4) 睡意檢測:從檢測到的眼睛區(qū)域,如果用CHT技術(shù)能檢測到虹膜,那么眼睛是睜著的,否則眼睛是閉著的,表示司機(jī)已經(jīng)昏昏欲睡;
5) 發(fā)出警告:司機(jī)分心或者昏昏欲睡時(shí),發(fā)出警告。
1 ?圖像預(yù)處理
對于攝像頭采集到的實(shí)時(shí)視頻,首先提取幀圖像并存儲?;趯?shí)時(shí)檢測眼睛狀態(tài)的安全駕駛輔助系統(tǒng)主要是依據(jù)檢測到的人眼進(jìn)行判斷,所以先進(jìn)行人臉檢測,在人臉檢測的基礎(chǔ)上進(jìn)一步進(jìn)行眼部區(qū)域檢測,最后只對眼睛區(qū)域進(jìn)行裁剪以減少信息冗余及計(jì)算。
1.1 ?基于膚色檢測臉部區(qū)域
本文駕駛環(huán)境簡單,背景較為單一,而且最終的研究對象是眼睛區(qū)域,前期人臉檢測的主要目的是裁剪圖片以去除冗余信息,提高計(jì)算速度。所以選取不需要進(jìn)行離線訓(xùn)練、運(yùn)算速度最快的基于膚色的人臉檢測算法。
人的皮膚有其獨(dú)有的特征性,皮膚的顏色在顏色空間的基色中,只占據(jù)一定的范圍,算出這個(gè)范圍的值,就能把皮膚從背景中過濾出來[6]。經(jīng)過試驗(yàn),在普通的RGB空間,膚色的判別閾值為1.0<[RB]<1.3;特別地,當(dāng)膚色與背景色對比度較低時(shí),將R,G,B值轉(zhuǎn)換為H(色度)、S(飽和度)、I(亮度)值,轉(zhuǎn)換公式如下:
將HSI空間的膚色判別閾值設(shè)為5.75 1) 得出圖像的R,G,B值及H,S,I值,并算出[RB]值; 2) 將膚色判別閾值范圍之內(nèi)的像素點(diǎn)置1,其余像素點(diǎn)為0,圖像二值化顯示; 3) 計(jì)算二值圖像面積,設(shè)置人臉面積最小閾值[Smin],本文設(shè)為27,刪除小于此值的面積區(qū)域; 4) 裁掉二值圖像中四周全為0的多余區(qū)域,另外,一般檢測到的區(qū)域包括脖子部分,所以,裁剪時(shí)圖像下方多裁掉本應(yīng)留取區(qū)域的0.3,即為人臉區(qū)域; 5) 最終人臉區(qū)域在原圖中標(biāo)定框出并裁剪。圖2 ?基于膚色檢測人臉
1.2 ?VJ算法檢測眼睛區(qū)域
Viola?Jones算法于2001年在IEEE國際計(jì)算機(jī)視覺與模式識別會議(CVPR)上提出,用于檢測全景式正面面部區(qū)域,該方法的優(yōu)點(diǎn)是對不同膚色的人群,有一定旋轉(zhuǎn)角度的人臉以及光照變化都有較強(qiáng)的魯棒性,檢測率高[7]。由于駕駛員在正常駕駛時(shí),采集到的臉部應(yīng)該是直視前方的,如果檢測不到人眼,證明駕駛員已經(jīng)分心駕駛。VJ算法主要包含以下幾個(gè)重要部分。
1.2.1 ?Haar特征提取
Haar特征[8]是用于尋找基于像素強(qiáng)度的簡單矩形特征,它反映了局部區(qū)域之間的相對明暗關(guān)系,能夠?yàn)樽R別對象的區(qū)分提供有效的信息。圖3為常見Haar特征。
1.2.2 ?創(chuàng)建積分圖像
計(jì)算Haar特征時(shí)需要對矩形區(qū)域的所有像素求和,如果遍歷所有像素再求和,這個(gè)運(yùn)算將非常大,所有VJ算法采用一種新的數(shù)據(jù)結(jié)構(gòu)求像素和,即創(chuàng)建Integral image(積分圖像)[9]。對于圖像中的任何一點(diǎn)積分圖像值等于位于該點(diǎn)左上角的所有像素之和,計(jì)算公式為:
1.2.3 ?Adaboost分類訓(xùn)練
AdaBoost可以同時(shí)進(jìn)行特征選擇與分類器訓(xùn)練,利用弱分類器i進(jìn)行線性組合,構(gòu)成一個(gè)強(qiáng)分類器[10]。在本文方法中,收集相關(guān)特征的子集,形成一個(gè)有效的分類器,對眼睛區(qū)域的檢測來說是必要的。“弱”分類器變“強(qiáng)”分類器的公式為:
1.2.4 ?級聯(lián)分類器
在檢測眼睛時(shí),通常眼睛只占人臉圖像的一部分區(qū)域,如果將所有區(qū)域遍歷所有特征,運(yùn)算量將會非常巨大。所以為了節(jié)省運(yùn)算時(shí)間,應(yīng)該把更多的檢測放在潛在的正樣本區(qū)域上,由此引入了級聯(lián)分類器。級聯(lián)分類器先用少量特征將大部分的消極區(qū)域剔除,后面再利用復(fù)雜的特征將非積極區(qū)域剔除。例如,檢測眼睛時(shí)先利用圖3的A特征,再利用C特征進(jìn)行檢測,誤檢率也會降低。
基于VJ算法檢測眼睛的結(jié)果如圖7所示。另外,將檢測出來的眼睛區(qū)域從臉上裁出來,為下一步虹膜檢測的運(yùn)算節(jié)省時(shí)間,提供便利。
2 ?虹膜檢測
從上述處理結(jié)果中每個(gè)幀檢測到的眼睛區(qū)域狀態(tài),如果虹膜被檢測到,那么眼睛是睜開的,駕駛員正常駕駛,否則眼睛是閉合的,駕駛員已經(jīng)昏昏欲睡。由于正常睜眼的虹膜近似圓的形狀,所以采用霍夫變換檢測圓(CHT)的方法,傳統(tǒng)的CHT技術(shù)輸入為邊緣檢測圖像[11],但是正是由于傳統(tǒng)的CHT技術(shù)高度依賴于邊緣檢測結(jié)果,從而降低了識別低對比度圖像以及由于邊緣點(diǎn)丟失而產(chǎn)生噪聲的圖像的效率。本文方法中對CHT技術(shù)給出的輸入圖像是經(jīng)過直方圖均衡以及中值濾波的圖像。采用直方圖均衡化的方法,提高了圖像的全局對比度,而且使具有相近灰度且占有大量像素點(diǎn)區(qū)域的灰度范圍展寬。施加中值濾波可以保留邊緣信息,并去除圖像中的噪聲。
2.1 ?直方圖均衡化以及圖像濾波
2.1.1 ?直方圖均衡化
灰度直方圖表示每個(gè)灰度級在圖像中的占有率,圖像對比度是通過灰度級范圍來度量的。如果圖像總體較暗,那么直方圖中低灰度級一邊比較集中,反之,高灰度級一邊比較集中。直方圖均衡化就是對圖像進(jìn)行非線性拉伸,重新分配像素值,把圖像從比較集中的灰度范圍變成全部灰度范圍內(nèi)的均勻分布,以此來增強(qiáng)圖像的對比度,使圖像更清晰[12]。圖8顯示眼睛區(qū)域灰度圖和其直方圖以直方圖均衡化之后的灰度圖和其直方圖。
由圖可見,直方圖均衡化之后許多像素被映射到比較暗的區(qū)域,較亮的灰度分布更加廣泛,比原圖像更加清晰。
2.1.2 ?圖像濾波
在獲取駕駛圖像的過程中,由于光照變化、攝像頭自身設(shè)備以及傳輸介質(zhì)的影響,獲取到的數(shù)字圖像往往會受到多種噪聲的污染,所以圖像濾波必不可少。常用的濾波算子包括平均算子、高斯平均和中值算子。
平均算子可以去除大量噪聲,但是使特征邊界模糊;高斯平均保留更多特征,但與原圖相比,幾乎沒有去噪;中值算子可以抑制噪聲,也能得到清晰的邊界特征[13]。圖9顯示了原圖和三種濾波方法處理后的圖像。結(jié)果與上述相符。所以本文采用中值濾波方式濾波。
2.2 ?圓形霍夫變換檢測虹膜
霍夫變換(Hough Transform,HT)是一種在圖像中定位形狀的技術(shù),常用來提取圖像中的直線、圓和橢圓,它利用了一種投票的方法收集證據(jù)以此完成圖像到累加器空間的映射,這種映射是基于目標(biāo)形狀的[14]。由于正常睜眼時(shí)的虹膜形狀近似圓形,所以利用其提取圓的方法來定位虹膜,檢測眼睛的狀態(tài)。
圖10中,圖10a)表示將要識別的圓,1,2,3為圓上邊緣點(diǎn),圖10b)表示每個(gè)邊緣點(diǎn)以相同半徑畫圓作為第一組投票圓,再以其他半徑畫圓為其他組投票圓,在圖10c)中以三維方式顯示。在收集所有的邊緣點(diǎn)證據(jù)后,與原圖中圓的半徑相同的一組投票圓相交的點(diǎn)達(dá)到累加器空間的最大值,此時(shí)該點(diǎn)對應(yīng)的參數(shù)即為原始圖像中圓的參數(shù),即圖10c)中點(diǎn)A的參數(shù)。利用基于圓形霍夫變換檢測虹膜的結(jié)果如圖11所示。
3 ?實(shí)驗(yàn)結(jié)果及評價(jià)
3.1 ?評價(jià)方法
本文評價(jià)方法中,將眼睛睜著且系統(tǒng)判斷為眼睛睜著的(即檢測到虹膜)記為OO,將眼睛閉著且系統(tǒng)判斷為眼睛閉著的(即沒有檢測到虹膜)記為CC,將眼睛睜著但系統(tǒng)判斷為眼睛閉著的記為OC,將眼睛閉著但系統(tǒng)判斷為眼睛睜著的記為CO。虹膜檢測實(shí)例如圖12所示(圖片為CAS?PEAL數(shù)據(jù)庫中截?。?。
采用混淆矩陣、正確分類率(CCR)、平均檢測時(shí)間(t)以及Kappa統(tǒng)計(jì)量[15]評價(jià)該方法。特別地,評價(jià)一個(gè)方法是否有效,正確率不能說明全部的問題,Kappa統(tǒng)計(jì)量是反映實(shí)際與理論兩種結(jié)果一致性程度高低的系數(shù),用來檢驗(yàn)本文方法的有效性。計(jì)算公式如下:
3.2 ?實(shí)驗(yàn)設(shè)置及結(jié)果
本文實(shí)驗(yàn)所用計(jì)算機(jī)配置為:Intel[?] Core i7 7700k CPU(主頻大小為4.2 GHz),內(nèi)存大小為8 GB;實(shí)驗(yàn)中采用的軟件環(huán)境為Matlab R2016b,在64位Windows 10平臺下進(jìn)行測試。
此次實(shí)驗(yàn)自行拍攝20名志愿者的駕駛視頻,所有幀圖像作為總體,隨機(jī)選取每名志愿者的10張圖像作為樣本(共200張),大小均為1 080×1 080。部分樣本如圖13所示,部分檢測結(jié)果如圖14所示。
圖14中,第1,2個(gè)人在專心駕駛,檢測結(jié)果也成功檢測到了臉、眼、虹膜,與人們的認(rèn)知一致;第3個(gè)人在低頭駕駛,沒有注視前方,檢測結(jié)果中未能檢測到兩只眼睛及虹膜,這與人們的認(rèn)知也一致;第4個(gè)人已經(jīng)昏昏欲睡,同樣沒有成功檢測到她的眼睛和虹膜,與認(rèn)知結(jié)果一致。
由表1可知,本文方法比現(xiàn)有方法的準(zhǔn)確率高0.025;Kappa統(tǒng)計(jì)量比現(xiàn)有方法大0.11;每幀的平均運(yùn)算時(shí)間比現(xiàn)有方法快0.053 s。
本文方法的優(yōu)點(diǎn)在于利用基于膚色的人臉識別算法提高了運(yùn)行速度,利用基于Viola?Jones算法的眼睛檢測器提高了眼睛識別的準(zhǔn)確率,每一步的ROI區(qū)域裁剪避免了復(fù)雜信息的冗余,使用直方圖均衡與中值濾波圖像作為霍夫圓檢測的輸入,提高了全局對比度,減少了圖像噪聲。實(shí)驗(yàn)結(jié)果表明,本文方法能有效檢測駕駛員眼睛的狀態(tài),且性能較好。
4 ?結(jié) ?語
本文提出了一種實(shí)時(shí)檢測眼睛狀態(tài)的安全駕駛方法。該方法以虹膜檢測為最終目標(biāo),通過膚色的特定閾值識別人臉,再利用眼睛的共性特征生成的眼睛分類器識別眼睛,最后利用直方圖均衡化和中值濾波圖像作為圓形霍夫變換的輸入成功檢測虹膜。實(shí)驗(yàn)結(jié)果與人們的認(rèn)知基本一致,準(zhǔn)確率較高,實(shí)時(shí)性較強(qiáng),有助于減少駕駛員因疲勞或分心駕駛而引起的交通事故,對改善道路安全有一定的研究意義。
注:本文通訊作者為李何。
參考文獻(xiàn)
[1] 呂雪霜.基于圖像分析的疲勞駕駛專利技術(shù)綜述[J].中國科技信息,2018(17):17?19.
L? Xueshuang. Review of patent technology for fatigue driving based on image analysis [J]. China science and technology information, 2018(17): 17?19.
[2] CHERABIT N. Circular hough transform for iris localization [J]. Journal of computer science and technology, 2012, 2(5): 114?121.
[3] HICHRI S, NAKKACH H, BENZARTI F, et al. Monitoring of driver′s drowsiness based on eyes state analysis [C]// Third International Conference on Automation, Control, Engineering and Computer Science. Hammamet: [s.n.], 2016: 779?783.
[4] 黃窈蕙.智能駕駛汽車視覺圖像處理技術(shù)[J].公路交通科技,2018(8):323?326.
HUANG Yaohui. Visual image processing technology for intelligent driving car [J]. Highway communications technology, 2018(8): 323?326.
[5] 王罡,駢俊生.一種基于人臉檢測的人眼特征定位方法[J].阜陽師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2010,27(1):37?39.
WANG Gang, PIAN Junsheng. A novel method of eye features location based on face detection [J]. Journal of Fuyang Teachers College (Natural science edition), 2010, 27(1): 37?39.
[6] 李燕,王玲.基于膚色和Haar方差特征的人臉檢測[J].計(jì)算機(jī)工程與科學(xué),2015,37(1):146?151.
LI Yan, WANG Ling. Face detection based on skin color and haar variance feature [J]. Computer engineering and science, 2015, 37(1): 146?151.
[7] AL?ANIZY G J, NORDIN M J, RAZOOQ M M. Automatic driver drowsiness detection using haar algorithm and support vector machine techniques [J]. Asian journal of applied sciences, 2015, 8(2): 149?157.
[8] Peter Harrington. Machine learning in action [M].李銳,李鵬,曲亞東,等譯.北京:人民郵電出版社,2013:117?122.
HARRINGTON P. Machine learning in action [M]. Translated by LI Rui, LI Peng, QU Yadong, et al. Beijing: People's Post and Telecommunications Press, 2013: 117?122.
[9] DAHIPHALE V E, SATHYANARAYANA R. Real?Time Computer vision system for continuous face detection and tracking [J]. International journal of computer applications, 2015, 122(18): 1?5.
[10] 王科俊,鄒國鋒,傅桂霞,等.一種快速眼睛定位與人臉平面旋轉(zhuǎn)校正方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2013,25(6):865?873.
WANG Kejun, ZOU Guofeng, FU Guixia, et al. A fast eye location and face plane rotation correction method [J]. Journal of computer?aided design and graphics, 2013, 25(6): 865?873.
[11] CHAUDHARI M, SONDUR S, VANJARE G. A review on face detection and study of viola Jones method [J]. Journal of Computer trend, 2015, 25(1): 54?61.
[12] ALIOUA N, AMINE A, RZIZA M, et al. Eye state analysis using iris detection based on circular hough transform [C]// 2011 International Conference on Multimedia Computing and Systems. Ouarzazate: IEEE, 2011: 1?5.
[13] PODDER M S, ROY M S. Drivers drowsiness detection using eye status to improve the road safety [J]. International journal of innovative research in computer and communication engineering, 2013, 1(7): 1490?1497.
[14] HAN W, YANG Y, HUANG G B, et al. Driver drowsiness detection based on novel eye openness recognition method and unsupervised feature learning [C]// IEEE International Conference on Systems, Man, and Cybernetics. Kowloon: IEEE, 2015: 1470?1475.
[15] 郭軼斌,郭威,秦宇辰,等.基于Kappa系數(shù)的一致性檢驗(yàn)及其軟件實(shí)現(xiàn)[J].中國衛(wèi)生統(tǒng)計(jì),2016,33(1):169?170.
GUO Yibin, GUO Wei, QIN Yuchen, et al. Consistency test based on kappa coefficient and its software implementation [J]. China health statistics, 2016, 33(1): 169?170.