摘要:人眼定位在機器視覺中有廣泛的應用,該文針對目前流行的基于灰度特征與幾何學的算法提出了一種算法改進,采用灰度投影與區域特征相結合的算法實現了自動化人眼定位。利用水平積分灰度投影計算眼睛縱坐標,進一步利用區域特征確定眼睛橫坐標,從而準確快速定位到人眼。
關鍵詞:機器視覺;人眼定位;灰度投影;區域特征
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)34-1706-03
Eye Location Arithmetic Based on Gray Projection and Region Geometry Characters
FU Zhi-peng, WANG Feng, MA Xiao-qiang
(Bio-Medical Engineering Department, Southeast University, Nanjing 210096, China)
Abstract: Eye location is widely used in the field of computer vision, in this article we propose a method to improve the arithmetic that is based on gray features and geometry characters, we adopt integral projection arithmetic to get the y-axis of the eye and then use region characters to acquire the x-axis of the eye. And locate the eyes as result.
Key words: computer vision; eyes location; gray value projection; region characters
1 引言
人眼定位是人臉識別的重要環節,同時人眼也包含了諸如表情、疲勞狀態、心理狀態等重要的信息,有效地提取人眼特征有重要的意義。因此人眼定位在交通監視、疲勞檢測、表情識別、身分認證、人機交互等領域有著廣泛的應用。
目前應用較為廣泛的是基于幾何學[1,2]和基于紅眼效應的算法。本文中在人臉定位的基礎上綜合了圖像增強、水平灰度投影及區域特征實現快速有效的人眼定位。
本文所有的處理都是基于三個圖像庫:Yale人臉庫,中科院CAS-PEAL人臉數據庫以及自建庫。
2 人臉定位
本文使用adaboost算法[3-5]實現快速人臉定位,整個檢測過程分為三個部分:圖像預處理,載入分類器和人臉檢測。
定位準確率達100%,每幅圖象檢測時間8m。
3 人眼檢測
本文中人眼定位算法綜合了圖像增強、水平灰度投影及區域特征。圖3為系統設計中人眼定位的流程圖。整個流程分為三個部分:1) 圖像預處理。首先在人臉檢測獲得標識人臉矩形的基礎上根據人眼睛在臉部的分布位置進一步縮小圖像中的檢測范圍,對縮減檢測范圍后的圖像進行局部增強和直方圖均衡;2) 使用水平積分投影定位眼睛的縱坐標[6-8] ;3) 在圖像縮小到以眼睛縱坐標為中心軸的局部區域的基礎上,采用邊緣檢測、膨脹邊緣區域、連通性分析計算出眼睛區域的橫坐標,最后在原圖像上用白色小矩形框標識出人眼的位置。下面就對這種方法進行詳細介紹。
3.1 圖像預處理
3.1.1 縮小定位范圍
在定位好的人臉圖像中,人臉用一個白色矩形標記出來,將這個矩形記為R,將圖像中眼睛的搜索范圍縮小到距矩形R頂部1/8矩形高度處,距矩形R底部1/2矩形高度處的一個矩形中,將這個新得到的矩形記為R’,用黑色矩形框標出了檢測區域,在各種情況下均包含了人眼區域,如圖4所示。這項處理確定了人眼搜索的圖像區域,對后續處理有兩個好處:1)縮小了待處理的圖像尺寸,減少了圖像處理的時間;2)除去了圖像中會對人眼檢測造成影響的一些因素,因為投影方法對光照比較敏感,縮小了檢測范圍后,必然會消除一定影響。
3.1.2 圖像增強
圖像的增強主要分為空域增強和頻域增強,本文所使用的算法為空域增強。系統在實際處理時,首先采用了局部增強的方法。令圖5(a)為原始圖像I1,首先對圖像I1進行線性均值平滑濾波。線性均值平滑濾波用濾波掩模確定領域內像素的平均灰度值代替圖像中每個像素點的值,我們采用的掩模尺寸為5×5。線性均值平滑濾波處理能夠減小圖像灰度的“尖銳”變化。經過線性均值平滑濾波得到的圖像計為IM。令I1中的像素的灰度值為orig,IM中的像素的灰度值為mean,用下式計算得到增強圖像的IE的像素灰度值res:
res = round ((orig–mean)*Factor)+orig
這樣的做法使得圖像中對比度大的區域到的增益很大,而對比度小的地放灰度基本不變。換句話說也就是可以對高頻區域進行增強。如圖5(b)。
接下來對圖像進行直方圖均衡,圖6是處理結果。
3.2 計算眼睛縱坐標
圖像預處理后,可以計算眼睛的縱坐標。本文中在定位人眼縱坐標時采用了水平積分投影函數[7,8]。如圖所示,水平灰度投影基本上呈現出一致的規律,出現兩個波谷,波谷的谷點位置自上而下分別代表了眉毛區域和眼睛區域的水平投影中心。無論是睜眼圖像還是閉眼圖像,投影曲線中最下的一個谷對應于眼睛的水平位置。
當被測對象有較重的眼袋時,投影中最下方會出現幅度較小的波谷,如圖8(a)所示。為避免檢測錯誤,完整的判定方法如下:首先計算水平積分投影;設定波谷幅度的最小閾值;在積分投影圖中從下向上搜索,第一個波谷幅度大于設定閾值的波谷作為眼睛的縱坐標,結果如圖8(b)所示。
3.3 計算眼睛橫坐標
水平積分灰度投影計算的是眼睛的水平坐標,經過水平積分灰度投影分析,可以讓兩只眼睛或者一只眼睛出現在定位眼睛的矩形框中。如果在這個矩形框中直接進行垂直灰度投影來定位眼睛橫坐標,不能取得好的定位效果,其原因是:1) 當光線分布不均勻時,積分灰度投影曲線不規則,無法從曲線中提取有效的信息;2) 當人眼為閉合狀態時,積分眼睛區域在灰度投影曲線的投影段中沒有波谷出現。本文提出了一種方法,首先計算眼睛矩形區域內的邊緣圖像,將邊緣圖進行閾值分割,把分割的區域進行膨脹處理,通過連通性分析并進行篩選后得到兩個眼睛的區域,最后分別求出左右兩個眼部區域的中心。
3.3.1 采用Sobel算子進行邊緣檢測
Sobel算子[9]對圖像先作加權平均然后再求微分,它的水平和垂直分量的模板分別為:
■ (1)
其中v 和h 分別代表水平分量模版和垂直分量模板,進而求出邊緣圖像。
grayval=(|v|+|h|)/4 (2)
3.3.2 對邊緣區域進行膨脹處理
對一幅二值圖像的膨脹結果是將該圖的所有前景區域都稍稍擴大之后的圖像。再給出形式化表示:考慮兩幅圖像fA和fB,并且令A和B為有序對集,分別由fA和fB中各自的前景像素坐標構成。形式上,定義A關于B的膨脹運算為:■
該運算等用于對所有的A的平移結果取并集,計算公式如下:
■(3)
系統在實際處理中B采用了圓形結構元素,因為圓形模板在各個方向上都是對稱的,能夠完成一個形狀一致的膨脹。圓形結構元素的尺寸(即圓半徑)被定義為3.5個像素。在進行邊緣區域膨脹之前需要將邊緣圖像二值化,然后提取出相應的邊緣區域。進行膨脹處理后的邊緣區域被擴大,邊緣被平滑,區域中小于模板的空洞被閉合。
3.3.3 區域連通性分析
在計算機中實現連通性分析時使用了連通分量標號(connected component labeling)這一概念,首先定義一個“標號圖像”,它是一種用符號對圖像進行表示的方法,與原始圖像同構,但每個像素都包含了它所屬分量的序號。同理對于區域可以定義一個“標號區域”。生成標號圖像,標號區域的一種算法為“區域增長法”。
“區域增長法”中的一種方法是遞歸式區域增長算法,該算法采用了一個下推堆棧來實現區域增長,下推堆棧可臨時保存區中有關像素的坐標。
連通性分析后,可以得到若干個子區域,除了眼睛區域被選擇出來以外,還有一些額外的連通區域也被選擇出來。本文設定了以下判據對所有的子區域進行篩選:1) 區域像素點個數是否大于300;2) 區域長寬比是否大于1。
通過篩選的區域被認為是眼睛區域,區域的垂直中心坐標為眼睛中心的的橫坐標。圖9中為眼睛橫坐定位的處理效果過程圖。
在確定人眼橫縱坐標后就可以準確地標出人眼的位置,如圖10。
4 實驗結果
我們選擇其中姿態庫中正常姿態(名為Normal),飾物庫(不包含佩戴墨鏡,名為Accessory)和光照(Lighting)等三個庫進行算法性能評價。
CAS-PEAL 人臉數據庫共采集并整理了1,040 位志愿者(其中595位男性,445 位女性)的共99,450 幅人臉圖片。庫中的所有圖片分為姿態變化、表情變化、飾物變化、光照變化、背景變化、距離變化、時間跨度變化等7 種變化模式子庫,這7 個變化模式中又以姿態(Pose)、表情(Expression)、飾物(Accessory)和光照(Lighting)4種變化為主(故簡稱為PEAL)。各個變化模式子庫均可以與姿態變化子庫進行組合,以滿足研究工作中的不同要求。
結果如表1:
表1
■
5 結束語
由于鏡框造成的陰影及鏡框本身顏色較深;帽沿造成的陰影;鼻子兩側比鼻子中間顏色要深;人臉姿勢歪斜不正,這些原因造成了誤檢。但從總體上講,再不考慮光照變化的情況下,該算發具有較好的定位效果。
人臉正面、側臉、仰頭低頭、睜眼、閉眼均可以很好的定位到人眼。較單一使用灰度投影方法來定位人眼,這種方法受到光線影響較小,定位的準確性高。同時,這種方法也具有較高的檢測速度,在配置CPU為 3.0GHz,內存為2G的PC機上進行測試,眼睛定位的平均時間不超過6ms,因此該方法具有較好的實時性和準確率。
參考文獻:
[1] 毛敏峰,張星明,郭宇聰.一種基于規則的眼睛快速定位方法[J].計算機工程,2004,30(9):114-116.
[2] 朱夏君,王勛,李必威.人臉識別中的眼睛定位[J].電路與系統學報,2007,12(2):98-100.
[3] Viola P.Rapid object detection using a Boosted cascade of simple features[C].Proc IEEE Conference on Computer Vision and Pattern Recognition,2001:511-518.
[4] Viola P,Jones M.Robust real time object detection Technical Report[R].CRL 2001/01,Compaq Cambridge Research Laboratory,2001.
[5] Viola P,Jones M J.Robust Real-Time Face Detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[6] Kanade T.Picture processing by computer complex and recognition of human faces[D].Kyoto:Kyoto University,1973.
[7] BrunelliPoggio T.Face recognition: Features versus templates[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1993,15(10):1042-1052.
[8] Feng G C,Yuen P C.Variance proection function and its application to eye detection for human face recognition[J].Pattern Recognition Letters,1998,19(9):899-906.
[9] KHAMY S E,LOTFY M,YAMANY N A.A modified fuzzy Sobel edge detector[C]//Seventeenth National Radio Science Conference,Minufiya:URSI,2000,C32:19.