CN110825894B - 数据索引建立、数据检索方法、装置、设备和存储介质 - Google Patents
数据索引建立、数据检索方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110825894B CN110825894B CN201910883196.6A CN201910883196A CN110825894B CN 110825894 B CN110825894 B CN 110825894B CN 201910883196 A CN201910883196 A CN 201910883196A CN 110825894 B CN110825894 B CN 110825894B
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- class
- index
- segment
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/53—Querying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/55—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer 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
技术领域
本发明涉及数据处理领域,具体涉及一种数据索引建立、数据检索方法、装置、设备和存储介质。
背景技术
现有的K均值聚类算法(也即,K-means算法)易受初始点影响,当初始点选择不当时,无法得到正确的聚类结果,算法稳定性较差,且现有的K均值聚类算法是将整个向量通过单次聚类得到量化结果,要表达的聚类中心数据量大。
而基于上述K均值聚类算法的特征向量检索方法,不管数据量多少,直接通过训练一次得到粗聚类中心,是一个静态学习的过程,这种特征向量检索方法无法适应于海量特征向量数据检索,在聚类中心选择不当时,1vN检索(从N个特征向量中找到与查询向量最相似的特征向量)得到的结果存在很大偏差,从而影响检索精度,且检索效率低;同时随着检索对象(例如,图像、视频、音乐等非结构化数据)变得更为复杂,检索难度指数级增加,而复杂的检索对象通常需要用多维向量来表征,在检索库中存在海量数据时,如果采用暴力搜索,针对检索样本(包含多个比对对象)进行多维向量的运算,计算量非常大,导致检索时间太长,从而难以满足用户需求。
发明内容
本发明实施例提供一种数据索引建立、数据检索方法、装置、设备和存储介质,预先对海量样本数据进行多次的分段聚类并建立索引,提高了聚类效果以及聚类中心的精度;同时在数据检索过程中,基于预先建立的索引,实现了高精准度、高效率地图像数据检索。
第一方面,提供了一种数据索引建立方法,包括:
根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型;
将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数;
自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联;
对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本;
建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本。
第二方面,提供了一种数据检索方法,所述的数据检索方法利用上述的数据索引建立方法得到的索引表进行图像数据检索,包括:
接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量;
自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本;
确定所述图像对比样本与所述图像查询样本之间的样本距离;
将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
第三方面,提供了一种数据索引建立装置,包括:
模型匹配模块,用于根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型;
一次聚类模块,用于将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数;
数据添加模块,用于自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联;
二次聚类模块,用于对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本;
索引建立模块,用于建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本。
第三方面,提供了一种数据检索装置,包括:
接收模块,用于接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量;
数据检索模块,用于自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本;
计算模块,用于确定所述图像对比样本与所述图像查询样本之间的样本距离;
显示模块,用于将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
第五方面,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述数据索引建立方法和上述数据检索方法。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述数据索引建立方法和上述数据检索方法。
本发明提供的数据索引建立、数据检索方法、装置、设备和存储介质,在数据索引建立过程中,首先根据不同数据量级别的数据集合,选择不同的分段聚类模型对数据集合中数据样本进行一次聚类,得到不同的一类聚类中心,其次利用与一类聚类中心关联的量化器进行二次聚类,得到不同的二类聚类中心,并基于不同的二类聚类中心得到索引表,提高了聚类效果,且提升了聚类中心的精度;而在数据检索过程中,利用数据索引建立过程得到的索引表进行图像数据检索,可以通过较小代价的粗查询即可迅速定位到某些数据样本的分片,使得样本计算的次数大大缩减,提升了服务器的运算速度,且实现了高精准度、高效率地图像数据检索。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据索引建立和数据检索方法的应用环境示意图;
图2是本发明一实施例中数据索引建立方法的流程图;
图3是本发明一实施例中数据索引建立方法的步骤S20的流程图;
图4是本发明另一实施例中数据检索方法的流程图;
图5是本发明一实施例中数据索引建立装置的原理框图;
图6是本发明一实施例中数据检索装置的原理框图;
图7是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的数据索引建立方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑、摄像头和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据索引建立方法,以该方法应用在图1中的服务器为例进行说明,包括以下步骤:
S10,根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型。
其中,所述数据量级别可以根据需求设置;可选地,所述数据集合的数据量级别可以设置为初始级别、第一级别、第二级别、第三级别、第四级别和第五级别,各数据量级别对应数据集合的数据量分别达到为:10万、20万、40万、80万、160万和320万。可理解的,在训练数据得到聚类中心的过程中,若数据集合的数据量级别越高,训练过程中系统占用内存越大,且耗时越长,因此需要综合考量系统内存和耗时来选取合适数据量级别的数据集合。
具体的,在获取到一个待训练的数据集合时,统计数据集合中每一个数据样本确定数据集合的数据量,并自数据库中匹配与该数据量对应的数据量级别,进而自数据库中获取到与数据量级别关联的分段聚类模型。作为优选,所述数据库中每一个数据量级别预先关联存储有一个分段聚类模型。
S20,将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数。
也即,在训练数据得到聚类中心的过程中,根据不同数据量级别的数据集合,采用不同的分段聚类模型对数据集合中的数据样本进行一次聚类,得到不同的聚类中心。
作为优选,采用分段聚类模型对数据集合中的数据样本进行一次聚类,具体包括以下步骤:首先,根据分段聚类模型中包含的预选数量,例如预选数量为S,从输入的所有数据样本中随机选取用于一次聚类的S个数据样本;其中,预选数量是指分段聚类模型自输入的所有数据样本中选取的用于一次聚类的数据样本的数量。例如,对于初始级别的数据集合,该初始级别的数据集合中包含的数据样本的数据量大于或等于10万,可以选取10万条数据样本来进行一次聚类;对于第一级别的数据集合,该第一级别的数据集合中包含的数据样本的数据量大于或等于20万,可以选取20万条数据样本来进行一次聚类等。
其次,获取S个数据样本中每一个数据样本的每一个特征向量;其中,每一个数据样本中对应的特征向量的维度相同。
再次,根据分段聚类模型中包含的分段数量,例如分段数量为M,对上述S个数据样本中每一个数据样本的特征向量根据预设维度进行分段,以形成与每一个特征向量分段之后对应的M个分段向量,且每一个分段向量中包含预设维度的数据量;其中,分段数量是指分段聚类模型对S个数据样本中每一个数据样本的特征向量进行分段的段数,且该分段数量已预设在分段聚类模型中。可理解的,分段向量中包含的数据量可以根据预设维度以及每一个特征向量的维度来确定。
最后,分别对S个数据样本对应的每一个特征向量中相同段对应的分段向量进行聚类,确定每一个相同段对应的K个一类聚类中心,进而确定并输出个一类聚类中心,也即确定输出N个一类聚类中心。可理解的,由于S个数据样本中对应的每一个特征向量均划分为M段,由于每一段均会确定K个一类聚类中心,因此一共可以获取个一类聚类中心,此时,总共个聚类中心就可以表达K的M次方个聚类中心,且每一个相同段的分段向量对应的一类聚类中心数目与分段聚类模型输出的一类聚类中心数目存在以下关系:N=M*K。
S30,自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联。
作为优选,以预设的加入量自数据集合中读取数据样本,找到与读取的数据样本最近的一类聚类中心并加入量化器,此时,归入至该一类聚类中心的所有数据样本均与该量化器关联;其中,加入量是指数据样本批量读取的数量,也即将数据样本批量归入至一类聚类中心的数量。例如,该加入量为1万时,计算1万数据样本与各个一类聚类中心之间的距离,也即,计算1万数据样本与各个一类聚类中心的差的平方之和,并筛选出差的平方之和最小的一个一类聚类中心,将其记录为距离最近的一类聚类中心,进而将1万数据样本归入至距离最近的一类聚类中心并加入量化器。
S40,对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本。
也即,分别对N个量化器关联的所有数据样本进行再一次的聚类。例如,当量化器关联的所有数据样本为X个时,获取X个数据样本中每一个数据样本的特征向量;然后将X个数据样本中每一个数据样本的特征向量根据维度进行划分,划分为段,以形成每一个特征向量分段之后对应的个分段向量,进而分别对X个数据样本的各个相同段对应的分段向量进行聚类,确定与各个段次对应的分量聚类中心,从而确定个二类聚类中心。可理解的,所述步骤S40中的二次聚类方法可参考所述步骤S30中的一次聚类方法。
S50,建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本。
可理解的,分别对N个量化器关联的所有数据样本进行二次聚类,可以建立N个索引表。在上述步骤S40中确定个二类聚类中心之后,计算各个量化器关联的每一个数据样本与各个二类聚类中心的距离,也即,计算原始的特征向量与各个分段中心向量(每一个二类聚类中心对应一个分段中心向量)的距离,将各个量化器关联的每一个数据样本归入至距离最近的二类聚类中心。进一步地,根据各个二类聚类中心,以及归入至二类聚类中心的原始的特征向量建立索引表。
作为优选,为了进一步地提高检索效率以及精度,可以进行三次或三次以上的聚类,也即在二次聚类,构建完索引后再进行下一次聚类。
综上所述,本实施例在数据索引建立过程中,首先根据不同数据量级别的数据集合,选择不同的分段聚类模型对数据集合中数据样本进行一次聚类,得到不同的一类聚类中心,其次利用与一类聚类中心关联的量化器进行二次聚类,得到不同的二类聚类中心,并基于不同的二类聚类中心得到索引表,经过实验验证,针对数据量达到几百万级以上的数据集合,聚类效果更好,聚类中心的精度可以提升5%-10%;且本实施例可以通过多次的分段聚类,进一步提高了聚类效果,且可以用较小的聚类中心集合来表达极大的聚类中心集合,进而使得检索时间至少缩短了一半,有利于提升检索速度。
在一实施例中,所述步骤S10之前,即所述根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型之前,包括以下步骤:
首先获取数据集合中包含的数据样本的数据量,并将所述数据量输入至预设的输出模型中;然后接收所述输出模型输出的数据量级别,并确定出所述数据集合的数据量级别。
作为优选,所述输出模型为:
其中,为所述数据量级别;为级别系数;为所述数据量;为初始级别对应的初始数量。
可选地,为1,为100000。
综上所述,本实施例通过输出模型自动计算数据集合的数据量级别,提供了精度更高、效率更高地输出。
在一实施例中,如图3所示,所述步骤S20,即所述将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心,具体包括以下步骤:
S201,利用所述分段聚类模型,自所有所述数据样本中确定出预选数量的所述数据样本以及对应的特征向量。
在本实施例中,根据分段聚类模型中包含的预选数量,例如预选数量为S,从所有数据样本中确定出用于一次聚类的S个数据样本。其中,预选数量是指分段聚类模型自输入的所有数据样本中选取的用于一次聚类的数据样本的数量。
进一步地,利用分段聚类模型中包含的特征提取模型识别S个数据样本中的每一个数据样本,获得每一个数据样本的多个特征元素,将这些特征元素作为向量元素,构成每一个数据样本的特征向量;例如,在数据样本为图像数据样本时,利用分段聚类模型中包含的图像识别模型识别图像样本,获得每一个图像样本中包含的像素数目、灰度均值、灰度中值、子区域数目以及子区域灰度均值等特征元素,并根据这些特征元素构成特征向量。
S202,利用分段聚类模型对每一个所述特征向量根据维度进行分段,以形成每一个所述特征向量中各段对应的分段向量。
在本实施例中,根据分段聚类模型中包含的分段数量,例如,分段数量为M,对上述S个数据样本中每一个数据样本的特征向量根据维度进行分段,以形成与每一个特征向量分段之后对应的M个分段向量。
S203,利用分段聚类模型分别对每一个特征向量中各个相同段对应的所述分段向量进行聚类,确定出各段对应的K个一类聚类中心;K为正整数。
作为优选,首先检测各个相同段对应的分段向量个数(分段向量个数为M)是否大于聚类簇个数(聚类簇个数为K),在各个相同段对应的分段向量个数大于聚类簇个数时,检测各个相同段对应的分段向量个数是否大于第一阈值,其中,所述第一阈值为聚类簇个数与每个聚类簇中包含的最小存放个数(比如,最小存放个数为39)的乘积;反之,发出告警信息。
其次,在各个相同段对应的分段向量个数大于第一阈值时,检测各个相同段对应的分段向量个数是否大于第二阈值(比如,最小存放个数为256),其中,所述第二阈值为聚类簇个数与每个聚类簇中包含的最大存放个数的乘积;反之,发出告警信息。
再次,在各个相同段对应的分段向量个数大于第二阈值时,随机选出预设数量的用于分段聚类模型进行聚类处理的分段向量,进而在预设数量的分段向量中随机选取K个分段向量作为一类聚类中心,并将K个一类聚类中心加入至量化器;反之,直接从各个相同段对应的分段向量中,随机选取K个分段向量作为一类聚类中心,并将K个一类聚类中心加入至量化器。
最后,利用量化器中的K个一类聚类中心进行迭代。也即,找出用于分段聚类模型进行聚类处理的每一个分段向量最近的一类聚类中心并计算距离,根据计算的距离更新K个一类聚类中心,进而更新量化器,直至迭代次数大于预设的迭代阈值,此时,确定出各分段对应的K个一类聚类中心。可理解的,所述迭代次数大于预设的迭代阈值时,K个一类聚类中心不再发生变化,或者归入至各个一类聚类中心的每一个分段向量与对应的一类聚类中心的误差平方和最小,或者没有分段向量被重新归入至K个一类聚类中心。
S204,根据各段对应的K个所述一类聚类中心,确定出所述分段聚类模型输出的N个一类聚类中心。
也即,累积各段对应的K个一类聚类中心,即可获得分段聚类模型输出的N个一类聚类中心。
综上所述,利用分段聚类模型对输入的数据样本进行一次聚类,减少了一类聚类中心集合的数据量,从而减少了占用内存,提高了服务器的运行速度;同时具有无孤立点、紧凑度高、分离度高的聚类效果。
在一实施例中,如图4所示,提供一种数据检索方法,所述的数据检索方法利用上述实施例中所述的数据索引建立方法得到的索引表进行图像数据检索,且当所述的数据检索方法应用在图1中的服务器时,所述的数据检索方法和所述的数据索引建立方法可以应用在相同的服务器;而当所述的数据检索方法应用在其他的服务器时,所述的数据检索方法和所述的数据索引建立方法可以应用在不同的服务器。所述的数据检索方法包括以下步骤:
S60,接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量。
也即,服务器接收到包含图像查询样本的查询请求,利用预设的图像识别模型识别图像查询样本之后,获得该图像查询样本中包含的像素数目、灰度均值、灰度中值、子区域数目以及子区域灰度均值等特征元素,并根据这些特征元素构成查询向量。其中,所述查询指令,是指用户在在客户端的预设搜索栏录入图像样本之后发送至服务器的。
S70,自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本。
在本实施例中,若利用上述实施例中所述的数据索引建立方法得到的各索引表直接存储在数据库中,则直接自数据库中获取各索引表;若利用上述实施例中所述的数据索引建立方法得到的各索引表存储在外部服务器上,则首先获取各索引表的配置参数,再根据配置参数中包含的访问路径从外部服务器获取各索引表。
在获取到各索引表之后,通过查询各索引表,从各索引表记录的所有二类聚类中心中,可以确定出与查询向量的距离满足第一预定条件的一个二类聚类中心,并将其记录为选定聚类中心。
在一实施例中,所述第一预定条件为距离小于第一距离阈值。此时,若二类聚类中心的总数目为,计算索引表中每一个二类聚类中心(也即,分段中心向量)与查询向量之间的距离,对于计算得到的个距离,确定出小于第一距离阈值的一个或多个二类聚类中心,记录为选定聚类中心。
进一步地,在记录选定聚类中心之前,从确定出的二类聚类中心中确定最近的一个二类聚类中心记录为选定聚类中心;此时,在确定出的二类聚类中心的数目为一个时,确定出的二类聚类中心即为距离最近的二类聚类中心,记录为最终的选定聚类中心;而在确定出的二类聚类中心的数目为多个时,根据计算得到的多个距离,确定出距离最近的二类聚类中心,记录为最终的选定聚类中心。
在另一实施例中,所述第一预定条件为距离最小的预定数量或者预定比例。此时,若预定数量为3,计算得到的个距离中,按照距离从小到大的顺序确定出距离最小的3个二类聚类中心,记录为最终的选定聚类中心;若预定比例为3%,计算得到的个距离为100个,按照距离从小到大的顺序确定出距离最小的3个二类聚类中心。
可理解的,自索引表中确定出选定聚类中心(与查询向量的距离满足第一预定条件的二类聚类中心)之后,自索引表中将选定聚类中心对应的数据样本确定为图像对比样本。
需要说明的是,若利用上述实施例中所述的数据索引建立方法索引得到的索引表进行图像数据检索,则索引过程中所用的数据集合为包含图像数据样本的数据集合,而索引表中的每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有图像数据样本。
S80,确定所述图像对比样本与所述图像查询样本之间的样本距离。
也即,可以确定图像对比样本的特征向量与图像查询样本的查询向量之间的欧式距离作为样本距离,亦可以确定图像对比样本的特征向量与图像查询样本的查询向量之间的余弦相似度作为样本距离。
在另一实施例中,为了减少计算量,提升计算速度,可以计算图像对比样本与图像查询样本在各分段下对应的分段距离,也即计算图像对比样本的各个分段向量与图像查询样本的各个分段查询向量之间的距离(一个图像对比样本的分段向量对应一个图像查询样本的分段查询向量),并根据各个分段距离确定样本距离。
S90,将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
在一实施例中,所述第二预定条件为样本距离小于第二距离阈值。此时,在上述步骤S90中计算得到图像查询样本与各个图像对比样本的样本距离之后,自所有图像对比样本中,确定出样本距离小于第二距离阈值的至少一个图像对比样本,并将其作为查询请求的查询结果显示在客户端。
在另一实施例中,所述第二预定条件为样本距离最小的预定数量或者预定比例。此时,在上述步骤S90中计算得到图像查询样本与各个图像对比样本的样本距离之后,自所有图像对比样本中,按照样本距离从小到大顺序,确定出距离最小的预定数量或者预定比例的图像对比样本,并将其作为查询请求的查询结果显示在客户端。
综上所述,本实施例在数据检索过程中,利用数据索引建立过程中得到的索引表进行图像数据检索,可以通过较小代价的粗查询(只需比较少量的二类聚类中心),即可迅速定位到某些数据样本的分片,使得样本计算的次数大大缩减,提升了服务器的运算速度,且实现了高精准度、高效率地图像数据检索。
在一实施例中,所述的数据检索方法也可以利用上述实施例中的数据索引建立方法得到的索引表进行文本数据检索,具体包括以下步骤:
接收包含文本查询样本的查询请求,获取所述文本查询样本的查询向量(查询向量可以根据文本查询样本中的词数目、词频、单元分词、多元分词等特征元素组合生成);自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第三预定条件的二类聚类中心,并将满足所述第三预定条件的二类聚类中心对应的数据样本确定为文本对比样本;确定所述文本对比样本与所述文本查询样本之间的样本距离;将所述样本距离满足第四预定条件的所述音频对比样本作为查询请求的查询结果显示在客户端。
需要说明的是,若利用上述实施例中所述的数据索引建立方法索引得到的索引表进行文本数据检索,则索引过程中所用的数据集合为包含文本数据样本的数据集合,而索引表中的每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有文本数据样本。
在一实施例中,所述的数据检索方法还可以利用上述实施例中的数据索引建立方法得到的索引表进行音乐数据或视频数据等其他数据的检索,利用上述实施例中的数据索引建立方法得到的索引表进行其他数据的检索的详细说明可以参考利用上述实施例中的数据索引建立方法得到的索引表进行图像数据检索或文本数据检索的详细说明。
在一实施例中,如图5所示,提供一种数据索引建立装置,该数据索引建立装置与上述实施例中数据索引建立方法一一对应。该数据索引建立装置包括模型匹配模块110、一次聚类模块120、数据添加模块130、二次聚类模块140和索引建立模块150。各功能模块详细说明如下:
模型匹配模块110,用于根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型。
一次聚类模块120,用于将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数。
数据添加模块130,用于自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联。
二次聚类模块140,用于对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本。
索引建立模块150,用于建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本。
在一实施例中,所述模型匹配模块110包括以下单元,各功能单元详细说明如下:
输入单元,用于获取数据集合中包含的数据样本的数据量,并将所述数据量输入至预设的输出模型中。
输出单元,用于接收所述输出模型输出的数据量级别,并确定出所述数据集合的数据量级别。
在一实施例中,所述数据索引建立装置中,所述输出模型为:
其中,为所述数据量级别;为级别系数;为所述数据量;为初始级别对应的初始数量。
在一实施例中,所述一次聚类模块120包括以下单元,各功能单元详细说明如下:
向量获取单元,用于利用所述分段聚类模型,自所有所述数据样本中确定出预选数量的所述数据样本以及对应的特征向量。
向量分段单元,用于利用分段聚类模型对每一个所述特征向量根据维度进行分段,以形成每一个所述特征向量中各段对应的分段向量。
分段聚类单元,用于利用分段聚类模型分别对每一个特征向量中各个相同段对应的所述分段向量进行聚类,确定出各段对应的K个一类聚类中心;K为正整数。
结果确定单元,用于根据各段对应的K个所述一类聚类中心,确定出所述分段聚类模型输出的N个一类聚类中心。
在一实施例中,如图6所示,提供一种数据检索装置,该数据检索装置与上述实施例中数据检索方法一一对应。该数据检索装置包括接收模块160、数据检索模块170、计算模块180和显示模块190。各功能模块详细说明如下:
接收模块160,用于接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量。
数据检索模块170,用于自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本。
计算模块180,用于确定所述图像对比样本与所述图像查询样本之间的样本距离。
显示模块190,用于将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
在一实施例中,所述的数据检索装置中,所述第一预定条件为距离小于第一距离阈值;所述第二预定条件为样本距离小于第二距离阈值。
关于数据索引建立装置的具体限定可以参见上文中对于数据索引建立方法的限定,在此不再赘述。上述数据索引建立装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机可读指令被处理器执行时以实现一种数据索引建立方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现上述实施例中的数据索引建立方法和上述实施例中的数据检索方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中的数据索引建立方法和上述实施例中的数据检索方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、存储器总线直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元或模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据索引建立方法,其特征在于,包括:
根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型;
将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数;
自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联;
对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本;
建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本;
所述根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型之前,包括:
获取数据集合中包含的数据样本的数据量,并将所述数据量输入至预设的输出模型中;
接收所述输出模型输出的数据量级别,并确定出所述数据集合的数据量级别;所述数据集合的数据量级别为初始级别、第一级别、第二级别、第三级别、第四级别和第五级别,各数据量级别对应数据集合的数据量分别为十万、二十万、四十万、八十万、一百六十万和三百二十万;
所述将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心,包括:
利用所述分段聚类模型,自所有所述数据样本中确定出预选数量的所述数据样本以及对应的特征向量;
利用分段聚类模型对每一个所述特征向量根据维度进行分段,以形成每一个所述特征向量中各段对应的分段向量;
利用分段聚类模型分别对每一个特征向量中各个相同段对应的所述分段向量进行聚类,确定出各段对应的K个一类聚类中心;K为正整数;
根据各段对应的K个所述一类聚类中心,确定出所述分段聚类模型输出的N个一类聚类中心。
2.如权利要求1所述的数据索引建立方法,其特征在于,所述输出模型为:
其中,为所述数据量级别;为级别系数;为所述数据量;为初始级别对应的初始数量。
3.一种数据检索方法,其特征在于,所述的数据检索方法利用如权利要求1-2任一所述的数据索引建立方法得到的索引表进行图像数据检索,包括:
接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量;
自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本;
确定所述图像对比样本与所述图像查询样本之间的样本距离;
将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
4.如权利要求3所述的数据检索方法,其特征在于,所述第一预定条件为距离小于第一距离阈值;所述第二预定条件为样本距离小于第二距离阈值。
5.一种数据索引建立装置,其特征在于,包括:
模型匹配模块,用于根据数据集合的数据量级别,获取与所述数据量级别关联的分段聚类模型;
一次聚类模块,用于将所述数据集合中所有数据样本输入至所述分段聚类模型中,接收所述分段聚类模型输出的N个一类聚类中心;N为正整数;
数据添加模块,用于自所述数据集合中读取所述数据样本,将读取的所述数据样本归入至距离最近的所述一类聚类中心,并将N个量化器分别与N个一类聚类中心一一对应关联;
二次聚类模块,用于对与各所述量化器关联的所述数据样本进行二次聚类,确定二类聚类中心以及与各所述二类聚类中心关联的所述数据样本;
索引建立模块,用于建立与N个所述量化器对应的N个索引表;每一个所述索引表中包含至少一项索引,每一项索引包括一个二类聚类中心和与该二类聚类中心关联的所有所述数据样本;
所述模型匹配模,包括:
输入单元,用于获取数据集合中包含的数据样本的数据量,并将所述数据量输入至预设的输出模型中;
输出单元,用于接收所述输出模型输出的数据量级别,并确定出所述数据集合的数据量级别;所述数据集合的数据量级别为初始级别、第一级别、第二级别、第三级别、第四级别和第五级别,各数据量级别对应数据集合的数据量分别为十万、二十万、四十万、八十万、一百六十万和三百二十万;
所述一次聚类模块包括:
向量获取单元,用于利用所述分段聚类模型,自所有所述数据样本中确定出预选数量的所述数据样本以及对应的特征向量;
向量分段单元,用于利用分段聚类模型对每一个所述特征向量根据维度进行分段,以形成每一个所述特征向量中各段对应的分段向量;
分段聚类单元,用于利用分段聚类模型分别对每一个特征向量中各个相同段对应的所述分段向量进行聚类,确定出各段对应的K个一类聚类中心;K为正整数;
结果确定单元,用于根据各段对应的K个所述一类聚类中心,确定出所述分段聚类模型输出的N个一类聚类中心。
6.一种数据检索装置,其特征在于,所述的数据检索装置利用如权利要求5所述的数据索引建立装置得到的索引表进行图像数据检索,包括:
接收模块,用于接收包含图像查询样本的查询请求,获取所述图像查询样本的查询向量;
数据检索模块,用于自所述索引表中包含的所有所述二类聚类中心中,获取与所述查询向量之间的距离满足第一预定条件的二类聚类中心,并将满足所述第一预定条件的二类聚类中心对应的数据样本确定为图像对比样本;
计算模块,用于确定所述图像对比样本与所述图像查询样本之间的样本距离;
显示模块,用于将所述样本距离满足第二预定条件的所述图像对比样本作为查询请求的查询结果显示在客户端。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至2任一项所述数据索引建立方法和如权利要求3至4任一项所述数据检索方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至2任一项所述数据索引建立方法和如权利要求3至4任一项所述数据检索方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910883196.6A CN110825894B (zh) | 2019-09-18 | 2019-09-18 | 数据索引建立、数据检索方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910883196.6A CN110825894B (zh) | 2019-09-18 | 2019-09-18 | 数据索引建立、数据检索方法、装置、设备和存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110825894A CN110825894A (zh) | 2020-02-21 |
| CN110825894B true CN110825894B (zh) | 2024-10-11 |
Family
ID=69548040
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910883196.6A Active CN110825894B (zh) | 2019-09-18 | 2019-09-18 | 数据索引建立、数据检索方法、装置、设备和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110825894B (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111444363B (zh) * | 2020-03-02 | 2023-03-17 | 高新兴科技集团股份有限公司 | 一种图片检索方法、装置、终端设备及存储介质 |
| CN111581164B (zh) * | 2020-05-14 | 2024-01-09 | 北京达佳互联信息技术有限公司 | 多媒体文件处理方法、装置、服务器及存储介质 |
| CN112232290B (zh) * | 2020-11-06 | 2023-12-08 | 四川云从天府人工智能科技有限公司 | 数据聚类方法、服务器、系统以及计算机可读存储介质 |
| CN112749668B (zh) * | 2021-01-18 | 2025-07-08 | 上海明略人工智能(集团)有限公司 | 目标图像的聚类方法、装置、电子设备和计算机可读介质 |
| CN113626471B (zh) * | 2021-08-05 | 2024-02-23 | 北京达佳互联信息技术有限公司 | 数据检索方法、装置、电子设备及存储介质 |
| CN113656373A (zh) * | 2021-08-16 | 2021-11-16 | 百度在线网络技术(北京)有限公司 | 构建检索数据库的方法、装置、设备以及存储介质 |
| JP7558299B2 (ja) | 2021-08-16 | 2024-09-30 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | 検索データベースを構築するための方法、装置、デバイス及び記憶媒体 |
| CN117891829A (zh) * | 2024-01-15 | 2024-04-16 | 国网江苏省电力有限公司经济技术研究院 | 电网工程移交数据的检索方法及装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108241745A (zh) * | 2018-01-08 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 样本集的处理方法及装置、样本的查询方法及装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7725484B2 (en) * | 2005-11-18 | 2010-05-25 | University Of Kentucky Research Foundation (Ukrf) | Scalable object recognition using hierarchical quantization with a vocabulary tree |
| EP3038018A1 (en) * | 2014-12-27 | 2016-06-29 | Dassault Systèmes | Clustering database queries for runtime prediction |
| EP3115908A1 (en) * | 2015-07-08 | 2017-01-11 | Thomson Licensing | Method and apparatus for multimedia content indexing and retrieval based on product quantization |
-
2019
- 2019-09-18 CN CN201910883196.6A patent/CN110825894B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108241745A (zh) * | 2018-01-08 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 样本集的处理方法及装置、样本的查询方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110825894A (zh) | 2020-02-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110825894B (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
| US9454580B2 (en) | Recommendation system with metric transformation | |
| CN110188223B (zh) | 图像处理方法、装置及计算机设备 | |
| US11048966B2 (en) | Method and device for comparing similarities of high dimensional features of images | |
| US9043316B1 (en) | Visual content retrieval | |
| WO2021169111A1 (zh) | 简历筛选方法、装置、计算机设备和存储介质 | |
| Zheng et al. | $\mathcal {L} _p $-Norm IDF for Scalable Image Retrieval | |
| CN114283350B (zh) | 视觉模型训练和视频处理方法、装置、设备及存储介质 | |
| WO2020114100A1 (zh) | 一种信息处理方法、装置和计算机存储介质 | |
| US11714921B2 (en) | Image processing method with ash code on local feature vectors, image processing device and storage medium | |
| CN113254687B (zh) | 图像检索、图像量化模型训练方法、装置和存储介质 | |
| JPWO2013129580A1 (ja) | 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム | |
| US11734341B2 (en) | Information processing method, related device, and computer storage medium | |
| CN114741544B (zh) | 图像检索方法、检索库构建方法、装置、电子设备及介质 | |
| CN108229358B (zh) | 索引建立方法和装置、电子设备、计算机存储介质 | |
| WO2021068524A1 (zh) | 图像匹配方法、装置、计算机设备及存储介质 | |
| CN115129871B (zh) | 文本类别确定方法、装置、计算机设备和存储介质 | |
| CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
| CN115934724A (zh) | 构建数据库索引的方法、检索方法、装置、设备及介质 | |
| CN109086386B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
| WO2020119136A1 (zh) | 位置确定 | |
| CN119377245A (zh) | 日志查询方法、装置、计算机设备和存储介质 | |
| CN117932103A (zh) | 一种目标检索方法、终端及计算机可读存储介质 | |
| CN115146103A (zh) | 图像检索方法、装置、计算机设备、存储介质和程序产品 | |
| CN115098686B (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |