天天看點

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

摘  要: 虹膜的定位包括瞳孔(内圓)和虹膜外圓的定位。該方法首先預判斷瞳孔中心和半徑截取目标區域小圖,然後對目标區域提取邊緣采用最小二乘抛物線拟合,算出左右固定區域内邊緣點極值點坐标,得到瞳孔初始的中心坐标和半徑。最後利用邊緣點搜尋方法精确定位虹膜。實驗結果表明,該虹膜定位方法在速度和精度上都能達到較好效果。

關鍵詞: 虹膜定位;OTSU;灰階積分投影;抛物線拟合;hough變換;圓周點搜尋

1 分割瞳孔和虹膜

目前,生物特征識别用于身份認證已是大勢所趨,其方式有很多,例如:人臉識别、指紋識别、聲音識别、掌紋識别,等等[1],而虹膜識别是人體除DNA以外精确度最高的生物特征識别方式。對于當今個人網絡的身份認證,迫切需要一種穩定、可靠、便捷的認證方式。目前,圖像中目标物體的定位方式最重要的資訊還是基于目标的紋理輪廓進行定位[2]。虹膜是人眼生理結構中的一部分,它位于瞳孔和鞏膜之間,其分布大緻呈現出圓環狀,但虹膜的采集相當困難,目前基本上都以Daughman教授提出的圓環法對它進行提取,其定位方法有很多,例如:Hough圓檢測定位[3-6]、圓或橢圓拟合定位、基于模闆定位[7-8]以及其他方法[9-10],方法基本都可行,但存在的最大問題是速度和精度很難達到實時性。

1.1 二值化

在人眼圖像中,瞳孔的灰階資訊呈現出最直覺的特點,目前對瞳孔的定位大部分都基于它的低灰階資訊。

目前二值化動态門檻值的确定有以下常用的幾種方法:(1)最大内間方差法(OTSU);(2)疊代法(最佳閥值法);(3)聚類算法;(4)一維最大熵門檻值法。比較幾種方法二值化效果以及速度,其中最大内間方差法[11-12]效果更加适合于瞳孔的分割。

1.2 灰階積分投影法找瞳孔中心和半徑

在二值化圖上利用灰階積分投影法[4]預判斷瞳孔的位置以及其半徑。灰階積分投影的原理比較簡單,其計算量較小,對于瞳孔的定位非常實用。本文采用水準和垂直灰階積分投影定位瞳孔,首先,對于m×n大小的圖像,在水準方向上對圖像的每一行進行周遊,尋找像素值為0的像素點作累加:

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

然後對每一行的累加次數做比較,尋找累加最多的行數,其行數pre_y和最多累加次數Max_num1分别作為瞳孔預定位的縱坐标和半徑。同理,通過垂直灰階積分可以找到瞳孔預定位的橫坐标pre_x和半徑Max_num2,如圖1所示。

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

1.3 截取瞳孔和虹膜小圖

因為正常情況下瞳孔位于虹膜内部,并且兩者的中心幾乎重合,根據對中科院提供的虹膜庫進行大量分析,瞳孔和虹膜中心錯位大約在10像素以内,是以幾乎可以看作同心,并且虹膜外圓半徑正常情況下小于125像素,然後以(pre_x,pre_y)為中心,以L=(250+5)為邊長,在原圖上将虹膜區域截圖已備後期處理。

2 邊緣提取及抛物線拟合找瞳孔中心

目前常用的邊緣提取算法有很多,例如:Roberts邊緣檢測算子、sobel算子、prewitt算子、canny算子、小波分解算法等。它們各有優點,Roberts、sobel、prewitee算子計算量較小,但邊緣提取效果較差,小波分解算法對細節提取較好,但其實作相對複雜,計算量較大、耗時;canny算子邊緣提取效果很好,其計算量也能接受。為了得到較好的邊緣,獲得準确定位,本文選取canny算子。

在圖中需要快速且準确地判斷瞳孔的中心和半徑,那麼,常用的方法是Hough圓檢測以及在此基礎之上的改進方法,該方法在定位精度較高,但是定位速度相當慢,非常耗時,并不能很好地應用于實時的虹膜識别系統。

本文采用另一種方法進行定位。首先在其預定位中心左側標明半圓形區域R1,如圖2所示。

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

對所有的邊緣點采用最小二乘法進行抛物線拟合,其抗噪性較好,其拟合公式方程組如式(2)所示:

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

這裡用高斯消元法程式設計實作解抛物線方程組,求出抛物線方程的3個系數a、b、c:

y=ax2+bx+c(3)

得到抛物線的系數,進而确定區域R1的左抛物線方程。同理可以拟合右半圓矩形區域R2,得到右抛物線,根據抛物線的性質,可以計算出左右抛物線的極值點,公式如下:

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位
c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

求出極值點P_left(x1,y1),P_right(x2,y2),如圖3、圖4所示,那麼就可以得到比較精确的瞳孔中心坐标(P_center_x,P_center_y)和半徑accurate_r,其中:

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

此時的瞳孔中心和半徑已經比較精确,但是如果在區域R1和R2噪聲邊緣點較多的情況下,還會存在一定的誤差。

3 圓周點搜尋方法精确定位

為了得到瞳孔最精确的中心點和半徑,本文最後基于圓周點搜尋原理,快速且精準地定位瞳孔以及虹膜外圓。

3.1 内圓精确定位

基于傳統Hough原理,本文采用一種新的方法對圓進行檢測。

該方法的基礎是找到圓心的預估位置,将預估位置附近坐标作為圓心坐标,半徑取值範圍是:(accurate_r-5~accurate_r+5),計算其圓周點坐标,然後在邊緣圖上統計圓周上存在邊緣點的個數,比較并記錄圓周上邊緣點最多的圓心和半徑,即可以精确定位。

該方法利用了不同于Hough的圓檢測原理,但準确性和抗幹擾性都保留了傳統Hough的優點,并且速度比傳統Hough快。

3.2 外圓精确定位

對虹膜外圓的定位也采用此圓周邊緣點搜尋原理檢測算法。根據對中科院所提供的虹膜庫進行大量分析,正常人的瞳孔中心和虹膜外圓中心幾乎重合,偏離最嚴重的情況下,外圓中心也不會超出瞳孔區域,并且虹膜外半徑最大值為125左右,根據這一特性,外圓的中心檢測在瞳孔中心已知的情況下,采用與瞳孔檢測相同的原理,周遊瞳孔的最大内接矩形區域找中心,檢測半徑在r1~r2之間,這裡r1=pupil_r+10,pupil_r是瞳孔的精确半徑,r2取125。通過此方法,可以快速且精确地找到邊緣點最多的某個圓心和半徑。

3.3 本文方法和傳統hough比較

傳統的Hough圓檢測原理基于圓的基本公式:

(x-a)2+(y-b)2=r2(6)

其中,(a,b)為圓心,r為圓的半徑,把x-y平面上的圓轉換到a-b-r三維參數空間,周遊圖中的每一個邊緣點在參數空間做累加,然後周遊參數空間尋找疊加次數最多的點,即得到圓心點。該方法的準确性及抗幹擾能力非常好,但因其需要周遊每一個邊緣點計算量非常大,比較耗時。

本文方法與傳統Hough變換及其改進方法相比有如下優點:(都在原圖的邊緣圖上進行檢測,并未縮小)周遊的像素點較少。因為傳統Hough周遊的是圓周邊緣點,而本文周遊的是中心點,在預估中心點較精确的情況下,需要周遊的次數就很少,進而省時。

本文方法不需要人為設定内圓的半徑檢測範圍。因為算法本身可以通過灰階積分投影和抛物線拟合自動找到較為精确的半徑和圓心坐标,是以計算量很小。實作方式上比較簡單。傳統Hough是不斷地在二維和三維空間切換,而本文隻在二維空間操作。

4 實驗結果

本文對傳統Hough和參考文獻[5]中改進的Hough圓檢測算法及本文算法已基于VS平台和OpenCV圖像處理庫,利用中科院提供的200張虹膜圖檔,采用C語言程式設計實作。

3種算法都統一進行邊緣提取。在圖上使用不同算法分别對虹膜内圓進行定位,其中傳統Hough和參考文獻[5]在外圓定位之前,首先清除虹膜内圓周圍部分邊緣點,以減小計算量和誤差。

c語言 投影法圖像定位,基于抛物線拟合和邊緣點搜尋的虹膜精确定位

測試3種方法對于200張圖檔的定位精度和速度,并進行比較和分析,其結果如表1所示。

由此可見,本文定位算法相對于其他兩種算法,在精度和速度上都有一定提升,具有較好的實時性。

5 結論

在傳統Hough定位和改進Hough定位[5]的比較之下,本文方法提高了定位效率和精度,該方法步驟雖多,但每一步的計算量很小。文中算法在一些方面有待進一步提高,例如:魯棒性、考慮用橢圓進行定位、預處理等。在不影響定位精度的情況下還可以在适當地縮小圖檔之後再定位,速度會更快。

參考文獻

[1] 王雨晴,謝曉堯.基于生物模式識别的網絡身份認證研究[J].微型機與應用,2014,33(18):42-44.

[2] 李文鋒,張紅英.基于紋理特征的車牌定位方法[J].微型機與應用,2014,33(3):41-43.

[3] 劉念,蘇杭,郭純紅,等.基于Hough變換圓檢測的人眼定位方法改進[J].計算機工程與設計,2011,32(4):1359-1362.

[4] 蔣丹丹,馮曉毅.改進的Hough與梯度直方圖的人眼定位算法[J].電子設計工程,2014,22(21):127-130.

[5] 張林,王保強.一種改進的基于Hough變換的虹膜定位算法[J].電子技術應用,2014,40(4):66-69.

[6] 塗娟,王海濱,曹林,等.基于Hough變換的快速虹膜識别算法研究[J].電視技術,2014,38(19):211-215.

[7] 韓麗娜.基于幾何特征的虹膜定位算法[J].傳感器世界,2013,19(9):11-13.

[8] 劉源.基于模闆比對算法的人眼定位方法[J].火力與指揮控制,2014,39(5):124-126.

[9] 史少龍,尹達一.改進型灰階質心實時算法研究[J].光電工程,2013,40(12):18-24.

[10] 鄒德旋,王鑫,段納.一種基于修正差分進化的虹膜定位算法(英文)[J].控制理論與應用,2013,30(9):1194-1200.

[11] 黃麗麗,楊帆,王東強,等.基于改進型最大類間方差法的瞳孔定位方法[J].計算機工程與應用,2013,49(23):137-140.

[12] 陳濱,田啟川.改進的快速Otsu自适應分割算法及其應用[J].計算機應用研究,2012,29(4):1572-1574.