王 珂,王 冰,姜 利,康增建
(中國鐵道科學研究院 電子計算技術研究所,北京 100081)
疲勞駕駛被廣泛認為是導致道路交通事故的重要原因之一。統計數據表明,疲勞駕駛造成的人身傷害及財產損失,其比例高于疲勞駕駛事故本身。此外,相當比例的駕駛人都曾有過疲勞駕駛的經歷。相關研究表明,開發高性能的駕駛人疲勞狀態監測系統,通過對駕駛人疲勞狀態進行實時監測,并及時向駕駛人提示預警信息,可以大幅減少因疲勞駕駛引發的交通事故[1~3]?;诿娌勘砬榉治龅钠跈z測方法,通過捕捉駕駛員的面部表情特征(眼睛開合、瞳孔狀態、嘴巴張合、表情變化等)來推測駕駛員的疲勞狀態,其中閉眼時間百分比、最長閉眼時間等都被認為是能夠反映駕駛人疲勞狀態的有效指標?;隈{駛人面部特征的指標能夠在較為理想的條件下達到較高精度,而且由于其非接觸測量的優勢,不受客觀條件影響,正受到越來越多研究者的重視。
駕駛人疲勞狀態與面部表情尤其是眼睛運動的細微變化密切相關,眼睛區域的準確定位是實現眼睛特征分析的關鍵。目前人眼定位算法主要包括:(1)基于形狀的方法,利用眼睛區域的形狀先驗模型,如眼睛的局部點特征(眼角點或特定濾波器響應篩選出的點)或輪廓特征實現眼睛定位。(2)基于表觀的方法,直接利用眼睛區域的灰度分布,如通過樣本訓練建立眼睛模板,計算被檢圖像區域與模板圖像的匹配度來實現眼睛定位。(3)基于紅外照明的方法,利用不同波長的紅外光交替照明駕駛人面部,通過對相鄰幀圖像進行差分來檢測眼睛位置[4~10]。
實際應用中駕駛人面部姿態的變化會造成人臉三維形狀在二維投影的變形,但是由單幅二維圖像恢復三維形狀是個病態問題,因此姿態變化對人眼定位精度的影響尤為重要。面向駕駛人疲勞狀態識別的人眼定位,更關注在長序列視頻圖像上進行檢測,因此面部視頻幀間連續性和相關性的模型表達也尤為重要。
本文提出一種將人眼檢測與人眼跟蹤相結合的人眼定位方法,在采用主動形狀模板(ASM)對人臉配準和器官區域分割的基礎上,基于均值漂移(Meanshift)算法來校準Lucas-Kanade光流跟蹤,從而消除跟蹤過程中的累積誤差,實現眼睛的可靠定位。
為了在線估計駕駛人疲勞狀態,需要獲取駕駛人面部圖像,通過自動檢測、跟蹤眼睛和嘴巴等面部器官的運動特性,并進行統計量化來實現疲勞檢測,以提醒駕駛員避免交通事故的發生,如圖1所示。具體步驟如下:
(1)人臉檢測。在采集到的面部視頻圖像中,通過人臉檢測定位到人臉位置,并對眼睛、鼻子、嘴巴等局部器官進行初步定位。
(2)人臉特征點的定位。以人臉器官初步定位的結果為基礎,采用形狀信息和紋理特征相結合的方法,通過旋轉、縮放等處理實現人臉描述模型的配準,對眼睛、嘴巴等面部特征點進行由粗到精的準確定位。
(3)建立人臉特征點跟蹤的上層策略。以人臉特征點的定位結果為輸入,在下一幀圖像上進行跟蹤。根據當前跟蹤結果的置信度,建立人臉特征跟蹤的上層策略,決定回到檢測模塊或者繼續跟蹤。
(4)通過面部特征運動的統計規律實現疲勞檢測。最終利用眼睛和嘴巴的運動特征,對面部運動特征進行量化描述,經過時間窗的優化計算后,根據優化后的時間窗長度,計算面部運動統計指標進行疲勞檢測。

圖1 疲勞檢測算法流程
本節主要描述疲勞檢測算法流程中的人臉特征點定位,我們首先采用原始ASM算法對駕駛人面部圖像進行配準。相應的實驗結果表明在駕駛人面部角度不大且光照相對均勻的情況下,ASM算法能夠較為準確地定位面部特征點,如圖2所示。

圖2 原始ASM算法的配準結果
然而在實際駕駛過程中駕駛人會根據不同駕駛次任務不斷變換面部姿態,姿態變化將引起面部幾何形狀在透射投影關系下的變化,當姿態變化導致圖像特征超出訓練樣本的表達范圍時,算法效能會下降。換言之,由正面樣本訓練得到的ASM全局形狀模型無法表達側面人臉。至于光照變化則引起人臉局部紋理的變化,而ASM算法的局部紋理模型無法有效描述光照的非線性變化。一般而言,處理非均勻光照應重點關注局部紋理建模,處理姿態角度的變化應主要針對全局形狀模型。
建立在PCA(主成分分析)基礎上的ASM全局形狀模型通過對大量樣本的統計學習而得到,其中包含了貢獻最大的形狀變化模式。為保證ASM全局形狀模型對新的人臉樣本具有足夠的泛化能力,PCA得到的主變化模式會盡量反映不同人臉形狀間的差別,而抑制姿態變化對形狀模型的影響。因此,訓練樣本的角度變化范圍不能太大,反之,在一個相對松弛的人臉形狀子空間中搜索最佳配準模式就變得困難。
考慮到不同人臉之間的幾何差別主要體現在整體臉型上,而由眼睛和鼻子所構成的局部區域則差異很小。該局部區域相對于整臉具有更強的聚類特性,如果在該區域建立局部ASM形狀模型,就可以將全局形狀模型的適用范圍擴展到更大角度。
本文在全局形狀模型的特征點中選取眼睛和鼻子輪廓上的點,建立了局部ASM形狀模型,如圖3所示。以全局模型的特征點定位結果作為局部形狀模型的初始搜索位置,按照由粗到精的策略進行特征點定位。實驗結果如圖4所示。表明隨著偏轉角的增加,全局形狀模型已無法準確配準人臉。但局部形狀模型仍然能夠較好地找到眼睛位置。使得算法能夠在更大角度范圍內實現眼睛位置的搜索和配準。

圖3 局部形狀模型

圖4 全局形狀模型與局部形狀模型配準結果比較
主要描述疲勞檢測算法流程中的人臉特征點跟蹤。由于駕駛人面部視頻在前后兩楨之間的光照和姿態變化不會太大,為了回避對光照、姿態變化進行建模時的復雜過程并減少計算量,本文采用Lucas-Kanade光流跟蹤的方法獲取面部特征點位置。根據分層ASM算法在姿態相對正面、光照良好時獲取到的眼睛位置作為初始輸入,在相鄰區域內進行眼睛的跟蹤。由于跟蹤算法的模型簡單、計算量小、速度快,因而可以在實際系統中應用。
光照變化不大時可以假定人臉特征點的局部灰度不變,因此,面部特征點跟蹤可以看作是光流跟蹤的一個實例。光流是指目標運動時其圖像亮度模式的表觀運動,它描述了圖像灰度變化與物體結構及運動的關系。光流可以看作圖像像素點運動產生的瞬時速度場,即圖像中灰度模式的運動速度,灰度對時間的變化率可以通過光流約束方程來表示。光流假設是光流計算的重要部分,通過構造光流誤差測度函數來設置約束條件,利用優化求解光流矢量。
常見的約束方程包括整個圖像的全局平滑性假設,局部鄰域運動的恒定性假設,以及針對遮擋的面向平滑約束等。其中Lucas-Kanade算法由于在跟蹤速度和精度方面具有明顯優勢,本文采用該算法作為眼睛區域跟蹤的基本算法。該算法假定在一個小鄰域內運動矢量保持恒定,因此該鄰域內光流誤差可用加權最小二乘表示,進而利用梯度下降進行圖像匹配就可以完成光流解算。
光流利用像素灰度的時域變化和相關性來確定各自的運動向量,因此光流跟蹤要求被跟蹤點周圍有豐富的紋理。本文采用Harris角點檢測算子,在眼睛區域選擇強度超過一定閾值的角點進行后續的跟蹤。但由于視頻中頻繁的睜眼/閉眼動作,使得很多特征點跟蹤失效。
分析原因如下:在眼睛區域跟蹤中,眼睛的大幅動作(如睜/閉眼)會引起眼睛區域的灰度突變,因此很多特征點將無法在下一幀圖像找到滿足光流約束的對應點,從而導致跟蹤失敗。另外,每個選定的Harris角點都可能由于眼睛運動的隨機性而跟丟,所以其他角點的重心位置相對眼睛中心是不確定的,由這些點無法準確描述眼睛區域。
被跟蹤點的強度描述了該點相對于相鄰其它點在灰度分布上的特殊性,它決定了光流跟蹤是否可靠。若鄰域內其他點與被跟蹤點的灰度特性相似,比如當眼睛或頭部快速移動時,特征點就可能漂移到這些相似點上去,導致光流場與運動場出現不一致。比較圖5中第149幀和第153幀圖像,在一次閉眼過程中,一個被跟蹤角點從眼角附近漂移到了虹膜附近。這種局部相似性引起的跟蹤點漂移是不可逆的,將在跟蹤過程中持續漂移,跟蹤誤差不斷累積。

圖5 Lucas-Kanade光流跟蹤中的特征點漂移現象
為了消除上述跟蹤過程中帶來的累積誤差,并最終準確定位到眼睛區域,本文引入meanshift算法,利用其向局部極值收斂的特性對Lucas-Kanade算法的跟蹤結果進行校準。本文沒有用圖像原始灰度值,而是以其自商圖作為meanshift算法的概率密度分布輸入,其中R為自商圖,I為原始圖像,F為濾波核。
由于自商圖本身會凸顯高頻特征,因此紋豐富、理變化復雜的眼睛區域相對于平滑的面部區域,其自商圖的灰度分布主要集中在高灰度范圍。圖6可以看出,不同光照條件下的圖像自商圖相差不大。

圖 6 不同光照下的自商圖
本文最終采用的以meanshift校準Lucas-Kanade跟蹤結果的算法步驟如下:
(1)計算Lucas-Kanade跟蹤的角點重心位置;
(2)將矩形跟蹤框的中心設置到角點重心位置;
(3)在自商圖上計算矩形框內圖像灰度的重心位置;
(4)將矩形搜索框的中心移動到新的位置;
(5)判斷矩形框移動距離,若距離大于某個閾值,返回第3步,否則輸出矩形框中心坐標。
經過上述迭代過程,矩形框的中心最后收斂到自商圖的局部極值(眼睛),圖7中的箭頭表示meanshift算法在自商圖上逐步收斂到眼睛的過程。隨著跟蹤的延續,部分Harris角點會跟丟。為保證跟蹤的持續,當角點數量小于5并且人臉處于正面時,可再次使用ASM算法定位眼睛區域,并利用Harris算子重新選取角點。

圖7 Meanshift算法收斂到眼睛的過程
在Lucas-Kanade光流的跟蹤基礎上,本文沒有直接采用meanshift算法跟蹤眼睛,這是由于除眼睛之外,鼻孔、眉毛、頭發以及其他場景目標的自商圖都會表現出高灰度分布特征。meanshift算法有效性的前提是Lucas-Kanade光流跟蹤能獲取眼睛的粗略位置,在該鄰域內才能收斂到眼睛中心位置。若根據ASM算法獲得的眼睛范圍直接采用Meanshift算法,當駕駛人出現快速頭部動作時,很可能會跟蹤錯誤。
Lucas-Kanade光流算法適合在大場景、大范圍內對角點特征進行全局意義上的跟蹤,而利用meanshift算法在局部細微校準。上述策略充分利用了Lucas-Kanade的全局跟蹤和meanshift的局部極值化,可在實際應用中準確獲取眼睛位置。
從圖8可以看出,盡管跟蹤過程中部分Harris角點丟失,但在改進的meanshift框架下,仍然能夠較為準確的獲取眼睛區域。以眼睛區域的定位為基礎,可為ASM算法提供良好的初始搜索位置,并最終給出所有面部特征點的定位結果,如圖9所示。

圖8 L-K+Meanshift算法的眼睛跟蹤結果

圖9 面部特征點定位的部分結果
為了定量評價本文算法對眼睛區域的定位精度,我們從一組實車實驗中選取一段駕駛人姿態角變化較大、光照比較復雜的視頻作為實驗樣本,長度為200幀。首先在每幀圖像中手動標記左眼中心作為基準位置,然后用本文提出的眼睛定位算法處理該段視頻,并輸出左眼中心坐標。通過比較手工標注和自動輸出的坐標誤差,來定量評價本文算法的準確度。
誤差比較結果如圖10,圖中X,Y分別為圖像水平和垂直方向坐標,單位為像素,坐標原點在圖像左上角。從圖中可看出,兩種算法的眼睛定位精度在垂直方向上相差不大,而水平方向上的定位精度本文算法則更高,其原因在于駕駛過程中頭部運動主要為左右擺動,俯仰運動一般幅度較小。

圖10 眼睛定位精度實驗的定量評價
本文以提高實際駕駛過程中眼睛定位的精度為目標,針對駕駛人姿態的隨機變化對人眼定位的影響,提出正面姿態采用ASM算法進行人眼定位,并以此為基礎跟蹤人眼的方法。此外,提出采用Lucas-Kanade光流進行全局跟蹤,結合基于自商圖的meanshift算法進行局部校準的跟蹤策略。實驗表明,本文算法比原始ASM算法具有更高的配準精度和可靠性。在實際工程應用中,本文算法具有如下優點:
(1)在佩戴眼鏡、人臉角度變化、不同表情、非均勻光照等方面,具有較好的魯棒性。
(2)對系統硬件沒有特殊要求,不涉及復雜運算,可以在普通PC上達到實時性要求。
(3)可以適用于各種類型的車輛,包括小汽車、大貨車、火車等,應用前景廣闊。
[1] Lin C T, Wu R C, Liang S F, et al. EEG-based drow siness estimation for safety driving using independent component analysis[J]. IEEE Transaction on Circuits and Systems, 2005,52(12): 2726-2738.
[2] Tsuchida A, Bhuiyan S, Oguri K. Estimation of drowsiness level based on eyelid closure and heart rate variability[C]. Annual International Conference of the IEEE on Engineering in Medicine and Biology Society, minneapolis, MN, 2009: 2543-2546.
[3] Furman G D, Baharav A, Cahan C. Early detection of falling asleep at the wheel: a heart rate variability approach[C]. Computers in Cardiology, Bologna, 2008: 1109-1112.
[4] Hong Tianyi, Qin Huabiao, Sun Qianshu. An improved real time eye state identi fi cation system in driver drowsiness detection[C]. IEEE International Conference on Control and Automation, Guangzhou, China: IEEE, 2007: 1449-1453.
[5] Fasel B, Luettin J. Automatic facial expression analysis: a survey[J]. Pattern Recognition, 2003, 36(1): 259-275.
[6] Lal S K, Craig A. Reproducibility of the spectral components of the electroencephalogram during driver fatigue[J]. International Journal of Psychophysiology, 2005, 55(2): 137-143.
[7] Hu Shuyan, Zheng Gangtie. Driver drowsiness detection w ith eyelid related parameters by support vector machine[J]. Expert Systems w ith Applications, 2009, 36(4): 7651-7658.
[8] Smith, P, Shah M, da Vitoria Lobo N. Determ ining driver visual attention w ith one camera[J]. IEEE Transactions on Intelligent Transportation Systems, 2003, 4(4): 205-218.
[9] Cario G, Casavola A, Franze G, et al. A hybrid observer approach for driver drowsiness detection[C]. 19th Mediterranean Conference on Control and Automation Aquis Corfu Holiday Palace, Corfu, Greece: IEEE, 2011: 1331-1336
[10] Cootes T F, Taylor C J, Cooper D H, et al. Active Shape Models-Their Training and Application[J]. Computer Vision and Image Understanding, 1995, 61(1):38-59.