指纹检索方法、装置、非易失性存储介质及电子设备

未命名 10-14 阅读:72 评论:0


1.本技术涉及图像处理领域,具体而言,涉及一种指纹检索方法、装置、非易失性存储介质及电子设备。


背景技术:

2.特征向量相关技术中在确定与待检索指纹图像对应的候选指纹图像集合时,通常采用的方式是手工设计指纹特征向量,但是这种方式的问题在于设计流程复杂,对设计人员的专业知识要求极高,并且设计得到的指纹特征向量高度特化,不具有泛化性。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种指纹检索方法、装置、非易失性存储介质及电子设备,以至少解决由于相关技术中采用手工设计待检索指纹图像的特征向量的方式导致的指纹检索效率低的技术问题。
5.根据本技术实施例的一个方面,提供了一种指纹检索方法,包括:确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;依据特征向量在指纹数据库中确定候选指纹图像集合。
6.可选地,细节点分布和方向图包括第一通道和第二通道;确定待检索指纹图像的细节点分布和方向图的步骤包括:确定待检索指纹图像中的细节点的位置信息和方向信息;依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量。
7.可选地,依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量的步骤包括:依据细节点在待检索指纹图像中的位置信息确定细节点在细节点分布和方向图中的位置信息;依据细节点的位置信息和细节点的方向信息,计算目标像素点和细节点之间的曼哈顿距离,其中,目标像素点为细节点分布和方向图中的任意一个像素点;依据目标像素点对应的曼哈顿距离和细节点的方向信息,确定目标像素点在第一通道上的第一分量和第二通道上的第二分量。
8.可选地,依据目标像素点对应的曼哈顿距离和细节点的方向信息,确定目标像素点在第一通道上的第一分量和第二通道上的第二分量的步骤包括:确定细节点对应的细节点掩膜,并依据细节点掩膜确定预设距离阈值;在曼哈顿距离大于预设距离阈值的情况下,确定目标像素点的第一分量和第二分量均为零;在曼哈顿距离不大于预设距离阈值的情况下,依据细节点的方向信息和第一通道的通道标号确定第一分量,以及依据细节点的方向信息和第二通道的通道标号确定第二分量。
9.可选地,指纹特征提取神经网络模型包括特征提取层,特征融合层和映射模块,其中,特征提取层中包括多个特征提取模块,多个特征提取模块中的每个特征提取模块由多个残差模块组成,用于依据细节点分布和方向图提取待检索指纹图像和的特征图,并且每个特征提取模块提取的特征图的分辨率不同;特征融合层用于将每个特征提取模块提取的除第一特征图和第二特征图之外的特征图进行融合,得到目标特征图,其中,第一特征图为每个特征提取模块提取的分辨率最高的特征图,第二特征图为每个特征提取模块提取的分辨率第二高的特征图;映射模块,用于依据目标特征图确定待检索指纹图像的特征向量。
10.可选地,依据目标特征图确定待检索指纹图像的特征向量的步骤包括:对待检索指纹图像进行图像分割处理,得到目标特征图矩阵;依据目标特征图矩阵和目标特征图,得到待检索指纹图像的初始特征向量;对初始特征向量进行归一化处理,并将归一化处理后的初始特征向量作为待检索指纹图像的特征向量。
11.可选地,指纹特征提取神经网络通过以下方式训练得到:确定关键网络和查询网络,其中,关键网络和查询网络为模型结构相同的编码器,并且关键网络和查询网络的模型结构与指纹特征提取神经网络的模型结构相同;对查询网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据查询网络的模型参数,采用指数平均移动的方式对关键网络进行训练;在训练完成后,保留查询网络作为指纹特征提取神经网络。
12.可选地,对关键网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据关键网络的模型参数,采用指数平均移动的方式对查询网络进行训练的步骤包括:在每次更新关键网络和查询网络的模型参数后,获取关键网络输出的第一特征序列和查询网络输出的第二特征序列;依据第一特征序列和第二特征序列确定关键网络和查询网络的三元组损失;依据三元组损失确定关键网络和查询网络是否收敛,并在确认关键网络和查询网络收敛后,确认训练完成。
13.根据本技术实施例的另一方面,还提供了一种指纹检索装置,包括:第一处理模块,用于确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;第二处理模块,用于通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;第三处理模块,用于通过特征向量在指纹数据库中确定候选指纹图像集合。
14.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行指纹检索方法。
15.根据本技术实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行指纹检索方法。
16.在本技术实施例中,采用确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;通过特征向量在指纹数据库中确定候选指纹图像集合的方式,通过确定待检索指纹图像的细节点分布和方向图,并通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图来得到待检索指纹图像的特征向量,达到
了无需人工标注即可根据细节点信息得到待检索指纹图像的特征向量的目的,从而实现了提高检索效率的技术效果,进而解决了由于相关技术中采用手工设计待检索指纹图像的特征向量的方式导致的指纹检索效率低技术问题。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例的一种计算机终端(移动终端)的结构示意图;
19.图2是根据本技术实施例的一种指纹检索方法的流程示意图;
20.图3是根据本技术实施例的一种指纹图像中的细节点的示意图;
21.图4是根据本技术实施例的一种指纹特征提取神经网络的结构示意图;
22.图5是根据本技术实施例的一种特征图的示意图;
23.图6是根据本技术实施例的一种指纹特征提取神经网络的训练过程示意图;
24.图7是根据本技术实施例的一种指纹检索装置的结构示意图。
具体实施方式
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.为了更好地理解本技术实施例,以下将本技术实施例中涉及的技术术语解释如下:
28.指纹细节点:指纹细节点是指纹团中最小的图形单位,也是指纹识别中最重要的特征之一。每个指纹细节点由一个起点、一个终点和一条连接两者的弧线组成。每个人的指纹细节点的形状、数量和排列方式都是独特的。
29.三元组损失:三元组损失是一种常用于训练图像生成模型的损失函数,其基本思想是通过比较生成的图像与训练集中的真实图像以及其他样本之间的相似度来定义损失函数,相似度包括训练样本与正样本之间的相似度,以及训练样本和负样本之间的相似度。
30.在大规模指纹识别领域,为了能够提高指纹检索的效率和准确度,通常会选择将待检索的指纹图像转换为特征向量,并通过特征向量在数据库中检索对应的指纹。相关技术中通常会选择采用人工标注转换的方式,在待检索指纹图像中标注图像中所包含的指纹
特征信息,然后将标注后的图像转换为待检索指纹的特征向量。这种方式的问题在于对标注人员的要求较高,需要标注人员对指纹领域有足够的知识储备。并且采用人工标注的方式效率过低。
31.相关技术中还提供了一种通过神经网络来提取待检索指纹图像的特征向量的方法,但是相关技术中的神经网络仅仅是提取图像中的全局特征或局部特征来得到特征向量。其中,在仅考虑全局特征来得到特征向量的情况下,在获取特征向量的过程中没有考虑到指纹本身所具有的信息,导致最终得到的特征向量区分度不够,也就是说不同的指纹的特征向量可能接近,导致相关技术中的指纹检索效率较低,准确率也不够高。而在仅考虑局部特征的情况下得到的特征向量虽然考虑到指纹信息,但是生成特征向量的速度较慢,并且得到的特征向量长度不固定,检索效率低,无法应用到大规模指纹检索场景中。
32.为了解决该问题,本技术实施例中提供了相关的解决方案,以下详细说明。
33.根据本技术实施例,提供了一种指纹检索方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
34.本技术实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现指纹检索方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
35.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
36.存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的指纹检索方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的指纹检索方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
37.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适
配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
38.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
39.在上述运行环境下,本技术实施例提供了一种指纹检索方法,如图2所示,该方法包括如下步骤:
40.步骤s202,确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;
41.在步骤s202所提供的技术方案中,细节点分布和方向图包括第一通道和第二通道;确定待检索指纹图像的细节点分布和方向图的步骤包括:确定待检索指纹图像中的细节点的位置信息和方向信息;依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量。
42.具体地,指纹图像中的细节点如图3所示,图3中由空心圆和线段组成的图形所在的位置即为指纹的细节点所在的位置,图3中的指纹图像a和指纹图像b为匹配的指纹图像,指纹图像c为不与指纹图像a和b匹配的指纹图像。由于不同人指纹中的细节点的分布情况具有独特性,因此在生成待检索指纹图像的特征向量时充分考虑细节点的相关信息可以有效提高检索时的效率和准确性。
43.在本技术的一些实施例中,依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量的步骤包括:依据细节点在待检索指纹图像中的位置信息确定细节点在细节点分布和方向图中的位置信息;依据细节点的位置信息和细节点的方向信息,计算目标像素点和细节点之间的曼哈顿距离,其中,目标像素点为细节点分布和方向图中的任意一个像素点;依据目标像素点对应的曼哈顿距离和细节点的方向信息,确定目标像素点在第一通道上的第一分量和第二通道上的第二分量。
44.具体地,假设待检索指纹图像的尺寸为h
×
w,其中h为图片高度,w为图片宽度,图像中包含了nm个指纹细节点,则每个指纹细节点m可以表示为:
[0045][0046]
上述公式中的上标i表示第i个指纹细节点,和为指纹细节点在待检索指纹图像中的坐标,具体地,为了便于描述,在本技术实施例中可以在待检索指纹图像中规定左下角的像素点为坐标原点,向上为y轴正方向,向右为z轴正方向建立平面直角坐标系,并确定相邻的两个像素点之间的坐标值的差值为1。则是第i个指纹细节点的方向信息,为第i个指纹细节点和水平轴之间的夹角,其中水平轴为与图像的宽平行的轴。由于原始的待检索指纹图像中的细节点信息为非欧几里得信息,因此不能直接用cnn等神经网络处理,需要对待检索指纹图像中的细节点信息进行转换,并尽可能地保留细节点的信息。而采用本技术实施例所提供的确定待检索指纹图像的细节点分布和方向图的方法,可以实现将指纹细节点信息转换为欧几里得信息,同时避免了细节点信息的遗失。
[0047]
具体地,作为指纹的关键领域知识,细节特征对指纹印象条件具有稳定性和鲁棒
性。也就是说,对于每个对象的指纹,其细节分布都是不一样的,并且同一对象的相同指纹其细节点信息是一致的。同时,每个细节的方向也具有丰富的生物特征信息。因此本技术实施例提供了细节点分布和方向图(mddm),以便在将原始细点转换为欧几里得形式时保留更多的细点信息。
[0048]
作为一种可选地实施方式,本技术实施例中提供了一种依据目标像素点对应的曼哈顿距离和细节点的方向信息来确定目标像素点在第一通道上的第一分量和第二通道上的第二分量的方法,包括如下步骤:确定细节点对应的细节点掩膜,并依据细节点掩膜确定预设距离阈值;在曼哈顿距离大于预设距离阈值的情况下,确定目标像素点的第一分量和第二分量均为零;在曼哈顿距离不大于预设距离阈值的情况下,依据细节点的方向信息和第一通道的通道标号确定第一分量,以及依据细节点的方向信息和第二通道的通道标号确定第二分量。
[0049]
具体地,上述确定mddm中指纹细节点的第一分量和第二分量的具体公式如下:
[0050][0051]
具体地,上述公式中的dist1(i,j,m
x
,my)表示mddm中任意一个像素点与指纹细节点之间的l1距离,也就是曼哈顿距离,其中i,j为该任意像素点在mddm中的坐标。为了标注方便,可以在mddm规定左下角的像素点为坐标原点,向上为y轴正方向,向右为z轴正方向建立平面直角坐标系,并确定相邻的两个像素点之间的坐标值的差值为1。可以理解的,mddm的尺寸与待检索指纹图像的尺寸相同,因此同一个特征点在mddm和待检索指纹图像中的坐标相同。需要注意的是,也可以让mddm中的坐标系与待检索指纹图像中的坐标系有不同的规格,并不会影响最终结果。
[0052]
上述公式中的k为通道的标识信息,取值为0或1,当k取值为0时表示第一通道,k取值为1时表示第二通道,t表示细节特征点(m
x
,my)对应的掩膜,dist1(i,j,m
x
,my)≤t表示该像素点在细节特征点的掩膜覆盖范围之内。
[0053]
在通过上述公式得到mddm后,可以通过mddm引导机器学习模型在训练过程中更加关注待检索指纹图像中的细节点的特征信息,从而使得训练完成的机器学习模型可以从待检索指纹图像中提取出包含有待检索指纹图像的细节点特征的特征向量。也就是说mddm可以作为待检索指纹图像的先验信息,指纹特征提取神经网络可以通过mddm确定待检索指纹图像中细节点的位置和具体信息。
[0054]
步骤s204,通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;
[0055]
在步骤s204所提供的技术方案中,如图4所示,本技术实施例所提供的指纹特征提取神经网络模型为在resnet模型的基础上改进得到的神经网络模型。从图4中可以看出,指纹特征提取神经网络包括特征提取层,特征融合层和映射模块,其中,特征提取层中包括多个特征提取模块,多个特征提取模块中的每个特征提取模块由多个残差模块组成,用于依据细节点分布和方向图提取待检索指纹图像的特征图,并且每个特征提取模块提取的特征图的分辨率不同;特征融合层用于将每个特征提取模块提取的除第一特征图和第二特征图之外的特征图进行融合,得到目标特征图,其中,第一特征图为每个特征提取模块提取的分辨率最高的特征图,第二特征图为每个特征提取模块提取的分辨率第二高的特征图;映射
模块,用于依据目标特征图确定待检索指纹图像的特征向量。
[0056]
具体地,由于第一特征图和第二特征图的分辨率过高,并且携带的非指纹细节点特征的其他图像特征过多,会导致特征融合阶段的运算量大增,并且对于最终结果的性能指标无显著提升,因此可以设计指纹特征提取神经网络抛弃第一特征图和第二特征图。同时由于细节点的空间尺寸较小,分辨率较低,因此最底层的特征图中可能会遗失一部分细节点的特征,因此可以保留除第一特征图和第二特征图之外的特征图,并将这些特征图与最底层的特征图融合,得到目标特征图。
[0057]
作为一种可选地实施方式,如图4所示,特征提取层中可以包括三十个残差模块,其中每六个残差模块组成一个特征提取模块,这样待检索指纹图像经过特征提取层处理后可以得到五组不同分辨率的特征图,其中第三组、第四组和第五组特征图如图5所示。并且以三十个残差模块为基础构件特征提取层,可以有效避免训练过程中的过拟合问题。
[0058]
在特征融合阶段,由于第三特征图、第四特征图和第五特征图的分辨率不同,因此可以通过批处理归一化层、relu层和多组上采样层之后使用卷积层来处理这些特征图,从而实现特征图的融合。另外从图4中可以看出,对于不同分辨率的特征图,上采样层的层数不同,也就是上采样的次数不同,这样可以使得处理后的各组特征图的分辨率一致。
[0059]
在本技术的一些实施例中,依据目标特征图确定待检索指纹图像的特征向量的步骤包括:对待检索指纹图像进行图像分割处理,得到目标特征图矩阵;依据目标特征图矩阵和目标特征图,得到待检索指纹图像的初始特征向量;对初始特征向量进行归一化处理,并将归一化处理后的初始特征向量作为待检索指纹图像的特征向量。
[0060]
最终得到的特征向量的公式如下:
[0061][0062]
上述公式中f表示特征向量,f表示目标特征图,s表示目标特征图矩阵,s(i,j)表示矩阵中的行列分别为i,j的元素的取值,元素的取值范围为{0,1},f(i,j)表示目标特征图中第i行第j列的像素值,n为矩阵s中非零元素的个数。
[0063]
具体地,可以采用fingernet来对待检索指纹图像进行图像分割处理得到目标特征图矩阵。在对待检索指纹图像进行分割时,可以将待检索指纹图像中8
×
8像素区域确定为一组,并确定每组中是否有属于指纹区域的像素点,如果有则该组对应的矩阵中的元素取值为1,否则为0。需要说明的是,在对待检索指纹图像中的像素区域进行分组时,不同组之间没有重叠部分。
[0064]
作为一种可选地实施方式,如图6所示,指纹特征提取神经网络通过以下方式训练得到:确定关键网络和查询网络,其中,关键网络和查询网络为模型结构相同的编码器,并且关键网络和查询网络的模型结构与指纹特征提取神经网络的模型结构相同;对查询网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据查询网络的模型参数,采用指数平均移动的方式对关键网络进行训练;在训练完成后,保留查询网络作为指纹特征提取神经网络。
[0065]
具体地,对关键网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据关键网络的模型参数,采用指数平均移动的方式对查询网络进行训练的步骤包括:在每
次更新关键网络和查询网络的模型参数后,获取关键网络输出的第一特征序列和查询网络输出的第二特征序列;依据第一特征序列和第二特征序列确定关键网络和查询网络的三元组损失;依据三元组损失确定关键网络和查询网络是否收敛,并在确认关键网络和查询网络收敛后,确认训练完成。
[0066]
具体地,从图6中可以看出,在训练阶段,关键网络生成的特征会不断填充历史队列qk,并且最新生成的指纹特征向量会逐渐取代最早生成的指纹特征向量,也就是说历史队列qk的长度确定。可以从每个锚定数据与正对数据对应的历史队列qk中确定最难的负例(也就是不匹配的指纹),从而得到在线硬例挖掘(ohem)策略下的三元组来计算三元组损失,并且可以使用队列长度l
tq
来约束每批中的这些三元组。
[0067]
可以看出,通过上述采用动量策略得到的三元组损失,可以使得待训练神经网络生成的特征向量具有鲁棒性和紧凑性。而使用在线硬例挖掘(ohem)策略选择信息量更大的三元组来处理三元组损失,可以加快网络的收敛速度。另外,将关键网络生成的特征不断填充到历史特征队列中,可以扩大三元组的搜索范围。
[0068]
作为一种可选地实施方式,在训练过程中可以从整个训练集中,随机抽取nx个指纹图像和每个指纹图像的2个特征向量,得到一个小批量训练数据集纹图像和每个指纹图像的2个特征向量,得到一个小批量训练数据集
[0069]
在x中,对于任意i∈n
x
,下标x
2i-1
和下表x
2i
是同一指纹图像对应的两个不同特征向量。
[0070]
在训练过程中,可以通过关键网络处理上述小批量训练数据集得到如下特征集合:
[0071][0072]
以及通过查询网络处理上述小批量训练数据集得到如下特征集合:
[0073][0074]
然后可以将历史队列中前2n
x
个特征向量替换为fk,这样考虑历史队列的每个三元组损失函数可以表示为如下公式:
[0075][0076][0077]
其中上述参数m
t
为边界的超参数,dist2表示两个向量之间的l2距离。
[0078]
根据上述公式,可以得到具有历史队列的整体三元组损失为:
[0079][0080]
需要注意的是,上述训练过程中生成和使用的特征向量均为归一化后的特征向量,上述三元组损失函数公式中的参数j从图6中可以看出,表示历史队列中的特征向量的序号。另外图6中的参数l表示历史队列中的特征向量的总数,rc表示长度为c的实数向量,其中c的数值可以自行设定,例如设定为256。
[0081]
步骤s206,依据特征向量在指纹数据库中确定候选指纹图像集合。
[0082]
具体地,通过本技术实施例提供的方法可以将待检索指纹图像转换为定长的特征
向量,然后计算特征向量和指纹库中的其他特征向量之间的余弦相似度即可确定候选指纹图像集合,具体公式如下:
[0083]
sim(x1,x2)=《f
x1
,f
x2

[0084]
上述公式中,sim(x1,x2)表示第一指纹图像x1和第二指纹图像x2之间的相似度,《f
x1
,f
x2
》表示计算第一指纹图像的特征向量f
x1
和第二指纹图像f
x2
的特征向量之间的内积,也就是归一化后的余弦相似度。
[0085]
作为一种可选地实施方式,可以采用多种预设规则从指纹库中确定上述候选指纹集合。例如,可以设定一个相似度阈值,确定指纹库中所有的特征向量与待检索指纹图像的特征向量之间的余弦相似度大于该预设阈值的指纹图像均属于候选指纹图像集合中。也可以先确定候选指纹图像集合中包含的指纹图像数量,然后按照指纹库中各个指纹图像的特征向量和待检索指纹图像的特征向量之间的相似度,确定相似度最高的前所述指纹图像数量个指纹图像组成上述候选指纹图像集合。
[0086]
另外,在检索到候选指纹图像集合后,可以确定候选指纹图像集合中的指纹图像关联的各类信息,进而确定待检索指纹图像所关联的信息,例如,待检索指纹图像指示的身份信息等。
[0087]
通过采用确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;通过特征向量在指纹数据库中确定目标指纹图像,其中,目标指纹图像的特征向量与待检索指纹图像的特征向量之间的余弦相似度大于预设余弦相似度阈值的方式,通过确定待检索指纹图像的细节点分布和方向图,并通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图来得到待检索指纹图像的特征向量,达到了无需人工标注即可根据细节点信息得到待检索指纹图像的特征向量的目的,从而实现了提高检索效率的技术效果,进而解决了由于相关技术中采用手工设计待检索指纹图像的特征向量的方式导致的指纹检索效率低技术问题。
[0088]
为了验证本技术所提供的指纹检索方法是否可以有效地提高指纹检索的效率和准确率,在本技术实施例中还采用了多组指纹数据集(如滚动指纹数据集rfd和扩展滚动指纹数据集erfd)对采用本技术实施例提供的指纹检索方法进行的验证。
[0089]
需要说明的是,相关技术中在验证检索效果时通常采用的指标是给定渗透率下的错误率。但是该指标不能够全面体现检索效果,因此本技术实施例中提供了指纹识别的top-k精度作为性能指标。经过测试,本技术实施例所提供的检索方法在检索精度方面优于相关技术中的指纹检索方法,并且生成各个指纹的特征向量时所用的时长约为30ms,显著优于相关技术。
[0090]
本技术实施例提供了一种指纹检索装置,图7是该装置的结构示意图,如图7所示,该装置包括第一处理模块70,用于确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;第二处理模块72,用于通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;第三处理模块74,用于依据特征向量在指纹数据库中确定候选指纹图像集合。
[0091]
在本技术的一些实施例中,细节点分布和方向图包括第一通道和第二通道;第一处理模块70确定待检索指纹图像的细节点分布和方向图的步骤包括:确定待检索指纹图像中的细节点的位置信息和方向信息;依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量。
[0092]
在本技术的一些实施例中,第一处理模块70依据细节点的位置信息,确定细节点分布和方向图中的任意一个像素点在第一通道上的第一分量,以及任意一个像素点在第二通道上的第二分量的步骤包括:依据细节点在待检索指纹图像中的位置信息确定细节点在细节点分布和方向图中的位置信息;依据细节点的位置信息和细节点的方向信息,计算目标像素点和细节点之间的曼哈顿距离,其中,目标像素点为细节点分布和方向图中的任意一个像素点;依据目标像素点对应的曼哈顿距离和细节点的方向信息,确定目标像素点在第一通道上的第一分量和第二通道上的第二分量。
[0093]
在本技术的一些实施例中,第一处理模块70依据目标像素点对应的曼哈顿距离和细节点的方向信息,确定目标像素点在第一通道上的第一分量和第二通道上的第二分量的步骤包括:确定细节点对应的细节点掩膜,并依据细节点掩膜确定预设距离阈值;在曼哈顿距离大于预设距离阈值的情况下,确定目标像素点的第一分量和第二分量均为零;在曼哈顿距离不大于预设距离阈值的情况下,依据细节点的方向信息和第一通道的通道标号确定第一分量,以及依据细节点的方向信息和第二通道的通道标号确定第二分量。
[0094]
在本技术的一些实施例中,指纹特征提取神经网络模型包括特征提取层,特征融合层和映射模块,其中,特征提取层中包括多个特征提取模块,多个特征提取模块中的每个特征提取模块由多个残差模块组成,用于依据细节点分布和方向图提取待检索指纹图像的特征图,并且每个特征提取模块提取的特征图的分辨率不同;特征融合层用于将每个特征提取模块提取的除第一特征图和第二特征图之外的特征图进行融合,得到目标特征图,其中,第一特征图为每个特征提取模块提取的分辨率最高的特征图,第二特征图为每个特征提取模块提取的分辨率第二高的特征图;映射模块,用于依据目标特征图确定待检索指纹图像的特征向量。
[0095]
在本技术的一些实施例中,指纹检索装置依据目标特征图确定待检索指纹图像的特征向量的步骤包括:对目标特征图进行图像分割处理,得到目标特征图矩阵,其中,目标特征图矩阵中的元素与目标特征图中的像素一一对应,依据目标特征图矩阵和目标特征图,得到待检索指纹图像的初始特征向量;对初始特征向量进行归一化处理,并将归一化处理后的初始特征向量作为待检索指纹图像的特征向量。
[0096]
在本技术的一些实施例中,指纹特征提取神经网络通过以下方式训练得到:确定关键网络和查询网络,其中,关键网络和查询网络为模型结构相同的编码器,并且关键网络和查询网络的模型结构与指纹特征提取神经网络的模型结构相同;对查询网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据查询网络的模型参数,采用指数平均移动的方式对关键网络进行训练;在训练完成后,保留查询网络作为指纹特征提取神经网络。
[0097]
在本技术的一些实施例中,对关键网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据查询网络的模型参数,采用指数平均移动的方式对关键网络进行训练的步骤包括:在每次更新关键网络和查询网络的模型参数后,获取关键网络输出的第一
特征序列和查询网络输出的第二特征序列;依据第一特征序列和第二特征序列确定关键网络和查询网络的三元组损失;依据三元组损失确定关键网络和查询网络是否收敛,并在确认关键网络和查询网络收敛后,确认训练完成。
[0098]
需要说明的是,上述指纹检索装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
[0099]
本技术实施例提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行如下指纹检索方法:确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;依据特征向量在指纹数据库中确定候选指纹图像集合。
[0100]
本技术实施例提供了一种电子设备,电子设备包括处理器和存储器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行如下指纹检索方法:确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;依据特征向量在指纹数据库中确定候选指纹图像集合。
[0101]
本技术实施例提供了一种计算机程序,可被电子设备中的处理器运行,并在运行时控制电子设备执行如下指纹检索方法:确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;依据特征向量在指纹数据库中确定候选指纹图像集合。
[0102]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0103]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0104]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0105]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0106]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种指纹检索方法,其特征在于,包括:确定待检索指纹图像的细节点分布和方向图,其中,所述细节点分布和方向图用于体现所述待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理所述待检索指纹图像和所述细节点分布和方向图,得到所述待检索指纹图像的特征向量,其中,所述特征向量的长度为预设长度;依据所述特征向量在指纹数据库中确定候选指纹图像集合。2.根据权利要求1所述的指纹检索方法,其特征在于,所述细节点分布和方向图包括第一通道和第二通道;所述确定待检索指纹图像的细节点分布和方向图的步骤包括:确定所述待检索指纹图像中的所述细节点的位置信息和方向信息;依据所述细节点的位置信息,确定所述细节点分布和方向图中的任意一个像素点在所述第一通道上的第一分量,以及所述任意一个像素点在所述第二通道上的第二分量。3.根据权利要求2所述的指纹检索方法,其特征在于,所述依据所述细节点的位置信息,确定所述细节点分布和方向图中的任意一个像素点在所述第一通道上的第一分量,以及所述任意一个像素点在所述第二通道上的第二分量的步骤包括:依据所述细节点在所述待检索指纹图像中的位置信息确定所述细节点在所述细节点分布和方向图中的位置信息;依据所述细节点的位置信息和所述细节点的方向信息,计算目标像素点和所述细节点之间的曼哈顿距离,其中,所述目标像素点为所述细节点分布和方向图中的任意一个像素点;依据所述目标像素点对应的所述曼哈顿距离和所述细节点的方向信息,确定所述目标像素点在所述第一通道上的第一分量和所述第二通道上的第二分量。4.根据权利要求3所述的指纹检索方法,其特征在于,所述依据所述目标像素点对应的所述曼哈顿距离和所述细节点的方向信息,确定所述目标像素点在所述第一通道上的第一分量和所述第二通道上的第二分量的步骤包括:确定所述细节点对应的细节点掩膜,并依据所述细节点掩膜确定预设距离阈值;在所述曼哈顿距离大于所述预设距离阈值的情况下,确定所述目标像素点的所述第一分量和所述第二分量均为零;在所述曼哈顿距离不大于所述预设距离阈值的情况下,依据所述细节点的方向信息和所述第一通道的通道标号确定所述第一分量,以及依据所述细节点的方向信息和所述第二通道的通道标号确定所述第二分量。5.根据权利要求1所述的指纹检索方法,其特征在于,所述指纹特征提取神经网络模型包括特征提取层,特征融合层和映射模块,其中,所述特征提取层中包括多个特征提取模块,所述多个特征提取模块中的每个特征提取模块由多个残差模块组成,用于依据所述细节点分布和方向图提取所述待检索指纹图像的特征图,并且每个所述特征提取模块提取的所述特征图的分辨率不同;所述特征融合层用于将每个所述特征提取模块提取的除第一特征图和第二特征图之外的特征图进行融合,得到目标特征图,其中,所述第一特征图为所述每个特征提取模块提取的分辨率最高的特征图,所述第二特征图为所述每个特征提取模块提取的分辨率第二高的特征图;
所述映射模块,用于依据所述目标特征图确定所述待检索指纹图像的所述特征向量。6.根据权利要求5所述的指纹检索方法,其特征在于,所述依据所述目标特征图确定所述待检索指纹图像的所述特征向量的步骤包括:对所述待检索指纹图像进行图像分割处理,得到目标特征图矩阵;依据所述目标特征图矩阵和所述目标特征图,得到所述待检索指纹图像的初始特征向量;对所述初始特征向量进行归一化处理,并将归一化处理后的所述初始特征向量作为所述待检索指纹图像的所述特征向量。7.根据权利要求1所述的指纹检索方法,其特征在于,所述指纹特征提取神经网络通过以下方式训练得到:确定关键网络和查询网络,其中,所述关键网络和所述查询网络为模型结构相同的编码器,并且所述关键网络和所述查询网络的模型结构与所述指纹特征提取神经网络的模型结构相同;对所述查询网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据所述查询网络的模型参数,采用指数平均移动的方式对所述关键网络进行训练;在训练完成后,保留所述查询网络作为所述指纹特征提取神经网络。8.根据权利要求7所述的指纹检索方法,其特征在于,所述对所述关键网络采用梯度传播更新的方式进行训练,并在每次训练完成后,依据所述关键网络的模型参数,采用指数平均移动的方式对所述查询网络进行训练的步骤包括:在每次更新所述关键网络和所述查询网络的模型参数后,获取所述关键网络输出的第一特征序列和所述查询网络输出的第二特征序列;依据所述第一特征序列和所述第二特征序列确定所述关键网络和所述查询网络的三元组损失;依据所述三元组损失确定所述关键网络和所述查询网络是否收敛,并在确认所述关键网络和所述查询网络收敛后,确认训练完成。9.一种指纹检索装置,其特征在于,包括:第一处理模块,用于确定待检索指纹图像的细节点分布和方向图,其中,所述细节点分布和方向图用于体现所述待检索指纹图像中的细节点的分布信息和方向信息;第二处理模块,用于通过指纹特征提取神经网络处理所述待检索指纹图像和所述细节点分布和方向图,得到所述待检索指纹图像的特征向量,其中,所述特征向量的长度为预设长度;第三处理模块,用于依据所述特征向量在指纹数据库中确定候选指纹图像集合。10.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至8中任意一项所述的指纹检索方法。11.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的指纹检索方法。

技术总结
本申请公开了一种指纹检索方法、装置、非易失性存储介质及电子设备。其中,该方法包括:确定待检索指纹图像的细节点分布和方向图,其中,细节点分布和方向图用于体现待检索指纹图像中的细节点的分布信息和方向信息;通过指纹特征提取神经网络处理待检索指纹图像和细节点分布和方向图,得到待检索指纹图像的特征向量,其中,特征向量的长度为预设长度;依据特征向量在指纹数据库中确定候选指纹图像集合。本申请解决了由于相关技术中采用手工设计待检索指纹图像的特征向量的方式导致的指纹检索效率低的技术问题。效率低的技术问题。效率低的技术问题。


技术研发人员:吴嵩 封举富 王政 贾泽西 黄传崴 费鸿炎
受保护的技术使用者:北京大学
技术研发日:2023.07.27
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐