CN104112005B - 分布式海量指纹识别方法 - Google Patents

分布式海量指纹识别方法 Download PDF

Info

Publication number
CN104112005B
CN104112005B CN201410335450.6A CN201410335450A CN104112005B CN 104112005 B CN104112005 B CN 104112005B CN 201410335450 A CN201410335450 A CN 201410335450A CN 104112005 B CN104112005 B CN 104112005B
Authority
CN
China
Prior art keywords
construction
characteristic vector
bucket
image
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410335450.6A
Other languages
English (en)
Other versions
CN104112005A (zh
Inventor
段翰聪
梁尧
张苗
张�杰
李晓东
孟庆康
刘威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201410335450.6A priority Critical patent/CN104112005B/zh
Publication of CN104112005A publication Critical patent/CN104112005A/zh
Application granted granted Critical
Publication of CN104112005B publication Critical patent/CN104112005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction

Abstract

本发明公开了一种分布式海量指纹识别方法,解决现有技术无法快速对海量指纹进行实时查询的问题。本发明的识别方法主要是先构建分布式索引,然后再通过分布式检索的形式检索待检索的指纹,具体则是将索引的构造和检索放到多个计算节点上并行执行,提高了索引构造和检索的效率,同时解决了高维描述符表示下索引计算开销大的问题。

Description

分布式海量指纹识别方法
技术领域
本发明涉及指纹识别,具体涉及一种分布式海量指纹识别方法。
背景技术
随着计算机图像处理和模式识别等相关技术的不断发展,生物识别技术得到了越来越广泛的应用。所有可用于识别的生物特征,比如指纹、声音、视网膜、DNA、人脸等,指纹是最被广泛应用的生物特征,据统计占到生物识别市场份额的50%以上。指纹具有唯一性、终生不变性、便于采用及可靠性高等优点,已经成为个人身份认证最有效的手段之一,是具有法律效力的生物特征
指纹识别系统的用途主要有两类:验证(Verification)和辨识(Identification)。验证就是指通过把一个现场采集到的指纹与一个已经登记的指纹进行一对一的对比(one-to-one matching),来确认身份的过程。而辨识则指的是把现场采集到的指纹同指纹数据库中的指纹逐一对比,从中找出与现场指纹相匹配的指纹的过程(one-to-many matching)。验证和辨识在匹配算法和系统设计上各具技术特点。例如验证系统一般只考虑对完整的指纹进行比对,而辨识系统还需要考虑残纹的比对;验证系统对比对算法的速度要求不如辨识系统高,但更强调易用性;另外在辨识系统中,一般要使用分类计数来加快查询的速度。
目前,指纹识别技术已经日趋成熟,优秀的指纹识别算法不断地被提出,但是绝大多数都是只关注了如何提高匹配的准确率,而忽略了匹配的时间开销,换句话说,它们并没有在海量数据下考虑问题。这样就导致了海量指纹数据下的识别是一个极具挑战性的课题,存在的问题有:
(1)在算法上需要一种能够对指纹数据分类或者建立索引的解决方法,从而能够加快指纹的识别;
(2)单节点的计算能力有限,不满足海量数据下实时查询的需求;
(3)如果采用分布式实现,怎么样才能充分的使整个指纹识别过程并行,从而能够快速的返回结果。
发明内容
本发明的目的在于提供一种分布式海量指纹识别方法,解决现有技术无法快速对海量指纹进行实时查询的问题。
为了实现上述目的,本发明采用的技术方案如下:
分布式海量指纹识别方法,包括分布式索引构造步骤:
A、管理端将训练图像集经上传节点上传到云存储系统中,上传完成后向主节点发起索引构造任务(此时指纹图像已经散列到了多个构造/查询节点上);
B、主节点拆分构造任务(按照构造/查询节点的个数,将图像集均分到各个构造子任务中,每个构造/查询节点负责一个构造子任务),并将拆分后的构造子任务下发给各个构造/查询节点;
C、构造/查询节点收到任务后,对任务中包含的指纹图像集提取特征向量,并将这些特征向量存储到云存储系统中,同时将特征向量的key(唯一标识一个特征向量)与指纹图像间的关系存储到局部“<特征向量key,图像名>”关系map(关系映像)中;
D、对每一个特征向量V,计算gj(V)(j=1,2,...L)得到哈希值(二进制串),然后计算哈希值得到对应数值h,然后将特征向量V的key放到哈希表j的桶h(h=1,2,...M)中;其中,一个哈希表是由一个哈希函数决定,一个哈希表由多个桶组成,每个特征向量由哈希函数计算后都会得到一个子串(哈希函数将高纬二进制串表示形式的特征向量变为低纬),计算该二进制子串对应的数值(如:101对应5)就是桶的编号即h,哈希值相同的向量会被放在同一个桶中;
E、上一阶段执行完后,分别对每一个哈希表j(j=1,2,...L)中的每一个桶h(h=1,2,...M),计算j和h的乘积:r=j*h,接着计算哈希值H(r),哈希函数定义为:H(key)=keyMod(p)(p≤key)(p为系统中构造/查询节点个数);接着将数字j和h拼接为字符串s(如:j=10,h=1024,那么字符串s为“101024”),该字符串唯一标识一个桶;然后将该桶以“<字符串s,特征向量key集合>”的形式经由网络发送给H(r)对应的构造/查询节点;当所有的桶都根据哈希值放到对应的节点后,构造子任务结束;
F、构造/查询节点在构造子任务完成后,将完成消息报告给主节点,该消息中包含之前步骤中得到的局部“<特征向量key,图像名>”关系map;当所有构造/查询节点都成功返回后,主节点合并局部“<特征向量key,图像名>”关系map得到全局的“<特征向量key,图像名>”关系map;至此,构造任务完成,索引构造流程结束。
分布式指纹检索步骤:
a、客户端向网关发送图像检索请求(请求中包含待检索指纹图像);
b、网关收到请求后,对待检索的指纹图像提取特征向量,并形成检索任务下发到主节点上;
c、主节点收到检索任务后,将待检索指纹图像的每一个特征向量计算gj(V)(j=1,2,...L)得到哈希值,然后根据哈希值和哈希扰动向量组(根据哈希值中二进制位数,使用第三方库自动生成)计算得到桶编号h(h=1,2,...M);接着如上述构造流程中(5)步骤一样:首先计算H(j*h)得到该特征向量对应的桶所在的构造/查询节点;然后,将数字j和h拼接为字符串s,标志出该桶;然后,主节点将包含特征向量和字符串s的检索子任务发送给H(j*h)对应的节点(每个特征向量对应一个子任务);
d、构造/查询节点收到检索子任务后,根据任务中桶的标识找到对应桶,并根据该哈希桶中存放的特征向量的key,将这些特征向量从云存储系统中读出;接着让待检索特征向量与桶中的特征向量集做海明距离计算,过滤掉不满距离条件的特征向量;任务完成后向主节点返回成功消息(消息中包含满足距离条件的特征向量的key);
e、主节点收到所有构造/查询节点的回复消息后,根据消息中特征向量的key,查找全局“<特征向量key,图像名>”关系map,找出满足条件的特征向量对应的图像名,接着以“<图像名,命中次数>”的形式记录该结果(命中次数初始化为1,如果后面出现相同的图像名则命中次数加1);然后按照命中次数对结果进行排序(命中次数越多表示越相似),最后选出前k个图像名作为检索结果返回给客户端。
本发明与现有技术相比,具有以下优点及有益效果:
本发明将索引的构造和检索放到多个计算节点上并行执行,提高了索引构造和检索的效率,同时解决了高维描述符表示下索引计算开销大的问题。
附图说明
图1为细节点柱形结构示意图一。
图2为细节点柱形结构示意图二。
图3为柱形结构中空间坐标相邻的细节点示意图。
图4为函数1-(1-sr)b曲线图。
图5为Multi-Probe LSH检索关键流程图。
图6为Multi-Probe LSH索引构造总体流程图。
图7为Multi-Probe LSH图像检索总体流程图。
图8为本发明分布式索引构造系统架构图。
图9为本发明分布式检索系统框架图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
细节点柱状编码:
2010年,Cappelli等人提出了一种新的指纹特征描述符,即细节点柱形编码(minutia cylinder-code,MCC),将指纹特征的描述方式由传统的二维扩展到了三维,是近年来提出的十分杰出的指纹特征描述方式,并且已经取得了很好的实验和工程效果。如图1~3所示,柱状编码中每个局部结构都是由中心细节点周围的一个半径为R,高度为2π的柱形来表示,柱形中各个小长方体的值由该结构中的其它指纹细节点所决定,表示在该长方体所确定的范围内特征点出现的可能性。这种结构具有旋转、平移不变性,以及固定维数、固定位数等优点,有利于局部结构相似性的度量,从而方便指纹图像间的匹配。由于MCC的表示方式是高纬二进制串(1280bit),所以我们可以选用LSH算法来对其建立索引。
传统LSH:
局部敏感哈希(Locality Sensitive Hashing,LSH)方法最早由E.Indyk和R.Motwani提出后被A.Gionis等人改进。LSH的核心是设计一套哈希函数,将原本相似的项经过这套哈希函数以更大的概率映射到相同的桶中。下面我们形式化描述局部敏感哈希。
一个函数簇H(h1,h2,…)是局部敏感的,必须满足下面条件:
若空间中两个点p和q之间的距离D(p,q)<r1,则Pr(h(p)=h(q))>p1
若空间中两个点p和q之间的距离D(p,q)>r2,则Pr(h(p)=h(q))<p2
当r1<r2,p1>p2
其中D(p,q)表示p与q之间的距离(如:欧式距离、海明距离、曼哈顿距离等),Pr表示概率。
下面我们阐述海明空间下的局部敏感哈希的构建:
假设我们所需要处理的数据点是二进制串,点p和q之间的距离衡量使用的海明距离。我们可以构建函数簇H:{0,1}d→{0,1},H将输入点映射为0或者1,即输入点某个下标上的值。H函数簇为hi(p)=pi。(pi表示点p第i个下标上的值)。
我们可以证明上面设计的函数簇是局部敏感的。通过函数hi(p)=pi将p和q映射到相同桶的概率为p和q中相同的位数。假设p和q的距离为r1同理p和q的距离为r2当r1<r2,显然
下面我们给出算法的形式化描述,并证明该算法是有效的:
假定我们需要处理的数据维度为d,数据量为n,建立l个哈希表,即每个哈希表对应一个哈希函数gi(p),每个哈希函数gi(p)随机选择d中k位。LSH函数簇定义为hi(p)=pi,函数gi(p)定义为:
分别选自LSH函数簇hi(p)=pi。对于n个数据点,分别用hash函数计算,并根据结果存入l个哈希表对应的桶中。当给定一个查询点q时,分别计算gi(q)(i=1,2,...l),并从l个哈希表对应的桶中将对应的数据取出作为候选点,然后在这些候选点中计算距离,最终得到距离最小即最相似的点。
我们简单证明下上述算法的有效性。假定点p和点q之间的海明距离为R。根据定义如果||p-q||≤R,那么Pr|h(p)=h(q)|≥P1。对于任意的函数g,gi(p)=gi(q)的概率大于等于P1 k。那么,对于l个哈希表,只要有一个哈希表将p和q映射到相同桶的概率为1-(1-P1 k)l。根据图4所示,1-(1-P1 k)l是一个S曲线,只要选择合适的k和l,我们就可以把相似项映射到相同桶的概率提高到足够大。
Multi-Probe LSH:
Qin Lv等人在2007年提出了Multi-Probe LSH算法,它在保证检索精度的情况下,通过减少哈希表的数目来降低内存开销,同时提高检索效率。Multi-Probe LSH算法的优化主要在检索过程,其流程如图5所示,在一次检索过程中,Multi-Probe LSH使用一组哈希扰动向量来探测一个哈希表的多个桶。gi表示查询向量q在第i个哈希表的哈希值,Δp表示第p个哈希扰动向量。
单机索引构造流程:
Multi-Probe LSH索引构造流程如图6所示。
(1)从训练图像集中选取训练指纹图像;
(2)提取指纹图像的特征向量集,然后将特征向量与图像之间的关系存入“特征向量-图像”关系map中;
(3)对每一个特征向量V,计算gj(v)(j=1,2,…,L)得到哈希值,然后计算哈希值得到h(h=1,2,…,M),然后将特征向量V存到哈希表j的桶h中;
(4)重复(1)~(3)步骤,直到训练图像集中的图像训练完为止。
单机指纹检索流程:
Multi-Probe LSH图像检索流程如图7所示。
(1)对检索指纹图像提取特征向量集;
(2)对每一个特征向量qi(i=1,2,…,n),计算gj(qi)(j=1,2…,L);
(3)对哈希扰动向量组(Δ12,…,ΔN)中的每个向量Δk(k=1,2,…,N),计算向量gj(qi)+Δk对应的数值h,从而定位到哈希表j的桶h中,将特征向量qi与桶h中特征向量集计算海明距离,过滤掉不满足条件的特征向量,得到候选特征向量集;
(4)根据候选特征向量集,查找“特征向量-图像”关系map找到对应的图像集,以“<图像名,命中次数>”的形式记录该结果(命中次数初始化为1,如果后面出现相同的图像名则命中次数加1);
(5)重复(2)~(4)步骤,直到中每个特征向量都检索完成为止;
(6)按照命中次数对结果进行排序(命中次数越多表示越相似),最后选出前k个图像名作为检索结果返回给客户端。
以上介绍的方法,实现了在单机环境下对指纹特征建立索引,从而完成指纹图像快速识别的过程。但对于海量的指纹数据来说,是不适合的,因为一般情况下,单机环境下存放不了海量的指纹数据(TB级),并且,即使在单机环境下对海量指纹数据建立好了索引,由于数据量的庞大,查询仍然是一个非常耗时的过程。所以对于海量指纹数据的识别,采用现有的技术是无法快速识别的。
本发明的分布式海量指纹识别方法则能够在海量指纹数据下快速识别。如图8、图9所示,分布式索引构造系统和索引检索系统均采用主从式(Master/Slave)树形架构。其中,数据处理任务主要由从节点完成,包括构造阶段指纹图像特征的提取以及LSH索引构造,以及检索阶段海明距离的计算等;主节点则主要负责任务的调度和控制,;图中的云存储系统是第三方的分布式文件系统(如:HDFS等),该系统部署在构造/查询节点上,我们使用它来存储指纹图像以及指纹的特征文件,同时方便多节点的数据共享。
在LSH索引构建过程中,时间和空间消耗主要集中在图像特征向量提取和索引创建两个过程,故索引构造系统的分布式主要集中在图像特征向量的提取和索引的创建这两个过程;而在检索过程中,由于数据量的庞大,时间的消耗主要是在和候选特征集的比较过程,故检索系统的分布式化主要表现在比较过程的多节点并行执行上。
故而本申请分布式索引构建流程如下:
(1)管理端将训练图像集经上传节点上传到云存储系统中,上传完成后向主节点发起索引构造任务。(此时指纹图像已经散列到了多个构造/查询节点上);
(2)主节点拆分构造任务(按照构造/查询节点的个数,将图像集均分到各个构造子任务中,每个构造/查询节点负责一个构造子任务),并将拆分后的构造子任务下发给各个构造/查询节点。
(3)构造/查询节点收到任务后,对任务中包含的指纹图像集提取特征向量,并将这些特征向量存储到云存储系统中,同时将特征向量的key(唯一标识一个特征向量)与指纹图像间的关系存储到局部“<特征向量key,图像名>”关系map中;
(4)对每一个特征向量V,计算gj(V)(j=1,2,...L)得到哈希值(二进制串),然后计算哈希值得到对应数值h,然后将特征向量V的key放到哈希表j的桶h(h=1,2,...M)中;其中,本发明使用的哈希函数gj(V)(j=1,2,...L)的生成方法与基于海明距离的传统LSH中生成哈希函数的方法相同,故而不在此赘述;
(5)上一阶段执行完后,分别对每一个哈希表j(j=1,2,...L)中的每一个桶h(h=1,2,...M),计算j和h的乘积:r=j*h,接着计算哈希值H(r),哈希函数定义为:H(key)=keyMod(p)(p≤key)(p为系统中构造/查询节点个数);接着将数字j和h拼接为字符串s(如:j=10,h=1024,那么字符串s为“101024”),该字符串唯一标识一个桶;然后将该桶以“<字符串s,特征向量key集合>”的形式经由网络发送给H(r)对应的构造/查询节点。当所有的桶都根据哈希值放到对应的节点后,构造子任务结束。
(6)构造/查询节点在构造子任务完成后,将完成消息报告给主节点,该消息中包含之前步骤中得到的局部“<特征向量key,图像名>”关系map。当所有构造/查询节点都成功返回后,主节点合并局部“<特征向量key,图像名>”关系map得到全局的“<特征向量key,图像名>”关系map。至此,构造任务完成,索引构造流程结束。
本申请分布式指纹检索流程如下:
(1)客户端向网关发送图像检索请求(请求中包含待检索指纹图像);
(2)网关收到请求后,对待检索的指纹图像提取特征向量,并形成检索任务下发到主节点上;
(3)主节点收到检索任务后,将待检索指纹图像的每一个特征向量计算gj(V)(j=1,2,...L)得到哈希值,然后根据哈希值和哈希扰动向量组计算得到桶编号h(h=1,2,...M)。接着如上述构造流程中(5)步骤一样:首先计算H(j*h)得到该特征向量对应的桶所在的构造/查询节点;然后,将数字j和h拼接为字符串s,标志出该桶。然后,主节点将包含特征向量和字符串s的检索子任务发送给H(j*h)对应的节点(每个特征向量对应一个子任务);
(4)构造/查询节点收到检索子任务后,根据任务中桶的标识找到对应桶,并根据该哈希桶中存放的特征向量的key,将这些特征向量从云存储系统中读出;接着让待检索特征向量与桶中的特征向量集做海明距离计算,过滤掉不满距离条件的特征向量;任务完成后向主节点返回成功消息(消息中包含满足距离条件的特征向量的key);
(5)主节点收到所有构造/查询节点的回复消息后,根据消息中特征向量的key,查找全局“<特征向量key,图像名>”关系map,找出满足条件的特征向量对应的图像名,接着以“<图像名,命中次数>”的形式记录该结果(命中次数初始化为1,如果后面出现相同的图像名则命中次数加1)。然后按照命中次数对结果进行排序(命中次数越多表示越相似),最后选出前k个图像名作为检索结果返回给客户端。
本发明通过上述方法对海量指纹进行识别,能够提高检索的效率,同时解决了高维描述符表示下索引计算开销大的问题。
按照上述实施例,便可很好地实现本发明。值得说明的是,基于上述结构设计的前提下,为解决同样的技术问题,即使在本发明上做出的一些无实质性的改动或润色,所采用的技术方案的实质仍然与本发明一样,故其也应当在本发明的保护范围内。

Claims (4)

1.分布式海量指纹识别方法,其特征在于,包括以下步骤:
(1)构造分布式索引;
(2)分布式检索待识别指纹;
其中,所述构造分布式索引的步骤如下:
A、将训练图像集上传到云存储系统中,上传完成后向主节点发起索引构造任务;
B、主节点拆分构造任务,并将拆分后的构造子任务下发给各个构造/查询节点;
C、构造/查询节点收到任务,对任务中包含的指纹图像集提取特征向量V,并将这些特征向量存储到云存储系统中;同时对每个特征向量V指定一个唯一标识key,并将每个特征向量的key与指纹图像间的关系存储到关系映射中;
D、对每一个特征向量V,通过执行哈希函数并计算哈希值得到h,然后将特征向量V的key存到哈希表j的桶h中;
E、对每一个哈希表j中的每一个桶h,计算j和h的乘积:r=j*h,接着计算哈希值H(r),接着将数字j和h拼接为字符串s,该字符串唯一标识一个桶,然后将该桶发送给H(r)对应的构造/查询节点,构造子任务结束;
F、构造/查询节点在构造子任务完成后,将完成消息报告给主节点,至此,构造任务完成,索引构造流程结束。
2.根据权利要求1所述的分布式海量指纹识别方法,其特征在于,所述分布式检索待识别指纹的步骤如下:
a、客户端向网关发送图像检索请求;
b、网关收到请求后,对待检索的指纹图像提取特征向量,并形成检索任务下发到主节点上;
c、主节点收到检索任务后,将待检索指纹图像的每一个特征向量通过哈希函数计算得到哈希值,然后根据哈希值和哈希扰动向量组计算得到桶编号h;接着计算H(j*h)得到该特征向量对应的桶所在的构造/查询节点;然后,将数字j和h拼接为字符串s,标志出该桶;随后主节点将包含特征向量和字符串s的检索子任务发送给H(j*h)对应的构造/查询节点;
d、构造/查询节点收到检索子任务后,根据任务中的桶的标识找到对应桶,并根据该哈希桶中存放的特征向量的key,将这些特征向量从云存储系统中读出,接着让待检索特征向量与桶中的特征向量集做海明距离计算,过滤掉不满距离条件的特征向量,任务完成后向主节点返回成功消息;
e、主节点收到所有构造/查询节点的回复消息后,根据消息中特征向量的key,找出满足条件的特征向量,并按照命中次数对结果进行排序,最后选出前k个图像名作为检索结果返回给客户端。
3.根据权利要求2所述的分布式海量指纹识别方法,其特征在于,所述构造分布式索引的具体步骤如下:
A、管理端将训练图像集经上传节点上传到云存储系统中,上传完成后向主节点发起索引构造任务;
B、主节点拆分构造任务,也就是按照构造/查询节点的个数,将图像集均分到各个构造子任务中,每个构造/查询节点负责一个构造子任务,并将拆分后的构造子任务下发给各个构造/查询节点;
C、构造/查询节点收到任务后,对任务中包含的指纹图像集提取特征向量,并将这些特征向量集存储到云存储系统中,同时对每个特征向量V指定一个唯一标识key,并将特征向量的key与指纹图像间的关系存储到局部“<特征向量key,图像名>”关系映射中;
D、对每一个特征向量V,通过执行哈希函数并计算哈希值得到h,然后将特征向量V的key存到哈希表j的桶h中;
E、分别对每一个哈希表j中的每一个桶h,计算j和h的乘积:r=j*h,接着计算哈希值H(r);接着将数字j和h拼接为字符串s,该字符串唯一标识一个桶;然后将该桶以“<字符串s,特征向量key集合>”的形式经由网络发送给H(r)对应的构造/查询节点;当所有的桶都根据哈希值放到对应的节点后,构造子任务结束;
F、构造/查询节点在构造子任务完成后,将完成消息报告给主节点,该消息中包含之前步骤中得到的局部“<特征向量key,图像名>”关系映像,当所有构造/查询节点都成功返回后,主节点合并局部“<特征向量key,图像名>”关系映像得到全局的“<特征向量key,图像名>”关系映像,至此,构造任务完成,索引构造流程结束。
4.根据权利要求3所述的分布式海量指纹识别方法,其特征在于,所述分布式检索待识别指纹的步骤如下:
a、客户端向网关发送图像检索请求;
b、网关收到请求后,对待检索的指纹图像提取特征向量,并形成检索任务下发到主节点上;
c、主节点收到检索任务后,将待检索指纹图像的每一个特征向量通过哈希函数计算得到哈希值,然后根据哈希值和哈希扰动向量组计算得到桶编号h;接着计算H(j*h)得到该特征向量对应的桶所在的构造/查询节点,将数字j和h拼接为字符串s,标志出该桶;然后,主节点将包含特征向量和字符串s的检索子任务发送给H(j*h)对应的节点;
d、构造/查询节点收到检索子任务后,根据任务中桶的标识找到对应桶,并根据该哈希桶中存放的特征向量的key,将这些特征向量从云存储系统中读出;接着让待检索特征向量与桶中的特征向量集做海明距离计算,过滤掉不满距离条件的特征向量;任务完成后向主节点返回成功消息;
e、主节点收到所有构造/查询节点的回复消息后,根据消息中特征向量的key,查找全局“<特征向量key,图像名>”关系map,找出满足条件的特征向量对应的图像名,接着以“<图像名,命中次数>”的形式记录该结果;然后按照命中次数对结果进行排序,最后选出前k个图像名作为检索结果返回给客户端。
CN201410335450.6A 2014-07-15 2014-07-15 分布式海量指纹识别方法 Active CN104112005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410335450.6A CN104112005B (zh) 2014-07-15 2014-07-15 分布式海量指纹识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410335450.6A CN104112005B (zh) 2014-07-15 2014-07-15 分布式海量指纹识别方法

Publications (2)

Publication Number Publication Date
CN104112005A CN104112005A (zh) 2014-10-22
CN104112005B true CN104112005B (zh) 2017-05-10

Family

ID=51708796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410335450.6A Active CN104112005B (zh) 2014-07-15 2014-07-15 分布式海量指纹识别方法

Country Status (1)

Country Link
CN (1) CN104112005B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700103A (zh) * 2015-04-03 2015-06-10 广东同盛联合信息技术有限公司 一种应用于多生物特征识别的智能身份认证通道的指纹比对方法
CN104933411A (zh) * 2015-06-16 2015-09-23 迪安杰科技无锡有限公司 指纹识别处理方法及系统
CN105930478B (zh) * 2016-05-03 2019-04-19 福州市勘测院 基于要素对象空间信息指纹的空间数据变化捕获方法
CN106951865B (zh) * 2017-03-21 2020-04-07 东莞理工学院 一种基于海明距离的隐私保护生物识别方法
CN108959441A (zh) * 2018-06-13 2018-12-07 新华智云科技有限公司 一种基于局部敏感哈希的近相似快速查找方法
CN109376256B (zh) * 2018-09-29 2021-03-26 京东方科技集团股份有限公司 图像搜索方法及装置
CN111324767A (zh) * 2020-02-17 2020-06-23 厦门快商通科技股份有限公司 一种分布式音频指纹引擎系统
CN111738194B (zh) * 2020-06-29 2024-02-02 深圳力维智联技术有限公司 一种用于人脸图像相似性的评价方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535322A (en) * 1992-10-27 1996-07-09 International Business Machines Corporation Data processing system with improved work flow system and method
CN1363910A (zh) * 2001-01-10 2002-08-14 仁宝电脑工业股份有限公司 指纹识别热键系统
CN1439997A (zh) * 2002-02-22 2003-09-03 杭州中正生物认证技术有限公司 指纹识别方法与系统
CN1527224A (zh) * 2003-03-06 2004-09-08 联想(北京)有限公司 移动式身份识别方法及识别系统
CN1628302A (zh) * 2002-02-05 2005-06-15 皇家飞利浦电子股份有限公司 指纹的有效存储器
US7363329B1 (en) * 2007-11-13 2008-04-22 International Business Machines Corporation Method for duplicate detection on web-scale data in supercomputing environments

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745194B2 (en) * 2000-08-07 2004-06-01 Alta Vista Company Technique for deleting duplicate records referenced in an index of a database
US20080288504A1 (en) * 2007-05-17 2008-11-20 Fisher Iii William W Methods, media, and systems for recording and reporting content usage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535322A (en) * 1992-10-27 1996-07-09 International Business Machines Corporation Data processing system with improved work flow system and method
CN1363910A (zh) * 2001-01-10 2002-08-14 仁宝电脑工业股份有限公司 指纹识别热键系统
CN1628302A (zh) * 2002-02-05 2005-06-15 皇家飞利浦电子股份有限公司 指纹的有效存储器
CN1439997A (zh) * 2002-02-22 2003-09-03 杭州中正生物认证技术有限公司 指纹识别方法与系统
CN1527224A (zh) * 2003-03-06 2004-09-08 联想(北京)有限公司 移动式身份识别方法及识别系统
US7363329B1 (en) * 2007-11-13 2008-04-22 International Business Machines Corporation Method for duplicate detection on web-scale data in supercomputing environments

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于指纹识别技术的高校学生日常考勤系统;杜海舟;《上海电力学院学报》;20120915(第2期);全文 *
基于指纹识别的考生身份认证系统的设计;彭华;《电脑知识与技术》;20090915(第22期);全文 *

Also Published As

Publication number Publication date
CN104112005A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
CN104112005B (zh) 分布式海量指纹识别方法
US11048966B2 (en) Method and device for comparing similarities of high dimensional features of images
US8798357B2 (en) Image-based localization
Jin et al. Deep saliency hashing for fine-grained retrieval
CN111581354A (zh) 一种faq问句相似度计算方法及其系统
CN109885692A (zh) 知识数据存储方法、装置、计算机设备和存储介质
CN104765768A (zh) 海量人脸库的快速准确检索方法
Zhu et al. Exploring consistent preferences: discrete hashing with pair-exemplar for scalable landmark search
Liu et al. Towards optimal binary code learning via ordinal embedding
CN107291895B (zh) 一种快速的层次化文档查询方法
CN104715021A (zh) 一种基于哈希方法的多标记学习的设计方法
CN102693299A (zh) 一种并行视频拷贝检测系统和方法
Gao et al. Democratic diffusion aggregation for image retrieval
CN110969517B (zh) 一种招投标生命周期关联方法、系统、存储介质及计算机设备
CN104391908B (zh) 一种图上基于局部敏感哈希的多关键字索引方法
CN111125396B (zh) 一种单模型多分支结构的图像检索方法
Lin et al. Automatic tagging web services using machine learning techniques
Pang et al. Improving object retrieval quality by integration of similarity propagation and query expansion
CN109857892B (zh) 基于类标传递的半监督跨模态哈希检索方法
CN110209895B (zh) 向量检索方法、装置和设备
Magliani et al. An efficient approximate kNN graph method for diffusion on image retrieval
CN113392294B (zh) 样本标注方法及装置
CN104463864A (zh) 多级并行关键帧云提取方法及系统
Khurshid et al. Cross-view image retrieval-ground to aerial image retrieval through deep learning
CN108256086A (zh) 数据特征统计分析方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant