潘志庚,劉榮飛,張明敏
1(杭州師范大學(xué) 數(shù)字媒體與人機(jī)交互研究中心,浙江 杭州 311121)
2(浙江大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310007)
隨著我國(guó)經(jīng)濟(jì)的快速發(fā)展,汽車已成為主要的交通工具,疲勞駕駛已成為引發(fā)交通事故的主要原因之一.因此,研究疲勞駕駛檢測(cè)系統(tǒng),實(shí)現(xiàn)對(duì)駕駛員疲勞狀態(tài)的監(jiān)控具有重要意義.在各種疲勞檢測(cè)方法中,主要有基于傳感設(shè)備的接觸式檢測(cè),如對(duì)駕駛員的腦電圖、心電圖等生理信號(hào)進(jìn)行檢測(cè)[1]和基于模式識(shí)別、圖像處理的非接觸式檢測(cè)[2].目前,國(guó)外在這方面的研究主要偏向第1 種方法,利用各種傳感器采集駕駛員的生理數(shù)據(jù)進(jìn)行疲勞檢測(cè),例如美國(guó)研制的方向盤(pán)監(jiān)視裝置S.A.M[3],通過(guò)安裝的傳感器檢測(cè)方向盤(pán)的異常來(lái)判斷駕駛員疲勞情況,歐洲研發(fā)的AWAKE 駕駛診斷系統(tǒng)[4],利用CCD 傳感器和力學(xué)傳感器獲取的信號(hào)以判斷駕駛員是否疲勞.
由于第2 種方法具有非侵入性、比較自然、實(shí)時(shí)的特點(diǎn),已成為駕駛員疲勞檢測(cè)領(lǐng)域的研究熱點(diǎn).在各種檢測(cè)機(jī)制中,基于人眼特征信息的研究是目前應(yīng)用最廣泛的.Yang 提出了基于結(jié)構(gòu)光傳感器應(yīng)用于眼睛瞳孔位置的檢測(cè)[5];Chang 使用haar 特征和極限學(xué)習(xí)機(jī)算法對(duì)駕駛員的人眼進(jìn)行檢測(cè)與追蹤[6];Zhang 等人使用Boost-LBP 特征和SVM 對(duì)疲勞面部表情學(xué)習(xí)與分析[7].在人眼定位研究中,文獻(xiàn)[8]使用圖像相減法,利用人眼視網(wǎng)膜對(duì)850nm 波長(zhǎng)紅外線與940nm 的紅外線反射率存在差異(前者90%,后者40%)這一特征進(jìn)行圖像差分即可得到大致的眼睛區(qū)域,但這一方法對(duì)相機(jī)要求較高.因此,又有人使用微軟的深度相機(jī)Kinect 對(duì)眼睛狀態(tài)進(jìn)行分析[9].鄢黎明等人設(shè)計(jì)了基于DSP 的微處理器技術(shù)以實(shí)現(xiàn)對(duì)人眼進(jìn)行檢測(cè)和跟蹤[10],也有采用基于主動(dòng)形狀模型(ASM)算法對(duì)人眼區(qū)域粗定位,再引入平均合成精確濾波器(ASEF)算法與ASM 算法相結(jié)合的思路提高對(duì)眼睛區(qū)域的定位精度[11].近年來(lái),隨著深度學(xué)習(xí)的火熱,唐杰等人使用CNN 對(duì)人臉關(guān)鍵點(diǎn)進(jìn)行檢測(cè)[12],并采用OSTU 最大類間差法[13]分割人眼,雖然達(dá)到一定效果,但此類方法容易受到眉毛和頭發(fā)的干擾,對(duì)圖像質(zhì)量要求高且系統(tǒng)開(kāi)銷大.在對(duì)駕駛員疲勞檢測(cè)中,通常都是根據(jù)駕駛員眼睛閉合頻率與疲勞的相關(guān)性關(guān)系進(jìn)行研究[14],即使用美國(guó)公路安全局(NHTSA)唯一認(rèn)證的PERCLOS 原理[15]識(shí)別疲勞.因此,如何準(zhǔn)確地判別出人眼的睜閉狀態(tài)是這類疲勞檢測(cè)的重點(diǎn)和難點(diǎn),也直接決定了最終的檢測(cè)結(jié)果的準(zhǔn)確性.
綜上所述,現(xiàn)有的基于計(jì)算機(jī)視覺(jué)的疲勞檢測(cè)機(jī)制中通常都是在對(duì)人眼精確定位后利用眼睛單一特征進(jìn)行分析,判定出人眼狀態(tài).該類算法易受外界環(huán)境干擾,如光線、眼鏡等因素,誤判率高,具有一定的局限性.本文提出一種基于模糊綜合評(píng)價(jià)算法,對(duì)人眼區(qū)域矩形長(zhǎng)寬比、擬合橢圓面積、眼睛瞳孔區(qū)域黑色素所占比例這3個(gè)評(píng)價(jià)因素進(jìn)行綜合分析,檢測(cè)出眼睛的睜開(kāi)閉合狀態(tài),再根據(jù)PERCLOS 原理,統(tǒng)計(jì)人眼每秒的閉合頻率,判別出駕駛員是否處于疲勞狀態(tài)并發(fā)出警報(bào).相比于傳統(tǒng)方法,本文提出的算法不僅僅只局限于人眼某一特征信息,而是對(duì)多個(gè)人眼信息進(jìn)行綜合分析,對(duì)人眼狀態(tài)的檢測(cè)可靠性高,具有較高的實(shí)用性和魯棒性.
疲勞檢測(cè)算法設(shè)計(jì)流程如圖1 所示.
Fig.1 Fatigue detection algorithm flow chart圖1 疲勞檢測(cè)算法流程圖
本文從視覺(jué)角度出發(fā),在駕駛員處于非常自然的狀態(tài)下(不需要佩戴任何傳感設(shè)備)進(jìn)行非接觸式疲勞檢測(cè).首先采用機(jī)器學(xué)習(xí)方法Adaboost 分類器檢測(cè)人臉[16],然后對(duì)圖像進(jìn)行一系列預(yù)處理,分割跟蹤人眼并利用積分投影值消除眉毛干擾區(qū)域.再根據(jù)模糊綜合評(píng)價(jià)法判別出眼睛的睜閉狀態(tài),最后利用PERCOLS 算法原理對(duì)駕駛員的閉眼頻率進(jìn)行統(tǒng)計(jì),從而實(shí)現(xiàn)疲勞檢測(cè)功能.
人臉檢測(cè)目前比較常用的方法有基于深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,還有一些是基于傳統(tǒng)的膚色分割、模板匹配、概率統(tǒng)計(jì)、馬爾可夫隨機(jī)域等方法[17].考慮到實(shí)時(shí)性和系統(tǒng)開(kāi)銷,本文使用了級(jí)聯(lián)分類器Adaboost 算法,Adaboost 是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來(lái),構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器).檢測(cè)過(guò)程中,通過(guò)計(jì)算Haar 特征(Haar-like features)并和Adaboost 結(jié)合,大大提高了檢測(cè)的速度和精確率.圖2 所示為通過(guò)上面的方法在白天正常光線和夜晚紅外光線下的人臉檢測(cè)結(jié)果.
Fig.2 Face detection effect image圖2 人臉檢測(cè)效果圖
在人臉檢測(cè)的基礎(chǔ)上,根據(jù)人臉的先驗(yàn)知識(shí)“三庭五眼”分布特征[18]分割出大致的人眼區(qū)域,再根據(jù)對(duì)稱性分別得到包含左右眼睛的圖像子窗口.由于光照對(duì)圖像處理產(chǎn)生很大的影響,對(duì)后面的檢測(cè)算法帶來(lái)很大的干擾,所以前面需要對(duì)圖像做一些預(yù)處理工作,以降低噪聲的干擾.首先,對(duì)輸入的圖像進(jìn)行平滑濾波和非線性點(diǎn)運(yùn)算,作圖像增強(qiáng)處理,其次,把圖像作灰度化處理并進(jìn)行直方圖均衡,從而使圖像像素在每個(gè)灰度級(jí)上的分布相對(duì)均勻,降低了光照對(duì)圖像處理結(jié)果的影響.最后,采用Ostu 最大類間方差法,找到最優(yōu)閾值,實(shí)現(xiàn)圖像二值化操作.考慮到各種復(fù)雜情況,特別是對(duì)于夜晚紅外圖像,效果并不是很理想,因此,在程序中又設(shè)置了一個(gè)常數(shù)CONST 作為閾值分割補(bǔ)償.最終,根據(jù)實(shí)驗(yàn)效果取CONST=50,圖3 為人眼粗定位和預(yù)處理后的左右眼效果圖.
Fig.3 Pre-processing effect map圖3 預(yù)處理后效果圖
本文最后是根據(jù)一段時(shí)間內(nèi)眼睛閉合持續(xù)時(shí)間所占百分比,即PERCOLS 算法來(lái)對(duì)疲勞進(jìn)行檢測(cè),因此,對(duì)人眼能否準(zhǔn)確地定位,直接影響了最后的疲勞狀態(tài)的判斷結(jié)果.從圖3 可以看到,粗定位后的左右眼區(qū)域明顯還存在眉毛部分,如果不去除眉毛,就會(huì)對(duì)后面的眼睛睜閉狀態(tài)判斷產(chǎn)生干擾,造成誤判,因此,要在實(shí)驗(yàn)前消除眉毛區(qū)域.本文采用的方法是對(duì)上述處理得到的包含眉毛的二值化圖像進(jìn)行垂直積分投影,然后以2 行像素的和為單位依次進(jìn)行遍歷比較,找到最小單位值,再以該單位為搜索起點(diǎn)找到第1 個(gè)極大值點(diǎn)作為眼睛眉毛的分割點(diǎn),即圖4(a)所示箭頭位置.去除分割點(diǎn)以上部分就剔除了眉毛區(qū)域,從而可以精確地定位到人眼,去除眉毛后的左右眼效果圖如圖4(b)所示.
Fig.4 圖4
由上述操作可以精確地定位到只包含人眼區(qū)域的二值圖像,這樣就能夠很方便地對(duì)眼睛信息進(jìn)行分析,然后對(duì)駕駛員的眼睛狀態(tài)做出判別.實(shí)驗(yàn)過(guò)程中,將眼睛分為3 種狀態(tài),分別為睜開(kāi)狀態(tài)、閉合狀態(tài)、半閉半睜狀態(tài).使用基于模糊數(shù)學(xué)里的模糊綜合評(píng)價(jià)方法,對(duì)判斷眼睛睜閉的評(píng)價(jià)因子進(jìn)行分析,最終判斷出眼睛的睜閉狀態(tài).其中,當(dāng)眼睛處于半閉半睜狀態(tài)時(shí),分別計(jì)算出睜開(kāi)評(píng)價(jià)值和閉合評(píng)價(jià)值進(jìn)行比較,以剔除這種模棱兩可的情況.判斷流程圖如圖5 所示.
Fig.5 Flow chart of eye state judgment圖5 眼睛狀態(tài)判斷流程圖
通過(guò)前面的步驟獲得了眼睛的精準(zhǔn)位置,并分別提取出了左右兩只眼睛的圖像子窗口.接著便是對(duì)包含單只(左右)眼睛的圖像窗口進(jìn)行睜眼及閉眼的判斷.在實(shí)驗(yàn)過(guò)程中,根據(jù)人眼睜閉時(shí)的一些特征變化,本文對(duì)眼睛狀態(tài)的判斷劃分出以下3 個(gè)影響因子.
(1)人眼矩形長(zhǎng)寬比R.根據(jù)Ostu 最大類間差法,得到了只包含人眼的二值圖像,然后分別對(duì)人眼灰度圖和二值圖利用sobel 算子在整體方向進(jìn)行邊緣檢測(cè),得到了眼睛輪廓圖像.考慮到實(shí)際應(yīng)用中光照和抖動(dòng)的影響,使用形態(tài)學(xué)開(kāi)運(yùn)算消除邊緣周圍干擾噪聲點(diǎn),使檢測(cè)到的邊緣連續(xù).最后再根據(jù)輪廓數(shù)據(jù)計(jì)算出眼睛的外接矩形的寬度與高度,計(jì)算出長(zhǎng)寬比如圖6 所示.
Fig.6 Edge detection results and eye aspect ratio R=H/W,where R∈(0,+∞)圖6 邊緣檢測(cè)結(jié)果及眼睛長(zhǎng)寬比其中,R∈(0,+∞)
(2)擬合橢圓的面積S.觀察發(fā)現(xiàn),眼睛的輪廓區(qū)域接近一個(gè)橢圓形狀,因此利用最小二乘法進(jìn)行橢圓的曲線擬合操作,擬合結(jié)果如圖7 所示.最小二乘法的主要任務(wù)就是尋找一組有效參數(shù),從而使數(shù)據(jù)點(diǎn)與橢圓之間的距離度量最小化.在二維平面直角坐標(biāo)系中,橢圓的一般方程如式(1)所示.
Fig.7 Ellipse fitting result圖7 橢圓擬合結(jié)果
由于檢測(cè)到邊緣上的離散點(diǎn)不可能完全吻合,落在橢圓上,根據(jù)最小二乘法原理,將橢圓擬合的最優(yōu)問(wèn)題轉(zhuǎn)換為代數(shù)距離平方和最小化問(wèn)題,即求平方和L的最小值,見(jiàn)公式(2).再由二元函數(shù)極值原理可得公式(3),由此得到一個(gè)線性方程組,利用消元法并結(jié)合約束條件可求得方程系數(shù)A,B,C,D,E,F的值,從而得到了橢圓方程.
小李暗笑了幾聲,丁主任接住話:我的確有,而且營(yíng)業(yè)部所有人里,就我和張大爺才有這倉(cāng)庫(kù)和大門(mén)的鑰匙,所以我和張大爺好像給大家添麻煩了。
然后再根據(jù)橢圓的幾何關(guān)系式(4)、關(guān)系式(5)便可得到橢圓的長(zhǎng)短軸,單位像素為(px),最后由橢圓的面積公式(6)即可求得擬合橢圓的面積S.
實(shí)驗(yàn)中,取φ=2e-3,π=3.1416.
(3)眼睛矩形區(qū)域瞳孔黑色素點(diǎn)占總像素比例Φ.在眼睛睜開(kāi)和閉合時(shí),瞳孔的大小存在差異,所占比例也存在明顯的變化,如圖8 所示.對(duì)只包含左右兩只眼睛的二值圖像分別計(jì)算出該圖像直方圖在水平和垂直方向的投影,然后以垂直方向的投影結(jié)果在矩形寬度上進(jìn)行遍歷求和,統(tǒng)計(jì)出矩形區(qū)域黑色像素總個(gè)數(shù),從而可以計(jì)算出眼睛矩形區(qū)域黑色素點(diǎn)所占的比例Φ.
Fig.8 Changes of pupil melanin in different states of the human eye圖8 人眼在不同狀態(tài)下瞳孔黑色素變化
模糊綜合評(píng)價(jià)法是一種基于模糊數(shù)學(xué)里的綜合評(píng)價(jià)方法.本文利用模糊綜合評(píng)價(jià)算法對(duì)人眼矩形區(qū)域長(zhǎng)寬比R、擬合橢圓的面積S、人眼瞳孔黑色素所占比例Φ這3 個(gè)評(píng)價(jià)因子進(jìn)行分析.根據(jù)大量測(cè)試,我們將這3個(gè)評(píng)價(jià)因素各自的取值區(qū)間劃分了相同的4 個(gè)級(jí)別,并賦予不同的權(quán)值,見(jiàn)表1.然后組合成一個(gè)綜合評(píng)價(jià)函數(shù),計(jì)算該函數(shù)值與設(shè)置的閉眼閾值進(jìn)行比較,當(dāng)綜合評(píng)價(jià)值大于閾值時(shí),可以認(rèn)為眼睛處于睜開(kāi)狀態(tài),否則,認(rèn)為眼睛處于閉合狀態(tài).
Table 1 Fuzzy comprehensive evaluation table表1 模糊綜合評(píng)價(jià)表
實(shí)驗(yàn)中,為了給各個(gè)評(píng)價(jià)因子分配最優(yōu)的權(quán)重,在控制測(cè)試樣本和運(yùn)行環(huán)境不變的情況下進(jìn)行單因素統(tǒng)計(jì)對(duì)比實(shí)驗(yàn),從而找出各自最優(yōu)的權(quán)重,如圖9 所示,最佳閉眼閾值也是同理得到.
Fig.9 The relationship between the weight of each evaluation factor and the discriminant accuracy圖9 各評(píng)價(jià)因素權(quán)值與判別準(zhǔn)確度的關(guān)系
當(dāng)人出現(xiàn)疲勞狀態(tài)時(shí),眼睛從睜開(kāi)到閉合再到睜開(kāi)這個(gè)過(guò)程需要消耗較長(zhǎng)的時(shí)間,經(jīng)過(guò)大量實(shí)驗(yàn),結(jié)果表明,疲勞程度與眼睛閉合時(shí)間長(zhǎng)短有著密切關(guān)系,閉合時(shí)間越長(zhǎng),其疲勞的程度越嚴(yán)重[19].PERCLOS 方法是對(duì)一定時(shí)間內(nèi)人眼閉合時(shí)間占總時(shí)間的比例進(jìn)行測(cè)量,相對(duì)于其他方法,PERCLOS 更能直觀、準(zhǔn)確地反映出駕駛員的疲勞程度,是目前公認(rèn)的判定疲勞的最優(yōu)方法.被美國(guó)公路安全局(NHTSA)推薦為車載的、非接觸式的、實(shí)時(shí)的疲勞程度檢測(cè)方法[20].通常,PERCLOS 常用標(biāo)準(zhǔn)有以下3 種.
P70,表示眼皮蓋過(guò)瞳孔面積超過(guò)70%所占的時(shí)間比例.
P80,表示眼皮蓋過(guò)瞳孔面積超過(guò)80%所占的時(shí)間比例.
EM,表示眼皮蓋過(guò)瞳孔面積超過(guò)一半所占的時(shí)間比例.
其中,P80 是被公認(rèn)的最能反映人的疲勞程度的指標(biāo),這也正與本文前面提出的眼睛睜閉狀態(tài)的檢測(cè)相一致.PERCLOS 值的計(jì)算公式如式(7)所示.
在實(shí)際實(shí)驗(yàn)過(guò)程中,系統(tǒng)處理每一幀圖像大概消耗時(shí)間是33ms,即系統(tǒng)處理圖像的速度為30fps.因此,我們只需知道每秒時(shí)間內(nèi)眼睛的閉合頻率f(close),就可以計(jì)算出每秒的PERCLOS 值,見(jiàn)公式(8).接著就可以計(jì)算出一段測(cè)試周期時(shí)間內(nèi)的PERCLOS 值,計(jì)算公式見(jiàn)式(9),T表示一個(gè)計(jì)時(shí)周期的時(shí)間,取T=30s,當(dāng)PERCLOS>0.2時(shí),則認(rèn)為駕駛員處于疲勞狀態(tài),發(fā)出報(bào)警.
本文的實(shí)驗(yàn)環(huán)境為一般的實(shí)驗(yàn)室環(huán)境,使用Visual Studio 2015 作為開(kāi)發(fā)工具,opencv3.0 和C++開(kāi)發(fā)語(yǔ)言進(jìn)行.首先從攝像頭捕獲到的視頻序列圖像中利用Adaboost 分類器進(jìn)行人臉檢測(cè),然后對(duì)檢測(cè)到的人臉區(qū)域進(jìn)行預(yù)處理,分割人眼并消除眉毛干擾,再使用模糊綜合評(píng)價(jià)方法對(duì)眼睛矩形區(qū)域長(zhǎng)寬比、擬合橢圓面積、瞳孔黑色素所占比例這3 個(gè)評(píng)價(jià)因子進(jìn)行分析,對(duì)眼睛睜閉狀態(tài)做出準(zhǔn)確判斷,最后根據(jù)PERCLOS 算法原理,統(tǒng)計(jì)出每個(gè)檢測(cè)周期內(nèi)駕駛員的閉眼頻率,從而判斷駕駛員是否處于疲勞駕駛狀態(tài).圖10 所示為最后的疲勞檢測(cè)結(jié)果圖,圖10(a)所示為夜晚在紅外光線下的檢測(cè)結(jié)果,圖10(b)所示為白天正常光線下的檢測(cè)結(jié)果.
Fig.10 Fatigue test result image圖10 疲勞檢測(cè)結(jié)果圖
為了驗(yàn)證本文提出的基于模糊綜合評(píng)價(jià)的疲勞駕駛檢測(cè)算法的準(zhǔn)確性和魯棒性,本文分別從眼睛狀態(tài)判別和疲勞程度檢測(cè)兩個(gè)方面進(jìn)行實(shí)驗(yàn)以驗(yàn)證該算法.同時(shí),本文又對(duì)該算法的各個(gè)模塊的運(yùn)行時(shí)間進(jìn)行了統(tǒng)計(jì),對(duì)算法的實(shí)時(shí)性進(jìn)行了分析.
實(shí)驗(yàn)1:直接模擬駕駛環(huán)境采集幾組測(cè)試視頻進(jìn)行實(shí)驗(yàn),對(duì)本文檢測(cè)人眼睜閉狀態(tài)算法進(jìn)行準(zhǔn)確性測(cè)試,測(cè)試結(jié)果見(jiàn)表2,眼睛狀態(tài)的判斷準(zhǔn)確率最高可達(dá)97%,但是由于采集的視頻序列中存在測(cè)試者頭部姿勢(shì)過(guò)度偏移的情況,離開(kāi)了相機(jī)捕獲區(qū)域,造成了誤判和漏測(cè)情況.另外,為了驗(yàn)證該算法的魯棒性,我們又采樣了800 幀不同環(huán)境下的駕駛員測(cè)試圖集,分白天戴眼鏡、白天不戴眼鏡、夜晚戴眼鏡、夜晚不戴眼鏡4 種情況,測(cè)試結(jié)果見(jiàn)表3.同時(shí),在此測(cè)試集的基礎(chǔ)上,又分別與文獻(xiàn)[12]及文獻(xiàn)[14]中的只利用單因素的方法進(jìn)行了對(duì)比,比較結(jié)果見(jiàn)表4,可以看出,本文提出的多因子綜合評(píng)價(jià)方法具有一定的優(yōu)勢(shì).從表2~表4 的測(cè)試結(jié)果來(lái)看,本文提出的算法對(duì)判別眼睛的睜閉狀態(tài)具有較高的準(zhǔn)確性和魯棒性.
Table 2 Accuracy test of fuzzy comprehensive evaluation algorithm表2 模糊綜合評(píng)價(jià)算法準(zhǔn)確性測(cè)試
Table 3 Robustness evaluation of fuzzy comprehensive evaluation algorithm表3 模糊綜合評(píng)價(jià)算法魯棒性測(cè)試
Table 4 Comparison of eye state detection rate (%)表4 眼睛狀態(tài)檢測(cè)率對(duì)比(%)
實(shí)驗(yàn)2:選取實(shí)驗(yàn)室的4 名測(cè)試人員對(duì)正常和疲勞的駕駛狀態(tài)進(jìn)行模擬,分別統(tǒng)計(jì)出4 名測(cè)試人員在檢測(cè)周期內(nèi)的閉眼頻率,圖11 所示為4 名測(cè)試人員分別在一個(gè)周期內(nèi)的閉眼頻率變化圖.從圖中可以看出,B,C 的閉眼頻率趨于穩(wěn)定,為正常的眨眼過(guò)程,而A,D 的閉眼頻率較高,處于長(zhǎng)時(shí)間閉眼狀態(tài).最后,再根據(jù)上面的公式(6),計(jì)算出每名測(cè)試人員的PERCLOS值,檢測(cè)出每名測(cè)試人員的疲勞狀態(tài)并與實(shí)際模擬狀態(tài)相比加以驗(yàn)證,其中,A,D的PERCLOS值大于0.2,可判定為疲勞狀態(tài),B,C 的PERCLOS值較小,且小于0.2,可判定為正常狀態(tài),檢測(cè)結(jié)果見(jiàn)表5.結(jié)果表明,檢測(cè)結(jié)果與實(shí)際模擬結(jié)果是相一致的.
Fig.11 Statistics on the frequency of eye closure in one cycle of 4 testers圖11 4 名測(cè)試人員在一個(gè)周期內(nèi)的閉眼頻率統(tǒng)計(jì)
Table 5 Fatigue driving test table表5 疲勞駕駛檢測(cè)示意表
實(shí)驗(yàn)3:實(shí)時(shí)性是疲勞駕駛檢測(cè)的一個(gè)十分重要的性能指標(biāo),只有做到實(shí)時(shí)跟蹤檢測(cè)駕駛員的狀態(tài),才能及時(shí)避免因疲勞導(dǎo)致的交通事故的發(fā)生.在OpenCV 中,通過(guò)調(diào)用getTickCount 函數(shù)對(duì)本文算法各個(gè)模塊的運(yùn)行時(shí)間進(jìn)行統(tǒng)計(jì),分別測(cè)試了5 段視頻,對(duì)各個(gè)模塊所消耗的時(shí)間進(jìn)行分析,見(jiàn)表6.其中,疲勞檢測(cè)部分是基于連續(xù)時(shí)間段進(jìn)行的,這里選取其均值作為參考.從表中可以看出,耗時(shí)最長(zhǎng)的是眼睛狀態(tài)分析模塊,大約需要11ms,而處理一幀圖像總的運(yùn)行時(shí)間在33ms 左右,足以滿足對(duì)疲勞的實(shí)時(shí)監(jiān)控.
Table 6 Algorithm time consumption analysis table表6 算法各模塊消耗時(shí)間分析表
在實(shí)驗(yàn)過(guò)程中,本文對(duì)圖像進(jìn)行了預(yù)處理操作,減少了冗余數(shù)據(jù)干擾,提高了運(yùn)行效率.從人眼定位結(jié)果來(lái)看,我們使用積分投影成功地消除了由于眉毛所帶來(lái)的干擾,有效地將眼睛從人臉區(qū)域分離出來(lái),之后又采用模糊綜合評(píng)價(jià)算法對(duì)眼睛的睜閉狀態(tài)進(jìn)行分析,并做出準(zhǔn)確判斷,提高了PERCLOS 計(jì)算的準(zhǔn)確性與可靠性.本文基于機(jī)器視覺(jué)方法,對(duì)連續(xù)幀圖像(video)進(jìn)行處理,避免了與駕駛員的身體直接接觸,更加趨于自然化,具有較高的實(shí)用性.而且每秒能處理30 幀圖像,滿足了系統(tǒng)的實(shí)時(shí)性要求,適用于各種駕駛情況下對(duì)駕駛員狀態(tài)的監(jiān)督與檢測(cè).
同時(shí)也可以看到,本文提出的算法面臨著一個(gè)不可回避的問(wèn)題,由于只使用了單一的眼睛狀態(tài)特性作為疲勞的判斷依據(jù),當(dāng)駕駛員配戴墨鏡時(shí),人眼的信息就完全捕獲不到,此時(shí)算法就完全失效了.目前,我們正考慮將打哈欠、腦電信號(hào)和頭部姿勢(shì)等因素考慮進(jìn)來(lái),進(jìn)行多疲勞特征綜合判別.在基于機(jī)器視覺(jué)的疲勞駕駛檢測(cè)方面,還有很長(zhǎng)的路要走,還需要更多的優(yōu)良算法來(lái)解決實(shí)際工程問(wèn)題.