CN110929081A - 一种图片查询方法、计算机设备和存储介质 - Google Patents
一种图片查询方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110929081A CN110929081A CN201911195359.8A CN201911195359A CN110929081A CN 110929081 A CN110929081 A CN 110929081A CN 201911195359 A CN201911195359 A CN 201911195359A CN 110929081 A CN110929081 A CN 110929081A
- Authority
- CN
- China
- Prior art keywords
- picture
- feature vector
- normalized feature
- database
- query
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000013598 vector Substances 0.000 claims abstract description 116
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 14
- 238000010606 normalization Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 6
- 230000010076 replication Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 101100234408 Danio rerio kif7 gene Proteins 0.000 description 3
- 101100221620 Drosophila melanogaster cos gene Proteins 0.000 description 3
- 101100398237 Xenopus tropicalis kif11 gene Proteins 0.000 description 3
- 101150118300 cos gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种图片查询方法、计算机设备和存储介质,该方法包括分布式数据库的主节点接收来自查询方的查询请求,查询请求至少包括待查询图片的归一化特征向量;分布式数据库的主节点将查询请求路由至若干分布式数据库的从节点,以使得若干分布式数据库的从节点并行计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度;分布式数据库的主节点接收来自若干分布式数据库的从节点的计算结果,并将计算结果返回给查询方。通过上述方式,本申请能够提高图片查询速度。
Description
技术领域
本申请涉及信息处理技术领域,特别是涉及图片查询方法、计算机设备和存储介质。
背景技术
随着互联网上图像的数据信息日渐庞大,用户对网上图像搜索的要求也在不断提高。为了提高图片搜索的精确度,“以图搜图”技术应运而生,使得用户可以通过输入图片来搜索相似图片。“以图搜图”技术是通过输入图片来查询相似图片的一种搜索技术,其主要涉及图像特征提取以及图像特征相似度分析这两大部分。图像特征提取主要是提取图片的特征向量,随着大数据和深度学习技术的普及,图片特征向量的提取技术已经很成熟,如开源的深度学习框架PyTorch、TensorFlow、Caffe等都可以进行特征提取,而且精度已经非常高,所提取的特征向量维度非常高,一般几百维到一千多维。
但是,特征向量不可能等值查询,根据相似度查询才有意义,因为即使同一个人或物从不同角度拍摄的图片提取出的特征值也不相同。所以怎么存储海量的特征向量以及快速相似度查找成了需要重点解决的问题。为了实现快速查找,目前常用技术是对高维特征向量进行特殊处理,如降维、聚类、hash、量化、构建邻近图索引等。经过特殊处理后,查询效率会提高,但是这种方法会降低召回率,而低召回率就等于丢数据,进而导致查询结果不准确。
发明内容
本申请主要解决的技术问题是提供一种图片查询方法、计算机设备和存储介质,能够提高图片查询速度。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种图片查询方法,该方法包括分布式数据库的主节点接收来自查询方的查询请求,查询请求至少包括待查询图片的归一化特征向量;分布式数据库的主节点将查询请求路由至若干分布式数据库的从节点,以使得若干分布式数据库的从节点并行计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度;分布式数据库的主节点接收来自若干分布式数据库的从节点的计算结果,并将计算结果返回给查询方。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种图片查询装置,该装置包括接收模块、查询模块和发送模块,接收模块用于接收来自查询方的查询请求,查询请求至少包括待查询图片的归一化特征向量;查询模块用于将查询请求路由至若干分布式数据库的从节点,以使得若干分布式数据库的从节点并行计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度;发送模块用于接收来自若干分布式数据库的从节点的计算结果,并将计算结果返回给查询方。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机设备,该计算机设备包括处理器,处理器用于执行指令以实现上述任一项所述的图片查询方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储介质,存储有指令,指令被执行时实现上述任一项所述的图片查询方法。
本申请的有益效果是:区别于现有技术的情况,本申请通过使用分布式数据库来存储图片数据,能够实现数据的海量存储;通过在分布式数据库上开发扩展比对插件,能够使数据库具有查询比对功能,且查询比对操作也是分布式执行的,查询比对性能随服务器个数和磁盘个数成线性增长,能够实现图片的快速查询,提高查询的速度和效率;利用分布式数据库的流复制性能,能够提高数据库的可用性。
附图说明
图1是本申请一实施方式中分布式数据库的架构示意图;
图2是本申请一实施方式中特征向量的特性示意图;
图3是本申请一实施方式中图片查询方法的流程示意图;
图4是本申请另一实施方式中图片查询方法的流程示意图;
图5是本申请一实施方式中图片查询装置的结构示意图;
图6是本申请一实施方式中计算机设备的结构示意图;
图7为本申请一实施方式中存储介质的结构示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
本申请提供一种图片的存储和查询方法,利用分布式数据库来存储图片,并在分布式数据库上开发扩展“以图搜图”插件,使数据库具有查询比对功能。利用分布式数据库的分布式特性和高并发特性能够实现图片特征数据的海量存储和快速相似度搜索;同时利用分布式数据库的流复制特性能够实现存储和搜索的高可用性。
请参阅图1,图1是本申请一实施方式中分布式数据库的架构示意图。该实施方式中,数据库100为分布式数据库,如可以是开源的分布式PostgreSQL数据库(greenplum、citus等),当然还可以是其他分布式数据库,本申请不对分布式数据库的类型作限定,下面以分布式PostgreSQL数据库为例进行说明。
分布式PostgreSQL数据库包括多个PostgreSQL实例,如Coordinator和Worker。Coordinator是主节点,主节点110仅存储元数据,而不存储实际数据,Worker是从节点,也称数据节点,从节点120负责存储数据。分布式PostgreSQL数据库可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。主节点110和从节点120可以分布在一台服务器上,如一台服务器上有多块磁盘,每块磁盘对应一个Worker,也可以分布在不同的服务器上。
本申请中,利用分布式数据库存储图片数据,至少用于存储图片的特征向量。其中,分布式PostgreSQL数据库支持二进制字段类型bytea,可以直接以二进制方式存储高纬度的特征向量。同时,图片数据可以分布在多台服务器的多个Worker上,存储性能随服务器个数和磁盘个数成线性增长,能够实现图片数据的海量存储。
本申请中,在分布式数据库上开发了比对扩展插件,比对插件程序中包含有相似度比对函数,通过调用插件程序,能够使数据库具有查询比对功能。其中,每个PostgreSQL实例(Coordinator和Worker)都启用这个插件,由于集群是分布式的,所以该插件比对相似度也是分布式执行的,且多个节点可并发执行查询操作。因此,查询比对性能随服务器个数和磁盘个数成线性增长,能够实现图片的快速查询,提高查询的速度和效率。
其中,主节点110上不存储实际数据,也不执行具体的查询比对操作。主节点110主要负责处理查询请求,将查询请求分成多个子请求并转发给各个从节点120,使各个从节点120具体执行查询操作,然后再将各个从节点120的查询结果汇总返回给查询方。即主节点110主要起调度和对外交互的功能。因此,整个分布式集群对外可仅提供一个虚IP,查询方与该虚IP交互,将其当作一个通用数据库使用。
从节点120上存储有图片数据,在接收到查询请求后,调用比对插件程序,查询本地数据,进行相似性比对工作,将查询结果返回给主节点110。其中,分布式数据库中存储有图片的特征向量,从节点120具体用于计算待查询图片的特征向量与数据库中所存储的图片的特征向量之间的相似度。
在一实施方式中,分布式数据库中所存储的特征向量是经过归一化处理的,具有单位超球面特性的归一化特征向量。该归一化特征向量具有单位超球面特性,其欧式距离和余弦相似度可以根据二倍角公式相互换算。
请参阅图2,图2是本申请一实施方式中特征向量的特性示意图。该实施方式中,假设A,B两个特征向量分布在单位超球面上,d(A,B)表示向量A和B之间的欧氏距离,cos2α表示向量A和B两点之间的余弦相似度,根据二倍角公式可得cos2α=d(A,B)2/4,具体地:
cos2α=cos(α+α)=cosαcosα-sinαsinα=cos2α-sin2α=1-2sin2α=1-2d(A,C)2其中,d(A,C)=d(A,B)/2,则d(A,C)2=d(A,B)2/4,即cos 2α=d(A,B)2/4。
因此,在计算具有单位超球面特性的归一化特征向量的相似度时,可以用余弦相似度来表示两个特征向量的相似度。
在一实施方式中,对特征向量进行L2范数归一化处理,能够使处理后的特征向量具备单位超球面特性。
在一实施方式中,通过对特征向量进行L2范数归一化处理还能够使得余弦相似度的计算复杂度比欧式距离的计算复杂度低。具体地,根据欧几里得点积公式A·B=||A||||B||cosθ可得出
其中,Ai、Bi分别代表向量A和B的各分量。
再参阅向量A、B之间的欧氏距离的计算公式
通过上述两个公式可以看出,计算余弦相似度只需要两个向量的每个分量相乘再相加,时间复杂度是2*n(n表示维度)次浮点计算;计算欧氏距离需要将两个向量的每个分量相减平方再相加,时间复杂度是3*n(n表示维度)次浮点计算;所以计算余弦相似度性能比计算欧氏距离性能快1/3。因此,在计算具有单位超球面特性的归一化特征向量的相似度时,可以用余弦相似度来表示两个特征向量的相似度。即通过对特征向量进行归一化处理,使其具有单位超球面特性,能够提高计算速度,进而提高查询速度。
在一实施方式中,由于余弦相似度计算是浮点计算,所以可以通过CPU的SIMD(Single Instruction Multiple Data,单指令多数据流)指令进行提速,且计算性能可随CPU性能的提升而指数型增长。不同的CPU型号支持不同级别的simd指令集,对性能的提升也会不同。如SSE(Streaming SIMD Extensions,SSE)和AVX指令集的寄存器128位相比32位浮点数计算性能提升4倍,AVX2指令集的寄存器256位相比32位浮点数计算性能提升8倍,avx512f指令集的寄存器512位,相比32位浮点数计算性能提升16倍;avx512_vnni(矢量神经网络指令),把float32压缩成int8内存占用量降低至原来的1/4,同时vax512_vnni比avx512f计算性能提升4倍,相比32位浮点数计算性能提升64倍,avx512_vnni目前只有Intel Cascade Lake 5120以上的CPU才能支持。。
在一实施方式中,分布式数据库还具有主备流复制性能,每一个节点都有一个主实例(Primary)和一个备实例(Standby),如每一个Worker上都有一个本节点的主实例和另一节点的备实例。若主实例宕机,备实例自动切换为主实例继续服务且数据不会丢,通过设置备实例,能够保证数据库的高可用性。
综上,本申请所提供的方案,通过使用分布式数据库来存储图片数据,能够实现数据的海量存储;通过在分布式数据库上开发扩展比对插件,能够使数据库具有查询比对功能,且查询比对操作也是分布式执行的,查询比对性能随服务器个数和磁盘个数成线性增长,能够实现图片的快速查询,提高查询的速度和效率;利用分布式数据库的流复制性能,能够提高数据库的可用性。同时,通过对特征向量进行归一化处理,能够降低相似度计算的复杂度,进而提高计算速度;且还可以通过CPU的SIMD指令进行提速。
请参阅图3,图3是本申请一实施方式中图片查询方法的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图3所示的流程顺序为限。该实施方式中,可利用分布式数据库来存储和查询图片,图片的查询方法包括如下步骤:
S310:分布式数据库的主节点接收来自查询方的查询请求。
其中,查询请求至少包括待查询图片的归一化特征向量。
在一实施方式中,归一化特征向量是对待查询图片的原始特征向量进行L2范数归一化处理得到的,其具有单位超球面特性。
S320:分布式数据库的主节点将查询请求路由至若干分布式数据库的从节点,以使得若干分布式数据库的从节点并行计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度。
其中,分布式数据库的主节点可以将查询请求拆分成多个子查询请求,发送给不同的从节点,从节点接收并执行对应的子查询请求。
在一实施方式中,分布式数据库的从节点用于计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的余弦相似度,具体可通过计算两归一化特征向量的内积来获得特征向量的余弦相似度。
S330:分布式数据库的主节点接收来自若干分布式数据库的从节点的计算结果,并将计算结果返回给查询方。
本申请所提供的图片查询方法可以满足各种以图搜图业务如人脸识别、车辆图搜、人体特征图搜等。下面以人脸识别业务为例对本申请的技术方案进行说明,但不限于此。
请参阅图4,图4是本申请另一实施方式中图片查询方法的流程示意图。本实施方式包括:
构建部署分布式数据库,同时在数据库中安装比对插件程序(比对SO库),比对插件程序中包含有比对函数。
根据业务类型在数据库上构建表结构和索引。如人脸识别业务,表结构可包括人脸特征字段和记录唯一id号、抓拍时间、通道号、图片URL等其它属性字段。然后可对业务上需要做过滤条件的属性字段建索引。
收集图片数据,如可收集存储人脸抓拍机拍摄的照片。具体地,前端人脸抓拍机拍摄到图片后作为生产者将图片发送给MQ1(消息队列)。智能服务器从MQ1消费数据,智能服务器调用人脸检测算子对人脸图片进行特征值提取,获得图片的原始特征向量,然后把图片的原始特征向量发送给MQ2。接入服务器从MQ2消费数据,对图片的原始特征向量进行L2范数归一化处理,然后将归一化后的特征向量发送给分布式数据库,即向分布式数据库写数据。Coordinator接收到数据后根据分布字段和分布策略将数据路由到对应的Worker,Worker最终保存数据、更新索引及写WAL日志等操作。
在一实施方式中,数据库中预先用k-means分桶法分好了若干个桶,数据入库时会分别进入对应的桶中。其中,k-means分桶法包括:
随机取样本数据中1000个特征向量作为聚类中心点;将样本数据中的每个特征向量与这1000个聚类中心点计算L2距离,与哪个聚类中心点最近就归为哪一个类,称之为分桶;所有的样本数据分完桶后,对每个桶中的特征向量计算均值,也就是桶中的所有特征向量的每个维度值相加除以特征向量个数;再以每个桶均值做为新聚类中心点重新分桶,重复上面的操作几十次,训练的结果就是k-means分桶法的码本,即分好了1000个桶。
数据入库时,对插入的每个图片的归一化特征向量,跟码本中的1000个桶计算L2距离,取最近的一个桶编号作为类id,这样就把所有入库的特征向量分装在1000个桶中。其中,每个数据库从节点中各自分桶,不同从节点中的桶个数可以相同也可以不同,分桶方法可以相同也可以不同。数据入库时,主节点不对数据做区分处理,按正常路由程序路由至不同的从节点,从节点接收到数据后,计算分析归入不同的桶中。
图片查询:用户可通过搜图业务软件上传待查询图片,将待查询图片发送至智能服务器,智能服务器调用人脸检测算子提取待查询图片的原始特征向量,并将待查询图片原始特征向量发送给查询服务器。查询服务器对待查询图片的特征向量进行L2范数归一化处理,然后将归一化后的特征向量作为查询条件向数据库发送查询请求。
Coordinator接收到查询请求后,将查询请求拆分成多个子查询请求,并发送给不同的Worker。每个Worker收到对应的子查询请求后调用so库中的特征向量比对函数进行相似度比对,将相似度满足指定阀值的数据返回给Coordinator,Coordinator汇总所有Worker的返回结果对相似度进行排序,返回最相似的Top N条数据给查询服务器,查询服务器根据返回结果给搜图业务软件。
在一实施方式中,每个Worker在对图片进行相似度比对时,可以先计算待查询图片的归一化特征向量与每个桶的中心特征向量的相似度,确定最接近的桶;计算待查询图片的归一化特征向量与最接近的桶中所存储的图片的归一化特征向量之间的相似度。
如可先根据待查询图片的归一化特征向量找L2距离最近的100个桶,然后跟这100个桶中的图片的归一化特征向量用simd指令计算余弦相似度,这样参与计算的数据量减少至1/10,可以在simd提速的基础上再提速10倍。
该实施方式中,利用分布式数据库来存储和查询图片,利用分布式特性解决海量的图片数据的存储,利用大规模并发特性解决快速搜索,利用数据库的流复制模式解决了高可用性。同时,该实施方式中,只对特征向量进行归一化处理,不再进行降维、聚类、hash、量化、构建邻近图索引等特殊处理,即直接对特征向量进行相似度计算,能够保证100%的召回率,提高查询服务的性能。
在一实施方式中,分布式数据库在存储特征向量的同时,还存储了图片的属性特征(如抓拍时间、通道号等),并建立了属性字段索引。因此,在生成查询请求时,查询请求还可以包括属性特征,可对属性特征进行筛选过滤,再结合特征向量的相似度,能够进一步提升查询性能。
该实施方式中,通过设置独立的智能服务器和接入服务器来进行特征向量的提取和归一化处理,能够实现多业务的兼容,可接收处理来自多种途径的图片。在其他实施方式中,也可以将智能服务和接入服务集成到人脸抓拍机或分布式数据库中。通过设置独立的查询服务来生成查询请求,能够便于数据库的管理维护,特别是对访问权限的维护,以防用户恶意篡改数据。在其他实施方式中,也可以将查询服务集成到查询方服务器和分布式数据库中,在此不做限定。
请参阅图5,图5是本申请一实施方式中图片查询装置的结构示意图。该实施方式中,图片查询装置500包括接收模块510、查询模块520和发送模块530。
其中,接收模块510用于接收来自查询方的查询请求,查询请求至少包括待查询图片的归一化特征向量;查询模块520用于将查询请求路由至若干分布式数据库的从节点,以使得若干分布式数据库的从节点并行计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度;发送模块530用于接收来自若干分布式数据库的从节点的计算结果,并将计算结果返回给查询方。
该实施方式中,通过使用分布式数据库来存储图片数据,能够实现数据的海量存储;通过在分布式数据库上开发扩展比对插件,能够使数据库具有查询比对功能,且查询比对操作也是分布式执行的,查询比对性能随服务器个数和磁盘个数成线性增长,能够实现图片的快速查询,提高查询的速度和效率;利用分布式数据库的流复制性能,能够提高数据库的可用性。具体执行过程请参阅上述实施方式的描述,在此不再赘述。
请参阅图6,图6是本申请一实施方式中计算机设备的结构示意图。该实施方式中,计算机设备10包括处理器11。
处理器11还可以称为CPU(Central Processing Unit,中央处理单元)。处理器11可能是一种集成电路芯片,具有信号的处理能力。处理器11还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
计算机设备可以进一步包括存储器(图中未示出),用于存储处理器11运行所需的指令和数据。
处理器11用于执行指令以实现上述本申请图片的查询方法任一实施例及任意不冲突的组合所提供的方法。
请参阅图7,图7为本申请一实施方式中存储介质的结构示意图。本申请实施例的存储介质20存储有指令21,该指令被执行时实现本申请图片的查询方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令可以形成程序文件以软件产品的形式存储在上述存储介质中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种图片查询方法,其特征在于,包括:
分布式数据库的主节点接收来自查询方的查询请求,所述查询请求至少包括待查询图片的归一化特征向量;
所述分布式数据库的主节点将所述查询请求路由至若干所述分布式数据库的从节点,以使得若干所述分布式数据库的从节点并行计算所述待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度;
所述分布式数据库的主节点接收来自若干所述分布式数据库的从节点的计算结果,并将所述计算结果返回给所述查询方。
2.根据权利要求1所述的图片查询方法,其特征在于,所述分布式数据库的主节点接收来自查询方的查询请求之前包括:
所述分布式数据库安装用于执行所述计算所述待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度步骤的程序插件。
3.根据权利要求1所述的图片查询方法,其特征在于,所述归一化特征向量具有超球面特性,所述计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度包括:
计算所述待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的余弦相似度。
4.根据权利要求3所述的图片查询方法,其特征在于,所述归一化特征向量为对所述待查询图片的原始特征向量进行L2范数归一化处理得到的,所述计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的余弦相似度包括:
计算所述待查询图片的归一化特征向量和数据库中所存储的图片的归一化特征向量的内积。
5.根据权利要求3所述的图片查询方法,其特征在于,所述计算待查询图片的归一化特征向量和数据库中所存储的图片的归一化特征向量的余弦相似度包括:
采用单指令多数据流指令计算待查询图片的归一化特征向量和数据库中所存储的图片的归一化特征向量的余弦相似度。
6.根据权利要求1所述的图片查询方法,其特征在于,所述数据库中的图片的归一化特征向量存储在若干所述分布式数据库的从节点上,每个所述分布式数据库的从节点中包括若干个桶,每个桶定义有中心特征向量,每个桶中存放有与所述中心特征向量相近的归一化特征向量,所述计算待查询图片的归一化特征向量与数据库中所存储的图片的归一化特征向量之间的相似度包括:
计算所述待查询图片的归一化特征向量与每个桶的中心特征向量的相似度,确定最接近的桶;
计算所述待查询图片的归一化特征向量与所述最接近的桶中所存储的图片的归一化特征向量之间的相似度。
7.根据权利要求1所述的图片查询方法,其特征在于,所述查询请求还包括待查询图片的属性特征,所述方法还包括:
将所述待查询图片的属性特征与数据库中所存储的图片的属性特征进行比对。
8.根据权利要求1所述的图片查询方法,其特征在于,所述接收查询请求包括:
接收所述待查询图片;
提取所述待查询图片的原始特征向量;
对所述原始特征向量进行归一化处理得所述归一化特征向量,生成所述查询请求。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行指令以实现如权利要求1-8中任一项所述的图片查询方法。
10.一种存储介质,存储有指令,其特征在于,所述指令被执行时实现如权利要求1-8中任一项所述的图片查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195359.8A CN110929081A (zh) | 2019-11-28 | 2019-11-28 | 一种图片查询方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911195359.8A CN110929081A (zh) | 2019-11-28 | 2019-11-28 | 一种图片查询方法、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110929081A true CN110929081A (zh) | 2020-03-27 |
Family
ID=69846916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911195359.8A Pending CN110929081A (zh) | 2019-11-28 | 2019-11-28 | 一种图片查询方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929081A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797256A (zh) * | 2020-05-29 | 2020-10-20 | 平安普惠企业管理有限公司 | 基于多色图片的查询结果发送方法、装置和计算机设备 |
CN112241684A (zh) * | 2020-09-16 | 2021-01-19 | 四川天翼网络服务有限公司 | 一种人脸检索分布式计算方法及系统 |
CN112416926A (zh) * | 2020-11-02 | 2021-02-26 | 浙商银行股份有限公司 | 支持国产cpu simd指令的分布式数据库高性能执行器设计方法 |
CN113743575A (zh) * | 2020-05-29 | 2021-12-03 | 精工爱普生株式会社 | 数据获取方法和装置、相似度计算方法和装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470333B1 (en) * | 1998-07-24 | 2002-10-22 | Jarg Corporation | Knowledge extraction system and method |
CN101231662A (zh) * | 2008-01-25 | 2008-07-30 | 华中科技大学 | 基于网格平台的分布式医学图像检索系统 |
CN101777064A (zh) * | 2009-01-12 | 2010-07-14 | 鸿富锦精密工业(深圳)有限公司 | 图片搜索系统及方法 |
CN103744934A (zh) * | 2013-12-30 | 2014-04-23 | 南京大学 | 一种基于位置敏感哈希的分布式索引方法 |
CN105160039A (zh) * | 2015-10-13 | 2015-12-16 | 四川携创信息技术服务有限公司 | 一种基于大数据的查询方法 |
CN106611013A (zh) * | 2015-10-27 | 2017-05-03 | 中国电信股份有限公司 | 信息查询方法及系统 |
CN109214273A (zh) * | 2018-07-18 | 2019-01-15 | 平安科技(深圳)有限公司 | 人脸图像比对方法、装置、计算机设备及存储介质 |
-
2019
- 2019-11-28 CN CN201911195359.8A patent/CN110929081A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470333B1 (en) * | 1998-07-24 | 2002-10-22 | Jarg Corporation | Knowledge extraction system and method |
CN101231662A (zh) * | 2008-01-25 | 2008-07-30 | 华中科技大学 | 基于网格平台的分布式医学图像检索系统 |
CN101777064A (zh) * | 2009-01-12 | 2010-07-14 | 鸿富锦精密工业(深圳)有限公司 | 图片搜索系统及方法 |
CN103744934A (zh) * | 2013-12-30 | 2014-04-23 | 南京大学 | 一种基于位置敏感哈希的分布式索引方法 |
CN105160039A (zh) * | 2015-10-13 | 2015-12-16 | 四川携创信息技术服务有限公司 | 一种基于大数据的查询方法 |
CN106611013A (zh) * | 2015-10-27 | 2017-05-03 | 中国电信股份有限公司 | 信息查询方法及系统 |
CN109214273A (zh) * | 2018-07-18 | 2019-01-15 | 平安科技(深圳)有限公司 | 人脸图像比对方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
周鸣争,陶皖: "大数据导论", 中国铁道出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797256A (zh) * | 2020-05-29 | 2020-10-20 | 平安普惠企业管理有限公司 | 基于多色图片的查询结果发送方法、装置和计算机设备 |
CN113743575A (zh) * | 2020-05-29 | 2021-12-03 | 精工爱普生株式会社 | 数据获取方法和装置、相似度计算方法和装置及存储介质 |
CN113743575B (zh) * | 2020-05-29 | 2024-05-07 | 精工爱普生株式会社 | 数据获取方法和装置、相似度计算方法和装置及存储介质 |
CN112241684A (zh) * | 2020-09-16 | 2021-01-19 | 四川天翼网络服务有限公司 | 一种人脸检索分布式计算方法及系统 |
CN112416926A (zh) * | 2020-11-02 | 2021-02-26 | 浙商银行股份有限公司 | 支持国产cpu simd指令的分布式数据库高性能执行器设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929081A (zh) | 一种图片查询方法、计算机设备和存储介质 | |
WO2022126971A1 (zh) | 基于密度的文本聚类方法、装置、设备及存储介质 | |
US10402427B2 (en) | System and method for analyzing result of clustering massive data | |
US11055570B2 (en) | Image processing method and apparatus for implementing image recognition, and electronic device | |
CN110502546B (zh) | 一种数据处理方法及装置 | |
CN104809242B (zh) | 一种基于分布式结构的大数据聚类方法和装置 | |
JP2019169148A (ja) | 自動的な意図のマイニング、分類、及び配置のための方法及びシステム | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
Dong et al. | A hierarchical distributed processing framework for big image data | |
JP2019502982A (ja) | 並列検索動作を実行する方法及び装置 | |
Chatzimilioudis et al. | Distributed in-memory processing of all k nearest neighbor queries | |
CN110569289B (zh) | 基于大数据的列数据处理方法、设备及介质 | |
US20200118033A1 (en) | Method for approximate k-nearest-neighbor search on parallel hardware accelerators | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
CN112016623A (zh) | 一种人脸聚类方法、装置、设备及存储介质 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN111444362A (zh) | 恶意图片拦截方法、装置、设备和存储介质 | |
CN115146103A (zh) | 图像检索方法、装置、计算机设备、存储介质和程序产品 | |
Le Hoang et al. | Alpha lightweight coreset for k-means clustering | |
Antaris et al. | Similarity search over the cloud based on image descriptors' dimensions value cardinalities | |
Antaris et al. | In-memory stream indexing of massive and fast incoming multimedia content | |
Najib et al. | Clustering based approach for incomplete data streams processing | |
CN113076197A (zh) | 负载均衡方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200327 |
|
RJ01 | Rejection of invention patent application after publication |