宋 凱, 劉 娜, 聶 鑫, 楊 東
(沈陽理工大學 信息科學與工程學院, 沈陽 110168)
隨著道路上的機動車輛數(shù)目日漸增長, 我國的交通事故近年來呈不斷上升趨勢。疲勞駕駛是交通事故的重要導火索之一。在駕駛員剛剛出現(xiàn)疲勞時可以通過一種監(jiān)督機制檢測其疲勞狀態(tài), 然后使用預警裝置提示駕駛員保持清醒或暫停駕駛。這樣可使駕駛員有意識地采取相應措施, 有效地避免事故的發(fā)生。人眼開閉狀態(tài)的識別是進行駕駛員疲勞檢測的簡單有效方法。
目前國內(nèi)外對人眼開閉狀態(tài)識別進行了一些研究和探索。文獻[1]通過閾值分割人眼區(qū)域, 根據(jù)人眼類似圓形識別瞳孔區(qū)域, 進而判斷人眼的睜閉狀態(tài)。文獻[2]對人臉圖像求梯度, 使用自適應閾值法二值化, 利用彩色HOG(Histogram of Oriented Gradient)算法將提取眼睛的圖像放入兩層SVM(Support Vector Machine)分類器中訓練。第1層分類器用來檢測眼睛; 第2層分類器用來判斷眼睛開閉狀態(tài)。文獻[3]通過獲取圖像的地形特征點, 初步確定候選區(qū)域, 再通過尋優(yōu)和驗證獲得人眼位置, 最后用SVM判斷人眼狀態(tài)。文獻[4]采用人眼定位的雙層AdaBoost分類器進行人眼檢測, 利用基于最小二乘法的橢圓擬合對人眼輪廓進行擬合, 確定人眼的開閉狀態(tài)。文獻[5]利用直方圖投影的方法實現(xiàn)對人眼的定位, 利用形態(tài)學處理方法對人眼的眼球信息進行提取, 通過提取結果判定人眼狀態(tài)是否睜開。
現(xiàn)有算法大部分都是建立在對人眼精確定位的基礎上, 算法的復雜度較高, 且受外界的影響較大。為解決傅立葉變換在時域分析的局域性, Gabor在1946年提出了短時傅立葉變換。當采用高斯函數(shù)作為窗函數(shù)時, 短時傅立葉變換稱為Gabor變換。目前, Gabor變換是通信和信號處理表示尤其是圖像表示的較好方法之一。使用Gabor變換提取人眼特征具有許多優(yōu)點, 因為Gabor變換可以根據(jù)人的視覺機制提取有效特征, 濾除干擾信息, 而只保留感興趣的信息。筆者對人臉圖像進行Gabor小波變換處理, 提取人眼區(qū)域, 然后通過積分投影對開閉狀態(tài)進行識別分析。
人眼狀態(tài)識別算法流程如圖1所示。
圖1 算法流程圖
人臉檢測是指判斷在圖像或視頻中是否存在人臉, 若存在, 確定人臉的大小、 位置。基于膚色進行人臉檢測是常用的人臉檢測方法之一, 因為人臉膚色和環(huán)境存在較大的顏色差異, 所以通過膚色很容易區(qū)分人臉和背景環(huán)境。
人臉的膚色不依賴于面部的其他特征, 對人臉的表情和姿態(tài)變化不敏感, 具有較好的穩(wěn)定性。不同性別、 不同年齡、 不同種族人的膚色看起來存在差異, 但該差異主要體現(xiàn)在亮度上, 當去除亮度時, 膚色具有很高的聚類性[6]。為了進行準確的膚色識別, 首先將人臉圖像從RGB空間映射到YCbCr空間, 轉換公式如下
(1)
其中R是RGB顏色空間中紅色分量,G是RGB顏色空間中綠分量值,B是RGB顏色空間中藍色分量,Y代表亮度,Cb、Cr分別為YCbCr彩色空間的藍色分量和紅色分量。
在YCbCr色彩空間, 假定膚色滿足二維高斯模型[7]:M=(m,C), 其中m=E(x)為均值,x=(Cb,Cr)T,C=E[(x-m)(x-m)T]為協(xié)方差矩陣。通過該膚色模型檢測某一像素是否為膚色的概率為
P(Cb,Cr)=exp[-0.5(x-m)TC-1(x-m)]
(2)
經(jīng)過實驗統(tǒng)計, 膚色高斯模型定義如下[8]
(3)
a 彩色圖像 b 灰度圖像
首先將像素從彩色空間變換到一維空間。對彩色圖像中的每個像素點, 將其從RGB空間映射到YCbCr空間后, 根據(jù)膚色在色度空間的高斯分布, 通過該點距離高斯分布中心的遠近得到其與膚色的相似度, 就可以計算該點屬于皮膚的概率。對一幅圖像中的每個像素點計算完畢后, 統(tǒng)計該幅圖像上所有像素點的最大膚色相似度Pmax(Cb,Cr), 并將每個像素點的膚色相似度P(Cb,Cr)除以該圖像中的最大膚色相似度Pmax(Cb,Cr), 即可將各個像素點的膚色相似度值歸一到[0,1]之間。歸一膚色相似度越大, 屬于膚色的可能性越大。為顯示各像素與膚色的相似程度, 將各像素的歸一膚色相似度值乘以255, 然后取整, 將其變換到[0,255]之間, 把一幅彩色圖像轉換為一幅膚色相似度灰度圖像(見圖2)。
為降低噪聲的影響, 對膚色相似度灰度圖像進行中值濾波。中值濾波是一種鄰域運算, 對于給定的n個像素(n為奇數(shù))的灰度值{a1,a2,…,an}, 將其按大小排序, 用排在中間的灰度值替代像素點的原始灰度, 按此操作遍歷圖像, 即可得到平滑后的圖像。
為更清晰地顯示人臉與非人臉區(qū)域, 對膚色相似度灰度圖像進行二值化處理。設定一個全局的閾值T, 將大于T的像素群設為白色, 將小于T的像素群設為黑色。這里閾值T采用整幅圖像的灰度平均值。二值圖像如圖3所示。
對獲得的二值圖像進行人臉的位置定位。由于有時背景與膚色相似或裸露的四肢、 頸部等膚色圖像的存在, 會嚴重影響人臉區(qū)域的確定, 因此必須采取一定措施將非人臉區(qū)域去除。根據(jù)以下規(guī)則排除非人臉區(qū)域的干擾:
1) 在豎直方向上對二值圖像白色像素區(qū)域即人臉區(qū)域進行白色像素投影, 并計算其最大值, 然后用該值去歸一每列人臉區(qū)域的像素投影值;
2) 通過頻度確定人臉區(qū)域的左右邊界, 這里, 設定閾值為0.2;
3) 同理, 在水平方向上對人臉區(qū)域進行白色像素投影, 計算其最大值, 并用最大值去歸一每行人臉區(qū)域的像素投影值;
圖3 二值化圖像 圖4 人臉區(qū)域提取
4) 通過頻度確定人臉區(qū)域的上邊界, 上邊界的閾值仍設定為0.2;
5) 進行人臉擬合確定人臉區(qū)域。
筆者需要對人眼進行處理, 所以取正方形人臉區(qū)域即可。已知上邊界和左右邊界, 據(jù)此求出下邊界。這樣, 就可以得到人臉位置的定位, 提取出人臉區(qū)域(見圖4)。
在進行Gabor變換前, 需要對圖像進行預處理。主要包括灰度化, 直方圖均衡化和尺寸歸一化。
將彩色圖像轉化為灰度圖像可以降低Gabor變換的計算量。將彩色圖像轉化為灰度圖像的過程稱為灰度化處理。在彩色圖像中的每個像素的顏色由R、G、B3個分量決定。在灰度圖像中每個像素的R、G、B3個分量是相同的, 灰度圖像是特殊的彩色圖像。彩色圖像轉換為灰度圖像后的一個像素用一個字節(jié)表示該點的灰度值, 其大小在0~255之間, 數(shù)值越大, 表示該點越白, 即越亮; 值越小, 則越黑。轉換公式為
G(i,j)=0.11R(i,j)+0.59G(i,j)+0.3B(i,j)
(4)
其中G(i,j)為轉換后的灰度圖像在點(i,j)處的灰度值, 轉換后灰度圖像如圖5所示。
為降低外部環(huán)境光照的影響, 對圖像進行直方圖均衡化處理。直方圖均衡化是灰度變換的一個重要應用, 廣泛應用于圖像增強處理中。圖像的像素灰度變化是隨機的, 直方圖的圖形高低不同, 直方圖均衡化通過一定的算法使直方圖變得大致平和。通過這種處理, 圖像的亮度可以更好地在直方圖上分布, 對背景和前景同時太亮或太暗的圖像處理效果非常明顯。直方圖均衡化的核心就是把原始圖像的灰度直方圖從某個灰度區(qū)間的集中分布變成在整個灰度范圍內(nèi)的均勻分布。通過對圖像進行非線性拉伸, 重新分配圖像的像素值, 使一定灰度范圍內(nèi)的像素數(shù)量大致相同。
首先統(tǒng)計分析原始圖像的灰度情況, 計算原始的直方圖分布, 根據(jù)計算的累計直方圖分布得到灰度映射關系, 并對原始圖像的各點像素進行灰度轉換, 即完成對原始圖像的直方圖均衡化。
設圖像中某個灰度級的像素出現(xiàn)的概率為
Pr(rk)=nk/N
(5)
其中rk為第k個灰度級,nk為rk像素的數(shù)量,N為圖像像素總數(shù)。
圖像的直方圖均衡化公式為
(6)
圖5 人臉區(qū)域灰度圖像 圖6 直方圖均衡化后灰度圖像
a 直方圖均衡前 b 直方圖均衡后
為便于Gabor變換后進行特征提取, 圖像在Gabor變換前要進行尺寸歸一化。采用雙線性插值的算法, 對圖像進行尺寸歸一化。在雙線性插值放大算法中, 目標圖像中新創(chuàng)造的像素值由源圖像中像素位置在其附近2×2區(qū)域內(nèi)4個鄰近像素的值通過加權平均計算得出。通過雙線性插值算法放大后得到的圖像質量較高, 不會出現(xiàn)像素值不連續(xù)的情況。
Gabor小波與視覺感知細胞相似, 可把每個視覺感知細胞看成是一個具有特定方向和特定尺度的Gabor濾波器。當圖像信號經(jīng)由視覺細胞輸入時, 其輸出就是相應圖像與Gabor濾波器的卷積, 而這個輸出信號經(jīng)過大腦皮層的進一步處理后形成最后的映像。這樣通過Gabor變換可以根據(jù)人的視覺機制提取有效特征。二維Gabor濾波器可看作是一個對方向和尺度均敏感的、 有方向性的顯微鏡。同時, 二維Gabor函數(shù)也能增強邊緣以及峰、 谷、 脊輪廓等底層圖像特征, 所以可通過Gabor變換增強面部關鍵部件的信息, 例如眼睛信息, 使局部特性得到增強, 從而達到進行人眼開閉狀態(tài)識別的目的。
二維Gabor小波核函數(shù)[9]
(7)
kν,μ=(kvcosφu,kvsinφu)
(8)
(9)
其中Φ是使用倍頻程表示的半峰帶寬。人類視覺神經(jīng)細胞的頻率響應帶寬范圍為0.5~2.5個倍頻程[10]。當Φ=2.5倍頻程時,σ≈1.5; 當Φ=0.5倍頻程時,σ≈2π。這里σ值取為2, 在人類視覺神經(jīng)細胞的頻率響應帶寬范圍內(nèi)。
各種不同尺度和不同方向的Gabor核函數(shù)是自相似的, 因為他們都可以通過對母函數(shù)中的波向量kν,μ進行幅度和方向的變化得到。圖8顯示了8種方向下的Gabor小波實部, 從圖8可以看出Gabor小波在空間的方向選擇性。
圖8 不同方向下的Gabor小波實部
Gabor特征是指將人臉圖像經(jīng)過Gabor濾波器濾波后所獲得的輸出響應。在信號處理理論中, 將人臉圖像與Gabor濾波器進行卷積, 卷積的結果便是所提取的Gabor特征。人臉圖像在3級8方向下的卷積結果如圖9所示, 其中ν取{0,1,2},μ取{0,1,2,3,4,5,6,7}。
可看出, 當ν=1,μ=0時, Gabor變換濾波響應在人眼位置有明顯的灰度特征, 突出了人眼的灰度特性的同時弱化了眉毛、 鼻子的灰度特證, 從而消弱了人眼狀態(tài)識別過程中的干擾。因此, 選擇ν=1,μ=0時, Gabor濾波器輸出的幅度響應進行處理分析。
根據(jù)人臉的分布特征, 進一步縮小人眼的區(qū)域范圍, 以減少干擾因素。左右各縮減1/8, 上縮減1/2, 下縮減1/4, 得到的人眼區(qū)域范圍如圖10所示。
對圖10進行水平積分投影[11](見圖11)。
閉眼狀態(tài)的人臉圖像如圖12所示。
圖10 縮小人眼區(qū)域范圍 圖11 水平積分投影圖 圖12 閉眼狀態(tài)的人臉圖像
圖13 閉眼狀態(tài)Gabor變換幅度響應 圖14 閉眼狀態(tài)水平積分投影
Gabor變換后的人眼區(qū)域響應如圖13所示。水平積分投影如圖14所示。
通過對比圖10與圖13可以發(fā)現(xiàn), 睜眼狀態(tài), 圖像灰度值在眼部有明顯突出的尖峰; 閉眼狀態(tài), 全臉灰度變化不大。通過峰平比區(qū)分睜眼與閉眼狀態(tài)計算圖像的平均灰度值。圖10的波峰值為35.312 5, 平均灰度值為13.780 9, 峰平比為2.562 4。圖13的波峰值為18.322 9, 圖像平均灰度值為10.814 6, 峰平比1.694 3。
筆者采用VC++6.0與OpenCV進行程序設計。OpenCV是近年來推出的開源、 免費的計算機視覺庫, 利用其所包含的函數(shù)可以很方便地實現(xiàn)數(shù)字圖像和視頻處理。
a 睜眼狀態(tài) b 閉眼狀態(tài)
圖15給出了人眼區(qū)域未經(jīng)過Gabor變換, 而直接進行水平積分投影的曲線圖[12]。從圖15可看出, 出現(xiàn)的兩個波谷分別為眉毛與人眼的區(qū)域。睜眼狀態(tài)與閉眼狀態(tài)的差距不大, 這是由于人在睜眼時黑眼球與閉眼時睫毛同為灰度值較小的黑色, 所以在積分投影時不能有效區(qū)分睜眼與閉眼的狀態(tài), 只可用于人眼定位。而筆者經(jīng)過Gabor變換的積分投影可去除眉毛等干擾因素, 突出人眼的睜閉狀態(tài)的特征, 可以進行有效判斷。
圖16,圖17分別給出了不同光照條件下的人臉圖片與水平積分投影。從圖16,圖17中可看出, 雖然圖片的光線差距很大, 但積分投影曲線的差異并不大, 說明該算法對光照影響具有很好的魯棒性。
a 光線較暗條件 b 光線較亮條件 a 光線較暗條件 b 光線較亮條
圖18 不同狀態(tài)下積分投影的峰平比
筆者對搜集100人的200張圖片進行分析,其中睜眼與閉眼圖像各100張, 結果如圖18所示, 圖片來自Yale大學人臉圖像庫以及生活中??紤]到駕駛員的姿勢比較固定, 均采用正面未傾斜的人臉圖像, 但光照條件有所不同, 這與實際情況相符。從圖18可看出, 睜眼狀態(tài)下, 峰平比大都在1.7以上, 而在閉眼狀態(tài)下, 峰平比大都在1.7以下, 所以, 把閾值設為1.7, 即可很好地分辨睜眼與閉眼狀態(tài)。識別的準確率可達到96%。
筆者通過膚色模型進行人臉識別, 提取人臉圖像, 經(jīng)過灰度化, 直方圖均衡化和尺寸歸一化的預處理后, 進行Gabor變換。通過變換后圖像積分投影的峰平比進行人眼睜閉狀態(tài)的判斷。傳統(tǒng)積分投影方法由于受睫毛等因素的干擾, 只能應用于人眼定位, 筆者的方法可以突破這個局限, 具有復雜度低, 準確率高, 魯棒性好等優(yōu)點, 適合工程應用。
參考文獻:
[1]CHOU Zhi-wei, CHEN Chi-wei, HUANG Ke-nung, et al. Study of the Eye’s Image Processing for the Determination of Driver’s Fatigue [C]∥The 3rd International Conference on Bioinformatics and Biomedical Engineering. Beijing, China: IEEE Conference Publications, 2009: 1-4.
[2]ZHAO San-yuan, SHEN Ting-zhi. Driver Fatigue Detection Based on Eye Status [C]∥2010 International Conference on Multimedia Technology. Ningbo, China: IEEE Conference Publications, 2010: 1-4.
[3]劉鵬, 江朝暉, 熊進, 等. 用于駕駛疲勞檢測的人眼定位及狀態(tài)判別算法 [J]. 計算機工程與應用, 2010, 46(24): 185-188.
LIU Peng, JIANG Zhao-hui, XIONG Jin, et al. Algorithm of Eye Localization and Eye State Recognition in Driving Fatigue Detection [J]. Computer Engineering and Applications, 2010, 46(24): 185-188.
[4]陳明初. 基于人眼狀態(tài)的駕駛員疲勞檢測技術研究 [D]. 重慶: 重慶大學通信工程學院, 2012.
CHEN Ming-chu. Research on Driver Fatigue Detection Based on Eye State [D]. Chongqing: College of Communication Engineering, Chongqing University, 2012.
[5]孟勇. 人眼狀態(tài)及疲勞檢測技術研究 [D].西安: 西安電子科技大學通信工程學院, 2012.
MENG Yong. Research on Eye Status Detection and Fatigue Detection [D]. Xi’an: College of Communication Engineering, Xidian University, 2012.
[6]趙曉暉, 張福威, 申鉉京. 基于亮度自適應色度空間模型膚色算法及應用 [J]. 吉林大學學報: 信息科學版, 2006, 24(1): 68-75.
ZHAO Xiao-hui, ZHANG Fu-wei, SHEN Xuan-jing. Self-Adaptive Chrom a Space Model Skin-Color Arithmetic Based on Brightness and Its Application [J]. Journal of Jilin University: Information Science Edition, 2006, 24(1): 68-75.
[7]黃姜江, 李冶, 吳巖. 在人眼識別中虹膜定位算法 [J]. 吉林大學學報: 信息科學版, 2009, 27(6): 640-645.
HUANG Jiang-jiang, LI-Ye, WU Yan. Algorithm of Location Identification of Human Iris [J]. Journal of Jilin University: Information Science Edition, 2009, 27(6): 640-645.
[8]馮偉興, 梁洪, 王臣業(yè). Visual C++數(shù)字圖像模式識別典型案例詳解 [M]. 北京: 機械工業(yè)出版社, 2012: 159-162.
FENG Wei-xing, LIANG Hong, WANG Chen-ye. Detailed Explanation of Visual C++ Digital Image Pattern Recognition with Typical Cases [M]. Beijing: China Machine Press, 2012: 159-162.
[9]朱希安, 曹林. 小波分析及其在數(shù)字圖像處理中的應用 [M]. 北京: 電子工業(yè)出版社, 2012.
ZHU Xi-an, CAO Lin. Wavelet Analysis and Its Application in Digital Image Processing [M]. Beijing: Publishing House of Electronics Industry, 2012.
[10]王濤. 基于臉部生物特征及人眼定位的身份識別系統(tǒng) [D]. 蘭州: 蘭州大學信息科學與工程學院, 2010.
WANG Tao. An Identification System Based on Facial Biometrics and Eye Localization [D]. Lanzhou: College of Information Science and Engineering, Lanzhou University, 2010.
[11]胡濤, 張兵. 基于形狀特征的人眼狀態(tài)判斷 [J]. 計算機工程與應用, 2009, 45(5): 203-206.
HU Tao, ZHANG Bing. Eye State Judgement Based on Characteristic of Figure [J]. Computer Engineering and Applications, 2009, 45(5): 203-206.
[12]李帆, 秦肖臻. 一種基于積分投影的人眼定位方法 [J]. 計算機與數(shù)字工程, 2011, 39(9): 125-127.
LI Fan, QIN Xiao-zhen. An Eyes Location Method Based on Integral Projection [J]. Computer and Digital Engineering, 2011, 39(9): 125-127.