顧可可,付威威,董月芳,許 一,陳文建
?
基于改進輪廓跟蹤的瞳孔快速檢測
顧可可1,付威威2,董月芳2,許 一1,陳文建1
(1. 南京理工大學 電子工程與光電技術學院,江蘇 南京 210094;2. 中國科學院蘇州生物醫(yī)學工程技術研究所 影像室,江蘇 蘇州 215163)
提出一種基于直方圖二值化和改進的輪廓跟蹤的瞳孔檢測方法。首先對采集的瞳孔圖像計算直方圖,根據(jù)直方圖特征取出合適的閾值進行二值化,再對二值化后的圖像進行輪廓跟蹤,得到精確的輪廓邊界,進而得到直徑、中心等信息。對前一幀瞳孔圖像進行瞳孔信息計算后,后一幀圖像以該瞳孔中心為中心,縮小檢測區(qū)域進行直方圖二值化及瞳孔輪廓跟蹤,得到該幀圖像的瞳孔信息,減少運算,加快檢測速率。該算法魯棒性高,速度快,可滿足300幀/s的實時檢測速度。
直方圖二值化;輪廓跟蹤;瞳孔實時檢測
眼睛是人類感知外界信息最重要的感覺器官,而在人眼視覺功能中,瞳孔由于其特殊的感光性具有重要的學術和臨床研究價值。光線射眼時會引起瞳孔直接或間接縮小,稱光反射。雙目瞳孔對光反射設備作為神經(jīng)系統(tǒng)功能的客觀檢測指標,被廣泛用于青光眼、顱腦損傷、中風、視神經(jīng)病變等神經(jīng)系統(tǒng)常見疾病的早期病變發(fā)現(xiàn)、診斷鑒別及術后狀態(tài)監(jiān)測評估。但目前臨床上主要采用手動檢查方法,僅能對癥狀明顯患者給出陽性診斷,對于輕微癥狀往往會漏診,導致錯過治療時機。如能對以上指標進行客觀定量檢測,則可在疾病早期和術后監(jiān)護期發(fā)現(xiàn)其微小變化并及時治療,將可挽救患者更多的生理功能。實時瞳孔檢測與跟蹤技術是計算機視覺領域一個重要的研究課題,在醫(yī)療衛(wèi)生、交通安全、公共安全保障、軍事、刑偵等領域有巨大的潛在的應用價值。
瞳孔檢測作為虹膜識別檢測的一部分,目前常用的定位方法有Wildes提出的圖像二值化并結合Hough變換[1]和Daugman的圓形檢測算子[2]。Daugman提出的微積分算法具有高的準確性和魯棒性,但由于盲目搜索,檢測時間長,造成計算上的浪費。Wildes的算法在定位速度上有所改進,但同樣存在計算時間長的問題。隨后為了提高Hough變換的速度與精度,學者們又提出了Hough變換的改進算法,如點Hough變換[3-4]。這兩種方法都是基于圓檢測,為了彌補瞳孔不是圓形時的誤差,一些學者使用最小二乘法擬合橢圓進行瞳孔檢測,但同樣對于一些因疾病導致的不規(guī)則瞳孔的檢測存在較大誤差。而用形態(tài)學重構瞳孔圖像[5],區(qū)域生長等方法進行瞳孔檢測能減小不規(guī)則瞳孔的檢測誤差,但檢測速度卻受到限制。
本文側重于雙目瞳孔參數(shù)實時檢測,根據(jù)直方圖尋找閾值二值化,再對瞳孔輪廓追蹤,最后計算瞳孔參數(shù)。輪廓追蹤不用考慮瞳孔的形狀,對不規(guī)則瞳孔同樣適用[6-7]。實驗證明,該算法可滿足300幀/s的實時性要求。
瞳孔檢測一般采用紅外光照明。紅外光照明時,瞳孔與虹膜的邊緣很清楚,能突出瞳孔部分。圖1為850nm紅外光照明下采集的雙目初始圖像。方框部分為雙目瞳孔檢測的初始區(qū)域,各為450×275像素,圖像采集時只要將瞳孔落在方框區(qū)域內(nèi)即可。
圖1 雙目圖像
瞳孔檢測流程圖如圖2所示。對于采集的第一幅圖像在圖1所示方框的范圍內(nèi)二值化、輪廓追蹤,進而得出瞳孔中心、直徑等信息。根據(jù)中心位置對此后的圖像進一步縮小查找范圍,加快檢測速度。
圖2 瞳孔檢測過程
Fig.2 Pupil detection process
在瞳孔檢測中,二值化的目的在于將瞳孔圖像分為瞳孔和背景兩部分,其關鍵在于尋找合適的閾值[8]。二值化是圖像處理中比較常見的處理方式,因此發(fā)展至今也產(chǎn)生了各種二值化方法,常見的方法有最大類間方差法(OSTU),迭代閾值法,P分位法,基于最小誤差的全局閾值法等。對于瞳孔圖像,這些方法都不能較好地分割出瞳孔部分。根據(jù)瞳孔圖像的特點,采用基于直方圖的二值化方法尋找合適的閾值。
由圖1可看出,瞳孔紅外圖像中瞳孔部分與其他部分相比,灰度值明顯較低。在直方圖中為第一個峰值所在位置,如圖3所示。紅外光照明下的瞳孔圖像直方圖基本類似。本文處理中,在灰度值1~50間求得峰值,為瞳孔位置,再在灰度值61~120間求得峰值,為背景部分,以兩峰值間的波谷,即直方圖中瞳孔位置右側出現(xiàn)的第一個谷底作為閾值對瞳孔圖像進行二值化操作,二值化后的結果如圖4所示。
圖3 單眼瞳孔圖像及直方圖
圖4 瞳孔圖像二值圖
由于光源亮點落在瞳孔內(nèi)部,瞳孔輪廓跟蹤不會影響瞳孔的完整性,從而對瞳孔面積、中心及直徑的計算造成影響。對二值化后的瞳孔圖像進行輪廓跟蹤,得到瞳孔的輪廓存儲在數(shù)組中,最后計算瞳孔的中心和直徑。本文所講的左右眼均指圖像中的左右眼。輪廓跟蹤過程如下:
1)確定輪廓起點。一般的輪廓跟蹤習慣從圖像左上方開始,逐行逐列尋找第一個前景點作為輪廓的起始點。但在瞳孔檢測的應用中,如圖5所示,瞳孔圖像二值化操作時眼尾處的睫毛灰度值與瞳孔較為接近,眼頭處也會剩下少量睫毛噪點。對于不同環(huán)境下采集的瞳孔圖像,瞳孔下方也可能會出現(xiàn)少量陰影。在輪廓追蹤過程中為避開非瞳孔區(qū)域,左邊瞳孔選擇從右上角開始搜索,從上到下,從右到左搜索黑點;右邊瞳孔選擇從左上角開始搜索,從上到下,從左到右搜索黑點,從而避開眼尾處稍大塊睫毛的影響。
圖5 左右眼瞳孔圖像二值圖(閾值58)
同時,為了避免眼頭處少量睫毛噪點以及二值化后的圖像中其他孤立噪點對輪廓起點判斷的影響,每找到一個黑點,即對其八鄰域進行搜索,若此黑點的八鄰域中的黑點數(shù)大于3,則認為其不是孤立噪點,即為瞳孔邊界的起始點。圖像某像素點的8鄰域如圖6所示,點P為當前點,P0~P7為當前點的8鄰域。
P5P4P3 P6PP2 P7P0P1
2)輪廓跟蹤。如圖7所示,從輪廓起點的八鄰域開始尋找,每找到下一個輪廓點,就將新的輪廓點作為當前點,順序?qū)ふ?,直至第二次搜索到起始輪廓點,跟蹤結束。將所有的輪廓點存儲在輪廓數(shù)組中。由于瞳孔區(qū)域為一個完整聚集的區(qū)域,輪廓跟蹤不需要考慮斷點、八鄰接等特殊情況,尋找輪廓點的原理可采用摩爾鄰域跟蹤算法[9]。每找到一個黑色像素,就將其作為當前點,返回前一個白色像素,以順時針方向搜索當前點的8鄰域,直到找到下一個黑色像素,重復過程。
圖7 輪廓跟蹤過程
3)稍大塊睫毛噪點的去除。由于二值化后的瞳孔圖像有少量睫毛噪點位于瞳孔上方,雖然尋找第一個邊界像素時已經(jīng)跳過了孤立噪點,但是輪廓跟蹤的第一個邊界還可能是稍大塊的睫毛區(qū)域。因此計算輪廓區(qū)域的面積,如果輪廓區(qū)域面積像素數(shù)小于一定數(shù)值,則認為不是瞳孔,繼續(xù)尋找新的輪廓,直到找到瞳孔輪廓為止。本文中取該面積像素數(shù)的限定值為1300。圖8為單幅圖像輪廓跟蹤流程圖。對二值化后的瞳孔圖像進行輪廓跟蹤,得到瞳孔的輪廓存儲在數(shù)組中,最后計算瞳孔的中心和直徑。
圖8 輪廓跟蹤流程圖
Fig.8 Flow chart of contour tracking
根據(jù)輪廓跟蹤得到的輪廓數(shù)組,對瞳孔輪廓包圍的像素點進行統(tǒng)計,即為瞳孔像素面積。再根據(jù)圓的面積公式計算得出瞳孔半徑。瞳孔的中心由重心公式計算得出:
瞳孔在人眼中只占一部分,在定位的過程中,若是根據(jù)先驗知識得到瞳孔的大致位置,就可以縮小查找范圍,進一步提高檢測速率。很多瞳孔檢測會采用灰度投影法[10]對瞳孔進行粗定位,但對本文采集的瞳孔圖像,人臉兩側的黑色背景部分會對灰度投影法粗定位造成影響。
圖9 瞳孔圖像信息計算結果
根據(jù)圖像采集過程中瞳孔不會隨意晃動,相鄰兩幀的瞳孔位置基本一致,對前一幀瞳孔圖像進行瞳孔信息計算后,后一幀圖像以該瞳孔中心為中心,截出比瞳孔上下左右邊界稍大的方形區(qū)域,例如比瞳孔上下左右邊界擴大10個像素,如圖10所示,對該縮小的區(qū)域進行直方圖二值化及瞳孔輪廓跟蹤,得到該幀圖像的瞳孔信息。再以此瞳孔中心為依據(jù)對下一幀圖像進行重復操作,直至完成所有圖像的信息統(tǒng)計。查找范圍的縮小可大大減少運算量,加快檢測速率。
圖10 縮小查找范圍后的瞳孔圖像二值圖
為了適應不同環(huán)境下的檢測需要,防止環(huán)境亮度變化對瞳孔圖像二值化的影響,對每一幀圖像都分別計算左右眼的二值化閾值。但對于第二幀及以后的瞳孔圖像,可在縮小查找范圍的區(qū)域內(nèi)進行二值化閾值計算。瞳孔圖像范圍的減小可以減少運算,加快檢測速率。
為驗證本文算法的有效性和實時性,對雙目瞳孔檢測儀連續(xù)采集的600幀圖像進行處理。采集到的紅外瞳孔圖像尺寸1920×400像素,8位灰度。實驗環(huán)境在CPU為i5,內(nèi)存4GB,64位操作系統(tǒng)的硬件環(huán)境,VS2008和QT4.7.4的軟件環(huán)境下進行。
對傳統(tǒng)Hough變換、文獻[3]的點Hough變換、文獻[11]的區(qū)域生長方法及本文算法進行對比。表1為4種方法的定位結果??梢钥闯?,幾種方法所得瞳孔中心和直徑值基本一致,證明本文算法能滿足準確性的要求。且有些情況下由于瞳孔不完全是正圓,此時對于瞳孔面積的計算,本文算法比兩種Hough變換定位的瞳孔區(qū)域更準確。
表1 算法有效性比較
對連續(xù)采集的多幅圖像進行處理,由于傳統(tǒng)Hough變換和點Hough變換求得的直徑都是統(tǒng)計結果,因此其波動較大。圖11為瞳孔受閃光刺激過程中點Hough變換和本文算法的雙目瞳孔直徑的變化,紅色實線為圖像中的左眼,藍色虛線為圖像中的右眼。本文算法瞳孔直徑值變化趨勢較為平滑,存在一定的優(yōu)勢。
圖11 雙目瞳孔直徑統(tǒng)計圖
對4個算法運行時間分別進行統(tǒng)計,區(qū)域生長方法由于使用了膨脹腐蝕等預處理,時間較長;傳統(tǒng)Hough變換計算量大,時間最長;點Hough變換在傳統(tǒng)Hough變換上進行了改進,運算時間大大縮小;本文算法時間比點Hough變換更短,檢測圖像越多,優(yōu)勢越明顯,如表2所示。結果證明,本文算法速度能滿足300幀/s的圖像采集速度,實現(xiàn)實時檢測的要求。
表2 算法效率比較
本文提出一種基于直方圖二值化和改進輪廓跟蹤的瞳孔檢測方法準確計算瞳孔面積,定位雙目瞳孔中心。算法實現(xiàn)過程中,根據(jù)初始圖像縮小算法處理范圍,進行二值化及輪廓跟蹤處理,在準確定位瞳孔中心的基礎上加快瞳孔檢測的圖像處理速度,最終滿足300幀/s的檢測速度。
[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] 王長元, 張景, 李京京. 瞳孔中心快速定位方法研究[J]. 計算機工程與應用, 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] 林金龍, 石青云. 用點Hough變換實現(xiàn)圓檢測的方法[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)學重構算法的瞳孔精確檢測[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] 呂云飛. 一種目標邊界跟蹤算法[D]. 大連: 大連海事大學, 2014.
LV Y F. An Object Boundary Following Algorithm[D]. Dalian: Dalian Maritime University, 2014: 10-12.
[7] 吳建華, 鄒德旋, 李靜輝. 基于小范圍搜索的虹膜定位方法[J]. 儀器儀表學報, 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] 羅玉皓, 鄒遠文, 夏勛. 運用OpenCV實現(xiàn)紅外圖像的瞳孔參數(shù)實時檢測[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 變換和輪廓匹配相結合的瞳孔精確檢測算法[J]. 計算機應用, 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] 穆克智, 史儀凱. 幾種閾值分割方法在瞳孔檢測中的應用研究[J]. 北京生物醫(yī)學工程, 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]. 吉林大學學報: 理學版, 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-),女,江蘇南通人,碩士研究生,主要研究方向為圖像處理。E-mail:gukeker@163.com。
陳文建(1965-),男,江蘇如皋人,博士,教授,主要研究方向:光通信與光纖應用技術、光學系統(tǒng)設計與光電儀器。
2016年江蘇省重點研發(fā)計劃(社會發(fā)展)項目(SBE2016740249)。