基于小波变换和极大值检测的虹膜识别方法
技术领域
基于小波变换和极大值检测的虹膜识别方法,属于图像信号处理技术领域,特别涉及生物识别技术中的虹膜识别方法。
背景技术
身份识别技术广泛应用予军事、银行、安全等部门。人体许多生物学特征都具有唯一性,任意两个人均不会相同。这些特征最终由基因决定。在工程上,可以利用这些特征进行身份的鉴别,如有悠久历史的指纹识别、面孔识别等。由于虹膜特征具有唯一性,不受遗传性误差因素(如孪生关系等)和表现性因素(如面部特征随年龄变化)的影响,难于复制,识别信息易于获得等优点,虹膜识别成为近年来新兴起的一种身份识别技术。如今,随着硬件性能的提高和图像处理技术的发展,虹膜识别技术已经日趋成熟。详见文献:浦昭邦,杨凡,陈炳义等,“虹膜识别技术的发展与应用”,光学精密工程,Vol.12,No.3,Jun,2004和文献:康浩,徐国治,“虹膜识别系统”,电路与系统学报,Vol.5,No.1,May,2000等。
虹膜识别技术,是利用图像采集装置,获得人眼图像,然后对人眼的虹膜分部进行精确定位,最后对虹膜纹理进行分析,提取纹理特征,通过纹理特征的匹配实现有效身份识别。现有的虹膜识别方法,存在对图像质量要求高、纹理变形引入识别误差、算法复杂导致运行时间长等问题。因此,如何把现有的研究成果结合起来,同时考虑到现有设备的工作能力,使虹膜识别系统具有良好的性能和识别速度是当前研究的方向。详见文献Daugman J.Biometric personal identification system based on iris analysis[P].US Patent,5201560.1994和文献W.W.Boles,A security system based on human iris identification using wavelet transform[J],Engineering Application of Artificial Intelligence,1998,11
迄今为止,已经有很多虹膜识别方法,但是大多是对Daugman、Wildes、Boles等人提出的算法作出的效仿、改进工作。
1、Daugman算法。它采用二维Gabor滤波器对虹膜纹理进行处理,得到256bytes的编码,通过比较两个虹膜代码的海明距离作为决策。优点是取得了几乎100%的识别率;缺点是对图像质量要求较高,要求参与认证者严格配合。详见文献Daugman J,High confidencevisual recognition of persons by a test of statistical independence[J],IEEE Trans Pattern AnalMachine Intelligence,1993,15(11),1148-1161
2、Wildes算法。将采集的虹膜图像和虹膜库中的虹膜图像尺度和旋转统一后,采用从Gaussian的Laplacian变换(LoG)衍生来的各向同性带通滤波器组对图像进行处理,通过获得相关系数进行比较。缺点是对图像质量有较高要求。详见文献Micheal P Wildes,Iris Recognition:An Emerging Biometric Technology[J],Proceeding of theIEEE,1997,85(9):I348-I363
3、Boles算法。它是利用光滑函数的二阶导数作为小波,对信号作小波变换后,通过记录过零点之间数据,作为虹膜特征的编码进行比较。缺点是该算法识别率仅为92.54%详见文献Boles W,Boashah B.A human identification technique using images of the iris and wavelettransform,IEEE Trans on Signal processing,1998,46(4):1185-1188
上述三种算法,已较为成熟,代表国际主流。在国内,近年来也涌现出很多算法,但总体来说,实用价值和创新还不够。
发明内容
本发明的任务是提供一种基于小波变换检测模极大值的虹膜识别的算法,即采用本发明的方法,可以克服瞳孔放缩导致的纹理变形、图像平移和旋转、环境噪声等引入的误差。本方法中采用的小波运算,能简化运算量,提高识别速度。
为了方便描述本发明地内容,首先在此作一个术语定义:
1、定位:人眼图像从内到外为,瞳孔、虹膜、巩膜。瞳孔边缘和虹膜边缘都呈现为近似的圆形。虹膜识别是对虹膜的纹理作出分析,提取特征,进行匹配,达到识别目的。因而,首先要从人眼图像中,定位出虹膜纹理的具体位置,根据虹膜的外观表征,也就是要定位出一个圆环状的纹理,然后对其作分析。其中,由于瞳孔、虹膜的圆心通常不一致,所以虹膜纹理是近似圆环状。
2、归一化:将定位出来的虹膜纹理归一化为大小一致的矩阵图像。以内圆圆心为极坐标中心,作与水平线成θ角的射线,它与内、外圆边界各有一个交点,分别记作B(xi,yi),A(xo,yo)。在线段AB上任何一点的坐标(x,y)都可以用A(xo(θ),yo(θ)),B(xi(θ),yi(θ))的线性组合来表示,即
其中r是一个无量纲的参数,r∈[0,1],θ∈[0,2π]。此变换能将虹膜纹理中的任意点的直角坐标转换为极坐标。将转化得到的极坐标,以参数θ为列的序数,参数r为行的序数,构建一个大小一致的矩阵图像m。
3、直方图均衡化:由于非均匀光照的影响,使得虹膜纹理对比度不够明显,通过将原始图像的直方图变换为均匀的形式,增加像素灰度值的动态范围,增强了图像整体上的对比度。经过均衡化后的图像,其清晰程度有明显的提高。
4、高斯函数:典型的光滑函数,它可无限次求导,其表达式
光滑函数的能量通常集中在低频段,可看成低通滤波器的系统响应函数。因此,信号f(x)与θ(x)的卷积(f*θ)(x)衰减了f(x)的高频信息,而不改变低频部分,从而对f(x)起到了光滑作用。
5、突变点:信号的奇异点,是信号发生剧烈变化的地方。函数在某处有间断或某阶导数不连续,则称该函数具有奇异性,用Lipschitz指数来刻画。通常突变点包含了信号的重要信息。
6、高斯函数一阶导数:高斯函数的一阶导数,其表达式
可作为小波对信号作小波变换,变换结果相当于将信号用高斯函数光滑后取一阶导数,其极大值对应的位置是信号的突变点的位置,包含了信号的重要信息。
7、尺度因子:在小波变换中,小波函数伸缩的量度。小尺度时,小波函数收缩,代表高频变换;大尺度时,小波函数扩展,代表低频变换。在
中引入尺度因子S,得到
可以通过S的变换,得到不同尺度的小波函数。
8、特征编码:采用某种算法,将虹膜纹理用一个特征编码表示,用于匹配识别。本发明中虹膜纹理的特征编码是在小波变换后得到的向量t中检测极大值,搜索t中所有的局部极大值,将局部极大值及其前后相邻的两个位置的点设为1,向量t中的其它点设为0。以此得到二值特征编码,用于匹配识别。
9、海明距离:两个长度相等的序列对应位置字符不同的个数。海明距离越小,两个序列越相似。本算法中,海明距离表示为:两个特征编码对应位置字符不同的个数除以特征编码的长度。
本发明的创新之处在于:
1、特征信号的构建,是对完成定位的虹膜纹理作归一化处理,通过适当剪切,除去上下眼皮的影响,重新构建一个纹理矩阵,分块求其均值而得到。
2、采用小波函数为高斯函数的一阶导数。在利用小波变换检测信号突变点的原理中,可以采用高斯函数的一阶导数或者二阶导数作为小波,前者是检测局部模极大值,后者是检测过零点。但事实上,通过利用高斯函数的一阶导数作为小波检测局部模极大值,比二阶导数检测过零点更能准确的检测到突变点。
3、利用小波变换检测模极大值,确定信号突变点位置的原理完成虹膜识别。现有的虹膜识别方法中,一般采用小波变换检测过零点的方式,实质是对Boles算法的借鉴,创新不多。
4、本发明中,采用小波运算,总体运算量不大,对于识别速度的提高,有显著效果。
附图说明
图1是归一化示意图;
归一化的意义是将呈现为近似圆环状的虹膜纹理拉伸为一个矩阵图像,这样可以解决每次获得虹膜图像大小不一致的问题。在拉伸的过程中,会出现插值现象,但不会给识别结果造成太大影响。
图2是原始虹膜图像示意图;
图3是归一化后的虹膜纹理图像示意图;
由于上、下眼皮的遮掩,本发明剪切出图中m1、m2所示部分,然后连接在一起,构成新的纹理,用于特征信号的提取。
图4是剪切出来的纹理部分重新构成的虹膜纹理图像;
图5是本发明的流程图。
具体实施方式
基于小波变换和极大值检测的虹膜识别方法,包含下列步骤:
步骤1、将经定位后的虹膜纹理图像归一化为一个标准大小的图像矩阵
以瞳孔圆心为坐标原点,构建一个极坐标系,将虹膜纹理图像中每一个像素点的直角坐标映射到极坐标中,得到相应参数(r,θ)。以参数r作为行,θ作为列,将近似圆环的虹膜纹理拉伸为一个75×360的图像矩阵m。这个步骤会包括插值现象。
步骤2、为了消除上下眼皮对纹理的影响,将图像矩阵m中第1行至第25行剪切出来,得到一个25×360的矩阵m1;将图像矩阵m的第121列至第360列中的第26行至第50行剪切出来,得到一个25×240的矩阵m2;将m1和m2合并为一个25×600的矩阵M。
步骤3、将图像矩阵M作直方图均衡化处理,得到一个图像增强后的矩阵N。
步骤4、在矩阵N中,每5×5个像素点作为一个分块。求出每一个分块的均值,一共可以得到5×120个值,将这些值按行首尾连接,构成一个长度为600位的特征信号f(x)。
步骤5、以高斯函数的一阶导数作为小波(滤波器),在尺度因子S=1、2两个尺度下,分别对特征信号f(x)作卷积运算(实质为小波变换)。为了计算方便,不考虑滤波器长度,得到的结果仍为两个长度为600位的向量t1、t2。
步骤6、将t1、t2首尾连接成一个长度为1200位的向量v。在向量v中作局部模极大值检测,如果v(i-1)<v(i)>v(i+1),其中i=2,3.....599,也就是说,v(i)为局部极大值,那么令v(i-1)=v(i)=v(i+1)=1,否则v(i)=0。这样就得到一个1200位的二值编码,以此二值向量v作为虹膜纹理的特征编码,用于匹配识别。
步骤7、对于来自两个虹膜纹理的特征编码v1、v2,通过比较二者的海明距离,得到匹配结果:
若海明距离小于阈值T,认为两个虹膜纹理相匹配;若海明距离大于阈值T,认为两个虹膜纹理不相匹配。通过以上步骤,我们就完成了虹膜识别。
需要说明的是:
步骤1中,进行归一化处理时,角度θ的范围取的是:31°→390°。也就是说,在以内圆圆心为中心的极坐标中,从30°开始运算,目的是为了在消除上下眼皮干扰时,剪切纹理方便。归一化的物理意义,可以理解为,将一个圆环纹理拉伸为一个矩形纹理,其中包含了插值现象,但每一个虹膜纹理都将作归一化处理,因此插值现象对于每一个虹膜纹理的影响是大致相当的,不会给以后的识别带来太多影响。
步骤2中,之所以要将两个剪切出来的子纹理合并,是为了构建一个完整的特征信号,方便运算。
步骤4中,采取每5×5像素点作为分块并求均值。这主要考虑到不同条件下获取的虹膜图像,纹理不可能完全一致,总会出现一些变形、平移、旋转等现象,这些干扰即便通过归一化处理,也不可能完全消除。另外,获取虹膜图像时,可能引入噪声干扰。通过以5×5像素点作为分块,并求均值,可以很大程度上消除这些干扰。
步骤5中,选取尺度因子S=1、2两个尺度下对特征信号作小波变换,事实上选取两个尺度可以针对突变点的突变情况完成相应检测:小尺度检测尖锐突变点,大尺度检测相对缓变的突变点。用高斯函数的一阶导数作为小波,对信号作小波变换,相当于用高斯函数去“光滑”信号后求一阶导数,其结果的局部模极大值对应了原始信号中的突变点,通过检测局部模极大值确定原始信号突变点的位置。
步骤6中,在小波变换结果中检测时,当检测到一个局部极大值时,将局部极大值和相邻的前后两个位置都设为1,是考虑到纹理可能有平移的现象,即便来自同一个虹膜纹理的两个特征信号,它们的突变点也不可能完全一一对应,通常有一定的偏移现象,为了消除这种偏移,将检测到的突变点及其相邻的前后两点均设为1。如果仅将局部极大值设为1,那么可能因为纹理出现平移现象导致本算法失效。
步骤7中,比较两个特征编码的海明距离,实质为比较两个虹膜纹理的特征信号的突变点位置的相似性。
基于小波变换模极大值检测是利用光滑函数(如高斯函数)一阶导数作为小波,对信号作卷积运算,也就是小波变换,相当于用光滑函数对信号作平滑处理后求一阶导数,然后通过检测变换结果的模极大值来确定信号的突变点。信号的突变点包含了虹膜图像的重要特征,通过确定信号突变点的位置,比较其位置的相似性,从而实现虹膜识别。
本发明将定位完成后的虹膜作归一化处理,在归一化图像中,采用分块计算均值的方法获得虹膜纹理的特征信号,然后采用小波变换模极大值检测,确定信号突变点的原理,对特征信号进行小波分析,确定信号中的突变点,根据突变点位置进行编码,最后通过计算海明距离对特征编码作匹配比较。
采用本发明的方法,用中科院自动化所的虹膜图库作为测试样本。从图库中选取100个虹膜,每个虹膜选取两个图像,共200幅图像,分成A、B两组,每组100个互不相同的虹膜图像。A组中每一个图像,在B组中,有唯一一个图像与之相同。根据本发明提供的算法,作100×100次测试,得到测试结果的错误拒绝率为2%,错误接受率为0.33%,考虑错误拒绝率和错误接受率都是错误识别结果,因此测试结果获得了97.67%的识别率。