顧可可,付威威,董月芳,許 一,陳文建
?
基于改進(jìn)輪廓跟蹤的瞳孔快速檢測(cè)
顧可可1,付威威2,董月芳2,許 一1,陳文建1
(1. 南京理工大學(xué) 電子工程與光電技術(shù)學(xué)院,江蘇 南京 210094;2. 中國(guó)科學(xué)院蘇州生物醫(yī)學(xué)工程技術(shù)研究所 影像室,江蘇 蘇州 215163)
提出一種基于直方圖二值化和改進(jìn)的輪廓跟蹤的瞳孔檢測(cè)方法。首先對(duì)采集的瞳孔圖像計(jì)算直方圖,根據(jù)直方圖特征取出合適的閾值進(jìn)行二值化,再對(duì)二值化后的圖像進(jìn)行輪廓跟蹤,得到精確的輪廓邊界,進(jìn)而得到直徑、中心等信息。對(duì)前一幀瞳孔圖像進(jìn)行瞳孔信息計(jì)算后,后一幀圖像以該瞳孔中心為中心,縮小檢測(cè)區(qū)域進(jìn)行直方圖二值化及瞳孔輪廓跟蹤,得到該幀圖像的瞳孔信息,減少運(yùn)算,加快檢測(cè)速率。該算法魯棒性高,速度快,可滿足300幀/s的實(shí)時(shí)檢測(cè)速度。
直方圖二值化;輪廓跟蹤;瞳孔實(shí)時(shí)檢測(cè)
眼睛是人類(lèi)感知外界信息最重要的感覺(jué)器官,而在人眼視覺(jué)功能中,瞳孔由于其特殊的感光性具有重要的學(xué)術(shù)和臨床研究?jī)r(jià)值。光線射眼時(shí)會(huì)引起瞳孔直接或間接縮小,稱光反射。雙目瞳孔對(duì)光反射設(shè)備作為神經(jīng)系統(tǒng)功能的客觀檢測(cè)指標(biāo),被廣泛用于青光眼、顱腦損傷、中風(fēng)、視神經(jīng)病變等神經(jīng)系統(tǒng)常見(jiàn)疾病的早期病變發(fā)現(xiàn)、診斷鑒別及術(shù)后狀態(tài)監(jiān)測(cè)評(píng)估。但目前臨床上主要采用手動(dòng)檢查方法,僅能對(duì)癥狀明顯患者給出陽(yáng)性診斷,對(duì)于輕微癥狀往往會(huì)漏診,導(dǎo)致錯(cuò)過(guò)治療時(shí)機(jī)。如能對(duì)以上指標(biāo)進(jìn)行客觀定量檢測(cè),則可在疾病早期和術(shù)后監(jiān)護(hù)期發(fā)現(xiàn)其微小變化并及時(shí)治療,將可挽救患者更多的生理功能。實(shí)時(shí)瞳孔檢測(cè)與跟蹤技術(shù)是計(jì)算機(jī)視覺(jué)領(lǐng)域一個(gè)重要的研究課題,在醫(yī)療衛(wèi)生、交通安全、公共安全保障、軍事、刑偵等領(lǐng)域有巨大的潛在的應(yīng)用價(jià)值。
瞳孔檢測(cè)作為虹膜識(shí)別檢測(cè)的一部分,目前常用的定位方法有Wildes提出的圖像二值化并結(jié)合Hough變換[1]和Daugman的圓形檢測(cè)算子[2]。Daugman提出的微積分算法具有高的準(zhǔn)確性和魯棒性,但由于盲目搜索,檢測(cè)時(shí)間長(zhǎng),造成計(jì)算上的浪費(fèi)。Wildes的算法在定位速度上有所改進(jìn),但同樣存在計(jì)算時(shí)間長(zhǎng)的問(wèn)題。隨后為了提高Hough變換的速度與精度,學(xué)者們又提出了Hough變換的改進(jìn)算法,如點(diǎn)Hough變換[3-4]。這兩種方法都是基于圓檢測(cè),為了彌補(bǔ)瞳孔不是圓形時(shí)的誤差,一些學(xué)者使用最小二乘法擬合橢圓進(jìn)行瞳孔檢測(cè),但同樣對(duì)于一些因疾病導(dǎo)致的不規(guī)則瞳孔的檢測(cè)存在較大誤差。而用形態(tài)學(xué)重構(gòu)瞳孔圖像[5],區(qū)域生長(zhǎng)等方法進(jìn)行瞳孔檢測(cè)能減小不規(guī)則瞳孔的檢測(cè)誤差,但檢測(cè)速度卻受到限制。
本文側(cè)重于雙目瞳孔參數(shù)實(shí)時(shí)檢測(cè),根據(jù)直方圖尋找閾值二值化,再對(duì)瞳孔輪廓追蹤,最后計(jì)算瞳孔參數(shù)。輪廓追蹤不用考慮瞳孔的形狀,對(duì)不規(guī)則瞳孔同樣適用[6-7]。實(shí)驗(yàn)證明,該算法可滿足300幀/s的實(shí)時(shí)性要求。
瞳孔檢測(cè)一般采用紅外光照明。紅外光照明時(shí),瞳孔與虹膜的邊緣很清楚,能突出瞳孔部分。圖1為850nm紅外光照明下采集的雙目初始圖像。方框部分為雙目瞳孔檢測(cè)的初始區(qū)域,各為450×275像素,圖像采集時(shí)只要將瞳孔落在方框區(qū)域內(nèi)即可。
圖1 雙目圖像
瞳孔檢測(cè)流程圖如圖2所示。對(duì)于采集的第一幅圖像在圖1所示方框的范圍內(nèi)二值化、輪廓追蹤,進(jìn)而得出瞳孔中心、直徑等信息。根據(jù)中心位置對(duì)此后的圖像進(jìn)一步縮小查找范圍,加快檢測(cè)速度。
圖2 瞳孔檢測(cè)過(guò)程
Fig.2 Pupil detection process
在瞳孔檢測(cè)中,二值化的目的在于將瞳孔圖像分為瞳孔和背景兩部分,其關(guān)鍵在于尋找合適的閾值[8]。二值化是圖像處理中比較常見(jiàn)的處理方式,因此發(fā)展至今也產(chǎn)生了各種二值化方法,常見(jiàn)的方法有最大類(lèi)間方差法(OSTU),迭代閾值法,P分位法,基于最小誤差的全局閾值法等。對(duì)于瞳孔圖像,這些方法都不能較好地分割出瞳孔部分。根據(jù)瞳孔圖像的特點(diǎn),采用基于直方圖的二值化方法尋找合適的閾值。
由圖1可看出,瞳孔紅外圖像中瞳孔部分與其他部分相比,灰度值明顯較低。在直方圖中為第一個(gè)峰值所在位置,如圖3所示。紅外光照明下的瞳孔圖像直方圖基本類(lèi)似。本文處理中,在灰度值1~50間求得峰值,為瞳孔位置,再在灰度值61~120間求得峰值,為背景部分,以兩峰值間的波谷,即直方圖中瞳孔位置右側(cè)出現(xiàn)的第一個(gè)谷底作為閾值對(duì)瞳孔圖像進(jìn)行二值化操作,二值化后的結(jié)果如圖4所示。
圖3 單眼瞳孔圖像及直方圖
圖4 瞳孔圖像二值圖
由于光源亮點(diǎn)落在瞳孔內(nèi)部,瞳孔輪廓跟蹤不會(huì)影響瞳孔的完整性,從而對(duì)瞳孔面積、中心及直徑的計(jì)算造成影響。對(duì)二值化后的瞳孔圖像進(jìn)行輪廓跟蹤,得到瞳孔的輪廓存儲(chǔ)在數(shù)組中,最后計(jì)算瞳孔的中心和直徑。本文所講的左右眼均指圖像中的左右眼。輪廓跟蹤過(guò)程如下:
1)確定輪廓起點(diǎn)。一般的輪廓跟蹤習(xí)慣從圖像左上方開(kāi)始,逐行逐列尋找第一個(gè)前景點(diǎn)作為輪廓的起始點(diǎn)。但在瞳孔檢測(cè)的應(yīng)用中,如圖5所示,瞳孔圖像二值化操作時(shí)眼尾處的睫毛灰度值與瞳孔較為接近,眼頭處也會(huì)剩下少量睫毛噪點(diǎn)。對(duì)于不同環(huán)境下采集的瞳孔圖像,瞳孔下方也可能會(huì)出現(xiàn)少量陰影。在輪廓追蹤過(guò)程中為避開(kāi)非瞳孔區(qū)域,左邊瞳孔選擇從右上角開(kāi)始搜索,從上到下,從右到左搜索黑點(diǎn);右邊瞳孔選擇從左上角開(kāi)始搜索,從上到下,從左到右搜索黑點(diǎn),從而避開(kāi)眼尾處稍大塊睫毛的影響。
圖5 左右眼瞳孔圖像二值圖(閾值58)
同時(shí),為了避免眼頭處少量睫毛噪點(diǎn)以及二值化后的圖像中其他孤立噪點(diǎn)對(duì)輪廓起點(diǎn)判斷的影響,每找到一個(gè)黑點(diǎn),即對(duì)其八鄰域進(jìn)行搜索,若此黑點(diǎn)的八鄰域中的黑點(diǎn)數(shù)大于3,則認(rèn)為其不是孤立噪點(diǎn),即為瞳孔邊界的起始點(diǎn)。圖像某像素點(diǎn)的8鄰域如圖6所示,點(diǎn)P為當(dāng)前點(diǎn),P0~P7為當(dāng)前點(diǎn)的8鄰域。
P5P4P3 P6PP2 P7P0P1
2)輪廓跟蹤。如圖7所示,從輪廓起點(diǎn)的八鄰域開(kāi)始尋找,每找到下一個(gè)輪廓點(diǎn),就將新的輪廓點(diǎn)作為當(dāng)前點(diǎn),順序?qū)ふ?,直至第二次搜索到起始輪廓點(diǎn),跟蹤結(jié)束。將所有的輪廓點(diǎn)存儲(chǔ)在輪廓數(shù)組中。由于瞳孔區(qū)域?yàn)橐粋€(gè)完整聚集的區(qū)域,輪廓跟蹤不需要考慮斷點(diǎn)、八鄰接等特殊情況,尋找輪廓點(diǎn)的原理可采用摩爾鄰域跟蹤算法[9]。每找到一個(gè)黑色像素,就將其作為當(dāng)前點(diǎn),返回前一個(gè)白色像素,以順時(shí)針?lè)较蛩阉鳟?dāng)前點(diǎn)的8鄰域,直到找到下一個(gè)黑色像素,重復(fù)過(guò)程。
圖7 輪廓跟蹤過(guò)程
3)稍大塊睫毛噪點(diǎn)的去除。由于二值化后的瞳孔圖像有少量睫毛噪點(diǎn)位于瞳孔上方,雖然尋找第一個(gè)邊界像素時(shí)已經(jīng)跳過(guò)了孤立噪點(diǎn),但是輪廓跟蹤的第一個(gè)邊界還可能是稍大塊的睫毛區(qū)域。因此計(jì)算輪廓區(qū)域的面積,如果輪廓區(qū)域面積像素?cái)?shù)小于一定數(shù)值,則認(rèn)為不是瞳孔,繼續(xù)尋找新的輪廓,直到找到瞳孔輪廓為止。本文中取該面積像素?cái)?shù)的限定值為1300。圖8為單幅圖像輪廓跟蹤流程圖。對(duì)二值化后的瞳孔圖像進(jìn)行輪廓跟蹤,得到瞳孔的輪廓存儲(chǔ)在數(shù)組中,最后計(jì)算瞳孔的中心和直徑。
圖8 輪廓跟蹤流程圖
Fig.8 Flow chart of contour tracking
根據(jù)輪廓跟蹤得到的輪廓數(shù)組,對(duì)瞳孔輪廓包圍的像素點(diǎn)進(jìn)行統(tǒng)計(jì),即為瞳孔像素面積。再根據(jù)圓的面積公式計(jì)算得出瞳孔半徑。瞳孔的中心由重心公式計(jì)算得出:
瞳孔在人眼中只占一部分,在定位的過(guò)程中,若是根據(jù)先驗(yàn)知識(shí)得到瞳孔的大致位置,就可以縮小查找范圍,進(jìn)一步提高檢測(cè)速率。很多瞳孔檢測(cè)會(huì)采用灰度投影法[10]對(duì)瞳孔進(jìn)行粗定位,但對(duì)本文采集的瞳孔圖像,人臉兩側(cè)的黑色背景部分會(huì)對(duì)灰度投影法粗定位造成影響。
圖9 瞳孔圖像信息計(jì)算結(jié)果
根據(jù)圖像采集過(guò)程中瞳孔不會(huì)隨意晃動(dòng),相鄰兩幀的瞳孔位置基本一致,對(duì)前一幀瞳孔圖像進(jìn)行瞳孔信息計(jì)算后,后一幀圖像以該瞳孔中心為中心,截出比瞳孔上下左右邊界稍大的方形區(qū)域,例如比瞳孔上下左右邊界擴(kuò)大10個(gè)像素,如圖10所示,對(duì)該縮小的區(qū)域進(jìn)行直方圖二值化及瞳孔輪廓跟蹤,得到該幀圖像的瞳孔信息。再以此瞳孔中心為依據(jù)對(duì)下一幀圖像進(jìn)行重復(fù)操作,直至完成所有圖像的信息統(tǒng)計(jì)。查找范圍的縮小可大大減少運(yùn)算量,加快檢測(cè)速率。
圖10 縮小查找范圍后的瞳孔圖像二值圖
為了適應(yīng)不同環(huán)境下的檢測(cè)需要,防止環(huán)境亮度變化對(duì)瞳孔圖像二值化的影響,對(duì)每一幀圖像都分別計(jì)算左右眼的二值化閾值。但對(duì)于第二幀及以后的瞳孔圖像,可在縮小查找范圍的區(qū)域內(nèi)進(jìn)行二值化閾值計(jì)算。瞳孔圖像范圍的減小可以減少運(yùn)算,加快檢測(cè)速率。
為驗(yàn)證本文算法的有效性和實(shí)時(shí)性,對(duì)雙目瞳孔檢測(cè)儀連續(xù)采集的600幀圖像進(jìn)行處理。采集到的紅外瞳孔圖像尺寸1920×400像素,8位灰度。實(shí)驗(yàn)環(huán)境在CPU為i5,內(nèi)存4GB,64位操作系統(tǒng)的硬件環(huán)境,VS2008和QT4.7.4的軟件環(huán)境下進(jìn)行。
對(duì)傳統(tǒng)Hough變換、文獻(xiàn)[3]的點(diǎn)Hough變換、文獻(xiàn)[11]的區(qū)域生長(zhǎng)方法及本文算法進(jìn)行對(duì)比。表1為4種方法的定位結(jié)果??梢钥闯?,幾種方法所得瞳孔中心和直徑值基本一致,證明本文算法能滿足準(zhǔn)確性的要求。且有些情況下由于瞳孔不完全是正圓,此時(shí)對(duì)于瞳孔面積的計(jì)算,本文算法比兩種Hough變換定位的瞳孔區(qū)域更準(zhǔn)確。
表1 算法有效性比較
對(duì)連續(xù)采集的多幅圖像進(jìn)行處理,由于傳統(tǒng)Hough變換和點(diǎn)Hough變換求得的直徑都是統(tǒng)計(jì)結(jié)果,因此其波動(dòng)較大。圖11為瞳孔受閃光刺激過(guò)程中點(diǎn)Hough變換和本文算法的雙目瞳孔直徑的變化,紅色實(shí)線為圖像中的左眼,藍(lán)色虛線為圖像中的右眼。本文算法瞳孔直徑值變化趨勢(shì)較為平滑,存在一定的優(yōu)勢(shì)。
圖11 雙目瞳孔直徑統(tǒng)計(jì)圖
對(duì)4個(gè)算法運(yùn)行時(shí)間分別進(jìn)行統(tǒng)計(jì),區(qū)域生長(zhǎng)方法由于使用了膨脹腐蝕等預(yù)處理,時(shí)間較長(zhǎng);傳統(tǒng)Hough變換計(jì)算量大,時(shí)間最長(zhǎng);點(diǎn)Hough變換在傳統(tǒng)Hough變換上進(jìn)行了改進(jìn),運(yùn)算時(shí)間大大縮小;本文算法時(shí)間比點(diǎn)Hough變換更短,檢測(cè)圖像越多,優(yōu)勢(shì)越明顯,如表2所示。結(jié)果證明,本文算法速度能滿足300幀/s的圖像采集速度,實(shí)現(xiàn)實(shí)時(shí)檢測(cè)的要求。
表2 算法效率比較
本文提出一種基于直方圖二值化和改進(jìn)輪廓跟蹤的瞳孔檢測(cè)方法準(zhǔn)確計(jì)算瞳孔面積,定位雙目瞳孔中心。算法實(shí)現(xiàn)過(guò)程中,根據(jù)初始圖像縮小算法處理范圍,進(jìn)行二值化及輪廓跟蹤處理,在準(zhǔn)確定位瞳孔中心的基礎(chǔ)上加快瞳孔檢測(cè)的圖像處理速度,最終滿足300幀/s的檢測(cè)速度。
[1] RICHARD P WILDES. Iris recognition: an emerging biometric technology[J]., 1997, 85(9): 1348-1363.
[2] JOHN G DAUGMAN. High confidence visual recognition of persons by a test of statistical independence[J]., 1993, 15(11): 1148-1161.
[3] 王長(zhǎng)元, 張景, 李京京. 瞳孔中心快速定位方法研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2011, 47(24): 196-198.
WANG C Y, ZHANG J, LI J J. Research on algorithm for pupil-center rapid localization[J]. C, 2011, 47(24): 196-198.
[4] 林金龍, 石青云. 用點(diǎn)Hough變換實(shí)現(xiàn)圓檢測(cè)的方法[J]. 計(jì)算機(jī)工程, 2003, 29(11): 17-18, 160.
LIN J L, SHI Q Y. Circle recognition through a point Hough transformation[J]., 2003, 29(11): 17-18, 160.
[5] 田野, 王懷軍, 方志良. 基于形態(tài)學(xué)重構(gòu)算法的瞳孔精確檢測(cè)[J]. 光電子×激光, 2008, 19(3): 409-411.
TIAN Y, WANG H J, FANG Z L. The pupil diameter precise measurement based on morphological reconstruction algorithm[J].×, 2008, 19(3): 409-411.
[6] 呂云飛. 一種目標(biāo)邊界跟蹤算法[D]. 大連: 大連海事大學(xué), 2014.
LV Y F. An Object Boundary Following Algorithm[D]. Dalian: Dalian Maritime University, 2014: 10-12.
[7] 吳建華, 鄒德旋, 李靜輝. 基于小范圍搜索的虹膜定位方法[J]. 儀器儀表學(xué)報(bào), 2008, 29(8): 1704-1708.
WU J H, ZOU D X, LI J H. Iris location algorithm based on small-scale searching[J]., 2008, 29(8): 1704-1708.
[8] 羅玉皓, 鄒遠(yuǎn)文, 夏勛. 運(yùn)用OpenCV實(shí)現(xiàn)紅外圖像的瞳孔參數(shù)實(shí)時(shí)檢測(cè)[J]. 計(jì)算機(jī)與現(xiàn)代化, 2013, 6: 71-75.
LUO Y H, ZOU Y W, XIA X. Real-time pupil parameter detection for infrared image using OpenCV[J]., 2013, 6: 71-75.
[9] 毛順兵. Hough 變換和輪廓匹配相結(jié)合的瞳孔精確檢測(cè)算法[J]. 計(jì)算機(jī)應(yīng)用, 2016, 36(5): 1415-1420.
MAO S B. Exact pupil detection algorithm combining Hough transformation and contour matching [J]., 2016, 36(5): 1415-1420.
[10] 穆克智, 史儀凱. 幾種閾值分割方法在瞳孔檢測(cè)中的應(yīng)用研究[J]. 北京生物醫(yī)學(xué)工程, 2005, 24(6): 443-445.
MU K Z, SHI Y K. Applying research of the threshold methods in pupil detection[J]., 2005, 24(6): 443-445.
[11] 劉元寧, 胡宗星, 朱曉冬, 等. 基于輪廓跟蹤的虹膜定位算法[J]. 吉林大學(xué)學(xué)報(bào): 理學(xué)版, 2011, 49(2): 273-278.
LIU Y N, HU Z X, ZHU X D, et al. Iris localization algorithm based on contour following[J].: Science Edition, 2011, 49(2) : 273-278.
Rapid Pupil Detection Based on Improved Contour Tracking
GU Keke1,F(xiàn)U Weiwei2,DONG Yuefang2,XU Yi1,CHEN Wenjian1
(1.School of Electronic and Optical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China; 2.Suzhou Institute of Biomedical Engineering and Technology,Chinese Academy of Sciences,Suzhou Jiangsu 215163,China)
This paper presents a new pupil detection method based on histogram binarization and improved contour tracking. Firstly, the pupil image histogram is calculated to get the suitable threshold for binarization. Then contour track is used to get the precise contour. Finally the information such as diameter and the center of the pupil is attained. According to the pupil information of the previous frame, the detection region for histogram binarization is narrowed and improved contour tracking is used to get the pupil information of the next frames. These methods will reduce the amount of computation and speed up the detection rate. The algorithm is robust, fast, and can meet the real-time detection speed of 300 frames per second.
histogram binarization,contour tracking,real-time pupil detection
TP391.4
A
1001-8891(2017)06-0574-05
2016-08-06;
2016-08-19.
顧可可(1993-),女,江蘇南通人,碩士研究生,主要研究方向?yàn)閳D像處理。E-mail:gukeker@163.com。
陳文建(1965-),男,江蘇如皋人,博士,教授,主要研究方向:光通信與光纖應(yīng)用技術(shù)、光學(xué)系統(tǒng)設(shè)計(jì)與光電儀器。
2016年江蘇省重點(diǎn)研發(fā)計(jì)劃(社會(huì)發(fā)展)項(xiàng)目(SBE2016740249)。