余 羅,劉洪英,,皮喜田,陳為民,許 帥,嚴(yán) 旭
1 重慶大學(xué)生物醫(yī)學(xué)工程學(xué)院,重慶市, 400030
2 重慶市醫(yī)療電子工程技術(shù)研究中心, 重慶市, 40003
3 昆明學(xué)院, 昆明市, 650021
基于橢圓擬合的瞳孔中心精確定位算法研究
【作 者】余 羅1,劉洪英1,2,皮喜田1,陳為民3,許 帥1,嚴(yán) 旭1
1 重慶大學(xué)生物醫(yī)學(xué)工程學(xué)院,重慶市, 400030
2 重慶市醫(yī)療電子工程技術(shù)研究中心, 重慶市, 40003
3 昆明學(xué)院, 昆明市, 650021
為了實現(xiàn)臨床上精準(zhǔn)視線跟蹤的要求,提出了一種基于最小二乘法橢圓擬合的孔中心定位算法。首先在紅外光源條件下,用攝像機(jī)捕獲人眼圖像,預(yù)處理后得到二值化圖像,并提取圖像輪廓,利用組成輪廓的像素點數(shù)100~300,對瞳孔進(jìn)行粗過濾。對得到的系列輪廓隨機(jī)選擇6個點進(jìn)行橢圓擬合,計算橢圓中心與邊緣距離的方差,方差最小的為瞳孔中心。算法具有對存在白斑干擾及半閉眼狀態(tài)時的瞳孔中心準(zhǔn)確識別的優(yōu)點。實驗表明,該算法能夠準(zhǔn)確地定位瞳孔中心,且滿足實時性要求。
視線跟蹤;瞳孔中心;定位算法;橢圓擬合
視線跟蹤技術(shù)[1]在醫(yī)學(xué)方面有著廣泛應(yīng)用,某些異常的眼動指標(biāo)已被作為精神分裂癥的生物標(biāo)志物[2-3],在LASIK手術(shù)中配備自動眼跟蹤系統(tǒng)將大大提高手術(shù)的切削精度[4-5]。目前,基于圖像處理的視線跟蹤技術(shù)是主要的發(fā)展趨勢,其中關(guān)鍵技術(shù)是對人眼瞳孔中心的識別。然而,由于瞳孔的形狀不是一個規(guī)則的圓且易受到眨眼、睫毛、眼瞼、角膜反射光斑等因素的干擾,增加了瞳孔中心檢測的難度。在實際應(yīng)用中,眼球的運(yùn)動也對瞳孔檢測的實時性提出了挑戰(zhàn)。
Wildes結(jié)合圓形Hough變換的方法實現(xiàn)了對瞳孔與虹膜的邊緣檢測[6],隨后又出現(xiàn)了Hough變換的改進(jìn)算法,提高了算法的速度與檢測精度,但瞳孔為非正圓時識別率較低[7]。陳健等[8]提出了結(jié)合橢圓與參數(shù)傳遞的瞳孔檢測方法,實現(xiàn)了動態(tài)和大遮擋情況下瞳孔中心的識別。盡管瞳孔檢測已經(jīng)取得不錯的研究成果,但針對不同的應(yīng)用,瞳孔檢測的精確性和實時性仍有待提高。
鑒于此,本文提出了一種基于最小二乘法橢圓擬合的瞳孔中心定位算法:首先二值化眼睛圖像并提取瞳孔輪廓,然后設(shè)定輪廓點數(shù)閾值為100~300,對瞳孔進(jìn)行粗過濾,最后用最小二乘法橢圓擬合瞳孔輪廓并計算中心與邊緣距離的方差,方差最小輪廓中心確定為瞳孔中心。實驗結(jié)果表明該算法有較高的精度且滿足實時性的要求。
在二維平面坐標(biāo)系中,橢圓一般可用圓錐曲線方程或平面坐標(biāo)系的幾何參數(shù)表示。橢圓方程的代數(shù)形式見式(1),計算出5個未知數(shù),即可確定該方程。
幾何參數(shù)形式的的橢圓表示法涉及橢圓中心位置(xc, yc),長軸和短軸(a, b),長軸的轉(zhuǎn)角θ等參數(shù),兩種形式的參數(shù)可用式(2)~(6)相互轉(zhuǎn)換。
最小二乘法橢圓擬合是較常用的橢圓擬合方法,是由最大似然法推出的一個最優(yōu)估計技術(shù),它可使測量誤差的平方和最小。最小二乘技術(shù)主要是尋找參數(shù)集合,從而最小化數(shù)據(jù)點與橢圓之間的距離度量。在求解橢圓方程(1)的過程中,為了避免出現(xiàn)零根,需要對參數(shù)做出限制,可設(shè)A+C=1。那么直接應(yīng)用上述方程對邊緣檢測后的點進(jìn)行最小二乘處理,就可以得到方程中的各個系數(shù)。即求目標(biāo)函數(shù):
的最小值來確定各系數(shù)。如使f(A, B, C, D, E)的值為最小,由極值原理有:
由此可得一個線性方成組,然后應(yīng)用全主元高斯消去法,結(jié)合約束條件,即可求出橢圓方程系數(shù)的值。
2.1 圖像獲取及灰度化
利用紅外攝像機(jī)獲取得到的RGB眼圖中,顏色較深且近似為橢圓的部分為瞳孔,瞳孔與虹膜的邊界清晰可見。RGB圖占據(jù)的存儲空間大小是灰度化后的3倍,且無法按照數(shù)學(xué)方法進(jìn)行一些必要的處理(比如邊緣檢測或者二值化),故需將RGB模型轉(zhuǎn)化為灰度值。常用的灰度化原理有RGB分量法、HSL分量法和HSV分量法等。本文采用的是RGB分量法,即將RGB通過不同的權(quán)值加權(quán)平均,可取得較好的圖像灰度化結(jié)果。比如opencv函數(shù)庫所采用的灰度權(quán)值如下:
2.2 圖像去噪
圖像在拍攝的過程中,會不同程度地引入機(jī)械噪聲、電子噪聲和光學(xué)噪聲等,其中光學(xué)噪聲占較大比重。因此采用高斯濾波法對獲取的眼圖進(jìn)行去噪處理。高斯濾波是對圖像進(jìn)行加權(quán)平均的一種線性平滑濾波,通常用一個模板掃描圖像中的每一個像素,用模板確定的領(lǐng)域內(nèi)像素的加權(quán)平均灰度值替代模板中心像素點的值。實際應(yīng)用中模板大小的取值與σ的取值相關(guān),如opencv中模板取值為:dim=1+2×(int(3.0×σ))。
2.3 圖像二值化
為了提取瞳孔輪廓,需要將圖像二值化,從而進(jìn)一步識別瞳孔中心。其基本原理就是根據(jù)設(shè)定的閾值將目標(biāo)圖像上的像素點的灰度值置為0或255。如果某目標(biāo)物體內(nèi)部灰度值分布均勻,并且其處于其它等級灰度值均勻分布的背景下,采用閾值分割法就可以獲得滿意的分割效果。在圖像處理過程中一般采用局部自適應(yīng)閾值法,其基本原理是根據(jù)像素的相鄰區(qū)域的像素值來判定該像素位置上的閾值。本文選擇自適應(yīng)閾值分割方法。其好處在于使每個像素位置處的二值化閾值都是根據(jù)其周圍的相鄰區(qū)域的像素值來決定,便于選取合適的閾值進(jìn)行圖像二值化分割。
2.4 瞳孔中心定位
眼圖預(yù)處理后得到二值化圖像,然后提取輪廓[9-10],得到輪廓序列。但是在圖像上找到的輪廓數(shù)目會有多個存在,如果要找到瞳孔輪廓就必須設(shè)置合適的過濾指標(biāo)。在有效距離范圍內(nèi),當(dāng)眼睛與紅外攝像機(jī)距離不同時,拍攝的眼圖瞳孔輪廓大小隨之變化。實驗中經(jīng)過對多張不同距離生成的眼睛圖像瞳孔輪廓分析可知,組成瞳孔輪廓的像素點在100~300,可利用該指標(biāo)對瞳孔輪廓進(jìn)行粗過濾。
但是當(dāng)圖像質(zhì)量較差時,獲得的二值化圖像不可避免有較多噪聲,經(jīng)瞳孔輪廓像素點數(shù)范圍指標(biāo)過濾后,得到的輪廓往往不止一個。通過對求取瞳孔中心坐標(biāo)失敗的圖像分析可知,當(dāng)某一區(qū)域噪聲較多時,求取輪廓的函數(shù)會把它們作為一個大的輪廓,而不是分為幾個較小的輪廓。但與近似橢圓的瞳孔的輪廓相比,它們的輪廓極不規(guī)則。因此對上一步求取到的輪廓用最小二乘法擬合得到橢圓。由式(2)可知,必須由不少于5個點的坐標(biāo)才能求出參數(shù)(A, B, C, D, E, F)的值,但實際中往往需要6個點才能得到一個橢圓。因此將提取出輪廓特征點中任意6個點的坐標(biāo),代入式(2),求得5個參數(shù)值,然后擬合出橢圓輪廓,求出其中心。按照以上方法統(tǒng)計出所有的輪廓的中心,然后計算出中心點到輪廓邊緣距離的方差,方差最小的輪廓,作為瞳孔的輪廓,相應(yīng)橢圓的中心就作為瞳孔的中心。算法的具體步驟如下:
步驟1:采集眼睛圖像并預(yù)處理;
步驟2:求取圖像的輪廓;
步驟3:判斷輪廓點的數(shù)目,如果數(shù)目N在100到300之間,保存輪廓到容器中;
步驟4:檢查容器中輪廓的數(shù)量,如果數(shù)量Num為0,說明采集到的圖像不符合要求,則返回至步驟1;如果Num等于1,則利用最二乘法橢圓擬合輪廓,并把橢圓中心作為瞳孔中心,算法結(jié)束;如果Num大于1,轉(zhuǎn)步驟5;
步驟5:在所得的每個輪廓中,隨機(jī)選擇6個點,分別進(jìn)行最小二乘法橢圓擬合,并計算所得到的橢圓中心與輪廓邊緣各點的距離方差,把方差最小的輪廓作為瞳孔的輪廓,相應(yīng)的橢圓中心作為瞳孔中心,算法結(jié)束。算法流程圖如圖1所示。
圖1 瞳孔定位算法流程圖Fig.1 The fl ow chart of pupil localization algorithm
瞳孔中心識別算法在以VC++6.0為平臺的Intel(R) Core(TM) i5-4590 3.3 GHz 8 GB內(nèi)存的PC機(jī)上編程實現(xiàn)。紅外攝像頭采樣率為30 幀/s,圖像大小1 600× 1 200(像素),實驗在光線較暗的環(huán)境中,實驗過程保持頭部靜止。眼睛完全張開時的瞳孔中心識別效果如圖2所示(瞳孔中心用紅色十字架標(biāo)識)。圖2(a)中的右上部分存在大面積的白色光斑,但由于瞳孔的像素值和白斑的像素值差別很大,通過算法的甄別,白色光斑不會對瞳孔中心定位造成影響。
圖2 眼睛完全張開瞳孔中心識別Fig.2 Pupil center recognition in eyes wide open state
當(dāng)眼睛半閉合時,瞳孔中心定位效果如圖3所示。此時選取的圖像雖然眼睛處于半閉狀態(tài),但仍能清晰地分辨出部分瞳孔,設(shè)計的算法仍可以完成瞳孔中心的定位,具有較強(qiáng)的抗干擾能力。
圖3 眼睛半閉合瞳孔中心識別Fig.3 Pupil center recognition in eyes half closed state
表1是用手動標(biāo)注和算法識別(對同一幀圖像多次識別,數(shù)據(jù)取平均值)兩種方式獲取的圖2(a)眼睛完全張開和圖3半閉合狀態(tài)時的瞳孔坐標(biāo)數(shù)據(jù)。結(jié)果表明,算法識別所得到的坐標(biāo)數(shù)據(jù)與手動標(biāo)注得到的數(shù)據(jù)高度一致,該算法能夠準(zhǔn)確識別瞳孔中心。
表1 手動標(biāo)注與算法識別精度比較Tab.1 Precision comparison between manual annotation and algorithmic recognition
此外,每幀圖像的算法平均運(yùn)行時間約為10.2 ms,能夠滿足實時系統(tǒng)的要求。在視線追蹤過程中,視線方向是變化的,因此為了驗證眼睛視線在不同方向時算法識別瞳孔中心的精度,設(shè)計了如圖4所示不同方向的注視點圖,其范圍為1 280×720像素。對同一被試者,實驗過程中每個注視點保持眼睛凝視不動,以確保瞳孔在圖像中的相對坐標(biāo)不變。每個注視點選取100幀圖像數(shù)據(jù)進(jìn)行統(tǒng)計分析。圖5為注視中心點C時,100次識別得到的瞳孔中心坐標(biāo)數(shù)據(jù),橫坐標(biāo)在360.4到361.8之間變化,最大值與最小值之間的變化不大于1.4個像素,縱坐標(biāo)在349.5到351.2之間變化,最大值與最小值之間的變化不大于1.7個像素。
圖4 注視點位置坐標(biāo)Fig.4 Position coordinates of fi xation point
圖5 100幀眼圖瞳孔中心算法識別Fig.5 100 frame pupil center algorithm recognition
然后分別統(tǒng)計注視A、B、C、D、E點時瞳孔中心橫坐標(biāo)和縱坐標(biāo)的平均誤差和均方差,如圖6和圖7所示。實驗表明,算法識別的瞳孔中心橫坐標(biāo)的平均誤差不超過0.4像素,均方差不超過0.7像素;縱坐標(biāo)平均誤差不超過0.6像素,均方差不超過0.8像素。
圖6 橫坐標(biāo)平均誤差和均方差Fig.6 The average error and mean standard deviation of the horizontal coordinate
圖7 縱坐標(biāo)平均誤差和均方差Fig.7 The average error and mean standard deviation of the vertical coordinate
實驗證明本文提出方法的有效性,能夠滿足視線追蹤所要求的瞳孔中心快速準(zhǔn)確定位[11]。首先,本方法對圖像的質(zhì)量要求不高,對光照情況下瞳孔內(nèi)出現(xiàn)白斑的情況不影響對瞳孔中心的識別;其次,對眼睛半閉合而瞳孔無法完全顯現(xiàn)時的情況,本文提出的方法仍能精確定位瞳孔中心。然而本文提出的方法還有改進(jìn)之處,由于算法是對整個眼圖進(jìn)行處理,增加了檢測的時間,因此可進(jìn)一步結(jié)合下采樣與近似下采樣方案[12]縮小待處理的原始圖像,或者利用改進(jìn)的閾值法在圖像上選擇一個包括全部瞳孔的區(qū)域作為感興趣的圖像[13],用于后續(xù)的處理,從而進(jìn)一步提高算法檢測速度。另一方面,獲取更高質(zhì)量的眼圖以減小噪聲,從而減少偽輪廓的獲取,提高檢測精度和算法運(yùn)行時間。瞳孔中心的準(zhǔn)確識別能夠為后續(xù)眼動儀的研制奠定良好的基礎(chǔ),有利于促進(jìn)眼動分析在臨床中的應(yīng)用[14-15]。
[1] 溫晴川, 達(dá)飛鵬, 方旭. 基于雙目立體視覺的視線跟蹤系統(tǒng)標(biāo)定[J]. 光學(xué)學(xué)報, 2012(10): 152-162.
[2] Franco J G, De P J, Gaviria A M, et al. Smooth pursuit eye movements and schizophrenia: literature review[J]. Arch Soc Esp Oftalmol, 2014, 89(9): 361-367.
[3] Delerue C, Hayhoe M, Boucart M. Eye movements during natural actions in patients with schizophrenia[J]. J psychiatry neurosci, 2013, 38(3): 317-324.
[4] Lazon D L J P. Visual and non-visual factors associated with patient satisfaction and quality of life in LASIK[J]. Eye, 2011, 25(9): 1194-1201.
[5] Yong H K, Kang S Y, Jin Y C, et al. Laser refractive surgery using an active eye-tracking system in congenital nystagmus[J]. J Korean Ophthalmol Soc, 2015, 56(12): 1991-1996.
[6] Ganorkar S R, Ghatol A A. Iris recognition: an emerging biometric technology[C]. P IEEE, 2007: 1348-1363.
[7] 付琰, 盧榮勝, 夏瑞雪, 等. 基于重要性采樣的隨機(jī)Hough變換圓檢測算法[J]. 電子測量技術(shù), 2012, 35(5): 45-48.
[8] 陳健, 鄭紹華, 潘林, 等. 結(jié)合橢圓擬合與參數(shù)傳遞的瞳孔檢測方法[J]. 儀器儀表學(xué)報, 2014 (8): 1890-1899.
[9] 田野, 王懷軍, 方志良. 基于形態(tài)學(xué)重構(gòu)算法的瞳孔精確檢測[J].光電子·激光, 2008, 19(3): 409-411.
[10] 苑瑋琦, 林忠華, 徐露. 一種快速而準(zhǔn)確的虹膜定位算法[J]. 光電子·激光, 2007, 18(6): 729-733.
[11] Dong W H, Liao H, Fang X U, et al. Using eye tracking to evaluate the usability of animated maps[J]. Sci China Earth Sci, 2014, 57(3): 512-522.
[12] 邱勇. 人眼虹膜圖像檢測與提取方法[J]. 計算機(jī)仿真, 2011, 28(11): 250-254.
[13] 潘林, 魏麗芳, 鄭炳錕, 等. 改進(jìn)的遮擋條件下瞳孔檢測方法[J].中國圖象圖形學(xué)報, 2012, 17(2) : 76-82.
[14] Pierce K, Marinero S, Hazin R, et al. Eye tracking reveals abnormal visual preference for geometric images as an early biomarker of an autism spectrum disorder subtype associated with increased symptom severity[J]. Biol Psychiatry, 2015, 15(8): 657-666.
[15] Chita-Tegmark M. Attention allocation in ASD: a review and metaanalysis of eye-tracking studies[J]. Res Dev Disabil, 2016, 48: 1-15.
Research on Exact Location Algorithm of Pupil Center Based on Ellipse Fitting
【Key words 】YU Luo1, LIU Hongying1,2, PI Xitian1, CHEN Weiming3, XU Shuai1, YAN Xu1
1 School of Biomedical Engineering, Chongqing University, Chongqing, 400030
2 Key Laboratories for National Defense Science and Technology of Innovative Micro-Nano Devices and System Technology, Chongqing University, Chongqing, 400030
3 Kunming University, Kunming, 650214
eye-tracking, pupil center, location algorithm, ellipse fi tting
TP391
A
10.3969/j.issn.1671-7104.2017.03.004
1671-7104(2017)03-0170-05
2016-11-03
國家科技支撐計劃項目(2013BAI03B04;2015BAI01B14)
劉洪英,副教授,E-mail: liuhongying@cqu.edu.cn
【 Abstract 】In order to realize the requirement of precise eye tracking in clinical, a pupil center location algorithm based on the least square method is proposed. First, the eye image was captured by the camera under the infrared light, and then the two-valued image was obtained after preprocessing. Use the number of pixels that form the outline which was Extracting from the two-valued image to carry out the rough fi ltration of the pupil. The ellipse curve was fi tting by the randomly select 6 pixels on the fi ltered contours, and then calculated the variance of distance between the center and the edge of the ellipse. The ellipse center is ellipse center, where the variance of the distance is Minimum. The algorithm has advantage of accurate identi fi cation the pupil center when there is white spot interference and squint. Experiments show that the pupil center can be located quickly and real-timely by this algorithm.