CN112115281A - 数据检索方法、装置及存储介质 - Google Patents
数据检索方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112115281A CN112115281A CN202010982194.5A CN202010982194A CN112115281A CN 112115281 A CN112115281 A CN 112115281A CN 202010982194 A CN202010982194 A CN 202010982194A CN 112115281 A CN112115281 A CN 112115281A
- Authority
- CN
- China
- Prior art keywords
- data
- media data
- dimensional vector
- feature
- database
- 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 80
- 238000001914 filtration Methods 0.000 claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims abstract description 50
- 238000000605 extraction Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 19
- 238000013500 data storage Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer 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/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/435—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/483—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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据检索方法、装置及存储介质,属于大数据检索技术领域。在本申请实施例中,无需定时读取历史较长一段时间内的全部特征数据到内存中,而是先根据高维向量索引从数据库过滤数据,再将过滤之后确定的特征数据读取到内存中,因此,本方案每次读取的数据量很小,耗时很短。且由于读取到内存中的数据量很小,因此,后续的相似度计算过程对内存资源消耗很小。另外,本方案无需等待一段时间将实时特征数据读取到内存中再用于检索,而是直接从数据库中检索数据,这样能够检索到最新相似数据。
Description
技术领域
本申请实施例涉及大数据检索技术领域,特别涉及一种数据检索方法、装置及存储介质。
背景技术
在大数据时代,实时都有新的媒体数据上传到服务器的数据库中,媒体数据如图像、文本或者音频等,例如在图像检索场景中,前端的监控设备采集图像数据形成视频流上传至服务器,或者各个应用终端提交图像数据到服务器等。服务器的数据库中存储有海量的媒体数据。用户通过客户端向服务器发送检索请求,检索请求携带一个媒体数据,以请求服务器检索相似媒体数据。例如检索请求携带一个图像数据,以请求服务器通过以图搜图的方法来检索相似图像。
在相关技术中,服务器对接收的每个媒体数据提取特征得到对应的特征数据,将特征数据与媒体数据对应存储在数据库中。而且,服务器每隔第一时间间隔释放内存后将数据库中存储的最近较长一段时间的历史媒体数据对应的特征数据读取到内存中,以定时刷新内存,例如每天凌晨两点释放内存后将前一月的历史媒体数据对应的特征数据读取到内存中。另外,服务器还以增量的方式定时读取数据库中存储的最近较短一段时间的实时媒体数据对应的特征数据到内存中,例如每隔十分钟将前十分钟的实时媒体数据对应的特征数据读取到内存中。服务器在接收到客户端发送的检索请求时,对检索请求携带的媒体数据进行特征提取得到参考特征数据,并计算内存中读取的每个特征数据与参考特征数据之间的相似度,将相似度较高的特征数据对应的媒体数据反馈给客户端。
然而,服务器刷新内存时将数据库中存储的较长一段时间的历史媒体数据对应的特征数据全部读取到内存中,读取的数据量很大,耗时很长,且对内存资源消耗很大。另外,服务器每隔一段时间才能读取实时媒体数据对应的特征数据到内存中用于检索,这样,就存在不能检索到最新相似数据的问题。
发明内容
本申请实施例提供了一种数据检索方法、装置及存储介质,能够减小对内存资源的消耗,减少检索耗时,且提高检索到的数据实时性。所述技术方案如下:
一方面,提供了一种数据检索方法,所述方法包括:
接收客户端发送的检索请求,所述检索请求携带第一媒体数据;
确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引;
根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,所述数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引;
将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,所述多个第二特征数据是指所述多个第一候选媒体数据对应的特征数据;
向所述客户端发送所述多个第二媒体数据。
可选地,所述将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,包括:
将所述多个第二特征数据分次读取到所述内存中,每次读取到所述内存中的第二特征数据的总数量不超过第一预置数量;
每读取一次,计算读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,并释放所述内存中的第二特征数据;
在最后一次计算相似度之后,根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据。
可选地,所述根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据,包括:
对所述多个第一候选媒体数据对应的相似度计算结果进行排序,得到排序结果;
根据所述排序结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据,所述多个第二媒体数据的总数量不超过第二预置数量。
可选地,所述确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引,包括:
通过特征提取模型对所述第一媒体数据进行处理,得到所述第一特征数据;
对所述第一特征数据进行高维向量分类处理,得到所述第一高维向量索引。
可选地,所述数据库还存储有多个高维向量索引,每个高维向量索引在分类空间中对应有一个空间坐标;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,包括:
根据所述第一高维向量索引在所述分类空间中对应的空间坐标,从所述数据库存储的高维向量索引中,确定在所述分类空间中对应的空间坐标与所述第一高维向量索引在所述分类空间中对应的空间坐标之间的距离不超过距离阈值的高维向量索引,得到多个第二高维向量索引,所述多个第二高维向量索引的总数量不超过第三预置数量;
从所述数据库存储的媒体数据中,确定所述多个第二高维向量索引对应的媒体数据,得到所述多个第一候选媒体数据。
可选地,所述检索请求还携带过滤条件,所述过滤条件包括时间过滤范围和/或检索关键字,所述数据库存储的每个媒体数据还对应有一个结构化数据,所述结构化数据包括相应媒体数据对应的记录生成时间和属性信息;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据之前,还包括:
根据所述时间过滤范围和/或所述检索关键字,以及所述数据库存储的每个媒体数据对应的结构化数据,从所述数据库存储的媒体数据中过滤得到多个第二候选媒体数据;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,包括:
根据所述第一高维向量索引,从所述多个第二候选媒体数据中确定所述多个第一候选媒体数据。
可选地,所述方法还包括:
获取待存储的第三媒体数据;
确定所述第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引;
将所述第三媒体数据、所述第三特征数据和所述第三高维向量索引存储至所述数据库中。
可选地,所述确定所述第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引,包括:
通过特征提取模型对所述第三媒体数据进行处理,得到所述第三特征数据;
对所述第三特征数据进行高维向量分类处理,得到所述第三高维向量索引。
可选地,所述第三媒体数据对应有第一结构化数据;
所述将所述第三媒体数据、所述第三特征数据和所述第三高维向量索引存储至所述数据库中,包括:
在所述第一结构化数据中增加指定字段;
将所述第三高维向量索引存储在所述指定字段中,得到所述第三媒体数据对应的第二结构化数据;
将所述第三媒体数据、所述第三特征数据和所述第二结构化数据对应存储在所述数据库中。
可选地,所述第二结构化数据还包括所述第三媒体数据对应的记录生成时间和属性信息;
所述将所述第三媒体数据、所述第三特征数据和所述第二结构化数据对应存储在所述数据库中,包括:
将所述第三媒体数据与所述第三媒体数据的标识对应存储在所述数据库中;
将所述第三特征数据、所述记录生成时间与所述第三媒体数据的标识对应存储在所述数据库中;
以倒排索引的方式,将所述第三媒体数据的标识与所述第二结构化数据中除所述记录生成时间之外的数据对应存储在所述数据库中。
另一方面,提供了一种数据检索装置,所述装置包括:
接收模块,用于接收客户端发送的检索请求,所述检索请求携带第一媒体数据;
第一确定模块,用于确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引;
第二确定模块,用于根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,所述数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引;
第三确定模块,用于将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,所述多个第二特征数据是指所述多个第一候选媒体数据对应的特征数据;
发送模块,用于向所述客户端发送所述多个第二媒体数据。
可选地,所述第三确定模块包括:
读取单元,用于将所述多个第二特征数据分次读取到所述内存中,每次读取到所述内存中的第二特征数据的总数量不超过第一预置数量;
计算单元,用于每读取一次,计算读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,并释放所述内存中的第二特征数据;
第一确定单元,用于在最后一次计算相似度之后,根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据。
可选地,所述第一确定单元包括:
排序子单元,用于对所述多个第一候选媒体数据对应的相似度计算结果进行排序,得到排序结果;
确定子单元,用于根据所述排序结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据,所述多个第二媒体数据的总数量不超过第二预置数量。
可选地,所述第一确定模块包括:
第一特征提取单元,用于通过特征提取模型对所述第一媒体数据进行处理,得到所述第一特征数据;
第一预分类单元,用于对所述第一特征数据进行高维向量分类处理,得到所述第一高维向量索引。
可选地,所述数据库还存储有多个高维向量索引,每个高维向量索引在分类空间中对应有一个空间坐标;
所述第二确定模块包括:
第二确定单元,用于根据所述第一高维向量索引在所述分类空间中对应的空间坐标,从所述数据库存储的高维向量索引中,确定在所述分类空间中对应的空间坐标与所述第一高维向量索引在所述分类空间中对应的空间坐标之间的距离不超过距离阈值的高维向量索引,得到多个第二高维向量索引,所述多个第二高维向量索引的总数量不超过第三预置数量;
第三确定单元,用于从所述数据库存储的媒体数据中,确定所述多个第二高维向量索引对应的媒体数据,得到所述多个第一候选媒体数据。
可选地,所述检索请求还携带过滤条件,所述过滤条件包括时间过滤范围和/或检索关键字,所述数据库存储的每个媒体数据还对应有一个结构化数据,所述结构化数据包括相应媒体数据对应的记录生成时间和属性信息;
所述装置还包括:
过滤模块,用于根据所述时间过滤范围和/或所述检索关键字,以及所述数据库存储的每个媒体数据对应的结构化数据,从所述数据库存储的媒体数据中过滤得到多个第二候选媒体数据;
所述第二确定模块包括:
第四确定单元,用于根据所述第一高维向量索引,从所述多个第二候选媒体数据中确定所述多个第一候选媒体数据。
可选地,所述装置还包括:
获取模块,用于获取待存储的第三媒体数据;
第四确定模块,用于确定所述第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引;
存储模块,用于将所述第三媒体数据、所述第三特征数据和所述第三高维向量索引存储至所述数据库中。
可选地,所述第四确定模块包括:
第二特征提取单元,用于通过特征提取模型对所述第三媒体数据进行处理,得到所述第三特征数据;
第二预分类单元,用于对所述第三特征数据进行高维向量分类处理,得到所述第三高维向量索引。
可选地,所述第三媒体数据对应有第一结构化数据;
所述存储模块包括:
增加单元,用于在所述第一结构化数据中增加指定字段;
第一存储单元,用于将所述第三高维向量索引存储在所述指定字段中,得到所述第三媒体数据对应的第二结构化数据;
第二存储单元,用于将所述第三媒体数据、所述第三特征数据和所述第二结构化数据对应存储在所述数据库中。
可选地,所述第二结构化数据还包括所述第三媒体数据对应的记录生成时间和属性信息;
所述第二存储单元包括:
第一存储子单元,用于将所述第三媒体数据与所述第三媒体数据的标识对应存储在所述数据库中;
第二存储子单元,用于将所述第三特征数据、所述记录生成时间与所述第三媒体数据的标识对应存储在所述数据库中;
第三存储子单元,用于以倒排索引的方式,将所述第三媒体数据的标识与所述第二结构化数据中除所述记录生成时间之外的数据对应存储在所述数据库中。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的程序,以实现上述所述数据检索方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述数据检索方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的数据检索方法的步骤。
本申请实施例提供的技术方案至少可以带来以下有益效果:
在本申请实施例中,无需定时读取历史较长一段时间内的全部特征数据到内存中,而是先根据高维向量索引从数据库中过滤数据,再将过滤之后确定的特征数据读取到内存中,因此,本方案每次读取的数据量很小,耗时很短。且由于读取到内存中的数据量很小,因此,后续的相似度计算过程对内存资源消耗很小。另外,由于本方案无需等待一段时间将实时特征数据读取到内存中再用于检索,而是直接从数据库中检索数据,这样即能够检索到最新相似数据。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据检索方法所涉及的***架构图;
图2是本申请实施例提供的一种数据检索方法的流程图;
图3是本申请实施例提供的另一种数据检索方法的流程图;
图4是本申请实施例提供的一种数据存储方法的流程图;
图5是本申请实施例提供的另一种数据存储方法的流程图;
图6是本申请实施例提供的一种确定媒体数据的索引的方法流程图;
图7是本申请实施例提供的一种数据检索装置的结构示意图;
图8是本申请实施例提供的另一种数据检索装置的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本方案能够应用到各种各样的检索场景中,例如检索的媒体对象为图像、文本、音频或者视频等,也即本申请实施例中的媒体数据可以为图像数据、文本数据、音频数据或者视频数据等。
以媒体数据为图像数据为例,例如,在视频监控的场景中,各个监控设备采集图像数据上传至服务器,用户通过监控室的客户端发送携带人脸图像数据的检索请求到服务器,以请求检索目标人物,服务器在根据该检索请求检索到多个相似的人脸图像数据之后发送给客户端,客户端可以通过渲染图像数据来显示对应的人脸图像,用户通过观看这些人脸图像来判断是否监控到目标人物。又如,在商品检索场景中,用户通过客户端发送携带商品图像数据的检索请求给服务器,以请求检索相似商品,服务器将检索到的相似商品图像数据发送给客户端,客户端可以显示对应的商品图像以供用户选择。
以媒体数据为文本数据为例,服务器的数据库中存储有海量的文本数据,假设这些文本数据是歌词数据,如果用户想要检索相似歌曲,可以通过客户端向服务器发送携带歌词或者歌名的检索请求,服务器在根据该检索请求检索到多个相似的歌曲数据之后发送给客户端,在客户端上显示对应的歌曲信息供用户选择。
接下来对本申请实施例提供的数据检索方法所涉及的***架构进行介绍。
图1是本申请实施例提供的一种数据检索方法所涉及的***架构图。参见图1,该***架构包括数据采集设备101、服务器102和客户端103。数据采集设备101与服务器102之间通过有线或无线方式连接以进行通信,服务器102与客户端103通过有线或无线方式连接以进行通信。
数据采集设备101用于采集媒体数据,并将采集的媒体数据发送给服务器102。例如,在图像检索场景中,数据采集设备用于采集图像数据。
服务器102用于将接收到的媒体数据根据本申请实施例提供的数据存储方法存储在数据库中。服务器102还用于接收客户端103发送的检索请求,该检索请求携带第一媒体数据,服务器102能够根据本申请实施例提供的数据检索方法检索得到多个第二媒体数据,并将该多个第二媒体数据发送给客户端103。
客户端103用于根据用户输入生成检索请求,向服务器102发送携带第一媒体数据的检索请求,并接收服务器102根据该检索请求检索得到的多个第二媒体数据。可选地,客户端103还能够显示该多个第二媒体数据对应的媒体,例如,当媒体数据为图像数据时,客户端103通过对该多个第二图像数据进行渲染,得到对应的图像,并显示这些图像。
可选地,服务器102还用于对接收到的媒体数据进行智能分析,以得到该媒体数据对应的结构化数据并存储在数据库。或者,其他设备对该媒体数据进行智能分析,得到该媒体数据对应的结构化数据,并将该媒体数据对应的结构化数据发送给服务器102,服务器102还用于接收该其他设备发送的该媒体数据对应的结构化数据,并将该媒体数据对应的结构化数据存储在数据库。
可选地,服务器102也能够接收其他设备发送的媒体数据并存储在数据库,例如接收并存储各个应用终端提交的媒体数据。也即是,前述数据采集设备101仅为服务器102获取媒体数据的一种示例性途径,在本申请实施例中,服务器102能够通过任意途径获取图像数据并存储。
可选地,客户端103是任一种能够向服务器102发送检索请求的设备,例如客户端103是前述提交媒体数据给服务器102的任一应用终端,或者,是监控室的用户设备,或者,是接受该服务器102提供数据服务的任一终端设备。也即是,客户端103与数据采集设备101为同一设备,或者为不同设备,本申请实施例对此不作限定。
可选地,在服务器102本身包括能够与用户交互的输入/输出设备的情况下,例如,服务器102包括键盘、鼠标、显示器等设备,服务器102能够接收用户通过输入设备输入的检索请求。这种情况下,客户端103即与服务器102为同一设备。
需要说明的是,由以上介绍可知,图1仅为本申请实施例提供的一种示例性的***架构,图1本身并不对本申请实施例构成限定。
在本申请实施例中,数据采集设备101可以为摄像头、监控器、手机、笔记本电脑、平板电脑、台式电脑、智能家电等设备。服务器102可以为一台服务器,也可以为多台服务器构成的服务器集群,也可以为一个云计算服务中心。客户端103可以为手机、笔记本电脑、平板电脑、台式电脑、智能家电等设备。
接下来对本申请实施例提供的数据检索方法进行详细的解释说明。
图2是本申请实施例提供的一种数据检索方法的流程图。请参考图2,该方法包括如下步骤。
步骤201:接收客户端发送的检索请求,该检索请求携带第一媒体数据。
在本申请实施例中,在用户需要进行以一个媒体对象来检索相似媒体对象时,可以向客户端输入第一媒体对象,通过客户端向服务器发送检索请求,该检索请求携带第一媒体数据。服务器接收客户端发送的检索请求。
例如,在媒体对象为图像的场景中,用户向客户端输入第一图像,客户端向服务器发送以图搜图的检索请求,检索请求携带第一图像数据。示例性地,用户通过客户端向客户端上的检索框中输入一幅图像,该图像的图像数据为第一图像数据,客户端生成携带第一图像数据的检索请求,并向服务器发送该检索请求,服务器即接收到携带第一图像数据的检索请求。
步骤202:确定第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引。
在本申请实施例中,服务器对检索请求携带的第一媒体数据进行特征提取以及预分类,得到第一特征数据和第一高维向量索引。
可选地,服务器能够通过特征提取模型对第一媒体数据进行处理,得到第一特征数据,并对第一特征数据进行高维向量分类处理,得到第一高维向量索引。
需要说明的是,服务器对第一媒体数据进行特征提取得到第一特征数据的实现方式有很多,例如服务器通过依据深度学习算法得到的特征提取模型来提取特征、通过模式比对来提取特征,在媒体对象为图像时,也可以通过对色彩、纹理、线条等分析来提取特征,在媒体对象为音频时,也可以对音频进行音色、音调等分析来提取特征。也即是,在不同的应用场景中,特征提取的原理和方法可能不同,本申请实施例对特征提取的方法不作限定,本申请实施例仅以上述介绍的通过特征提取模型来提取特征对此进行说明。
在本申请实施例中,第一特征数据可以为一个向量,第一特征数据的长度较长,对第一特征数据进行高维向量分类处理,可以得到第一高维向量索引,这个过程是高维向量分类过程,也即对媒体数据进行预分类的过程,该过程可以将维数较高的特征数据抽取到较低的维度,用一个高维向量索引表示。也即是,一个特征数据经过高维向量分类处理之后,得到唯一的一个高维向量索引。也可以理解为,通过高维向量分类过程为一个高维特征向量生成一个分类序号,该分类序号作为媒体数据对应的高维向量索引。
可选地,高维向量索引以倒排索引的方式存储在数据库中。另外,在另一些实施例中,高维向量索引也可以称为预分类号。
步骤203:根据第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,该数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引。
在本申请实施例中,服务器的数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引,服务器在确定第一媒体数据对应的第一高维向量索引之后,根据第一高维向量索引,从该数据库存储的媒体数据中确定多个第一候选媒体数据。也即是,在本申请实施例中,服务器能够根据高维向量索引来检索过滤媒体数据。
可选地,该数据库还存储有多个高维向量索引,每个高维向量索引在分类空间中对应有一个空间坐标,服务器能够根据高维向量索引对应的空间坐标来确定多个第二高维向量索引,并从该数据库存储的媒体数据中,确定该多个第二高维向量索引对应的媒体数据,得到多个第一候选媒体数据。
需要说明的是,在本申请实施例中,各个高维向量索引在分类空间中对应的空间坐标之间距离的远近在一定程度上可以表征各个高维向量索引对应的媒体数据之间的近似程度。例如,两个高维向量索引对应的空间坐标越近,表示这两个高维向量索引对应的媒体数据之间的相似度越高,两个高维向量索引对应的空间坐标越远,表示这两个高维向量索引对应的媒体数据之间的相似度越低。
在本申请实施例中,服务器根据高维向量索引对应的空间坐标来确定多个第二高维向量索引的实现方式有多种,接下来介绍其中的三种实现方式。
第一种实现方式、服务器根据第一高维向量索引在该分类空间中对应的空间坐标,从该数据库存储的高维向量索引中,确定在该分类空间中对应的空间坐标与第一高维向量索引在该分类空间中对应的空间坐标之间的距离不超过距离阈值的高维向量索引,得到多个第二高维向量索引,该多个第二高维向量索引的总数量不超过第三预置数量。
在本申请实施例中,服务器以第一高维向量索引对应的空间坐标为中心,以距离阈值为半径来确定分类空间中的一个邻域范围,根据该邻域范围内对应有高维向量索引的空间坐标与该中心的距离远近,来确定该多个第二高维向量索引。
如果以该距离阈值为半径确定的邻域范围内对应有高维向量索引的空间坐标的总数量大于第三预置数量,那么服务器计算该邻域范围内对应有高维向量索引的每个空间坐标与该中心的距离,得到相应高维向量索引对应的距离结果,将计算得到的距离结果从小到大排序,将排序在前的第三预置数量的距离结果对应的高维向量索引确定为该多个第二高维向量索引,这种情况下,该多个第二高维向量索引的总数量等于第三预置数量。
如果以该距离阈值为半径确定的邻域范围内对应有高维向量索引的空间坐标的总数量少于第三预置数量,那么服务器直接将该邻域范围内对应有高维向量索引的空间坐标确定为多个目标空间坐标,将该多个目标空间坐标对应的高维向量索引确定为该多个第二高维向量索引,该多个第二高维向量索引的总数量小于第三预置数量。
可选地,服务器也可以不确定邻域范围,直接计算该多个高维向量索引中的每个高维向量索引对应的空间坐标与第一高维向量索引对应的空间坐标之间的距离,获取小于距离阈值的多个距离结果,每个距离结果对应一个高维向量索引,服务器对该多个距离结果从小到大排序,在该多个距离结果的总数量大于第三预置数量的情况下,将排序在前的第三预置数量的距离结果对应的高维向量索引作为该多个第二高维向量索引,在该多个距离结果的总数量不大于第三预置数量的情况下,将该多个距离结果对应的高维向量索引作为该多个第二高维向量索引。
需要说明的是,由于空间坐标之间距离的远近在一定程度上能够表征各个高维向量索引对应的图像数据之间的相似程度,因此,在这种实现方式中,服务器以距离阈值为准来确定该多个第二高维向量索引,能够保证所确定的多个高维向量索引对应的图像数据与第一图像数据的相似度较高。
第二种实现方式、服务器判断存储的多个高维向量索引的总数量与第三预置数量的大小,如果存储的多个高维向量索引的总数量大于第三预置数量,那么服务器根据第一高维向量索引在该分类空间中对应的空间坐标,从该数据库存储的高维向量索引中,确定多个第二高维向量索引,该多个第二高维向量索引的总数量等于第三预置数量。如果存储的多个高维向量索引的总数量不大于第三预置数量,那么服务器将存储的多个高维向量索引确定为多个第二高维向量索引。
在存储的多个高维向量索引的总数量大于第三预置数量的情况下,服务器以第一高维向量索引对应的空间坐标为中心,以距离阈值为半径来确定分类空间中的一个邻域范围,根据该邻域范围内对应有高维向量索引的空间坐标与该中心的距离远近,来确定该多个第二高维向量索引,该多个第二高维向量索引的总数量等于第三预置数量。
如果以该距离阈值为半径确定的邻域范围内对应有高维向量索引的空间坐标的总数量不小于第三预置数量,那么服务器计算该邻域范围内对应有高维向量索引的每个空间坐标与第一高维向量索引对应的空间坐标之间的距离,得到多个距离结果,服务器对该多个距离结果从小到大排序,将排序在前的第三预置数量的距离结果对应的高维向量索引,确定为该多个第二高维向量索引。如果以该距离阈值为半径确定的邻域范围内对应有高维向量索引的空间坐标的总数量少于第三预置数量,且该邻域范围外的空间坐标中仍对应有高维向量索引,那么服务器可以增大该距离阈值,重新以增大之后的距离阈值来确定该多个第二高维向量索引,以保证在存储的多个高维向量索引的总数量大于第三预置数量的情况下,该多个第二高维向量索引的总数量等于第三预置数量。
也即是,在存储的多个高维向量索引的总数量大于第三预置数量的情况下,该多个第二高维向量索引的总数量等于第三预置数量,在存储的多个高维向量索引的总数量不大于第三预置数量的情况下,该多个第二高维向量索引的总数量等于该多个高维向量索引的总数量。
可选地,服务器也可以不确定邻域范围,而是直接计算该分类空间中对应有高维向量索引的每个空间坐标与第一高维向量索引对应的空间坐标之间的距离,得到多个距离结果,每个距离结果对应一个高维向量索引,服务器对该多个距离结果从大到小进行排序。在存储的多个高维向量索引的总数量大于第三预置数量的情况下,将排序在前的第三预置数量的距离结果对应的高维向量索引作为该多个第二高维向量索引,在存储的多个高维向量索引的总数量不大于第三预置数量的情况下,将该多个高维向量索引作为该多个第二高维向量索引。
示例性地,假设第三预置数量为3,数据库中存储的多个高维向量索引的总数量大于3,那么服务器根据第一高维向量索引在分类空间中对应的空间坐标,与该分类空间中对应有高维向量索引的空间坐标之间的距离,确定的多个第二高维向量索引的总数量为3。
需要说明的是,在这种实现方式中,服务器以第三预置数量为准来确定该多个第二高维向量索引,在存储的高维向量索引的总数量不小于第三预置数量的情况下,能够保证所确定的多个高维向量索引的总数量等于第三预置数量,而不会小于第三预置数量,以检索到足够数量的相似图像。
除了以上介绍的两种实现方式,可选地,在存储的多个高维向量索引的总数量不大于第三预置数量,且该多个高维向量索引对应的空间坐标与第一高维向量索引对应的空间坐标之间距离均小于距离阈值的情况下,为了避免服务器将该多个高维向量索引均作为第二高维向量索引,导致后续需要处理的数据量过大,服务器也可以通过减小第三预置数量,根据减小之后的第三预置数量来确定多个第二高维向量索引,该多个第二高维向量索引的总数量等于减小之后的第三预置数量,且该多个第二高维向量索引对应的图像数据与第一图像数据之间的相似度更高。或者,在这种情况下,服务器也可以通过减小距离阈值,根据减小之后的距离阈值来确定多个第二高维向量索引,该多个第二高维向量索引对应的空间坐标与第一高维向量索引对应的空间坐标之间的距离均不超过减小之后的距离阈值。
假设第三预置数量为5,数据库中存储的多个高维向量索引的总数量为3,且这3个高维向量索引对应的空间坐标与第一高维向量索引对应的空间坐标之间距离均小于距离阈值,那么服务器可以减小第三预置数量为2,根据减小为2的第三预置数量,以及高维向量索引对应的空间坐标之间的距离,确定得到2个第二高维向量索引。或者,服务器可以减小距离阈值,假设这3个高维向量索引中仅有2个高维向量索引对应的空间坐标与第一高维向量索引对应的空间坐标之后的距离小于减小之后的距离阈值,那么服务器将这2个高维向量索引确定为2个第二高维向量索引。
在本申请实施例中,用户除了向客户端输入第一媒体对象,还可能输入期望检索的时间过滤范围,或者也可能输入检索关键字,以作为服务器检索的过滤条件。在这种情况下,检索请求还携带过滤条件,过滤条件包括时间过滤范围和/或检索关键字,服务器的数据库存储的每个媒体数据还对应有一个结构化数据,结构化数据包括相应媒体数据对应的记录生成时间和属性信息,服务器可以将过滤条件与结构化数据结合使用来过滤数据。
可选地,服务器根据高维向量索引,从数据库中过滤数据之前,先根据过滤条件从数据库中过滤数据,之后,再根据高维向量索引从过滤之后的数据中进一步过滤数据。也即是,在本申请实施例中,服务器根据第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据之前,先根据时间过滤范围和/或检索关键字,以及数据库存储的每个媒体数据对应的结构化数据,从该数据库存储的媒体数据中过滤得到多个第二候选媒体数据。然后,服务器再根据第一高维向量索引,从该多个第二候选媒体数据中确定多个第一候选媒体数据。
在过滤条件仅包括时间过滤范围的情况下,服务器可以根据时间过滤范围,以及数据库存储的每个媒体数据对应的结构化数据包括的记录生成时间,过滤得到对应的记录生成时间在该时间过滤范围内的媒体数据,作为多个第二候选媒体数据。
在一些可能的实施例中,数据库中存储的媒体数据按照时间段进行存储,例如按照天、周、月、年等时间单位来分时间段存储,服务器可以根据时间过滤范围查询对应的时间段,如果查询到的时间段未超出该过滤时间范围,则服务器将查询到的时间段内的媒体数据作为多个第二候选媒体数据。如果查询到的时间段超出该时间过滤范围,则服务器在查询到对应的时间段之后,再根据结构化数据包括的记录生成时间,从该时间段内对应的媒体数据中过滤出记录生成时间在该时间过滤范围内的一部分媒体数据,将这部分媒体数据确定为多个第二候选媒体数据。
在过滤条件包括仅包括检索关键字的情况下,服务器可以根据检索关键字,以及数据库存储的每个媒体数据对应的结构化数据包括的属性信息,过滤得到与检索关键字匹配的媒体数据,作为多个第二候选媒体数据。
需要说明的是,在本申请实施例中,结构化数据包括的属性信息是服务器或者其他设备对相应媒体数据进行智能分析得到的数据,属性信息可以包括一个或多个属性数据。例如,在图像检索场景中,服务器对图像数据进行目标识别,识别出图像数据上的目标以及目标的属性,目标如人、车等,目标为人的属性如黑色头发、白色上衣、戴帽子等,属性数据包括这些目标以及目标的属性,或者服务器对图像数据进行分类检测,得到图像数据的分类属性,分类属性如人脸、猫、车等,属性数据包括这些分类属性。另外,结构化数据包括多个字段,每个字段用于存储一种数据,如前述的记录生成时间存储在一个字段中,一个属性数据存储在一个字段中。
另外,在申请实施例中,结构化数据中除记录生成时间之外的数据以倒排索引的方式,与相应媒体数据的标识对应存储在数据库中,以作为媒体数据的索引,在这种倒排索引的存储方式中,属性信息包括的一个属性数据对应一个或多个媒体数据的标识,这样,服务器在根据检索关键字与结构化数据包括的属性信息过滤数据时,服务器能够以匹配到的属性数据为索引,过滤得到对应的媒体数据的标识,检索效率较高。例如,检索关键字包括‘戴帽子’,服务器可以过滤得到与‘戴帽子’匹配的属性数据对应的媒体数据的标识。
在过滤条件包括时间过滤范围和检索关键字的情况下,服务器可以先根据时间过滤范围来过滤数据,再根据检索关键字进一步过滤数据,得到多个第二候选媒体数据。或者,服务器先根据检索关键字过滤数据,再根据时间过滤范围进一步过滤数据,得到多个第二候选媒体数据。
前述介绍了在检索请求还包括过滤条件的情况下,服务器可以先根据过滤条件过滤数据,再根据高维向量索引过滤数据。可选地,服务器也可以先根据高维向量索引从数据库中过滤数据,再根据过滤条件进一步过滤。或者,在过滤条件包括时间过滤范围和检索关键字的情况下,服务器也可以先根据时间过滤范围从数据库中过滤数据,再根据高维向量索引进一步过滤,最后根据检索关键字进一步过滤。也即是,服务器可以以任一种过滤顺序来过滤数据,本申请实施例对此不作限定。
需要说明的是,通常由于用户期望检索的数据的时间范围较小,因此,在服务器先根据时间过滤范围来过滤数据的情况下,能够一次性地过滤掉大部分不满足过滤条件的数据,这样所确定的多个第二候选媒体数据的数据量将较小,能够大大减少后续需要处理的数据量,提高检索效率。
步骤204:将多个第二特征数据读取到内存中,根据读取到内存中的每个第二特征数据与第一特征数据之间的相似度,确定多个第二媒体数据,该多个第二特征数据是指该多个第一候选媒体数据对应的特征数据。
在本申请实施例中,服务器在确定多个第一候选媒体数据之后,将多个第二特征数据读取到内存中,并与内存中的第一特征数据进行相似度计算,以确定最终向客户端反馈的媒体数据。其中,该多个第二特征数据是指该多个第一候选媒体数据对应的特征数据,第一特征数据是指第一媒体数据对应的特征数据。
可选地,服务器将该多个第二特征数据分次读取到内存中,每次读取到内存中的第二特征数据的总数量不超过第一预置数量,每读取一次,计算读取到内存中的每个第二特征数据与第一特征数据之间的相似度,并释放内存中的第二特征数据,在最后一次计算相似度之后,根据该多个第一候选媒体数据对应的相似度计算结果,从该多个第一候选媒体数据中确定多个第二媒体数据。
在本申请实施例中,服务器能够根据第一预置数量来分次读取第二特征数据到内存中。例如,假设第一预置数量为1,那么服务器每次读取一个第二特征数据到内存中,并计算内存中该第二特征数据与第一特征数据之间的相似度,得到相应第一候选媒体数据对应的相似度计算结果,每次计算完相似度之后释放掉该第二特征数据,直至该多个第二特征数据全部读取一遍并完成相似度计算,得到每个第一候选媒体数据对应的相似度计算结果。又如,假设第一预置数量为10,那么服务器每次读取10个第二特征数据到内存中,并计算内存中这10个第二特征数据中的每个第二特征数据与第一特征数据之间的相似度,得到相应10个第一候选媒体数据对应的相似度计算结果,每次计算完相似度之后释放掉这10个第二特征数据,直至该多个第二特征数据全部读取一遍并完成相似度计算,得到每个第一候选媒体数据对应的相似度计算结果。
可选地,由于服务器经过前述根据高维向量索引对数据库中的媒体数据过滤的步骤之后,所确定的多个第一候选媒体数据的总数量可能已经很小,因此,服务器也可以一次性地将所有的第二特征数据读取到内存中,来计算相似度。
需要说明的是,在本申请实施例中,可以根据服务器的内存资源、硬件条件等,来配置服务器中的第一预置数量,服务器根据第一预置数量来分次读取第二特征数据到内存中。在服务器的内存资源充足、硬件条件良好的情况下,服务器也可以不配置第一预置数量,而直接一次读取全部的第二特征数据到内存中。
在本申请实施例中,服务器在得到该多个第一候选媒体数据对应的相似度计算结果之后,能够对该多个第一候选媒体数据对应的相似度计算结果进行排序,得到排序结果,根据该排序结果,从该多个第一候选媒体数据中确定多个第二媒体数据,该多个第二媒体数据的总数量不超过第二预置数量。
需要说明的是,在本申请实施例中,第二预置数量为服务器中配置的参数,在其他一些实施例中,服务器中也可以不配置第二预置数量,而客户端向服务器发送的检索请求中还可以携带第二预置数量。或者,服务器中配置有一个第二预置参数,客户端向服务器发送的检索请求也携带一个第二预置数量,这种情况下,服务器可以以客户端请求的第二预置数量为准。
假设第二预置数量为N,在该多个第一候选媒体数据的总数量大于N的情况下,服务器将该多个第一候选媒体数据对应的相似度计算结果从大到小进行排序,从数据库存储的媒体数据中获取排在前N个的相似度计算结果对应的第一媒体数据,作为最终的多个第二媒体数据。可选地,服务器根据对相似度计算结果从大到小排序的排序结果,确定该多个第二媒体数据的顺序。
在该多个第一候选媒体数据的总数量不大于N的情况下,服务器也可以不执行读取第二特征数据到内存并计算相似度的步骤,而是直接将该多个第一候选媒体数据作为最终的多个第二媒体数据。或者,服务器执行读取第二特征数据到内存并计算相似度的步骤,并对该多个第一候选媒体数据对应的相似度计算结果从大到小排序,得到排序结果,根据该排序结果,确定该多个第一候选媒体数据的顺序,将确定顺序的多个第一候选媒体数据作为确定顺序的多个第二媒体数据。
可选地,服务器中也可以配置检索比例,服务器根据检索比例确定第二预置数量,例如,服务器用数据库中存储的媒体数据的总数量乘以检索比例并取整之后得到第二预置数量。
可选地,服务器在计算每个第二特征数据与第一特征数据之间的相似度,得到相应第一候选媒体数据对应的相似度计算结果之后,将该相似度计算结果与相似度阈值进行比较,如果该相似度计算结果不小于相似度阈值,则服务器记录该第一候选媒体数据对应的相似度计算结果,如果该相似度计算结果小于相似度阈值,则服务器直接将该第一候选媒体数据过滤掉,也即不记录该第一候选媒体数据对应的相似度计算结果。服务器在对该多个第二特征数据均计算完相似度,并与相似度阈值比较之后,确定多个第一候选媒体数据中相似度计算结果不小于相似度阈值的这部分第一候选媒体数据,仅对这部分第一候选媒体数据对应的相似度计算结果进行排序,将排序靠前的N个相似度计算结果对应的第一候选媒体数据,确定为最终的多个第二媒体数据。
在本申请实施例中,媒体数据与对应的标识对应存储在数据库中,服务器在获取该多个第二媒体数据之前,通过检索过滤以及相似度计算,确定得到该多个第二媒体数据对应的标识,之后,服务器能够根据标识从数据库中获取该多个第二媒体数据。
需要说明的是,在本申请实施例中,服务器无需定时读取历史较长一段时间内的全部特征数据到内存中,而是检索过滤之后再读取过滤后确定的特征数据,这样服务器每次读取的数据量较小,对服务器的内存资源的要求很低,能够减少对内存资源的消耗。在服务器分次读取的情况下,服务器每次读取的数据量更小,对内存资源的要求更低,即使数据库中存储的媒体数据以及对应的特征数据的数据量不断增加,内存资源也无需同步增加。由此可见,本方案对服务器的内存资源、硬件条件等要求很低,适用于轻量化应用场景,便于广泛推广应用。
步骤205:向该客户端发送该多个第二媒体数据。
在本申请实施例中,服务器从数据库中获取该多个第二媒体数据之后,能够将该多个第二媒体数据发送给客户端,以在该客户端上显示对应的多个第二媒体对象。
可选地,在服务器根据相似度排序结果对该多个第二媒体数据进行排序的情况下,服务器将排好序的多个第二媒体数据发送给该客户端,以在客户端上按照与第一媒体数据的相似程度从大到小的顺序来显示对应的多个第二媒体对象。
图3是本申请实施例提供的另一种数据检索方法的流程图。参见图3,服务器接收客户端发送的检索请求,该检索请求携带第一媒体数据和过滤条件,服务器对第一媒体数据进行特征提取得到第一特征数据,对第一特征数据进行高维向量分类处理,得到第一高维向量索引(也可称为第一预分类号),根据第一高维向量索引确定多个第二高维向量索引作为预分类列表,根据该预分类列表和过滤条件从数据库中过滤特征数据,如果过滤之后存在特征数据,则将过滤后得到的特征数据加载到内存中,计算读取到内存中的每个特征数据与第一特征数据之间的相似度,得到相似度计算结果并排序,从数据库中获取按照相似度计算结果从大到小排序后的前N个特征数据对应的媒体数据返回给客户端。如果过滤之后没有得到特征数据,则服务器向客户端反馈未检索到相似数据的提示信息。
以上介绍了本申请实施例提供的数据检索方法的数据检索过程,需要说明的是,本申请实施例提供的数据检索方法还包括数据存储过程,也即是,本申请实施例中还提供了一种数据存储方法,服务器能够根据该数据存储方法来存储媒体数据,以供数据检索。
图4是本申请实施例提供的一种数据存储方法的流程图。请参考图4,该方法包括如下步骤。
步骤401:获取待存储的第三媒体数据。
在本申请实施例中,服务器能够获取待存储的第三媒体数据,例如,在媒体对象为图像的场景中,服务器接收前端的图像采集设备发送的第三图像数据,或者,服务器接收应用终端提交的第三图像数据。
步骤402:确定第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引。
在本申请实施例中,服务器在接收到第三媒体数据之后,确定第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引。
可选地,服务器能够通过特征提取模型对第三媒体数据进行处理,得到第三特征数据,并对第三特征数据进行高维向量分类处理,得到第三高维向量索引。
需要说明的是,服务器对第三媒体数据进行特征提取得到第三特征数据的实现方式也有很多,与前述服务器对第一媒体数据进行特征提取的实现方式可以相同或不同,这里以服务器也通过特征提取模型对第三媒体数据进行特征提取进行说明,该特征提取模型与前述特征提取模型可以为同一个。另外,服务器对第三特征数据进行高维向量分类处理得到第三高维向量索引的过程也可以参考前述相关介绍,这里不再赘述。
步骤403:将第三媒体数据、第三特征数据和第三高维向量索引存储至数据库中。
在本申请实施例中,服务器在确定第三媒体数据对应的第三特征数据和第三高维向量索引之后,能够将第三媒体数据、第三特征数据和第三高维向量索引对应存储至数据库中,以便于服务器在检索过程中根据高维向量索引过滤数据,以及根据特征数据进行相似度计算。
可选地,第三媒体数据对应有第一结构化数据,服务器不仅能够获取第三媒体数据,还能够获取第三媒体数据对应的第一结构化数据,例如,服务器对获取的第三媒体数据进行智能分析,确定第一结构化数据,或者服务器接收其他设备发送的第一结构化数据。
可选地,服务器在第一结构化数据中增加指定字段,将第三高维向量索引存储在该指定字段中,得到第三媒体数据对应的第二结构化数据,之后,服务器将第三媒体数据、第三特征数据和第二结构化数据对应存储在数据库中。
在本申请实施例中,第二结构化数据还包括第三媒体数据对应的记录生成时间和属性信息,服务器可以将第三媒体数据与第三媒体数据的标识对应存储在数据库中,将第三特征数据、记录生成时间与第三媒体数据的标识对应存储在数据库中,以倒排索引的方式,将第三媒体数据的标识与第二结构化数据中除记录生成时间之外的数据对应存储在数据库中。
需要说明的是,在本申请实施例中,每个待存储的媒体数据对应的结构化数据包括相应媒体数据的记录生成时间和属性信息,以倒排索引的方式对结构化数据中除记录生成时间之外的数据进行存储,以在根据检索关键字进行检索的情况下提高检索效率,而由于记录生成时间的粒度很细,因此记录生成时间不采用倒排索引的方式存储。
在本申请实施例中,如果两个媒体数据对应的特征数据相同,那么这两个媒体数据对应的高维向量索引也相同,这样,一个高维向量索引可能对应多个媒体数据,一个高维向量索引对应的各个媒体数据属于一个大类,这些媒体数据较为相似。需要说明的是,由于存储一个特征数据所占用的空间较大,而存储一个高维向量索引所占用空间很小,因此,以高维向量索引作为媒体数据的索引进行存储,而非直接以特征数据作为索引,这样可以在满足提前以高维向量索引进行预分类便于快速精确过滤的同时,减小索引的存储空间,而特征数据用于相似度计算。
接下来以图5和图6对上述数据存储过程进一步解释说明。图5是本申请实施例提供的另一种数据存储方法的流程图。参见图5,服务器获取待存储的媒体数据,对该媒体数据进行特征提取以及预分类,得到对应的特征数据和高维向量索引(也可称为预分类号),根据预分类号确定该媒体数据的索引,服务器将该媒体数据、该媒体数据对应的特征数据和索引对应存储在数据库中。
图6是本申请实施例提供的一种确定媒体数据的索引的方法流程图。在本申请实施例中,服务器还能够获取待存储的媒体数据对应的结构化数据,参见图6,服务器在得到待存储的媒体数据对应的特征数据之后,对该特征数据进行高维向量分类处理,得到对应的高维向量索引(预分类号),将该高维向量索引存储在结构化数据中增加的指定字段中,以倒排索引的方式,根据结构化数据确定该媒体数据的索引。
在本申请实施例中,服务器将媒体数据对应的特征数据和索引存储在一个模块中,后续服务器能够通过这一个模块完成检索过滤以及向量相似度计算,也即,该模块能够基于过滤条件和高维向量索引过滤掉大量的媒体数据,以及通过向量相似度计算过滤掉一部分相似度较低的媒体数据。相比于特征数据和索引存储在不同的模块中,本方案检索过程无需数据在多个模块中复制和存储,整体性能更加稳定可靠。
示例性地,在存储过程中,服务器对媒体数据进行特征提取以及预分类得到特征数据和高维向量索引,高维向量索引存储在结构化数据中作为索引,服务器将特征数据以及索引存储在ElasticSearch组件中。在检索过程中,通过ElsaticSearch组件完成根据高维向量索引和过滤条件的检索过滤,以及特征数据之间的向量相似度计算。
另外,在本方案中实时数据入库即能检索到,实时性较高,且本方案无需定时读取历史特征数据以及定时增量读取实时特征数据到内存中,而是直接从数据库中检索过滤,不区分历史特征数据和实时特征数据,支持对历史特征数据和实时特征数据的快速检索比对。
本申请实施例中的媒体数据可以为图像数据、文本数据、音频数据、视频数据、字符串等,也即本申请实施例提供的数据检索方法可以应用于多种检索场景中,在各种检索场景中,能够通过高维向量分类技术得到媒体数据的高维向量索引,存储高维向量索引以快速检索。
例如,在图像检索场景中,检索请求携带第一图像数据,服务器对第一图像数据进行特征提取和预分类,得到对应的特征数据和高维向量索引,根据对应的高维向量索引确定多个第一候选图像数据,将每个第一候选图像数据对应的特征数据读取到内存中,并根据读取到内存中的每个第一候选文本数据对应的特征数据与第一图像数据对应的特征数据之间的相似度,确定多个第二图像数据,并从数据库中获取该多个第二图像数据反馈给客户端。
又如,在文本检索场景中,检索请求携带第一文本数据,服务器对第一文本数据进行特征提取和预分类,得到对应的特征数据和高维向量索引,根据对应的高维向量索引确定多个第一候选文本数据,将每个第一候选文本数据对应的特征数据读取到内存中,并根据读取到内存中的每个第一候选文本数据对应的特征数据与第一文本数据对应的特征数据之间的相似度,确定多个第二文本数据,并从数据库中获取该多个第二文本数据反馈给客户端。
在本申请实施例中,无需定时读取历史较长一段时间内的全部特征数据到内存中,而是先根据高维向量索引从数据库中过滤数据,再将过滤之后确定的特征数据读取到内存中,因此,本方案每次读取的数据量很小,耗时很短。且由于读取到内存中的数据量很小,因此,后续的相似度计算过程对内存资源消耗很小。另外,由于本方案无需等待一段时间将实时特征数据读取到内存中再用于检索,而是直接从数据库中检索数据,这样即能够检索到最新相似数据。
图7是本申请实施例提供的一种数据检索装置700的结构示意图,该数据检索装置700可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。请参考图7,该装置700包括:接收模块701、第一确定模块702、第二确定模块703、第三确定模块704和发送模块705。
接收模块701,用于接收客户端发送的检索请求,该检索请求携带第一媒体数据;
第一确定模块702,用于确定第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引;
第二确定模块703,用于根据第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,该数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引;
第三确定模块704,用于将多个第二特征数据读取到内存中,根据读取到内存中的每个第二特征数据与第一特征数据之间的相似度,确定多个第二媒体数据,该多个第二特征数据是指该多个第一候选媒体数据对应的特征数据;
发送模块705,用于向客户端发送多个第二媒体数据。
可选地,第三确定模块704包括:
读取单元,用于将该多个第二特征数据分次读取到内存中,每次读取到内存中的第二特征数据的总数量不超过第一预置数量;
计算单元,用于每读取一次,计算读取到内存中的每个第二特征数据与第一特征数据之间的相似度,并释放内存中的第二特征数据;
第一确定单元,用于在最后一次计算相似度之后,根据多个第一候选媒体数据对应的相似度计算结果,从该多个第一候选媒体数据中确定该多个第二媒体数据。
可选地,第一确定单元包括:
排序子单元,用于对多个第一候选媒体数据对应的相似度计算结果进行排序,得到排序结果;
确定子单元,用于根据排序结果,从该多个第一候选媒体数据中确定多个第二媒体数据,该多个第二媒体数据的总数量不超过第二预置数量。
可选地,第一确定模块包括:
第一特征提取单元,用于通过特征提取模型对第一媒体数据进行处理,得到第一特征数据;
第一预分类单元,用于对第一特征数据进行高维向量分类处理,得到第一高维向量索引。
可选地,该数据库还存储有多个高维向量索引,每个高维向量索引在分类空间中对应有一个空间坐标;
第二确定模块包括:
第二确定单元,用于根据第一高维向量索引在该分类空间中对应的空间坐标,从该数据库存储的高维向量索引中,确定在该分类空间中对应的空间坐标与第一高维向量索引在该分类空间中对应的空间坐标之间的距离不超过距离阈值的高维向量索引,得到多个第二高维向量索引,该多个第二高维向量索引的总数量不超过第三预置数量;
第三确定单元,用于从该数据库存储的媒体数据中,确定该多个第二高维向量索引对应的媒体数据,得到多个第一候选媒体数据。
可选地,该检索请求还携带过滤条件,该过滤条件包括时间过滤范围和/或检索关键字,该数据库存储的每个媒体数据还对应有一个结构化数据,结构化数据包括相应媒体数据对应的记录生成时间和属性信息;
该装置700还包括:
过滤模块,用于根据该时间过滤范围和/或检索关键字,以及该数据库存储的每个媒体数据对应的结构化数据,从该数据库存储的媒体数据中过滤得到多个第二候选媒体数据;
第二确定模块包括:
第四确定单元,用于根据第一高维向量索引,从该多个第二候选媒体数据中确定多个第一候选媒体数据。
可选地,参见图8,该装置700还包括:
获取模块706,用于获取待存储的第三媒体数据;
第四确定模块707,用于确定第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引;
存储模块708,用于将第三媒体数据、第三特征数据和第三高维向量索引存储至该数据库中。
可选地,第四确定模块707包括:
第二特征提取单元,用于通过特征提取模型对第三媒体数据进行处理,得到第三特征数据;
第二预分类单元,用于对第三特征数据进行高维向量分类处理,得到第三高维向量索引。
可选地,第三媒体数据对应有第一结构化数据;
存储模块708包括:
增加单元,用于在第一结构化数据中增加指定字段;
第一存储单元,用于将第三高维向量索引存储在该指定字段中,得到第三媒体数据对应的第二结构化数据;
第二存储单元,用于将第三媒体数据、第三特征数据和第二结构化数据对应存储在该数据库中。
可选地,第二结构化数据还包括第三媒体数据对应的记录生成时间和属性信息;
第二存储单元包括:
第一存储子单元,用于将第三媒体数据与第三媒体数据的标识对应存储在该数据库中;
第二存储子单元,用于将第三特征数据、该记录生成时间与第三媒体数据的标识对应存储在该数据库中;
第三存储子单元,用于以倒排索引的方式,将第三媒体数据的标识与第二结构化数据中除记录生成时间之外的数据对应存储在该数据库中。
在本申请实施例中,无需定时读取历史较长一段时间内的全部特征数据到内存中,而是先根据高维向量索引从数据库中过滤数据,再将过滤之后确定的特征数据读取到内存中,因此,本方案每次读取的数据量很小,耗时很短。且由于读取到内存中的数据量很小,因此,后续的相似度计算过程对内存资源消耗很小。另外,由于本方案无需等待一段时间将实时特征数据读取到内存中再用于检索,而是直接从数据库中检索数据,这样即能够检索到最新相似数据。
需要说明的是:上述实施例提供的数据检索装置在检索数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据检索装置与数据检索方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种服务器的结构示意图。该服务器可以为上述实施例中的服务器。服务器900包括中央处理单元(CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的***存储器904,以及连接***存储器904和中央处理单元901的***总线905。服务器900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)906,和用于存储操作***913、应用程序914和其他程序模块915的大容量存储设备907。
基本输入/输出***906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中显示器908和输入设备909都通过连接到***总线905的输入输出控制器910连接到中央处理单元901。基本输入/输出***906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备907通过连接到***总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备907及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,大容量存储设备907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器904和大容量存储设备907可以统称为存储器。
根据本申请的各种实施例,服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在***总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的数据检索方法的指令。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中数据检索方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的数据检索方法的步骤。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种数据检索方法,其特征在于,所述方法包括:
接收客户端发送的检索请求,所述检索请求携带第一媒体数据;
确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引;
根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,所述数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引;
将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,所述多个第二特征数据是指所述多个第一候选媒体数据对应的特征数据;
向所述客户端发送所述多个第二媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,包括:
将所述多个第二特征数据分次读取到所述内存中,每次读取到所述内存中的第二特征数据的总数量不超过第一预置数量;
每读取一次,计算读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,并释放所述内存中的第二特征数据;
在最后一次计算相似度之后,根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据,包括:
对所述多个第一候选媒体数据对应的相似度计算结果进行排序,得到排序结果;
根据所述排序结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据,所述多个第二媒体数据的总数量不超过第二预置数量。
4.根据权利要求1所述的方法,其特征在于,所述确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引,包括:
通过特征提取模型对所述第一媒体数据进行处理,得到所述第一特征数据;
对所述第一特征数据进行高维向量分类处理,得到所述第一高维向量索引。
5.根据权利要求1所述的方法,其特征在于,所述数据库还存储有多个高维向量索引,每个高维向量索引在分类空间中对应有一个空间坐标;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,包括:
根据所述第一高维向量索引在所述分类空间中对应的空间坐标,从所述数据库存储的高维向量索引中,确定在所述分类空间中对应的空间坐标与所述第一高维向量索引在所述分类空间中对应的空间坐标之间的距离不超过距离阈值的高维向量索引,得到多个第二高维向量索引,所述多个第二高维向量索引的总数量不超过第三预置数量;
从所述数据库存储的媒体数据中,确定所述多个第二高维向量索引对应的媒体数据,得到所述多个第一候选媒体数据。
6.根据权利要求1-5任一所述的方法,其特征在于,所述检索请求还携带过滤条件,所述过滤条件包括时间过滤范围和/或检索关键字,所述数据库存储的每个媒体数据还对应有一个结构化数据,所述结构化数据包括相应媒体数据对应的记录生成时间和属性信息;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据之前,还包括:
根据所述时间过滤范围和/或所述检索关键字,以及所述数据库存储的每个媒体数据对应的结构化数据,从所述数据库存储的媒体数据中过滤得到多个第二候选媒体数据;
所述根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,包括:
根据所述第一高维向量索引,从所述多个第二候选媒体数据中确定所述多个第一候选媒体数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待存储的第三媒体数据;
确定所述第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引;
将所述第三媒体数据、所述第三特征数据和所述第三高维向量索引存储至所述数据库中。
8.根据权利要求7所述的方法,其特征在于,所述确定所述第三媒体数据对应的特征数据和高维向量索引,得到第三特征数据和第三高维向量索引,包括:
通过特征提取模型对所述第三媒体数据进行处理,得到所述第三特征数据;
对所述第三特征数据进行高维向量分类处理,得到所述第三高维向量索引。
9.根据权利要求7或8所述的方法,其特征在于,所述第三媒体数据对应有第一结构化数据;
所述将所述第三媒体数据、所述第三特征数据和所述第三高维向量索引存储至所述数据库中,包括:
在所述第一结构化数据中增加指定字段;
将所述第三高维向量索引存储在所述指定字段中,得到所述第三媒体数据对应的第二结构化数据;
将所述第三媒体数据、所述第三特征数据和所述第二结构化数据对应存储在所述数据库中。
10.根据权利要求9所述的方法,其特征在于,所述第二结构化数据还包括所述第三媒体数据对应的记录生成时间和属性信息;
所述将所述第三媒体数据、所述第三特征数据和所述第二结构化数据对应存储在所述数据库中,包括:
将所述第三媒体数据与所述第三媒体数据的标识对应存储在所述数据库中;
将所述第三特征数据、所述记录生成时间与所述第三媒体数据的标识对应存储在所述数据库中;
以倒排索引的方式,将所述第三媒体数据的标识与所述第二结构化数据中除所述记录生成时间之外的数据对应存储在所述数据库中。
11.一种数据检索装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的检索请求,所述检索请求携带第一媒体数据;
第一确定模块,用于确定所述第一媒体数据对应的特征数据和高维向量索引,得到第一特征数据和第一高维向量索引;
第二确定模块,用于根据所述第一高维向量索引,从数据库存储的媒体数据中确定多个第一候选媒体数据,所述数据库存储的每个媒体数据对应有一个特征数据和一个高维向量索引;
第三确定模块,用于将多个第二特征数据读取到内存中,根据读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,确定多个第二媒体数据,所述多个第二特征数据是指所述多个第一候选媒体数据对应的特征数据;
发送模块,用于向所述客户端发送所述多个第二媒体数据。
12.根据权利要求11所述的装置,其特征在于,所述第三确定模块包括:
读取单元,用于将所述多个第二特征数据分次读取到所述内存中,每次读取到所述内存中的第二特征数据的总数量不超过第一预置数量;
计算单元,用于每读取一次,计算读取到所述内存中的每个第二特征数据与所述第一特征数据之间的相似度,并释放所述内存中的第二特征数据;
确定单元,用于在最后一次计算相似度之后,根据所述多个第一候选媒体数据对应的相似度计算结果,从所述多个第一候选媒体数据中确定所述多个第二媒体数据。
13.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982194.5A CN112115281A (zh) | 2020-09-17 | 2020-09-17 | 数据检索方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982194.5A CN112115281A (zh) | 2020-09-17 | 2020-09-17 | 数据检索方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115281A true CN112115281A (zh) | 2020-12-22 |
Family
ID=73799992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982194.5A Pending CN112115281A (zh) | 2020-09-17 | 2020-09-17 | 数据检索方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115281A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559671A (zh) * | 2021-02-20 | 2021-03-26 | 深圳平安智汇企业信息管理有限公司 | 基于es的文本搜索引擎的构建方法、装置、设备及介质 |
CN113641649A (zh) * | 2021-10-18 | 2021-11-12 | 杭州趣链科技有限公司 | 数据获取方法、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441658A (zh) * | 2008-10-22 | 2009-05-27 | 中国科学院上海技术物理研究所 | 面向pacs数据库中放射图像的基于内容的检索方法和*** |
CN102156715A (zh) * | 2011-03-23 | 2011-08-17 | 中国科学院上海技术物理研究所 | 面向医学影像数据库的基于多病灶区域特征的检索*** |
CN103500165A (zh) * | 2013-08-21 | 2014-01-08 | 新华通讯社 | 一种结合聚类和双key值的高维向量检索方法 |
CN108536769A (zh) * | 2018-03-22 | 2018-09-14 | 深圳市安软慧视科技有限公司 | 图像分析方法、搜索方法及装置、计算机装置及存储介质 |
CN108932321A (zh) * | 2018-06-29 | 2018-12-04 | 金蝶软件(中国)有限公司 | 人脸图像检索方法、装置、计算机设备及存储介质 |
CN110825902A (zh) * | 2019-09-20 | 2020-02-21 | 深圳云天励飞技术有限公司 | 特征相似性搜索的实现方法、装置、电子设备及存储介质 |
CN111026922A (zh) * | 2019-12-26 | 2020-04-17 | 长城计算机软件与***有限公司 | 一种分布式向量索引方法、***、插件及电子设备 |
-
2020
- 2020-09-17 CN CN202010982194.5A patent/CN112115281A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441658A (zh) * | 2008-10-22 | 2009-05-27 | 中国科学院上海技术物理研究所 | 面向pacs数据库中放射图像的基于内容的检索方法和*** |
CN102156715A (zh) * | 2011-03-23 | 2011-08-17 | 中国科学院上海技术物理研究所 | 面向医学影像数据库的基于多病灶区域特征的检索*** |
CN103500165A (zh) * | 2013-08-21 | 2014-01-08 | 新华通讯社 | 一种结合聚类和双key值的高维向量检索方法 |
CN108536769A (zh) * | 2018-03-22 | 2018-09-14 | 深圳市安软慧视科技有限公司 | 图像分析方法、搜索方法及装置、计算机装置及存储介质 |
CN108932321A (zh) * | 2018-06-29 | 2018-12-04 | 金蝶软件(中国)有限公司 | 人脸图像检索方法、装置、计算机设备及存储介质 |
CN110825902A (zh) * | 2019-09-20 | 2020-02-21 | 深圳云天励飞技术有限公司 | 特征相似性搜索的实现方法、装置、电子设备及存储介质 |
CN111026922A (zh) * | 2019-12-26 | 2020-04-17 | 长城计算机软件与***有限公司 | 一种分布式向量索引方法、***、插件及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559671A (zh) * | 2021-02-20 | 2021-03-26 | 深圳平安智汇企业信息管理有限公司 | 基于es的文本搜索引擎的构建方法、装置、设备及介质 |
CN112559671B (zh) * | 2021-02-20 | 2021-06-08 | 深圳平安智汇企业信息管理有限公司 | 基于es的文本搜索引擎的构建方法、装置、设备及介质 |
CN113641649A (zh) * | 2021-10-18 | 2021-11-12 | 杭州趣链科技有限公司 | 数据获取方法、装置、设备和存储介质 |
CN113641649B (zh) * | 2021-10-18 | 2022-02-18 | 杭州趣链科技有限公司 | 数据获取方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018041168A1 (zh) | 信息推送方法、存储介质和服务器 | |
US11157550B2 (en) | Image search based on feature values | |
US20070094226A1 (en) | Modular intelligent multimedia analysis system | |
CN112052387A (zh) | 一种内容推荐方法、装置和计算机可读存储介质 | |
CN111708942B (zh) | 多媒体资源推送方法、装置、服务器及存储介质 | |
CN112115281A (zh) | 数据检索方法、装置及存储介质 | |
Khan et al. | FALKON: large-scale content-based video retrieval utilizing deep-features and distributed in-memory computing | |
Yin et al. | Long-term cross-session relevance feedback using virtual features | |
CN113590898A (zh) | 数据检索方法、装置、电子设备、存储介质及计算机产品 | |
US10909167B1 (en) | Systems and methods for organizing an image gallery | |
JP2014211730A (ja) | 画像検索システム、画像検索装置および画像検索方法 | |
CN110442614B (zh) | 元数据的搜索方法及装置、电子设备、存储介质 | |
CN112100177A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN115146103A (zh) | 图像检索方法、装置、计算机设备、存储介质和程序产品 | |
CN107291875B (zh) | 一种基于元数据图的元数据组织管理方法和*** | |
CN115587877A (zh) | 基于大数据的直播电商平台商品内容智能推送管理*** | |
CN111581420B (zh) | 一种基于Flink的医学图像实时检索方法 | |
CN116484067A (zh) | 目标对象匹配方法、装置及计算机设备 | |
CN114564653A (zh) | 信息推荐方法、装置、服务器及存储介质 | |
CN111881352A (zh) | 内容推送方法、装置、计算机设备和存储介质 | |
CN117112815B (zh) | 个人关注视频事件检索方法和***、存储介质及电子设备 | |
CN112506959B (zh) | 智能船舶数据库检索的数据调度方法、装置和检索*** | |
CN112115194B (zh) | 群体对比画像确定方法、服务器、终端、***及存储介质 | |
US10585934B2 (en) | Method and system for populating a concept database with respect to user identifiers | |
CN117992575A (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 |