CN111382287A - 一种图片的搜索方法、装置、存储介质及电子设备 - Google Patents
一种图片的搜索方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111382287A CN111382287A CN201811643673.3A CN201811643673A CN111382287A CN 111382287 A CN111382287 A CN 111382287A CN 201811643673 A CN201811643673 A CN 201811643673A CN 111382287 A CN111382287 A CN 111382287A
- Authority
- CN
- China
- Prior art keywords
- picture
- vector
- searched
- search result
- candidate
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种图片的搜索方法、装置、存储介质及电子设备。该方法包括:获取待搜索图片的搜索请求;对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。通过执行本申请所提供的技术方案,可以实现低成本且快速的进行以图搜图的效果。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种图片的搜索方法、装置、存储介质及电子设备。
背景技术
近些年随着AI(Artificial Intelligence,人工智能)技术的出现,在图片和视频数据激增的情况下,对目标图片进行快速查找已经成为业界的重要需求。
现有技术中,以图搜图,往往是对搜索图片的属性和特征信息进行提取,然后从海量的图片库中进行对比搜索。以图搜图应用的主流方案包括两种:CPU(CentralProcessing Unit,中央处理器)内存计算和GPU(Graphics Processing Unit,图形处理器)计算。而这两种方案都有其各自的缺点,CPU内存成本较低,但是计算速度较慢,当数据量越来越大时必须不断增加机器才能保证搜索速度。GPU虽然计算速度非常快,但是其内存一般较小,能够存储的数据量有限,且价格昂贵。因此,如何能够快速进行以图搜图又能够降低成本,成为本领域亟待解决的技术难题。
发明内容
本申请实施例提供一种图片的搜索方法、装置、存储介质及电子设备,可以实现低成本且快速的进行以图搜图的效果。
第一方面,本申请实施例提供了一种图片的搜索方法,该方法包括:
获取待搜索图片的搜索请求;
对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
进一步的,在获取待搜索图片的搜索请求之前,所述方法还包括:
对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;
利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;
确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。
进一步的,对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量,包括:
对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;
确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。
进一步的,根据所述待搜索图片压缩向量和所述各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片,包括:
采用非对称距离算法,确定各候选图片压缩向量与待搜索图片压缩向量的相似度;
根据所述相似度,确定第一级搜索结果图片。
进一步的,在根据所述相似度,确定第一级搜索结果图片之前,所述方法还包括:
确定第一级搜索结果图片的数量;
相应的,根据所述相似度,确定第一级搜索结果图片,包括:
根据所述相似度以及第一级搜索结果图片的数量,确定第一级搜索结果图片。
进一步的,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片,包括:
根据所述第一级搜索结果图片,从各候选图片的原始特征向量中获取所述第一级搜索结果图片的原始特征向量;
将所述待搜索图片的原始特征向量与所述第一级搜索结果图片的原始特征向量进行对比,确定第二级搜索结果图片。
进一步的:
通过GPU,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
通过CPU,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
第二方面,本申请实施例还提供了一种图片的搜索装置,该装置包括:
搜索请求获取模块,用于获取待搜索图片的搜索请求;
原始特征向量压缩模块,用于对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
第一级搜索模块,用于根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
第二级搜索模块,用于根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
进一步的,所述装置还包括候选图片压缩模块,所述候选图片压缩模块具体用于:
对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;
利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;
确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。
进一步的,所述原始特征向量压缩模块包括:
短向量确定单元,用于对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;
压缩单元,用于确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。
进一步的,所述第一级搜索模块包括:
相似度确定单元,用于采用非对称距离算法,确定各候选图片压缩向量与待搜索图片压缩向量的相似度;
第一级搜索结果确定单元,用于根据所述相似度,确定第一级搜索结果图片。
进一步的,所述第一级搜索模块还包括:
第一级搜索结果数量确定单元,用于确定第一级搜索结果图片的数量;
相应的,所述第一级搜索结果确定单元具体用于:
根据所述相似度以及第一级搜索结果图片的数量,确定第一级搜索结果图片。
进一步的,所述第二级搜索模块具体用于:
根据所述第一级搜索结果图片,从各候选图片的原始特征向量中获取所述第一级搜索结果图片的原始特征向量;
将所述待搜索图片的原始特征向量与所述第一级搜索结果图片的原始特征向量进行对比,确定第二级搜索结果图片。
进一步的:
通过GPU,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
通过CPU,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的图片的搜索方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的图片的搜索方法。
本申请实施例所提供的技术方案,获取待搜索图片的搜索请求;对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。通过采用本申请所提供的技术方案,可以实现低成本且快速的进行以图搜图的效果。
附图说明
图1是本申请实施例一提供的图片的搜索方法的流程图;
图2是本申请实施例一提供的向量压缩示意图;
图3是本申请实施例二提供的图片的搜索方法的流程图;
图4是本申请实施例三提供的图片的搜索装置的结构示意图;
图5是本申请实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的图片的搜索方法的流程图,本实施例可适用于以图搜图的情况,该方法可以由本申请实施例所提供的图片的搜索装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于客户端、服务器以及智能终端等电子设备中。
如图1所示,所述图片的搜索方法包括:
S110、获取待搜索图片的搜索请求。
其中,待搜索图片可以是用户通过摄像头获取的图片,还可以是在相册或者其他路径中所选取的图片。搜索请求可以是用户在输入待搜索图片的界面中输入图片后生成的请求。在本实施例中,可以通过获取待搜索图片确定搜索请求,以及根据搜索请求进行待搜索图片的搜索工作。该搜索工作可以是由智能终端来执行的,还可以是由专门进行图片搜索的客户端与服务器之间的交互来执行的。在本实施例中,可以是在智能终端中进行,其中具体可以在智能终端的CPU或者GPU中进行。
由于现有的以图搜图的方案是将待搜索图片与所有的各候选图片进行对比的,其数据量很大,在GPU中进行搜索时,由于GPU对图片的高维特征计算速度快,但是需要对GPU的存储量进行扩充,价格昂贵;在CPU中进行搜索时,采用CPU内存分布式集群存储、搜索最近的热点数据。以图搜图时,集群各Slave节点并发计算,Slave节点返回最相似的Top N条记录,并在Master节点汇聚排序,最终Master节点返回最相似的Top N条记录,因为其搜索速度慢,而影响以图搜图的效率。
S120、对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量。
其中,待搜索图片的原始特征向量和候选图库中各候选图片的原始特征向量可以是特定维度的向量,例如可以都是128维度的向量,这些特定维度的向量用于确定图片的内容信息。在本实施例中,可以对特定维度的向量采用均分的方式进行切分和压缩。例如可以切分成8个16维度的短向量,再对该短向量进行压缩。具体的压缩方式有多种,可以采用人工智能的方式进行压缩,本实施例对此不做限定。压缩之后,就可以得到待搜索图片压缩向量和各候选图片压缩向量。这样设置的好处是可以避免对特定维度的图片直接进行精细的对比,可以提高计算效率。
在本实施例中,可以先对各候选图片的原始特征向量进行压缩,在接收到图片搜索申请时,再按照该压缩方式把待搜索图片的原始特征向量压缩,这样设置的好处是可以避免每次接收到搜索请求时都要将各候选图片的原始特征向量进行压缩,节省了工作量,可以提高图片的搜索效率。
在本实施例中,各候选图片可以是根据用户的需求,由用户来指定的,还可以是***中默认设定的,可以包括图片库、视频库以及其他路径中的图片,其中视频库中每个视频的每一帧画面都可以作为一个候选图片。这样设置的好处是可以根据用户的需求,确定各候选图片的范围,可以为用户提供有针对性的搜索范围,提高用户的使用体验,同时也可以提高以图搜图的工作效率。
在本实施例中,可选的,在获取待搜索图片的搜索请求之前,所述方法还包括:对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。
在本实施例中,可选的,对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量,包括:对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。
在本实施例中,可选的,对所述待搜索图片的原始特征向量,以及候选图库中各候选图片的原始特征向量进行压缩,得到待搜索图片压缩向量和各候选图片压缩向量,包括:对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。在接收到搜索图片请求后,可以对待搜索图片采用同样的方式进行向量压缩,具体的,可以对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。其中,采用对候选图片聚类算法得到的聚类中心的距离及编号确定待搜索图片的压缩向量,这样设置的好处是采用与候选图片压缩方式相同的方式进行向量压缩,有利于对后续步骤中第一级搜索以及第二级搜索的确定,保证图片搜索的准确性。
图2是本申请实施例一提供的向量压缩示意图。
其中,向量压缩采用乘积量化算法实现,将一个D(图2中的D为128维)维特征向量切分成M个短向量(图2中的M为8),每个短向量维度d=D/M;
具体可以采用如下语言实现:
}//vtrain的转置是原始128维向量,vs是其中的一个子向量。
然后,利用k-means聚类算法,将对应维度的所有短向量进行聚类,聚类中心数量为nlist,并对聚类中心进行编号(0~nlist-1)。
具体可以采用如下语言实现:
kmeans(vs,ks,labelssub,
TermCriteria(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,50,0.001),
3,KMEANS_PP_CENTERS,centers);
量化过程即计算每个短向量距离最近的聚类中心的距离(下述语言中的L2)。压缩过程即为用短向量距离最近的聚类中心的编号代替短向量,原始向量即被压缩成M个索引值构成的压缩向量。
具体可以采用如下语言实现:
如图2所示,其中的d1,d2...d8表示为:128维切分的8个16维的短向量;q1,q2...q8表示为:对应每一个维度短向量的256个聚类中心;q1(d1),q2(d2)...q8(d8)表示为:每一个短向量量化后对应的聚类中心的编号;因为每一维短向量有256个聚类中心,因此最大的索引值为255,8个bit就可以存储。所以一个128维的特征向量压缩后大小为8bit*8=64bit,而原始特征向量为128*4bit=512bit(假设每一维都是float类型),向量压缩后存储容量是原来的8倍。
在通过上述方式确定各候选图片压缩向量之后,可以采取同样的方式确定待搜索图片的压缩向量,可以选择与上述方式一样的聚类中心及其编号。这样设置的好处是可以按照统一的方式确定压缩向量后,保证通过压缩向量进行搜索的结果图片是与待搜索图片比较接近的。不仅加快了搜索速度,节省了数据处理所需的空间,同时还能够确保以图搜图的准确性。
S130、根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的。
在本实施例中,可选的,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片,包括:采用非对称距离算法,确定各候选图片压缩向量与待搜索图片压缩向量的相似度;根据所述相似度,确定第一级搜索结果图片。
其中,第一级搜索存储的是经乘积量化算法压缩后的向量,可通过非对称距离算法快速搜索到符合条件的数据。这样设置的好处是可以提高图片的搜索效率。但是,因为一级搜索存储的是压缩后的向量,所以利用压缩后的向量计算出的相似度(距离)是存在误差的。为了能够将正确的数据返回给客户端,该方案中将一级搜索返回结果集进行了扩大,如客户端要求Top N条结果,一级搜索返回的结果数量为N*R条,以保证准确的Top N条结果全部在N*R条结果中。在本实施例中,通过非对称距离算法,可以得到与待搜索图片的压缩向量相似度大于相似度阈值的候选图片,也可以根据相似度进行从大到小的排序,再由排序结果确定第一级搜索结果图片。
当遇到与待搜索图片的压缩向量相似度大于相似度阈值的候选图片数量超过N*R条的情况,可以根据候选图片短向量与聚类中心的距离的大小关系进行排列,具体可以是按照距离从小到大的顺序排列,来从所有的与待搜索图片的压缩向量相似度大于相似度阈值的候选图片中选择N*R条与待搜索图片最接近的候选图片。如果与待搜索图片的压缩向量相似度大于相似度阈值的候选图片数量小于N*R条,则可以把与待搜索图片的压缩向量相似度大于相似度阈值的候选图片作为输出结果。
在本实施例中,可选的,在根据所述相似度,确定第一级搜索结果图片之前,所述方法还包括:确定第一级搜索结果图片的数量;相应的,根据所述相似度,确定第一级搜索结果图片,包括:根据所述相似度以及第一级搜索结果图片的数量,确定第一级搜索结果图片。
在本实施例中,可以将第一级搜索结果图片的数量确定为用户想要得到的数量N条的R倍。这样就可以根据用户的图片搜索精度需求确定第一级搜索结果图片的数量,如果用户搜索结果的精度需求较高,可以适当扩大R,使得第一级搜索结果图片数量较多,有利于后续搜索中能够得到更多更加符合要求的精确搜索结果。
S140、根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
在通过压缩向量确定了第一级搜索结果图片之后,可以获取第一级搜索结果图片的原始特征向量,与待搜索图片的原始特征向量进行精细的比对。得到最终的第二级搜索结果图片,可以是top N条。
在本实施例中,可选的,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片,包括:根据所述第一级搜索结果图片,从各候选图片的原始特征向量中获取所述第一级搜索结果图片的原始特征向量;将所述待搜索图片的原始特征向量与所述第一级搜索结果图片的原始特征向量进行对比,确定第二级搜索结果图片。
其中,第二级搜索中存储了全部的原始特征向量,待第一级搜索返回N*R条数据后,可直接获取对应的N*R条原始特征向量与搜索条件中的原始特征向量进行精确比对,最终返回符合条件的Top N条记录。此时第二级搜索的计算量为N*R,与几千万的底库相比计算量大大降低,通过此方案既减少了计算量,提高检索性能,又能够保证的准确性。
本申请实施例所提供的技术方案,获取待搜索图片的搜索请求;对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。通过采用本申请所提供的技术方案,可以实现低成本且快速的进行以图搜图的效果。
实施例二
图3是本申请实施例二提供的图片的搜索方法的流程图。本实施例在上述实施例的基础上进行了优化。
如图3所示,所述图片的搜索方法包括:
S310、获取待搜索图片的搜索请求。
S320、对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量。
S330、通过CPU或者GPU根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的。
S340、通过CPU或者GPU根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
其中,可以将第一级搜索以及第二级搜索在CPU或者GPU中进行,这样设置的好处是不仅能够灵活设定在CPU或者GPU中的哪一个进行上述的第一级搜索和第二级搜索,采取适当的方式进行以图搜图,还能够提高计算速度,不影响终端的工作性能。
在本实施例中,优选的,通过GPU,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;通过CPU,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
其中,采用GPU进行第一级搜索,采用CPU进行第二级搜索,这样设置的好处在于,由于图片的原始特征向量已经经过压缩,所以第一级搜索所需要占据的空间不再像直接进行搜索那样巨大,这样可以通过GPU进行第一级搜索,可以充分体现出采用GPU搜索速度快的特点,而在第二级搜索过程中,被搜索的图片相对于亿万数量级的候选图片来说,数据量已经大大减少,这时采用CPU进行第二级搜索,对搜索速度不会造成很大的影响,而且可以确保搜索设备的运行性能,效果十分显著。
本实施例在上述实施例的基础上,提供了一种通过CPU或者GPU进行第一级搜索以及第二级搜索的方案,这样设置的好处是既能够保证以图搜图的速度,还能够降低成本,无需为了提高以图搜图的速度而提高GPU的存储空间,造成对成本的过高消耗。
实施例三
图4是本申请实施例三提供的图片的搜索装置的结构示意图。如图4所示,所述图片的搜索装置,包括:
搜索请求获取模块410,用于获取待搜索图片的搜索请求;
原始特征向量压缩模块420,用于对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
第一级搜索模块430,用于根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
第二级搜索模块440,用于根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
本申请实施例所提供的技术方案,获取待搜索图片的搜索请求;对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。通过采用本申请所提供的技术方案,可以实现低成本且快速的进行以图搜图的效果。
在上述各技术方案的基础上,可选的,所述装置还包括候选图片压缩模块,所述候选图片压缩模块具体用于:
对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;
利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;
确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。
在上述各技术方案的基础上,可选的,所述原始特征向量压缩模块包括:
短向量确定单元,用于对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;
压缩单元,用于确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。
在上述各技术方案的基础上,可选的,所述第一级搜索模块包括:
相似度确定单元,用于采用非对称距离算法,确定各候选图片压缩向量与待搜索图片压缩向量的相似度;
第一级搜索结果确定单元,用于根据所述相似度,确定第一级搜索结果图片。
在上述各技术方案的基础上,可选的,所述第一级搜索模块还包括:
第一级搜索结果数量确定单元,用于确定第一级搜索结果图片的数量;
相应的,所述第一级搜索结果确定单元具体用于:
根据所述相似度以及第一级搜索结果图片的数量,确定第一级搜索结果图片。
在上述各技术方案的基础上,可选的,所述第二级搜索模块具体用于:
根据所述第一级搜索结果图片,从各候选图片的原始特征向量中获取所述第一级搜索结果图片的原始特征向量;
将所述待搜索图片的原始特征向量与所述第一级搜索结果图片的原始特征向量进行对比,确定第二级搜索结果图片。
在上述各技术方案的基础上,可选的:
通过GPU,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
通过CPU,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
上述产品可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图片的搜索方法,该方法包括:
获取待搜索图片的搜索请求;
对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到计算机***。第二计算机***可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的图片的搜索操作,还可以执行本申请任意实施例所提供的图片的搜索方法中的相关操作。
实施例五
本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的图片的搜索装置。图5是本申请实施例五提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本申请实施例所提供的图片的搜索方法,该方法包括:
获取待搜索图片的搜索请求;
对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
当然,本领域技术人员可以理解,处理器520还可以实现本申请任意实施例所提供的图片的搜索方法的技术方案。
图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的图片的搜索方法对应的程序指令。
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等设备。
本申请实施例提供的电子设备,可以实现低成本且快速的进行以图搜图的效果。
上述实施例中提供的图片的搜索装置、存储介质及电子设备可执行本申请任意实施例所提供的图片的搜索方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的图片的搜索方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种图片的搜索方法,其特征在于,包括:
获取待搜索图片的搜索请求;
对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
2.根据权利要求1所述的方法,其特征在于,在获取待搜索图片的搜索请求之前,所述方法还包括:
对各候选图片的原始特征向量进行降维切分,得到各候选图片的短向量;
利用聚类算法,对各候选图片的所有短向量进行聚类,得到预设数量的聚类中心;
确定各候选图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为各候选图片的当前短向量的向量值,遍历各候选图片的所有短向量,得到各候选图片的压缩向量。
3.根据权利要求2所述的方法,其特征在于,对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量,包括:
对待搜索图片的原始特征向量进行降维切分,得到待搜索图片的短向量;
确定所述聚类中心中与待搜索图片的当前短向量距离最近的聚类中心,以距离最近的聚类中心的编号作为待搜索图片的当前短向量的向量值,遍历待搜索图片的所有短向量,得到待搜索图片的压缩向量。
4.根据权利要求1所述的方法,其特征在于,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片,包括:
采用非对称距离算法,确定各候选图片压缩向量与待搜索图片压缩向量的相似度;
根据所述相似度,确定第一级搜索结果图片。
5.根据权利要求4所述的方法,其特征在于,在根据所述相似度,确定第一级搜索结果图片之前,所述方法还包括:
确定第一级搜索结果图片的数量;
相应的,根据所述相似度,确定第一级搜索结果图片,包括:
根据所述相似度以及第一级搜索结果图片的数量,确定第一级搜索结果图片。
6.根据权利要求1所述的方法,其特征在于,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片,包括:
根据所述第一级搜索结果图片,从各候选图片的原始特征向量中获取所述第一级搜索结果图片的原始特征向量;
将所述待搜索图片的原始特征向量与所述第一级搜索结果图片的原始特征向量进行对比,确定第二级搜索结果图片。
7.根据权利要求1所述的方法,其特征在于:
通过GPU,根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
通过CPU,根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
8.一种图片的搜索装置,其特征在于,包括:
搜索请求获取模块,用于获取待搜索图片的搜索请求;
原始特征向量压缩模块,用于对所述待搜索图片的原始特征向量进行压缩,得到待搜索图片压缩向量;
第一级搜索模块,用于根据所述待搜索图片压缩向量和各候选图片压缩向量,从各候选图片中选择第一级搜索结果图片;其中,所述各候选图片压缩向量是各候选图片原始特征向量经过压缩得到的;
第二级搜索模块,用于根据所述待搜索图片的原始特征向量,与所述第一级搜索结果图片的原始特征向量,从所述第一级搜索结果图片中选择第二级搜索结果图片。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的图片的搜索方法。
10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的图片的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643673.3A CN111382287A (zh) | 2018-12-30 | 2018-12-30 | 一种图片的搜索方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643673.3A CN111382287A (zh) | 2018-12-30 | 2018-12-30 | 一种图片的搜索方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111382287A true CN111382287A (zh) | 2020-07-07 |
Family
ID=71222420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811643673.3A Pending CN111382287A (zh) | 2018-12-30 | 2018-12-30 | 一种图片的搜索方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382287A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111206A (zh) * | 2021-04-19 | 2021-07-13 | 浙江商汤科技开发有限公司 | 图搜方法、装置、电子设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577990A (zh) * | 2017-08-09 | 2018-01-12 | 武汉世纪金桥安全技术有限公司 | 一种基于gpu加速检索的大规模人脸识别方法 |
CN108280233A (zh) * | 2018-02-26 | 2018-07-13 | 南京邮电大学 | 一种基于深度学习的视频gis数据检索方法 |
-
2018
- 2018-12-30 CN CN201811643673.3A patent/CN111382287A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577990A (zh) * | 2017-08-09 | 2018-01-12 | 武汉世纪金桥安全技术有限公司 | 一种基于gpu加速检索的大规模人脸识别方法 |
CN108280233A (zh) * | 2018-02-26 | 2018-07-13 | 南京邮电大学 | 一种基于深度学习的视频gis数据检索方法 |
Non-Patent Citations (2)
Title |
---|
刘正华: "大规模人脸图像检索***的研究与实现" * |
史亚东: "基于Hadoop平台的图像检索方法研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111206A (zh) * | 2021-04-19 | 2021-07-13 | 浙江商汤科技开发有限公司 | 图搜方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522986B (zh) | 图像检索方法、装置、设备和介质 | |
US11055570B2 (en) | Image processing method and apparatus for implementing image recognition, and electronic device | |
CN109359725B (zh) | 卷积神经网络模型的训练方法、装置、设备及计算机可读存储介质 | |
CN110321448B (zh) | 一种图像检索方法、装置和存储介质 | |
CN111177438B (zh) | 图像特征值的搜索方法、装置、电子设备及存储介质 | |
US20220139085A1 (en) | Method and apparatus for video frame processing | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN112668608B (zh) | 一种图像识别方法、装置、电子设备及存储介质 | |
CN113344016A (zh) | 深度迁移学习方法、装置、电子设备及存储介质 | |
CN114565807A (zh) | 训练目标图像检索模型的方法和装置 | |
CN112329660A (zh) | 一种场景识别方法、装置、智能设备及存储介质 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN113590898A (zh) | 数据检索方法、装置、电子设备、存储介质及计算机产品 | |
CN116630630B (zh) | 语义分割方法、装置、计算机设备及计算机可读存储介质 | |
CN111709473B (zh) | 对象特征的聚类方法及装置 | |
CN111382287A (zh) | 一种图片的搜索方法、装置、存储介质及电子设备 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN116932935A (zh) | 地址匹配方法、装置、设备、介质和程序产品 | |
CN111767419A (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN113901278A (zh) | 一种基于全局多探测和适应性终止的数据搜索方法和装置 | |
CN113609313A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN112214627A (zh) | 搜索方法、可读存储介质和电子设备 | |
CN116402090B (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 |