过分类器对卷积神经网络的有标签指纹样本进行分类标定,当有标签指纹样本的数量达到一定级别时,可以使训练后的卷积神经网络能够识别出指纹图像中有利于指纹识别的图像特征,避免出现由于低质量指纹图像提取全局特征点和局部特征点失败导致指纹识别错误的情形。
[0083]图3是根据一示例性实施例二示出的指纹识别方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何通过余弦距离来进行指纹识别为例进行示例性说明,如图3所示,包括如下步骤:
[0084]在步骤S301中,对指纹传感器采集的第一指纹图像与存储在数据库中的第二指纹图像通过卷积神经网络进行特征提取,得到第一指纹图像对应的第一指纹特征和第二指纹图像对应的第二指纹特征,其中,第一指纹特征与第二指纹特征的维数相同。
[0085]在步骤S302中,对第一指纹特征和第二指纹特征进行降维处理,分别得到第三指纹特征和第四指纹特征,其中,第三指纹特征和第四指纹特征的维数相同,且小于第一指纹特征和第二指纹特征的维数。
[0086]步骤S301和步骤S302的相关描述请参见上述图1A所示实施例的描述,在此不再详述。
[0087]在步骤S303中,将第三指纹特征和第四指纹特征的余弦距离与预设阈值进行比较,如果余弦距离大于预设阈值,执行步骤S304,如果余弦距离小于或者等于预设阈值,执行步骤S305。
[0088]在步骤S304中,如果余弦距离大于预设阈值,确定第一指纹图像与第二指纹图像为同一指纹。
[0089]在步骤S305中,如果余弦距离小于或者等于预设阈值,确定第一指纹图像与第二指纹图像为不同指纹。
[0090]在步骤S303中,可以通过对样本数据库中大量的指纹样本进行训练得到一个合适的预设阈值,预设阈值可以为用户能够接受的识别错误率,例如,如果样本数据库中有类内样本10万对,类间样本100万对,为了保持千分之一的识别错误率,可以对每一对通过余弦距离计算,得到一个0-1之间的值,其中,类内样本的余弦距离的值有10万个,类间样本的余弦距离的值100万个,也即,得到了 110万个余弦距离的值,通过该110万个余弦距离的值并结合识别错误率来确定一个合适的预设阈值即可。
[0091]本实施例在具有上述实施例有益技术效果的基础上,通过第三指纹特征和第四指纹特征的余弦距离来识别指纹,由于预设阈值可以通过大量的指纹样本训练得到并结合了用户可接受的识别错误率,因此在一定程度上提高了指纹识别产品的用户体验。
[0092]图4是根据一示例性实施例示出的一种指纹识别装置的框图,如图4所示,指纹识别装置包括:
[0093]第一提取模块41,被配置为对指纹传感器采集的第一指纹图像与存储在数据库中的第二指纹图像通过卷积神经网络进行特征提取,得到第一指纹图像对应的第一指纹特征和第二指纹图像对应的第二指纹特征,其中,第一指纹特征与第二指纹特征的维数相同;
[0094]降维处理模块42,被配置为对第一提取模块41提取到的第一指纹特征和第二指纹特征进行降维处理,分别得到第三指纹特征和第四指纹特征,其中,第三指纹特征和第四指纹特征的维数相同,且小于第一指纹特征和第二指纹特征的维数;
[0095]识别模块43,被配置为根据降维处理模块42降维后的第三指纹特征和第四指纹特征的余弦距离确定第一指纹图像与第二指纹图像是否为同一指纹。
[0096]图5是根据一示例性实施例示出的另一种指纹识别装置的框图,如图5所示,在上述图4所示实施例的基础上,在一实施例中,卷积神经网络包括至少一个特征提取层和特征映射层,在卷积神经网络网络的最后一个特征提取层连接有分类器,装置还可包括:
[0097]第一训练模块44,被配置为将海量的有标签指纹样本输入至卷积神经网络,对至少一个特征提取层和特征映射层进行训练;
[0098]第二提取模块45,被配置为将有标签指纹样本通过第一训练模块44训练后的卷积神经网络进行特征提取,得到有标签指纹样本的输出结果;
[0099]第二训练模块46,被配置为将第二提取模块45得到的输出结果输入到分类器,对分类器进行标定训练。
[0100]在一实施例中,装置还可包括:
[0101]第三提取模块47,被配置为通过第一训练模块44已训练的卷积神经网络提取有标签指纹样本的第一设定维数的特征参数;
[0102]第三训练模块48,被配置为对第三提取模块47提取到的第一设定维数的特征参数进行线性判别式分析LDA训练,得到LDA的第二设定维数的投影矩阵。
[0103]在一实施例中,识别模块43可包括:
[0104]比较子模块431,被配置为将第三指纹特征和第四指纹特征的余弦距离与预设阈值进行比较;
[0105]第一确定子模块432,被配置为如果比较子模块431的比较结果表示余弦距离大于预设阈值,确定第一指纹图像与第二指纹图像为同一指纹;
[0106]第二确定子模块433,被配置为如果比较子模块431的比较结果表示余弦距离小于或者等于预设阈值,确定第一指纹图像与第二指纹图像为不同的指纹。
[0107]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0108]图6是根据一示例性实施例示出的一种适用于指纹识别装置的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0109]参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口 612,传感器组件614,以及通信组件616。
[0110]处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
[0111]存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPR0M),可擦除可编程只读存储器(EPR0M),可编程只读存储器(PR0M),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0112]电力组件606为装置600的各种组件提供电力。电力组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
[0113]多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0114]音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
[0115]I/0接口 612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0116]传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件