虹膜识别

2011-10-10 03:13:54李星野刘新亮
上海理工大学学报 2011年4期
关键词:虹膜瞳孔小波

李星野, 刘新亮

(上海理工大学管理学院,上海 200093)

虹膜识别

李星野, 刘新亮

(上海理工大学管理学院,上海 200093)

系统阐述了虹膜识别的原理和实现方法,提出将小波变换与Hough变换相结合定位虹膜外边界,采用同心圆渐变展开虹膜图像为矩形图像,根据纹理分布方差对分类距离加权.新算法在保持平移和缩放不变性的同时,有效地实现了虹膜识别.

虹膜识别;小波变换;分类

随着社会经济的进步,网络化和信息化技术的深入发展,人们对身份识别提出了更高的要求.生物特征识别技术相对传统识别技术,具有不易遗忘、防伪性能好、随身“携带”和随时可用等优点,因此受到人们的高度关注[1].虹膜识别技术是生物识别技术中的一个主要发展方向.虹膜位于人眼表面黑色瞳孔和白色巩膜之间,是圆环状区域,由相当复杂的纤维组织构成,在红外光下可以看到丰富的纹理信息,如斑点、条纹、细丝、隐窝等细节特征,其内部结构在出生之前就以随机组合方式决定下来.对于每个人来说,虹膜的结构各不相同,并且这种独特的虹膜结构在人的一生中几乎不发生变化[2].自从Daugman提出特征描述和相似性判别算法之后[3-4],人们对虹膜识别进行了大量的研究.大部分工作都是在运算速度方面对Daugman算法进行改进;Wildes使用基于梯度的边缘检测算子和三维空间搜索算法实现了虹膜识别[5],该算法的计算开销较大,过于耗时;Boles提出了基于小波变换的过零检测识别算法[6],该算法丢失了大量二维信息,在大范围内尚未取得满意的效果.目前比较成熟的算法是先由Canny算子结合Hough变换定位虹膜,之后经矩形展开、多通道Gabor滤波以及Hamming距离分类实现虹膜识别.这些算法普遍具有较高的时间复杂度和空间复杂度,且不能很好地滤除虹膜图像中的无关信息,直接影响虹膜的定位以及后续的分类识别.本文对流行的虹膜识别算法做了较大规模改进.首先在虹膜定位部分,用小波变换替代Canny算子,使虹膜外边界的定位具备一定的自适应性;其次,用同心圆渐变展开虹膜,更好地保持了像素的灰度分布信息;在此基础上根据灰度分布对图像进行了增强;最后根据小波变换提取的纹理特征能量分布重新定义了用标准差加权的分类距离,成功地实现了具有旋转、平移和尺度伸缩不变性的虹膜特征提取及分类.

1 虹膜图像的预处理

虹膜是位于黑色瞳孔与白色巩膜之间的环状组织,如图1所示,通常情况下其内外边界均会发生一定的位移,所以要对其内外边界分别进行定位和配准.

图1 原始虹膜图像Fig.1 Original iris image

1.1 虹膜内边界定位

所谓虹膜内边界,就是瞳孔的边界.由于瞳孔的灰度值远小于其周围眼组织的灰度值,而且其像素点分布密集,所以便于分割.基于以上特点,使用阈值分割方法对图像进行二值化,将瞳孔从图像中分离,精确得到虹膜内边界的圆心和半径.

具体操作步骤如下:

a.绘出人眼图像的灰度分布直方图(图2).

b.确定阈值,对图像进行二值化分割.记灰度分布直方图函数为f(Ⅰ),f(Ⅰ)是灰度值为Ⅰ的像素点个数,则f(Ⅰ)应有若干局部极大值.由于瞳孔内的像素灰度非常集中,所以,在直方图中,这些灰度的f(Ⅰ)值明显大于其他灰度的f(Ⅰ)值.根据直方图,首先从0灰度遍历灰度轴(横轴)至100灰度,记=max{Ⅰ|f(Ⅰ)>3 000},然后在的后续灰度值上对f(Ⅰ)做差分

当c>5时,记T=Ⅰ+1.

图2 虹膜图像灰度分布直方图Fig.2 Gray level histogram of iris image

将瞳孔投影到X轴和Y轴上,定义(x,y)处像素灰度为

则可得二值化图像.对此二值图像进行形态学闭操作,去掉睫毛和噪声的干扰,使瞳孔的边界变得更为平滑,如图3所示.

图3 瞳孔边界定位Fig.3 Locating pupillary boundary

c.确定瞳孔在X轴、Y轴上投影的最大、最小坐标xmax,xmin,ymax和ymin及瞳孔的圆心坐标(x0,y0)[7].此时x0=(xmax+xmin)/2,y0=(ymax+ymin)/2;进一步可得瞳孔半径为r0=max[(xmaxxmin)/2,(ymax-ymin)/2].

1.2 虹膜外边界定位

虽然虹膜同巩膜的灰度值相差得也比较大,但是从虹膜的像素点到巩膜的像素点的过渡相对平缓,同值像素分布不如瞳孔像素分布那样集中,直接用直方图来进行阈值分割,效果不理想.采用小波变换初步确定虹膜外边界轮廓,虹膜外边界的精确定位仍然要用Hough变换.

虹膜外边界的初步提取:

在原始虹膜图像中,睫毛和噪声处于图像的最高频部分,纹理特征也最明显,而且经常掩盖虹膜外边界的纹理特征.通过低通滤波可以消除睫毛和噪声的主要影响.本文采用标准差σ=10的Gauss低通滤波器对虹膜图像进行二维Gauss低通滤波,滤波后的低频图像在保留虹膜外边缘轮廓的同时,较好地消除了睫毛等无关组织的影响,如图4所示.

图4 高斯低通滤波的虹膜图像平滑Fig.4 Iris image smoothed by Gaussian lowpass filter

小波变换是常用的图像分析手段,在纹理识别中有较多的应用.二维图像的一级小波分解将得到4部分系数:LL1、LH1、HL1和HH1.其中,LL1为双向低频系数,LH1为水平低频、垂直高频系数,HL1为垂直低频、水平高频系数,HH1为双向高频系数,如图5所示.当图像在某一方向上具有较明显的纹理特征时,与之对应的高频系数就比较大.以此类推,可以对低频系数LL1进一步分解,得到图像的多级小波分解,如图6中的三级小波分解.

图5 图像一级小波分解Fig.5 Image decomposed by 1-level discrete wavelet

图6 图像三级小波分解Fig.6 Image decomposed by 3-level discrete wavelet

通过小波变换可以从滤波后的虹膜图像中初步提取虹膜外边界.在对整个虹膜图像做小波变换之前,先截取一块64×64大小、含有虹膜外边界的图像,对其进行三级小波分解,提取绝对值最大的双向高频系数wmax;然后对整幅图像进行三级小波分解,κ倍提升幅值在(wmax-p,wmax+p)和(-wmax-p,-wmax+p)范围内的双高频系数,其中,p值待定,同时将其他小波变换系数置0.事实上,上述过程相当于对虹膜图像进行带通滤波,同时提升虹膜外边界纹理的频率和强度.这种经过带通滤波和频率强度提升的图像显示出比较清晰的虹膜外边界轮廓.实验表明p=10、κ=40时,虹膜外缘轮廓最为明显.

虹膜外边界的精确提取:

基于Hough变换的边界定位算法用于二值图像更有效[8].为此二值化处理前述带通滤波虹膜图像.实验证明,二值化的灰度门限取在区间(50,100)内,可以进一步突出虹膜外边界.

现用Hough变换精确定位虹膜外边界.Hough变换将求最优解归结为求最大计数值,而且这样得到的最优解是全局最优解.该算法的固有缺点是计算量大.此处根据虹膜的特殊性对算法略加改进.

通过实验发现,即使在最极端的情况下,虹膜外边界的圆心也会全部落在瞳孔的内部.而且,由于虹膜图像的采集装置同被采集对象之间的距离相对恒定,虹膜外圆的半径一般都在90~120个像素之间.因此,设计如下算法:

a.将二值边缘图像按比例缩小,以降低计算量.

b.以瞳孔圆心(x0,y0)为中心,依图像坐标系,将π/3~2π/3和4π/3~5π/3这两个扇形区域内的灰度置0,以进一步消除睫毛、眼睑及噪声的影响,同时进一步减少计算量.

c.根据Hough变换的原理,使用圆形检测方法.

对于瞳孔内像素点(x m,y m)和(rmin,rmax)的r l,定义计数器

一般来说rmin≈90,rmax≈120.但是,本文为了减少计算量,收缩了图像,因此,这两个值更小一些.门限d为r l的取值间隔一半.

d.按比例还原所有图像和参数值,得到精确的虹膜外边界,如见图7所示.

图7 虹膜外边界的定位Fig.7 Locating the outer edge of iris

在以往算法中,大多使用Canny算子提取纹理特征后用Hough变换定位虹膜外边界[9].该方法很难有效抑制睫毛和眼睑的影响,可能导致分割失败.图8是Canny算子定位失败的一个例子,而图9显示用小波变换定位同一虹膜成功了.在大样本情况下,Canny算子参数值的选取往往需要调整,导致算法的自适应程度较低.

图8 Canny算子的定位效果Fig.8 Location effects of Canny operator

图9 小波变换的定位效果Fig.9 Location effects of wavelet transform

2 虹膜图像的展开

目前成熟的图像处理算法都针对矩形图像.因此,将前面提取出来的环状虹膜图像转换成矩形图像是很自然的想法.对这种转换的一个基本要求是其能够保持虹膜的纹理分布,极坐标变换在一定程度上实现了这一目标.然而极坐标变换会不可避免地破坏虹膜的纹理分布.本文设计了基于同心圆渐变的虹膜展开算法,该算法更简单直观,而且更好地保持了虹膜的纹理分布.

理想的虹膜图像应为两个同心圆界定的圆环(见图10(a)).圆环的圆心为(x0,y0),内圆半径为r0,外圆半径为r1.如果认为该圆环由无数个同心圆形成,那么这些圆的圆心均为(x0,y0),半径则从r0逐渐增至r1.实际提取的虹膜图像会发生偏移,本文将这一现象视为所有同心圆相对外圆的同向均匀偏移结果(见图10(b)).

图10 虹膜展开示意图Fig.10 Iris spreading sketch map

此时只要确定了内外圆之间各圆的圆心和半径,就可以用一次保角映射把圆环均匀地变换为矩形.如图10(b)所示,假定内圆相对外圆发生偏移后,内圆圆心为(x0,y0),外圆圆心为(x1,y1),半径均不变.因为内外圆之间的所有圆都均匀地同向偏移,所以内外圆之间所有圆的圆心都在(x0,y0)与(x1,y1)的连线上.

任取内外圆之间的一个圆,如图10(b)中虚线圆,并假定其圆心为(x c,y c),半径为r c,则(x c,y c)在(x0,y0)与(x1,y1)的连线上,r0≤r c≤r1.记(x0,y0)与(x1,y1)连线的延长线与内圆、外圆、虚线圆的焦点为A、B、C(图10(b)),则在均匀偏移的条件下应有

又由(x c,y c)在(x0,y0)与(x1,y1)的连线上可知

上述算法是根据A、B、C这3点确定(x c,y c)和r c.

事实上,任取(x0,y0)与(x1,y1)连线上一点(x c,y c),如果内圆向外圆的偏移是均匀的,那么以(x c,y c)为圆心的(虚线)圆半径就应为

如此得到的圆经一次保角映射就可以变换为直线.将虹膜环中每个圆都变换为直线,并按原相对位置组合成矩形图像就是虹膜的展开图像.需要注意的是:为了保证展开后的虹膜图像是矩形,虹膜环内每个圆上的像素个数要相同.

本文给出的虹膜展开算法比其它展开算法更直观快捷,同时还更好地保持了虹膜的纹理分布.展开后的虹膜图像厚度大都在60~70像素之间.因为眼睛的闭合程度不同,上下睫毛和多余眼睑的影响差异较大,并且虹膜外边缘附近纹理比较稀疏,大部分有效纹理信息都集中在靠近瞳孔的区域[10],所以本文只保留了虹膜内圆一侧对应的32×1 024大小矩形(见图11和图12).为了进一步加大纹理的作用,通过灰度直方图增强了虹膜展开图像的反差后面的实验,对这种增强的效果作了对比.

图11 分割提取出的虹膜图像Fig.11 Iris image extracted from original image

图12 展开后的虹膜图像靠近瞳孔一侧部分Fig.12 Pupillary side half iris texture after spreading sketch map

3 虹膜图像特征提取

对展开后的虹膜图像,可以进行标准的图像处理操作,以便提取虹膜的纹理特征.考虑到图像纹理的空间分布相对复杂,难以把握;大多数算法都是从变换域提取图像特征;而离散余弦变换和离散Fourier变换的混叠作用会模糊某些特征,使这些特征不足以用来分类.因此小波变换就成为比较好的选择.小波变换能在维持纹理分布的同时提取出纹理特征[11].为了有效分类虹膜,合理选取特征值很重要.特征值过多,则计算量较大,难以满足实时要求;特征值过少,则不能有效分类.本文采用各尺度小波变换系数的平均能量作为特征值,这也是计算复杂度和有效分类之间的折衷,同时采用这种特征值还能保证提取出来的纹理特征不受平移和伸缩的影响.

鉴于虹膜展开后的矩形图像为32×1 024,最多可以进行5级二维离散小波分解.变换得到的小波系数分4类:HH、LH、HL、LL(参见图6和图7).其中,HH类系数分为5个尺度,由1尺度HH1到5尺度HH5的系数个数依次为16×512、8×256、4×128、2×64、1×32(在小波变换结果中,这些系数按矩阵形式排列);类似地,LH类系数和HL类系数也都分为5个尺度,由1尺度到5尺度的系数个数同样依次为16×512、8×256、4×128、2×64、1×32;另外,还有1×32个LL5系数.逐个计算各类、各尺度系数的平均能量,可得16个特征值.例如,LH2系数的平均能量为

式中,a ij(i=1,2,…,8,j=1,2,…,256)为LH2小波变换系数(也就是2尺度水平低频、垂直高频系数,在小波变换结果中,这些系数排成8行256列).

类似计算其他特征值.

4 虹膜图像的特征分类

有了特征值,就可以根据特征值进行分类.实验发现,16个特征值差别很大.而不同虹膜间的差别并不一定体现在较大的特征值上.因此本文设计了基于标准化方差的加权分类距离.

假设训练样本来自M个虹膜,每个虹膜有N个样本(每个虹膜的样本数也可能不同,但是对算法没有本质影响,所以这种假设不失一般性),从每个样本提取L个特征值(本文的L=16).

记从第i个虹膜之第j个样本提取的特征向量(含L个特征值)为χij,则第i个虹膜的平均特征向量为

σ2k刻画了第k个特征值的分散程度.因为经过了标准化,所以不同特征值的方差具有可比性.很明显,特征值的方差越大,它在分类中的作用就越大.

定义用标准化方差加权的分类距离

5 实验结果和分析

5.1 实验内容说明

为了便于比较和说明,本文采用CASIA虹膜图像数据库进行算法测试.CASIA虹膜图像数据库(1.0版)包括108人,共758只眼睛的虹膜图像样本,每只眼睛有7幅8位的灰度图像,分辨率为320×280.首先用数据库中每组第二阶段的虹膜图像作为训练样本,然后用每组中第一阶段的虹膜图像测试.分别采用Haar型和Daubechies 4型小波进行实验.实验结果如表1所示.

5.2 实验结果分析

对于Haar小波变换后的特征提取方法,去除双低频系数LL对识别准确率没有影响,而去除双高频系数HH或水平低频、垂直高频系数LH与垂直低频、水平高频系数HL会带来识别准确率的下降,说明双高频系数、水平低频、垂直高频系数及垂直低频、水平高频系数特征值对于分类效果的影响较大.而在对虹膜展开图像进行直方图灰度增强后,可以使识别准确率略有上升,最好的识别准确率达到94%.

表1 Haar小波和Daubechies 4小波分类效果比较Tab.1 Classification effect based on Haar wavelet and Daubechies 4 wavelet

无论是否对虹膜展开图像进行直方图灰度增强,只要使用同样的特征值,db4小波的识别准确率都比使用Haar小波高,最好的识别准确率达到96%.实验表明,双低频系数LL对于虹膜识别无明显贡献,所以在虹膜识别过程中,应该以双高频系数HH、水平低频、垂直高频系数LH以及垂直低频、水平高频系数HL作为特征值.事实上,图像纹理是灰度的快变化造成的,它只能体现在变换域的高频部分.

6 结 论

对虹膜识别算法进行了全方位的改进.首先是在虹膜外边界定位方面,用小波变换替代Canny算子,通过带通滤波和纹理频率强度提升实现的虹膜外边界定位不仅具有一定的自适应性,还提高了定位精度;其次是使用同心圆渐变展开虹膜图像,既简单直观,又能更好地保持纹理分布;第三是根据特征值的标准差定义了加权分类距离,实现更有效的分类.通过直方图灰度增强提高识别准确率也是本文的一个成功尝试.

本文的研究重点是虹膜特征提取和分类距离设计,所提出的同心圆渐变展开结合小波变换提取特征使整个识别算法不受虹膜图像的平移和伸缩影响,所提出的分类距离在达到一定识别精度的同时具有较小的在线计算量.为使本文提出的算法达到可以实用的程度,还需要进行一些非本质的加工.例如,为了使识别算法不受旋转影响,应该同时识别虹膜图像及其旋转若干个角度的图像,对于本文提出的算法,只需左、右平移展开后的虹膜图像若干次(平移3个像素大致相当于旋转1°).为了达到理想的识别精度,通常的做法是对已有虹膜样本进行所谓的训练,即分别求得同一虹膜的不同图像间距离之分布密度曲线、不同虹膜图像间距离之分布密度曲线,以两条密度曲线交点的横坐标作为分类的临界距离,按此临界距离识别,基本上都可以达到100%的识别精度,关键是要适当选取特征值和分类距离,以便在保证识别精度的前提下尽可能提高识别速度.本文使用的特征值不超过16个,明显少于同类识别算法,但是所用加权距离的计算复杂度高于Hamming距离,如何在特征值和分类距离之间取得最佳折中是一个值得不断深入研究的问题.

[1] 王蕴红,朱勇,谭铁牛.基于虹膜识别的身份鉴别[J].自动化学报,2002,28(1):1-10.

[2] 孙哲南,谭铁牛.虹膜识别研究与应用综述[J].自动化博览,2005(2):25-26.

[3] DAUGMAN J G.How iris recognition works[J].IEEE Trans on Circuit and Systems for Video Technology,2004,14(1):21-30.

[4] DAUGMAN JG.High confidence visual recognition of persons by a test of statistical independence[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1993,15(11):1148-1161.

[5] WILDESR P.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348-1363.

[6] BOLESW,BOASHAH B.A human identification technique using images of the iris and wavelet transform[J].IEEE Trans on Signal Processing,1998,46(4):1185-1188.

[7] 薛白,刘文耀,王金涛,等.虹膜图像预处理算法研究[J].光电子·激光,2003,14(7):741-744.

[8] 张超,袁晓燕,施鹏飞.虹膜内外边缘的快速定位算法[J].计算机工程与应用,2005(27):60-61.

[9] Canny J.Finding a computational approach to edge detection[J].IEEE Trans.Pattern Analysis and Machine Intelligence,1986,8(1):679-697.

[10] 王利志.虹膜瞳孔区的形态及其与重睑的关系[J].中华整形烧伤外科杂志,1993,9(4):298-299.

[11] 孟爱国,刘国彦,李峰.基于多层小波分解的虹膜识别算法[J].计算机工程与应用,2005(22):59-61.

Iris recognition

LIXing-ye, LIUXin-liang
(Business School,University of Shanghai for Science and Technology,Shanghai 200093,China)

The principle and algorithm of iris recognition were expounded systematically.Three new ideas were presented:locating the outside edge effectively by combining wavelet transform and Hough transform,spreading the iris image to the rectangular image by gradually changing concentric circles,and weighting the classification distance based on the distribution variance of texture feature.This algorithm retains the characteristics of rotation,translation and scale invariants and realizes the iris recognition effectively.

iris recognition;wavelet transform;classification

TP 391.4

A

1007-6735(2011)04-0384-07

2011-01-10

国家自然科学基金资助项目(71071098);上海市重点学科建设资助项目(S30501)

李星野(1958-),男,教授.研究方向:数字图像处理、时间序列分析、控制系统建模.E-mail:lixingye@usst.edu.cn

猜你喜欢
虹膜瞳孔小波
“天眼”的“瞳孔保健师”
军事文摘(2023年20期)2023-10-31 08:42:40
双眼虹膜劈裂症一例
构造Daubechies小波的一些注记
科技风(2021年19期)2021-09-07 14:04:29
基于MATLAB的小波降噪研究
电子制作(2019年13期)2020-01-14 03:15:32
瞳孔里的太阳
青年歌声(2018年2期)2018-10-20 02:02:50
“刷眼”如何开启孩子回家之门
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
瞳孔
瞳孔
学苑教育(2015年16期)2015-08-15 00:53:16
虹膜识别技术在公安领域中的应用思考
警察技术(2015年3期)2015-02-27 15:37:15