发明内容
本发明的目的是为了解决上述问题,设计了一种虹膜识别方法。
实现上述目的本发明的技术方案为,一种虹膜快速识别方法,该方法包括:
制作能区分任意两张虹膜样本是否为同一类别人的AdaBoost-soft级联分类器数据库;
对待识别虹膜图像进行识别:将待识别虹膜图像的特征输入AdaBoost-soft级联分类器中进行计算,并将计算结果与AdaBoost-soft级联分类器数据库中的数据进行对比判断,如存在相同的虹膜样本,则该相同的虹膜样本所属虹膜类别即为待识别虹膜图形所述的类别。
在上述技术方案中,所述制作AdaBoost-soft级联分类器数据库包括:
(a)将已知分类好的虹膜样本进行分块处理,利用定序滤波器,对每块的虹膜样本数据进行计算,得出每块虹膜样本数据的定序特征图;
(b)得到所有虹膜样本的分块特征图后,计算其中同类虹膜的两个相同位置特征图块的汉明距离,并将它作为分类器的正样本库。
对所有虹膜样本中同一个人的任意两张不同的虹膜样本上的相同位置的定序特征图进行汉明距离计算,得到正样本特征库;
(c)得到所有虹膜样本的分块特征图后,计算其中同类虹膜的两个相同位置特征图块的汉明距离,并将它作为分类器的正样本库。
(d)将正负样本特征库中的数据输入到AdaBoost-soft级联分类器中进行运算,得到一个区分任意两张虹膜样本是不是同一类别人的AdaBoost-soft级联分类器数据库。
在上述技术方案中,其特征在于对待识别虹膜图像进行识别包括:
(e)对待识别的虹膜图像进行步骤(a)的操作得到每块待识别虹膜样本数据的定序特征图;
(f)将待识别的虹膜图像上的每块虹膜样本数据的定序特征图与AdaBoost-soft级联分类器数据库中的所有虹膜样本在相同位置上的定序特征图进行汉明距离计算得到特征数据;
(g)将所述的特征数据输入AdaBoost-soft级联分类器中进行运算,并与AdaBoost-soft级联分类器数据库中的数据进行对比判断,判断数据结果相同的虹膜样本所属的虹膜类别就是待识别的虹膜图形属于的类别。
本发明与现有技术相比具有以下有益效果:在提取虹膜特征过程中,利用定序滤波算子相融合的方法来提取的虹膜特征更精确,对光照、姿态变化具有很好的鲁棒性,识别率更高;把Adaboost-soft级联分类器引入到虹膜多分类问题中,运用一对多策略从而把多类问题转化为两类问题,提高了运行速度,使虹膜识别性能得到了显著的提高;采用了soft级联来训练分类器,采用样本特征响应累加和来进行样本类别判定,每一级均设置一个门限值,避免了传统级联仅考虑本级分类器而忽略掉前面级,造成信息浪费及脆弱判定的问题;采用了soft级联训练分类器,减轻了分类器中后面级的分类负担,使得所有级都有相当的分类压力,传统级联方式会导致越靠后的级,分类压力越大,不仅需要选择较多的特征,有时甚至达不到分类要求;采用了soft级联训练分类器,可以利用ROC曲线,在给定分类器的整体检测率和误检率的前提下,快速找到需要的特征数,进而推算出训练级数,使得训练过程更加可控。传统级联方式每一级的训练时,由于在分类性能和训练时间上取了平衡,为了达到每一级的分类性能(检测率、误检率),不断的重复训练以得到满足性能要求的参数,导致训练时间过长,训练时间往往达到几周以上。另外,为了降低整体的误检率,必须不断的训练新的级,不可避免的降低了整体的检测率。
具体实施方式
为便于本发明技术方案的理解,下面结合具体的实施方式进行介绍。如图1所示,一种虹膜识别方法,该方法的训练模块包括以下步骤:(a)将已知分类好的虹膜样本进行分块处理,利用定序滤波器,对每块的虹膜样本数据进行计算,得出每块虹膜样本数据的定序特征图;经过定序滤波处理后的定序特征图如图2所示;(b)对所有虹膜样本中同一个人的任意两张不同的虹膜样本上的相同位置的定序特征图进行汉明距离计算,得到正样本特征库;(c)对所有虹膜样本中不同人的任意两张虹膜样本上的相同位置的定序特征图进行汉明距离计算,得到负样本特征库;(d)将正负样本特征库中的数据输入到AdaBoost-soft级联分类器中进行运算,得到一个区分任意两张虹膜样本是不是同一类别人的AdaBoost-soft级联分类器数据库。该方法的识别模块包括以下步骤:(e)对待识别的虹膜图像进行步骤(a)的操作得到每块虹膜样本数据的定序特征图;(f)将待识别的虹膜图像上的每块虹膜样本数据的定序特征图与AdaBoost-soft级联分类器数据库中的所有虹膜样本(在相同位置上)的定序特征图进行汉明距离计算得到特征数据;(g)将所述的特征数据输入AdaBoost-soft级联分类器中进行运算,并与AdaBoost-soft级联分类器数据库中的数据进行对比判断,判断数据结果相同的虹膜样本所属的虹膜类别就是待识别的虹膜图形属于的类别。
在步骤(a)中所述的虹膜样本数据是指对虹膜样本的尺寸和灰度进行数据归一化处理所得到的数据值,其中虹膜样本的尺寸是根据虹膜
图像进行分割得到。
汉明距离定义为计算虹膜定序二值特征之间的相似程度,通过按位比较两个特征模版上对应的位编码是否一致,将不一致的位数占总模板的比例作为这两个特征模板间的归一化距离,距离越小表明这两个虹膜特征模板越相似。
所述的定序滤波器构造方法是:
高斯核函数作为基本极子,通常构造一个定序滤波器需要四个参数:第一是尺度参数σ,第二是两个极子之间的距d,第三个是极子之间的方向θ,第四极子的个数。
Cp,Cn表示正极子和负极子系数,值得注意的是构造的极子系数和必须为1;dpi与dnj指的是正负极子的中心位置,其坐标由正负极子间的距离d和方向决定;NP,Nn表示正负极子个数。
所述定序征图计算算法是:
将每幅虹膜图用每个定序滤波器提取定序图特征。
即滤波后大于0的数变为1,小于0的数变为0。
通过所述的定序滤波器计算得到的所有特征数据,通过运算程序AdaBoost级联分类器,把定序滤波算子对应的特征数据进行分类,得到可以区分同一个人的虹膜和不是同一个人的虹膜的特征数据集合。同时,AdaBoost-soft级联分类器将多个人的虹膜分类问题转化为两个人之间的虹膜分类问题。所述AdaBoost-soft级联分类器分类的具体实现方法是:
1)给定训练样本{(x1,y1)、(x2,y2)…(xn,yn)},yi∈{1,0}分别表示正负样本;单独每一级允许拒绝正样本比例{v1,v2…vT};
2)利用AdaBoost训练出T个弱分类器C{c1,c2…cT}(此处的弱是相对于soft级联训练出的分类器而言)
3)初始化每一个样本的响应值为0,允许拒绝正样本比例p为0;
4)t从1到T,循环执行以下步骤:
a)遍历弱分类器集C,根据最大化正负样本间隔从C中选择出本
级的弱分类器ct:
其中,ft,i,j=dt,i-1+cj,bt、at分别为本级的正负样本总数
b)计算出样本在本级分类器的响应值ct(xi),与前t-1级的样本响应值累加和dt-1,i进行累加,更新前t级样本的响应值累加和dt,i:
dt,i=dt-1,i+ct
c)按如下原则选取该级的拒绝门限值rt:
样本在本级的响应值累加和要大于拒绝门限值,才会通过本级,否则会被拒绝。因此遍历本级每一个样本的响应值累加和为门限值r,在满足拒绝正样本百分比不超过p的前提下,选取最大的r作为本级的拒绝门限值rt;
其中,
d)根据得到的本级拒绝门限值,对样本进行判别,剔除被拒绝样本,更新样本库;从弱分类器集C中剔除本级选出的弱分类器ct,精简弱分类器集;根据本级实际拒绝正样本个数,更新允许拒绝正样本百分比p;
本级实际拒绝正样本个数为:
更新
e)采取自举方式,增加一定个数的负样本,保证自举的负样本能够通过已经选出的前t级分类器。
其中第2步中的Adaboost算法的具体实现为:
1)给定n个运算样本(x1,y1),...,(xn,yn),yi=0,1分别表示xi为负样本或正样本。
2)初始化权重其中正样本个数为l,负样本个数为m。
3)t从1到T,循环执行以下步骤:
a)归一化权重
b)对每一个特征fj,运算一个弱分类器hj,记此分类器错误率为εj=∑iωt,j|hj(xi-yi)|;
c)从上一步运算出的所有弱分类器中,找出具有最低错误率εt的分类器ht;
d)更新权重其中βt=εt/(1-εt),如果xi被分类正确,ei=0,否则ei=1。
4)最后得到强分类器:假如则c(x)=1;否则c(x)=0。其中
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于发明的保护范围之内。