孫 玥 楊國(guó)為,2 陳雪鑫
(1.青島大學(xué)電子信息學(xué)院 青島 266071)
(2.南京審計(jì)大學(xué)信息工程學(xué)院 南京 210000)
隨著交通運(yùn)輸業(yè)的發(fā)展,惡性交通事故頻繁發(fā)生,這對(duì)人民的生命財(cái)產(chǎn)構(gòu)成了威脅。其中,疲勞駕駛是導(dǎo)致交通事故頻發(fā)的原因之一。現(xiàn)有的疲勞駕駛檢測(cè)算法可根據(jù)疲勞特征分為三類:基于生理特征的算法、基于行為特征的算法和基于視覺檢測(cè)的算法。文獻(xiàn)[1~4]提出了一種基于腦電信號(hào)(Electro Encephalo Gram,EEG)的睡眠檢測(cè)模型。然而,EEG信號(hào)易受噪聲影響并且難以收集。EOG(Electro Oculo Gram,EOG)[5~7]比EEG更容易收集,可用于免疫輕微噪音。然而,安裝用于收集的頭部裝置仍然相對(duì)麻煩。行為特征包括駕駛?cè)诵袨樘卣骱蛙囕v行為特征,劉洋洋[8]提出的方法雖然可以檢測(cè)司機(jī)疲勞狀態(tài),但是算法復(fù)雜,反映速度慢且識(shí)別率低。文獻(xiàn)[9]使用駕駛模擬器來(lái)建立模擬駕駛場(chǎng)景。并根據(jù)需要確定要獲得的數(shù)據(jù),以確定車輛是否失控。但會(huì)受到路面條件和車輛型號(hào)的限制。基于視覺的方法是通過(guò)使用由相機(jī)拍攝的圖片來(lái)檢測(cè)疲勞,以檢測(cè)駕駛員是否具有長(zhǎng)時(shí)間的疲勞狀態(tài)。文獻(xiàn)[10~11]提出了一種基于機(jī)器視覺的頭部姿態(tài)估計(jì)新方法。這類方法對(duì)駕駛員是非侵入式的,更為方便自然,成本也能得到很好的控制。
本文采用計(jì)算機(jī)視覺的方法首先利用Dlib構(gòu)架人臉識(shí)別器,繼而利用Dlib官方訓(xùn)練好的模型進(jìn)行68點(diǎn)標(biāo)定,提取出眼部、嘴部、下巴周圍的特征點(diǎn)的坐標(biāo),根據(jù)雙眼關(guān)鍵點(diǎn)計(jì)算眼睛縱橫比,類比眼睛縱橫比,提出一種新的哈欠檢測(cè)方法—嘴部縱橫比,根據(jù)計(jì)算結(jié)果判斷駕駛員是否處于瞌睡狀態(tài)和打哈欠狀態(tài),為了進(jìn)一步判斷駕駛員狀態(tài),本文相比較文獻(xiàn)[12]加上了對(duì)駕駛員注意力的判斷,進(jìn)一步判斷駕駛員的狀態(tài),如果出現(xiàn)不安全行為,發(fā)出預(yù)警進(jìn)行提醒,從而實(shí)現(xiàn)駕駛員疲勞及注意力檢測(cè)。實(shí)驗(yàn)證明,該方法在疲勞駕駛檢測(cè)的準(zhǔn)確率、實(shí)時(shí)性等方面取得明顯的性能提升。
本文提出的基于計(jì)算機(jī)視覺的疲勞及注意力檢測(cè)算法,該算法主要分三個(gè)部分:包括根據(jù)雙眼關(guān)鍵點(diǎn)計(jì)算眼睛縱橫比的瞌睡檢測(cè)、根據(jù)嘴部關(guān)鍵點(diǎn)計(jì)算嘴巴縱橫比的哈欠檢測(cè)以及根據(jù)關(guān)鍵點(diǎn)估計(jì)人臉姿態(tài)的注意力檢測(cè),具體算法流程圖如圖1所示。

圖1 算法流程圖
Dlib庫(kù)是一個(gè)開源的人臉識(shí)別庫(kù),其提供了一個(gè)68關(guān)鍵點(diǎn)的檢測(cè)模型,而且是按照順序排列的,所以,使用時(shí)可以方便地找到、調(diào)用需要的關(guān)鍵點(diǎn),模型如圖2所示。

圖2 68點(diǎn)模型圖
本文使用基于Soukupova T[13]提出的眼睛周圍特征點(diǎn)的眼睛縱橫比(EAR)的概念。在Dlib中,左眼和右眼分別對(duì)應(yīng)了6個(gè)特征點(diǎn),圖3中的六個(gè)特征點(diǎn)p1,p2,p3,p4,p5和p6是面部特征點(diǎn)中相應(yīng)眼睛的六個(gè)特征點(diǎn)。基于這6個(gè)特征點(diǎn)可以計(jì)算眼睛縱橫比EAR來(lái)實(shí)現(xiàn)眼部疲勞狀態(tài)的判別。
當(dāng)眼睛打開和關(guān)閉時(shí),眼睛特征點(diǎn)之間的關(guān)系如圖3中的曲線所示。可以看出,當(dāng)眼睛打開和關(guān)閉時(shí),縱橫比是不同的。因而ERA在眼睛睜開和閉合時(shí)會(huì)有不同的數(shù)值范圍,可以根據(jù)ERA的值判斷眼睛是張開還是閉合。
由文獻(xiàn)[13]可以得出眼睛縱橫比EAR的計(jì)算公式:


圖3 基于眼睛周圍特征點(diǎn)縱橫比EAR
在檢測(cè)到ERA小于0.25時(shí)判斷為閉眼狀態(tài),同時(shí)開始統(tǒng)計(jì)連續(xù)閉眼幀數(shù),普通的眨眼狀態(tài)一般持續(xù)3到5幀,若連續(xù)閉眼幀數(shù)達(dá)到20幀則可判定駕駛員處于瞌睡狀態(tài),發(fā)出瞌睡預(yù)警,如圖4所示。
鑒于Soukupova T提出的基于眼睛周圍特征點(diǎn)EAR概念的結(jié)果的有效性,本文提出一種用于瞌睡檢測(cè)的新方法—嘴部縱橫比MAR(mouth aspect ra?tio)。在Dlib中,嘴對(duì)應(yīng)于20個(gè)特征點(diǎn),類似于瞌睡檢測(cè),如圖5所示。選取其中相應(yīng)的6個(gè)特征點(diǎn)p1、p2、p3、p4、p5、p6,基 于 這6個(gè) 特 征 點(diǎn) 可 以 計(jì) 算MAR:

縱橫比在嘴巴張開和閉合時(shí)會(huì)有所不同,因而MRA在嘴巴睜開和閉合時(shí)會(huì)有不同的數(shù)值范圍,我們可以根據(jù)MRA的值判斷嘴巴是張開還是閉合。

圖4 瞌睡狀態(tài)預(yù)警

圖5 嘴部特征點(diǎn)
在檢測(cè)到MRA大于0.60時(shí)判斷為張口狀態(tài),同時(shí)開始統(tǒng)計(jì)連續(xù)張口幀數(shù)。普通的講話,驚喜和其他狀態(tài)一般都有少量的連續(xù)幀。若連續(xù)張口幀數(shù)達(dá)到15幀即可判定駕駛員處于哈欠狀態(tài),發(fā)出哈欠預(yù)警,結(jié)果如圖6所示。

圖6 哈欠狀態(tài)預(yù)警
駕駛員的注意力狀態(tài)也是判斷一個(gè)駕駛員是否出現(xiàn)問題的重要指標(biāo)[14]。進(jìn)行注意力檢測(cè)首先根據(jù)眼角、鼻尖、下巴關(guān)鍵點(diǎn)估計(jì)人臉姿態(tài),然后判斷駕駛員的視線是否超出安全區(qū)域,如果實(shí)現(xiàn)超過(guò)安全區(qū)域達(dá)到指定幀數(shù)10幀時(shí),則判斷駕駛員注意力分散,發(fā)出危險(xiǎn)預(yù)警。
3.4.1 頭部姿態(tài)估計(jì)
近年來(lái),頭部姿態(tài)估計(jì)已成為計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要研究課題,成為疲勞檢測(cè)和人臉識(shí)別研究的關(guān)鍵技術(shù)[15]。許多疲勞檢測(cè)系統(tǒng)可以顯示正面圖像的良好識(shí)別性能,但是對(duì)于越來(lái)越多的面部姿勢(shì)角度,其識(shí)別準(zhǔn)確度將嚴(yán)重下降。因此,頭部姿勢(shì)估計(jì)是判斷駕駛員注意力是否集中的重要指標(biāo)。
在本文中,將二位圖像用于姿勢(shì)估計(jì),并且三維標(biāo)準(zhǔn)模型以特定角度旋轉(zhuǎn)直到模型上的“三維特征點(diǎn)”的“二維投影”與待測(cè)試圖像上的特征點(diǎn)(圖像上的特征點(diǎn)顯然是二維)盡量重合。然后,基于二維圖像中檢測(cè)到的關(guān)鍵點(diǎn)估計(jì)頭部姿勢(shì)。
在精細(xì)估計(jì)方法中,頭部姿態(tài)估計(jì)是三維頭部偏轉(zhuǎn)的精確測(cè)量,即頭部偏轉(zhuǎn)角度相對(duì)于某個(gè)坐標(biāo)平面的推斷過(guò)程。理想情況下,頭部姿勢(shì)在三個(gè)軸上記為[16]X軸(Pitch方向)的磁頭范圍為-90°~90°、Y軸(Roll方向)的磁頭范圍為-90°~90°、圍繞Z軸(Yaw方向)頭部姿態(tài)范圍為-90°~90°。
利用Dlib獲取的六個(gè)人臉關(guān)鍵點(diǎn)(鼻尖、下巴、左眼左角、右眼右角、嘴角左側(cè)、嘴角右側(cè))的坐標(biāo)與三維坐標(biāo)對(duì)照后,估計(jì)頭部姿勢(shì),得到的結(jié)果是Yaw,Pitch和Roll三個(gè)參數(shù)的結(jié)果。為了便于觀察和處理,將得到的旋轉(zhuǎn)向量進(jìn)一步轉(zhuǎn)化為四元數(shù),再轉(zhuǎn)化為歐拉角(弧度),最后轉(zhuǎn)化為角度。最終結(jié)果為:X為左右轉(zhuǎn)頭的角度;Y為上下轉(zhuǎn)頭的角度;Z為扭頭的角度。結(jié)果如圖7所示。

圖7 頭部姿態(tài)估計(jì)結(jié)果
3.4.2 視線范圍檢測(cè)
基于視頻圖像處理的視線檢測(cè)方法因具有廣闊的發(fā)展前景并且越來(lái)越受到很大的重視。
本文設(shè)置左眼角p1、右眼角p2、下巴p3三個(gè)關(guān)鍵點(diǎn)的位置坐標(biāo),據(jù)此計(jì)算出視線安全區(qū)域的左上角p4、右下角p5的坐標(biāo),從而可以得到視線安全范圍。當(dāng)視線連續(xù)超出該范圍達(dá)到10幀時(shí),判定為注意力分散,發(fā)出危險(xiǎn)預(yù)警。
實(shí)驗(yàn)里用的視頻數(shù)據(jù)庫(kù)來(lái)自于YawDD數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中的視頻,男女駕駛者被要求坐在汽車的駕駛座。該視頻是真實(shí)的和變化的照明條件。數(shù)據(jù)庫(kù)中包含兩個(gè)數(shù)據(jù)集,在第一個(gè)數(shù)據(jù)集中,攝相機(jī)安裝在車的前視鏡下面。每個(gè)參與者有三個(gè)或四個(gè)視頻,每個(gè)視頻包含不同的嘴巴狀態(tài)如正常、說(shuō)話/唱歌和打哈欠。在第二個(gè)數(shù)據(jù)集中,攝像機(jī)安裝在駕駛員前面的儀表板上,并且每個(gè)參與者在同一視頻中具有不同嘴部狀態(tài)的視頻。
對(duì)視頻中的數(shù)據(jù)進(jìn)行檢測(cè),運(yùn)用本文提出的疲勞及注意力檢測(cè)算法,實(shí)驗(yàn)結(jié)果如下。
當(dāng)駕駛員正常駕駛時(shí),駕駛員的各項(xiàng)顯示正常,旋轉(zhuǎn)角度也正常,并且給出了safe提示,如圖8所示;當(dāng)駕駛員出現(xiàn)打哈欠的狀態(tài)時(shí),系統(tǒng)檢測(cè)到駕駛員出現(xiàn)問題,并且發(fā)出警告,如圖9所示;當(dāng)駕駛員出現(xiàn)轉(zhuǎn)頭,即檢測(cè)到不在正常的視線范圍內(nèi)的時(shí)候,系統(tǒng)會(huì)給出danger的警告,如圖10所示。

圖8 正常駕駛結(jié)果

圖9 出現(xiàn)打哈欠狀態(tài)

圖10 出現(xiàn)轉(zhuǎn)頭狀態(tài)
本文針對(duì)駕駛員疲勞問題基于計(jì)算機(jī)視覺提出了一種新方法,首先利用Dlib構(gòu)架人臉識(shí)別器,繼而利用Dlib官方訓(xùn)練好的模型進(jìn)行68點(diǎn)標(biāo)定,提取出眼部、嘴部、下巴周圍的特征點(diǎn)的坐標(biāo),根據(jù)雙眼關(guān)鍵點(diǎn)計(jì)算眼睛縱橫比,類比眼睛縱橫比,提出了一種新的哈欠檢測(cè)方法,即嘴部縱橫比。為了進(jìn)一步判斷駕駛員狀態(tài),本文又加上了對(duì)駕駛員注意力的判斷,進(jìn)一步判斷駕駛員的狀態(tài),如果出現(xiàn)不安全行為,則發(fā)出警報(bào)提醒。實(shí)驗(yàn)證明,該方法在疲勞駕駛檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性方面取得了明顯的性能提升。但是本文在檢測(cè)駕駛員夜間行駛時(shí)準(zhǔn)確率沒有白天時(shí)候的高,后續(xù)將繼續(xù)研究駕駛員在夜間行駛的情況。