指纹识别方法、装置、电子设备及存储介质
技术领域
本发明涉及深度学习技术领域,特别是涉及一种指纹识别方法、装置、电子设备及存储介质。
背景技术
在移动终端及安防领域,指纹识别以其安全性和便捷性得以广泛应用;如今,随着全面屏等技术的不断发展,光学指纹识别技术也逐渐在安防等领域中普及。光学指纹识别是指通过光学方式获取指纹图像,并通过图像处理技术判断两个指纹图像是否匹配。
相关技术中,都是采用基于传统图像处理的方法对指纹图像进行特征点提取,再进行特征点匹配等操作,以对指纹图像进行识别。该方法需要人工设计特征样式,导致其在某些应用场景下(如,对数据量庞大的指纹图像进行识别)的泛化性较差,同时导致设计及开发的时间成本较高,指纹识别的效率较低。
发明内容
鉴于上述问题,提出了本发明实施例提出了一种指纹识别方法、装置、电子设备及存储介质,以便克服上述问题或者至少部分地解决上述问题。
本发明实施例的第一方面,提供了一种指纹识别方法,所述方法包括:
获得待识别指纹图像;
将所述待识别指纹图像与目标指纹图像组合而成的指纹图像对输入指纹识别模型;
当所述指纹识别模型输出的匹配概率满足预设条件时,确定所述待识别指纹图像与所述目标指纹图像匹配;
可选地,所述指纹识别模型是按照以下步骤训练得到的:
获得多个携带标签的指纹图像样本对,每个指纹图像样本对携带的标签表征该指纹图像样本中包括的两张指纹图像是否来自同一手指;
以所述多个携带标签的指纹图像样本对为训练样本,对预设模型进行训练,得到所述指纹识别模型。
可选地,所述多个携带标签的指纹图像样本对是按照以下步骤得到的:
获得多张指纹图像样本;
确定每张指纹图像样本对应的手指信息;
将对应同一手指信息的两张指纹图像样本,确定为一个指纹图像正样本对,并为该指纹图像正样本对标记第一标签;和/或
将对应不同手指信息的两张指纹图像样本,确定为一个指纹图像负样本对,并为该指纹图像负样本对标记第二标签,其中,所述第二标签不同于所述第一标签。
可选地,将对应同一手指信息的两张指纹图像样本,确定为一个指纹图像正样本对,包括:
将对应同一手指信息且指纹相同区域的面积大于预设面积的两张指纹图像样本,确定为一个指纹图像正样本对;和/或
将对应同一手指信息且对应不同采集角度的两张指纹图像样本,确定为一个指纹图像正样本对。
可选地,以所述多个携带标签的指纹图像样本对为训练样本,对预设模型进行训练,得到所述指纹识别模型,包括:
对所述多个携带标签的指纹图像样本对进行特征提取,得到对应的特征图对;每个指纹图像样本对所对应的特征图对包括第一特征图和第二特征图,所述第一特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于同一手指的概率,所述第二特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于不同手指的概率;
根据各指纹图像样本对携带的标签和对应的特征图对,得到所述预设模型输出的预测结果,所述预测结果表征各携带标签的指纹图像样本对包括的两张指纹图像样本是否来自同一手指;
根据所述预设模型输出的预测结果和各指纹图像样本对所携带的标签对所述预设模型的参数进行多次更新;
将经过多次更新后的预设模型,确定为所述指纹识别模型。
可选地,根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,对所述预设模型的参数进行多次更新,包括:
根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,得到各指纹图像样本对所对应的损失值;
根据各指纹图像样本对所对应的损失值,对所述预设模型的参数进行多次更新。
可选地,根据各指纹图像样本对所对应的特征图对,得到所述预设模型输出的预测结果,包括:
根据各指纹图像样本对携带的标签、第一特征图和第二特征图,得到该各指纹图像样本对中的两张图像来自同一手指的第一预测概率,以及,该各指纹图像样本对中的两张图像来自不同手指的第二预测概率;
根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,得到各指纹图像样本对所对应的损失值,包括:
根据所述预设模型输出的各指纹图像样本对的所述第一预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第一损失值,以及,根据所述预设模型输出的各指纹图像样本对的所述第二预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第二损失值;
对各指纹图像样本对的所述第一损失值和所述第二损失值进行统计学处理,确定各指纹图像样本对对应的损失值。可选地,所述方法还包括:
当所述指纹识别模型输出的匹配概率不满足所述预设条件时,将所述待识别指纹图像与所述目标指纹图像组合成一个指纹图像负样本对,并为该指纹图像负样本对标记所述第二标签;和/或
对不同手指进行图像采集,得到多张来自不同手指的指纹图像,将所述多张来自不同手指的指纹图像进行两两随机组合,得到多个指纹图像负样本对,并为每个指纹图像负样本对标记所述第二标签;
利用组合而成的多个携带所述第二标签的多个指纹图像负样本对,对所述指纹识别模型进行更新。
可选地,利用组合而成的多个携带所述第二标签的多个指纹图像负样本对,对所述指纹识别模型进行更新,包括:
将组合而成的多个携带所述第二标签的多个指纹图像负样本对输入所述指纹识别模型;
根据所述指纹识别模型输出的匹配概率,从组合而成的多个携带所述第二标签的多个指纹图像负样本对中,确定多个难例负样本对和多个一般负样本对;
利用所述多个难例负样本对和/或所述多个一般负样本对,对所述指纹识别模型进行更新。
可选地,利用所述多个难例负样本对和所述多个一般负样本对,对所述指纹识别模型进行更新,包括:
以第一采样频率对所述多个难例负样本对进行采样,并以第二采样频率对所述多个一般负样本对进行采样,其中,所述第一采样频率大于所述第二采样频率;
利用采样到的多个样本对,对所述指纹识别模型进行更新。
可选地,所述目标指纹图像的数量是多个,且每个目标指纹图像携带身份信息;将所述待识别指纹图像与目标指纹图像组合而成的指纹图像对输入指纹识别模型,包括:
将所述待识别指纹图像与多个所述目标指纹图像分别进行匹配,得到多个指纹图像对,并将所述多个指纹图像对输入所述指纹识别模型;
所述方法还包括:
获得所述指纹识别模型输出的与多个指纹图像对分别对应的匹配概率;
确定对应的匹配概率满足所述预设条件的目标目标指纹图像对,并将所述目标指纹图像对中的目标指纹图像所携带的身份信息,确定为所述待识别指纹图像对应的身份信息。
可选地,所述方法还包括:
根据所述指纹识别模型输出的匹配概率,对所述待识别指纹图像对应的用户进行身份验证;
在身份验证通过的情况下,根据所述待识别指纹图像对应的用户的身份信息,执行对应的预设操作。
本发明实施例的第二方面,提供了一种指纹识别装置,包括:
待识别图像获得模块,用于获得待识别指纹图像;
输入模块,用于将所述待识别指纹图像与目标指纹图像组合而成的指纹图像对输入指纹识别模型;
确定模块,当所述指纹识别模型输出的匹配概率满足预设条件时,确定所述待识别指纹图像与所述目标指纹图像匹配。
本发明实施例的第三方面,还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本实施例第一方面所述的指纹识别方法。
本发明实施例的第四方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例第一方面所述的指纹识别方法。
本发明实施例包括以下优点:
在本发明实施例中,将待识别指纹图像与目标指纹图像组合而成的指纹图像对输入指纹识别模型,进而根据指纹识别模型输出的匹配概率,确定待识别指纹图像与目标指纹图像是否匹配,并在匹配概率满足预设条件时,确定确定待识别指纹图像与目标指纹图像匹配。由于采用的指纹识别模型可以自动地对指纹图像进行特征提取,并根据提取的特征计算匹配概率,以达到对指纹进行识别的目的,提高了指纹识别的泛化性,同时无需人工设计特征样式,降低了时间成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中获得指纹识别模型的步骤流程图;
图2是本发明一实施例中获得多个携带标签的指纹图像样本对的步骤流程图;
图3是本发明一实施例中对预设模型进行训练得到指纹识别模型的步骤流程图;
图4是本发明一实施例中应用指纹识别模型进行指纹识别的步骤流程图;
图5是本发明一实施例中对指纹识别模型进行更新的步骤流程图;
图6是本发明一实施例中指纹识别装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明为了提高对指纹识别的泛化性,提出了利用训练得到的指纹识别模型对指纹图像进行识别的技术方案,通过以下实施例详细阐述如下。
首先,可以构建一个卷积神经网络模型以及准备训练样本,该卷积神经网络模型可以作为预设模型,通过训练样本对预设模型进行多次训练,进而得到可以用于指纹识别的指纹识别模型。
具体地,参照图1所示,示出了本申请一实施例中获得指纹识别模型的步骤流程图,如图1所示,具体可以包括以下步骤:
步骤S11:获得多个携带标签的指纹图像样本对,每个指纹图像样本对携带的标签表征该指纹图像样本中包括的两张指纹图像是否来自同一手指。
在一种具体的实施方式中,参照图2所示,示出了获得多个携带标签的指纹图像样本对的步骤流程图,如图2所示,包括以下步骤:
步骤S11-1:获得多张指纹图像样本。
本实施例中,可以从指纹样本库中获得指纹图像样本,也可以是将采集的指纹图像作为指纹图像样本。
其中,多张指纹图像样本可以是以多根互不相同的手指指纹为采集对象采集的。该多张指纹图像样本中可以包括互不相同的多根手指的指纹图像,也可以包括同一手指的多张指纹图像。在采集同一手指的多张指纹图像时,可以是对该同一手指从不同角度采集的指纹图像。例如,对手指A,可以从手指A的左侧、右侧、正面等采集该手指A的指纹图像。
步骤S11-2:确定每张指纹图像样本对应的手指信息.
其中,每张指纹图像样本对应的手指信息表征该指纹图像样本是对手指信息所表征的手指进行图像采集而得到的。
本实施例中,手指信息可以唯一表征一个手指。在采集指纹图像样本时,便可以将手指的手指信息进行记录,以形成指纹图像样本与手指信息的对应关系。例如,指纹图像样本编号为001,则可以将记录的手指信息与编码为001的指纹图像样本对应,这样,便可以确定每张指纹图像样本对应的具体手指。
由于一个指纹图像样本对应一个手指信息,则可以在多张指纹图像样本中,根据手指信息,确定来自于同一手指的指纹图像和来自不同手指的指纹图像。具体地,可以根据手指信息确定出以下至少一种指纹图像样本对:指纹图像正样本对、指纹图像负样本对。即,确定出的指纹图像样本对中可以是指纹图像正样本对、也可以是指纹图像负样本对、也可以是二者兼有。
其中,确定指纹图像正样本对的过程如步骤S11-3所述,确定指纹图像负样本对的过程如S11-4所述。
步骤S11-3:将对应同一手指信息的两张指纹图像样本,确定为一个指纹图像正样本对,并为该指纹图像正样本对标记第一标签。
本实施例中,对应同一手指信息的两张指纹图像样本即是表征是来自同一手指的两张指纹图像样本,实际中,可以将来自同一手指的两张指纹图样样本确定为一个指纹图像正样本对,该第一标签可以是表征指纹图像样本对中的两张指纹图像来自同一手指,该第一标签可以用数字表示,例如为1。
在一种具体实施方式中,确定出的指纹图像正样本对中的两张指纹图像可以是指纹相同区域的面积大于预设面积的两张指纹图像样本,也可以是具有同一手指信息且对应不同采集角度的两张指纹图像样本,也可以二者兼有。具体地,确定指纹图像正样本对的过程可以至少包括以下一个步骤:
步骤S11-31:将对应同一手指信息且指纹相同区域的面积大于预设面积的两张指纹图像样本,确定为一个指纹图像正样本对。
本实施方式中,可能存在多张来自同一个手指的指纹图像样本,此种情况下,可以从该多张来自同一个手指的指纹图像样本中筛选出指纹相同区域的面积大于预设面积的两张指纹图像样本。其中,指纹相同区域可以是指两种指纹图像中指纹纹理相同的区域,例如,指纹图像A和指纹图像B,其中,指纹图像A中的一部分指纹纹理与指纹图像B中的一部分指纹纹理相同,则可以该部分指纹纹理的面积即为指纹相同区域的面积。指纹相同区域的面积大于预设面积可以表征该两张指纹图像样本的相似度较高,进而可以将相似度较高的两张指纹图像样本作为一个指纹图像正样本对。
步骤S11-32:将对应同一手指信息且对应不同采集角度的两张指纹图像样本,确定为一个指纹图像正样本对。
本实施方式中,为了提高指纹图像样本的多样性,从而提高指纹识别模型进行指纹识别的准确性,也可以将对同一手指从不同角度采集的两张指纹图像样本作为一个指纹图像正样本对。例如,可以将手指A从左侧角度采集的指纹图像样本和从正面采集该手指A的指纹图像样本作为一个指纹图像正样本对。
步骤S11-4:将对应不同手指信息的两张指纹图像样本,确定为一个指纹图像负样本对,并为该指纹图像负样本对标记第二标签,其中,所述第二标签不同于所述第一标签。
本实施例中,也可以构建指纹图像负样本对,具体地,可以在多张指纹图像样本中,将来自不同手指的指纹图像样本进行两两随机组合,进而得到多个指纹图像负样本对。并为每个指纹图像负样本对标记上第二标签,第二标签可以表征指纹图像负样本对中的两张指纹图像不来自同一手指,第二标签可以是数字,例如0。
上述实施例提供了一种在每张指纹图像样本对应有手指信息情况下,确定指纹图像样本对的方法。在一些具体实例中,指纹图像样本可能不对应有手指信息,此种情况下,可以利用传统的指纹识别方法在多张指纹图像样本中进行同手指间的正样本对匹配以及不同手指间的负样本对匹配,此时不要求识别算法具备很高的识别准确率。
在确定好指纹图像样本对时,每个指纹图像样本对便可以携带各自的第一标签或第二标签,接着,便可以利用多个携带标签的指纹图像样本对,对预设模型进行训练,得到指纹识别模型。
步骤S12:以所述多个携带标签的指纹图像样本对为训练样本,对预设模型进行训练,得到所述指纹识别模型。
参照图3所示,示出了本发明一实施例中对预设模型进行训练,得到指纹识别模型的步骤流程图,具体可以包括以下步骤:
步骤S31:对所述多个携带标签的指纹图像样本对进行特征提取,得到对应的特征图对。
其中,每个指纹图像样本对所对应的特征图对包括第一特征图和第二特征图,所述第一特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于同一手指的概率,所述第二特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于不同手指的概率。
本实施例中,多个携带标签的指纹图像样本对可以是携带第一标签的指纹图像正样本对以及携带第二标签的指纹图像负样本对。实际中,可以将携带第一标签的指纹图像正样本对以及携带第二标签的指纹图像负样本对批量输入到预设模型,通过该预设模型对各指纹图像样本对进行特征提取,得到与每个指纹图像样本对对应的特征图对。
实际中,该特征图对的第一特征图和第二特征图的大小均可以为(N,1,H,W),其中N为数据批量大小,即输入到预设模型中的指纹图像样本对的数量,H、W分别表示特征图的高和宽。
其中,第一特征图中每个像素点(又可以称为特征点)的像素值,可以表征两张指纹图像样本中与该特征点位置相同的像素点是来自同一手指的概率,概率越高表征来自同一手指的可能性越大。
步骤S32:根据各指纹图像样本对携带的标签和对应的特征图对,得到所述预设模型输出的预测结果,所述预测结果表征各携带标签的指纹图像样本对包括的两张指纹图像样本是否来自同一手指。
本实施例中,预设模型可以运用softmax(归一化指数函数)求取特征图对的预测结果,即该预测结果可以表征指纹图像样本对包括的两张指纹图像样本是否来自同一手指。
步骤S33:根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,对所述预设模型的参数进行多次更新。
在本实施例中,可以根据预设模型输出的与每个指纹图像样本对对应的预测结果,以及该指纹图像样本对携带的标签,确定与该指纹图像样本对对应的损失值,根据损失值,对预设模型的参数进行多次更新。
在一种具体实施方式中,该步骤S33具体可以包括以下步骤:
步骤S33-1:根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,得到各指纹图像样本对所对应的损失值。
在一种实施方式中,所述预设模型输出的预测结果,可以通过以下步骤获得:
步骤S31':根据各指纹图像样本对携带的标签、第一特征图和第二特征图,得到该各指纹图像样本对中的两张图像来自同一手指的第一预测概率,以及,该各指纹图像样本对中的两张图像来自不同手指的第二预测概率。
在本实施方式中,可以对特征图对中两张特征图上对应位置(例如,同为位置S)的两个特征点运用softmax(归一化指数函数)得到对应的预测结果。具体地,该预测结果可以包括,对应位置(如位置S)上第一特征图对应的第一预测概率,和对应位置上(如位置S)第二特征图对应的第二预测概率。该第一预测概率即是表征指纹图像样本对中两张指纹图像样本来自同一手指的概率,该第二预测概率即是表征指纹图像样本对中两张图像来自不同手指的概率。
由于特征图上具有多个特征点,对两张特征图对应位置的两个特征点求取预测概率时,便可以得到多组第一预测概率和第二预测概率。
本实施例中,由于每个指纹图像样本对携带标签,该标签可以表征指纹图像样本对包括的两张指纹图像样本是否采自同一手指,即标签反映了指纹图像样本对中两张指纹图像样本的真实情况。在得到预设模型输出的预测结果后,可以根据指纹图像样本对携带的标签,得到该指纹图像样本对的损失值,该损失值即可以反映预设模型输出的预测结果与真实情况之间的差距。
则相应地,在一种实施方式中,得到各指纹图像样本对所对应的损失值的过程可以如下所述:
步骤S33-1-1:根据所述预设模型输出的各指纹图像样本对的所述第一预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第一损失值,以及,根据所述预设模型输出的各指纹图像样本对的所述第二预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第二损失值。
在本实施方式中,由于第一预测概率和第二预测概率是对两张特征图上对应位置的两个特征点运用softmax(归一化指数函数)得到的,可以表征指纹图像样本对中两张指纹图像样本来自同一手指的概率,则可以根据该指纹图像样本对携带的标签,运用交叉熵得到与第一预测概率对应的的第一损失值,以及与第二预测概率对应的第二损失值。该第一损失值可以表征第一预测概率与真实情况(两张指纹图像是否来自同一手指)的差距。该第二损失值可以表征第二预测概率与真实情况(两张指纹图像是否来自同一手指)的差距。
步骤S33-1-2:对各指纹图像样本对的所述第一损失值和所述第二损失值进行统计学处理,确定各指纹图像样本对对应的损失值。
在本实施方式中,由于具有多组第一预测概率和第二预测概率,因此,可以得到多个位置分别对应的第一损失值和第二损失值,即得到多组第一损失值和第二损失值。具体实现时,可以将每个位置的第一损失值和第二损失值之和作为该位置的损失值,进而将各个位置的损失值的平均值作为与指纹图像样本对对应的损失值。
其中,损失值越大,表征预设模型输出的预测结果与真实情况之间的差距越大,即表征预设模型对指纹识别的能力较弱;损失值越小,表征预设模型输出的预测结果与真实情况之间的差距越小,即表征预设模型对指纹识别的能力较强。
步骤S33-2:根据各指纹图像样本对所对应的损失值,对所述预设模型的参数进行多次更新。
本实施例中,由于损失值可以反映预设模型输出的预测结果与真实情况之间的差距,则可以根据损失值,反向更新预设模型的参数。
实际中,在向预设模型多次输入指纹图像样本对时,针对每次输入便可以更新一次预设模型的参数。在又一种情况中,可以一次向预设模型输入多个指纹图像样本对时,由于预设模型输出与多个指纹图像样本对分别对应的预测结果,则与多个指纹图像样本对分别对应有损失值,则可以根据多个损失值,实现在一次输入多个指纹图像样本对的情况下,也一次更新预设模型的参数。这样,在输入样本较多的情况下,有利于提高每次更新的收益和训练预设模型的效率,尽快得到指纹识别模型。
例如,一次输入给预设模型30个指纹图像样本对,则输出30个预测结果,对应由30个损失值,则根据30个损失值,可以对预设模型的参数进行一次性更新。
步骤S34:将经过多次更新后的预设模型,确定为所述指纹识别模型。
本实施例中,可以在确定损失值小于预设损失值时,或者,在确定所有指纹图像样本对的预测结果的准确率大于预设准确率时,将对应的预设模型确定为指纹识别模型。具体地,在对指纹识别模型的参数进行多次更新后,指纹识别模型的指纹识别能力得到提高,这样,损失值会在多次更新后变小,当损失值小于预设损失值时,便可以确定该预设模型的指纹识别能力达到要求,即,指纹识别模型可以准确地识别两张指纹图像样本是否来自同一手指。进而,便可以将损失值小于预设损失值时得到的预设模型确定为指纹识别模型。
在得到指纹识别模型后,便可以应用该指纹识别模型进行指纹识别,参照图4所示,示出了应用指纹识别模型进行指纹识别的步骤流程图,具体可以包括以下步骤:
步骤S41:获得待识别指纹图像。
本实施例中,在一种应用场景中,获得的待识别指纹图像可以是指用户录入的待识别的手指的指纹图像。例如,在门禁中,待识别指纹图像可以是指门禁拍摄的用户的手指的指纹图像。
步骤S42:将所述待识别指纹图像与目标指纹图像作为的指纹图像对输入指纹识别模型。
本实施例中,目标指纹图像可以是指预先存储的指纹图像,例如,在门禁系统中,目标指纹图像可以是指用户在注册时录入的手指的指纹图像。具体实施时,可以将目标指纹图像与待识别指纹图像组合为指纹图像对输入到指纹识别模型中,通过指纹识别模型识别该待识别指纹图像与目标指纹图像是否属于同一根手指。
步骤S43:当所述指纹识别模型输出的匹配概率满足预设条件时,确定所述待识别指纹图像与所述目标指纹图像匹配。
本实施例中,匹配概率可以是表征待识别指纹图像与目标指纹图像是同一手指的概率,概率越大,表征二者来自同一手指的可能性越大。实际中,在匹配概率大于预设概率阈值时,便可以确定匹配概率满足预设条件,此时可以表示待识别指纹图像与目标指纹图像来自同一手指,便可以确定待识别指纹图像与目标指纹图像匹配。反之,则可以确定待识别指纹图像与目标指纹图像来自不同的手指,二者不匹配。
在利用指纹进行身份验证的应用场景中,还可以根据待识别指纹图像与目标指纹的匹配概率,执行相应地身份验证操作,具体地,可以包括以下步骤:
步骤S44:根据所述指纹识别模型输出的匹配概率,对所述待识别指纹图像对应的用户进行身份验证。
本实施方式中,以在终端上进行电子资料借阅为例,终端的图像采集装置可以采集待身份验证的用户的指纹图像,并可以将该指纹图像作为待识别指纹图像与预存的目标指纹图像输入到指纹识别模型。在得到指纹识别模型输出的匹配概率时,可以进一步根据匹配概率执行相应的身份验证操作。
在一种具体实现中,在匹配概率满足预设条件时,可以确定身份验证通过,在不满足预设条件时,则可以确定身份验不通过。其中,预设条件可以是匹配概率大于预设匹配概率。
步骤S45:在身份验证通过的情况下,根据所述待识别指纹图像对应的用户的身份信息,执行对应的预设操作。
本实施方式中,目标指纹图像也可以携带用户的身份信息,该身份信息可以包括用户的身份类型。例如,针对不同的应用场景,身份类型可以是住户、员工、访客等,或者是普通会员、白金会员、访客等,不同身份类型可以对应不同的预设操作。
示例地,仍以在终端上进行电子资料借阅为例,用户的身份信息是访客,则可以执行与访客对应的预设操作,如,获取访客可以浏览的数据库或网页,并推送给用户。假设用户的身份信息是普通会员,则可以执行与普通会员对应的预设操,如,获取普通会员可以浏览的数据库或网页,并推送给用户。
在又一些应用场景中,需要通过对待识别指纹图像的识别,得到该待识别指纹图像对应的用户的身份信息。基于该应用场景,在一种实施方式中,目标指纹图像的数量可以是多个,不同的目标指纹图像可以属于不同的用户,且每个目标指纹图像都可以携带各自的身份信息。则在步骤S42中,可以将待识别指纹图像与多个目标指纹图像组合而成的多个指纹图像对输入到指纹识别模型,具体如下步骤所述:
步骤S42':将所述待识别指纹图像与多个所述目标指纹图像分别进行匹配,得到多个指纹图像对,并将所述多个指纹图像对输入所述指纹识别模型。
本实施例中,身份信息可以唯一表征一个用户,即一个目标指纹图像的身份信息可以表征该目标指纹图像归属的唯一一个用户。
实际中,在目标指纹图像的数量为多个时,可以将待识别指纹图像与多个目标指纹图像分别匹配,得到多个指纹图像对。每一个指纹图像对均包括待识别指纹图像和一个目标指纹图像。具体实施时,可以将多个指纹图像对一次性输入至指纹识别模型,也可以分批次输入至指纹识别模型,在分批次输入到指纹识别模型时,一次可以输入一个指纹图像对或多个指纹图像对。
则相应地,还可以获得所述指纹识别模型输出的与多个指纹图像对分别对应的匹配概率。其中,一个指纹图像对对应的匹配概率可以表征该指纹图像对中的待识别指纹图像与目标指纹图像是否来自同一手指。
则在步骤S43之后,还可以根据匹配概率,获得与待识别指纹图像对应的身份信息,具体包括以下步骤:
确定对应的匹配概率满足所述预设条件的目标目标指纹图像对,并将所述目标目标指纹图像对中的目标指纹图像所携带的身份信息,确定为所述待识别指纹图像对应的身份信息。
本实施例中,在待识别指纹图像与多个目标指纹图像组成了多个指纹图像对时,指纹识别模型可以输出与多个指纹图像对各自对应的匹配概率,进而可以根据得到的多个匹配概率,在多个指纹图像对中确定是否具有来自同一手指的指纹图像对。
具体实施时,可以在确定匹配概率大于预设概率阈值时,确定匹配概率满足预设条件,匹配概率大于预设概率阈值即是指指纹图像对中的目标指纹图像与待识别指纹图像来自同一手指。具体地,在匹配概率大于预设概率阈值的指纹图像对有多个时,可以将匹配概率值最大的指纹图像对作为最终确定出的目标指纹图像对,进而将目标指纹图像对中目标指纹图像携带的身份信息确定为待识别指纹图像对应的身份信息。从而,可以得到当前录入待识别指纹图像的用户的身份。
在本发明实施例中,在得到指纹识别模型后,还可以对指纹识别模型进行更新,具体地,对指纹识别模型进行更新,可以在对待识别指纹图像进行识别之前进行,也可以在对待识别指纹图像进行识别之后进行,以使得在应用指纹识别模型进行指纹识别的过程中,可以顺势完成对指纹识别模型的更新。参照图5所示,示出了指纹识别模型进行更新的步骤流图。
首先,可以确定对指纹识别模型进行更新所需要的样本对,该样本对可以是以下两种样本对中的至少一种样本对:待识别指纹图像与目标指纹图像组成的负样本对(以下简称负样本对1)、新采集的多个指纹图像随机组合的多个负样本对(以下简称负样本对2)。其中,确定负样本对1的过程详见步骤S51所述,确定负样本对2的过程详见步骤S52所述。
步骤S51:当所述指纹识别模型输出的匹配概率不满足所述预设条件时,将所述待识别指纹图像与所述目标指纹图像组合成一个指纹图像负样本对,并为该指纹图像负样本对标记所述第二标签。
本实施例中,在所述指纹识别模型输出的匹配概率不满足所述预设条件时,可以确定待识别图像图像与目标指纹图像不来自同一手指,则可以将该待识别指纹图像与目标指纹图像组合指纹图像负样本对(即负样本对1),并为该样本对标记第二标签,以表征待识别指纹图像与目标指纹图像不是来自同一手指。
步骤S52:对不同手指进行图像采集,得到多张来自不同手指的指纹图像,将所述多张来自不同手指的指纹图像进行两两随机组合,得到多个指纹图像负样本对,并为每个指纹图像负样本对标记所述第二标签。
本实施例中,也可以对多根不同的手指进行图像采集,从而得到多张指纹图像,该多张指纹图像中不同指纹图像对应不同的手指。这样,对多张指纹图像进行两两随机组合时,便得到了多个指纹图像负样本对(即负样本对2)。同时,每个指纹图像负样本对都具有第二标签。
在得到样本对后,便可以以负样本对1和负样本对2中的至少一种负样本对为训练样本对指纹识别模型进行更新,具体地,如步骤S43所述:
步骤S53:利用组合而成的多个携带所述第二标签的多个指纹图像负样本对,对所述指纹识别模型进行更新。
本实施例中,可以将多个负样本对2以及负样本对1输入到指纹识别模型,对指纹识别模型进行更新,也可以将负样本对1输入到指纹识别模型,对指纹识别模型进行更新,也可以将多个负样本对2输入到指纹识别模型,对指纹识别模型进行更新。
本实施例中,对指纹识别模型进行更新可以参照上述步骤S32至步骤S34的过程进行,即可以根据指纹识别模型输出的匹配概率和每个指纹图像对携带的第二标签,确定损失值,进而根据损失值对指纹识别模型的参数进行更新。这样,通过对指纹识别模型的参数进行更新,使得指纹识别模型对指纹的识别能力提高,可以提高指纹识别的准确性。
在一种具体实施方式中,为了能提高对指纹识别模型对指纹识别的准确度,在对所述指纹识别模型进行更新时,还可以运用指纹识别模型进行难例负样本挖掘,并反复迭代,提升指纹识别的安全性。具体包括以下步骤:
步骤S531:将组合而成的多个携带所述第二标签的多个指纹图像负样本对输入所述指纹识别模型。
本实施方式中,可以将多个负样本对2以及负样本对1输入到指纹识别模型,或者将多个负样本对2输入到指纹识别模型。
步骤S532:根据所述指纹识别模型输出的匹配概率,从组合而成的多个携带所述第二标签的多个指纹图像负样本对中,确定多个难例负样本对和多个一般负样本对。
本实施方式中,每个携带第二标签的指纹图像负样本对都对应一个匹配概率,具体地,可以预设一个概率区间,将匹配概率位于概率区间的指纹图像负样本对作为难负例样本对,不位于概率区间的指纹图像负样本对作为一般负样本对。其中,匹配概率落在了概率区间,则表征指纹识别模型对指纹图像负样本对的识别存在难度。其中,概率区间的上限概率可以设为1。
示例地,假设概率区间为0.45-0.7;假设一个指纹图像负样本对Y的匹配概率为0.55,则实际中,表征该指纹图像对中的两张指纹图像来自同一手指的可能性为0.55,该概率不高,且落在了概率区间中,则反映指纹识别模型不能较准确地识别该指纹图像负样本对Y,则可以将指纹图像负样本对Y作为难例负样本对。若指纹图像负样本对Y的匹配概率为0.3,未落在概率区间,则反映指纹识别模型可以较准确地识别该指纹图像负样本对Y中两张指纹图像来自不同手指,则可以将指纹图像负样本对Y作为一般负样本对。
步骤S533:利用所述多个难例负样本对和/或所述多个一般负样本对,对所述指纹识别模型进行更新。
本实施方式中,可以将多个难例负样本对输入到指纹识别模型,以对指纹识别模型进行多次训练,从而提高指纹识别模型的识别能力。当然,也可以将多个难例负样本对和多个一般负样本对同时输入到指纹识别模型,以对指纹识别模型进行一次性训练。
在一种实施方式中,为了进一步提高指纹识别模型对难例样本进行识别的精确度,在步骤S533中可以提高对难例样本进行训练的次数,具体包括以下步骤:
步骤S533-1:以第一采样频率对所述多个难例负样本对进行采样,并以第二采样频率对所述多个一般负样本对进行采样。
其中,所述第一采样频率大于所述第二采样频率。
步骤S533-2:利用采样到的多个样本对,对所述指纹识别模型进行更新。
本实施方式中,对所述多个难例负样本对进行采样可以理解为将多个难例负样本对输入到指纹识别模型的输入频率。频率越高,则表征一个难例负样本能多次被采样,进而多次作为输入样本以训练指纹识别模型。
具体实施时,在将多个难例负样本对和多个一般负样本对同时输入到指纹识别模型时,可以设置对多个难例负样本对进行采样的第一采样频率高于对多个一般负样本对进行采样的第二采样频率,则可以提高指纹识别模型对难例负样本对的识别次数,从而通过对难例负样本对的多次识别,提高指纹识别模型对难例负样本对的识别能力,从而提高指纹识别模型的识别准确度。
基于同一发明构思,参考图6,示出了本发明实施例的一种指纹识别装置的框架示意图,所述装置可以包括如下模块:
待识别图像获得模块601,可以用于获得待识别指纹图像;
输入模块602,可以用于将所述待识别指纹图像与目标指纹图像组合而成的指纹图像对输入指纹识别模型;
确定模块603,可以用于当所述指纹识别模型输出的匹配概率时,确定所述待识别指纹图像与所述目标指纹图像匹配;
可选地,所述装置还可以具体包括以下模块:
样本获得模块,可以用于获得多个携带标签的指纹图像样本对,每个指纹图像样本对携带的标签表征该指纹图像样本中包括的两张指纹图像是否来自同一手指;
训练模块,可以用于以所述多个携带标签的指纹图像样本对为训练样本,对预设模型进行训练,得到所述指纹识别模型。
可选地,所述样本获得模块可以包括以下单元:
样本获得单元,可以用于获得多张指纹图像样本;
手指信息确定单元,可以用于确定每张指纹图像样本对应的手指信息,每张指纹图像样本对应的手指信息表征该指纹图像样本是对手指信息所表征的手指进行图像采集而得到的;
第一组合单元,可以用于将对应同一手指信息的两张指纹图像样本,确定为一个指纹图像正样本对,并为该指纹图像正样本对标记第一标签;和/或
第二组合单元,可以用于将对应不同手指信息的两张指纹图像样本,确定为一个指纹图像负样本对,并为该指纹图像负样本对标记第二标签,其中,所述第二标签不同于所述第一标签。
可选地,所述第一组合单元可以包括:
第一子单元,用于将对应同一手指信息且指纹相同区域的面积大于预设面积的两张指纹图像样本,确定为一个指纹图像正样本对;和/或
第二子单元,用于将对应同一手指信息且对应不同采集角度的两张指纹图像样本,确定为一个指纹图像正样本对。
可选地,所述训练模块具体可以包括以下单元:
特征提取单元,可以用于对所述多个携带标签的指纹图像样本对进行特征提取,得到对应的特征图对;每个指纹图像样本对所对应的特征图对包括第一特征图和第二特征图,所述第一特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于同一手指的概率,所述第二特征图中的像素点的像素值表征:该指纹图像样本对中两张指纹图像样本来自于不同手指的概率;
预测结果确定单元,可以用于根据各指纹图像样本对携带的标签和对应的特征图对,得到所述预设模型输出的预测结果,所述预测结果表征各携带标签的指纹图像样本对包括的两张指纹图像样本是否来自同一手指;
参数更新单元,根据所述预设模型输出的预测结果和各指纹图像样本对携带的标签,对所述预设模型的参数进行多次更新;
获得单元,可以用于将经过多次更新后的预设模型,确定为所述指纹识别模型。
可选地,在一种实施方式中,所述参数更新单元具体可以包括以下子单元:
损失值确定子单元,可以用于根据所述预设模型输出的预测结果和各指纹图像样本对所携带的标签,得到各携带标签的指纹图像样本对所对应的损失值;
参数更新子单元,可以用于根据各携带标签的指纹图像样本对所对应的损失值,对所述预设模型的参数进行多次更新;
可选地,所述预测结果确定单元具体可以用于:根据各指纹图像样本对携带的标签、第一特征图和第二特征图,得到该各指纹图像样本对中的两张图像来自同一手指的第一预测概率,以及,该各指纹图像样本对中的两张图像来自不同手指的第二预测概率;
所述损失值确定子单元,可以包括以下子单元:
第一确定子单元,可以用于根据所述预设模型输出的各指纹图像样本对的所述第一预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第一损失值,以及,根据所述预设模型输出的各指纹图像样本对的所述第二预测概率和各指纹图像样本对携带的标签,得到各指纹图像样本对的第二损失值;
第二确定子单元,可以用于对各指纹图像样本对的所述第一损失值和所述第二损失值进行统计学处理,确定各指纹图像样本对对应的损失值。
可选地,所述装置还可以包括以下模块:
第一负样本对获得模块,可以用于当所述指纹识别模型输出的匹配概率不满足所述预设条件时,将所述待识别指纹图像与所述目标指纹图像组合成一个指纹图像负样本对,并为该指纹图像负样本对标记所述第二标签;和/或
第二负样本对获得模块,可以用于对不同手指进行图像采集,得到多张来自不同手指的指纹图像,将所述多张来自不同手指的指纹图像进行两两随机组合,得到多个指纹图像负样本对,并为每个指纹图像负样本对标记所述第二标签;
更新模块,可以用于利用组合而成的多个携带所述第二标签的多个指纹图像负样本对,对所述指纹识别模型进行更新。
可选地,所述更新模块,包括以下单元:
输入单元,可以用于将组合而成的多个携带所述第二标签的多个指纹图像负样本对输入所述指纹识别模型;
难例挖掘单元,可以用于根据所述指纹识别模型输出的匹配概率,从组合而成的多个携带所述第二标签的多个指纹图像负样本对中,确定多个难例负样本对和多个一般负样本对;
更新单元,可以用于利用所述多个难例负样本对和/或所述多个一般负样本对,对所述指纹识别模型进行更新。
可选地,所述更新单元具体可以包括以下子单元:
采样子单元,可以用于以第一采样频率对所述多个难例负样本对进行采样,并以第二采样频率对所述多个一般负样本对进行采样,其中,所述第一采样频率大于所述第二采样频率;
更新子单元,可以用于利用采样到的多个样本对,对所述指纹识别模型进行更新。
可选地,所述目标指纹图像的数量是多个,且每个目标指纹图像携带身份信息;所述输入模块具体可以用于将所述待识别指纹图像与多个所述目标指纹图像分别进行匹配,得到多个指纹图像对,并将所述多个指纹图像对输入所述指纹识别模型;
所述装置还具体可以包括以下模块:
匹配概率获得模块,用于获得所述指纹识别模型输出的与多个指纹图像对分别对应的匹配概率;
身份确定模块,可以用于确定对应的匹配概率满足所述预设条件的目标指纹图像对,并将所述目标指纹图像对中的目标指纹图像所携带的身份信息,确定为所述待识别指纹图像对应的身份信息。
可选地,所述装置还可以包括以下模块:
身份验证模块,可以用于根据所述指纹识别模型输出的匹配概率,对所述待识别指纹图像对应的用户进行身份验证;
操作执行模块,可以用于在身份验证通过的情况下,根据所述待识别指纹图像对应的用户的身份信息,执行对应的预设操作。
对于指纹识别装置实施例而言,由于其与指纹识别方法实施例基本相似,所以描述的比较简单,相关之处参见指纹识别方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明实施例所述的一个或多个的指纹识别方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的指纹识别方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种指纹识别方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。