发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种虹膜图像鲁棒特征选择和快速比对的方法,以抽取最能有效描述虹膜纹理的特征,并实现对特征模板进行快速比对。
(二)技术方案
为达到上述目的,本发明提供了一种虹膜图像鲁棒特征选择和快速比对的方法,该方法包括步骤:
S1、采用区域多极子定序测量特征对虹膜纹理进行表达;具体包括:
S11、将虹膜图像沿半径和角度方向进行分割,划分出虹膜图像的局部子区域;
S12、设计多极子滤波器;
S13、采用设计的多极子滤波器对每个局部子区域进行滤波,抽取定序测量特征,用抽取的定序测量特征表达虹膜纹理;
S2、采用以相似度为导向的特征选择和融合方法从定序测量特征中选取最优的、分类能力最强的虹膜特征,构建用于最终的虹膜识别的单元分类器组合;其中,选取和构建的过程具体包括:
S21、产生训练样本;包括从数据库中选择虹膜图像用作训练集,对选择的虹膜图像进行预处理,在每幅预处理后的图像上抽取局域化的定序测量特征作为待选的特征,并计算任意两幅图像之间的差值图像,将计算任意两幅图像之间差值图像时得到的相似度分数作为该局域定序测量特征的一个训练样本;
S22、学习和建立虹膜组合分类器;包括以相似度为导向的特征选择和融合方法通过迭代地调用特征选择器,从候选特征集合里不断选择在当前样本权重分布情况下最优的特征,同时根据该特征在正负样本上的分布来构建相应的单元分类器,并将构建的单元分类器组合成为虹膜组合分类器;
S3、基于层次化分类器对虹膜特征模板进行快速比对;具体包括:
S31、构建层次化的虹膜分类器;包括使用层次化的分类器结构对选择出来的定序测量特征进行重新优化组合,把该定序测量特征分成几组,每一组称为一个层次分类器;
S32、使用层次化虹膜分类器对输入的虹膜特征模板进行快速比对;包括输入两个待比对的虹膜特征模板,把这两个虹膜特征模板对应的特征依次通过各个层次分类器,只要任意一层的层次分类器认为这两个模板不匹配,就直接输出不匹配结果,只有通过所有层次分类器验证的两个模板才认为是相互匹配的两个模板。
优选地,步骤S12中所述的多极子滤波器由多个位置不一、正负不一、尺度不一和形状不一的低通滤波器联合组成,每个低通滤波器称为一个极子,系数为正值的极子又称为正极子,系数为负值的极子又称为负极子,所有极子的系数和为零;
步骤S13中所述采用设计的多极子滤波器对每个局部子区域进行滤波并抽取定序测量特征包括:
分别计算被多极子滤波器正负极子覆盖区域的平均灰度G+(x,y)和G-(x,y),其计算公式如下:
其中,I(x,y)表示预处理之后的虹膜归一化图像,N
+,N
-分别表示多极子滤波器中正负极子的数目,
和
分别表示第i和第j个正极子或负极子,*表示图像卷积;
得到G+(x,y)和G-(x,y)之后,比较二者大小,如果在某个像素点上G+(x,y)大于G-(x,y),那么将图像的该像素点编码为1,否则编码为0。
优选地,所述步骤S2包括:采用以相似度为导向的特征选择和融合方法从定序测量特征中选取最优的、分类能力最强的虹膜特征,构建用于最终的虹膜识别的单元分类器组合。
优选地,所述选取和构建的过程具体包括:
S21、产生训练样本;
S22、学习和建立虹膜组合分类器。
优选地,所述对选择的虹膜图像进行预处理,是对选择的虹膜图像进行虹膜定位和虹膜归一化;所述计算任意两幅图像之间的差值图像,是通过计算任意两幅图像之间对应的局域化定序测量特征编码的相似度实现的。
优选地,所述步骤S22包括:以相似度为导向的特征选择和融合方法通过迭代地调用特征选择器,从候选特征集合里不断选择在当前样本权重分布情况下最优的特征,同时根据该特征在正负样本上的分布来构建相应的单元分类器,并将构建的单元分类器组合成为虹膜组合分类器。
优选地,所述步骤S22具体包括:
S221、初始化训练样本的权重;
S222、在当前样本权重分布下选择最优特征;
S223、根据当前最优特征建立单元分类器;
S224、更新训练样本权重;
S225、迭代地调用步骤S222至S224,构建虹膜组合分类器。
优选地,步骤S222中所述选择最优特征采用Log-AUC作为特征选择器进行选择,具体包括:计算每个特征对应的Log-AUC,选择使Log-AUC最小的特征作为当前最好的特征,所述每个特征对应的Log-AUC通过下式计算:
其中FAR(False Accept Rate)和FRR(False Reject Rate)分别表示使用该特征在训练集上分类时的错误接受率和错误拒绝率,取值范围为[0,1],即每一个(FAR,FRR)是ROC(Receiver OperatorCharacteristics)曲线上的一个点。
优选地,步骤S223中所述单元分类器ht(φt)为任意的单调递增函数,即当φt1>φt2时,须有ht(φt1)>ht(φt2);所述步骤S223具体包括:
选择一个单调递增函数ht,求出当前特征的特征值φt,最后计算单元分类器的输出ht(φt)。所述单调递增函数为sigmoid函数。
优选地,步骤S224中所述更新训练样本权重采用如下公式:
其中,wt(xi)是样本xi的当前权重,wt+1(xi)是经过权重更新后的样本权重,sigmf(x,β,0)是一个sigmoid函数;yi∈{+1,-1}是训练样本xi的类别标号,正样本取值为1,负样本取值为-1;Zt是一个归一化系数,使得wt+1(xi)在所有训练样本上能够组成一个概率密度函数,x是训练样本,φt(x)表示在第t步时训练样本分布下最优的特征;ht(φt(x))是基于φt(x)建立的单元分类器。
优选地,所述步骤S225包括:迭代地调用步骤S222至S224,不断选择出在当前样本权重分布下分类能力最强的虹膜局域化定序测量特征,并根据该定序测量特征在正负训练样本上的分布情况构建单元分类器,然后将构建的单元分类器组合成为虹膜组合分类器。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的这种虹膜图像鲁棒特征选择和快速比对的方法,能够抽取最能有效描述虹膜纹理的特征,并实现了对特征模板进行快速比对。
2、本发明提供的这种虹膜图像鲁棒特征选择和快速比对的方法,基于局部多极子定序测量特征的虹膜纹理鲁棒表达所使用的多极子滤波器,具有配置简单灵活、计算速度快、鲁棒性高、表达能力强的优点;同时局域分割的方法充分考虑了虹膜不同区域之间纹理分布的特性,能够更加有效地对虹膜纹理进行个性化的表达和描述。
3、本发明提供的这种虹膜图像鲁棒特征选择和快速比对的方法,提出的以相似度为导向的虹膜特征选择和融合算法,打破了以往特征选择算法完全依赖样本分布的统计意义而忽略样本的物理意义的局限;所使用的特征选择器能够直接优化样本分类的错误率;所使用的单元分类器(Unit Classifier)是基于正负样本的累积分布建立的,从而在考虑样本统计意义的同时充分考虑了样本内在的物理含义(相似度含义);最后,所使用的基于Sigmoid函数的权重更新方法更加灵活,充分考虑了特征训练过程中收敛速度和鲁棒性的折衷。上述优点使得该方法所选的特征分类能力强,能够更加有效地对虹膜进行分类。
4、本发明提供的这种虹膜图像鲁棒特征选择和快速比对的方法,提出的基于层次化分类器的虹膜特征模板快速比对算法,打破了以往方法在特征模板比对时需要计算模板中所有特征的局限。对于一对明显不匹配的特征模板,该方法仅仅利用少数几个特征就可以认定该特征模板对不匹配,因此可以大大节省特征模板比对的速度(在本发明的实验中,往往可以提高4至5倍的比对速度)。
5、本发明提供的这种虹膜图像鲁棒特征选择和快速比对的方法,使鲁棒、快速的虹膜识别成为可能,可广泛应用于使用虹膜识别进行身份认证或者识别的系统中,比如虹膜机场安检系统、虹膜出入境身份认证系统、虹膜ATM机、虹膜门禁系统、虹膜手机、虹膜PC登录系统等。
具体实施方式
下面结合附图说明本发明技术方案中所涉及的技术问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
虹膜是人眼中介于黑色瞳孔和白色巩膜之间的圆环状区域,呈现丰富的纹理,虹膜识别就是指根据每个人的虹膜纹理的不同来识别人的身份。大量医学和计算机科学的研究表明,虹膜纹理的分布具有很多优良的特性,比如:
1.随机性和唯一性:不同眼睛的虹膜纹理高度随机、各不相同;
2.角度方向的自相似性:同一虹膜图像的不同角度方向上的虹膜纹理分布具有某种程度的相似性,如图2(a)中的虹膜图像所示。
3.半径方向的延伸性:虹膜纹理沿着半径方向延伸。一般来讲,半径越大,虹膜纹理斑块越大,纹理的‘密度’越低。
上述虹膜纹理的分布特性启发我们,虹膜图像中不同区域的纹理尺度各不相同,在不同的区域应该使用不同的滤波器对虹膜纹理进行特征抽取,从而达到对虹膜纹理进行个性化描述的目的。
本发明采用图像的定序测量特征对局域化的虹膜纹理进行表达和描述。定序测量特征通过比较图像中两个不同区域的灰度高低对图像进行定性地表达和描述,即编码。大量计算机科学和认知心理学的研究表明,定序测量特征对光照和噪声鲁棒、计算速度快。同时,利用信息论的知识可以证明,大量定序测量特征的组合可以包含非常庞大的信息量。上述优点使得定序测量特征特别适合用于描述具有高度随机性的虹膜纹理。
根据上述分析,本发明提出虹膜图像鲁棒特征选择和快速比对方法,其流程框图如图1所示,包括以下步骤:
S1、采用区域多极子定序测量特征对虹膜纹理进行表达;
S2、以相似度为导向的虹膜特征选择和融合;
S3、基于层次化分类器对虹膜特征模板进行快速比对。
下面对本发明涉及的关键步骤进行逐一说明。本发明所述方法中各个基本步骤的具体形式如下所述:
首先,步骤S1是采用区域多极子定序测量特征对虹膜纹理进行表达。
为了对不同虹膜区域的纹理进行个性化的描述和表达,我们沿半径和角度方向将虹膜图像分成很多小块,然后使用多尺度、多方向的多极子滤波器对每个小块进行滤波,得到该局域小块的定序测量特征用于表达其纹理。具体过程如下:
S11、将虹膜图像沿半径和角度方向进行分割,划分出虹膜图像的局部子区域。虹膜纹理具有多尺度性、角度方向的自相似性和半径方向的延伸性等固有特性。基于这些特性,我们把虹膜图像沿半径和角度方向进行分割,图2示出了一种虹膜局域分割的示意图,其中图2(a)示出了在直角坐标系下的虹膜图像分割示意图,图2(b)示出虹膜图像预处理后在虹膜归一化图像上对应的分割示意图。在实际使用中,我们可以产生更多的类似分割结果,所得到的子区域之间相互重叠,从而能够充分覆盖整个虹膜区域。
S12、设计多极子滤波器。多极子滤波器由多个位置不一、正负不一、尺度不一和形状不一的低通滤波器(如高斯滤波器)联合组成。每个低通滤波器称为一个‘极子’,所有‘极子’的系数和为零,因此多极子滤波器可以看作是一种形式灵活的差分滤波器。多极子滤波器可以二值化编码被正负极子覆盖的图像区域的灰度定序测量关系。大量定序测量系数的组合具有非常高的信息容量,因此可以有效地对图像纹理进行表达和描述。图3中T301-T303示出三个典型的以高斯滤波器作为单个‘极子’的多极子滤波器。
S13、采用设计的多极子滤波器对分割得到的每个局部子区域进行滤波,抽取定序测量特征,用抽取的定序测量特征表达虹膜纹理。使用步骤S12产生的多极子滤波器(假设共有M)对每个局部子区域滤波后抽取定序测量特征,过程如下:
分别计算被多极子滤波器正负极子覆盖区域的平均灰度G+(x,y)和G-(x,y),其计算公式如下:
其中I(x,y)表示预处理之后的虹膜归一化图像,N
+,N
-分别表示多极子滤波器中正负极子的数目,
和
分别表示第i和第j个正极子或负极子,*表示图像卷积;
得到G+(x,y)和G-(x,y)之后,比较二者大小,如果在某个像素点上G+(x,y)大于G-(x,y),那么将图像的该像素点编码为1,否则编码为0。图3给出了三个典型的多极子滤波器在两个虹膜局部子区域上的滤波编码过程。从中我们可以看出,不同的多极子滤波器产生不同的局域化定序测量特征,并且该特征能够很好地表达不同虹膜纹理的差异。
假设我们在步骤S11中共划分了N个子区域,在步骤S12中共生成了M个多极子滤波器,那么就会产生N*M个候选的局域化定序测量特征。比如图3中我们有3个多极子滤波器T301-T303,2个局部子区域T321-T322,那么就可以生成如图3中T311-T316所示的6个局域定序测量特征。这些特征是高度冗余的,这种冗余一方面来自于不同区域之间的相关性,一方面来自于不同滤波器之间的相关性。
其次,步骤S2是以相似度为导向的虹膜特征选择和融合。该步骤采用以相似度为导向的特征选择和融合方法从定序测量特征中选取最优的、分类能力最强的虹膜特征,构建用于最终的虹膜识别的单元分类器组合。
如前所述,S1产生了大量高度冗余的虹膜纹理定序测量特征。冗余特征在提高识别精度的同时也带来了很高的存储和计算负担。为了减少所需的存储空间和计算消耗,以相似度为导向的特征选择和融合算法通过一种机器学习机制选取最优的、分类能力最强的虹膜特征,并构建相应的单元分类器组合后用于最终的虹膜识别。该方法的流程图如图4所示,过程如下:
S21、产生训练样本。从数据库中选择虹膜图像用作训练集,对选择的虹膜图像进行预处理,在每幅预处理后的图像上抽取局域化的定序测量特征作为待选的特征,并计算任意两幅图像之间的差值图像,将计算任意两幅图像之间差值图像时得到的相似度分数作为该局域定序测量特征的一个训练样本。
为了选择最优的虹膜特征首先需要一组训练样本,为此,我们从CASIA_IrisV3_Lamp数据库中选择了6000幅虹膜图像用作训练集。对这6000幅图像进行预处理(即虹膜定位、虹膜归一化)之后,我们在每幅归一化好的图像上按照S1所述方法抽取局域化的定序测量特征作为待选的特征。同时,我们计算任意两幅图像之间的差值图像,此处差值图像是通过计算该图像对之间对应的局域化定序测量特征编码的相似度得到的,每一个相似度分数作为该局域定序测量特征的一个训练样本。因此,每一个训练样本都具有一个内在的物理含义——相似度。另外,如果该差值图像对应的两幅图像来自相同的眼睛,那么该差值图像为正样本,否则为负样本。
S22、学习和建立虹膜组合分类器。以相似度为导向的特征选择和融合方法通过迭代地调用特征选择器,从候选特征集合里不断选择在当前样本权重分布情况下最优的特征,同时根据该特征在正负样本上的分布来构建相应的单元分类器,并将构建的单元分类器组合成为虹膜组合分类器。
以相似度为导向的特征选择和融合方法通过迭代地调用特征选择器(Feature Selector)从候选特征集合里不断选择在当前样本权重分布情况下最优的特征φt(x),同时根据该特征在正负样本上的分布构建相应的单元分类器ht(φt(x))。所有选择出的单元分类器组合后成为一个强的组合分类器:
其中,sign(x)是一个示性函数,当x>0时输出为1,否则输出为0;φt(x)表示在第t步时训练样本分布下最优的特征;ht(φt(x))是基于φt(x)建立的单元分类器。
上述特征选择和融合过程S22又包括如下四个子流程:
S221、初始化训练样本的权重。假设在S21中我们产生了N+个正样本和N-个负样本,则第i个训练样本xi的初始化权重ωi为:
S222、在当前样本权重分布下选择最优特征。最优特征选择是指选取在当前训练样本权重分布条件下分类能力最强的局域化定序测量特征。为此,本发明提出使用Log-AUC作为特征选择器来选择最优的特征。此处,使用某个特征在训练样本上进行分类的Log-AUC的计算方式如下:
其中FAR(False Accept Rate)是指使用该特征在训练集上分类时的错误接受率,FRR(False Reject Rate)是指使用该特征在训练集上分类时的错误拒绝率,即每一个(FAR,FRR)是ROC(Receiver OperatorCharacteristics)曲线上的一个点。
在计算每个特征对应的Log-AUC之后,我们选择使Log-AUC最小的特征作为当前最好的特征,即
其中,φt表示当前分类能力最强的特征,Φ表示所有待选局域化定序测量特征。
S223、根据当前最优特征建立单元分类器。单元分类器ht(φt(x))的作用是根据样本在特征φt(x)上的取值输出一个置信度分数,分数越高,说明输入样本x(此处指参与比对的一个虹膜图像对)为正样本(即该虹膜图像对比对成功)的可能性越大。本发明中,单元分类器ht(φt)可以为任意的单调递增函数,即当φt1>φt2时,须有ht(φt1)>ht(φt2)。
步骤S223具体包括:选择一个单调递增函数ht,求出当前特征的特征值φt,最后计算单元分类器的输出ht(φt)。
举例来讲,单元分类器可通过下式得到:
其中sigmf(x,a,c)=1/(1+exp(-a(x-c)))是一个斜率为a,中心为c的sigmoid函数;
分别是正负训练样本的双向累积分布,通过下式计算:
上式中
是φ
t(x)在正负训练样本上的概率密度函数。图5(a)示出一个特征φ
t(x)在训练样本上的概率密度函数,图5(b)示出φ
t(x)对应的双向累积分布函数,图5(c)给出了根据φ
t(x)和公式(6)建立的单元分类器的分类输出曲线。注意,此处sigmoid函数可以替换为其他的单调递增函数。
S224、更新训练样本权重。每次选择出一个最优特征并构建单元分类器后,需要对样本权重进行更新,从而使下次选择时能够更加注重在上一轮中识别结果差的样本。具体的样本权重更新方法如下:
上式中wt(xi)是样本xi的当前权重;wt+1(xi)是经过权重更新后的样本权重;sigmf(x,β,0)是一个sigmoid函数;yi∈{+1,-1}是训练样本xi的类别标号,正样本取值为1,负样本取值为-1;Zt是一个归一化系数,使得wt+1(xi)在所有训练样本上能够组成一个概率密度函数。
S225、迭代地调用步骤S222至S224,构建虹膜组合分类器。以相似度为导向的特征选择和融合算法通过迭代地调用上述步骤S222至S224不断选择出在当前样本权重分布下分类能力最强的虹膜局域化定序测量特征,并根据该特征在正负训练样本上的分布情况构建单元分类器。所有单元分类器组合在一起成为一个增强的虹膜分类器,可以有效的进行虹膜分类。图6中T601-T604示出通过该特征选择和融合算法挑选的前四个分类能力最强的局域定序测量特征在虹膜图像中的位置及其对应的多极子滤波器,从图6我们可以看出,该方法选择出的特征基本集中在虹膜图像中靠近瞳孔且眼皮、睫毛和阴影遮挡可能小的区域,这充分说明了本发明提出的特征选择算法的有效性。
最后,步骤S3是基于层次化分类器对虹膜特征模板进行快速比对。虹膜识别抽取当前用户提供的测试虹膜图像的纹理特征,并将抽取得到的纹理特征与虹膜数据库中预先存储的特征进行比对,以确定当前用户的身份。如图6(a)所示,传统的虹膜识别算法在特征模板比对时需要把特征模板中存储的特征一一比对,图6中hi表示第i个单元分类器,对应一个特征。随着数据库中模板数目的不断增加,使用这种特征模板比对方式所需的时间消耗也越来越大。为了加快特征模板比对速度,我们提出一种层次化的虹膜特征模板快速比对方法,其具体过程如下:
S31、构建层次化的虹膜分类器。使用层次化的分类器结构对选择出来的定序测量特征进行重新优化组合,把该定序测量特征分成几组,每一组称为一个层次分类器。图6(b)示出一个层次化分类器的例子;
S32、使用层次化虹膜分类器对输入的虹膜特征模板进行快速比对。输入两个待比对的虹膜特征模板,把这两个虹膜特征模板对应的特征依次通过各个层次分类器,只要任意一层的层次分类器认为这两个模板不匹配,就直接输出不匹配结果,只有通过所有层次分类器验证的两个模板才认为是相互匹配的两个模板。
如图6(b)所示,在使用层次化分类器对虹膜特征模板进行比对的时候,只要任意一个层次分类器认为当前参与比对的两个模板不匹配,就直接输出比对失败的结果。
层次化的虹膜分类器使得我们能够只用少数的特征就可以快速的排除大部分不匹配模板,从而大大提高了特征模板匹配速度。假设比对一个特征需要的计算时间为c0,S2一共选择了T个特征。那么,在没有使用层次化分类器之前,为了排除一个负样本我们需要的计算时间是:
COriginal=c0 T (10)
在使用了层次化分类器之后,我们需要的计算时间为
其中,s是层次分类器的数目;T
i为第i个层次分类器中单元分类器的数目,满足
P
i是进入了第i个层次分类器(即通过了前i-1个层次分类器的验证但是被第i个层次分类器拒绝的负样本的比例)。如果在一次实验中,T=24,s=4,T
1-T
4=4,4,8,8,P
1-P
4=0.75,0.68,0.813,1.0,按照这个配置,C
Original=24c
0,C
cascade=4.32c
0,因此,经过层次化的优化设计之后,特征比对速度提高了近5.56倍。从而为虹膜识别在大规模数据库下的应用提供了可靠的速度保证。
下面结合具体实例说明基于虹膜图像分析的身份认证方法在门禁控制中的应用。本发明可广泛应用于使用虹膜进行身份认证和识别的场景。一个典型的应用是门禁控制系统。假设在某大厦入口处安装了一套虹膜识别系统,当何某想要进入大厦时,大厦需要对何某的身份做一个认证。此时,何某只需要注视一下虹膜识别采集摄像头,该虹膜识别系统就可把采集到的虹膜图像输入到基于本发明开发的虹膜识别算法系统中。算法系统首先准确分割出输入图像中的虹膜有效区域,然后识别系统会根据本发明所述方法进行特征抽取,并同数据库中存储的特征模板进行比对,从而验证何某是否是以合法身份进入大厦。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。