要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0053]图1A是根据一示例性实施例示出的指纹识别方法的流程图,图1B是根据一示例性实施例示出的卷积神经网络的结构示意图;该指纹识别方法可以应用在安装有指纹传感器的指纹识别设备(例如:具有指纹认证的智能手机和平板电脑、指纹打卡机)上,如图1A所示,该指纹识别方法包括以下步骤S101-S103:
[0054]在步骤S101中,对指纹传感器采集的第一指纹图像与存储在数据库中的第二指纹图像通过卷积神经网络进行特征提取,得到第一指纹图像对应的第一指纹特征和第二指纹图像对应的第二指纹特征,其中,第一指纹特征与第二指纹特征的维数相同。
[0055]在一实施例中,数据库中可以存储有已经采集的一定范围内的用户的指纹图像,例如,A公司内的全部员工的指纹图像,当用户B需要指纹认证时,通过指纹传感器采集用户B的第一指纹图像即可。在一实施例中,卷积神经网络(Convolut1nal NeuralNetworks,简称为CNN)可以包括至少一个特征提取层和特征映射层,将第一指纹图像输入到卷积神经网络,卷积神经网络的输出即为第一指纹图像的第一指纹特征;相应地,可以将数据库中的第二指纹图像经过与第一指纹图像相同的方式,得到第二指纹图像的第二指纹特征。
[0056]在步骤S102中,对第一指纹特征和第二指纹特征进行降维处理,分别得到第三指纹特征和第四指纹特征,其中,第三指纹特征和第四指纹特征的维数相同,且小于第一指纹特征和第二指纹特征的维数。
[0057]在一实施例中,可以通过已经训练的线性判别式分析(Linear DiscriminantAnalysis,简称为LDA)对第一指纹特征和第二指纹特征进行降维,在一实施例中,通过已训练的卷积神经网络提取有标签指纹样本的第一设定维数的特征参数;对第一设定维数的特征参数进行线性判别式分析LDA训练,得到LDA的第二设定维数的投影矩阵,例如,有标签指纹样本从卷积神经网络输出的了第一设定维数为500维的特征参数,经过对LDA训练后,可以从训练后的LDA降维至第二设定维数为200维的特征参数。从而可以降低在计算余弦距离时的计算复杂度。
[0058]在步骤S103中,根据第三指纹特征和第四指纹特征的余弦距离确定第一指纹图像与第二指纹图像是否为同一指纹。
[0059]在一实施例中,可以将第三指纹特征和第四指纹特征的余弦距离与预设阈值进行比较,如果余弦距离大于预设阈值,确定第一指纹图像与第二指纹图像为同一指纹,如果余弦距离小于或者等于预设阈值,确定第一指纹图像与第二指纹图像为不同指纹。
[0060]作为一个示例性场景,如图1B所示,当用户B需要进行指纹认证时,通过指纹传感器11采集用户B的第一指纹图像,将第一指纹图像和数据库12中已经存储的第二指纹图像输入至已经训练的卷积神经网络13中,卷积神经网络13输出第一指纹图像的第一指纹特征和第二指纹图像的第二指纹特征。例如,第一指纹特征和第二指纹特征均为500维的指纹特征,利用LDA模块14的投影矩阵对500维的第一指纹特征和第二指纹特进行降维。例如,LDA模块14将第一指纹特征和第二指纹特征从500维降到了 200维,也即LDA模块14输出了第一指纹特征降维后的第三指纹特征和第二指纹特征降维后的第四指纹特征。在本实施例中,第三指纹特征和第四指纹特征的维数均为200维,距离计算模块15计算这两个200维的第三指纹特征和第四指纹特征的余弦距离,结果输出模块16将该余弦距离与阈值进行比较,也即,通过该阈值对余弦距离进行分割,如果余弦距离大于该阈值,结果输出模块16输出第一指纹图像和第二指纹图像属于同一个指纹的结果,如果余弦距离小于或者等于该阈值,结果输出模块16输出第一指纹图像和第二指纹图像属于不同指纹的结果。
[0061]本实施例中,由于卷积神经网络是通过海量的有标签指纹样本训练得到的,因此卷积神经网络所提取第一指纹图像的第一指纹特征和第二指纹图像的第二指纹特征可以包含有利于指纹识别的指纹特征,避免了相关技术必须通过指纹的全局特征点以及局部特征点才能实现指纹识别。当指纹图像质量较差时,卷积神经网络通过识别有利于指纹识别的特征,确保在第一指纹图像的质量较低时由于提取不出指纹的全局特征点以及局部特征点仍能够实现指纹识别,大大提高了低质量的指纹图像在指纹识别时的准确率;通过对第一指纹特征和第二指纹特征进行降维,可以大大降低在指纹识别过程中的计算复杂度。
[0062]在一实施例中,卷积神经网络包括至少一个特征提取层和特征映射层,在卷积神经网络网络的最后一个特征提取层连接有分类器,方法还可包括:
[0063]将海量的有标签指纹样本输入至卷积神经网络,对至少一个特征提取层和特征映射层进行训练;
[0064]将有标签指纹样本通过训练后的神经网络进行特征提取,得到有标签指纹样本的输出结果;
[0065]将输出结果输入到分类器,对分类器进行标定训练。
[0066]在一实施例中,方法还可包括:
[0067]通过已训练的卷积神经网络提取有标签指纹样本的第一设定维数的特征参数;
[0068]对第一设定维数的特征参数进行线性判别式分析LDA训练,得到LDA的第二设定维数的投影矩阵。
[0069]在一实施例中,根据第三指纹特征和第四指纹特征的余弦距离确定第一指纹图像与第二指纹图像是否为同一指纹,可包括:
[0070]将第三指纹特征和第四指纹特征的余弦距离与预设阈值进行比较;
[0071]如果余弦距离大于预设阈值,确定第一指纹图像与第二指纹图像为同一指纹;
[0072]如果余弦距离小于或者等于预设阈值,确定第一指纹图像与第二指纹图像为不同指纹。
[0073]具体如何实现指纹识别的,请参考后续实施例。
[0074]至此,本公开实施例提供的上述方法,可以避免相关技术必须通过指纹的全局特征点以及局部特征点才能实现指纹识别,确保在第一指纹图像的质量较低时由于提取不出指纹的全局特征点以及局部特征点仍能够实现指纹识别,大大提高低质量的指纹图像在指纹识别时的准确率,还可以大大降低在指纹识别过程中的计算复杂度。
[0075]下面以具体实施例来说明本公开实施例提供的技术方案。
[0076]图2A是根据一示例性实施例一示出的如何对卷积神经网络进行训练的示意图,图2B是根据一示例性实施例一示出的卷积神经网络的结构示意图;本实施例利用本公开实施例提供的上述方法,以如何通过有标签指纹样本对卷积神经网络进行训练为例进行示例性说明,如图2A所示,包括如下步骤:
[0077]在步骤S201中,将海量的有标签指纹样本输入至卷积神经网络,对至少一个特征提取层和特征映射层进行训练。
[0078]在步骤S202中,将有标签指纹样本通过训练后的神经网络进行特征提取,得到有标签指纹样本的输出结果。
[0079]在步骤S203中,将输出结果输入到分类器,对分类器进行标定训练。
[0080]在对卷积神经网络进行训练之前,需要准备海量的指纹样本(例如,20000个用户的指纹样本),对这些海量的指纹样本进行标号(label),例如,用户E的所有指纹样本的标号都为1,用户F的所有指纹样本的标号都为2,等等,可以准备20000个用户的20000类的指纹图像,每个用户的指纹样本为30张,海量的指纹样本的数量可以达到60万张,通过这60万张的指纹样本对卷积神经网络进行训练。
[0081]在一实施例中,卷积神经网络包括至少一个特征提取层和特征映射层,在图2B所示的卷积神经网络20中,特征提取层和特征映射层可以分布有多个独立的神经元,在特征提取层21对上述60万张的指纹样本进行特征提取,特征提取层21会输出一个特征映射图,该特征映射图反映了卷积神经网络在特征提取层21上各个神经元的权值参数的分布。通过特征映射层22分别对该特征映射图下采样,得到另外一个特征映射图,在特征提取层23对特征映射层22生成的特征映射图进行进一步的特征提取,特征提取层23所提取出的特征反映了卷积神经网络在特征提取层23上各个神经元的权值参数分布,通过特征映射层24对特征提取后的特征进行下采样,并将特征映射层24下采样后的输出结果输入至分类器25,通过特征映射层24的输出结果对分类器25进行训练,从而实现对卷积神经网络20和分类器25的训练。
[0082]本实施例中,通过对卷积神经网络进行训练,通