图像检索系统、方法和装置制造方法及图纸

技术编号:37122357 阅读:16 留言:0更新日期:2023-04-01 05:18
一种包括接口和计算引擎集合的图像检索系统,其中,接口用于获取待检索图像;计算引擎集合包括第一计算引擎和第二计算引擎,第一计算引擎用于计算待检索图像与图库所包含的多个图像之间的相似度;第二计算引擎用于根据所检索图像与图库所包含的多个图像之间的相似度确定检索结果,检索结果包括与所述待检索图像相似的目标图像,由此提升图像检索处理的速度,降低数据处理的时延。降低数据处理的时延。降低数据处理的时延。

【技术实现步骤摘要】
图像检索系统、方法和装置


[0001]本申请涉及计算机领域,尤其涉及一种图像检索系统、方法和装置。

技术介绍

[0002]随着计算机技术的发展,图像检索技术也逐渐成为研究的热点,应用场景也越来越广泛,例如,在商品图像搜索功能中,基于用户提供的图像在图库中搜索,找到同款或相似的商品,进而将找到的商品推荐给用户;或者,在版权判定的搜索服务中,以图像为检索对象,在海量的图库中查找相同或相似图像,进而判定检索对象是否存在侵权问题。
[0003]传统的图像检索过程,通常是由提供图像检索功能的中央处理器(central processing unit,CPU)直接根据用户检索请求,将图库中图像加载至主存(main memory),然后,比对查询图像和图库中的图像的相似度,进而确定与查询图像相同或相似的图像。但是,当图库中包括海量数据时,由于CPU执行图像检索的过程中需要执行数据处理和距离计算等操作,过程复杂,耗时长,无法满足图像检索的实时需求。因此,如何提供一种高效的图像检索方法成为亟待解决的技术问题。

技术实现思路

[0004]本申请提供了一种图像检索的方法,由包括多个计算引擎的异构系统执行图像检索操作,以“专人专事”的思路执行图像检索中各个操作过程,避免使用单一CPU执行图像检索过程所带来的处理复杂、耗时长的问题,以此提升图像检索的效率。
[0005]第一方面,提供一种图像检索系统,该系统包括用于获取待检索图像的接口和包括第一计算引擎和第二计算引擎的计算引擎集合,其中,第一计算引擎用于计算待检索图像与图库所包含的多个图像之间的相似度;第二计算引擎用于根据待检索图像与图库所包含的多个图像之间的相似度确定检索结果,检索结果包括与待检索图像相似的目标图像。通过上述图像检索系统,可以利用计算引擎集合执行图像检索操作,进而根据待检索图像和图库中图像的相似度确定检索结果,避免由单一CPU执行图像检索操作所带来的耗时长、效率低的问题。
[0006]在一种可能的实现方式中,待检索图像与图库所包含的多个图像之间的相似度是根据待检索图像所对应的查询向量与多个图像对应的中心向量之间的距离获得的。或者,待检索图像与图库所包含的多个图像之间的相似度是指待检索图像所对应的查询向量与多个图像对应的中心向量之间的距离。本申请所要保护的图像检索系统中,利用向量间的距离衡量图像的相似度,进而确定与待检索图像匹配的图像。
[0007]在另一种可能的实现方式中,在图像检索处理的过程中,第一计算引擎具体用于将查询向量转换为查询矩阵,将中心向量转换为中心矩阵,根据查询矩阵和中心矩阵获得距离表,其中,距离表用于确定待检索图像所对应的查询向量与多个图像对应的中心向量之间的距离。第一计算引擎可以用于处理矩阵相关计算,在计算向量间距离的过程中,可以将距离计算过程映射为矩阵处理过程,进而由专用的第一计算引擎完成矩阵的相关处理,
提升距离计算过程的速度,进而提升整个图像检索过程的处理效率。
[0008]在另一种可能的实现方式中,图像检索系统还包括共享内存,该共享内存与第一计算引擎之间通过内部总线连接;第一计算引擎还用于通过内部总线将距离表存储至共享内存。通过在图像检索系统中添加共享内存,第一计算引擎和第二计算引擎可以通过共享的方式访问该存储介质中数据,例如,第一计算引擎可以将距离表存储在共享内存中,第二计算引擎可以从共享内存中获取距离表,并基于该距离表完成图像检索的其他处理操作,避免使用图像检索系统以外的存储介质存储距离表所带来的访存速度慢以及缓存失效(cache miss)问题,进一步提升图像检索的速度。
[0009]在另一种可能的实现方式中,共享内存与第二计算引擎之间通过内部总线连接;第二计算引擎具体用于从共享内存中获取距离表;根据距离表确定图库中是否包含与所述待检索图像相似的目标图像。由于第一计算引擎和第二计算引擎均可以访问共享内存,第二计算引擎可以从共享内存获取距离表,并基于距离表执行后续处理,避免从主机系统的内存中获取数据所带来的缓存失效(Cache miss)导致耗时长的问题,加快数据处理的速度。
[0010]在另一种可能的实现方式中,图像检索系统还包括第三计算引擎,第三计算引擎,用于获取图库中图像所对应的索引清单,其中,第三计算引擎也可以称为直接内存访问引擎,用于通过直接内存访问的方式获取主机系统连接的内存中数据;第二计算引擎具体用于根据距离表和索引清单获得距离矩阵,距离矩阵用于指示索引清单中每个索引所关联的距离值;根据距离矩阵确定待检索图像所对应的查询向量与多个图像对应的中心向量之间的距离。第二计算引擎可以根据距离表和索引清单计算向量之间的相似度,确定与待检索图像匹配的图像。而且,将距离表和索引清单存储在共享内存中,可以加快生成距离矩阵过程中需要随机读的处理速度,提升数据处理的效率。
[0011]在另一种可能的实现方式中,第二计算引擎具体用于根据距离矩阵确定待检索图像所对应的查询向量与多个图像对应的中心向量之间的距离的排序结果确定检索结果。距离矩阵用于标识待检索图像的每个分段和中心向量的对应分段的距离,根据距离矩阵可以进一步确定待检索图像的查询向量和中心向量之间的距离,进而对该距离进行排序,最终确定检索结果。
[0012]在另一种可能的实现方式中,第二计算引擎具体用于根据预设阈值确定所述检索结果,所述检索结果所包括的图像所关联的向量与所述查询向量的距离满足预设条件,所述预设条件包括图像所关联的向量与所述查询向量的距离大于或等于所述预设阈值,或者,图像所关联的向量与所述查询向量的距离小于所述预设阈值。除了通过排序方式获得检索结果外,还可以通过预设阈值确定一个或多个满足条件的图像作为检索结果,也可以查找到与待检索图像匹配的检索结果。
[0013]在另一种可能的实现方式中,图像检索系统为芯片或PCIe卡,第一计算引擎和第二计算引擎通过内部总线相连。通过使用内部总线的连接方式,使得第一计算引擎和第二计算引擎之间的数据传输路径更短,数据传输速度更快。
[0014]在另一种可能的实现方式中,计算引擎集合中第一计算引擎和第二计算引擎分别为逻辑电路。通过使用专用逻辑电路构建的第一计算引擎和第二计算引擎,可以针对不同类型的运算操作使用不同的硬件引擎,更快完成数据处理。
[0015]在另一种可能的实现方式中,系统为虚拟化系统,计算引擎集合中第一计算引擎和第二计算引擎分别为运行在虚拟化系统中设备的虚拟机或容器。除了使用硬件电路构建的硬件引擎实现上述专用矩阵、向量和标量的运算外,还可以使用虚拟化形式的虚拟机或容器实现各个硬件引擎的功能,那么,在数据中心中也可以实现本申请所提供的高效的图像检索方法。
[0016]在另一种可能的实现方式中,待检索图像来自检索请求,检索请求包括至少一个待检索图像,或者,检索请求包括待检索视频,所述待检索视频包括至少一帧待检索图像。本申请可以针对图像检索处理外,还是适用于视频检索过程,其中,每帧图像可以分别按照上述图像检索过程执行,也可以通过计算引擎集合快速获得检索结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构计算系统,其特征在于,包括:接口、第一计算引擎、及第二计算引擎,所述第一计算引擎和所述第二计算引擎为不同类型的计算引擎;所述接口,用于接收检索请求,所述检索请求中包括待检索图像的信息;所述第一计算引擎用于根据所述检索请求中包括的待检索图像的查询向量与图库所包含的多个图像的中心向量确定第一相似度;所述第二计算引擎根据所述第一相似度与所述多个图像的特征值分别确定所述待检索图像与所述多个图像的第二相似度,并根据所述第二相似度确定所述多个图像中与所述待检索图像相似的目标图像。2.根据权利要求1所述的系统,其特征在于,所述待检索图像与所述图库所包含的多个图像之间的第一相似度是根据所述待检索图像所对应的查询向量与所述多个图像对应的中心向量之间的距离获得的,或者所述待检索图像与图库所包含的多个图像之间的第一相似度是指所述待检索图像所对应的查询向量与所述多个图像对应的中心向量之间的距离。3.根据权利要求2所述的系统,其特征在于,所述第一计算引擎具体用于将所述查询向量转换为查询矩阵,将所述中心向量转换为中心矩阵,根据所述查询矩阵和所述中心矩阵获得距离表,所述距离表用于确定所述待检索图像所对应的查询向量与所述多个图像对应的中心向量之间的距离。4.根据权利要求3所述的系统,其特征在于,所述系统还包括共享内存,所述共享内存与所述第一计算引擎之间通过内部总线连接;所述第一计算引擎还用于通过所述内部总线将所述距离表存储至所述共享内存。5.根据权利要求4所述的系统,其特征在于,所述共享内存与所述第二计算引擎之间通过内部总线连接;所述第二计算计算引擎具体用于从所述共享内存中获取所述距离表;根据所述距离表确定所述图库中是否包含与所述待检索图像相似的目标图像。6.根据权利要求5所述的系统,其特征在于,所述系统还包括第三计算引擎,所述第三计算引擎,用于获取所述图库中图像所对应的索引清单;所述第二计算引擎具体用于根据所述距离表和所述索引清单获得距离矩阵,所述距离矩阵用于指示所述索引清单中每个索引所关联的距离值;根据所述距离矩阵确定所述待检索图像所对应的查询向量与所述多个图像对应的中心向量之间的距离。7.根据权利要求6所述的系统,其特征在于,所述第二计算引擎具体用于根据所述距离矩阵确定所述待检索图像所对应的查询向量与所述多个图像对应的中心向量之间的距离的排序结果确定检索结果。8.根据权利要求6所述的系统,其特征在于,所述第二计算引擎具体用于根据预设阈值确定所述检索结果,所述检索结果所包括的图像所关联的向量与所述查询向量的距离满足预设条件,所述预设条件包括图像所关联的向量与所述查询向量的距离大于或等于所述预设阈值,或者,图像所关联的向量与所述查询向量的距离小于所述预设阈值。9.根据权利要求1至8中任一所述的系统,其特征在于,所述系统为芯片或PCIe卡,所述第一计算引擎和所述第二计算引擎通过内部总线相连。10.根据权利要求9所述的系统,其特征在于,所述计算引擎集合中所述第一计算引擎
和所述第二计算引擎分别为逻辑电路。11.根据权利要求1至8中任一所述的系统,其特征在于,所述系统为虚拟化系统,所述计算引擎集合中所述第一计算引擎和所述第二计算引擎分别为运行在所述虚拟化系统中设备的虚拟机或容器。12.一种图像检索的方法,其特征在于,所述方法适用于异构计算系统,所述系统包括接口、第一计算引擎、第二计算引擎,所述第一计算引擎和所述第二计算引擎为不同类型的计算引擎,所述方法包括:...

【专利技术属性】
技术研发人员:彭席汉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1