賈彩琴,楊 劍
(中北大學(xué) 計(jì)算機(jī)與控制工程學(xué)院,山西 太原030051)
目前,瞳孔中心定位常用的算法有Hough變換法[1]與橢圓擬合法[2]。Hough變換法抗干擾能力強(qiáng),但是計(jì)算量大,運(yùn)算速度慢且對(duì)存儲(chǔ)空間要求高;橢圓擬合目前使用最多的方法是最小二乘法[3],該方法是根據(jù)測(cè)量得到的瞳孔邊緣點(diǎn)集,運(yùn)用非線性最小二乘法來搜索目標(biāo)函數(shù)最小值,估計(jì)出橢圓曲線的參數(shù)。該方法存在的問題:最小二乘算法在邊界樣本點(diǎn)數(shù)量較大,且噪聲同方差的條件下橢圓擬合精度較高,但是在橢圓邊界不完整,噪聲異方差等條件下,檢測(cè)的結(jié)果誤差較大,同時(shí)最小二乘的計(jì)算量較大。
針對(duì)以上問題,本文提出一種瞳孔中心定位法。該方法主要包含兩個(gè)部分:人臉檢測(cè)及眼睛精確定位。利用基于Adaboost的人臉檢測(cè)方法確定人臉區(qū)域,并推測(cè)出眼睛的位置,進(jìn)而得到左右眼的有效矩形區(qū)域,用Sobel算子對(duì)眼睛的矩形區(qū)域進(jìn)行邊緣檢測(cè),利用基于異方差 (heteroscedastic errors-in-variables,HEIV)方 法 進(jìn) 行 橢 圓 擬合,將擬合的中心點(diǎn)作為人眼瞳孔的中心,從而精確定位瞳孔。實(shí)驗(yàn)結(jié)果表明,該方法比傳統(tǒng)的最小二乘法定位精度高,且魯棒性好。
AdaBoost是一種迭代算法[5]。該算法主要原理是:對(duì)于一組訓(xùn)練集,通過改變每個(gè)樣本的分布概率,來得到不同的訓(xùn)練集Si,對(duì)于每一個(gè)訓(xùn)練集Si進(jìn)行訓(xùn)練從而得到一個(gè)弱分類器,再將這些弱分類器根據(jù)不同的權(quán)值組合起來,就得到了強(qiáng)分類器,然后將該強(qiáng)分類器按照級(jí)聯(lián)結(jié)構(gòu)組合起來得到級(jí)聯(lián)分類器,最終通過級(jí)聯(lián)分類器來檢測(cè)人臉和眼睛。
本文采用了改進(jìn)的AdaBoost算法并結(jié)合Viola等的級(jí)聯(lián)模型構(gòu)建人臉和人眼分類器[6]。人臉檢測(cè)需要對(duì)待測(cè)圖像進(jìn)行分析,判斷其是否為人臉。我們將收集的樣本分為人臉樣本和非人臉樣本兩類,由Adaboost算法及級(jí)聯(lián)分類器來完成訓(xùn)練過程。而在待測(cè)圖像通過級(jí)聯(lián)分類器時(shí),將會(huì)一次通過級(jí)聯(lián)分類器中的強(qiáng)弱分類器,在該過程中,如果某一強(qiáng)分類器拒絕該圖像通過,則認(rèn)為該圖像為非人臉。
人臉定位后,由于眼睛分布在人臉的上半部分區(qū)域,可以利用眼睛分類器在人臉區(qū)域上半部進(jìn)行眼睛檢測(cè)。在這一步中,本文仍然使用基于AdaBoost算法訓(xùn)練出的級(jí)聯(lián)分類器[7]。該步驟中用到的AdaBoost分類器中訓(xùn)練的為人眼樣本。
眼睛區(qū)域定位如圖1所示。
圖1 眼睛區(qū)域定位
利用AdaBoost方法得到人眼所在位置的矩形框后,找到接近眼睛的橢圓,進(jìn)而對(duì)眼睛進(jìn)行精確定位。因此,提取出眼睛輪廓線是必要的。具體如下:
(1)從人臉圖像中劃分出左右眼的有效區(qū)域,并對(duì)該區(qū)域進(jìn)行灰度化。
(2)對(duì)提取出的雙眼所在有效矩形區(qū)域進(jìn)行二值化處理,然后利用Sobel算子對(duì)圖像進(jìn)行邊緣檢測(cè),從而提取出眼睛邊緣,如圖2 (a)所示。
(3)通過尋找人眼邊緣像素點(diǎn)的最大聯(lián)通區(qū)域,找出眼睛的實(shí)際輪廓線,如圖2 (b)所示,然后利用橢圓擬合來確定眼睛的中心點(diǎn)。
圖2 眼睛的精確定位
最小二乘擬合是數(shù)據(jù)擬合中的基本方法,其主要思想是在隨機(jī)誤差服從正態(tài)分布時(shí),利用最大似然法推出一個(gè)最優(yōu)解,它的約束條件是使誤差的平方和達(dá)到最?。?]。
一般二次曲線可用一個(gè)二次多項(xiàng)式來表示
假設(shè) (xi,yi) {i=0,1,…,m}是瞳孔邊緣點(diǎn)集。根據(jù)最小二乘法,將點(diǎn)集 (xi,yi)到橢圓的距離由式顯示。
求解上述方程組,進(jìn)而求得方程各系數(shù),橢圓方程便確定了。根據(jù)橢圓方程便可確定橢圓的長(zhǎng)軸,短軸及其中心[8]。
利用最小二乘法橢圓擬合時(shí),最小二乘算法在邊界樣本點(diǎn)數(shù)量較大,且噪聲同方差的條件下橢圓擬合精度較高,但是由于邊緣數(shù)據(jù)不完整且噪聲異方差,使得實(shí)驗(yàn)結(jié)果誤差較大,不能滿足實(shí)際測(cè)量中的高精度要求。
橢圓擬合的數(shù)學(xué)模型可抽象為
其中,xio∈Rq,θ∈Rp。xio代表測(cè)量的理想數(shù)據(jù),由于在實(shí)際中,測(cè)量數(shù)據(jù)xi會(huì)受噪聲影響而帶有一定的測(cè)量誤差。本文假設(shè)該誤差服從均值為0,方差為σ2Cx的正態(tài)分布,即
這里,GI(0,C)表示均值為0,協(xié)方差為C 的獨(dú)立同分布概率密度。表達(dá)式 (3)和帶有噪聲影響的變量 (4)被稱為變量含誤差模型 (EIV)。如果各數(shù)據(jù)δxi具有不同的方差時(shí),便稱為異方差變量含誤差模型 (HEIV)。HEIV模型就是從實(shí)際測(cè)量的數(shù)據(jù)出發(fā),考慮帶有誤差的數(shù)據(jù)因素,來對(duì)參數(shù)進(jìn)行精確估計(jì)。
令x=(x,y),Z(x)=[x2,xy,y2,x,y],θ=[A,B,C,D,E],α=F,則橢圓的一般方程可表示為
通常情況下,測(cè)量誤差的方差矩陣σ2Cx是未知的,設(shè)定測(cè)量數(shù)據(jù)x的噪聲δx 服從均值為0,方差為Cx=σ2I2的高斯分布。求得δZi的均值與協(xié)方差矩陣[4]
可知數(shù)據(jù)Z(xi)的噪聲δZi不是獨(dú)立同分布的,故采用基于HEIV 模型的方法進(jìn)行橢圓擬合。將帶有噪聲數(shù)據(jù)點(diǎn)Zi與理想數(shù)據(jù)點(diǎn)Zio間的馬氏距離作為代價(jià)函數(shù)
利用文獻(xiàn) [9]的方法可以求解式 (8),但是為了提高運(yùn)算速度及其穩(wěn)定性,本文利用廣義奇異值分解來進(jìn)行求解,是一個(gè)迭代求解的過程。如下:
這里,U′i,V′i是正交矩陣,對(duì)角矩陣D 包含矩陣的奇異值。矩陣的逆平方根矩陣Γi如下
從式 (13)和式 (14)可知
同理
由廣義奇異值分解 (GSVD)的定理[10]知,存在正交矩陣U ∈Rmn×mn,V ∈Rp×p和可逆矩陣Y ∈Rp×p,使得
其中,Y =[y1,y2,…,yn]稱為廣義奇異值向量。本文所要找的^θ是最小廣義奇異值向量yp,它對(duì)應(yīng)最小廣義奇異值σp。當(dāng)σp=1 時(shí),其所對(duì)應(yīng)的特征向量yp即為式 (8)的解。
本文提出算法的步驟如下:
步驟1 根據(jù)式 (10)計(jì)算散布矩陣和加權(quán)協(xié)方差矩陣,拉格朗日乘子ηi,構(gòu)造廣義特征值問題;
步驟2 根據(jù)廣義奇異值分解,將等式轉(zhuǎn)化為求解最小特征向量的問題,見式;
步驟3 迭代求解,直到σp=1時(shí),迭代完成,所對(duì)應(yīng)的特征向量即為所求解。
為了驗(yàn)證所提HEIV 算法在瞳孔中心定位問題上相比于最小二乘法的有效性,本文分別進(jìn)行了橢圓擬合仿真實(shí)驗(yàn)和瞳孔中心定位現(xiàn)場(chǎng)實(shí)驗(yàn)。該實(shí)驗(yàn)應(yīng)用2.9GHz CPU,內(nèi)存4GB 的PC 機(jī),并結(jié)合MATLAB2013 仿真平臺(tái)進(jìn)行仿真。
實(shí)驗(yàn)方案設(shè)置為:在MATLAB2013 平臺(tái)上,設(shè)定一標(biāo)準(zhǔn)橢圓,定義其橢圓中心坐標(biāo)為 (30,30),長(zhǎng)半軸、短半軸為 (a,b)= (15,30)。本文抽取橢圓邊緣點(diǎn)的右下部分?jǐn)?shù)據(jù)進(jìn)行橢圓擬合,對(duì)該部分邊緣點(diǎn)添加服從正態(tài)分布的噪聲,其中均值為0,方差為1。分別利用LS擬合法和HEIV 擬合方法進(jìn)行橢圓擬合,實(shí)驗(yàn)進(jìn)行500次。
由圖3知,圖 (a)、圖 (b)分別為L(zhǎng)S,HEIV 方法所求取的橢圓中心的分布圖,圖 (c)、圖 (d)為L(zhǎng)S方法得到的誤差分布圖,圖 (e)、圖 (f)為HEIV 算法求得的誤差分布圖。從圖中可以得到,利用最小二乘法求取的瞳孔中心比較集中,其X 分量均分布在0的右側(cè),Y 分量均分布在0的左側(cè),嚴(yán)重偏離了中心,屬于有偏估計(jì)。而利用HEIV 方法求得的中心誤差的X 分量與Y 分量均分布在0的兩側(cè),屬于無偏估計(jì),但相對(duì)于最小二乘法來說,其誤差分散范圍較大。
圖3 兩種方法求取瞳孔中心誤差分布
本次實(shí)驗(yàn)對(duì)自建人臉庫(kù)及BioID 人臉庫(kù)進(jìn)行測(cè)試。其中,BioID 人臉庫(kù)中包含1521個(gè)分辨率為384 (286的灰度自然場(chǎng)景下的人臉圖像,由23個(gè)測(cè)試者提供,本次實(shí)驗(yàn)取其中20個(gè)不同人物,在不同姿態(tài)下的500 張圖片進(jìn)行實(shí)驗(yàn)。而自建人臉庫(kù)為實(shí)驗(yàn)室采集圖像,分辨率為384 (287,取30人,每組10人,每人10張,共300張。3組分為光線強(qiáng) (白天開燈拍攝),光線正常,光線較暗 (晚上開燈拍攝)。本次實(shí)驗(yàn)的目的是在獲取眼睛區(qū)域的前提下,利用LS方法和HEIV方法分別對(duì)人眼瞳孔定位,比較其結(jié)果。通過兩種算法求取的瞳孔中心與模擬的標(biāo)準(zhǔn)中心進(jìn)行對(duì)比,分析LS擬合法和HEIV擬合方法求取瞳孔中心坐標(biāo)的誤差分布。
表1為針對(duì)兩種圖像庫(kù)中眼睛瞳孔中心定位平均誤差分布情況。從表1可知,兩種算法所得的平均誤差,本文提出的HEIV 算法對(duì)光照有一定的魯棒性,且HEIV 算法相比于LS算法平均誤差小,定位精度高。
表1 兩種方法瞳孔定位的平均誤差
表2針對(duì)兩種人臉庫(kù)進(jìn)行實(shí)驗(yàn)統(tǒng)計(jì)結(jié)果。實(shí)驗(yàn)結(jié)果可知,對(duì)于兩種人臉庫(kù),針對(duì)兩種算法,本文所提出的HEIV 算法其定位精確率與平均耗時(shí)都優(yōu)于LS算法。對(duì)于自建人臉庫(kù)的其中3 個(gè)人臉庫(kù),可以得到,本文提出的HEIV 算法相比于LS算法正確率高,且平均耗時(shí)短。
圖4、圖5為L(zhǎng)S算法和HEIV 算法對(duì)兩種人臉庫(kù)的處理結(jié)果。其中圖4為L(zhǎng)S算法針對(duì)BioID 人臉庫(kù)及自建人臉庫(kù)的瞳孔定位效果,圖5 為HEIV 算法針對(duì)BioID 人臉庫(kù)及自建人臉庫(kù)的瞳孔定位效果。其中圖 (a)~圖 (c)為針對(duì)BioID 人臉庫(kù)的結(jié)果,圖 (d)~圖 (f)為針對(duì)自建人臉庫(kù)的結(jié)果。從圖中可知,對(duì)于普通人臉,兩種算法標(biāo)定的瞳孔中心相差不大,而對(duì)于圖5 (b)中可知,本文所提出的HEIV 算法針對(duì)人眼半瞇狀態(tài)也能準(zhǔn)確檢驗(yàn)出瞳孔中心,相比于圖4 (b)精確。從圖中得出本文提出的算法對(duì)人的姿態(tài)也有一定的魯棒性和較高的精確度。
表2 兩種算法不同人臉庫(kù)的檢測(cè)結(jié)果
圖4 LS方法擬合的結(jié)果
圖5 HEIV 方法擬合的結(jié)果
本文提出一種基于HEIV 的瞳孔中心定位方法。該方法利用Adaboost方法來訓(xùn)練并檢測(cè)人臉和眼睛,利用HEIV 算法橢圓擬合,實(shí)現(xiàn)瞳孔中心的定位。實(shí)驗(yàn)結(jié)果表明,在正面人臉的情況下,本文提出的方法的平均誤差能夠少于0.2像素,平均一幅圖像的耗時(shí)為1ms,但本文的方法還不是很完善,對(duì)于戴眼鏡的人眼區(qū)域,瞳孔中心定位時(shí)會(huì)有一定的誤差,為了進(jìn)一步改善瞳孔中心定位精度問題,必須對(duì)圖像進(jìn)一步的處理,來達(dá)到瞳孔中心定位精確的目的。
[1]Bhatia N,Chhabra M.Improved hough transform for fast iris detection [C]//IEEE International Conference on Signal Processing Systems,2010:172-176.
[2]YU Longhua,WANG Hong,ZHONG Hongsheng.Human eyes detection and pupil localization [J].Computer Engineering and Applications,2013,49 (3):186-189 (in Chinese). [余龍華,王宏,鐘洪聲.人眼檢測(cè)及瞳孔定位 [J].計(jì)算機(jī)工程與應(yīng)用,2013,49 (3):186-189.]
[3]YAN Bei,WANG Bin,LI Yuan.Optimal ellipse fitting method based on least square principle [J].Journal of Beijing University of Aeronautics and Astronautics,2008,34 (3):295-298 (in Chinese).[閆蓓,王斌,李媛.基于最小二乘法的橢圓擬合改進(jìn)算法 [J].北京航空航天大學(xué)學(xué)報(bào),2008,34(3):295-298.]
[4]HAN Jiandong,YANG Hongju,LV Naiguang.Automated ellipse detection and location method in 3D visual inspection[J].Computer Engineering and Applications,2011,47 (17):169-172 (in Chinese).[韓建棟,楊紅菊,呂乃光.視覺測(cè)量中橢圓自動(dòng)檢測(cè)與定位方法 [J].計(jì)算機(jī)工程與應(yīng)用,2011,47 (17):169-172.]
[5]Ming Yang,James Crenshaw,Bruce Augustine,et al.Ada-Boost-based face detection for embedded systems[J].Computer Vision and Image Understanding,2010,114 (11):1116-1125.
[6]KE Li,WEN Liping.face detection based on modified Adaboost algorithm [J].Opto-Electronic Engineering,2012,39 (1):113-118 (in Chinese).[柯麗,溫立平.改進(jìn)的AdaBoost人臉檢測(cè)方法[J].光電工程,2012,39 (1):113-118.]
[7]JIN Juncai,TONG Weiqing,LIANG Xiaoni,et al.Accurate eye location in near-infrared images based on ellipse fitting [J].Journal of East China Normal University (Natural Science),2012,5 (3):103-110 (in Chinese).[金俊才,童衛(wèi)青,梁曉妮,等.基于橢圓擬合的近紅外圖像的眼睛精確定位法 [J].華東師范大學(xué)學(xué)報(bào):自然科學(xué)版,2012,5 (3):103-110.]
[8]Yan Bei,Gao Lifeng,Zhang Xigong.Research on feature points positioning in non-contact eye-gaze tracking system[C]//IEEE International Conference on Electronic Measurement &Instruments,2009:1042-1045.
[9]WANG Liang,DUAN Fuqing,LV Ke.Camera calibration with One-dimensional objects based on the heteroscedastic error-in-variables model[J].Acta Automatica Sinica,2014,40 (4):643-652(in Chinese).[王亮,段福慶,呂科.基于HEIV 模型的攝像機(jī)一維標(biāo)定[J].自動(dòng)化學(xué)報(bào),2014,40 (4):643-652.]
[10]Golub G,Loan C F V.Matrix calculus [M].Beijing:the People’s Posts and Telecommunications Press,2009:465-467(in Chinese).[戈盧布,范洛恩.矩陣計(jì)算 [M].北京:人民郵電出版社,2009:465-467.]