摘 要: 眼睛狀態檢測具有廣泛的應用。為克服目前單個算法的不足,進一步提高眼睛狀態檢測的準確率,在此首先介紹了2種眼睛狀態檢查方法,即模板匹配方法和投影方法,然后對這2種方法進行組合提出了一種新的組合方法。組合方法首先利用模版匹配方法對眼睛狀態做出判斷,然后通過與預先設定的閾值比較,對第一步無法做出判斷的圖像再利用投影法進一步判斷。通過對300個眼睛圖像進行檢測,準確率達到了94.8%。試驗結果表明了該組合方法較單個檢測方法具有更好的可靠性和準確性,同時適中的復雜性也說明該算法的可行性。
關鍵詞: 眼睛狀態檢測; 模板匹配; 水平投影; 組合方法
中圖分類號: TN964?34 文獻標識碼: A 文章編號: 1004?373X(2013)08?0101?03
0 引 言
眼睛是人臉面部最主要的組成部分,眼睛狀態的檢測算法的應用范圍也越來越廣泛。例如,針對機車駕駛員的疲勞檢測中,可以通過眼睛狀態變化的檢測及時反映駕駛員的疲勞情況,有效防止交通意外的發生;在人臉識別過程中可以通過眼睛狀態檢測,判斷所取人臉是否為活體。此外,通過眼睛狀態還可以為表情識別和人機接口提供大量的信息。目前,眼睛狀態檢測方法有很多,綜合來說可以把它們分為2類[1]:一種是基于特征分析的眼睛狀態檢測方法;另一種是基于模式分類的眼睛狀態檢測方法。基于特征分析的方法主要有模板匹配方法、投影方法、檢測瞳孔[2]、Hough 變化檢測虹膜[3]等。基于模式分類的檢測方法主要有神經網絡[4]、支持向量機(SVM) 、隱馬爾可夫模型(HMM)[5]等方法,此類方法根據樣本自動學習規則或知識的方法將眼睛狀態檢測的問題轉化為判斷圖像區域是睜眼還是閉眼的分類問題。
這些方法各有優勢,但也存在明顯不足:對人臉、偏轉角度、背景、光照等有一定的條件制約;計算量偏大,處理較慢等。
針對這些問題有研究人員采用組合算法來提高檢測性能,李英等提出了眼睛狀態檢測的組合方法[6]。該方法是將灰度模板的方法、Fisher 方法、投影的方法、找眼睛上眼瞼的方法以及Hough變化的方法相結合來檢測眼睛狀態,提高了抗光照影響能力和檢測的準確率。但是該方法計算復雜而且費時,因此不能適用于有實時性要求的檢測系統。本文提出了一種新的組合方法即通過模板匹配方法和投影方法相結合實現眼睛狀態的檢測,以達到充分利用單個算法的優點來提高檢測性能的目的。實驗結果表明該方法能有效地提高眼睛狀態檢測的準確率,同時滿足檢測系統實時性的要求。
1 模板匹配方法和投影方法介紹
1.1 模板匹配方法
模板匹配[7]基本原理是在圖像的搜索區內逐點平移參考模板圖像,遍歷搜索區內的每一個位置點,同時根據某個相似性測度原則,計算搜索區內該位置點的圖像區域和參考模板的相關值,然后根據相關值的大小來判定跟蹤點的位置。
應用模板匹配方法來判斷眼睛的睜開和閉合狀態算法簡單且相對精確度較高,在灰度空間,通過計算被檢圖像和2個狀態模板的相似度來判斷眼睛睜開和閉合狀態,如果它和睜眼模板的相似度大于和閉眼模板的相似度就認為眼睛是睜開的,反之相反。
首先,制作睜閉眼的模板。睜眼模板通過選取100幅睜眼圖像,利用縮放把它們變成尺度統一的標準圖像,例如說[m×n]。通常采用線性重采樣插值等方法進行尺度變換,以保證人眼在圖像平面中的尺度不變性[8]。其次,將這些圖像轉化為灰度圖像并它們進行灰度均勻化,也就是說, 找一個灰度直方圖分布比較均勻的開眼圖象, 使每幅圖的灰度直方圖都和此圖象灰度直方圖幾乎一致。最后,將得到的這100幅圖像灰度進行平均,就得到了睜眼的灰度模板。用同樣的方法可得到閉眼的模板。如圖1所示。
匹配計算過程中的相似度R可用式(1)表示:
[R=i=1mj=1naijbiji=1mj=1na2ij12i=1mj=1nb2ij12] (1)
其中:
[A=a11a12...a1n????am1am2...amn],[B=b11b12...b1n????bm1bm2...bmn]
為了減少光線的影響, 將[A]和[B]做了歸一化。將睜閉眼模板在被檢圖像上平移計算得到一系列相似度值,通過比較分別選取最大的值作為最終的2個相似度值,最后通過比較判斷睜閉眼情況。
1.2 投影方法
投影方法的原理[9]:當人閉眼時,閉眼的邊緣圖通過投影會有兩條足夠接近的直線(近似),因此可以通過觀察投影圖像,如果在投影圖像中能夠檢測到兩條足夠接近的直線,可以認為是閉眼,如果檢測不到,可視為睜眼,或者通過其他方法繼續檢測。
檢測步驟:首先,利用邊緣提取算子從眼睛被檢圖像中得到眼睛邊緣圖;其次,將邊緣圖進行水平投影。最后,分析投影圖,看看是否存在兩個足夠高的峰(本文實驗中設置10個像素),且這兩個高峰足夠接近(本文實驗中設置5個像素)。(圖2)如果同時滿足以上條件,則判斷為是閉眼;否則,視為是睜眼。
2 眼睛狀態檢測的組合算法
上述2種眼睛狀態檢測方法各有特點。模板匹配的方法其算法簡單且相對精確度較高,但相對速度較慢,容易受光照條件影響。投影法檢測眼睛狀態速度較快,但精度不夠高,容易受其他邊緣信息影響。由于很多檢測系統對檢測算法的準確率具有較高的需求,而前面提到的單個算法都不能很好地滿足其要求。因此,把上述2種算法進行了有效的組合,這樣可以更好的利用每一種算法的優點,以提高檢測算法的準確率。具體算法可分為2步:
第1步:利用模板匹配方法檢測眼睛狀態。假設被檢圖像與睜眼模板的相似度為A1,與閉眼模板的相似度為A2,分別求出A1,A2,然后計算其差值的絕對值|A1-A2|。通過預先設置一個閾值K,如果|A1-A2|大于K,則直接得出判斷結果,否則進入下一步。
第2步:通過投影法判斷被檢圖像是否滿足閉眼條件,如果滿足判斷為閉眼,否則視為睜眼。
組合算法檢測流程圖如圖3所示。
3 實驗結果及分析
雖然現在有很多的人臉數據庫可以用來進行人臉檢測和識別,但還沒有公開的眼睛數據庫用來進行眼睛狀態檢測,本文采用CAS?PEAL[10],人臉數據庫中的圖像,從中提取300幅不同光照條件和姿勢的左眼圖像(人的雙眼狀態基本相同),睜閉眼分別150幅。所有圖像為灰度格式,大小為30×15,模板大小為20×10。部分圖像如圖4所示。
測試環境為intel Core i3?2100,3.1 GHz CPU,3 GB內存,操作系統為 Windows XP,在matlab 2010上實現。通過多次測試K取0.02時效果最好。實驗結果表1~表3所示,表4為3種方法比較結果
從表3看出表1、表2中出現的錯誤判斷在組合方法中得到了糾正。由表4比較結果看模板匹配方法有較高的檢測率,同時耗時也較高,這主要是在計算相似度時比較耗時,模板匹配方法主要對半睜眼情況檢測效果不好;投影方法受其他邊緣信息影響而檢測率比較低,但耗時也較少;組合算法的檢測準確率達到94.8%,較單個算法有了明顯提高,耗時上僅比模板匹配方法多了0.001 8 ms,總耗時0.012 1 ms也能滿足對視頻圖像(視頻圖像30 f/s)檢測的實時性要求。因此組合算法取得了預期效果。
4 結 語
文結合模板匹配方法和投影方法提出了一種新的眼睛狀態檢測組合方法,該方法首先采用模板匹配方法計算被檢圖像與睜閉眼的相似度的差值絕對值,再將差值同預先設定的閾值進行比較,來完成初步判斷。最后對于那些第一步無法完成判斷的圖像(相似度很接近)再由投影方法進一步確認。實驗結果證明了組合算法具有更好的可靠性和準確率。
參考文獻
[1] 曹永.駕駛員眼睛開閉狀態計算機圖像識別技術開發[D].青島:青島大學,2011.
[2] 張建勇,郭耀煌,李軍.基于顧客滿意度的車輛優化調度問題研究[J].鐵道學報,2003,25(2):15?17.
[3] TOENNIES K B, AURNHAMMER F M. Feasibility of hough?transform?based Iris localization for real?time?application [C]// Proceedings International Conference on Pattern Recognition. [S.l.]: ICPR, 2002: 1053?1056.
[4] MAO zhe, CHU Xiu?min, YAN Xin?ping, et al. Advances of fatigue detection technology for drivers [J]. Safety Seienee Journal, 2005, 15(3): 108?111.
[5] 邊肇棋,張學工.模式識別[M].北京:清華大學出版社,2001.
[6] 李英,賴劍煌,阮邦志.眼睛狀態檢測的組合方法[J].中國圖象圖形學報,2003,8(10):1140?1145.
[7] 高峰,雷志勇,易娟.基于模板匹配的圖像跟蹤技術[J].計算機應用,2008,33(10):34?36.
[8] 梁路宏,艾海舟,何克忠.基于多模板匹配的單人臉檢測[J].中國圖象圖形學報,1999,4(l):825?830.
[9] 周宇.基于人臉識別的駕駛員疲勞駕駛檢測系統的研究與實現[D].沈陽:東北大學,2008.
[10] GAO Wen, CAO Bo, SHAN Shi?guang, et al. The CAS?PEAL large?scale chinese face database and baseline evaluations [J]. IEEE Trans. on System Man, and Cybernetics (Part A), 2008, 38(3): 149?161.