蔡 羽,徐朝陽
(1.江蘇科技大學電信學院,江蘇鎮江212003;2.中國船舶重工集團公司第723研究所江蘇揚州225001)
交通安全主管部門調查數據顯示,疲勞駕駛是引發車禍的重要因素之一[1-3]。因此,研究疲勞檢測技術對駕駛員的行車安全具有重要意義。目前疲勞檢測方法大體分為3類:1)基于駕駛員生理參數,檢測準確性高,但是成本很高,而且需要與人體接觸;2)基于駕駛員的操作行為及車輛狀態參數,準確性不高;3)基于駕駛員生理反應特征參數,檢測準確性較高,非接觸式。三者相比較而言,第三種方法成為當前的檢測的首選。PERCLOS已被證明是一種有效的疲勞檢測手段,但僅僅根據眼睛的狀態信息進行駕駛員的疲勞程度的判定,容易漏判、誤判。基于此,本文通過攝像頭來實時的拍攝駕駛員的圖像,獲取雙眼、鼻和嘴部狀態參數,分別合成相應模板,根據不同區域所含信息量和疲勞判斷所占重要程度對其設定不同的權重系數,結合多目標優化和卷積相關理論知識,確定駕駛員的疲勞與否。實驗結果表明,綜合三者面部器官檢測,增強重要器官對實驗結果的影響,比單純的參數檢測具有更高的準確性。
通過攝像頭拍攝所獲得的駕駛員圖像并不能直接進行人臉的檢測,計算機在進行圖像處理的過程中容易出現失真,在傳輸過程中受到各種噪聲的干擾,造成圖像與原圖像存在一定的差異[4-5]。因此,對圖像進行預處理是十分有必要的,圖像顏色的純正可以提高圖像特征聚類與提取的正確性,有利于后續人臉定位的精度。將彩色圖像轉換成灰度圖像,然后進行直方圖均衡化,使圖像灰度范圍擴展,提高圖像對比度、凸顯更多的細節信息,最后使用參考白方法對圖像進行光照補償,改進局部白平衡,從而得到比較純正的圖像,如圖1所示。

圖1 預處理結果
原始圖灰度圖直方圖均衡化光照補償圖在彩色圖像中,膚色是人臉區別于其他事物的重要特征,人臉區域可以通過簡單的閾值處理分割出來,獲得二值化圖像。HSV膚色模型具有良好的聚類性,對RGB到HSV色彩空間的轉換公式進行修正,綜合考慮各個分量H、S、V的信息一起提取人臉候選區。公式修正為:

對于圖像中的每一個像素的R、G、B的值轉化到HSV色彩空間中,若像素點的H、S、V的值滿足以下的關系時,則將該點判別為膚色,像素值設置為1,否則為非膚色點,像素值設置為0,利用此方法對圖像進行二值化。

采用先開啟、腐蝕后閉合的形態處理步驟,去除二值化圖像細小的噪聲干擾,得到粗檢后的可能的人臉區域如圖2所示。

圖2 二值化圖像和形態處理的對比圖
已經分割為目標(膚色)和背景(非膚色)兩個區域有著明顯的對比。采用快速投影的方法來確定人臉區域的位置,對二值圖像中白色像素點的個數做水平和垂直方向的求和,公式分別如下:

高度起始為(height/6,5*height/6),寬度起始為(width/6,6*width/7),粗略的來獲取面部區域在水平方向上的左側和右側的坐標值及在垂直方向上的頂部和底部的坐標值。先在水平方向上進行像素點的快速投影,在最大累計值所對應的行號以上的人臉區域內,進行垂直方向上的快速投影,得到最大累計值所對應的列號。此行和列的交點即為人臉的中心點。根據人臉的尺寸約束,即滿足人臉長(height)寬(width)比(h/w)0.8<h/w<1.59的條件,進而得到人臉區域的定位圖像。方框以內即為駕駛員在不同狀態下檢測到的人臉圖像,人臉區域定位的效果如圖3所示。

圖3 人臉定位圖
完成人臉區域的定位之后,需要定位出左右眼的中心位置,且人眼定位越精確疲勞狀態判別越準確,對駕駛員疲勞監測的可靠性也就越高。為了進一步定位人眼位置,提高人眼定位精度,本文提出改進的ASEF算法,即先用ASEF算法對人眼定位,已經具有一定的定位精度,然后分割出初始定位點鄰域部分,采用Otsu最大類間方差法得到一個合適的閥值,使圖像二值化,最后采用灰度積分投影算法,從而得到左右眼的中心位置。此方法不僅消除了眉毛的影響,而且算法簡單,對人眼定位的實時性影響很小。圖4是人眼定位圖。

圖4 人眼定位圖
由于人臉面部器官分布遵循3庭五眼規律[6-9],三庭就是從發際線到下頜劃分為三等份;五眼是指從左耳到右耳的水平線上可以分成五個眼睛的寬度,如圖5所示。分別對眼部、鼻部及嘴部區域進行劃分,并進行縮放變換,使三者區域的圖像大小統一,避免無用背景對駕駛疲勞判別的影響。而鼻部和嘴部的定位是在左右眼定位的基礎上進行的,所以眼睛定位的精確性直接影響其他器官定位的準確性。對這3部分圖像分別進行相應的判別,確定駕駛員行駛過程中是否處于疲勞駕駛狀態,并給出相應的提示信息。

圖5 人臉面部器官分布
通常,在這些面部器官圖像中,眼睛狀態有3種狀態:完全睜開、半開半閉、完全閉合;鼻部有未側移和側移兩種狀態;嘴部狀態存在完全張開、半張半閉、完全閉合[10-12]。為了提高人臉面部器官狀態判別的可靠性,本文利用模板匹配法,結合模板卷積的相關理論,采用多目標優化技術,最后實現眼部、鼻部和嘴部圖像的狀態檢測。其具體的操作方法如下:
1)建立圖形庫。對攝像機拍攝的駕駛員不同疲勞狀態的面部器官圖像進行采集,對圖像進行預處理,包括光照補償、尺寸歸一化、灰度化等,獲得實驗數據庫。
2)生成卷積模板。根據常用的人臉比例,以實驗庫圖像特征為依據,識別定位人臉區域,將分割出的眼部、鼻部和嘴部區域設定統一的尺寸大小,然后分別合成卷積模板。
3)歸一化。包括圖像尺寸歸一化和像素值歸一化,對待識別的區域進行尺寸歸一化,獲得與對應面部器官的卷積模板尺寸相同,然后對卷積模板和待識別圖像進行像素值歸一化處理,實現后續圖像疲勞狀態判斷標準。
4)訓練閾值。根據模板和待識別圖像的卷積值進行訓練,并構造多目標函數,求出眼部、鼻部和嘴部卷積模板的權重系數。
5)驗證。對待識別駕駛員圖像進行疲勞判定。
人臉中的眼部、鼻部和嘴部相對于其他面部信息量更豐富,對疲勞判定的影響程度會更大,所以為了突出這三者區域的重要性,分別合成眼部模板、鼻部模板和嘴部模板,結合不同區域所含信息量和疲勞判斷所占重要程度對其設定相應的權重系數,利用待匹配圖像與3種卷積模板的卷積值,加權求和得到用于駕駛員圖像疲勞判斷的最終卷積值。當進行卷積的兩幅圖像非常相似時,其對應部位的像素值乘積擴大,卷積值也會非常大;反之,會得到非常小的卷積值。積值。根據這一理論,通過實驗庫中的圖像,訓練3種不同卷積模板的權重系數及圖像匹配最佳閾值[13-16]。
假設三者模板的權重系數分別為K1,K2,K3,Ye,Yn,Ym分別表示待檢測圖像的眼部區域、鼻部區域和嘴部區域與其對應疲勞狀態模板的卷積值,則疲勞匹配判斷最終卷積值Y的表達式為:

其中K1,K2,K33個量的數值和為1,即:

本文涉及到3種不同疲勞狀態模板系數(K1,K2,K3)和最優閾值VT,這4個未知變量即為待求目標參數,利用多目標優化技術,訓練不同模板系數,得到一組接近實驗目的有效解。優化問題的最終目標是為了使檢測疲勞狀態的正確率最大,其表達式為:

P(i)表示i幅圖像是否處于疲勞駕駛的異常狀態,n表示用于訓練多目標的圖像總數。當待判別未知狀態的局部圖片與數據庫中的對應疲勞面部器官圖片匹配結果正確,則進行計數,否則,不進行計數。約束條件除了式(7)和式(8),還包括:

約束條件中函數H(i)表示算法的判別結果,其表達式的含義為:通過訓練得到的最優閾值VT對待檢測圖像進行自動判斷,當最終的卷積值Y大于等于閾值VT,表示判別結果和卷積模板匹配,此時系統自動將H(i)的值賦值為1,判定待檢測圖像為疲勞駕駛狀態;否則,判別結果和卷積模板匹配,H(i)的值為0,判定待檢測圖像為正常駕駛狀態;函數D(i)表示待檢測圖像本身是否為疲勞駕駛狀態,此函數作為已知的真實條件存在。若待檢測圖像本身處于駕駛疲勞狀態,將D(i)的值賦值為1;否則D(i)的值為0。
當函數H(i)和D(i)值相同時,將P(i)的值賦值為1;否則,P(i)的值為0。函數P(i)存在以下4種情況:
1)待檢測圖像本身處于疲勞駕駛狀態,經該算法自動判斷后,判斷其與對應卷積模板相匹配,被判斷為疲勞駕駛,判斷結果正確。
2)待檢測圖像本身處于正常駕駛狀態,經該算法自動判斷后,判斷其與對應卷積模板不匹配,被判斷為非疲勞駕駛,判斷結果正確。
3)待檢測圖像本身處于疲勞駕駛狀態,經該算法自動判斷后,判斷其與對應卷積模板不匹配,誤判為正常駕駛,判斷結果錯誤。
4)待檢測圖像本身處于正常駕駛狀態,經該算法自動判斷后,判斷其與對應卷積模板相匹配,誤判為疲勞駕駛,判斷結果錯誤。
由上述4種情況可知,前兩種情況會得到正確的匹配結果,此時H(i)和D(i)值相同,P(i)賦值為1;而后兩種匹配結果出錯,H(i)和D(i)值不同,P(i)的值為0。
為了得到3種不同疲勞狀態模板系數(K1,K2,K3)和最優閾值VT,需要選擇一定的訓練樣本圖像。具體的算法流程分為以下幾步:首先對選取的訓練集圖像灰度化并進行直方圖均衡化,裁剪出雙眼、嘴和鼻部區域,對其尺寸歸一化處理,使該圖像的尺寸與其對應的卷積模板的尺寸相同,從而得到3種圖像庫;然后對提取的所有位置的灰度值進行像素值歸一化,分別與雙眼、嘴和鼻部3種卷積模板進行卷積操作,即對應位置像素的數值相乘再相加求和的計算,得到3組卷積值;之后利用公式(7)將3個卷積值分別與待求的權重系數相乘后相加,得到用于匹配判斷的最終卷積值;根據式(9)對4個未知變量即3種模板的權重系數及最佳匹配閾值構造目標優化方程,通過多目標優化問題的約束條件,不斷修正3種模板權重系數,權重系數的每一種變化情況都影響著唯一的判斷正確率和唯一的閾值,在訓練的過程中,需要提前設定判斷準確率,直到3種權重系數和最優匹配判斷閾值滿足正確率達到或者接近設定的要求,此時訓練過程結束,選擇對應的一組值作為訓練結果并輸出,否則重復操作。算法流程圖如圖6所示。

圖6 權重系數及閾值算法流程圖
實驗運行環境:
操作系統:Windows 10旗艦版
處理器:英特爾Corei5-6200U@2.30GHz雙核
內存:4GB
系統類型:64位操作系統
實驗開發環境:
開發軟件:Microsoft Visual Studio 2013
開發語言:C++
軟 件 工 具:AdobePhotoshop CS6(64 Bit) ,MATLAB2013
本文采用C++開發語言,對駕駛員疲勞檢測算法進行了設計與實現。使用AdobePhotoshop CS6對待測駕駛員圖像進行尺寸歸一化處理,同時采用MATLAB2013工具箱合成卷積模板。
本系統為了判定駕駛員疲勞,獲得更準確的檢測效果,增強影響程度大的面部器官的比重系數,減弱影響作用小的面部器官的比重系數,眼、鼻和嘴對應不同的權重系數,提出3組卷積值加權求和的算法。
本實驗通過攝像頭獲得駕駛員的圖像庫,首先對圖形庫中的圖像進行預處理,彩色圖像灰度化并進行直方圖均衡化,分割出的眼部、鼻部和嘴部區域設定尺寸分別為85×17像素、38×33像素、55×33像素。部分實驗庫圖像如圖7所示。

圖7 實驗庫圖像
利用實驗圖像庫合成卷積模板,共300幅疲勞圖像,其中女性圖像100幅,男性圖像是200幅,最終卷積模板如圖8所示。
實驗監測駕駛員疲勞狀態圖像共200幅,正常駕駛狀態圖像60幅,在沒有考慮眼鏡遮蓋物影響的情況下,利用本實驗庫圖像得到的實驗結果如表1所示。

表1 無遮蓋物的判別結果
利用同樣的方法,被檢測人戴上墨鏡的情況進行了檢測,實驗結果如表2所示。

表2 有遮蓋物的判別結果
從表1和表2可以看出,在無遮蓋物的情況下,對駕駛員疲勞狀態和非疲勞狀態匹配的總正確率達到了97.5%,有遮蓋物的情況下眼部的狀態認為是無效的,被誤判的幾率增加,總正確率為89.85%。從實驗結果可以看出,基于面部器官3組卷積值加權求和的算法對駕駛員疲勞監測的效果更好、正確率更高,對于疲勞和非疲勞圖像進行辨別能達到滿意的結果。

圖8 卷積模板
本文結合多目標優化和卷積相關理論知識,提出了一種基于面部器官3組卷積值加權求和的方法,易于實現、計算量小,利用人臉重要的面部器官,加強對檢測疲勞影響大的特征信息的權重系數,突出了重要器官的作用,彌補了單純依靠整個面部特征進行疲勞狀態檢測在一些情況下正確率低的缺點。實驗結果表明該方法檢測正確率高,在一定場合下能準確檢測疲勞狀態,為進一步研究疲勞駕駛檢測的新方法提供一定的參考價值。
[1]姜兆普,許勇,趙檢群.基于眼部特征的疲勞檢測算法[J].計算機系統應用,2014,23(8):91-96.
[2]朱真真,王偉,段曉東,等.基于Kinect的人臉眼部狀態實時檢測[J].大連民族學院學報,2015,17(1):81-84.
[3]宋浩東,林小竹.變化光照條件下人眼定位方法[J].北京印刷學院學報,2014,22(2):62-67.
[4]張波,王文軍,張偉,等.駕駛人眼睛局部區域定位算法[J].清華大學學報:自然科學版,2014,54(6):756-762.
[5]徐杰.多特征疲勞檢測系統的設計與實現[D].武漢:武漢華中科技大學,2013.
[6]陳旭,肖洪兵.基于面部綜合信息的疲勞駕駛判斷研究[J].科學技術與工程,2014,14(11):226-230.
[7]SUN Li-shu,ZHU Yu-chuan.Eye detection method for fatiguedetection system under complex environment[J].ComputerSystems&Applications,2014,23(11):256-263.
[8]SONG Hao-Bong,LIN Xiao-zhu.Eye location under varying illumination[J].Journal of Beijing Institute of Graphic Communication,2014,22(2):62-67.
[9]ZHANG Bo,WANG Wen-jun,ZHANG Wei,et al.Drivers eye region location algorithm[J].Journal of Tsinghua University(Sci&Technol),2014,54(6):756-762.
[10]Hyun HeeJo,Helen Hong Jin Mo Goo.Pulmonary nodule registration in serial CT scans using global rib matching and nodule template matching[J].Computers in Biology and Medicine,2014,4(5):87-97.
[11]Tae Yong Kim,JongMyoungPark,HyunUkKim,et al.Design of homo-organic acid producing strains using multi-objective optimization[J].Metabolic Engineering,2015,2(8):63-73.
[12]孫立書,朱予川.用于復雜環境下的疲勞檢測系統人眼檢測方法[J].計算機系統應用,2014,23(22):62-67.
[13]徐國慶.在線融合特征的眼睛狀態識別算法[J].計算機應用,2015,35(7):2062-2066.
[14]朱維寧.基于人眼狀態的駕駛員疲勞檢測研究[D].南京:南京理工大學,2014.
[15]程紅,陳文劍,孫文邦.一種改進的快速歸一化積相關圖像匹配算法[J].光電工程,2013,40(1):118-125.
[16]牛清寧,周志強,金立生,等.基于眼動特征的疲勞駕駛檢測方法[J].哈爾濱工程大學學報,2015,36(3):394-398.