发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的是提供一种基于纹理基元统计特性分析的虹膜分类方法,以加快虹膜识别技术在大规模数据库中进行特征模板比对的速度。
(二)技术方案
为达到上述目的,本发明提供了一种基于纹理基元统计特性分析的虹膜分类方法,该方法包括:
S1、对训练集中清晰的虹膜图像进行预处理,得到感兴趣区域ROI,对ROI区域进行特征提取,对提取的纹理特征进行训练并建模,获得虹膜粗分类模型;
其中,步骤S1包括:
S11、对输入的虹膜图像进行预处理,该预处理包括虹膜定位和归一化,具体包括:首先对输入的灰度图像进行虹膜检测与分割,然后将笛卡尔坐标系下的虹膜图像用双线性差值的方式变换到极坐标下,极坐标的原点就是瞳孔的圆心,在极坐标系下将所有的虹膜图像缩放到统一的大小,实现虹膜图像的归一化;
S12、对训练集中的归一化的虹膜图像进行纹理分析,抽取得到每一个像素点及其邻域的纹理特征;
S13、对得到的纹理特征进行聚类,得到N个类别的虹膜纹理基元;
S14、对每一幅训练集中的虹膜图像,根据每个像素滤波结果映射得到距离最小的虹膜纹理基元,最终得到整幅图像所有像素的纹理基元直方图,作为该图像的全局纹理特征;
S15、抽取训练集中的所有虹膜图像的纹理基元直方图后,再次利用聚类方法,将虹膜图像分成M类,获得虹膜粗分类模型;
S2、对待分类的清晰虹膜图像进行预处理,得到ROI区域,然后进行特征提取,将提取得到的虹膜纹理特征输入到步骤S1训练得到的模型中,获得输入虹膜图像的类别信息;
其中,步骤S2包括:
S21、对当前输入的虹膜图像进行预处理,得到归一化虹膜图像;
S22、对得到的归一化虹膜图像,根据步骤S13中训练得到的纹理基元,计算得到其纹理基元直方图;
S23、载入步骤S15中获得的模型,分别计算步骤S22的纹理基元直方图特征和步骤S15粗分类模型中每一大类中心的距离;
S24、选取距离最小的类别标号作为该输入图像的类别标号,完成粗分类过程。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种基于纹理基元统计特性分析的虹膜分类方法,通过提取虹膜图像的纹理特征,将虹膜图像分成若干个类别,数据库中的虹膜特征模板就按照其图像所属的类别排列。当进行虹膜比对的时候,首先进行虹膜的粗分类,得到输入图像的类别信息,然后再将输入图像和与其属于同一类的特征模板进行比较,从而使得完成一次虹膜比对的平均时间缩短,达到实时的效果,有效地加快了虹膜识别技术在大规模数据库中进行特征模板比对的速度。
2、本发明提供的这种基于纹理基元统计特性分析的虹膜分类方法,能够有效提高大规模虹膜识别系统的实时性。首先判断出虹膜的类别,然后只在此类别中搜索当前使用者的身份,可以减小算法的搜索空间,从而大大降低进行虹膜特征比对所需的时间。
3、本发明提供的这种基于纹理基元统计特性分析的虹膜分类方法,能够提高大规模虹膜识别系统的准确性。首先判读出虹膜的类别,相当于减少了虹膜识别问题的规模,也就减少了虹膜识别出错的概率,从而提高虹膜识别算法的准确性。
4、本发明提供的这种基于纹理基元统计特性分析的虹膜分类方法,研究了虹膜纹理与基因遗传之间的关系,研究了具有相似基因的用户是否具有相似的虹膜纹理图像。
具体实施方式
下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
在现有虹膜识别系统中,输入虹膜图像必须和数据库中的所有虹膜图像进行一一比对才能得出最后的比对结果,虽然虹膜比对一般是采用速度非常快的汉明距离比对方式,但是随着数据库中用户人数的不断增加,一次比对所需要的时间也不断增加,在超大规模的虹膜数据库中无法满足系统对实时性的需求。本发明通过提取虹膜图像的纹理特征,将虹膜图像分成若干个类别,数据库中的虹膜特征模板就按照其图像所属的类别排列。当进行虹膜比对的时候,首先进行虹膜的粗分类,得到输入图像的类别信息,然后再将输入图像和与其属于同一类的特征模板进行比较,从而使得完成一次虹膜比对的平均时间缩短,达到实时的效果。
基于纹理分析的虹膜粗分类方法对于提高大规模虹膜识别系统的实时性和准确度具有很重要的作用。利用学习得到纹理基元的方法,本发明实现了一个基于纹理基元统计特性分析虹膜分类方法。图1是本发明提供的基于纹理基元统计特性分析虹膜分类方法的流程图,包括训练和分类两个部分:
所述的训练过程包括步骤S1:对训练集中清晰的虹膜图像进行预处理,得到感兴趣区域——ROI区域,对ROI区域进行特征提取,对提取的纹理特征进行训练并建模,获得虹膜粗分类模型。
在本步骤中,对ROI区域进行特征提取是提取ROI区域的局部纹理特征,提取后得到虹膜纹理基元,将局部纹理特征根据虹膜纹理基元映射后得到虹膜纹理基元直方图,采用聚类方法将虹膜图像分成N个子类。所述提取虹膜图像的纹理特征并进行训练,获得虹膜分类模型用于虹膜图像的粗分类。所述训练,是通过自定义或者学习过程得到表征虹膜纹理的最小单位——虹膜纹理基元,然后通过构建虹膜纹理基元直方图作为虹膜图像的纹理特征。
所述的分类过程包括步骤S2:对待分类的清晰虹膜图像进行预处理,得到ROI区域,然后进行特征提取,将提取得到的虹膜纹理特征输入到步骤S1训练得到的模型中,获得输入虹膜图像的类别信息。
在本步骤中,在虹膜分类中,是使用直方图匹配的方法计算输入图像和类别模型之间的距离得到分类信息。虹膜分类可以看作虹膜的粗匹配(coarse-level matching),它可以和其他的虹膜识别方法构成一个精确快速的虹膜识别系统。
上述训练步骤S1具体包括如下步骤:
步骤S11:对输入的虹膜图像进行预处理。即首先对输入的灰度图像进行虹膜检测与分割,然后将笛卡尔坐标系下的虹膜图像用双线性差值的方式变换到极坐标下,极坐标的原点就是瞳孔的圆心,在极坐标系下将所有的虹膜图像缩放到统一的大小,称为归一化虹膜图像;
步骤S12:对训练集中的归一化的虹膜图像进行纹理分析,对每一个像素点及其邻域进行纹理特征抽取,这样的每一个纹理特征就表达了当前这个像素点附近的纹理特性。
步骤S13:对步骤S12中的纹理特征进行聚类,得到N个类别,每一个聚类中心的特征向量代表了一种在虹膜图像中出现频率较高的纹理图案,被称为纹理基元。
步骤S14:对每一幅虹膜图像,将得到的与其对应的纹理基元直方图作为该图像的全局纹理特征。
步骤S15:根据步骤S14,对于训练集中的所有虹膜图像抽取纹理基元直方图后,再次利用聚类方法,将虹膜图像分成M类。每一类的平均纹理基元直方图就是该类别的平均表达,也就是训练得到的模型参数。
上述分类步骤S2具体包括如下步骤:
步骤S21:对当前输入的虹膜图像进行预处理,得到归一化虹膜图像。
步骤S22:对步骤S21得到的归一化虹膜图像,根据步骤S13中训练得到的纹理基元,计算得到其纹理基元直方图。
步骤S23:载入步骤S15中获得的模型,并将纹理基元直方图特征输入粗分类模块,分别计算输入特征和每一大类中心的距离。
步骤S24:使用步骤S23中获得的距离,选取距离最小的类别标号作为该输入图像的类别标号,完成粗分类过程。
下面对本发明的方法涉及的关键步骤进行逐一详细说明,本发明的方法中的基本步骤相同,具体形式如下所述:
第一、是虹膜图像的预处理。虹膜图像中不仅包括虹膜,还有瞳孔、巩膜、眼皮和睫毛等。因此要进行虹膜分类,第一步应该是从虹膜图像中把虹膜分离出来,然后将虹膜圆环归一化到固定尺寸的矩形区域,即虹膜的预处理(虹膜定位和归一化),这是关键性的一步。
1、虹膜定位
人眼的瞳孔和虹膜外轮廓都很接近圆形,因此我们采用圆模型来拟合瞳孔和虹膜边界。人眼瞳孔的灰度低于周围区域,所以可以使用阈值法分割出瞳孔区域,然后将该区域的重心作为初步的瞳孔中心,在该点的附近用可变尺度的模板去拟合瞳孔的边缘,最佳的拟合结果就是瞳孔的定位结果。虹膜的中心接近瞳孔的中心,所以可以用同样的方法找到虹膜的中心和半径。由于人眼是人体的一个内部器官,虹膜很容易被眼皮睫毛遮挡,为了提高整个方法的可靠性,我们选取了最不容易被遮挡的虹膜区域作为我们感兴趣的区域(ROI)。图2(b)是对图2(a)中的虹膜定位后的例子,其中白色实线圆圈表示拟合后瞳孔和虹膜的外边界,虚线矩形表示感兴趣区域
2、归一化
以双线性差值的方式,可以将定位好的虹膜圆环进行空间变换到一个固定尺寸的矩形区域。图2(c)是虹膜归一化之后的结果,虚线矩形表示了ROI区域在归一化图像中的位置。
每一幅清晰的虹膜图像经过虹膜预处理后,都能得到大小为256×60的ROI区域进行下面的特征抽取。
第二、是训练过程中虹膜纹理基元的获得。
虹膜图像可以从某种意义上看成是一种纹理分布,而且这种纹理是由许许多多具有某种特性的虹膜纹理基元构成的。不同眼睛的虹膜图像中这些纹理基元所处的位置各不相同,这使得虹膜成为一种非常准确的生物特征模态。但是在某些虹膜图像中各种纹理基元的数目和分布情况类似,使得这些虹膜图像从视觉上看起来非常相像。因此我们从直观上认为这些相像的虹膜图像应该可以划分成同一类。
要进行虹膜分类,我们首先需要定义虹膜纹理基元。在本发明中我们有两种方法来获得纹理基元:第一是自定义纹理基元,第二是通过机器学习的方法获得纹理基元。
所谓自定义纹理基元就是人为的将满足某种特定关系的图像像素及其邻域定义成一种纹理基元。例如LBP(局部二值化模式,LocalBinary Pattern)就是一种自定义的纹理基元。
在本发明的实例中,我们采用机器学习的方法获得纹理基元。如图3所示,对于训练库中我们得到的ROI区域,我们先用一组滤波器对其进行滤波,每一个像素点的滤波结果可以用一个特征向量来表示。然后将所有的这些特征向量送入机器学习算法程序(这里我们采用K均值算法)进行聚类,得到N个(本实例中N=64)聚类中心,每一个聚类中心代表一种纹理基元。
第三、是虹膜纹理基元直方图的计算。
对于每一幅虹膜图像的ROI区域,我们经过滤波器组滤波后得到一系列滤波结果。每个像素的滤波结果就是一个局部纹理的特征向量,计算这个向量到各个纹理基元的欧氏距离,取其中最小的一个纹理基元作为当前这个像素的映射结果。
这样每一个ROI区域的所有像素经过滤波后都可以通过映射得到虹膜纹理基元的直方图。虽然单个的虹膜纹理基元表达的是一个像素及其周围邻域内的局部纹理信息,但是虹膜纹理基元直方图还表达了一幅虹膜图像的全局纹理信息,这对于虹膜分类是一种非常有效的信息。
第四、是在训练集上计算虹膜分类模型。
对于训练集中的所有ROI区域,我们都可以得到其对应的虹膜纹理基元直方图作为其纹理特征。在本发明中,我们采用卡方距离来衡量两个纹理基元直方图之间的相似程度。卡方距离的具体公式如下:
其中H1和H2分别代表两个虹膜纹理基元直方图。由于H1i+H2i可能等于零,所以我们只考虑非零项。
定义了距离计算公式后,我们将再次采用机器学习的方法得到虹膜分类模型的参数,本实例中我们采用K均值聚类方法训练得到五类虹膜图像的模型参数,其中每一类虹膜图像的平均纹理基元直方图就是该类别的模型参数。图5给出了最后分类结果中的每个类别中的典型图像。在实际的虹膜分类系统中,如果分类的类别太少,将不能有效缩短完成一次虹膜识别所需的时间;如果分类类别太多,又很难保证虹膜分类的准确度。经过权衡之后,在本实例中,我们选择K=5。
第五、是进行虹膜分类。
在应用过程中,对于任意一幅输入的虹膜图像,通过上面的步骤,我们不难得到其对应的虹膜纹理基元直方图。我们将这个直方图代入训练过程中得到的分类模型中,计算该直方图和各个类别的相似度,并进行排序,最后用相似度最大的类别标号标记输入图像。
在接下来的虹膜比对过程中,我们将输入图像首先和与其属于同一类别的特征模板进行比对,从而使得完成一次虹膜比对的平均时间缩短。
为了验证算法有效性,使用CASIA虹膜数据库对提出的算法进行了测试。CASIA虹膜数据库是由中科院自动化所创建的一个共享数据库,用于评测虹膜识别算法,目前已经被国际上多家研究单位采用。CASIA虹膜数据库包含800只眼睛的虹膜图像。根据算法测试,正确分类率为95.0%。而加入虹膜分类算法的虹膜识别系统的准确率也有了一定的提高,其等错误率(EER)从1.1%降低到0.88%.
那么多大的数据库使用本发明的方法才能提高系统的速度呢?我们假设虹膜数据库的大小为N,T1表示抽取进行虹膜识别所需特征的时间,T2表示抽取进行虹膜分类所需特征的时间,T3表示进行一次虹膜比对的时间,T4表示进行虹膜分类的时间。在本实例中,虹膜分类速度非常快,可以认为T4=0,而其他时间分别为T1=45ms,T2=660ms和T3=1.1ms.如果虹膜分类所需时间T2小于采用新方法后虹膜匹配节约的时间,就可以认为先进行虹膜分类是有效的。
当不采用虹膜分类时,完成一次虹膜匹配的平均时间为:
Twithout=T1+0.5*N*T3 (2)
当采用分成五类且正确分类率为95.0%的虹膜分类算法后,完成一次虹膜匹配的平均时间为:
Twith=T1+T2+(95.0%*0.2+5%*1)*0.5*N*T3 (3)
令Twithout=Twith我们不难求出N=1579.也就是所当数据库中已注册虹膜特征模板的数目大于1579时,采用本发明的方法会提高虹膜识别系统的平均性能。假设虹膜数据库中有10,000个虹膜特征模板,我们不难求出采用本方法将会节约63%左右的虹膜匹配时间,随着数据库规模的增加,节约的时间将更加可观。
本发明提供的具体实施例如下:
本发明尤其适合于拥有大规模虹膜数据库的虹膜识别系统。如某机场的自助登机系统采用的是虹膜识别技术,这个系统和公安局的在逃犯罪嫌疑人的虹膜数据库(规模大概有一百万)相连。当张三由于贪污公款被公安机关通缉,他的虹膜信息就被放进了在逃犯罪嫌疑人的虹膜数据库(也称为黑名单)中。当张三乔装打扮,使用假护照准备乘飞机出逃,在使用自助登机系统时,系统拍摄了张三的虹膜图像,自动提取出它的类别信息,最后将该虹膜图像和黑名单中同类别的虹膜图像注册模板进行一一比对,确认了张三的真实身份,自助登机系统开始报警,整个过程在5秒钟之内就完成了。虽然张三伪造了证件,但是在本发明的帮助下他还是被抓捕归案。
本发明能够在识别速度和准确率方面有效提高虹膜识别系统的整体性能,是下一代虹膜识别系统中的关键技术。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。