发明内容
为了解决上述问题,本发明提供了一种具有高识别效率的虹膜识别方法。
根据本发明的第一方面,提供了一种虹膜识别方法。该虹膜识别方法包括:接收用户的一张或多张包含虹膜的图像;对所接收的图像进行预处理,以获得多个特征图像数据模板;从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量,其中所述局部梯度特征向量描述虹膜的纹理走向和形态;以及基于局部梯度特征向量来识别所述用户。
在一个实施例中,该虹膜识别方法还包括:从多个特征图像数据模板中的每个特征图像数据模板中提取Gabor特征向量,其中所述Gabor特征向量描述虹膜的纹理细节。基于局部梯度特征向量来识别所述用户包括:将提取的Gabor特征向量和局部梯度特征向量组合为与所述用户相对应的联合特征向量,使得能够基于联合特征向量来识别所述用户。
在一个实施例中,从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量包括:将每个特征图像数据模板划分为预定尺寸大小的一系列小块;求每个小块的灰度均值;根据每个小块的灰度均值确定每个小块之间的水平梯度和垂直梯度,并根据水平梯度和垂直梯度的绝对值大小将每个小块编码成水平梯度特征码和垂直梯度特征码;由每个特征图像数据模板的所有小块的水平梯度特征码形成水平梯度特征码向量;由每个特征图像数据模板的所有小块的垂直梯度特征码形成垂直梯度特征码向量;以及将水平梯度特征码向量与垂直梯度特征码向量连接成一个向量,以作为所述局部梯度特征向量。
在一个实施例中,该虹膜识别方法还包括:将局部梯度特征向量或联合特征向量与所述用户相关联地存储在特征库中。
在一个实施例中,该虹膜识别方法还包括:将局部梯度特征向量或联合特征向量与特征库中预先存储的预定特征向量进行匹配,以对所述用户进行识别。
在一个实施例中,对所接收的图像进行预处理包括:对所接收的一张或多张图像中的每张图像进行图像质量评价,以选择满足预定清晰度要求的一张或多张图像。
在一个实施例中,所述图像质量评价是无参考质量评价。
在一个实施例中,对所接收的图像进行预处理还包括:采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割。
在一个实施例中,采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割包括:针对所选择的满足预定清晰度要求的一张或多张图像中的每张图像:以瞳孔中心为圆心,由内而外地径向计算所述图像中的每一个同心圆环窄带内的所有像素灰度值的全变分数值;以及确定全变分数值梯度变化最大的点作为虹膜的最大半径点。
在一个实施例中,对所接收的图像进行预处理还包括:对分割后的一张或多张图像中的每一张图像进行归一化处理,以得到一张或多张矩形虹膜图像;以及从归一化后的一张或多张矩形虹膜图像的每一张图像中去除遮挡虹膜的区域,以得到用于特征提取的一张或多张虹膜图像。
在一个实施例中,对所接收的图像进行预处理还包括:判断用于特征提取的一张或多张虹膜图像中的每一张图像是否满足预定虹膜纹理辨识度要求;以及从满足预定虹膜纹理辨识度要求的图像中选择虹膜纹理辨识度最高的一张图像。
在一个实施例中,对所接收的图像进行预处理还包括:将用于特征提取的一张或多张虹膜图像中的每一张图像或者虹膜纹理辨识度最高的图像分别左右循环移动预定角度,以得到所述多个特征图像数据模板。
在一个实施例中,所述预定角度在-15°到+15°的范围内。
根据本发明的第二方面,提供了一种虹膜识别装置。该虹膜识别装置包括:通信接口;至少一个处理器;以及存储器,所述存储器存储所述至少一个处理器可执行的指令,所述指令在被所述至少一个处理器执行时使得所述虹膜识别装置:接收用户的一张或多张包含虹膜的图像;对所接收的图像进行预处理,以获得多个特征图像数据模板;从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量,其中所述局部梯度特征向量描述虹膜的纹理走向和形态;以及基于局部梯度特征向量来识别所述用户。
在一个实施例中,所述指令在被所述至少一个处理器执行时还使得所述虹膜识别装置:从多个特征图像数据模板中的每个特征图像数据模板中提取Gabor特征向量,其中所述Gabor特征向量描述虹膜的纹理细节。基于局部梯度特征向量来识别所述用户包括:将提取的Gabor特征向量和局部梯度特征向量组合为与所述用户相对应的联合特征向量,使得能够基于联合特征向量来识别所述用户。
在一个实施例中,从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量包括:将每个特征图像数据模板划分为预定尺寸大小的一系列小块;求每个小块的灰度均值;根据每个小块的灰度均值确定每个小块之间的水平梯度和垂直梯度,并根据水平梯度和垂直梯度的绝对值大小将每个小块编码成水平梯度特征码和垂直梯度特征码;由每个特征图像数据模板的所有小块的水平梯度特征码形成水平梯度特征码向量;由每个特征图像数据模板的所有小块的垂直梯度特征码形成垂直梯度特征码向量;以及将水平梯度特征码向量与垂直梯度特征码向量连接成一个向量,以作为所述局部梯度特征向量。
在一个实施例中,所述指令在被所述至少一个处理器执行时还使得所述虹膜识别装置:将局部梯度特征向量或联合特征向量与所述用户相关联地存储在特征库中。
在一个实施例中,所述指令在被所述至少一个处理器执行时还使得所述虹膜识别装置:将局部梯度特征向量或联合特征向量与特征库中预先存储的预定特征向量进行匹配,以对所述用户进行识别。
在一个实施例中,对所接收的图像进行预处理包括:对所接收的一张或多张图像中的每张图像进行图像质量评价,以选择满足预定清晰度要求的一张或多张图像。
在一个实施例中,所述图像质量评价是无参考质量评价。
在一个实施例中,对所接收的图像进行预处理还包括:采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割。
在一个实施例中,采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割包括:针对所选择的满足预定清晰度要求的一张或多张图像中的每张图像:以瞳孔中心为圆心,由内而外地径向计算所述图像中的每一个同心圆环窄带内的所有像素灰度值的全变分数值;以及确定全变分数值梯度变化最大的点作为虹膜的最大半径点。
在一个实施例中,对所接收的图像进行预处理还包括:对分割后的一张或多张图像中的每一张图像进行归一化处理,以得到一张或多张矩形虹膜图像;以及从归一化后的一张或多张矩形虹膜图像的每一张图像中去除遮挡虹膜的区域,以得到用于特征提取的一张或多张虹膜图像。
在一个实施例中,对所接收的图像进行预处理还包括:判断用于特征提取的一张或多张虹膜图像中的每一张图像是否满足预定虹膜纹理辨识度要求;以及从满足预定虹膜纹理辨识度要求的图像中选择虹膜纹理辨识度最高的一张图像。
在一个实施例中,对所接收的图像进行预处理还包括:将用于特征提取的一张或多张虹膜图像中的每一张图像或者虹膜纹理辨识度最高的图像分别左右循环移动预定角度,以得到所述多个特征图像数据模板。
在一个实施例中,所述预定角度在-15°到+15°的范围内。
根据本发明的第三方面,提供了一种计算机存储介质,存储有计算机可执行指令。所述计算机可执行指令在被虹膜识别装置的至少一个处理器执行时,使所述虹膜识别装置执行根据本发明的第一方面所述的方法。
根据本发明的上述技术方案,本发明通过提取描述虹膜的纹理走向和形态的局部梯度特征向量来进行虹膜识别。相比于传统的Gabor特征向量提取,这能够更好地刻画虹膜中层特征,从而提高虹膜识别的效率和精度,同时增强虹膜识别的安全性。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”到另一元件时,它可以直接连接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”可以包括无线连接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图2是示出了根据本发明的虹膜身份认证系统200的应用场景的示意图。虹膜身份认证系统200可以应用于各种场所的门禁、PC登录、移动电话解锁等个人身份认证场景。如图2所示,虹膜身份认证系统200可以包括图像采集端210和虹膜识别端220。图像采集端210用于采集人(例如用户A)的虹膜图像。虹膜识别端220用于从图像采集端210所采集到的虹膜图像中提取出特定特征向量,并将提取出的特定特征向量与数据库中预先存储的相应虹膜特征向量进行匹配,以确认用户A的身份。图像采集端210和虹膜识别端220可以通过通信网络230相连,也可以集成在一起。
图像采集端210可以是专用虹膜相机,也可以普通相机等能够采集到虹膜图像的图像采集设备。虹膜识别端220可以是能够进行虹膜图像处理和计算的任意设备。例如,虹膜识别端220可以是移动电话、个人数字助理(PDA)、手持计算机、膝上型计算机、平板电脑等具备计算和处理能力的任意设备。通信网络230可以是有线的或无线的。具体地,通信网络230的示例可以包括(但不限于):有线电缆或光纤型网络、或者移动或蜂窝网络或WLAN(“无线局域网”,可能是802.11(或WiFi)或者WiMAX型的)、或者还可能是蓝牙型的无线短距离通信网络。
尽管图2将图像采集端210与虹膜识别端220示意为是分离的,然而本发明并不局限于此。图像采集端210也可以与虹膜识别端220集成在一起,例如可以集成为一个独立的门禁设备,或者可以集成在移动电话、个人数字助理(PDA)、手持计算机、膝上型计算机、平板电脑等设备上,其中图像采集端210由该设备的摄像头来实现,虹膜识别端220可以由该设备的处理器来实现。
图3示出了图像采集端210与虹膜识别端220一同集成在移动电话上的示例,(该移动电话是虹膜身份认证系统200),其中该移动电话使用虹膜进行解锁。该移动电话可以包括安装在其中的虹膜识别客户端。虹膜识别客户端可以由用户以软件的形式自行安装在移动电话中,或者可以由移动电话生产厂商以硬件或固件的形式安装在移动电话中。当移动电话的用户需要解锁移动电话时,虹膜识别客户端可以调用移动电话固有的摄像头来采集用户的虹膜以对用户进行验证。
下面将主要以图2为例来说明本发明的总的发明构思。图4是示出了根据本发明实施例的虹膜身份认证系统200的示例操作400的时序图。
如图4所示,在框410,图像采集端210采集用户的一张或多张包含虹膜的图像(简称为虹膜图像),并将所采集的虹膜图像传送到虹膜识别端220,使得虹膜识别端220接收到用户的虹膜图像。例如,图像采集端210可以一次性采集若干张(例如5-10张)虹膜图像以供后续虹膜图像质量评价阶段进行筛选,然后通过图像质量评价丢掉脱焦的图像,从而能够选择其中质量最好且要满足设定质量标准的虹膜图像。这样可以缓解如图2所示的由于脱焦而导丢失虹膜本身具有的丰富纹理信息的情况。
在框420,虹膜识别端220对每一张虹膜图像进行图像质量评价,以选择清晰度符合预定标准的虹膜图像。例如,可以采用无参考质量评价来进行图像质量评价。作为无参考质量评价的一个示例,虹膜识别端220可以应用Brenner梯度函数来计算虹膜图像中的相邻两个像素灰度差的平方,然后并求图像中的所有像素的灰度差平方和,以对该虹膜图像做无参考质量评价。
在图像质量评价过程中,可以只选取虹膜图像的中间部分(例如,图5的矩形窗口内的部分)来进行质量评价,以尽可能提高质量评价效率,同时使得质量评价的时间代价最小。这是因为虹膜图像基本处于图像中间虹膜镜头光学焦点最清楚的位置。该矩形窗口相对于虹膜图像的尺寸可以根据不同应用场景做相应调整。
虹膜识别端220对于所接收的每一张虹膜图像进行图像质量评价。如果某张图像的质量满足既定清晰度要求,则选择出来该图像作为合格图像进入下一步的虹膜图像分割提取。如果不合格,则丢弃。如果所有图像都不合格,则虹膜识别端220将反馈提示信息(例如,“睁大眼睛”、“靠近一点”等)传回图像采集端210,图像采集端210将通过声音或者文字向用户呈现该反馈提示信息,以提示用户重新采集虹膜图像。
在框430,虹膜识别端220对虹膜图像进行分割。该分割可以采用各种已知的方案实现。根据本发明的一个实施例,该分割采用全变分模型成像约束的显著性虹膜图像分割方法来实现。虹膜图像往往会在上下两边有眼睑或眼睫毛等覆盖,因此需要分别对上下两边的覆盖弧线进行拟合处理,并且去除反光和孤立噪声像素等。
作为一个示例,虹膜识别端220可以以检测出的瞳孔中心为圆心,由内而外地径向计算虹膜图像的每一个同心圆环窄带内(该窄带宽度根据图像分辨率大小会有浮动,典型的640*480的单眼虹膜图像的窄带宽度可以设置为3-5个像素)的所有像素灰度值的全变分数值,然后通过计算全变分数值梯度变化最大的点帮助分割算法找到虹膜的最大半径点。这种图像分割建立在基于鲁棒的全变分正则化约束的基础上,能够尽可能精确地分割出虹膜。全变分的另一个作用是抑制了噪声的影响,能够准确地定位虹膜纹理像素,并准确地定位虹膜边缘界限。此外,虹膜及瞳孔本身有一定的显著性特征,在经过一系列精细化的处理后,虹膜图像的内径和外径都能较好的拟合、且对于绝大多数虹膜图像具有鲁棒性。
在框440,虹膜识别端220对经分割的虹膜图像进行归一化处理以得到矩形虹膜图像。
图6示意性地示出了根据本发明实施例的归一化处理的示图。如图6左上部所示,由于拍照角度或头部的姿态影响,经框430分割出来的虹膜图像是一个近似圆环。但是,这样的圆环不利于后续特征提取。所以,可以将该圆环图像做一个变换,将该图中的信息映射到一个按照如图6右上部的角度方向、径向方向展开的归一化图。具体地,以瞳孔为坐标原点,水平坐标轴正方向为0°,逆时针变换虹膜图像到归一化图,即,将虹膜图像从极坐标系转成矩形,使矩形的行对应半径,矩形的列对应角度。例如,可以采用统一的600×100尺寸的归一化图来处理极坐标下的虹膜图像。
备选地,虹膜识别端220还可以从归一化后的矩形虹膜图像中去除遮挡虹膜的区域,以得到用于特征提取的虹膜图像。例如,上下眼皮可能会部分地遮挡虹膜顶端和底端,为了去除这一部分,可以以瞳孔为中心,截取-45°~+45°及135°~225°的虹膜区域(即虹膜区域左右两个90°区域),拼接成用于实际特征提取的虹膜图像。
在框450,虹膜识别端220对经框440处理后的虹膜图像进行二次图像质量评价。这次质量评价是为了评价虹膜纹理的辨识度。二次图像质量评价包括判断框440输出的每一张图像是否满足预定虹膜纹理辨识度要求。如果只有一张图像满足既定虹膜纹理辨识度,则选择该图像进入下一步的归一化处理。如果没有一张图像满足既定虹膜纹理辨识度,则虹膜识别端220将反馈提示信息(例如,“睁大眼睛”、“靠近一点”等)传回图像采集端210,由图像采集端210通过声音或者文字向用户呈现该反馈提示信息,以提示用户重新采集虹膜图像。如果有不止一张图像满足既定虹膜纹理辨识度,则选择虹膜纹理辨识度最高的一张图像进入下一步的处理。
在框460,虹膜识别端220将框440或框450输出的用于特征提取的虹膜图像分别左右循环移动预定角度,以得到多个特征图像数据模板。例如,预定角度可以在-15°到+15°的范围内。优选地,预定角度也可以在-10°到+10°的范围内。例如,虹膜识别端220可以将框460输出的虹膜图像(即,归一化后的图像数据矩阵)分别左右循环移动-10°到+10°的范围内的特定角度,得到不同的数据矩阵,然后再分别从移动后的归一化图中截取出实际参与特征提取的图像块。
通过对大量实际拍摄的虹膜图像进行统计,发现人在自然状态下的上眼睑和下眼睑遮盖上下虹膜的比例很高,遮盖后的区域实际上是皮肤,在红外线拍摄下基本都呈透亮白色,没有纹理信息。为了尽可能避免皮肤影像,可以选择左右两个90°区域作为特征比对的区域(即,总共有180°的数据量)进行提取特征,从而形成一系列特征图像数据模板。例如对于某个用户要注册的1张最清晰的虹膜图像一共可以生成5个特征图像数据模板。相应地,对于这个人,特征库中将存储从这5个特征图像数据模板中提取出的5个虹膜特征向量。
在框470,虹膜识别端220从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量,并基于局部梯度特征向量来识别所述用户。局部梯度特征向量描述虹膜的纹理走向和形态。
局部梯度特征向量的提取可以包括:将每个特征图像数据模板划分为预定尺寸大小的一系列小块,每个小块可以视为超像素;求每个超像素的灰度均值;根据每个超像素的灰度均值确定每个超像素之间的水平梯度和垂直梯度,并根据水平梯度和垂直梯度的绝对值大小将每个超像素编码成水平梯度特征码和垂直梯度特征码;由每个特征图像数据模板的所有超像素的水平梯度特征码形成水平梯度特征码向量;由每个特征图像数据模板的所有超像素的垂直梯度特征码形成垂直梯度特征码向量;以及将水平梯度特征码向量与垂直梯度特征码向量连接成一个向量,即得到局部梯度特征向量。例如,假设将尺寸为300×100的图像划分为5×5的小块,则可以提取到一个60×20×2(即,2400)位的局部梯度特征向量。
备选地,虹膜识别端220还可以从多个特征图像数据模板中的每个特征图像数据模板中提取Gabor特征向量,并将提取的Gabor特征向量和局部梯度特征向量组合为与所述用户相对应的联合特征向量,使得能够基于联合特征向量来识别所述用户。Gabor特征向量描述虹膜的纹理细节。
联合特征向量是在框460得到的多个图像数据模板(例如,5个)中提取的,每个模板提取一个联合特征向量。该提取标准可以通过实验数据分析获得最佳的特征表达效果,从而选择出了虹膜算法所需要的滤波器组合及其参数。该联合特征向量不仅融合了Gabor滤波的细节特征(即,虹膜的纹理细节),而且融合了反映虹膜的纹理走向和形态的局部梯度特征。
Gabor特征向量可以利用Gabor滤波器来提取。作为一个示例,用于提取Gabor特征向量的Gabor滤波器可以采用3个尺度、8个方向共24个2D-Gabor滤波器组成。2D-Gabor滤波器可以表示如下:
其中,(x0,y0)是空间域位置,(δx,δy)是空间尺度参数,可以通过调节δx与δy的绝对大小与相对比例来调节2D-Gabor滤波器的尺度与方向。,为了更好的挖掘虹膜的细节特征,在利用Gabor滤波器进行特征提取之前,可以先对虹膜图像做增强处理,合理使用高通滤波器来凸显细节。例如,实际用于提取特征的图像尺寸为300×100,每个滤波器下得到的Gabor特征采样点为20×10(一共200个),因此24个2D-Gabor滤波器所提取的Gabor特征向量是一个长度为4800位的向量。采取的采样策略可以是从虹膜的内径到外径采样点密度逐渐降低的策略,这是因为虹膜图像靠近瞳孔的纹理较清晰丰富,而靠近眼白的纹理较模糊。例如,如果用于虹膜特征向量提取的图像尺寸为300×100,这可以分割为300×40、300×30以及300×30等3个子圆环,每个子圆环下的采样点密度依次变化,从而更多地利用丰富的纹理信息。
在框480,虹膜识别端220将局部梯度特征向量或者联合特征向量与用户相关联地存储在特征库中。这是该用户注册其虹膜图像的过程。特征库用于存储各个用户注册的特征向量,以供虹膜识别时进行比对,例如,可以利用虹膜识别端220或虹膜身份认证系统200原有的硬件、固件和/或软件结构,如存储器等。特征库可以存储二值化(即,0/1化)的联合特征向量,以使得认证阶段的特征匹配更加高效。例如,Gabor特征向量可以是通过阈值进行二值化而产生0或1的特征向量,局部梯度特征向量可以直接用正负值进行二值化。
在框490,虹膜识别端220将局部梯度特征向量或者联合特征向量与特征库中预先存储的预定特征向量进行匹配,以对所述用户进行识别。这是对用户的身份进行匹配认证的过程。
作为一个示例,可以将Gabor特征向量和局部梯度特征向量简单扩展成联合特征向量,即,将两个向量直接连接成联合特征向量,然后使用一次海明距离来进行匹配认证。例如,假设分别提取得到一个4800位的Gabor特征向量和一个2400位的局部梯度特征向量,则可以将这两个特征向量简单扩展成一个7200位的联合特征向量。例如,海明距离可以表示为:
其中,L代表特征向量长度,如7200位;FAi是待认证特征向量;FBi是特征库里存储的特征向量;是异或操作。
作为另一个示例,Gabor特征向量和局部梯度特征向量也可以分别用海明距离进行度量,然后通过决策策略(例如投票)去判定最终识别结果,以进行匹配认证。
根据上述技术方案,本发明通过将同时提取Gabor特征向量和描述虹膜的纹理走向和形态的局部梯度特征向量来进行虹膜识别。在这个方案中,Gabor特征向量提取能够适当减少某些滤波器的数量且能够通过采样二值化编码进一步降低特征维度。这能够降低所提取的融合特征向量的唯独,能够更为鲁棒地描述虹膜特征,从而提高识别精度和比对效率。
图7是示出了根据本发明实施例的虹膜识别方法700的示意性流程图。虹膜识别方法700可以用于注册用户的虹膜,也可以用于对用户的虹膜进行认证识别。虹膜识别方法700可以在图2所示的虹膜识别端220上执行,下面以此为例进行描述,然而应理解本发明不限于此。例如,该虹膜识别方法700可以在诸如移动终端之类的便携式终端上实现。备选地,在虹膜识别端220与图像采集端210集成在一起的情况下,虹膜识别方法700可以实现在虹膜身份认证系统200上。该虹膜识别方法700可以包括步骤S710-S760,其中步骤S750和S760均是可选的。
在步骤S710,虹膜识别端220接收用户的一张或多张包含虹膜的图像(简称为虹膜图像)。例如,虹膜识别端220可以从图2所示的图像采集端210接收图像采集端210所采集到的一张或多张虹膜图像。图像采集端210一次可以采集若干张(例如5-10张)虹膜图像,以供虹膜识别端220通过质量评价进行筛选,从而尽可能地提高质量评价效率和减小质量评价的时间代价。
在步骤S720,虹膜识别端220对所接收的图像进行预处理,以获得多个特征图像数据模板。
图8示出了根据本发明实施例的图像预处理的示例流程图。
在步骤S721,虹膜识别端220对所接收的一张或多张图像中的每张图像进行图像质量评价,以选择满足预定清晰度要求的一张或多张图像。例如,图像质量评价可以是无参考质量评价,例如应用Brenner梯度函数进行的无参考质量评价。作为示例,可以选取虹膜图像的中间部分(如图5所示的矩形窗口)来进行质量评价。
如果虹膜识别端220所接收的所有虹膜图像都不满足预定清晰度要求,则虹膜识别端220在步骤S722向图像采集端210发送反馈提示信息,例如“睁大眼睛”、“靠近一点”等,以提示用户重新采集图像。
在步骤S723,虹膜识别端220采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割。虹膜图像往往会在上下两边有眼睑或眼睫毛等覆盖,因此需要分别对上下两边的覆盖弧线进行拟合处理,并且去除反光和孤立噪声像素等。
图9示出了根据本发明实施例的图像分割的一个示例实现的流程图。如图9所示,步骤S723可以包括针对所选择的满足预定清晰度要求的一张或多张图像中的每张图像所执行的步骤S7231和S7232。
在步骤S7231,虹膜识别端220以瞳孔中心为圆心,由内而外地径向计算所述图像中的每一个同心圆环窄带内的所有像素灰度值的全变分数值。
在步骤S7232,虹膜识别端220确定全变分数值梯度变化最大的点作为虹膜的最大半径点。
由于虹膜及瞳孔本身有一定的显著性特征,在经过一系列精细化的处理后,虹膜图像的内径和外径都能较好的拟合、且对于绝大多数虹膜图像具有鲁棒性。
在步骤S724,虹膜识别端220对分割后的一张或多张图像中的每一张图像进行归一化处理,以得到一张或多张矩形虹膜图像。由于上下眼皮可能会部分地遮挡虹膜顶端和底端,虹膜识别端220还可以从从归一化后的一张或多张矩形虹膜图像的每一张图像中去除遮挡虹膜的区域,以得到用于特征提取的虹膜图像。例如,虹膜识别端220可以如图6所示地截取-45°~+45°及135°~225°(即,虹膜区域左右两个90°)区域的虹膜区域,拼接成实际提取特征的虹膜图像。
在步骤S725,虹膜识别端220判断用于特征提取的一张或多张虹膜图像中的每一张图像是否满足预定虹膜纹理辨识度要求,并从满足预定虹膜纹理辨识度要求的图像中选择虹膜纹理辨识度最高的一张图像。例如,如果只有一张图像满足既定虹膜纹理辨识度,则选择该图像进入步骤S726。如果没有一张图像满足既定虹膜纹理辨识度,则虹膜识别端220进入步骤S722,即,将反馈提示信息(例如,“睁大眼睛”、“靠近一点”等)传回图像采集端210,由图像采集端210通过声音或者文字向用户呈现该反馈提示信息,以提示用户重新采集虹膜图像。如果有不止一张图像满足既定虹膜纹理辨识度,则选择虹膜纹理辨识度最高的一张图像进入步骤S726。
在步骤S726,虹膜识别端220可以将步骤S725得到的虹膜纹理辨识度最高的图像分别左右循环移动预定角度,以得到所述多个特征图像数据模板。备选地,虹膜识别端220也可以不经过步骤S725的二次图像质量评价而直接将步骤S724得到的用于特征提取的一张或多张虹膜图像中的每一张虹膜图像分别左右循环移动预定角度,以得到所述多个特征图像数据模板。例如,多个特征图像数据模板。作为示例,虹膜识别端220可以将在步骤S725得到的虹膜图像(即,归一化后的图像数据矩阵)分别左右循环移动-10°到+10°的范围内的特定角度,得到不同的数据矩阵,然后再分别从移动后的归一化图中截取出实际参与特征提取的多个特征图像数据模板(例如5个特征图像数据模板)。
现在回到图7,在步骤S730,虹膜识别端220从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量。局部梯度特征向量描述虹膜的纹理走向和形态。
图10示出了根据本发明实施例的局部梯度特征向量提取的一个示例实现的流程图。
在步骤S731,虹膜识别端220将每个特征图像数据模板划分为预定尺寸大小的一系列小块。在本发明中,这种小块可以称为超像素。
在步骤S732,虹膜识别端220求每个小块的灰度均值。
在步骤S733,虹膜识别端220根据每个小块的灰度均值确定每个小块之间的水平梯度和垂直梯度,并根据水平梯度和垂直梯度的绝对值大小将每个小块编码成水平梯度特征码和垂直梯度特征码。例如,可以根据水平梯度和垂直梯度的绝对值大小,并参照预定阈值将每个小块二值化为0/1的水平梯度特征码和垂直梯度特征码。
在步骤S734,由每个特征图像数据模板的所有小块的水平梯度特征码形成水平梯度特征码向量。
在步骤S735,由每个特征图像数据模板的所有小块的垂直梯度特征码形成垂直梯度特征码向量。
在步骤S736,将水平梯度特征码向量与垂直梯度特征码向量连接成一个向量,以作为所述局部梯度特征向量。
例如,假设将尺寸为300×100的图像划分为5×5的小块,则可以提取到一个60×20×2(即,2400)位的局部梯度特征向量。
在步骤S740,虹膜识别端220基于局部梯度特征向量来识别所述用户。
在一个实现方式中,虹膜识别方法700还可以包括从多个特征图像数据模板中的每个特征图像数据模板中提取Gabor特征向量。Gabor特征向量描述虹膜的纹理细节。
Gabor特征向量可以利用上述公式(1)所示的2D-Gabor滤波器来提取。例如,可以采用3个尺度、8个方向共24个2D-Gabor滤波器组成的滤过器从300×100的图像中提取一个长度为4800位的Gabor特征向量。
在这种实现方式中,步骤S740可以包括:将提取的Gabor特征向量和局部梯度特征向量组合为与所述用户相对应的联合特征向量,使得能够基于联合特征向量来识别所述用户。
例如,假设有5个特征图像数据模板,那么将从每个特征图像数据模板中分别提取1个Gabor特征向量和1个局部梯度特征向量,即,总共5个Gabor特征向量和5个局部梯度特征向量。
在步骤S750,虹膜识别端220将局部梯度特征向量或联合特征向量与所述用户相关联地存储在特征库中。
在步骤S760,虹膜识别端220将局部梯度特征向量或联合特征向量与特征库中预先存储的预定特征向量进行匹配,以对所述用户进行识别。
在一个实现方式中,可以将Gabor特征向量和局部梯度特征向量简单扩展成联合特征向量,即,将两个向量直接连接成联合特征向量,然后使用一次海明距离(如上述公式(2)所示)来进行匹配认证。在另一个实现方式中,Gabor特征向量和局部梯度特征向量也可以分别用海明距离进行度量,然后通过决策策略(例如投票)去判定最终识别结果,以进行匹配认证。
图11是示出了根据本发明实施例的虹膜识别装置1100的结构框图。虹膜识别装置1100可以用于注册用户的虹膜,也可以用于对用户的虹膜进行认证识别。例如,虹膜识别装置1100既可以实现在图2所示的虹膜识别端220上,也可以执行虹膜识别方法700。备选地,在虹膜识别端220与图像采集端210集成在一起的情况下,虹膜识别装置1100也可以实现在虹膜身份认证系统200,即,既包括虹膜识别端220又包括图像采集端210。
如图11所示,虹膜识别装置1100包括:通信接口1110、处理器1120(例如CPU)和存储器1130。为了便于说明,图11中示意性地示出了一个处理器。然而,本领域技术人员应理解虹膜识别装置1100也可以包括两个或多个处理器。备选地,虹膜识别装置1100也可以包括专用虹膜相机、普通相机等能够采集到虹膜图像的图像采集设备。
通信接口1110用于与外部通信。例如通信接口1110可以是Ethernet(以太网,注册商标)接口。虹膜识别装置1100可以通过通信接口1110,使用一定的通信协议与图像采集端210进行通信。通信接口1110也可以供用户与虹膜识别装置1100进行直接通信。例如,通信接口1110也可以是诸如显示屏、扬声器之类的输出设备,供虹膜识别装置1100通过声音或者文字向用户呈现反馈提示信息,例如“睁大眼睛”、“靠近一点”等,以提示用户重新采集图像。
存储器1130存储处理器1120可执行的指令,使得虹膜识别装置1100执行结合图7所描述的方法700。
具体地,存储器1130存储处理器1120可执行的指令,使得虹膜识别装置1100:接收用户的一张或多张包含虹膜的图像;对所接收的图像进行预处理,以获得多个特征图像数据模板;从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量,其中所述局部梯度特征向量描述虹膜的纹理走向和形态;以及基于局部梯度特征向量来识别所述用户。
在一个实现方式中,存储器1130存储处理器1120可执行的指令,使得虹膜识别装置1100:从多个特征图像数据模板中的每个特征图像数据模板中提取Gabor特征向量,其中所述Gabor特征向量描述虹膜的纹理细节。在这个实现方式中,基于局部梯度特征向量来识别所述用户包括:将提取的Gabor特征向量和局部梯度特征向量组合为与所述用户相对应的联合特征向量,使得能够基于联合特征向量来识别所述用户。
在一个实现方式中,从多个特征图像数据模板中的每个特征图像数据模板中提取局部梯度特征向量包括:将每个特征图像数据模板划分为预定尺寸大小的一系列小块;求每个小块的灰度均值;根据每个小块的灰度均值确定每个小块之间的水平梯度和垂直梯度,并根据水平梯度和垂直梯度的绝对值大小将每个小块编码成水平梯度特征码和垂直梯度特征码;由每个特征图像数据模板的所有小块的水平梯度特征码形成水平梯度特征码向量;由每个特征图像数据模板的所有小块的垂直梯度特征码形成垂直梯度特征码向量;以及将水平梯度特征码向量与垂直梯度特征码向量连接成一个向量,以作为所述局部梯度特征向量。
在一个实现方式中,所述指令在被所述至少一个处理器执行时还使得虹膜识别装置1100将局部梯度特征向量或联合特征向量与所述用户相关联地存储在特征库中。
在一个实现方式中,所述指令在被所述至少一个处理器执行时还使得虹膜识别装置1100将局部梯度特征向量或联合特征向量与特征库中预先存储的预定特征向量进行匹配,以对所述用户进行识别。
在一个实现方式中,对所接收的图像进行预处理包括:对所接收的一张或多张图像中的每张图像进行图像质量评价,以选择满足预定清晰度要求的一张或多张图像。作为本实现方式的一个示例,所述图像质量评价是无参考质量评价。
在一个实现方式中,对所接收的图像进行预处理还包括:采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割。作为本实现方式的一个示例,采用全变分模型成像约束对所选择的满足预定清晰度要求的一张或多张图像进行分割包括:针对所选择的满足预定清晰度要求的一张或多张图像中的每张图像:以瞳孔中心为圆心,由内而外地径向计算所述图像中的每一个同心圆环窄带内的所有像素灰度值的全变分数值;以及确定全变分数值梯度变化最大的点作为虹膜的最大半径点。
在一个实现方式中,对所接收的图像进行预处理还包括:对分割后的一张或多张图像中的每一张图像进行归一化处理,以得到一张或多张矩形虹膜图像;以及从归一化后的一张或多张矩形虹膜图像的每一张图像中去除遮挡虹膜的区域,以得到用于特征提取的一张或多张虹膜图像。
在一个实现方式中,对所接收的图像进行预处理还包括:判断用于特征提取的一张或多张虹膜图像中的每一张图像是否满足预定虹膜纹理辨识度要求;以及从满足预定虹膜纹理辨识度要求的图像中选择虹膜纹理辨识度最高的一张图像。
在一个实现方式中,对所接收的图像进行预处理还包括:将用于特征提取的一张或多张虹膜图像中的每一张图像或者虹膜纹理辨识度最高的图像分别左右循环移动预定角度,以得到所述多个特征图像数据模板。作为本实现方式的一个示例,预定角度在-15°到+15°的范围内。
本发明还提供至少一个具有非易失性或易失性存储器形式的计算机存储介质,例如电可擦除可编程只读存储器(EEPROM)、闪存和硬盘驱动,存储有计算机可执行指令。计算机可执行指令在被处理器执行时使得虹膜识别装置执行例如之前结合图7-10描述的过程的动作。
处理器可以是单个CPU(中央处理器),但是也可以包括两个或更多个处理器。例如,处理器可以包括通用微处理器;指令集处理器和/或相关芯片集和/或专用微处理器(例如,专用集成电路(ASIC))。处理器也可以包括用于高速缓存目的的板载存储器。例如,计算机存储介质可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)或EEPROM。
本技术领域技术人员可以理解,本发明包括涉及用于执行本发明中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明所公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。