金凌晨,楊定禮
(1.南京大學(xué)金陵學(xué)院,南京210089;2.淮陰工學(xué)院電子與電氣工程學(xué)院,江蘇淮安223003)
在機(jī)器視覺(jué)中,如:表情的理解、人機(jī)交互、身份識(shí)別、人臉檢測(cè)等,對(duì)眼睛定位及特征的提取是非常重要的。目前,主要有兩種基本的眼睛定位方法:基于特征點(diǎn)的算法[1,2]和基于模板匹配的算法[3]?;谔卣鼽c(diǎn)的方法是利用特征點(diǎn)構(gòu)造出眼睛輪廓,它的特點(diǎn)是魯棒性強(qiáng)、速度快,缺點(diǎn)是精度較低?;谀0宓姆椒瓤梢缘玫窖劬Φ男螤钚畔?,又可以得到位置信息,但其參數(shù)選擇比較復(fù)雜,速度比較慢。
為了進(jìn)一步提高基于特征點(diǎn)的方法的準(zhǔn)確性,本文提出了一種新的眼睛定位方法,首先用文獻(xiàn)[4]的方法檢測(cè)到人臉,然后得到眼瞼的大概區(qū)域,采用Sobel算子對(duì)含有眼睛的圖像進(jìn)行邊緣檢測(cè),接著通過(guò)尋找具有最大邊緣像素點(diǎn)的聯(lián)通區(qū)域,再用Taubin擬合與RHT變換相結(jié)合的方法獲得眼瞼的橢圓參數(shù),最后把擬合橢圓的中心點(diǎn)作為眼瞼中心點(diǎn),將擬合的橢圓作為眼瞼的邊緣,從而提取出眼睛定位信息。
尋找橢圓的方法主要有兩類(lèi):投票聚類(lèi)算法和最優(yōu)算法。Hough變換屬于第一類(lèi),Taubin擬合方法屬于第二類(lèi)算法,該算法是采用近似均方距離度量法。Taubin使用的目標(biāo)函數(shù)[5]為:
其中Dx和Dy分別為D對(duì)x和y的偏微分。這樣問(wèn)題就變成,在約束‖Dxa‖2+‖Dya‖2=1下,求‖Da‖2的最小值,此時(shí)使度量距離最小的參數(shù)向量amin,便應(yīng)該是廣義特征系統(tǒng):
對(duì)應(yīng)著最小特征值的特征向量。引入拉格朗日方程:
當(dāng)滿(mǎn)足▽aE=0時(shí),即:
E此時(shí)取得最小值,可以將上述方程改寫(xiě)為:
其中,n為參數(shù)方程的個(gè)數(shù)。該算法是以近似均方距離平方和最小作為擬合的數(shù)學(xué)原則。
橢圓的平面二次曲線(xiàn)的一般方程[6]可以用公式(6)來(lái)表示
其中,B= [a,b,c,d,e,f]T,X= [x2,xy,y2,x,y,1],F(xiàn)(B,Xi)為點(diǎn)[xi,yi]到二次曲線(xiàn) F(B,X)的代數(shù)距離。如果限定BTCB=1,則擬合后的曲線(xiàn)為橢圓,求點(diǎn)到二次曲線(xiàn)F(B,X)=0的代數(shù)距離平方和最小,即求為最小,這里N為擬合點(diǎn)的個(gè)數(shù)。如果令:
直接用 Taubin 橢圓問(wèn)題,可轉(zhuǎn)化為在 BTCB=1 條件下,求系數(shù)[a,b,c,d,e,f],使得 ‖DB‖2值最小。引入Lagrange算子可得同解方程組為:
用廣義特征值和廣義特征向量的方法可以求得方程組的解為(λi,ui),則對(duì)于任意的αi∈R+,(λi,αiui)也是方程組的解。所以(λi,αiui)也必須滿(mǎn)足,則:
對(duì)于本文中圖像數(shù)據(jù),DTD中的元素都是正數(shù),因此,分母對(duì)于所有的ui都是正數(shù),因此式(10)中平方根存在的條件是λi>0,因此公式(10)的解必須有一個(gè)正的特征值。當(dāng)廣義特征值λi>0和對(duì)應(yīng)的廣義特征向量ui作為橢圓擬合的解時(shí),則Bi=αiui也是其解。
由上式得到橢圓方程的6個(gè)參數(shù)以后,將二次曲線(xiàn)ax2+bxy+cy2+dx+ey+f=0進(jìn)行轉(zhuǎn)軸與移軸以后可以得到:
可以得到橢圓的傾角為:
橢圓中心在旋轉(zhuǎn)系里的中心坐標(biāo)為:
橢圓中心在圖像中的坐標(biāo)為:
橢圓的長(zhǎng)軸與短軸長(zhǎng)度為:
其中C1為中間變量。
從前面的擬合已經(jīng)得到橢圓中心的坐標(biāo)xc與yc、橢圓的長(zhǎng)軸M與短軸N以及傾角。但是用上面的擬合的方程,要受到所選的點(diǎn)的影響,如果所選的點(diǎn)的曲率較低,如短軸附近的點(diǎn),則擬合的結(jié)果與真值的誤差較大,所以本文又引入了Hough變換。由于傳統(tǒng)的Hough變換占用內(nèi)存空間較大,同時(shí),提取的參數(shù)受參數(shù)空間的量化間隔制約,所以采用隨機(jī)Hough變換(RHT),在圖像空間中,選取不共線(xiàn)的五個(gè)點(diǎn)映射成參數(shù)空間的一個(gè)點(diǎn),從而避免了傳統(tǒng)Hough變換的巨大的計(jì)算量,同時(shí)RHT具有參數(shù)空間無(wú)限大,參數(shù)精度任意高的優(yōu)點(diǎn)。雖然RHT只對(duì)多到一映射所得到的參數(shù)分配單元進(jìn)行累積,但在處理復(fù)雜圖像時(shí),由于隨機(jī)采樣仍引入了大量的無(wú)效單元,從而造成大量無(wú)效累積。因此本文提出改進(jìn)的隨機(jī)Hough變換來(lái)獲取橢圓參數(shù)[7]。
為了防止所選的點(diǎn)在一條直線(xiàn)上,或者靠得很近,本文提出設(shè)置|x-xother|>2或者|y-yother|>2,并設(shè)k如果k=k,則舍去這個(gè)點(diǎn),重新選擇其他的點(diǎn)。x為當(dāng)前的像素點(diǎn)的橫坐1標(biāo),xother為前面所選的任意一個(gè)像素的橫坐標(biāo),y為當(dāng)前的像素點(diǎn)的縱坐標(biāo),yother為前面所選的任意一個(gè)像素的橫坐標(biāo)。
為了減少計(jì)算量,首先采用Sobel算子提取邊緣時(shí),參數(shù)盡量設(shè)置高一點(diǎn),來(lái)提取明顯的邊緣,且邊緣寬帶不超過(guò)1個(gè)像素寬度。同時(shí)通過(guò)尋找具有最大邊緣像素點(diǎn)的聯(lián)通區(qū)域,得到眼睛的真輪廓線(xiàn),并且只選取那些比較長(zhǎng)且不間斷的邊緣像素,分別如圖1、2所示。
圖1 左右眼邊緣圖像
圖2 處理后左右眼邊緣圖像
然后使用八領(lǐng)域搜索的方法,將邊緣點(diǎn)以順時(shí)針的順序依次存儲(chǔ)于邊緣鏈表中,同時(shí)剔除短小的邊緣分叉,降低了后面的計(jì)算量,但是不可避免地會(huì)將一些有用的邊緣短線(xiàn)段被剔除了。由于大部分連續(xù)邊緣被保存下來(lái),所以并不影響后續(xù)的邊緣擬合。
運(yùn)用改進(jìn)的RHT變換得到橢圓參數(shù)的步驟為:
(1)將上面處理的邊緣像素點(diǎn)按照順序編號(hào),然后根據(jù)上面的原則,隨機(jī)取5個(gè)點(diǎn),并用Taubin擬合橢圓法,得到橢圓中心的坐標(biāo)xc與yc,橢圓的長(zhǎng)軸M與短軸N,以及傾角theta;
(2)將得到的參數(shù)放在矩陣a[N][6]里,其中a[N][1]存放xc,a[N][2]存放yc,a[N][3]存放橢圓長(zhǎng)軸 M,a[N][4]存放橢圓短軸 N,a[N][5]存放橢圓傾角 theta;
(3)運(yùn)用所得到的參數(shù)對(duì)所有邊緣像素點(diǎn)進(jìn)行投票,投票的結(jié)果存放在a[N][6]中;
(4)重復(fù)步驟(1)、(2)、(3)的操作30次,選取最大的a[N][6]中的對(duì)應(yīng)的參數(shù)作為擬合的橢圓參數(shù)。
運(yùn)用改進(jìn)的RHT變換算法擬合的橢圓如圖3、4所示。
圖3 左眼擬合后的橢圓
圖4 右眼擬合后的橢圓
實(shí)驗(yàn)中的軟件為 MATLAB7.11.0(R2010b),PC 機(jī)為雙核 Pentium(R)4 CPU 3.06G,3.07G,內(nèi)存為2.25G。本實(shí)驗(yàn)第一組圖像為從ORL人臉庫(kù)中選取的圖像,第二組圖像為從YALE人臉庫(kù)中選取的圖像,第三組圖像為從CMU+MIT人臉庫(kù)中選取的圖像。
第一種方法采用直接最小二乘法擬合方法(DLS)與Hough變換相結(jié)合的方法對(duì)三組圖像進(jìn)行實(shí)驗(yàn);第二種方法采用Taubin擬合方法與RHT變換相結(jié)合的算法對(duì)三組圖像進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果分別見(jiàn)表1與表2。
表1 兩種方法定位眼睛的準(zhǔn)確率
從表1中可以看出,運(yùn)用Taubin擬合方法與RHT變換相結(jié)合的算法與運(yùn)用直接最小二乘法擬合方法(DLS)與Hough變換相結(jié)合的算法相比,前者對(duì)眼睛的定位的準(zhǔn)確率高,檢測(cè)時(shí)間短。
表2 兩種方法定位眼睛的檢測(cè)時(shí)間
本文首先用Sobel算子對(duì)含有眼睛的圖像進(jìn)行邊緣檢測(cè),然后通過(guò)尋找具有最大邊緣像素點(diǎn)的聯(lián)通區(qū)域,再用Taubin擬合與RHT變換相結(jié)合的方法獲得橢圓的參數(shù),最后把擬合橢圓的中心點(diǎn)作為眼瞼中心點(diǎn),擬合的橢圓作為眼瞼的邊緣,從而提取出眼睛定位信息。通過(guò)實(shí)驗(yàn)驗(yàn)證,本文提出的算法比運(yùn)用直接最小二乘法擬合方法(DLS)與Hough變換相結(jié)合的算法對(duì)眼睛定位的準(zhǔn)確率高,檢測(cè)時(shí)間短。
[1]黎云漢,朱善安.HOUGH變換在眼睛特征提取中的應(yīng)用[J].浙江大學(xué)學(xué)報(bào),2008,42(7):1165-1168.
[2]Goto T,Lee W S N.Facial feature extraction for quick 3D face modeling[J].Signal Processing:Image Communication,2002,17(3):243-259.
[3]Yuille A L,Hallinan P W,Cohen D S.Feature extraction from faces using deformable templates[J].International Jurrnal of Computer Vision,1992,8(2):99-111.
[4]楊定禮,白秋產(chǎn),張宇林,等.快速人臉檢測(cè)算法的改進(jìn)[J].淮陰工學(xué)院學(xué)報(bào),2012,21(1):12-16.
[5]鈕毅.部分遮擋條件下橢圓目標(biāo)識(shí)別[D].上海:上海交通大學(xué),2007.
[6]金俊才,童衛(wèi)青.基于橢圓擬合的近紅外圖像的眼睛精確定位法[J].華東師范大學(xué)學(xué)報(bào):自然科學(xué)版,2012(3):103-110.
[7]陳燕新,戚飛虎.基于隨機(jī)Hough變換的快速圓檢測(cè)方法[J].上海交通大學(xué)學(xué)報(bào),1998,32(10):17-20.