项目信息
1.项目名称:根据FPGA的混沌加密虹膜辨认体系规划
2.运用领域:工业操控、科研、医疗、安检
3.规划摘要:
根据虹膜的生物辨认技能是一种最新的辨认技能,经过必定的虹膜辨认算法,能够到达非常优异的准确性。跟着虹膜辨认技能的开展,它的运用领域越来越宽,不仅在高度机密场所运用,并逐步推行到机场、银行、金融、公安、出入境口岸、安全、网络、电子商务等场合。在研讨了虹膜辨认算法,即预处理、特征提取和匹配的基础上,咱们规划了一种可便携运用的根据FPGA的嵌入式虹膜辨认体系。本体系由6个模块组成:电源办理和监控、虹膜图画收集(CMOS图画传感器,ADV7183)、虹膜图画处理(FPGA)、存储器(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]中,介绍的环量积分算子应该式是一种有用的办法。
即: (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)准确查找,以承认圆的准确巨细。
经过上述办法,对图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上准确显现比对成果,使得比对身份辨认愈加直观。