虹膜图像的归一化展开方法

    赵泳

    

    

    

    摘要:此文对虹膜识别中的关键步骤之一:虹膜图像的归一化展开方法进行探索。对三种常用的归一化方法进行比较,利用极坐标系统对虹膜图像进行展开;并分析了相关插值算法的利弊,认为双线性插值算法较适合本次实验要求。通过实验证明,此文提出的方法和算法对虹膜图像的归一化处理是有效的。

    关键词:虹膜识别;归一化;插值算法

    中图分类号:G424? ? ? 文献标识码:A

    文章编号:1009-3044(2021)17-0179-02

    开放科学(资源服务)标识码(OSID):

    1前言

    虹膜的生物特征以其形态稳定、不可改变性和不易病变,个体之间虹膜差异明显等特点,得到人们的青睐。虹膜作为一种无接触式的识别方法,与体形识别、人脸识别、指纹识别等生物特征识别方法相比,虹膜识别具有准确性高,虹膜纹理相同概率接近于零等特点,并且可以更加有效地防止人工伪造。各种基于虹膜图像纹理的特征提取算法被相继提出用于虹膜身份识别,虹膜识别的研究不仅具有重大的理论意义,还具有广阔的应用前景。

    虹膜识别的步骤通常可以分为:虹膜图像采集、图像预处理、特征提取、数据库匹配等步骤。

    2虹膜图像的归一化展开方法

    虹膜图像的归一化是虹膜图像预处理中非常重要的步骤之一,归一化之前的图像如图1。经过对虹膜图像进行检测提取虹膜内径边界后,下一个步骤就是要对虹膜进行分割并归一化展开。归一化展开的目的就是确定虹膜外边缘并提取出虹膜的可用部分用于图像匹配,将每幅虹膜原始图像变换成相同的尺寸,从而消除旋转、平移和缩放对于虹膜匹配带来的影响。

    虹膜归一化[1-2]通常有3种方法:Daugman的橡皮纸模型、Wildes的图像注册方法还有虚拟圆的方法。Daugman提出的橡皮纸模型就是把圆环通过极坐标转换,展开成长方形矩阵,并对由此造成虹膜纹理的变形失真进行比例补偿。这种方法使用的最多,本文也使用了这种方法。Daugman的橡皮纸模型原理如图2所示。

    通常情况下,虹膜的眼球边界(外圆)和瞳孔边界(内圆)不同心的,但眼球边界与瞳孔边界的圆心差距并不明显,所以,为简化算法,近似认为虹膜外边缘和内边缘圆心重合。在这里把虹膜的外边缘定义为以坐标(x0, y0)为圆心的圆。所以,从圆心(x0, y0)发出的任何一条射线与眼球边界(外圆)和瞳孔边界(内圆)交点(P和Q)也是可以确定的,如图3所示。

    [xinner=xp+rinnercosθyinner=yp+rinnersinθ]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)

    [xouter=xp+Routercosθyouter=yp+routersinθ]? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)

    式中q为射线与水平线的夹角。

    线段PQ上的任何一点都可以用P和Q的线性组合来表示:

    [xr,θ=1-rxinnerθ+rxouterθyr,θ=1-ryinnerθ+ryouterθ,r∈0,1,θ∈0,2π]? ?(3)

    这样就可以将虹膜图像从平面直角坐标系统(x,y)变换到(r,q)空间。

    3插值算法

    将极坐标的点(r,q)映射为直角坐标的点(x,y)过程当中,通常求得的坐标点(x,y)不是整数,因此无法求得图像的灰度值,所以必须对所求的坐标点(x,y)进行灰度插值运算,见图4。

    为了更好完成灰度插值算法,本文对比了几种常用的插值算法。

    1)最邻近插值。通常被用于图像缩放中,这是一种最基本、最简单的图像缩放算法。但实际效果并不好,经实验放大后的虹膜图像会产生比较严重的马赛克,缩小后的图像也会有较大的失真。实验效果不好的主要原因是其简单的最临近插值方法造成的失真。

    2)双线性内插法。此算法是使用相近4个点的像元数值,按照其距离内插点的长度的大小赋予其大小不同的权重,然后进行线性内插。此方法具有良好的低通滤波效果,因边缘受到平滑作用,从而会产生一个比较连贯的图像输出。其缺点也是很明显的,此算法破坏了原来的像元值,经实验,这种破坏对虹膜识别的精度影响是可接受的。

    3)三次卷积法。三次卷积法是一种比较复杂的插值方式,用此算法产生的图像边缘更加平滑。虽然三次卷积法能产生效果最好,最精确的插补图形,但它速度也几乎是最慢的。最邻近插值算法简单而且直观,但得到的图像质量不高,而双三次插值运算量大,所以本文采用的是双线性插值算法。

    按照双线性插值算法,现作以下假设:

    lDstW---输出图像的宽度;

    lDstH----输出图像的高度;

    lW----输入图像的宽度;

    lH----输入图像的高度。

    如果要将输入图像的尺寸变换到输出图像的尺寸,就要把输入图像的宽度分为lDstW等份,高度分为lH等份,因此如图5所示,输出图像中的任意一点(x,y)的灰度值就应该由输入图像中的底面四点A、B、C和D的灰度值确定。

    其中a和b的值分别为:

    [a=x×lWlDstW]

    [b=y×lHlDstH,0≤x<lDstW,0≤y<lDstH]

    所以点(x,y)的灰度值f(x,y)应为:

    [f(x,y)=(b+1-y)f(x,b)+(y-b)f(x,b+1)]

    通过对以上的极坐标变换及双线性插值算法的理解,现可以将虹膜图像的归一化算法表示如下:

    假设要展开图像的高度为Height,宽度为Width,本文的归一化展开图的尺寸确定为512×128,算法的流程如下所示:

    Step0创建用于存储展开的图像文件;

    Step1For j=0 to Height do;

    Step2? For i=0 to Width do;

    Step3? angle=(i/Width)*2p;

    Step4? r=j/Height;

    Step5通过angle和r确定图3中P、Q两点的坐标;

    Step6利用式(3)求出该点在原图中的坐标;

    Step7求出该点的双线性插值;

    Step8在新图像中写入该点的雙线性插值[3]。

    经过以上算法得出的虹膜图像归一化展开图如图6所示。

    4 结论

    通过大量的实验证明,本文提出的方法和算法对虹膜图像的归一化处理是有效的,并且为后续的图像增强、二值化、形态学处理及特征提取等步骤打下良好基础。

    参考文献:

    [1] 王蕴红,朱勇,谭铁牛.基于虹膜识别的身份鉴别[J].自动化学报,2002,28(1):1-10.

    [2] 马建湖.基于提升小波的零水印算法和虹膜图像的预处理[D].长春:吉林大学,2007.

    [3] 赵泳.基于动态相对零定位角结构设计的虹膜识别系统研究[D].天津:南开大学,2008.

    【通联编辑:唐一东】