新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA的混沌加密虹膜识别系统设计

基于FPGA的混沌加密虹膜识别系统设计

作者:时间:2017-06-04来源:网络收藏

项目信息

本文引用地址:http://www.eepw.com.cn/article/201706/348695.htm

1.项目名称:基于系统设计

2.应用领域:工业控制、科研、医疗、安检

3.设计摘要:

基于虹膜的生物识别技术是一种最新的识别技术,通过一定的算法,可以达到十分优异的准确性。随着技术的发展,它的应用领域越来越宽,不仅在高度机密场所应用,并逐步推广到机场、银行、金融、公安、出入境口岸、安全、网络、电子商务等场合。在研究了虹膜识别算法,即预处理、特征提取和匹配的基础上,我们设计了一种可便携使用的基于的嵌入式虹膜识别系统。本系统由6个模块组成:电源管理和监控、虹膜图像采集(CMOS图像传感器,ADV7183)、虹膜图像处理()、存储器(SDRAM和FLASH)、人机交互(LCD和键盘)和网络传输模块,同时从硬件、软件和算法三个方面提出设计方案

4.虹膜识别原理

虹膜是一种在眼睛中瞳孔内的织物状各色环状物,每一个虹膜都包含一个独一无二的基于像冠、水晶体、细丝、斑点、结构、凹点、射线、皱纹和条纹等特征的结构。据称,每个人每只眼睛的虹膜都是唯一的,即使是整个人类,也没有任何两个虹膜在数学细节(mathmatical detail)是相似的,即便是一对双胞胎,他们的虹膜也不会相同。

虹膜是位于眼睛黑色瞳孔和白色巩膜之间的圆环状部分,总体上呈现一种由里到外的放射状结构,由相当复杂的纤维组织构成,包含有很多相互交错的类似于斑点、细丝、冠状、条纹、隐窝等细节特征,这些特征在出生之前就以随机组合的方式确定下来了,一旦形成终生不变。

从一定的距离之外可以看到虹膜,这样可视性为生物测量方案的操作上提供了理想的条件,不像DNA这种生物特征的不可视。登记时获得图像,以及身份识别都是很容易完成的,最重要的是这种技术的抗干扰性(抗插入性)。其他生物测量技术在数学算法的确定性、速度以及非干扰性这些方面与虹膜识别不可同日而语。在当今世界,虹膜识别仍被公认为是识别精度最高的生物识别系统。

虹膜识别技术就是应用计算机对虹膜纹理特征进行量化数据分析,用以确认被识别者的真实身份,是目前世界上最尖端的生物识别技术。

一个自动虹膜识别系统包含硬件和软件两大模块:虹膜图像获取装置和虹膜识别算法。分别对应于图像获取和模式匹配这两个基本问题。

采集:

从直径11mm的虹膜上,Dr.Daugman的算法用3.4个字节的数据来代表每平方毫米的虹膜信息,这样,一个虹膜约有266个量化特征点,而一般的生物识别技术只有13个到60个特征点。266个量化特征点的虹膜识别算法在众多虹膜识别技术资料中都有讲述,在算法和人类眼部特征允许的情况下,Dr.Daugman指出,通过他的算法可获得173个二进制自由度的独立特征点。在生物识别技术中,这个特征点的数量是相当大的。

算法:

第一步是通过一个距离眼睛3英寸的精密摄像头来确定虹膜的位置。当摄像头对准眼睛后,算法逐渐将焦距对准虹膜左右两侧,确定虹膜的外沿,这种水平方法受到了眼睑的阻碍。算法同时将焦距对准虹膜的内沿(即瞳孔)并排除眼液和细微组织的影响。

单色相机利用可见光和红外线,红外线定位在700-900mm(这是IR技术的低限,美国眼科学会在他们对macularcysts研究中使用同样的范围)的范围内。


在虹膜的上方,算法通过二维Gabor子波的方法来细分和重组虹膜图象,第一个细分的部分被称为phasor,要理解二维gabor子波的原理需要很深的数学知识。

精确度:

虹膜识别技术是精确度最高的生物识别技术,具体描述如下:两个不同的虹膜信息有75%匹配信息的可能性是1:106等错率:1:1200000两个不同的虹膜产生相同虹膜代码的可能性是1:1052

录入和识别:

虹膜的定位可在1秒钟之内完成,产生虹膜代码的时间也仅需1秒的时间,数据库的检索时间也相当快。处理器速度是大规模检索的一个瓶颈,另外网络和硬件设备的性能也制约着检索的速度。由于虹膜识别技术采用的是单色成像技术,因此一些图像很难把它从瞳孔的图像中分离出来。但是虹膜识别技术所采用的算法允许图像质量在某种程度上有所变化。相同的虹膜所产生的虹膜代码也有25%的变化,这听起来好象是这一技术的致命弱点,但在识别过程中,这种虹膜代码的变化只占整个虹膜代码的10%,它所占代码的比例是相当小的。

在身份识别或确认过程中会有错误。有两个重要的测量因子——拒假率(FRR)和容假率(FAR)可以表明任何一种生物测量技术的正确性,可靠性。

拒假率(FRR)

在进行生物测量时,对某对象的某一生物特征进行生物测量所得结果与该对象已经记录在系统中的模板不匹配,这时拒假事件发生。理论上拒假事件的发生概率或者实际发生的频率(在有足够的历史数据可用的情况下)就是拒假率。 拒假率FRR在不同的生物测量体系和技术中值不同;而在任何一个单独的生物测量体系中,尽管用于识别或确认的过程不尽相同,但拒假率(FRR)可能会一样。因为在一个体系中仅有一个有效模板与该系统所获得的数据匹配。

FRR值在生物测量时又会因为环境的不同而不同, 比如使用者合作的程度,操作条件等都可以影响FRR。

容假率(FAR)

在生物测量时,有一种可能性——对某一个对象的某一生物特征扫描取得的数据与数据库中另外一个非该对象的模板足够相似以至于匹配,这种错误叫做接受假事件,相关的概率叫做容假率FAR。 一个生物测量系统的FAR反映了该系统所使用技术的基本性能及系统独特性。为了获得一个低的FAR值,在测量生物实体的模板时,一定要使用这个个体的独一无二的生物个性,同时用于测量该生物个体的算法一定要能够有效地抓住这种唯一的个性。

5.系统平台概述与资源分析

硬件架构部分:系统采用Xilinx公司XUP Virtex-II Pro系列FPGA作为核心的控制和运算芯片,数据采集模块由GD-A118型CCD传感器和ADV7183B视频编码器组成。其中,GD-A118型CCD传感器可以完成虹膜图像的采集,ADV7183B视频编码器负责将采集到得虹膜图像转换成数字信号,(利用SPI接口)传送至FPGA进行处理。当处理图像数据时,FPGA处理模块这一部分是本设计的核心部分,主要用于对已获取的高清晰虹膜图片结合算法作进一步的处理,从而获得重要的虹膜图像信息。

处理之后的图像会根据当前的操作模式被存入FLASH中作为建档模板,或者与当前模板进行匹配。工作前可用键盘对工作模式进行选择,另附带有LCD显示器用来显示模式选择和识别结果。

硬件框图如图1所示:

图1 基于FPGA的虹膜识别系统的结构设计

软件架构部分:采用ISE和EDK开发平台进行以MircoBlaze为系统控制器,以CORE Generator开发的并行处理IP作为复数迭代计算单元的系统结构。软件算法流程图如图2所示:

图2 嵌入式虹膜识别算法流程

6.项目内容简述:

本系统可以分为五个模块:

6.1 图像采集模块:核心部分为GD-A118型CCD传感器,ADV7183B视频编码器。主要用于获取高清晰虹膜图片。

6.2 实时图像处理模块:核心部分为XUP Virtex-II Pro开发板。

这一部分是本设计的核心部分,主要用于对已获取的高清晰虹膜图片作进一步的处理。其中包括质量评估、虹膜定位、虹膜分割、归一化、展开、二值化、增强、特征提取及编码等步骤。

6.3 视频输出模块:核心部分为ADV7179视频编码器。

主要用于将采集到的虹膜图像实时清晰的展示在PC机上,以提高虹膜图像的采集质量。

6.4 数据存储模块:核心部分为SDRAM和FLASH存储器。

主要用于提高系统存储空间,进一步提升平台处理图像的能力。

6.5 结果输出模块:核心部分为3.5英寸液晶屏。

主要作用是更加直观的展示比对结果。

6.6网络传输模块:该模块主要实现将加密后的图片信息传输到远程的中央服器。

7. 虹膜识别算法介绍

7.1虹膜内外边缘的识别及定位

通过虹膜采集设备采集到的虹膜图像,通常不可能仅仅包含虹膜,往往还有眼睛的其它部分,比如眼睑,睫毛,眼白等等,因而准确的虹膜定位是虹膜识别与分析的前提,虹膜及其解剖特征如图3所示。

(a)标准虹膜外观 (b)个人采集虹膜 (b)虹膜剖面

图3 虹膜及其解剖特征

7.1.1 虹膜内边缘的特征分析

如上图中所显示的虹膜图像来看,瞳孔的灰度最为趋向一致,也是图像中灰度最低的部分,图4(a)展示了图3的灰度直方图,由图可以看出,瞳孔的灰度集中在直方图的左侧,具有明显地峰值,图4(b)显示了对该图进行灰度分割后的结果。

(a)灰度直方图 (b)阈值变换

图4 图0.1的灰度直方图和阈值变换

由此可见,阈值分割不失为一种初步分离瞳孔的途径,但是应当指出,当我们采用的虹膜图片为标准图片时,即图像聚焦良好,光照均匀,对于此类图像,可以直接采用投影的方式确定瞳孔的半径和圆心,但是,对于光照不均匀的图像,特别是本实例中所使用的虹膜图像,阈值分割之后会出现许多干扰点。

如图5,就是是一幅光照不均匀情况下的虹膜图像及其阈值变换,可见关照不均匀的情况下阈值变换后的瞳孔边界有棱角,而且周围有很多干扰点,这对确定虹膜的内边缘增加了不少难度。

(a) 原图 (b) 阈值变换

图5 光照不均匀情况下虹膜的阈值分割结果

7.1.2 虹膜内边缘的确定

如上所述,阈值分割可以初步地将瞳孔分割出来,但是考虑到算法的抗干扰能力,应对不同光照情况下阈值分割图像的差异情况予以充分考虑,对于光照均匀程度所带来的噪声与干扰也应能够很好处理。本文拟对阈值分割后的图像进行精确取点,然后采用hough 变换来确定圆的圆心和半径。

(1) 圆的Hough 变换

Hough 变换是对图像进行某种形式的坐标变换,它将原始图像中给定的形状的曲线或直线变换成变换空间的一个点,即原始图像中曲线或直线上所有点都集中到变换空间的某个点上形成峰点,这样,把原始图像中给定形状的曲线或直线的检测问题,变成寻找变换空间的峰点问题,也即把检测整体特性(给定曲线的点集)变成检测局部特性的问题。

由上述原理,可得圆的Hough 变换的方法:在x-y 平面上,中心在(),半径是 的圆周C上一点(x,y)满足:

(7-1)

如果将圆心(a,b)看作为变量,则在a-b 平面上可以画出中心在(x,y),半径 的圆。在圆C 上的每一点(),在a-b 平面上有中心在(),半径为rc 的圆 与之对应,且这些圆组成了相交于一点()圆群,进一步把圆的半径r 作为变量,在a-b 平面得到由不同半径的圆CHi 构成的圆环。在a-b-r 空间中建立三维数组,数组中元素 ai,bi,ri P 的值代表a-b 平面上通

过点(ai,bi),半径为ri 圆的个数。如果图像中存在满足方程(7-1)的圆,则的值最大。即 (7-2)

因此,数组中最大值元素所对应的参量()就是图像中圆的中心和半径。

(2) Hough 变换的改进PHT 变换

上述变换方法虽然由使用广泛,但是因为它要在三维空间内搜索,计算复杂性较大,为此采用点Hough 变换,原理如图6所示,设K,L,M为圆周上三点,由圆的几何性质可知,KL 的中垂线L(KL) 与LM 的中垂线L(LM)必然相交于圆C 的中心O。设K、L、M 三点的坐标分别为,则L(KL) 和L(LM) 的方程分别为:

L(KL):

(7-3)

L(LM):

(7-4)

图6 PHT 变换原理图

利用(7-3)和(7-4)式,计算出圆C 的圆心()和半径

(7-5)

(7-6)

(7-7)

可见, 半径ri,中心()的圆周上任意不共线的三点(以下称为点组)对应a-b-r 空间中一点(),所以我们称之为点Hough 变换(Point Hough Transform)。

用向量表示a-b-r 空间中的点, 则图像中圆()上的点组对应于a-b-r 空间中的向量。在图像中选取N 个点组,得到包括,N 组来自同一圆上的点组对应的向量相同。向量组中不同编号的向量可能相同。向量组中出现次数最多的向量就是图像中圆的参量。用数组P[n](n=0, …, N-1),表示向量组中向量出现的次数,则有:

,其中 if(),kk=1 else kk=0 (7-8)

确定数组P[n]后,就可以找出图像中圆的参量值。

if (7-9)

根据实际应用,我们将式(7-8)中kk=1的条件改为为一微小增量,更为符合实际应用。

PHT 不需搜索变量空间,只对选取的点组进行统计,计算复杂性决定于所选择点组的数目。

PHT 过程包括两个步骤:确定参量向量组和找向量组中出现频率最大的向量。设选取的点组数为M,从上述分析可知, 过程的计算复杂度为O(M),过程最大数组是3×M。对于CHT 过程, 设图像中圆参量的取值范围分别为A、B、R,边缘点的数目为N。

7.1.3 虹膜外边缘的确定

(1) 虹膜外边缘的特征分析

由图1中所示的虹膜图像可以看出,虹膜外边缘的主要特点是:较相对与虹膜内边缘而言,边缘处灰度变化不是特别明显,有一小段渐变的区域。也就是说,虹膜内部灰度趋近于一致这个事实,在参考文献[8]中,介绍的环量积分算子应该式是一种有效的方法。

即: (710)

(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)精确搜索,以确定圆的精确大小。

通过上述方法,对图1进行处理,得如下图片:

图7 图1的内外边缘分析结果

定位结果    同态增强后的虹膜定

图8 内外边缘切割图

7.2 虹膜图像的展开

为了便于对虹膜图片分析,一般的系统中都要将其展开成矩形。

我们采用内圆圆心为中心,以虹膜的宽度为半径建立极坐标系,将虹膜在极坐标系(ρ,θ)下展开成为横坐标为θ,纵坐标为ρ的720*50 的矩形区域,展开的过程中,必然会出现新的图像中某些点无法与原图像中的点进行匹配的情况,通常情况下应进行插值处理,一般情况下,插值有以下几种方法:(1)0级内插法,即将该点周围四个邻点中离它最近的一个点的像素的灰度级做为它的灰度级。(2)1 级内插法,亦称双线性内插法,是根据周围四个点的灰度在两个方向上进行线性内插,从而对原图像中不存在的点计算出其近似值而不是用其邻近点的像素来代替。(3)三次卷积法,是利用多项式来逼近理论上的最佳插值函数的方法。由于0 级插值法缺乏一定的精度,而三次卷积法又计算量过大,本文中采取双线性内插法。使用极坐标的优点是:眼睛旋转的变化,可以转变为θ方向的平移。

7.3 虹膜图像的二值化

如上文所述,虹膜表面有许多斑点、凹陷区和皱纹组成,这些特征形成与遗传和胚胎发育过程,含有丰富的信息。而且终生不变,从这些信息中可以用不同角度用不同的方法提取出用于区分不同虹膜的特征,进而进行身份识别。

本文采用虹膜图像的结构特征分析方法进行虹膜识别。结构特征通常包括控制点,角,线段等等,结构特征具有直观性好、稳定性高、抗噪声能力强、编码效率高等优点。利用结构特征进行编码可以方便地解决虹膜图像残缺问题和局部编码的区域划分误差。由于结构特征的直观性,便于形成统一的数据格式,有利于应用的推广。在灰度图中,虹膜区域的纹理特征表现为虹膜区域内的灰度变化,记录这些灰度变化,对图像进行二值化处理,将图像背景和灰度急剧变化的区域分开,可以作为虹膜识别的依据,下面就探讨虹膜图像二值化的方法。

7.3.1 虹膜图像二值化方法探讨

从直观来看,提取图像灰度变化的方法只需设定一定的阈值就提取其变换的信息,但是这种方法在提取灰度变化信息时却有一定的局限性。如图9所示为一图像的截面图。横坐标表示截面的伸展方向,纵坐标表示对应点的灰度,若取阈值为A,则BC的之间的灰度变化体现不出来,同理,若取阈值为C,则无法体现AB之间的阈值变化。

图9 某图像灰度截面图

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)

图10 函数及其二阶导数

式中为二值化的图像,为由(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上精确显示比对结果,使得比对身份识别更加直观。



评论


相关推荐

技术专区

关闭