李?lèi)?ài)平,魏 江,郝思思
(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710072)
基于灰度投影與改進(jìn)Hough變換的人眼定位算法
李?lèi)?ài)平,魏 江,郝思思
(西北工業(yè)大學(xué) 電子信息學(xué)院,陜西 西安 710072)
人眼定位是人臉識(shí)別的重要步驟,本文提出一種結(jié)合灰度投影與改進(jìn)Hough變換的人眼定位算法。首先,通過(guò)兩次積分投影進(jìn)行人眼粗定位,對(duì)粗定位的眼睛灰度圖像增強(qiáng)處理后提取邊緣,然后采用改進(jìn)Hough變換檢測(cè)圓來(lái)定位眼球的準(zhǔn)確位置。實(shí)驗(yàn)結(jié)果表明,該算法與已有算法相比,具有更為快速和精確的定位效果,并且對(duì)頭部偏轉(zhuǎn)具有較強(qiáng)的魯棒性。
積分投影;人眼檢測(cè);Hough變換;眼球定位
近年來(lái),人臉識(shí)別技術(shù)的應(yīng)用越來(lái)越廣泛。人眼相對(duì)于面部其他器官來(lái)說(shuō),包含了更多的信息,對(duì)人眼的精確檢測(cè)有利于人臉識(shí)別技術(shù)的發(fā)展,對(duì)人眼的定位與分析具有重要意義。目前人眼定位常用的方法主要有3類(lèi):基于特征的方法,如投影法[1],該類(lèi)方法處理速度快,但受人臉姿態(tài)變換影響較大;基于形狀的方法,如模板匹配法[2],該類(lèi)方法定位準(zhǔn)確,但通常計(jì)算量比較大,實(shí)時(shí)性不夠;基于表現(xiàn)的方法,如Adaboost算法[3],該類(lèi)方法具有較強(qiáng)的魯棒性,但往往需要大量的訓(xùn)練樣本。
本文結(jié)合投影法與Hough變換檢測(cè)圓的優(yōu)勢(shì),采用了二者結(jié)合的方式精確定位眼球,并對(duì)各自的不足進(jìn)行改進(jìn),該算法在人眼定位的精度和速度上都有所提高。
本文算法分為3個(gè)步驟:首先圖像預(yù)處理,對(duì)圖像進(jìn)行平滑濾波消除噪聲的影響,對(duì)預(yù)處理后的人臉灰度圖像采用兩次積分投影的方式粗定位人眼,最后在人眼粗定位的基礎(chǔ)上,運(yùn)用改進(jìn)的Hough變換精確定位眼球。
攝像頭獲取的圖像不可避免受噪聲的影響,將使后面的灰度投影產(chǎn)生誤差,中值濾波是一種能有效抑制隨機(jī)噪聲的
非線性濾波方式,其思想是在圖像中移動(dòng)模板,將模板下覆蓋的值按大小排序,取中間值作為模板中心的像素值。
人臉圖像中,眉毛、眼睛、鼻子、嘴巴處的灰度值有明顯的突變,而人臉的其他部位灰度變化相對(duì)平緩。因此在灰度積分投影中,眉毛、眼睛等器官處會(huì)出現(xiàn)明顯的極小值。根據(jù)這些極小值出現(xiàn)的位置可以大致定位出各個(gè)面部器官部位[4-5]。根據(jù)人臉圖像中面部器官的分布,眼睛只可能出現(xiàn)在人臉的上半部分,因此,只需要對(duì)上半部分人臉圖像進(jìn)行灰度投影。這就減少了人眼定位中,鼻子跟嘴巴對(duì)定位結(jié)果的干擾。當(dāng)人臉傾斜時(shí),左右眼不在同一水平高度上,用傳統(tǒng)的水平投影可能難以確認(rèn)眼睛的水平位置。因此本文從人臉的中部分別向兩邊進(jìn)行水平投影,分別找到左右兩側(cè)眼睛、眉毛對(duì)的水平基線。最后,以眼睛的水平基線為中心線,同側(cè)眼睛眉毛對(duì)的基線距離為高,粗定位出眼睛的水平高度。算法如下:
1)截取人臉圖像的上半部。以人臉圖像的寬為寬,1/2人臉的高為高,截取人臉的上半部。
2)設(shè)截取圖像為 I(x,y),大小為 r行 c 列,PL(x)、PR(x)分別為左右兩側(cè)按行積分投影值,積分投影公式分別如下:
3)對(duì)積分投影曲線進(jìn)行平滑濾波。濾波器算子選取[11111],消除積分投影曲線受發(fā)絲等干擾產(chǎn)生的毛刺。平滑后的曲線會(huì)有兩個(gè)明顯的波谷,對(duì)應(yīng)同側(cè)的眉毛和眼睛。取第1個(gè)波谷y1作為眉毛的水平中線,第2個(gè)波谷y2作為眼睛的水平中線。
5)對(duì)上步截取的圖像首先進(jìn)行二值化處理,使用最大類(lèi)間方差法得到一個(gè)合適的閾值,然后利用此閾值將圖像二值化。處理后的圖像取反后沿垂直方向進(jìn)行灰度積分投影,積分公式如下:
垂直積分投影曲線有一個(gè)波峰,沿波峰向兩側(cè)會(huì)有兩個(gè)零值點(diǎn),對(duì)應(yīng)著眼睛的左右邊界部分。到此已經(jīng)利用水平和垂直積分投影確定眼睛的左右及上下邊界,對(duì)人眼進(jìn)行了粗定位。
分別利用一次積分投影和兩次積分投影進(jìn)行人眼定位,并進(jìn)行比較,一次積分如圖1(a)所示,兩次積分如圖 1(b)所示,可以看出人臉傾斜時(shí)一次積分投影效果不好,因?yàn)槿四槂A斜時(shí)水平積分投影中左右眼對(duì)應(yīng)的極小值點(diǎn)不在同一高度上,圖2中(a)為人臉左側(cè)投影,(b)為人臉右側(cè)投影。
圖1 人眼定位效果比較圖Fig.1 The comparison of eye location effect
圖2 傾斜臉左右兩側(cè)積分投影Fig.2 Both side integral projection of sloping face
人的眼球近似為圓形,如果能找到眼球的圓心跟眼球的輪廓,就能精確定位眼睛。但由于人眼睜開(kāi)的狀態(tài),及上下眼簾、睫毛的存在,眼球的部分邊緣會(huì)被遮擋。Hough變換作為一種檢測(cè)圓的方法,具有受噪聲和邊緣間斷影響小的優(yōu)點(diǎn),當(dāng)圓的邊界不完整時(shí),也能夠檢測(cè)出來(lái)[6-7],因此本算法采用Hough變換檢測(cè)眼球。
1.3.1 人眼圖像增強(qiáng)及邊緣提取
獲取圖像時(shí)容易受光照不均勻及噪聲的干擾,會(huì)導(dǎo)致圖像的質(zhì)量下降,影響后續(xù)的定位精度?;叶茸儞Q即按照一定關(guān)系逐點(diǎn)改變?cè)瓐D像中每一個(gè)像素的灰度值。為了增強(qiáng)人眼圖像的對(duì)比度,使眼球與眼白部分盡可能有效地區(qū)分出來(lái),我們選擇線性灰度變換函數(shù)進(jìn)行灰度變換,公式如下:
經(jīng)過(guò)試驗(yàn),文中a=2,b=-0.216時(shí)可以取得較好的效果。
圖像邊緣即是灰度變化劇烈的地方,是圖像最基本的特征。Sobel算子是一階導(dǎo)數(shù)的邊緣檢測(cè)算子,通過(guò)3*3模板作為核與圖像中的每個(gè)像素點(diǎn)做卷積和運(yùn)算。此外,由于Sobel檢測(cè)算子是對(duì)一些像素求和然后差分,對(duì)平滑圖像噪聲具有一定的作用[8]。
1.3.2 改進(jìn)的Hough變換檢測(cè)眼球
Hough變換檢測(cè)圓的思想是將圖像中的每一邊緣點(diǎn)映射到參數(shù)空間的一個(gè)區(qū)域,并對(duì)該區(qū)域每個(gè)對(duì)應(yīng)點(diǎn)的累加值加1,最終選取最大累加值對(duì)應(yīng)的坐標(biāo)作為圓的圓心。利用傳統(tǒng)的Hough變換檢測(cè)眼球,由于眼球的半徑未知,故有3個(gè)自由參數(shù),這就使得用傳統(tǒng)的Hough變換檢測(cè)眼球耗費(fèi)的內(nèi)存空間及計(jì)算量大增[9]。本文充分利用圓的幾何性質(zhì),即圓心一定在圓上任意兩點(diǎn)連線的中垂線上,用改進(jìn)的Hough變換定位眼球。
對(duì)上節(jié)處理后的眼球區(qū)域提取出該區(qū)域的邊界。本文Hough變換的思想是,對(duì)圓上任意兩點(diǎn)m和n(坐標(biāo)分別記為xm、ym和xn、yn),則圓心一定在這兩個(gè)點(diǎn)連線的中垂線上,對(duì)應(yīng)中垂線的方程如下:
故在參數(shù)空間中對(duì)這條中垂線上所有的點(diǎn)的累加值加1,最后提取參數(shù)空間中累加值最大的點(diǎn),該坐標(biāo)點(diǎn)即是檢測(cè)圓的圓心。圓心確定后,統(tǒng)計(jì)圓心到所有邊界點(diǎn)的距離。相同距離中出現(xiàn)次數(shù)最大的那個(gè)值即可認(rèn)為是檢測(cè)圓的半徑。算法步驟如下:
1)初始化參數(shù):取大小與人眼邊緣圖像相同的全零矩陣作為累加器。以n1作為點(diǎn)集內(nèi)步長(zhǎng),n2作為點(diǎn)集間步長(zhǎng),用來(lái)搜索邊緣圖像的兩點(diǎn)。取數(shù)組r和數(shù)組num分別用來(lái)存儲(chǔ)邊界點(diǎn)到圓心的距離以及相同距離出現(xiàn)的次數(shù)。
2)任取一邊緣點(diǎn) m 作為起點(diǎn)(坐標(biāo)記為 xm,ym),以 n1為步長(zhǎng),搜索第二個(gè)邊緣點(diǎn)n(坐標(biāo)分別記為xn,yn)。
3)在參數(shù)空間中尋找滿足方程(5)的點(diǎn),在累加器矩陣中對(duì)所有滿足該方程的點(diǎn)對(duì)應(yīng)的累加值加1。
4)以n2為步長(zhǎng)循環(huán)取兩點(diǎn)集的起點(diǎn),以n1為兩點(diǎn)集內(nèi)步長(zhǎng)搜索兩點(diǎn)集的終點(diǎn),跳回至上一步,若某一次循環(huán)搜索的起點(diǎn)與m相等,則循環(huán)結(jié)束。
5)獲得累加器矩陣中的最大值(x0,y0)作為檢測(cè)圓圓心的坐標(biāo)。
6)計(jì)算所有的邊界點(diǎn)到該圓心的距離,并把結(jié)果存放在數(shù)組r和數(shù)組num中。最后取數(shù)組num中的最大數(shù)在數(shù)組r中對(duì)應(yīng)的值r0作為圓的半徑。
本文的實(shí)驗(yàn)采用了ORL人臉圖像數(shù)據(jù)庫(kù)以及實(shí)驗(yàn)室拍攝的人臉圖像共約450幅圖片,其中人臉的表情與姿態(tài)均有小幅度的變化。分別用文獻(xiàn)[6]采用的積分投影算法、文獻(xiàn)[10]的Hough算法以及本文的改進(jìn)算法進(jìn)行對(duì)比實(shí)驗(yàn),本文算法部分結(jié)果如圖3所示。當(dāng)人臉傾斜角度大時(shí),文獻(xiàn)[6]的一次積分投影不能定位出眼睛,而本文算法能較精確定位出來(lái),如圖4所示。此外,對(duì)50幅人眼半閉合的圖像進(jìn)行檢測(cè),本算法能準(zhǔn)確定位出45幅,準(zhǔn)確率為90%,而文獻(xiàn)[10]的Hough算法只能準(zhǔn)確定位39幅,準(zhǔn)確率只有78%,圖5中(a)為本算法精確定位的人眼,(b)為文獻(xiàn)[10]算法定位偏差的人眼。在Pentium (R)Dual-Core 2.7GHz CPU,2GB RAM 的 PC 機(jī)上Matlab2011b下,3種算法的性能如表1所示。
圖3 部分人眼定位效果圖Fig.3 Part of eye location effect
圖4 傾斜人臉的人眼定位Fig.4 Eye location of sloping face
圖5 半閉合人眼的定位Fig.5 Half closed eyes location
表1 算法性能的比較Tab.1 The comparison of algorithm performance
對(duì)所采用的450副人臉圖像進(jìn)行人眼定位,本算法能達(dá)到93.2%的檢測(cè)精度,文獻(xiàn)[6]能達(dá)到92.5%的精度,而文獻(xiàn)[10]只能達(dá)到89.6%的精度。而且本算法采用改進(jìn)的Hough變換,速度明顯比文獻(xiàn)[10]快。
文中提出了將二次積分投影與改進(jìn)的Hough變換相結(jié)合的方法進(jìn)行眼球的定位,克服了人臉傾斜時(shí)眼睛粗定位不準(zhǔn)確的缺點(diǎn);同時(shí)充分利用圓的幾何性質(zhì),使用改進(jìn)的Hough變換檢測(cè)眼球,具有處理速度快及定位準(zhǔn)確的優(yōu)勢(shì),在背景相對(duì)簡(jiǎn)單,光照環(huán)境較好時(shí)能取得不錯(cuò)的檢測(cè)效果,具有一定的研究意義。當(dāng)然本文也存在一些不足,比如當(dāng)人眼睜開(kāi)程度過(guò)小時(shí),提取的眼球邊緣嚴(yán)重殘缺,可能會(huì)導(dǎo)致檢測(cè)結(jié)果誤差較大,這一方面還需要在以后的工作中進(jìn)一步研究。
[1]王文成,常發(fā)亮.一種基于區(qū)域投影的人眼精確定位方法[J].光電子·激光,2011,22(4):618-622.
WANG Wen-cheng,CHANG Fa-liang.A human eye accurate location method based on projection area[J].Photoelectron·Laser,2011,22(4):618-622.
[2]舒梅,董秀成.基于膚色和模板匹配的人眼定位[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(2):237-239.
SHU Mei,DONG Xiu-cheng.Eye location based on complexion and template matching[J].Computer Engineering and Application,2011,2(4):618-622.
[3]甘玲,朱江,苗東.擴(kuò)展Haar特征檢測(cè)人眼的方法[J].電子
科技大學(xué)學(xué)報(bào),2010,39(2):247-249.
GAN Ling,ZHU Jiang,MIAO Dong.The extension method to detect the human eye Haar features[J].Journal of University of Electronic Science and Technology,2010,39(2):247-249.
[4]孫立書(shū),孫長(zhǎng)春.積分投影與區(qū)域生長(zhǎng)法相結(jié)合的人眼定位[J].沈陽(yáng)理工大學(xué)學(xué)報(bào),2012,31(5):56-60.
SUN Li-shu,SUN Chang-chun.Integral projection and region growing method combined with eye location[J].Journal of Shenyang University of Technology,2012,31(5):56-60.
[5]?mer Faruk S?ylemez,Burhan Ergen.Eye location and eye state detection in facial image using circular hough transform[J].Lecture Notes in Computer Science,2013,8104:141-147.
[6]劉念,蘇杭,郭純宏,等.基于Hough變換圓檢測(cè)的人眼定位方法改進(jìn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(4):1359-1362.
LIU Nian,SU Hang,GUO Chun-hong,et al.The improved eye location method based on Hough transform circle detection[J].Computer Engineering and Design,2011,32 (4):1359-1362.
[7]XU Di-jian,LIU Xing-hua,WANG Jing-rui.An algorithm of iris location based on gray projection and improved Hough transform[J].Advances in Intelligent and Soft Computing,2009,62:263-269.
[8]韓文靜,李晶,孫農(nóng)亮.基于HPF和Hough變換的人眼精確定位[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(10):64-66.
HANWen-jing,LI Jing,SUN Nong-liang.The accurate location of human eyes based on HPF and Hough transform[J].Computer Engineering and Application,2008,44(10):64-66.
[9]朱桂英,張瑞林.基于Hough變換的圓檢測(cè)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(6):1462-1464.
SUN Gui-ying,ZHANG Rui-lin.Based on Hough transform circle detection method[J].Computer Engineering and Design,2008,29(6):1462-1464.
[10]張杰,楊曉飛,趙瑞蓮.基于積分投影和Hough變換圓檢測(cè)的人眼精確定位方法研究[J].電子器件,2006,28(4):706-709.
ZHANG Jie,YANG Xiao-fei,ZHAO Rui-lian.Eye accurate positioning method research based on integral projection and Hough transform circle detection[J].Electronic Device,2006,28(4):706-709.
Eye location based on gray projection and improved Hough transform algorithm
LI Ai-ping, WEI Jiang, HAO Si-si
(School of Electronics and Information,Northwestern Polytechnical University, Xi’an 710072, China)
Eye location is an important step in face recognition,this paper proposes an eye location algorithm using gray projection and improved Hough transform.Integral projection is used to locate the eyes roughly for two times, and then ,we abstract the edge information after processing the eye image though gray enhancement.The improved Hough transform is used to detect the circle location.The experimental results show that, compared with the existing algorithm, this algorithm is faster and more accurate,and has stronger robustness on the head deflection.
integral projection;eye detection;Hough transform;eyeball location
10.14022/j.cnki.dzsjgc.2014.16.050
TN911.73
A
1674-6236(2014)16-0171-03
2013-11-06 稿件編號(hào):201311055
李?lèi)?ài)平(1989—),女,河南駐馬店人,碩士研究生。研究方向:圖像處理。