基于FPGA的混沌加密虹膜识别系统设计(二)
扫描二维码
随时随地手机看文章
7.1.3 虹膜外边缘的确定
(1) 虹膜外边缘的特征分析
由图1中所示的虹膜图像可以看出,虹膜外边缘的主要特点是:较相对与虹膜内边缘而言,边缘处灰度变化不是特别明显,有一小段渐变的区域。也就是说,虹膜内部灰度趋近于一致这个事实,在参考文献[8]中,介绍的环量积分算子应该式是一种有效的方法。
即:
(7-10)
(2) 采用环量积分算子实现虹膜外边缘的检测
如上分析,虹膜环量积分算子是检测虹膜外边缘的一种有效手段,为了克服虹膜纹理对环量线积分的影响,本文对式(7-1)作了如下改进,将环量线积分
改变为求
的圆环状区域的面积分。即:
(7-11)
各符号的意义与(7-1)相同,为了便于计算,将其离散化可得:
(7-12)
式中
分别为t,
增长的步长,n,k,l,m分别为求卷积时高斯函数的中心、圆环中心、圆环的宽度、旋转角度等参数的增量。显而易见,式(7-12)和式(7-11)并不完全等价,式(7-11)中积分号内的部分的意义为积分区域内各个点的灰度的平均值,式(7-12)计算的是积分区域各个点灰度的总和,但由于(7-12)中角度
的步长
和圆环宽度t 的步长
以及圆环的宽度t 都是固定的,也就是说,对应不同的的圆环,从其中提取的计算环量积分的点的个数都是固定的,因而两者只相差一个比例常数,并不影响判断。注意,由式(7-1)到式(7-11)的改进过程中用到了卷积的性质:
(7-13)
如果使用式(7-12)在整个图像空间中搜索,则系统开销过大,本文将充分利用已经求得的瞳孔中心的位置参量,设定虹膜外边缘的圆心与瞳孔中心相差5 各像素,从而将在整个区域内的搜索简化为在5×5 的矩形区域内的搜索,大大减少了算法的时间复杂度。考虑到虹膜图像的上部和下部易于受到眼皮和睫毛的干扰,在计算环量积分时,
取值限定在
的范围内。
为了进一步减少系统搜索的开销,本文采用一种由粗到精的取点与计算方法,设点
为搜索点,以t 为半径增量,依次计算式(7-11)所示的环量面积分算子,在搜索空间内求得通过环量面积分的的最大值初步确定圆心和半径
之后,再以
为圆心,在
区域内使用式(7-1)精确搜索,以确定圆的精确大小。
7.2 虹膜图像的展开
为了便于对虹膜图片分析,一般的系统中都要将其展开成矩形。
我们采用内圆圆心为中心,以虹膜的宽度为半径建立极坐标系,将虹膜在极坐标系(ρ,θ)下展开成为横坐标为θ,纵坐标为ρ的720*50 的矩形区域,展开的过程中,必然会出现新的图像中某些点无法与原图像中的点进行匹配的情况,通常情况下应进行插值处理,一般情况下,插值有以下几种方法:(1)0级内插法,即将该点周围四个邻点中离它最近的一个点的像素的灰度级做为它的灰度级。(2)1 级内插法,亦称双线性内插法,是根据周围四个点的灰度在两个方向上进行线性内插,从而对原图像中不存在的点计算出其近似值而不是用其邻近点的像素来代替。(3)三次卷积法,是利用多项式来逼近理论上的最佳插值函数
的方法。由于0 级插值法缺乏一定的精度,而三次卷积法又计算量过大,本文中采取双线性内插法。使用极坐标的优点是:眼睛旋转的变化,可以转变为θ方向的平移。
7.3 虹膜图像的二值化
如上文所述,虹膜表面有许多斑点、凹陷区和皱纹组成,这些特征形成与遗传和胚胎发育过程,含有丰富的信息。而且终生不变,从这些信息中可以用不同角度用不同的方法提取出用于区分不同虹膜的特征,进而进行身份识别。
本文采用虹膜图像的结构特征分析方法进行虹膜识别。结构特征通常包括控制点,角,线段等等,结构特征具有直观性好、稳定性高、抗噪声能力强、编码效率高等优点。利用结构特征进行编码可以方便地解决虹膜图像残缺问题和局部编码的区域划分误差。由于结构特征的直观性,便于形成统一的数据格式,有利于应用的推广。在灰度图中,虹膜区域的纹理特征表现为虹膜区域内的灰度变化,记录这些灰度变化,对图像进行二值化处理,将图像背景和灰度急剧变化的区域分开,可以作为虹膜识别的依据,下面就探讨虹膜图像二值化的方法。
7.3.1 虹膜图像二值化方法探讨
从直观来看,提取图像灰度变化的方法只需设定一定的阈值就提取其变换的信息,但是这种方法在提取灰度变化信息时却有一定的局限性。如图9所示为一图像的截面图。横坐标表示截面的伸展方向,纵坐标表示对应点的灰度,若取阈值为A,则BC的之间的灰度变化体现不出来,同理,若取阈值为C,则无法体现AB之间的阈值变化。
7.3.2 边缘检测与滤波器的选择
对于灰度图像中的各点,其灰度值的一阶或二阶导数能够很好地体现图像边界点,本文将探讨用二阶导数来求边缘点,以反映图像灰度的变化,从而确定特征点,但是由于噪声信号的影响,一般应先对信号进行平滑滤波,设信号g(x),如平滑滤波器的冲击响应函数用h(x)表示,则滤波后的信号为g(x)=f(x)*h(x),然后再对g(x)求二阶导数以检测边缘点。
由于微分运算与卷积运算次序有以下互换关系:
因此可以先平滑,后微分的两步运算合并,并将平滑平滑微分滤波器的导数称为一阶微分滤波器,将
称为二阶微分滤波器,平滑滤波器应满足以下条件:
(1)当
为偶函数;
(2)
;
(3)h(x)一阶及两阶可微;
上述第二个条件保证了信号经平滑滤波器h(x)滤波之后,其均值不变。
Marr 提出用下述的高斯函数作为平滑滤波器:
是一个圆对称函数,其平滑的作用可通过σ 来控制,由于对图像进行线性平滑,数学上是进行卷积,令g(x,y)为平滑后的图像,得到:
;
其中
是平滑前的图像。
而沿梯度方向的二阶导数是非线性的,计算较为复杂,Marr 提出用拉普拉斯算子来替代,即用
(7-14)
式中
为LOG(Laplacian of Guassian )滤波器。
(7-15)
Marr 的
算子能较好地反映人们地视觉特性,通过对人眼视觉机理研究表明,对感受为同心圆的视神经细胞,其输出相当于两个高斯函数之差,视觉生理学中常用DOG(Difference of two Guassian functions)来描述:
式中的正项代表激励功能,负项代表抑制功能。
实验表明,用不同的σ 高斯滤波器检测边缘,σ 越大,检测到的边缘越少,这一点可用滤波器的频率特性说明:
由于高斯函数
的傅立叶变换为:
(7-16)
可见高斯平滑滤波器为低通滤波器,但σ 越大,频带越窄,对较高频率的噪声有很强的噪声抑制作用。
为了可靠地检测边缘,有人同时用多个大小不同的尺度σ来进行滤波,这一点后来发展成为尺度滤波法。
7.3.3 利用边缘检测结果对图像进行二值化
对于灰度值没有变化的背景图像,其一阶二阶导数
都为零,灰度值递增,一阶导数大于零,灰度值递减,一阶导数小于零。对于图像的边缘,往往是图像灰度值激变的地方,其灰度的变化量达到峰值,即一阶导数达到极值点,相对应二阶导数为零,由数学分析中的函数理论可知,二阶导数为正的点其灰度曲线是凹的,而二阶导数为负的点其灰度曲线是凸的。对一幅灰度图像来讲,一旦灰度值发生变化,就可以从其二阶导数上反映出来,二 阶导数的正负可以反映灰度变化的形式。图10显示了一个函数及其二阶导数的图形。
设图9为图形中某一斑点的灰度截面图,则按照下式就可以使图像二值化,由背景图案中显示出此斑点。
(7-17)
式中
为二值化的图像,
为由(7-14)式进行高斯拉普拉斯变换后的图像值,但是对于图像截面的斑点,二值化后的图像中却显示为一个圆环。对此,本文对式(7-17)做如下修正,以确保该点是一个斑点而不是一个圆环:若
大于等于零,则考察与它最近的非零点,若该点大于0,则其等于零,若该点小于零,则其等于255。在对图像的扫描中,实际上是从左到右进行的,一种简化的方法就是考察该已扫描的各点,由这些点中离该点最近的非零值来决定该点的值。因此二值化的表达式是:
其中t 为图像中(x,y)前方的最近的一个非零点,这样改进以后可以减少特征点内部夹杂的斑点。
7.4 虹膜图像比对及识别理论分析
有上述陈述我们知,归一化后的虹膜图像大小为720*50,这使得前期计算量较大。提取出720*50位的二值编码后,在匹配时,用汉明距离(HD)对两个虹膜特征码进行匹配比对,公式如下:
其中,
分别表示虹膜特征码A和B的第j位编码,
表示“异或”运算,当A和B对应的码字相同时(都是1或者0),则异或值为0;A和B对应的码字不同时,则异或值为1。上式对两个长度为720*50位的虹膜码的对应每一位进行异或运算,如果两个虹膜码的每一位都相同,则HD=0;如果两个虹膜码的每一位都不同,则HD=1。因此,对于来自同一个虹膜的两幅图像来说,汉明距离比较小,对于来自不同虹膜的两幅图像来说,汉明距离比较大。
实际操作时,由于噪声影响以及前面处理过程中不可避免地会引入误差,来自于同一个虹膜的两幅图像的汉明距离不会是0,而是一个比较小的值;由于不同虹膜编码的对应位相等和不等的概率是一样的,因此,不同虹膜的两幅图像的汉明距离也不会是1,而是一个比较大的值。所以在匹配决策时,需要设定一个阈值,小于此阈值的两幅图像则认为属于同一个虹膜,反之,则认为属于不同的虹膜。
8.预期功能与目标
1)采集并识别虹膜图像,实现身份认证。
2)在无按键唤醒的状态下,系统暂停工作。
3)在工作状态下,通过在PC上的实时展示图像,进一步提高虹膜图像的获取质量。
4)在获取分辨率的虹膜图像的前提下,实现高精度的识别,将误差降到最低。
5)在TFT上精确显示比对结果,使得比对身份识别更加直观。