基于聚类辅助的静脉识别模型训练方法及装置
技术领域
本发明涉及指静脉图像识别技术领域,具体涉及一种基于聚类辅助的静脉识别模型训练方法及装置。
背景技术
随着指静脉技术在安防领域中应用越来越广泛,近些年,指静脉识别技术得到了快速发展。目前,指静脉识别技术根据识别方式的不同主要分为三大类:一类是根据指静脉图像提取静脉区域及静脉关键点特征,通过对比特征点进行指静脉识别;另一类是,采用传统的机器学习方法训练机器学习模型对指静脉图像进行识别;还有一类是采用深度学习技术训练指静脉识别模型,通过模型提取指静脉图像的深度特征实现对指静脉的识别。上述三类指静脉识别方法主要存在以下几个问题:
1、第一类指静脉识别方法在采集的指静脉图像质量较差时,难以提取指静脉特征,导致指静脉识别效果较差。
2、第二类指静脉识别方法难以提取指静脉的深度特征,导致指静脉识别的效果不够理想。
3、第三类采用深度学习训练而得的指静脉识别模型虽然取得了较好地指静脉识别效果,但现有的通过深度学习网络训练而得的指静脉识别模型通常仅以手指和手指间的特征差异为指静脉识别基础,而忽略了同根手指的指静脉特征差异(对于同根手指采集的指静脉图像可能由于拍摄时间、拍摄角度、光照等因素导致同根手指的指静脉特征具有差异)对模型识别性能的影响,所以如果在指静脉模型训练过程中充分考虑同根手指的指静脉特征差异对于提高模型识别性能具有积极作用。
发明内容
本发明的目的在于提供一种基于聚类辅助的静脉识别模型训练方法及装置,旨在排除指静脉图像特征差异性特别是同根手指的指静脉特征的差异性对指静脉识别的不利影响,以进一步提升指静脉识别的识别率和准确率。
为达此目的,本发明采用以下技术方案:
一种基于聚类辅助的静脉识别模型训练方法,包括:
1)通过聚类方法对指静脉图像进行分型聚类,得到聚类分型结果;
2)根据所述聚类分型结果,并通过第一卷积神经网络训练形成聚类类型判别模型;
3)通过所述聚类类型判别模型对输入的指静脉图像进行分型聚类,得到分属于不同手指的多个指静脉图像集合;
4)以分属于不同手指的各所述指静脉图像集合为训练样本,并通过第二卷积神经网络训练形成指静脉识别模型。
优选地,步骤1)中采用的所述聚类方法具体包括:
1.1)采集每根手指的指静脉图像;
1.2)随机选取每根手指的若干张指静脉图像;
1.3)通过k-means聚类算法对选取的指静脉图像进行分型聚类,确定各指静脉图像分别对应的聚类类型;
1.4)在已确定聚类类型的指静脉图像中,随机在每一类中选取若干张图像作为聚类基础库;
1.5)在尚未进行分型聚类的指静脉图像中随机选取若干张作为新的聚类对象;
1.6)将步骤1.5)选取的所述聚类对象混合到所述聚类基础库中,同样采用k-means聚类算法对混合图像集进行分型聚类,确定每一所述聚类对象对应的聚类类型;
1.7)重复步骤1.4)~1.6),直至完成对所采集的所有指静脉图像的分型聚类,得到所述聚类分型结果。
优选地,步骤2)中,用于训练所述聚类类型判别模型的所述第一卷积神经网络包括前后连接的13个卷积层、一AveragePooling层、Flatten层、第一Full connect层和第二Full connect层,13个卷积层中的第一卷积层输入指静脉图像,最后的第十三卷积层输出的指静脉特征图输入到所述AveragePooling层,所述AveragePooling层的输出连接所述Flatten层的输入,所述Flatten层的输出连接所述第一Full connect层的输入,所述第一Full connect层的输出连接所述第二Full connect层的输入,所述第二Full connect层的输出连接一softmax分类器,通过所述softmax分类器预测得到输入的指静脉图像对应的聚类类型。
优选地,训练所述聚类类型判别模型的所述第一卷积神经网络的网络参数见下表1:
表1
优选地,训练所述聚类类型判别模型采用的损失函数
通过以下公式(1)表达:
公式(1)中,
表示对指静脉图像进行分型聚类的类别数,
表示第
类聚类类型,
为整数且0 <
< 6;
表示所述聚类类型判别模型对第
类输入的预测输出,
表示第
类指静脉图像的真实聚类类型;
公式(2)中,C表示对指静脉图像进行分型聚类的类别数,
表示第
类聚类类型,
为整数且0 <
< 6;
表示第
类输入,
表示对第
类输入的预测输出。
优选地,步骤3)中 ,用于训练所述指静脉识别模型的所述第二卷积神经网络包括卷积网络、残差网络、AveragePooling层、Flatten层和Full connect层,所述训练样本输入到所述卷积网络中,所述卷积网络的输出连接所述残差网络的输入,所述残差网络的输出连接所述AveragePooling层的输入,所述AveragePooling层的输出连接所述Flatten层的输入,所述Flatten层的输出连接所述Full connect层的输入,所述Full connect层输出指静脉识别结果;
所述卷积网络包括依序连接的12个卷积层,第一卷积层输入所述训练样本,最后的第十二卷积层的输出连接所述残差网络的输入;
所述残差网络包括依序连接的第一残差模块、第二残差模块、第三残差模块和第四残差模块,所述第一残差模块、第二残差模块和所述第四残差模块包括一branch1残差块和依序连接的3个残差单元,所述第三残差模块包括一所述branch1残差块和依序连接的6个残差单元,
所述第一残差模块或第二残差模块中的第一残差单元的输出与其自身模块中的所述branch1残差块的输出累加后作为其自身模块中的第二残差单元的输入;所述第一残差模块或所述第二残差模块中的第二残差单元的输出与其自身输入累加后作为其自身模块中的第三残差单元的输入;所述第一残差模块或所述第二残差模块中的第三残差单元的输出与其自身的输入累加后作为下一残差模块的输入;所述第一残差模块中的第一残差单元和所述branch1残差块的输入连接所述第十二卷积层的输出;
所述第三残差模块中的所述branch1残差块和第一残差单元的输入连接所述第二残差模块的输出;所述第三残差模块中的第一残差单元~第五残差单元的输出与其自身单元的输入累加后作为其自身模块内的下一残差单元的输入;所述第三残差模块中的第六残差单元的输出与其自身的输入累加后作为所述第四残差模块的输入;
所述第四残差模块中的所述branch1残差块和第一残差单元的输入连接所述第三残差模块的输出;所述第四残差模块中的第一残差单元或第二残差单元的输出与其自身单元的输入累加后作为自身模块内的下一残差单元的输入;所述第四残差模块中的第三残差单元的输出与其自身单元的输入累加后作为所述AveragePooling层的输入。
优选地,每个所述残差模块中的所述残差单元包括依序连接的branch2a初始预投影块、branch2b基本块和branch2c基本块。
优选地,训练所述指静脉识别模型采用的损失函数通过以下公式(3)表达:
公式(3)中,
为每次输入到训练网络中的图像组中的小组合的数量,
表示第
个
小组合,
为整数且0 <
< 9;
表示第
个小组合中选定手指的基点图像,
表示选
定手指的所述基点图像经过训练网络输出的特征向量,
表示第
个小组合中选定手指
的非基点图像,
表示所述选定手指的非基点图像经过训练网络输出的特征向量,
表示第
个小组合中的非选定手指图像,
表示非选定手指图像经训练网络输出的特征
向量,
和
为一常数。
优选地,所述第二卷积神经网络训练所述指静脉识别模型的网络参数见下表2和表3:
表2
表3
本发明还提供了一种基于聚类辅助的静脉识别模型训练装置,包括:
1)第一分型聚类模块,用于通过聚类方法对指静脉图像进行分型聚类,得到聚类分型结果;
2)聚类类型判别模型训练模块,连接所述第一分型聚类模块,用于根据所述聚类分析结果,并通过第一卷积神经网络训练形成聚类类型判别模型;
3)第二分型聚类模块,连接所述聚类类型判别模型训练模块,用于通过所述聚类类型判别模型对输入的指静脉图像进行分型聚类,得到分属于不同手指的多个指静脉图像集合;
4)指静脉识别模型训练模块,连接所述第二分型聚类模块,用于以分属于不同手指的各所述指静脉图像集合为训练样本,并通过第二卷积神经网络训练形成指静脉识别模型。
本发明具有以下有益效果:
1、本发明采用聚类方法找出不同手指间的指静脉图像特征差异以及同根手指的不同指静脉图像间的特征差异,并根据差异特征定义指静脉图像类型,避免了人为主观定义指静脉图像类型带来的误差,为确保后续训练的指静脉识别模型的模型性能提供了基础保障。
2、设计了专门用于训练聚类类型判别模型的第一卷积神经网络,通过训练而得的聚类类型判别模型预测指静脉图像对应的聚类类型大幅提升了对指静脉图像的分型聚类速度和聚类准确度。
3、设计了专用用于训练指静脉识别模型的第二卷积神经网络,第二卷积神经网络以经聚类类型判别模型确定聚类类型的分属于不同手指的指静脉图像集合为训练样本,训练而得的指静脉识别模型具有优异的模型性能,能够准确识别不同手指的指静脉图像特征,大幅提升了指静脉图像的识别率和识别准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的静脉识别模型训练方法的步骤图;
图2是对指静脉图像进行分型聚类的聚类方法步骤图;
图3是本发明提供的用于训练聚类类型判别模型的第一卷积神经网络的网络结构示意图;
图4是本发明提供的用于训练指静脉识别模型的第二卷积神经网络的网络结构示意图;
图5是训练指静脉识别模型的方法流程图;
图6是本发明一实施例提供的静脉识别装置的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例1
一种基于聚类辅助的静脉识别模型训练方法,如图1和图5所示,包括如下步骤:
1)通过聚类方法对指静脉图像进行分型聚类,得到聚类分型结果;
2)根据聚类分型结果,并通过第一卷积神经网络训练形成聚类类型判别模型;
3)通过聚类类型判别模型对输入的指静脉图像进行分型聚类,得到分属于不同手指的多个指静脉图像集合;
4)以分属于不同手指的各指静脉图像集合为训练样本,并通过第二卷积神经网络训练形成指静脉识别模型。
如图2所示,步骤1)中,采用的聚类方法具体包括:
1.1)采集每根手指的指静脉图像;本实施例采用20台同类型的指静脉图像采集设备,在常规环境条件下采集1500根手指的指静脉图像,每一根手指采集100张图像,共采集15万张指静脉图像,指静脉图像为尺寸为480×240像素的灰度图;
1.2)随机选取每根手指的若干张指静脉图像;本实施例随机从1500根手指中选取300根手指,每根手指选取100张图像总共选取30000张指静脉图像;
1.3)通过k-means聚类算法对选取的指静脉图像进行分型聚类,确定各指静脉图像分别对应的聚类类型;本实施例中,k-means聚类算法的聚类类别数k设定为5,以确保划分到每种类别的指静脉图像的数量相当;
1.4)在已确定聚类类型的指静脉图像中,随机在每一类中选取若干张图像作为聚类基础库;本实施例随机在每种类型中选取4000张共计20000张指静脉图像作为聚类基础库;
1.5)在尚未进行分型聚类的指静脉图像中随机选取若干张作为新的聚类对象;本实施例在未确定分类的1200根手指的指静脉图像中随机选取100根手指,每根手指100张共10000张指静脉图像作为新的聚类对象;
1.6)将步骤1.5)选取的所述聚类对象混合到所述聚类基础库中,同样采用k-means聚类算法对混合图像集进行分型聚类,确定每一所述聚类对象对应的聚类类型;k-means聚类算法根据已经确定类型的图像在每一种类型中的分布情况,将分布较多的一种类型确定为该部分(该部分包括部分新选取的聚类对象)的聚类类型,由此实现对新的聚类对象的分型聚类。通过将已经确定聚类类型的指静脉图像与未经聚类的聚类对象进行混合后再做聚类计算,能够大幅提升分型聚类的速度,提高聚类效率。
1.7)重复步骤1.4)~1.6),直至完成对所采集的所有指静脉图像的分型聚类,得到所述聚类分型结果。
以下对训练聚类类型判别模型的第一卷积神经网络的网络结构进行说明,如图3所示,第一卷积神经网络包括前后连接的13个卷积层、一AveragePooling层、Flatten层、第一Fullconnect层和第二Full connect层,13个卷积层中的第一卷积层conv1输入尺寸为480×240像素的指静脉图像,最后的第十三卷积层conv13输出的指静脉特征图输入到AveragePooling层,AveragePooling层的输出连接Flatten层的输入,Flatten层的输出连接第一Full connect层fc1的输入,第一Full connect层fc1的输出连接第二Full connect层fc2的输入,第二Full connect层fc2的输出连接一softmax分类器,通过softmax分类器预测得到输入的指静脉图像对应的聚类类型。
训练聚类类型判别模型的第一卷积神经网络的网络参数见下表1:
表1
为了确保聚类类型判别模型的模型性能,第一卷积神经网络在模型训练中通过计
算预测类型和真实类型之间的差异用于反向传播计算调整卷积部分的参数,不断优化网络
参数使模型预测聚类类型的准确性不断提升。预测类型和真实类型之间的差异通过一损失
函数
计算而得,该损失函数
通过以下公式(1)表达:
公式(1)中,
表示对指静脉图像进行分型聚类的类别数,
表示第
类聚类类型,
为整数且0 <
< 6;
表示聚类类型判别模型对第
类输入的预测输出,
表示第
类指
静脉图像的真实聚类类型。
公式(2)中,C表示对指静脉图像进行分型聚类的类别数,
表示第
类聚类类型,
为整数且0 <
< 6;
表示第
类输入,
表示对第
类输入的预测输出。
另外需要说明的是,在聚类类型判别模型训练过程中,训练样本数据量为120000张指静脉图像,设置每256张图像更新一次网络参数,初始学习率设为0.01,训练数据量每5个循环后减少为0.1倍。
以下对用于训练指静脉识别模型的第二卷积神经网络的网络结构进行说明。如图4所示,第二卷积神经网络包括卷积网络、残差网络、AveragePooling层、Flatten层和Fullconnect层fc512,训练样本输入到卷积网络中,卷积网络的输出连接残差网络的输入,残差网络的输出连接AveragePooling层,AveragePooling层的输出连接Flatten层的输入,Flatten层的输出连接Full connect层fc512的输入,Full connect层fc512输出指静脉识别结果;
如图4所示,卷积网络包括依序连接的12个卷积层,第一卷积层conv1输入训练样本,最后的第十二卷积层conv12的输出连接残差网络的输入;
残差网络包括依序连接的第一残差模块1、第二残差模块2、第三残差模块3和第四残差模块4,第一残差模块1、第二残差模块2和第四残差模块4包括一branch1残差块cb1和依序连接的3个残差单元c1,第三残差模块3包括一branch1残差块cb1和依序连接的6个残差单元c1,
第一残差模块1或第二残差模块2中的第一残差单元c11的输出与其自身模块中的branch1残差块cb1的输出累加后作为其自身模块中的第二残差单元c12的输入;第一残差模块1或第二残差模块2中的第二残差单元c12的输出与其自身的输入累加后作为其自身模块中的第三残差单元c13的输入;第一残差模块1或第二残差模块2中的第三残差单元c13的输出与其自身的输入累加后作为下一残差模块的输入;第一残差模块1中的第一残差单元c11和branch1残差块cb1的输入连接卷积网络中的第十二卷积层conv12的输出;
第三残差模块3中的branch1残差块cb1和第一残差单元c11的输入连接第二残差模块2的输出;第三残差模块3中的第一残差单元c11~第五残差单元c15的输出与其自身单元的输入累加后作为其自身模块内的下一残差单元的输入;第三残差模块3中的第六残差单元c16的输出与其自身的输入累加后作为第四残差模块4的输入;
第四残差模块4中的branch1残差块cb1和第一残差单元c11的输入连接第三残差模块3的输出;第四残差模块4中的第一残差单元c11或第二残差单元c12的输出与其自身单元的输入累加后作为自身模块内的下一残差单元的输入;第四残差模块4中的第三残差单元c13的输出与其自身单元的输入累加后作为AveragePooling层的输入。
如图4所示,每个残差模块中的残差单元包括依序连接的branch2a初始预投影块c111、branch2b基本块c112和branch2c基本块c113。
第二卷积神经网络训练指静脉识别模型的网络参数见下表2和表3:
表2
表3
本发明中,第二卷积神经网络训练指静脉识别模型采用的损失函数通过以下公式(3)表达:
公式(3)中,
为每次输入到训练网络中的图像组中的小组合的数量,
表示第
个
小组合,
为整数且0 <
< 9;
表示第
个小组合中选定手指的基点图像,
表示选
定手指的所述基点图像经过训练网络输出的特征向量,
表示第
个小组合中选定手指
的非基点图像,
表示所述选定手指的非基点图像经过训练网络输出的特征向量,
表示第
个小组合中的非选定手指图像,
表示非选定手指图像经训练网络输出的特征
向量,
和
为一常数。
本实施例中,在每个聚类类型下分布的图像数量接近24000张,每次输入网络进行
模型训练的图像组包含17张指静脉图像,其中只有9张为同一根手指的指静脉图像,随机从
这9张中选出一张作为选定手指的基点图像,另从其他8张同手指图像与剩余的非同根手指
的8张图像中各选一张,组合成由选定的3张图像形成的图像小组,通过复用选定的基点图
像,17张静脉图像共形成8个小组合,然后将8个小组合输入到第二卷积神经网络进行模型
训练。指静脉识别模型训练过程中,初始学习率优选设置为0.01,训练数据量每10个循环后
减小为0.1倍。模型训练过程中还通过公式(3)表达的损失函数
计算预测结果与真实结
果之间的差异用于反向传播计算调整第二卷积神经网络卷积部分的参数,以不断优化网络
参数提高模型训练效果和模型识别性能。
为了验证本发明提供的基于聚类辅助的静脉识别模型训练方法的有效性,本发明采集1500根手指的指静脉图像,每根手指采集100张,然后通过传统的识别模型、传统深度学习模型和通过本发明训练形成的指静脉识别模型对同样的指静脉图像进行指静脉识别,并统计误识率和识别率(实验统计结果请见下表4),发现本发明训练而得的指静脉识别模型识别率提升明显,误识率大幅降低,呈现出理想的模型识别性能。
表4
实施例2
一种基于聚类辅助的静脉识别模型训练装置,如图6所示,包括:
1)第一分型聚类模块,用于通过聚类方法对指静脉图像进行分型聚类,得到聚类分型结果;第一分型聚类模块用于实现实施例1步骤1)的功能。
2)聚类类型判别模型训练模块,用于根据所述聚类分析结果,并通过第一卷积神经网络训练形成聚类类型判别模型;聚类类型判别模型训练模块用于实现实施例1步骤2)的功能。
3)第二分型聚类模块,用于通过聚类类型判别模型对输入的指静脉图像进行分型聚类,得到分属于不同手指的多个指静脉图像集合;第二分型聚类模块用于实现实施例1步骤3)的功能。
4)指静脉识别模型训练模块,用于以分属于不同手指的各指静脉图像集合为训练样本,并通过第二卷积神经网络训练形成指静脉识别模型。指静脉识别模型训练模块用于实现实施例1步骤4)的功能。
显然,本实施例的静脉识别模型训练装置可以作为上述实施例1的静脉识别模型训练方法的执行主体,因此能够实现静脉识别模型训练方法所实现的功能。由于原理相同,本文不再赘述。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。