一种基于卷积神经网络的虹膜图像加密方法与流程

文档序号:12887598阅读:706来源:国知局
一种基于卷积神经网络的虹膜图像加密方法与流程

本发明属于模式识别领域,具体涉及一种基于卷积神经网络的虹膜图像加密方法。



背景技术:

虹膜识别技术是一种人类生物识别技术。虹膜识别技术是基于虹膜在眼睛中的识别,应用于安全设备(如访问控制等)以及高度的保密性要求的场所。人眼结构由巩膜、虹膜、瞳孔、视网膜等部位组成。虹膜是黑色瞳孔和白色巩膜之间的环形部分,其包含许多散布点、细丝、冠状、条纹、隐窝等细节。而在胎儿发育阶段成形后的整个生命过程虹膜将保持不变。这些特性决定了虹膜特征的唯一性,并且还确定了识别的唯一性。因此,眼睛的虹膜特性可应用于个体身份识别。

虹膜是各种生物识别技术中最坚固耐用的特征之一,作为身份特征与其他生物特征相比较具有更优异的性质:独特性、稳定性、可收集性、非侵入性和安全性。在生物识别中,非侵入性是身份研究和应用发展的必然趋势,与其他非接触式识别方法(如面部和声音)相比,虹膜识别具有更高的准确性。据统计,虹膜识别是误差率最低的生物识别,基于虹膜的身份识别技术已经逐渐被学术界和商业界所关注。

虹膜能够广泛应用于识别、加密等诸多领域,得益于虹膜具有一些异于其它生物组织的特殊特征,主要包括以下几个方面:

(1)稳定性:在人的一生当中,虹膜信息变化非常小,除非是遇到一些特殊的疾病如物理损伤、白内障等,因此虹膜具有极强的稳定性;

(2)唯一性:虹膜在胚胎发育中形成,随机性强,不受基因的影响。胎儿发育经历一个混沌形态发生过程,这一过程导致dna相同的双胞胎的虹膜也不相同,对虹膜的唯一性能提高很大。迄今为止,没有发生任何两个人的虹膜一模一样。从图2可看出,虹膜并不是光滑的曲面,表面分布着许多凹陷、斑点以及收缩沟等细节,这些细节特征决定了虹膜信息数据,构成纹理等特征,是虹膜唯一性的外在体现。

(3)非侵犯性:非侵犯性也被称为非接触性,是指对虹膜进行信息采集时不需要接触就可读取信息。虹膜位于角膜后侧,受保护情况很好。对虹膜进行采集的过程中,不需要接触虹膜就能够实现虹膜采集,防止了疾病传播、虹膜损坏等不良影响,用户接受度比较高。相对于掌纹、指纹等生物特征,虹膜不需要接触采集,不适感更低,更有利于应用的泛化。

(4)防伪性:虹膜特征的改变难度非常大,在对视觉无严重损伤情况下很难改变,对一个人的虹膜进行与特定对象的复制和转换几乎是不可能的,由于活体检测技术的发展,采用图像、录像等虹膜来仿冒活体进行虹膜处理都很可能会检测出来。

生物识别技术最佳选择是虹膜,原因是相对于其他生物特征,虹膜具有最高唯一性、识别精度高、速度快、生物活性强、防伪性强而且具有终身不变的稳定性等优点。

组成虹膜的可变项多达260项,内部结构十分复杂,重复可能性很小。统计表明,两个人虹膜一模一样的概率几乎为零,同一个人的左右眼睛虹膜也不完全相同。虹膜在发育到两三岁的时候几乎就稳定不变,因此具有复杂结构的虹膜可作为人体独一无二的标识。

虹膜加密技术是指采用特征提取算法,对虹膜图像进行特征提取产生数据流,作为加密算法的密钥,在解密的过程中采用同样的密钥进行解密,从而完成加密与解密整个过程。虹膜加密技术利用生物特征提取,来产生唯一的密钥,密钥是唯一的,不能够被其他生物个体进行仿制生成。虹膜加密技术是融合生物特征识别和加密技术,生成密钥进行加密和解密处理的新技术。



技术实现要素:

发明目的:针对上述现有技术,提出一种基于卷积神经网络的虹膜图像加密方法,在保证加密的高安全性的前提下,解决了cnn训练过程中由于虹膜样本比少的问题。

技术方案:一种基于卷积神经网络的虹膜图像加密方法,加密过程包括如下步骤:

步骤1,对虹膜数据库中的虹膜图像分别进行预处理,得出虹膜图像数据集x,对x进行图像块提取,得出虹膜图像块数据集x';

步骤2,所述虹膜图像块数据集x'用于训练四层sae模型,通过学习每层参数w={w(1),w(2),w(3),w(4)},用于初始化cnn模型卷积层参数k={k(1),k(2)}和全连接层参数w′={w′(3),w′(4)},然后采用所述虹膜图像数据集x进行cnn模型训练;

步骤3,加密方采集虹膜图像,预处理后输入训练好的cnn模型,实现对特征向量v1的提取,特征向量v1的维数依据采用的图像加密算法进行调整;

步骤4,采用rs码对特征向量v1进行编码,得出加密密钥vk1和rs纠错码;

步骤5,利用加密密钥vk1与待加密图像矩阵对应像素点灰度值进行aes运算,得出加密图像,则完成了整个加密过程;

解密过程包括如下步骤:

步骤1,对解密方进行虹膜图像采集,预处理后输入到训练好的cnn模型,实现提取虹膜特征向量v2;

步骤2,利用rs纠错码对特征向量v2进行纠错,得到解密密钥vk2;

步骤3,利用解密密钥vk2与所述加密图像矩阵对应像素点灰度值进行aes逆运算,得出解密图像,则完成了整个解密过程。

进一步,所述步骤2中,在cnn模型中,对初始化参数增加区间限制条件:将sae训练出的参数w限制在区间内,则cnn中卷积核k={k(1),k(2)}和全连接层权值w′={w′(3),w′(4)}的计算方法为:

nk代表第k层sae节点数,nk+1代表第k+1层节点个数。

进一步,对虹膜图像预处理包括如下步骤:

(1)虹膜图像i0边缘检测进行虹膜定位,实现虹膜分割i1;

(2)提取的虹膜图像i1进行归一化处理i2;

(3)将i2进行zca白化处理i3。

有益效果:本发明基于卷积神经网络的虹膜图像加密算法,首先对采集的虹膜图像数据进行预处理,然后采用训练好的cnn模型对虹膜图像进行特征向量提取。提取的特征向量用于加密密钥的生成,最后将加密密钥与原始待加密图像矩阵对应像素点灰度值采用aes运算,则可得到加密图像。

整个加密与解密过程之前,需要先进行深度学习模型的训练,深度学习模型采用cnn,由于虹膜图像采集难度大造成样本较少的问题,需要进行cnn参数初始化。在cnn训练过程中由于虹膜样本比较少,为保证加密的高安全性,密钥的生成必须采用整体虹膜,不能将虹膜进行图像块提取来弥补样本不足的问题。针对上述问题,首先对虹膜进行图像块提取,训练sae模型,采用sae初始化cnn参数,采用整幅虹膜图像进行cnn模型训练。如此设计不仅解决了虹膜样本少的问题,而且对图像加密的安全性有了保障。

附图说明

图1基于卷积神经网网络的虹膜图像加密与解密流程;

图2casia虹膜数据库图像样本;

图3虹膜图像标准化;

图4虹膜图像zca白化;

图5虹膜图像rs码编码;

图6训练与测试集精确度。

具体实施方式

下面结合附图对本发明做更进一步的解释。

一种基于卷积神经网络的虹膜图像加密方法,加密过程包括如下步骤:

步骤1,对虹膜数据库中的虹膜图像分别进行预处理,得出虹膜图像数据集x,对x进行图像块提取,得出虹膜图像块数据集x'。对虹膜图像预处理包括如下步骤:

(1)虹膜图像边缘检测进行虹膜定位,实现虹膜分割;

(2)提取的虹膜图像进行归一化处理;

(3)将归一化处理后的图像进行zca白化处理。

步骤2,虹膜图像块数据集x'用于训练四层sae模型(stackedautoencoder,栈式自编码模型),得到训练好的参数矩阵w={w(1),w(2),w(3),w(4)},用于初始化cnn模型(convolutionalneuralnetwork,卷积神经网络)卷积层参数k={k(1),k(2)}和全连接层参数w′={w′(3),w′(4)},然后采用虹膜图像数据集x进行cnn模型训练。

在cnn模型中,初始化参数如果没有限制条件会导致梯度消失或者幅度扩散的现象,因此对初始化参数增加区间限制条件。cnn卷积层前向传播线性化计算为:

式中,z表示网络层结点输出,ωi表示第i个特征图对应权值矩阵,xi表示第i个特征图,m表示特征图个数。假设满足均值为0标准差为σ的均匀分布,则每层的方差计算式为:

式中,n代表网络各层的结点数,nk-1表示第k-1层节点个数,表示第k-1层输入的期望,表示第k-1层权值矩阵的期望,表示第k-2层输入的期望,表示第1层输入的期望,表示第i层权值矩阵的期望,ni表示第i层节点个数,k表示第k层网络结构层。

从式中可看出,随着神经网络层数的增加,如果则方差会越来越大,产生参数扩散;如果则方差会越来越小,产生梯度消失。因此,理想的情况是此时则可得出

在反向传播过程中,有:

同理可得出:

式中,loss表示目标函数,表示第k层第i个输入特征图,表示第1层第j个输入特征图,表示第k+1层第j个输入特征图对应权值矩阵,表示第k+1层权值矩阵对应期望,表示第k+1层第i个特征图。

为了防止参数溢出和梯度消失,需要满足:

比较可发现此时的方差产生了矛盾,为了解决这一情况,计算方差采用式:

对于均匀分布数据x∈[-a,a],a表示数据x的模值,方差计算式为:

通过计算可得出:

因此,将sae训练出的参数限制在区间内,nk代表第k层sae节点数,nk+1代表第k+1层节点个数,从而避免了上述问题的发生。

将训练好的参数矩阵w={w(1),w(2),w(3),w(4)}进行区间归一化,作为cnn中卷积核k={k(1),k(2)}和全连接层权值w′={w′(3),w′(4)},计算方法为:

nk代表第k层sae节点数,nk+1代表第k+1层节点个数。

步骤3,加密方采集虹膜图像,预处理后输入训练好的cnn模型,实现对特征向量v1的提取,特征向量v1的维数依据采用的图像加密算法进行调整。

步骤4,采用rs码(reed-solomoncodes,rs码)对特征向量v1进行编码,得出加密密钥vk1和rs纠错码;

步骤5,利用加密密钥vk1与待加密图像矩阵对应像素点灰度值进行aes加密运算(advancedencryptionstandard,高级加密标准),得出加密图像,加密图像即密文,则完成了整个加密过程。

解密是为了还原原始图像信息,一般来讲解密过程是加密过程的逆运算,但是本发明提出的算法并不是完全的逆变换。解密过程包括如下步骤:

步骤1,对解密方进行虹膜图像采集,预处理后输入到训练好的cnn模型,实现提取虹膜特征向量v2。

步骤2,由于v2和v1有可能存在某些维度上数值的差异,利用rs纠错码对特征向量v2进行纠错,得到解密密钥vk2。

步骤3,利用解密密钥vk2与加密图像矩阵对应像素点灰度值进行aes逆运算,得出解密图像,则完成了整个解密过程。

为了提高算法的可信度和预测性,实验虹膜数据集采用casia虹膜数据库公共版,将数据集分成训练集和测试集,原始虹膜图像样本如图2所示。原始采集的虹膜图像包含有人脸、睫毛等无关干扰因素,首先对其进行虹膜定位、分割、归一化与zca白化预处理,虹膜图像预处理过程如图1所示。

预处理后的虹膜图像,去除了部分人脸、睫毛、眼睑等干扰因素,只包含虹膜部分,为了降低图像冗余提高特征辨识度,采用对虹膜图像zca白化处理,如图4。然后将其进行rs码编码,对虹膜图像进行rs码编码的目的是防止在解密过程中进行特征向量提取时,提取的虹膜特征向量与加密时提取的虹膜特征向量不一致,如此有利于加密密钥与解密密钥的成功匹配,提高成功解密的概率,降低操作复杂度。

对虹膜进行特征学习的深度学习模型采用cnn,数据集共包含虹膜图像400张,共10类,每一类40张图像,其中300张作为训练样本,100张作为测试样本。sae结构采用五层网络,cnn结构采用五层网络层,卷积核大小为5×5,降采样步长为2×2,第一卷积层生成特征图个数为6,第二卷积层生成特征图个数为12。特征提取结果显示与设定特征向量对比,网络训练后,训练精确度与测试精确度如图6所示。

在加密的过程中,完成对cnn的训练之后,采集一张人眼图像,进行加密密钥的生成,将加密密钥与待加密图像进行aes运算,实现加密过程。以上完成了基于卷积神经网络的虹膜图像加密过程。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1