一种普适性的基于S-CNN模型的手背静脉图像识别方法与流程

文档序号:16309625发布日期:2018-12-19 05:13阅读:240来源:国知局
一种普适性的基于S-CNN模型的手背静脉图像识别方法与流程

本发明涉及计算机图像识别领域,尤其涉及一种通过手背静脉图像识别进行身份认证的方法。

背景技术

生物特征识别是依靠人类自身固有的生理或行为属性来进行身份验证的,这些特征或是先天与生俱来的,如人脸、指纹、掌纹、虹膜、静脉等;或是后天生活习惯决定的,如语音、笔迹、步态等。由于不同人具有相同生物特征的概率极小,且这些特征更不容易被复制。因此,生物特征识别技术被认为是目前公共安全中最稳定、最可靠的身份认证方式。

手背静脉识别是在特定波长的近红外光源的照射下,通过获取的手背静脉图像来进行身份识别的。与其它生物识别技术相比,静脉识别具有以下优势:

1.活体识别。手背静脉图像特征是活体时才存在的特征,非活体与活体获得的静脉图像间存在明显差异,因而也就很难造假;

2.特定光源。由于血液中的血色素对特定波长范围的近红外光具有较强的吸收,而在自然光下采集的图像中静脉信息不是很明显,因此特征很难被他人盗取;

3.内部特征。静脉信息是存在于手背内部的,不存在任何由于手背表面损伤,磨损或潮湿等带来的识别障碍;

4.非接触式。采集静脉图像时,手背无须与设备接触,这种采集方式消除了残留特征被复制的风险,同时避免了接触设备时的不卫生的问题。

静脉识别技术因其具有友好性、安全性、可靠性和有效性而被认为具有很高的应用价值,正逐渐成为主流的生物识别方法。但现有技术的手背静脉识别方法在图像采集时,由于手背可能出现平移、旋转、尺度变化,或手背存在部分遮挡及划痕等情况,都会使识别准确率和识别系统的鲁棒性降低。



技术实现要素:

针对现有技术存在的缺陷,本发明要解决的技术问题是提供一种基于加扰模式卷积神经网络(scramblingconvolutionalneuralnetwork,s-cnn)模型的手背静脉识别方法,以提高对采集图像中手背多种位姿、部分遮挡及划痕等因素的鲁棒性,保证识别的准确性。

本发明的技术方案是这样实现的:

一种基于s-cnn模型的手背静脉图像识别方法,所述方法适用于一种由静脉图像采集装置和pc机组成的身份认证系统,所述方法包括以下步骤:

s1,建立初始数据集,对至少100个采集对象的手背静脉图像进行采集,对每个采集对象至少采集6次,每次采集时手的位置、角度随机,且任意两次手背的位置或角度均有所区别,由采集到的所有手背静脉图像数据构建初始的数据集;

s2,建立训练数据集,对采集的每一张图像进行3至5次不同尺度的缩放变换,3至5次不同距离的平移变换和3至5次不同角度的旋转变换,使每个采集对象对应162至750个样本,以模拟图像识别时手背的多种位姿;

s3,搭建s-cnn模型,该模型结构包括:

输入层(i1):输入训练样本图像,并对图像进行归一化处理,即归一化后为n×n像素灰度静脉图像;

卷积层(c2,c5,......,c3m+2):该模型采用z种卷积核分别对不同尺度下的特征图进行滤波处理,并进行激活处理,这里卷积函数与激活函数如式(1)与式(2)所示:

式中,si,j表示原始图像像素值,r×r表示卷积核大小,wi,j表示卷积核参数,bi.j表示偏置参数,k表示模型卷积层数;

加扰层(s3,s6,......,s3m+3):在该层建立与卷积层(c2,c5,......,c3m+2)相同大小的二值图像,即模拟手背干扰因素的“模板”,这些模板分别与卷积层输出进行逻辑“与”运算。此外,加扰图像应随着不同卷积层输出图像的大小进行相应尺度缩放。这里,通过对基础的加扰图像进行平移、旋转等几何变换,扩展出多种“模板”,并在模型训练过程中随机选取。

池化层(p4,p7,......,p3m+4):分别对s3,s6,......,s3m+3层输出图像采用2×2大小的滤波器进行滤波,即在每一次滤波时选取最大值作为滤波结果,窗口滑动步长为2;

dropout层(d3m+5):p3m+4层经过列向量展开成为静脉图像的特征向量,而为了降低训练过程中过拟合出现的概率,在该层中将50%的特征暂时从网络中丢弃;

全连接层(f3m+6):这里将设定q个隐藏层神经元,与前一层神经元进行全连接。该模型全连接层(f3m+6)分别连接特征向量与输出层,需要两个转换矩阵连接这3层,如式(3),式(4)所示,

f=wdfd+bdf(3)

o=wfof+bfo(4)

式中,wdf为特征向量与全连接层(f3m+6)的转换矩阵,bdf为其偏置向量;wfo表示全连接层(f3m+6)与输出层的转换矩阵,bfo为其偏置向量;

输出层(o3m+7):包含y个神经元,这里y为静脉训练样本的类别数;

s4,模型训练,步骤s3中确定了s-cnn模型参数后,为使训练后模型输出层与静脉图像标签保持一致,选用交叉熵作为训练的约束函数,该函数可有效的度量模型输出层向量与静脉图像标签向量分布间的差异性信息,如式(5)所示,

式中,o(i)为第i个样本的标签向量,为该样本经s-cnn模型处理后的输出层向量,m为训练样本个数;

s5,静脉图像识别,获取s-cnn模型所有参数后,将新采集的手背静脉图像输入至该模型,识别时删除模型中的加扰层(s3,s6,......,s3m+3),直接将卷积层输出进行池化运算,由输出层(o3m+7)输出结果,获取输出层(o3m+7)输出的最大概率值后,识别结果分为以下两种情况:

①如果最大概率值大于等于设定阈值,表明采集图像为该最大概率值对应的静脉对象;

②如果最大概率值小于设定阈值,表明采集图像不属于数据集中任何一个静脉对象。

进一步的,步骤s4中为减小训练时的计算量,在该模型每次训练迭代时,从每个训练对象随机抽取两个样本进行交叉熵值计算,并在计算过程中不断调整模型参数,直到迭代次数达到设定的最大次数。

更进一步的,步骤s4中的具体训练过程如下:

输入带有采集对象标签的训练样本:

step.1.初始化模型参数:卷积核参数w(k)与偏置参数b(k),k=1,2,3,全连接层转换矩阵wdf与wfo,偏置向量bdf与bfo,迭代次数t=0,最大迭代次数tmax;

step.2.更新迭代次数t=t+1;

step.3.每类随机选取两个训练样本,计算交叉熵值h(t);

step.4.基于梯度下降法更新所有模型参数;

step.5.if(t<tmax)

gotostep.2

else

gotostep.6

step.6.迭代结束,输出模型参数。

进一步的,步骤s1中建立静脉图像训练样本数据集时,采集对象为150人,每人采集6次。

本发明的有益效果在于:

1.采用本发明所述方法克服了采集图像时手背平移、旋转、尺度变化产生的不良影响,通过对数据集中的采集的图像进行扩展,以模拟多种平移、旋转、尺度变化的组合,从而增强了识别算法对于采集图像时手背平移、旋转、尺度变化等因素的鲁棒性。

2.通过改进的基于加扰卷积神经网络(cnn)的识别模型,对于发生手背小区域遮挡或划痕的情形仍然具有良好的识别效果。

附图说明

附图1为本发明涉及的身份认证系统结构框图;

附图2为本发明所述方法流程框图;

附图3为s-cnn模型结构示意图;

附图4为不同平移条件下静脉训练样本图;

附图5为不同旋转条件下静脉训练样本图;

附图6为不同尺度条件下静脉训练样本图;

附图7为某一对象手背静脉图像的所有训练样本图;

附图8为云平台数据训练界面;

附图9为训练结束后获得的cnn模型文件示图;

附图10为静脉识别系统交互界面示图。

具体实施方式

下面结合附图对本发明具体实施方式做进一步说明:

如附图1-3所示,一种基于s-cnn模型的手背静脉图像识别方法,所述方法适用于一种由静脉图像采集装置和pc机组成的身份认证系统,所述方法包括以下步骤:

s1,建立初始数据集,对至少100个采集对象的手背静脉图像进行采集,对每个采集对象至少采集6次,每次采集时手的位置、角度随机,且任意两次手背的位置或角度均有所区别,由采集到的所有手背静脉图像数据构建初始的数据集;

s2,建立训练数据集,对采集的每一张图像进行3至5次不同尺度的缩放变换,3至5次不同距离的平移变换和3至5次不同角度的旋转变换,使每个采集对象对应162至750个样本,以模拟图像识别时手背的多种位姿;

s3,搭建s-cnn模型,该模型结构包括:

输入层(i1):输入训练样本图像,并对图像进行归一化处理,即归一化后为n×n像素灰度静脉图像;

卷积层(c2,c5,......,c3m+2):该模型采用z种卷积核分别对不同尺度下的特征图进行滤波处理,并进行激活处理,这里卷积函数与激活函数如式(1)与式(2)所示:

式中,si,j表示原始图像像素值,r×r表示卷积核大小,wi,j表示卷积核参数,bi.j表示偏置参数,k表示模型卷积层数;

加扰层(s3,s6,......,s3m+3):在该层建立与卷积层(c2,c5,......,c3m+2)相同大小的二值图像,即模拟手背干扰因素的“模板”,这些模板分别与卷积层输出进行逻辑“与”运算。此外,加扰图像应随着不同卷积层输出图像的大小进行相应尺度缩放。这里,通过对基础的加扰图像进行平移、旋转等几何变换,扩展出多种“模板”,并在模型训练过程中随机选取。

池化层(p4,p7,......,p3m+4):分别对s3,s6,......,s3m+3层输出图像采用2×2大小的滤波器进行滤波,即在每一次滤波时选取最大值作为滤波结果,窗口滑动步长为2;

dropout层(d3m+5):p3m+4层经过列向量展开成为静脉图像的特征向量,而为了降低训练过程中过拟合出现的概率,在该层中将50%的特征暂时从网络中丢弃;

全连接层(f3m+6):这里将设定q个隐藏层神经元,与前一层神经元进行全连接。该模型全连接层(f3m+6)分别连接特征向量与输出层,需要两个转换矩阵连接这3层,如式(3),式(4)所示,

f=wdfd+bdf(3)

o=wfof+bfo(4)

式中,wdf为特征向量与全连接层(f3m+6)的转换矩阵,bdf为其偏置向量;wfo表示全连接层(f3m+6)与输出层的转换矩阵,bfo为其偏置向量;

输出层(o3m+7):包含y个神经元,这里y为静脉训练样本的类别数;

s4,模型训练,步骤s3中确定了s-cnn模型参数后,为使训练后模型输出层与静脉图像标签保持一致,选用交叉熵作为训练的约束函数,该函数可有效的度量模型输出层向量与静脉图像标签向量分布间的差异性信息,如式(5)所示,

式中,o(i)为第i个样本的标签向量,为该样本经s-cnn模型处理后的输出层向量,m为训练样本个数;

s5,静脉图像识别,获取s-cnn模型所有参数后,将新采集的手背静脉图像输入至该模型,识别时删除模型中的加扰层(s3,s6,......,s3m+3),直接将卷积层输出进行池化运算,由输出层(o3m+7)输出结果,获取输出层(o3m+7)输出的最大概率值后,识别结果分为以下两种情况:

①如果最大概率值大于等于设定阈值,表明采集图像为该最大概率值对应的静脉对象;

②如果最大概率值小于设定阈值,表明采集图像不属于数据集中任何一个静脉对象。

进一步的,步骤s4中为减小训练时的计算量,在该模型每次训练迭代时,从每个训练对象随机抽取两个样本进行交叉熵值计算,并在计算过程中不断调整模型参数,直到迭代次数达到设定的最大次数。

更进一步的,步骤s4中的具体训练过程如下:

输入带有采集对象标签的训练样本:

step.1.初始化模型参数:卷积核参数w(k)与偏置参数b(k),k=1,2,3,全连接层转换矩阵wdf与wfo,偏置向量bdf与bfo,迭代次数t=0,最大迭代次数tmax;

step.2.更新迭代次数t=t+1;

step.3.每类随机选取两个训练样本,计算交叉熵值h(t);

step.4.基于梯度下降法更新所有模型参数;

step.5.if(t<tmax)

gotostep.2

else

gotostep.6

step.6.迭代结束,输出模型参数。

如附图4-7所示,上述实施例步骤s1中建立静脉训练样本数据集时,需对采集对象的手背区域平移变换、旋转变换、尺度变换,以模拟采集时手伸入采集装置的不同位置、不同角度和距镜头的不同距离。

训练样本的丰富性与完备性是获得正确识别结果的重要保证,由于手背静脉识别采用非接触式图像采集,因此很难保证所有采集者手的位姿都保持一致,即位姿具有不合作性。因此,在建立训练样本数据集时,应充分体现不同位姿条件下采集到的手背静脉图像。

如附图4不同平移条件下静脉训练样本图所示,由于采集装置入口处存在一定的宽度,手在伸入采集区域时,伸入的位置是随机的,使得同一手背在图像中出现的位置存在平移变化,因此,建立静脉训练样本数据集时,需对采集静脉图像进行手背区域平移变换,以模拟采集时手伸入采集装置的不同位置,如附图4所示,其中t表示平移像素距离。

如附图5不同旋转条件下静脉训练样本图所示,由于采集区域空间充足,手在伸入采集装置时,伸入的角度是随机的,使得同一手背在图像中可能出现旋转变化,因此,建立静脉训练样本数据集时,需对采集静脉图像进行手背区域旋转变换,以模拟采集时手背伸入采集装置的不同角度,如附图5所示,其中a表示旋转角度。

如附图6不同尺度条件下静脉训练样本图所示,不同人的手背与摄像头距离很难保持一致,使得采集的图像中手背区域大小存在差异,因此,在建立训练样本数据集时,需对采集静脉图像进行多尺度缩放,以模拟采集时手背与摄像头间的多种距离,如附图6所示,其中,s表示缩放尺度。

进一步的,步骤s1中建立静脉图像训练样本数据集时,采集对象为150人,每人采集6次。为增强识别算法的鲁棒性,在建立数据集时,对每个采集对象的手背静脉图像进行6次采集,其中5幅用作算法训练,1幅作为算法测试。这样做是由于样本库中包含了近200人,人数较多,不可能每次实验时都把这些人找来做测试,因此,本系统采用6次交叉检验的方式来对方法的识别性能加以分析,即每个图像都有做训练样本与测试样本的机会,以表明方法的泛化能力。分配好训练样本与测试样本后,利用matlab2017b编程,对每幅手背静脉图像分别进行5次平移变换,5次旋转变换,5次尺度变换,并保存每幅变换后的图像,形成该手背静脉对象的训练样本,每个对象包含750个训练样本,其中,某一静脉图像的所有训练样本如附图7所示。

上述实施例中在确定了s-cnn模型结构与训练方法后,采用python语言对以上方法进行编程,由于普通pc机的计算能力有限,这里将编好的训练程序与.tfrecords格式训练样本数据上传到阿里云平台,并开启gpu进行训练,训练界面如附图8所示。

训练结束后,获得s-cnn模型文件,如附图9所示。

如附图10所示,为上述实施例中静脉图像识别与身份认证系统的人机交互界面,采用pythontkinter进行开发,包括的功能有显示采集的静脉图像、显示识别结果(包括姓名、性别、专业、学号、照片)。

当启动系统时,导入训练好的cnn模型,并对新采集的手背静脉图像进行式(1)至式(5)的计算,从而在输出层获得概率向量o=[o1o2…on]t,并将向量中最大值的索引r作为最终的识别结果,如式(6)所示。

而该索引值所代表的人的信息将会被显示在前台界面中,从而完成了基于手背静脉图像的身份认证。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何利用本发明所述基于s-cnn模型的手背静脉图像识别的方法思路均属于本发明技术构思的保护范围,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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