基于虹膜的人体特征识别方法研究(图)
扫描二维码
随时随地手机看文章
人体特征识别方法,也叫生物特征识别方法,是指利用人的独特的生理及行为特征进行鉴别的身份验证的技术手段。它的产生及发展源于人们在迈进数字时代的过程中对身份验证方法的准确性与便捷性不断提高的需求。传统的身份验证方法主要包括身份标志物(如钥匙、证件等)以及身份标志信息(如账号、密码等),或者以上二者的结合(如银行卡等)。人们在使用过程中发现,他们都存在着共同的缺点:易于遗失和伪造。而且传统的身份验证系统并不能有效的识别持有这些身份标志事物的人是否是真正的拥有者。因此,一旦被冒充,真正的拥有者将遭受极大的损失。因此,人体特征识别方法作为一个更加有效的解决方案逐渐得到广泛应用。
人体特征的鉴别方法有很多种。在所有生物特征中,指纹相对稳定但录取指纹不是非侵犯性的。脸像特征具有很多优点(如主动性、非侵犯性和用户友好等),但脸像随年龄而变化,而且容易被伪装。声音特征具有与脸像特征相似的优点,但它随年龄、健康状况和环境等因素而变化,而且说话人识别系统也容易被录音所欺骗,容易被伪造。虹膜特征识别解决了这些问题,还具有上述其他生物特征所不具备的一些优点,故近年来虹膜识别技术被认为是最有前途的生物识别技术之一。
虹膜识别技术的一般过程
虹膜识别技术的过程一般来说分为:虹膜图像获取、图像预处理、特征提取和特征匹配四个步骤。
虹膜图像获取是指使用特定的数字摄像器材对人的整个眼部进行拍摄,并将拍摄到的图像通过图像采集卡传输到计算机中存储。
图像预处理是指由于拍摄到的眼部图像包括了很多多余的信息,并且在清晰度等方面不能满足要求,需要对其进行包括图像平滑、边缘检测、图像分离等预处理操作。
特征提取是指通过一定的算法从分离出的虹膜图像中提取出独特的特征点,并对其进行编码。
最后,特征匹配是指根据特征编码与数据库中事先存储的虹膜图像特征编码进行比对、验证,从而达到识别的目的。
获取眼部图像
本文的虹膜图像摄取装置如图1所示,采用的是卓为(SOVIC)SP-313 摄像头。该摄像头采用的是最新CCD效果的CMOS感光芯片,图像分辨率为 35万像素(640×480 无软件插值),内置低照度的辅助光源,能最大限度减少对人眼的刺激,使用时配以人工暗室,使人的眼部图像更清晰、明亮。图2是本设计采用的摄像头获取到的人眼部图像。
图1 虹膜图像摄取装置
获取到图片数据后,只需要将其按照一定的图片格式写入文件,即可完成需要的眼部图像在计算机中的存储。本文程序中采用的是BMP格式的图像文件,因为BMP图像文件存储的图像数据没有经过压缩,方便以后对图像进行的预处理。
图2 人的眼部图像
眼部图像的预处理
BMP图像文件格式主要有1、4、8、16、24和32位等图像格式。32位BMP图像文件格式表示该图像有232种颜色,图像中的每个像素用32位表示,一般情况下该文件格式没有调色版,32位中的最高8位保留,其余8位表示红色,8位表示绿色,8位表示蓝色。8位BMP图像文件表示该图像有256种颜色。图像中的每个像素用8位表示,并用这8位作为索引在彩色表中查找该像素的颜色,8位BMP图像一般也叫做灰度图像。
在本文获取到的图像是32位的彩色BMP图像。32位的彩色图像存储的图像色彩数据较多,图像文件的尺寸也较大。但是从本文图像识别的要求来看,这些都是不必要的,因此有必要将其转换为8位的灰度图像。
转换公式如式(1)所示。
(1)
其中Gray (i, j)为转换后的黑白图像在(i, j)点处的灰度值,由于公式中绿色所占的比重最大,所以转换时可以自接使用G值作为转换后的灰度。转换后的灰度图像如图3所示。从图像上看与 32 位RGB 图像没有大的不同,但是图像文件的尺寸从1.17Mb缩小到了301Kb。
图3 人眼部图像的灰度图像
将获取到的眼部图像转换为灰度图像之后,还需要对灰度图像进行去噪声处理。本文采用的是空域法中的加权均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图像像素点的灰度值用窗口内的各个点的灰度值的平均值代替,如果滑动窗口规定了在取均值过程中窗口各个像素点所占的权重,也就是各个像素点的系数。
提取虹膜图像
此过程需要读取眼部图像的数据,检测虹膜图像的内外边缘,提取内圆圆心坐标及短半径,再求出虹膜长半径,建立极坐标系,分离虹膜图像,最后进行特征提取。
和眼睛的其他部分相比,瞳孔的灰度值要小得多,也就是颜色要暗得多,而且在灰度级上有一个明显的突变,也就是说在瞳孔的灰度级要比其他部分的灰度级“黑得多”。因此,可以充分利用这个特性,对图 2进行直方图分析,结果如图 4所示。
图4 灰度直方图
对图4计算结果可以得出,图像灰度值从 62 开始,且图中存在若干个峰值点。我们已知瞳孔的颜色最暗,因此可以判定第一个波峰为瞳孔的灰度分布。具体观察第一个峰值,其基本呈正弦函数状分布,以 72 为波峰(值:884),左侧 62(值:0)为波谷,1/4 周期为 10。据此,我们确定右侧的波谷为 82。根据分析结果,对图 4进行二值化,阈值为 82,可以求出虹膜的长半径,如图5所示。
图5 虹膜长半径
对图1的图像数据,从左右顺次、从上至下扫描每个像素点,根据式(2)计算每个像素点与圆心的距离。
(2)
其中,dist为距离,(x,y)为扫描点的坐标值,(Xpos,Ypos)为虹膜圆心的坐标值。保留所有小于等于虹膜长半径或大于等于虹膜短半径的像素,其余设像素值为0(即标为黑色)。保留的环形部分即为截取到的虹膜图像部分,如图6所示。
图6 环形的虹膜图像部分
为了提取虹膜图像的特征值,建立一个特征矩阵数组,X、Y 值与上一步中的矩形数组一致,用来存放相应的特征值。这些值对于虹膜图像中的每一个像素点来说都是其独有的、能对其进行唯一标志的值,因此都可以作为特征值来利用。本文中提取的是每个像素点的二导函数作为其特征值,因此在本步骤中可以直接将其读入到特征矩形数组中。
特征匹配
本文采用海明距(Hamming Distance)进行特征匹配。海明距最初为了解决通信中存在的误码问题而发明的。简单来说,它是指同样长度的两个码中,对应位不同的码的个数。比如:10101 和 00110,海明距为3。式(3)为海明距定义的公式。
(3)
其中Ai和Bi为待比较的两端代码,+为异或运算,L为代码的长度。
将两幅虹膜图像的特征编码进行按位比较时,同一虹膜的不同时间提取的特征码,其 HD 分布的峰值将在 0.1 附近;而不同虹膜的特征码进行比对时,HD 分布的峰值将在 0. 5 附近。这里所说的分布的峰值是按位比较时,两段特征编码相应位相同的概率的最大值。因此,对已经得到的虹膜图像特征矩阵数组,首先要从中随机的选择一段 L 长度的代码(二进制),即随机选择代码段的起始位置。这里要注意的是,对于待识别的两段代码,起始位置要尽量一致。L 的值可随意设定,但 L 的值越大,匹配的时间越长,速度越满,识别的精度越高,匹配的正确率越大;反之,L 的值越小,匹配的时间越少,速度越快,识别的精度越低,匹配的正确率越小。本文中 L 的值设为 2048。
结果分析
精确性是最重要的一个性能指标,一般用识别率来表示,主要由拒判率、误判率和等误率来测定。
拒判率 FRR:也称错误拒读率或称错误不匹配率,表示授权人(合法的用户)不被准确承认(误认为冒名顶替者) 的程度。FRR 越大,系统越精确,安全性也越高,但宽容度越来越低,致使越来越多的合法用户被系统错误的拒绝。反之授权人越容易通过,未授权者也变得容易混入。FRR 实际上也是系统可接受性的重要指标。
误判率 FAR :也称错误接收率或称错误匹配率,表示未授权的人(冒名顶替者)被确认成授权人(有效的个体)的程度。FAR 的值越小,说明未授权的人越无法通过,系统越安全。但是,授权人的通过将变得越发困难。如在对安全有严格要求的应用领域,可以运行在很小的 FAR 上。FRR 和 FAR 之间的关系如图 7 所示。
图7 拒判率和误判率之间的关系
实验结果表明,本文所设计的系统在精确性、识别速度上满足了实用的要求。