黃 斌,羅秋鳳,王海濤,顏 偉,宿海燕
(1.南京航空航天大學 自動化學院,南京 211016;2.山東煙臺通用照明有限公司,山東 煙臺 264006)
紅外圖像的疲勞狀態識別方法
黃 斌1,羅秋鳳1,王海濤1,顏 偉1,宿海燕2
(1.南京航空航天大學 自動化學院,南京 211016;2.山東煙臺通用照明有限公司,山東 煙臺 264006)
為了解決光照變化對疲勞檢測系統造成的識別準確性不高的問題,提出了一種近紅外環境下判斷人眼狀態的方法,即針對紅外光補圖像的人眼狀態判斷;首先,利用Adaboost算法進行人眼區域定位,在網格法標記人眼瞳孔部分的基礎上,采用Retinex算法對紅外圖像進行增強;接著,結合“亮瞳效應”特性,對二值化以及邊緣檢測后的紅外圖像分別進行網格法閉合度計算,得到人眼閉合度大?。蛔詈?,根據閉合度計算結果設定雙閾值并結合PERCLOS準則來判斷人眼特征狀態;另外,在DM642硬件平臺上進行疲勞檢測試驗,實驗結果表明,該方法的人眼狀態識別率達到了90%以上,且平均每秒能處理21幀圖片;證明了該方法不僅能有效解決光照變化帶來的問題,而且滿足疲勞狀態檢測系統的快速性、準確性和有效性等要求。
疲勞檢測;紅外圖像;網格法;雙閾值;人眼狀態識別
疲勞駕駛的危害巨大,據國外相關研究顯示,如果司機在交通事故將要發生前能夠提高0.5秒的反應速度,就能遏制60%以上的交通事故[1]?;趫D像處理技術的疲勞檢測算法,重點是眼睛區域特征圖像分析技術,是防疲勞駕駛監測的主要手段之一。目前,主要采用基于Haar特征的Adaboost算法定位人眼,通過分析人眼狀態結合PERCLOS標準來判斷疲勞駕駛行為是否發生[2-4]。
在實際運用環境中,困擾眼部狀態疲勞識別準確率提高的兩大問題,一個是監測時間段內光照變化導致的計算精度不夠高的問題,如垂直積分投影法、Hough變換法和眼睛寬高比等,但這些方法都易受光照影響。另一個是監測對象瞳孔周圍干擾較多或者頭部轉動導致狀態誤判的問題,如眼鏡邊框會干擾特征判斷。針對以上問題,提出了一種基于紅外圖像的快速眼睛狀態識別方法,利用近紅外圖像的3個特點:紅外圖像具有光照不變特性,彌補常規系統光照不足、光照變化的缺陷[5];產生明亮的瞳孔效應,突出瞳孔特征;紅外線對于駕駛員是不可視的,不會造成干擾。
本文采用基于Haar特征的Adaboost算法進行人眼區域的定位,對眼部瞳孔進行網格標記的基礎上進行Retinex圖像增強,接著進行人眼閉合度計算以及疲勞狀態的判斷,算法流程圖如圖1所示。

圖1 整體算法流程圖
1.1 Adaboost算法
Adaboost算法是一種分類器,從眾多的弱特征中訓練出最能代表人眼特征的一部分弱特征,集成為強分類器,進而形成級聯分類器。Adaboost 算法進行人眼檢測主要利用的是人眼圖像的灰度分布與非人眼圖像不一樣這一特性,采用積分圖計算的Haar 特征,Haar 特征計算簡單,檢測速度快[6-7]。前期利用大小為35*16的紅外人眼圖像作為正樣本,進行訓練,得到19層分類器,加載到DSP中,Adaboost算法檢測到人眼,返回包含人眼的矩形框,檢測結果如圖2所示。

圖2 Adaboost算法檢測人眼示意圖
Adaboost算法得到矩形框的4個頂點A、B、C、D的位置坐標(xLU,yLU)、(xRU,yRU)、(xLD,yLD)、(xRD,yRD)、寬W和高H,標記網格利用的是人眼在矩形框中的幾何位置,人眼瞳孔在該矩形框中的分布如圖3(a)所示。

圖3 人眼瞳孔分布及網格標記示意圖

對自然光下戴眼鏡、不帶眼鏡,近紅外光下戴眼鏡、不戴眼鏡4種情況,分別用網格法在灰度圖像中進行標記,實際標記結果如圖4所示,其中(a)、(c)是自然光下的標記結果,(b)、(d)是近紅外光下的標記結果。選取三網格標記的意義在閉合度計算時將進一步說明。

圖4 網格定位示意圖
1.2 圖像增強
紅外圖像與自然光下的圖像有所區別,圖像處理的方式也有所區別。直接進行對紅外圖像二值化等操作會使感興趣部分細節丟失,如圖5所示,在Matlab中分別對兩幅紅外圖像進行二值化操作,二值化后的圖像無法體現原圖的眼部特征。

圖5 直接二值化圖
為有效提高紅外圖像質量,方便后續進一步處理,本文采用基于Retinex理論的圖像增強算法[8]。Retinex算法常用來對紅外圖像進行增強,主要用于受照射光變化影響嚴重的圖像。Retinex理論模型如式5所示。
S(x,y)=R(x,y)·L(x,y)
(5)
對于圖像中任一像素點(x,y),輸入圖像的灰度值S(x,y)由物體自身的反射系數R(x,y)與入射光照亮度L(x,y)相乘得到。L(x,y)是物體所處環境光照強度,它表征了圖像中的灰度值的動態范圍且對應著圖像的低頻信息,而R(x,y)代表成像物體的細節及對光照的反射性質,它包含圖像的高頻信息。先估計得到入射光L,而S是已知的,再通過式5求解得到反射部分R,也就得到了增強后的圖像。將Retinex模型轉換為對數形式可以將乘法變換為簡單的加減運算,求解R如式(6)所示。
r=lnR=lnS-lnL=s-l
(6)
對于入射光L的估計,Jobson[9]論證了高斯卷積函數可以從已知圖像中更好的估計出L,其可以表示為:
(7)
其中: *表示卷積操作,σ是尺度常數,σ越小,灰度動態范圍壓縮的越多,但反射圖像的數據越少;反之,σ越大,圖像銳化的程度越高,對應的反射圖像數據越多[10]。
本文在Matlab中驗證了該方法的可行性,如圖6所示,其中圖(a)為原圖與增強后圖像的比較,圖(b)為原圖二值化與增強后二值化圖像的比較,圖(c)為原圖直方圖與增強后圖像直方圖的對比。

圖6 Retinex算法增強示意圖
同時,在DM642硬件平臺上進行了驗證,選取不同對眼部紅外圖像進行增強的結果如圖7所示。

圖7 DSP中不同增強示意圖
從圖6、7可以發現,合適對應的高斯濾波器的SSR(Single Scale Retinex)算法能有效地增強紅外圖像,不僅使對比度得到了顯著增強,且增強了目標圖像的細節,為人眼閉合度計算帶來方便。
此外,在光照環境差別較大時,該方法也能得到較好的效果,如圖8所示。

圖8 不同光照處理結果
1.3 閉合度計算
人眼對不同波長的紅外光反射量程度不同,在850nm波長時,視網膜能夠反射90%的入射光,在950nm時,視網膜只能反射40%的入射光,而在880±80 nm范圍內,人臉的其他部分對于紅外的反射程度卻基本一致。因此對于850nm的近紅外光,經視網膜成像并反射,會被CCD 攝像頭接收到,會形成帶有“亮瞳效應”[10-11]的視頻幀。利用“亮瞳效應”,在增強后的圖像中進行人眼閉合程度的計算,其流程如圖9所示。

圖9 閉合度計算流程圖
1.3.1 二值化
為了明顯區分瞳孔區域和非瞳孔區域,充分利用亮瞳效應,對網格中各像素點進行二值化,如式(8)所示。
(8)
閾值Tsplit的選取是利用OTSU大津法,使用的是聚類的思想,把圖像的灰度數按灰度級分成兩部分,使得兩個部分之間的灰度值差異最大,每個部分之間的灰度差異最小,通過方差的計算來尋找一個合適的灰度級別來劃分,并自動選取最佳閾值[13]。
眼部區域經過OTSU二值化的圖像如圖10所示,(a)、(b)、(c)依次為睜眼、半睜、閉眼狀態。為了提高檢測系統的實時性,僅僅對網格內的像素點進行二值化,減少運算量。

圖10 OTSU二值化圖
1.3.2 Sobel邊緣檢測
實際情況中,當眼睛閉合時,由于睫毛與眼瞼的影響,二值化后的眼部區域存在干擾像素點,如圖9(b)(c)所示,兩者二值化后黑色像素點個數接近。由于Sobel邊緣檢測在紅外光產生亮瞳效應的情況下,邊緣特征提取效果較好,同時凸顯了瞳孔部分,能夠彌補二值化的不足,如圖10所示。
Sobel算子采用了兩個3*3卷積核卷積形成邊緣檢測算子,取中心點周圍的八領域的像素[13]。用Sobel算子和圖像的灰度矩陣做卷積,可以得到橫向和縱向邊緣檢測的圖像灰度值,如式(9)、(10)所示。
(9)
(10)
其中:Gx為橫向邊緣檢測的圖像灰度值矩陣,Gy為縱向邊緣檢測的圖像灰度值矩陣。
接著,可以得到該中心像素點的灰度梯度G,如式(11)所示。為了提高實際在DSP中的運算速度,可以將式(13)簡化為式(12)。

(11)
G=|Gx|+|Gy|
(12)
通過基本全局門限判定的方法可以判斷該點是否為邊緣點,即當圖像中(i,j)像素點G(i,j)大于或等于設定門限T時,規定該點的像素值為0,反之則為255,如式(13)所示。其中,本文設定的門限值T=130。
(13)
利用Sobel算子對紅外圖像進行邊緣檢測后的邊緣圖像如圖11(a)(b)(c)所示,其中(a)為睜眼狀態,(b)為半睜眼狀態,(c)為閉眼狀態。

圖11 Sobel邊緣二值化示意圖
1.3.3 人眼閉合度計算
分別對二值化、邊緣檢測后的圖像進行閉合度計算,得出Ⅰ、Ⅱ、Ⅲ三個區域像素值與眼睛閉合程度△的數學關系式。由于駕駛過程中由于頭部的晃動以及眼神的漂移等因素,會引起瞳孔相對網格位置的變化,瞳孔并不完全在Ⅱ區域內,如圖12所示。

圖12 頭部轉動檢測示意圖
分析眼神左右漂移產生瞳孔位置的左右偏向對偏向鄰域的灰度影響,用Ⅰ、Ⅱ區灰度面積與Ⅲ區域面積差、Ⅲ、Ⅱ區灰度面積與Ⅰ區域面積差的最大值來表征瞳孔閉合度△。如式(14)所示:
△=max(|3∑fI-∑fII,III|,|3∑fIII-∑fI,II|)
(14)
其中:∑f表示該區域內像素點灰度之和,|3∑fI-∑fII,III|對應眼神向右漂移的△,而|3∑fI-∑fII,III|則對應眼神向左漂移的△。從式(14)可以發現,計算表達式依然適用于眼神不存在漂移的情況。
從式(14)可以得出:△與眼睛睜開程度滿足非線性遞增關系,睜開時的△比較大;閉合時的△幾乎為0。因此可以根據△可以判斷眼睛的閉合程度,分別設定閾值T1、T2,其中T1對應二值化后人眼閉合時△的門限值,T2對應邊緣檢測后人眼閉合時△的門限值,采用雙閾值判定人眼的狀態。
選取三網格的目的在于:在實際應用過程中,由于頭部晃動、眼神漂移、配戴眼鏡,引起網格標記位置的偏差,導致網格內包含眼鏡邊框、眉毛等“外部”黑色像素點,而三網格的選取能有效地削弱這些像素點影響,提高了檢測系統的魯棒性。如圖4(a)所示,網格內包含了眼鏡的邊框,如式14所示,網格之間的計算,抵消了外部像素點的影響。
1.4 疲勞判斷
利用上述算法能夠快速準確的判斷人眼的狀態,并通過PERCLOS原理中的P80準則[3,14]進行疲勞判斷,即眼瞼遮住瞳孔的面積超過80%就計為眼睛閉合,統計在一定時間內眼睛閉合時所占的時間比例,就能進一步判斷人眼是否處于疲勞狀態。
實驗采用DM642芯片,主頻為720 MHz,選用的定時器頻率為主頻的1/8。實驗對視頻幀圖像進行疲勞狀態的識別,對系統輸出的4:2:2YCbCr格式的Y分量進行處理,選取的人眼分類器大小為35*16,共19層級聯分類器,實驗系統硬件框圖如圖13所示,紅外CCD攝像頭采集的圖像大小為576*720。

圖13 實驗系統硬件框圖
首先,驗證了整體算法的流程的識別率和效率,對6個不同對象進行了“網格法”定位,驗證了其有效性,定位結果如圖14所示。

圖14 不同對象網格法定位結果
可以發現,被測對象的瞳孔均在網格內,并且滿足閉合度計算的條件,可以成功進行人眼狀態的判斷。
同時計算算法消耗的時間,具體時間花費如表1所示;接著,選取了六個被測者的視頻幀,即共包括800幀閉眼狀態和800幀睜眼狀態視頻,比較了其他疲勞檢測算法的識別率,分別采用不同的方法,對視頻圖像進行識別,結果如表2所示。

表1 各部分算法時間花費
從表1可以發現,各個部分的運行速度相對較快,除了Retinex算法中包含對數運算以及高斯濾波等,時間花費相對較多,總的檢測速度依然能達到21幀/s,滿足實時性要求。從表2可以發現,相對于積分投影法,本文的方法具有明顯的優勢;相對于計算量較大的模板匹配法,本文方法的睜眼檢測效果存在不足,但總的誤判率低于模板匹配法,更具可行性。

表2 其他檢測算法識別率比較
本文討論了基于紅外圖像的人眼疲勞狀態快速識別方法,針對傳統的基于Adaboost檢測算法的不足進行了改進,利用Retinex算法對紅外圖像進行增強,提出了網格計算法來表征人眼閉合度,通過雙判據結合PERCLOS判斷人眼狀態,提高了整個系統的魯棒性和準確性。實驗表明,該方法在DM642開發板上具有可行性,對大小576*720的視頻幀,以21幀/秒的速度完成人眼的實時檢測,同時正確率在90%以上,在疲勞檢測領域具有較高的實用性和商業價值。未來可以進一步優化Retinex算法,實現尺度自適應的同時,減少時間消耗;可以進一步優化檢測系統,解決眼鏡反光帶來的檢測問題。
[1] S.A.Nobe, F.Y.Wang. An overview of recent developments in automated lateral and longitudinal vehicle controls[A].IEEE International Conference on SMC[C].2001:3447-3452.
[2] 朱振華,吳曉娟,王 磊等.基于眨眼持續時間的司機疲勞監測方法[J].計算機工程,2008,34 (5):201-206.
[3] 陳守明.駕駛員疲勞檢測中人眼定位方法的研究[D].長沙:中南大學,2010.
[4] 蘇起揚, 婁 震. 一種疲勞駕駛檢測系統中快速人眼檢測方法[J]. 現代電子技術, 2015(4): 87-90.
[5] 王 力. 基于紅外圖象的駕駛員疲勞檢測研究[D]. 長沙:中南大學, 2008.
[6] 龍伶敏. 基于Adaboost的人臉檢測方法及眼睛定位算法[D]. 成都:電子科技大學,2008.
[7] 陳秋玲. 基于Adaboost算法的人臉檢測研究[D]. 武漢:武漢理工大學, 2012.
[8] 陳 亮. 一種快速的基于自適應尺度Retinex的圖像增強算法[J].紅外與激光工程,2010,39(S):522-525.
[9] Jobson D J. Rahman Z. Woodell G.A. Properties and performance of a center/surround Retinex [J]. IEEE Trans on Image Processing. 1997. 6(7):451-462.
[10] 趙 文, 張 意, 張衛華,等. 基于紅外圖像的眼睛開閉檢測方法[J]. 計算機工程與設計, 2015(2): 436-440.
[11] 郭克友, 張廣淵. 一種紅外圖像條件下的駕駛人眼睛定位算法[J]. 計算機工程與應用, 2008(15):170-172.
[12] Stan Z Li.Illumination invariant face recognition using near-in-frared Images [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2007:627-639.
[13] 趙小強,李大湘,白本督.DSP原理及圖像處理應用[M].北京:人民郵電出版社,2013.
[14] Lai S K L, Craig A, Boord P, et al. Development of an Algorithm for an EEG-based Driver Fatigue Countermeasure[J]. Journal of Safety Research, 2002, 34:321-328.
Detection Method for Fatigue State Recognition of Infrared Images
Huang Bin1, Luo Qiufeng1, Wang Haitao1, Yan Wei1, Su Haiyan2
(1.College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 211016,China;2.Yantai General Lighting Co., Ltd., Yantai 264006,China)
In order to solve the problems of low accuracy caused by light changes in fatigue detection system, a method is proposed to judge the state of eyes in near infrared environment. i.e., it is a detection method for eyes state recognition of infrared images. First of all, it uses the grid method to mark eye's pupil and uses Retinex algorithm to enhance the infrared image based on the human eyes region located by Adaboost algorithm. Then, a grid method is adopted to calculate the closure of eyes after binaryzation and edge detection respective, which is related to bright pupil effect. Finally, the state of eyes is determined by setting the dual-threshold based on the results of the closure of eyes, which is combined with PERCLOS. Besides, The tests on the hardware platform of DM642 shows that the human eyes recognition rate is more than 90%, and the average processing speed is 21 images per second. It has proved that the method can not only solve the problems caused by light changes, but also meet the requirement of rapidity, accuracy and validity of the fatigue detection system.
fatigue detection; infrared image; grid method; dual-threshold; eyes state recognition
2016-08-17;
2016-09-22。
煙臺開發區科技發展計劃項目(201416);江蘇省重點研發(社會發展)項目(BE2015725);國家質量監督檢驗檢疫局公益性行業科研專項(2015424068)。
黃 斌(1992-),男,碩士,主要從事圖像處理與模式識別方向的研究。
王海濤(1968-),男,江蘇溧陽人,教授,博士研究生導師,主要從事電磁、超聲、激光超聲檢測技術、無損檢測技術方向的研究。
1671-4598(2017)07-0230-05
10.16526/j.cnki.11-4762/tp.2017.07.057
TP216
A