科普:虹膜识别

简介

虹膜识别的方法最早由美国的眼科医生Leonard Flom 和 Arin Safir在1987年提出来的。虹膜识别的算法是由剑桥大学John Dargman博士研究出来的。他提出了对虹膜进行编码、比较的数学算法。

虹膜是瞳孔周围的环状颜色组织,它有丰富而各不相同的纹理图案,构成了虹膜识别的基础。虹膜识别技术是通过一种近似红外线的光线对虹膜图案进行扫描成像,并通过图案象素位的异或操作来判定相似程度。虹膜识别过程首先需要把虹膜从眼睛图像中分离出来,再进行特征分析。理论上找到两个完全相同的虹膜的概率是120万分之一。这也是目前已知的所有生物识别技术中最为精确的。

一个人的虹膜在发育成熟后终生不变,且具有极高的唯一性,因此,是一种安全性(密切量)极高的人体生物特征。虹膜是与视网膜不同的概念,它存在于眼的表面(角膜下部),是瞳孔周围的有色环行薄膜,人眼的颜色就是由虹膜决定的,不受眼球内部疾病的影响。

原理

虹膜识别技术的过程一般来说分为:虹膜图像获取、图像预处理、特征提取和特征匹配四个步骤
虹膜识别步骤

  • 虹膜图像获取:使用特定的数字摄像器材对人的整个眼部进行拍摄,并将拍摄到的图像通过图像采集卡传输到计算机中存储。
  • 虹膜图像预处理:图像预处理是指由于拍摄到的眼部图像包括了很多多余的信息,并且在清晰度等方面不能满足要求,需要对其进行包括图像平滑、边缘检测、图像分离等预处理操作。
  • 虹膜特征提取:特征提取是指通过一定的算法从分离出的虹膜图像中提取出独特的特征点,并对其进行编码。
  • 虹膜特征匹配:特征匹配是指根据特征编码与数据库中事先存储的虹膜图像特征编码通过像素异或操作进行比对、验证,从而达到识别的目的。

虹膜图像获取

采用特定的摄像设备获取到人眼部图像,获取到图片数据后,只需要将其按照一定的图片格式写入文件,即可完成需要的眼部图像在计算机中的存储。大部分程序采用的是BMP格式的图像文件,因为BMP图像文件存储的图像数据没有经过压缩,方便以后对图像进行的预处理。

眼部图像的预处理

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位的灰度图像。

获取到的眼部图像转换为灰度图像之后,还需要对灰度图像进行去噪声处理。如空域法中的加权均值滤波,它是用一个有奇数点的滑动窗口在图像上滑动,将窗口中心点对应的图像像素点的灰度值用窗口内的各个点的灰度值的平均值代替,如果滑动窗口规定了在取均值过程中窗口各个像素点所占的权重,也就是各个像素点的系数。

提取虹膜图像

此过程需要读取眼部图像的数据,检测虹膜图像的内外边缘,提取内圆圆心坐标及短半径,再求出虹膜长半径,建立极坐标系,分离虹膜图像,最后进行特征提取。

和眼睛的其他部分相比,瞳孔的灰度值要小得多,也就是颜色要暗得多,而且在灰度级上有一个明显的突变,也就是说在瞳孔的灰度级要比其他部分的灰度级“黑得多”。因此,可以充分利用这个特性。

假设图像灰度值从62开始,且图中存在若干个峰值点。我们已知瞳孔的颜色最暗,因此可以判定第一个波峰为瞳孔的灰度分布。具体观察第一个峰值,其基本呈正弦函数状分布,假设以72为波峰(值:884),左侧62(值:0)为波谷,1/4。周期为10。据此,我们确定右侧的波谷为82。对灰度图像的直方图进行二值化,阈值为 82,可以求出虹膜的长半径。

posted @ 2019-07-25 18:38  连理枝  阅读(1560)  评论(0编辑  收藏  举报