基于瞳孔变化的动态虹膜定位方法*

2023-08-31 08:39刘冬冬李向荣焦学
计算机与数字工程 2023年5期
关键词:虹膜瞳孔纹理

刘冬冬 李向荣 焦学䶮 续 敏

(青岛科技大学机电工程学院 青岛 266061)

1 引言

生物识别技术一直是社会安全领域的关注热点,目前虹膜识别被认为是近年来最值得信赖的生物识别技术之一[1]。它与生俱来,不易被破坏,且一生不会改变,被伪造盗用的可能性也微乎其微[2~4]。针对该识别技术,目前算法较多,其中虹膜定位算法一直是研究的热门,其快速准确的定位直接决定了该生物识别技术的推广性和可靠性。

目前较为热门的算法有Arif Iqbal Mozumder[5]提出了一种基于自适应直方图均衡和中值滤波技术的分割方法,该方法相较于Daugman[6~7]提出的两次采用Hough变换进行虹膜定位的方法,在准确度上有提升,但该算法的运算量仍较大,虹膜的定位速度较慢;孙雯雯[8]提出了一种基于Hough 变换定位虹膜内外边界的方法,该方法先对图像进行数学形态学操作,然后再使用Hough 变换,该方法同样存在运算量较大的问题,定位的速度有待提高。本文提出了一种快速定位方法,该方法首先通过准确过滤噪声,快速定位瞳孔区域,然后建立瞳孔半径与虹膜外径关系的数学模型,基于该模型自动定位虹膜外边界的方法,该方法相对已有算法的定位速度和准确度有显著的提高。

2 虹膜定位

通常采集的虹膜图像包含许多信息如图1 所示,而用于识别的信息只存在于虹膜区域内,即瞳孔与巩膜之间的环形区域[9],因此在进行虹膜识别之前,必须要对虹膜的内外边界进行定位,分离出有效区域。

图1 采集的虹膜图像

2.1 虹膜内边界定位

2.1.1 虹膜图像预处理

由于瞳孔的灰度值相对于虹膜及巩膜的灰度值较小,因此可以通过设定一较低阈值T,将虹膜图像转化为二值图像,进而定位虹膜的内边界[10]。首先将采集的虹膜图像转化为灰度图像,得到其灰度直方图,如图2 所示。通过观察虹膜图像的灰度直方图得知,若将瞳孔有效分离,需要将二值化阈值设置在第一个峰谷处。经该阈值二值化处理后的结果如图3所示。

图2 虹膜图像的灰度直方图

图3 二值化图像

由于Hough 变换需要把每一个灰度值为255的像素点作为有效像素点进行运算,而二值化之后的图像存在大量灰度值为255 的像素点,而这些像素点大多数都是无效信息,如果全部参与Hough变换,运算量大且效果不佳。因此要对二值图像进行边缘检测,利用边缘检测的信息进行圆检测。

本文采用在边缘检测中效果做好的Canny[11]算子,对二值化后的虹膜图像进行边缘检测,提取二值图像的边缘信息,经该算子处理后的二值图像边缘信息如图4 所示。由与存在睫毛,光斑等噪声,该图像仍达不到快速准确定位的要求,仔细观察图像,发现噪声区域大多数为面积较小的孤立点,本文根据这一特性继续对图像进行去噪处理,以保留瞳孔部分的信息,过滤掉光斑睫毛等噪声。

图4 Canny边缘检测

采用一种八连通的模板对图像进行连通区域检测,该模板如图5 所示。即将每一个灰度值为255 的像素点代入该模板,对八个方向进行连通区域的检测,并统计出该连通区域的面积。通过设定一面积阈值S,把图像中的噪声去除,结果如图6所示。

图5 八连通模板

图6 去噪后图像

经过去噪后的图像可以清晰地显示瞳孔所在的位置,且有效过滤了睫毛,光斑等噪声。但由于所采集的图像分辨率为640×480,即使是瞳孔大小的圆形也是由较多的像素点组成,如果直接对去噪后的图像进行Hough变换圆检测,计算量仍有待提高,本文继续提出一种缩小图像分辨率的方法进一步减少Hough 变换的运算量。即把640×480 分辨率的图像,在不影响瞳孔圆特征的情况下,将去噪后的图像长宽各缩小为原来的1/4,分辨率降为160×120,使得组成瞳孔的像素点数缩减为原来的1/16,进一步加快虹膜内边界的定位速度。其转换公式为

其中f小(x,y)为缩小后的图像,f原(4x,4y)为原图像,x和y为缩小4倍后的值。

2.1.2 Hough变换圆检测

Hough 变换是一种常用的计算机视觉算法,因为其可以根据几何图形的公式特性,通过投票机制准确地检测出几何图形的参数,而人眼的瞳孔近似于圆形,所以可以利用霍夫变换圆检测,推导出瞳孔的半径和中心坐标[12]。其原理公式如下:

其中x和y为圆上点的坐标,(a,b)为圆心坐标,r为半径。

对去噪后缩小后的图像进行Hough 变换圆检测,将得到的中心坐标和半径扩大4 倍并附加到原始图像上,即为瞳孔定位的效果。结果如图7 所示。

图7 Hough圆变换检测结果

2.2 虹膜外边界定位算法研究

由于虹膜和巩膜之间灰度值变化比较平缓,所以通过阈值分割法把虹膜外边界突显出来较为困难。通过观察采集的虹膜图像,可发现虹膜区域为夹杂在瞳孔和巩膜之间的环形区域,里面包含了复杂的纹理信息,而这些纹理信息正是虹膜识别进行比对的根本信息,因此虹膜的边界定位目的是把虹膜的纹理信息,尽可能多地用于虹膜匹配识别,而其它信息的占有率应尽可能小,进而保证虹膜识别的准确度。

由于虹膜的纹理信息主要集中在瞳孔附近,而外边界附近的纹理信息相对较少,因此只需要确定纹理的外边界即可完成虹膜的外边界定位,而瞳孔的大小变化会引起虹膜纹理的伸缩和拉伸,纹理的外边界半径R也会因此发生变化。本文对CASIA[13]提供的虹膜图像,按照瞳孔的尺寸进行分类,并通过虹膜识别匹配算法进行实验,通过不断调整外边界R,得到在不同R下的匹配识别率,取识别率最高的R值作为该瞳孔尺寸下虹膜纹理外边界的半径。经过反复试验得出结果:在瞳孔半径为r的时候,纹理的外边界半径R的变化情况如图8所示。

图8 瞳孔半径和虹膜纹理外边界半径关系

本文采用最小二乘法对其进行二次曲线拟合,得出瞳孔半径r与纹理的外边界半径R的对应关系如下:

y=(-0.0071)x2+0.79x+46.89 (3)

其中y为虹膜纹理的外边界半径,x为瞳孔半径。使用该方法进行定位的虹膜边界结果如图9所示。

图9 虹膜定位效果图

3 实验结果分析与比较

本实验使用的PC 主频为2.7GHz,内存16G,显存3G,运行于Windows 10 64 位操作系统上。为验证该算法的通用性,本文通过自行搭建设备,固定相机与人眼的距离,自行采集不同瞳孔大小的虹膜照片,用本文提出的算法进行定位,结果如图10 所示。采用本文提出的算法进行虹膜定位的时间如表1所示,其平均时间约为0.18s。

表1 不同算法虹膜定位所需时间

图10 不同尺寸瞳孔外边界定位效果

为进一步验证该定位方法的可行性,本文采用基于Gabor 滤波器的虹膜识别匹配算法[14],在Matlab R2019b 平台对中国自动化研究所提供的CASIA 虹膜照片进行匹配实验,得出结果如图11 所示。

图11 虹膜识别OCR曲线

实验结果表明,本文提出的虹膜定位方法在定位速度上相对其他算法有了较大的提高,且准确度较高,适用于虹膜匹配实验,等错率为2.1%。

本文提出的虹膜定位方法,在时间上优势很大,主要是因为本文在瞳孔定位阶段首先通过去除小面积的方法,去除了光斑、睫毛等噪声,缩减了Hough 变换的运算量,并且提高了瞳孔定位的准确性,然后通过缩小图像比例,进一步缩减运算量,从而实现虹膜的内边界快速定位;而虹膜外边界定位则利用虹膜纹理信息主要集中在瞳孔边缘的特征,建立瞳孔半径与虹膜外径关系的数学模型,动态实时定位虹膜图像的外边界,不同于传统虹膜外边界定位方法,该方法建立的数学模型不需要对真正的虹膜外边界进行定位,而是利用该模型直接计算出虹膜的有效外边界,极大提高运算效率。实验结果表明该方法将虹膜内边界定位时间缩减到了0.17s,而外边界的定位则缩减为0.01s,且该方法定位的虹膜区域,虹膜匹配识别准确度可达99.8%,证明了该定位方案的可行性较高。

4 结语

本文提出了基于瞳孔变化的动态虹膜定位方法,该方法首先通过对二值化的图像进行Canny 边缘检测,然后通过八连通的模板去除小面积区域,然后按照比例对图像进行缩小,极大提高了瞳孔的定位效率;然后依据虹膜用于匹配的纹理特征主要集中在瞳孔附近的特点,在瞳孔定位之后,根据已建立的瞳孔半径与虹膜外径关系的数学模型,动态定位虹膜的外边界,减少了虹膜定位算法的运算量,提高了定位效率。实验表明使用该方法定位的虹膜识别算法与其他定位算法相比较,其内边界定位速度得到显著提高,且具有较高的可行性。

猜你喜欢
虹膜瞳孔纹理
双眼虹膜劈裂症一例
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
瞳孔里的太阳
“刷眼”如何开启孩子回家之门
TEXTURE ON TEXTURE质地上的纹理
瞳孔
消除凹凸纹理有妙招!
瞳孔
虹膜识别技术在公安领域中的应用思考