发明内容
(一)要解决的技术问题
本发明的目的是提出一种基于鲁棒纹理特征和机器学习对伪造虹膜图像判别方法,即通过提取纹理特征来区别真实虹膜图像与伪造虹膜图像。同时,通过分块提取真实虹膜图像和伪造虹膜图像的纹理特征的统计特征,得到较好的稳定性能和泛化性能。
(二)技术方案
为实现上述目的,基于鲁棒纹理特征和机器学习对伪造虹膜图像判别的方法包括步骤:
步骤S1:采集训练图像库中的训练虹膜图像,所述训练虹膜图像为训练真实虹膜图像和训练伪造虹膜图像,并对训练虹膜图像预处理、定位虹膜、截取训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域;对训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域做噪声去除处理;进行滤波生成多尺度空间滤波结果图,在这些滤波结果图的每一个像素计算简化的尺度不变特征变换描述子;对训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域,计算每个像素的加权的局部二元模式算子特征码;将训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域分成多个子块,分别计算每个子块的加权局部二元模式算子特征码的统计特征,通过分块提取特征保留了训练虹膜图像各部分的结构关系;把提取的统计特征串连融合成为包含局部纹理和全局结构信息的特征用于支持向量机的训练学习,利用泛化能力好的分类学习算法,根据加权局部二元模式特征码在训练集上的分布情况构建伪造虹膜判别分类器;
步骤S2:采集测试虹膜图像,包括真实虹膜和伪造虹膜图像,对任意输入的测试虹膜图像预处理,得到所述测试虹膜图像的感兴趣区域,并做噪声去除处理;从测试虹膜图像的感兴趣区域中提取简化的尺度不变特征变换描述子;从测试虹膜图像的感兴趣区域提取加权局部二元模式算子特征码;将测试虹膜图像的感兴趣区域采用与训练过程相同的方式分成多个子块,分别计算每个子块的加权局部二元模式算子特征码的统计特征,通过分块提取特征保留了虹膜图像各部分的结构关系;将提取的统计特征串连融合成为包含局部纹理和全局结构信息的特征作为伪造虹膜判别的特征向量;将伪造虹膜判别的特征向量输入到训练得到的伪造虹膜判别分类器,根据伪造虹膜判别分类器输出的结果判断该测试虹膜图像是否是来自伪造虹膜,如果是则给出报警信号,如果不是,则接受并进入后续的虹膜识别过程。
其中,所述的伪造虹膜图像判别方法,还包括建立包含训练真实虹膜图像和训练伪造虹膜图像的训练图像库,将训练伪造虹膜图像作为正训练样本,训练真实虹膜图像作为负训练样本。
其中,对所述训练虹膜图像或测试虹膜图像预处理,首先使用圆模型定位虹膜图像中虹膜内外圆边界的圆心和半径;截取以虹膜圆心为中点及二倍虹膜半径为边长的正方形区域;将截取的正方形子区域缩放到统一的大小;然后排除该子区域的上面八分之一和下面八分之一的区域作为感兴趣区域;之后采用全变分方法对感兴趣区域进行去噪处理。
其中,所述简化的尺度不变特征变换描述子是一个像素邻域内的灰度梯度方向直方图,所述直方图的横坐标对应八个方向,这八个方向与水平方向夹角分别是0度、45度、90度、135度、180度、225度、270度和315度;一个像素点的灰度梯度投影到与直方图的八个方向中最接近的方向上,投影值由该像素点的灰度梯度幅值大小确定。
其中,所述的加权局部二元模式算子特征码是在计算局部二元模式算子特征码时根据SIFT描述子的大小顺序确定二值序列里的顺序,SIFT描述子直方图的最大方向对应二值序列的最高位,即编码后在十进制数中所占的权重最大,依次类推排序。
其中,所述子块加权局部二元模式算子特征码的统计特征包括三个统计特征值,分别是加权局部二元模式算子特征码的统计特征的均值
标准差σ
w-LBP和加权局部二元模式算子特征码直方图的标准差σ
hist,计算公式如下:
其中,m和n是子块中像素的行数和列数,Iw-LBP是提取子块加权局部二元模式算子特征码的结果,hist是Iw-LBP的统计直方图结果,w-LBP为加权局部二元算子特征码的标识符号,i和j分别表示子块中的行标号和列标号,k表示二元模式算子特征码统计直方图的横坐标标号。
其中,用多尺度高斯模板在所述测试虹膜图像的感兴趣区域上进行滤波,生成多尺度空间的滤波结果图,在这些滤波结果图的每一个像素计算简化的尺度不变特征变换描述子;然后计算每个像素的加权局部二元模式算子特征码,其中加权编码利用简化的尺度不变特征变换描述子加权。
(三)有益效果
本发明提出了一种基于鲁棒纹理特征和机器学习的伪造虹膜判别新方法。本发明方法的优点在于以下几个方面:
1.本发明方法利用SIFT描述子加权局部二元算子特征编码,提高局部二元模式特征的稳定性,特别是对旋转和视角变换的稳定性,加权局部二元模式特征是具有良好鲁棒性的纹理特征。
2.本发明方法通过提取纹理信息的分块统计特征,融合了局部纹理特征和全局虹膜结构信息,不需要进行虹膜归一化,不需要眼皮、睫毛等定位和去除,即可对虹膜图像给出高可靠性的分类结果,能够克服眼皮、睫毛、眼镜遮挡等问题。
3.本发明方法采用支持向量机做分类器,可自动训练分类器。采用支持向量机训练分类器和统计特征作为分类特征,有较好的泛化能力,特别适合训练样本不足的伪造虹膜判别问题。
4.本发明对于硬件没有特殊的要求,而且不涉及复杂的计算,易于在实际的***中使用,提高虹膜识别***的安全性能。
综上所述,本发明可以有效地完成伪造虹膜判别,提高虹膜识别***的安全性。可用于判别检测常见的纸质打印虹膜、彩色印花隐形眼镜和人造眼球等伪造虹膜攻击手段,可配合虹膜识别***在国防、金融、公安刑侦等场合,以及其他需要进行身份确认的领域应用。
具体实施方式
下面结合附图详细说明本发明技术方案中所涉及的各个细节。应指出的是,所描述的实施例旨在便于对本发明的理解,而对其不起任何限定作用。
一般来讲,虹膜识别***分为“硬件和软件”两大模块:虹膜图像获取装置和虹膜识别算法。虹膜识别算法包括三个主要步骤:图像预处理、特征提取和模式匹配。本发明提出的方法将应用于虹膜识别软件模块的识别部分之前,可以看作虹膜图像粗分类的一种。虹膜识别***应用中面临着各种伪造虹膜图像的威胁和攻击,如果不能准确的判别这些伪造虹膜,将对授权用户造成巨大的潜在损失。
本发明提出一种新颖的、可靠的加权局部二元模式特征的伪造虹膜判别方法,流程框图由如图1和图1a给出,包括训练和分类两个部分。首先需要收集真实虹膜图像和伪造虹膜图像,提取特征用于支持向量机学习。分类阶段对测试虹膜图像进行预处理,提取特征输入训练得到的模型中,获得输入图像的类别信息,即真实虹膜或伪造虹膜。
本发明的基本步骤分成训练与测试两部分,具体形式如下所述:
伪造虹膜判别分类器构建步骤S1:采集训练图像库中的训练虹膜图像,所述训练虹膜图像为训练真实虹膜图像和训练伪造虹膜图像,并对训练虹膜图像预处理、定位虹膜、截取训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域;对训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域做噪声去除处理;进行滤波生成多尺度空间滤波结果图,在这些滤波结果图的每一个像素计算简化的尺度不变特征变换描述子(简写为简化的SIFT描述子);对训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域中计算每个像素的加权的局部二元模式算子特征码;将训练真实虹膜图像和训练伪造虹膜图像的感兴趣区域分成多个子块,分别计算每个子块的加权局部二元模式算子特征码的统计特征,通过分块提取特征保留了训练虹膜图像各部分的结构关系;把提取的统计特征串连融合成为包含局部纹理和全局结构信息的特征用于支持向量机的训练学习,利用泛化能力好的分类学习算法,根据加权局部二元模式算子特征码在训练集上的分布情况构建伪造虹膜判别分类器;所述多个子块可以选择6×8个子块、或5×6个子块、或6×10个子块等,子块划分的更多选择在此不再赘述,以下选择6×8个子块为例说明。
伪造虹膜判别步骤S2:采集测试虹膜图像库,包括真实虹膜和伪造虹膜图像,对任意输入的测试虹膜图像预处理,得到所述测试虹膜图像的感兴趣区域,并做噪声去除处理;从测试虹膜图像的感兴趣区域中提取简化的尺度不变特征变换(SIFT)描述子;从测试虹膜图像的感兴趣区域提取加权局部二元模式算子特征码;将测试虹膜图像的感兴趣区域采用与训练过程相同的方式分成多个个子块,分别计算每个子块的加权局部二元模式算子特征码的统计特征,通过分块提取特征保留了虹膜图像各部分的结构关系;将提取的统计特征串连融合成为包含局部纹理和全局结构信息的特征作为伪造虹膜判别的特征向量;将伪造虹膜判别的特征向量输入到训练得到的伪造虹膜判别分类器,根据伪造虹膜判别分类器输出结果判断该测试虹膜图像是否是来自伪造虹膜,如果是则给出报警信号,如果不是,则接受并进入后续的虹膜识别过程。
下面对本发明涉及的关键步骤进行逐一说明。本发明所述方法中各个基本步骤的具体形式如下所述:
首先,构建伪造虹膜判别分类器的步骤S1是基于加权局部二元模式算子特征码的虹膜纹理统计特征以及基于统计学***均分成6×8个子块,计算每一个子块的加权局部二元模式算子特征码的统计特征,将这些统计特征串联融合成为包含局部纹理和全局结构信息的特征;最后,使用支持向量机训练构建分类器用于伪造虹膜图像和真实虹膜图像的判别。具体过程如下:
步骤S11:建立包含真实虹膜图像和伪造虹膜图像的训练图像库,将伪造虹膜图像作为正训练样本,真实虹膜图像作为负训练样本。图2a和图2b给出了训练图像库中的真实虹膜图像和伪造虹膜图像的例子。
步骤S12:对训练图像库中的真实虹膜图像和伪造虹膜图像进行预处理,预处理阶段和特征提取阶段对真实虹膜图像和伪造虹膜图像的操作是相同的,因此步骤S12、S13和S14中统称为虹膜图像。图3a示出的虹膜图像中不仅包括虹膜,还包括瞳孔、眼白、眼皮和睫毛等。虹膜图像预处理的第一步是从虹膜图像中把虹膜分离出来,瞳孔和虹膜的外轮廓都很接近圆形,任务是找到拟合瞳孔和虹膜边界的圆的坐标和半径,然后截取出包含虹膜的正方形区域。人眼瞳孔的灰度远低于周围区域,所以可以使用阈值法分离出瞳孔区域,然后将该区域的重心作为初步的瞳孔中心,在该点附近用可变尺寸的模板去拟合瞳孔的边缘,最佳的拟合结果就是瞳孔定位的结果。虹膜的中心接近瞳孔的中心,所以可以使用同样的方法找到虹膜的中心和半径。图3(b)是对图3(a)中虹膜图像的虹膜定位之后的例子,其中的圆圈表示拟合后瞳孔和虹膜的外边界。截取以虹膜圆心为中心,二倍虹膜半径为边长的正方形区域作为感兴趣区域。为方便计算,将该正方形感兴趣区域以双线性插值的方式缩放到400×400像素大小,图3(c)示出了感兴趣区域的截取的虹膜样例。由于人眼是人体的内部器官,往往被眼皮睫毛遮挡,也会被眼镜遮挡,为了减少遮挡的影响,去除正方形中的上面和下面的八分之一,得到一个最终的矩形感兴趣区域(ROI)。随着虹膜识别***朝向方便应用的方向发展,虹膜图像的采集过程也越来越人性化,对用户的配合要求降低。这就导致获取的图片质量有所降低,虹膜图像中存在的噪声较多。因此,我们采用全变差去噪方法对感兴趣区域进行去噪处理,算法中参数λ的选择可根据训练图像库的质量选择,图3(d)是对图3(c)噪声去除的结果,基于全变分的图像去噪方法去除图像噪声,并保留了部分细节信息。
步骤S13:用多尺度高斯模板在S12所述的虹膜图像的感兴趣区域上进行滤波,生成多尺度空间的滤波结果图,记为L(x,y,σ),在这些滤波结果图的每一个像素计算简化的SIFT描述子,即统计一个像素邻域内的灰度梯度方向直方图,该直方图的横坐标对应八个方向,这八个方向与水平方向夹角分别是0度、45度、90度、135度、180度、225度、270度和315度。一个像素点的灰度梯度投影到与直方图的八个方向中最接近的方向上,投影值由该像素点的灰度梯度幅值大小确定。图4给出计算示例,在一个像素的邻域内,首先计算每个像素的梯度,按前述方法计算梯度统计直方图,左面图为一个邻域的每个像素的梯度方向,右面图为该邻域的灰度梯度统计直方图。然后计算每个像素的加权局部二元模式算子特征码,其中加权编码利用简化的SIFT描述子加权,图5给出了计算示例,图中左上为一个像素邻域内的像素值示例,左下为改邻域的SIFT描述子,右上为LBP像素值比对结果,右下为根据SIFT描述子中各方向的排序,据此计算得加权局部二元模式算子特征码。计算加权局部二元模式算子特征码时,根据SIFT描述子的大小顺序确定二值序列里的顺序,SIFT描述子直方图的最大方向对应二值序列的最高位,即编码后在十进制数中所在占的权重最大,依次类推排序。加权局部二元模式算子特征码w-LBP8的计算公式如下:
其中,gc为中心像素的灰度值;gi为中心像素的邻居像素的灰度值;sign(x)为一个示性函数,当x≥0时输出为1,否则为0;Rank_SIFT(i)是简化SIFT描述子的排序结果编号,范围是0-7,对应一个像素的8个邻域方向。由于SIFT算法的多尺度特性,局部二元模式算子特征码计算过程中不需要再引入多尺度,仅考虑半径为1的8邻域算子。抽取SIFT算子过程中生成了6个尺度的空间,简记为L1-L6,这些空间是高度冗余的,因此在L1-L3分别计算加权二元模式算子特征码,而在L4-L6的计算融合为一个结果如图6所示,当L4-L6中某一个方向上多数二元码为1,则该方向编码为1,否则为0。
步骤S14:将虹膜图像的感兴趣区域平均分成6×8个子块,计算每一个子块加权局部二元模式算子特征码的三个统计特征,将这些特征串联起来作为用于伪造虹膜判别的特征。每一子块的加权局部二元模式算子特征码的统计特征包括三个统计特征值,分别是加权局部二元模式算子特征码的统计特征的均值
和标准差σ
w-LBP,加权局部二元模式算子特征码的直方图的标准差σ
hist,他们的计算公式如下:
其中,m和n分别是子块中像素的行数和列数;Iw-LBP是提取子块加权局部二元模式算子特征码的结果;hist是Iw-LBP的统计直方图结果;w-LBP为加权局部二元模式算子特征码的标识符号,i和j分别表示子块中的行标号和列标号;k表示二元模式算子特征码统计直方图的横坐标标号。计算得到每一个子块的加权局部二元模式算子特征码的统计特征后,将这些统计特征串联融合成为包含局部纹理和全局结构信息的特征。
步骤S15:伪造虹膜判别是一个二类问题,是真实虹膜图像与伪造虹膜图像的二分模式分类,采用单个支持向量机即可。支持向量机的判决函数为:
其中,xi为训练样本;yi为训练样本类标记;i为训练样本的标号;n为训练样本个数;x为待分类样本;K(xi,x)是满足Mercer条件的核函数,它对应某一变换空中的内积;sign(x)为一个示性函数,当x≥0时输出为1,否则为0。对应支持向量的ai不为0,而非支持向量对应的ai为0。把S14步骤提取的特征作为训练样本,将伪造虹膜图像提取的特征类标记为1,真实虹膜图像提取的特征类标记为0,训练分类器。
经过步骤S1的训练后,如果某个样本的分类器的输出值为1,那么表明该样本为伪造虹膜图像,否则为真实虹膜图像。
其次,伪造虹膜图像的判别步骤S2是基于学习步骤S1学习到的分类器对一张测试虹膜图像进行判别,判断该测试虹膜图像是否是来自伪造虹膜。
测试虹膜图像包含真实虹膜图像和伪造虹膜图像,首先进行预处理,得到该测试虹膜图像的感兴趣区域,在感兴趣区域上抽取步骤S1中相同的加权局部二元模式算子特征码,并利用步骤S1训练得到的伪造虹膜判别分类器判断该测试虹膜图像是否是来自真实虹膜,具体过程如下:
步骤S21:对测试虹膜图像进行预处理,首先找到拟合瞳孔和虹膜边界的圆的坐标和半径,截取以虹膜圆心为中心,二倍虹膜半径为边长的正方形区域作为感兴趣区域。为方便计算,将该正方形感兴趣区域缩放以双线性插值的方式缩放到400×400像素,去除正方形中的上面和下面的八分之一,得到一个最终的矩形感兴趣区域(ROI),采用全变差去噪方法对感兴趣区域进行去噪处理。
步骤S22:用多尺度高斯模板在S21所述的感兴趣区域上进行滤波,生成多尺度空间的滤波结果图,记为L(x,y,σ),在每一个像素计算简化的SIFT描述子,即统计是一个像素邻域内的灰度梯度直方图,该直方图包含八个方向,一个像素点的灰度梯度投影到与它的方向最接近的方向上,投影值由它的幅值确定,图4给出简化的SIFT特征描述子计算示例,在一个像素的邻域内,首先计算每个像素的梯度,按前述方法计算梯度统计直方图,左面图为一个邻域的每个像素的梯度方向,右面图为该邻域的灰度梯度统计直方图。然后计算每个像素的加权局部二元模式算子特征码,其中加权编码利用简化的SIFT描述子加权,图5给出了加权的局部二元模式算子特征码的计算示例,图中左上为一个像素邻域内的像素值示例,左下为8邻域的SIFT描述子,右上为LBP像素值比对结果,右下为根据SIFT描述子中各方向的排序,据此计算得加权局部二元模式算子特征码。计算加权局部二元模式算子特征码时,根据SIFT描述子的大小顺序确定二值序列里的顺序,SIFT描述子直方图的最大方向对应二值序列的最高位,即编码后在十进制数中所占的权重最大,依次类推排序。加权局部二元模式算子特征码w-LBP8的计算公式如下:
其中,gc为中心像素的灰度值;gi为中心像素的邻居像素的灰度值;sign(x)为一个示性函数,当x≥0时输出为1,否则为0;Rank_SIFT(i)是简化SIFT描述子的排序结果编号,范围是0-7,对应一个像素的8个邻域方向。由于SIFT算法的多尺度特性,局部二元模式算子特征码的计算过程中不需要再引入多尺度,仅考虑半径为1的8邻域算子。抽取SIFT算子过程中生成了6个尺度的空间,简记为L1-L6,这些空间是高度冗余的,因此在L1-L3分别计算加权二元模式算子特征码,而在L4-L6的计算融合为一个结果,如图6是不同尺度空间的局部二元模式算子特征码计算示例,当L4-L6中某一个方向上多数二元码为1,则该方向编码为1,否则为0。
步骤S23:将感兴趣区域平均分成6×8个子块,计算每一个子块加权局部二元模式算子特征码的三个统计特征,将这些特征串联起来作为用于伪造虹膜判别的特征。每一个子块的加权局部二元模式算子特征码的统计特征包括三个统计特征值,分别是加权局部二元模式算子特征码的统计特征的均值
和标准差σ
w-LBP,加权局部二元模式算子特征码的直方图的标准差σ
hist,他们的计算公式如下:
其中,m和n是子块中像素的行数和列数;Iw-LBP是提取子块加权局部二元模式算子特征码的结果;hist是Iw-LBP的统计直方图结果;w-LBP为加权局部二元模式特征码的标识符号;i和j分别表示子块中的行标号和列标号;k表示二元模式算子特征码统计直方图的横坐标标号。计算了每一个子块的加权局部二元模式算子特征码的统计特征后,将这些统计特征串联融合成为包含局部纹理和全局结构信息的特征。
步骤S24:将S23得到的特征向量输入到训练得到的分类器中,根据分类器输出结果判断该测试图像是否是伪造虹膜图像,如果是则给出报警信号。
本发明提供的具体实施例如下:
本发明尤其适合于疑犯排查的虹膜识别***中,如某机场的自助登记***采用虹膜识别技术,这个***和共安局的在逃犯罪嫌疑人的虹膜数据库相连。一名犯罪嫌疑人张三被公安机关通缉,他的虹膜信息被放入了这个在逃犯罪嫌疑人虹膜数据库中(黑名单)。当张三乔装打扮并佩戴了有印花的隐形眼镜,使用假护照准备乘飞机出逃,在使用自助登记***时,***拍了张三的虹膜图像,自动判断出他佩戴了印花隐形眼镜并开始报警。提示工作人员需要要求张三摘除眼镜重新进行识别,重点检查张三的身份。虽然张三伪造了证件,乔装打扮以骗过虹膜识别***,但在本发明的帮助下他还是被抓捕归案。
本发明能够在安全性和稳定性等方面有效提高虹膜识别***的整体性能,是下一代虹膜识别中的关键技术。
以上所述,仅为本发明中的具体实施方案,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权力要求书的保护范围为准。