发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题的基于哈希编码加权排序的自适应查询方法。
根据本发明的一个方面,提供了一种基于哈希编码加权排序的自适应查询方法,该方法包括:
对查询数据提取多种特征,分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询;
获取利用所述每种特征对应的哈希表进行查询的多个查询结果,并将所述多个查询结果中的每个查询结果分别构建一个对应的图;
将每个查询结果对应的图进行融合,得到一个融合图;
利用图的重排序算法对所述每个查询结果在所述融合图上进行重新排序,得到最终的查询结果。
可选的,所述对查询数据提取多种特征,分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询,具体包括:
训练数据提取多种数据特征,生成每种数据特征的至少一个锚点;
选取标记样例,用所述每种数据特征的至少一个锚点分别表示所述标记样例;
用所述每种数据特征的至少一个锚点分别表示查询,并计算每种数据特征表示的查询和所述标记样例的相似度量;
利用每种数据特征表示的查询和所述标记样例的相似度量分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询。
可选的,所述生成每种数据特征的至少一个锚点,具体为:
采用聚类的方式生成每种数据特征的至少一个锚点。
可选的,所述选取标记样例的方法具体为:采用聚类或随机的方式选取标记样例。
可选的,所述获取利用所述每种特征对应的哈希表进行查询的多个查询结果,并将所述多个查询结果中的每个查询结果分别构建一个对应的图,具体包括:
利用相似度量计算查询适应的比特级别的权重,并根据哈希函数之间的关系进行权重优化;
基于优化后的权重,计算查询和结果的海明距离,并根据所述海明距离进行排序,获得排序结果;
利用锚点,计算近似近邻相似度;
根据所述优化后的权重、排序结果以及近似近邻相似度将每个查询结果构建一个对应的图。
可选的,所述利用图的重排序算法对所述每个查询结果在所述融合图上进行重新排序,得到最终的查询结果,具体包括:
分别计算每个查询结果在所述融合图上进行重新排序的排序得分;
根据所述排序得分,选择得分最高的查询结果作为最终的查询结果。
本发明的有益效果为:
本发明提供的一种基于哈希编码加权排序的自适应查询方法,将基于图的重排序方法和多特征融合的重排序方法相结合,根据多特征融合的哈希重排序结果,构造多个图,然后采用特征融合进行图融合,最后对融合图进行重排序,从而有效地综合多特征优势,实现数据的快速查询,降低内存的消耗,有效地提高了查询的效率和准确率,对查询性能有很大提升。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1示出了本发明实施例的一种基于哈希编码加权排序的自适应查询方法的流程图。
参照图1,本发明实施例提出的基于哈希编码加权排序的自适应查询方法包括:
S11、对查询数据提取多种特征,分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询;
S12、获取利用所述每种特征对应的哈希表进行查询的多个查询结果,并将所述多个查询结果中的每个查询结果分别构建一个对应的图;
S13、将每个查询结果对应的图进行融合,得到一个融合图;
S14、利用图的重排序算法对所述每个查询结果在所述融合图上进行重新排序,得到最终的查询结果。
本发明实施例提供的基于哈希编码加权排序的自适应查询方法,可以自适应地针对每种特征查询生成一组权重,对查询的结果进行加权海明距离排序,从而获得更加细粒度的更加精确的排序结果,提高非监督情形下多哈希表的鲁棒性和查询整体性能;同时查询适应的哈希编码排序方法具备普遍适用性,占用内存少,具有较高的准确率和较短的响应时间。
进一步地,所述步骤S11:对查询数据提取多种特征,分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询,具体包括:
训练数据提取多种数据特征,生成每种数据特征的至少一个锚点;
选取标记样例,用所述每种数据特征的至少一个锚点分别表示所述标记样例;
用所述每种数据特征的至少一个锚点分别表示查询,并计算每种数据特征表示的查询和所述标记样例的相似度量;
利用每种数据特征表示的查询和所述标记样例的相似度量分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询。
更进一步地,所述生成每种数据特征的至少一个锚点,具体为:
采用聚类的方式生成每种数据特征的至少一个锚点。
更进一步地,所述选取标记样例的方法具体为:采用聚类或随机的方式选取标记样例。
目前,基于哈希的最近邻搜索中,海明距离排序起到了帮助压缩存储和快速计算的作用。然而,由于哈希的量化步骤使得海明距离排序失去了样例中的准确的排序信息,这样就会导致海明距离的区分能力下降。例如,在实际中,对于一个查询,会有多个哈希桶共享相同的海明距离,这样落在这些哈希桶中的样例根据海明距离就会获得相同的排序。为了提升海明距离排序的准确性,获得更细粒度的排序结果,减少量化的损失是非常必要的。查询适应的加权海明距离哈希重排序方法学习一组查询适应的比特编码级别的权重,同时考虑每个哈希函数的区分能力和哈希函数之间的互补关系进行最近邻搜索,能够有效提高哈希编码的区分度,提高检索的准确率。同时具有普遍适用性。
具体而言,本发明实施例中提出的步骤S11:对查询数据提取多种特征,分别为每种特征构建一个哈希表,并利用每种特征对应的哈希表分别进行查询的整体流程如图2所示,具体如下:
1.训练数据提取特征,采用聚类等方式生成锚点。
(1)用聚类等的方式选取r个锚点
选取标记样例,并用锚点来表示标记样例。
(1)用聚类或随机等方式选取nl个标记样例。
(2)用步骤(1)生成的锚点来表示标记样例,
其中,NN(x)表示x的在集合U中的最近邻锚点,K(x,uj)是表示核函数(例如,高斯核函数)。
用锚点表示查询,并计算查询和标记样例的相似度量。
(1)按照步骤(2)中描述的方法,用锚点表示查询q为z(q)。
(2)对查询q和nl个标记样例,通过下式计算相似度量:
s(q,p)=exp(-||z(p)-z(q)||2/σ2)
其中,σ被设置为z(q)和z(p)之间的最大距离。
利用相似度量计算查询适应的哈希比特级别的权重,并根据哈希函数之间的关系进行权重优化。
(1)对于哈希函数hk,查询q和标记样例中的数据点p经过哈希之后的编码为hk(q)和hk(p),计算查询适应的权重:
(2)基于哈希函数之间的相互关系,对上一步得到权重wk进行优化,具体包括:
a)计算哈希函数的独立性矩阵A=(aij),其中相互独立性按下式进行计算:
aij=exp[-λMI(yi,yj)]
其中,MI(yi,yj)是相互信息。
b)求解如下目标函数:
上式得约束条件为1Tπ=1,π≥0,其中wk *=wkπk,求解得到πk。
c)根据πk,求得调整后的权重wk *=wkπk
基于学习到的权重,计算查询和结果的加权海明距离,对结果进行排序。
计算查询q和查询结果的加权海明距离:
其中,yik=hk(xi)。
本发明实施例,针对每个查询,同时考虑哈希函数保存最近邻信息的能力和哈希函数之间的相互独立性,为每个哈希函数学习一个权重,对查询结果进行加权排序。该方式具有以下优势:查询适应的权重,对哈希编码加权可以得到更细粒度的排序结果;没有对数据集的严格分布假设,对于不同类型的哈希算法更加具备普遍适用性;内存消耗少,具有扩展性。
进一步地,所述步骤S12:获取利用所述每种特征对应的哈希表进行查询的多个查询结果,并将所述多个查询结果中的每个查询结果分别构建一个对应的图,具体包括:
利用相似度量计算查询适应的比特级别的权重,并根据哈希函数之间的关系进行权重优化;
基于优化后的权重,计算查询和结果的海明距离,并根据所述海明距离进行排序,获得排序结果;
利用锚点,计算近似近邻相似度;
根据所述优化后的权重、排序结果以及近似近邻相似度将每个查询结果构建一个对应的图。
本发明实施例提供的基于哈希编码加权排序的自适应查询方法具体包括如下两个阶段:
离线阶段,构建哈希表
输入:多个特征的数据(xi,i=1,...,n},哈希算法F
for m-th特征数据do
使用F产生哈希函数集H={h1(·),...,hb(·)};
将每个特征的数据xi映射为哈希编码yik=hk(xi);
计算独立性参数aij,构建哈希表Tm
end for
在线阶段,检索哈希表
输入:查询q,哈希表Tm,独立性参数aij
for哈希表Tm do
计算查询适应的比特级别的权重wk;
根据海明距离排序,获得检索Top排序结果Vm;
利用锚点,计算近似近邻相似度ωm;
构建图Gm=(Vm,Em,ωm);
end for
将多图Gm融合,得到融合图G=(V,E,ω);
计算排序得分p,对候选集重新排序。
整个算法分为两个阶段。在离线阶段,我们可以非常高效的选取K个锚点。在线查询阶段,N个特征进行查询,每个特征得到n个查询结果,计算每个结果到查询结果到锚点的距离,并计算任意两个数据点之间的相似度,时间复杂度为O(K2Nn2),K,N都是常量,n是查询结果数,通常数值也较小。再用page-rank算法进行基于图的重排序阶段,时间复杂度为O(|E|)。
进一步地,所述利用图的重排序算法对所述每个查询结果在所述融合图上进行重新排序,得到最终的查询结果,具体包括:
分别计算每个查询结果在所述融合图上进行重新排序的排序得分;
根据所述排序得分,选择得分最高的查询结果作为最终的查询结果。
本发明实施例中,图构造和融合策略具体如下:
定义查询图像q,假设使用N个特征进行检索,则得到初始检索排序结果集合{Rm,m=1,...,N},然后我们构造重排序的数据集Dm={x|x∈Rm或x=q},若xi和xj是数据集Dm中的两张图像,则他们的相似度为S(xi,xj)。描绘多组候选节点局部近邻结构的模型中,图模型是非常有效的。
在实际中,相似的候选节点通常拥有一个共同的近邻分布结构。因此,在相似性测量中,能否获得每个节点的局部近邻结构是非常重要的。在传统的方法中,相似性测量通常基于视觉特征或者提前处理的近邻结构,使用特征之间的欧式距离等方式来计算。因为内存消耗和更新开销太大,这样的方式在实际的大规模数据集计算中很难被真正的应用。
为了避免这种问题,在线构造图的过程中,我们利用加权海明空间中的锚点相似性来估计近邻关系。在整个数据集中选择比较少的K个锚点组成的数据集合来代表整个数据集。这样,每个节点都能被它的最近邻锚点来表示,然后我们可以通过校验两个节点是否有相似的最近邻锚点的方法来说明这两个节点是否是近邻关系。
对于每个数据集Dm,我们构造一个带有权重的的无向图Gm=(Vm,Em,ωm),其中,图的顶点Vm由数据集Dm中的点构成,对于Dm中的两个图像i和i′,若它们是相似的,则它们之间由一条边相连,(xi,xj)∈Em,ω(xi,xj)=S(xi,xj)。
下面对于数据集中的点相似关系以及相似度进行详细定义。
对于候选集Vm,从数据集中选取K(K<<N)个锚点 来描绘固有的近邻结构。这样任何的数据点都可以xi都可以通过向量的方式,用它的近邻锚点来表示,其中向量中的元素通过下式来定义:
上式中,<i>m是点xi通过计算与锚点的加权海明距离产生的最近邻锚点的下标。接下来,候选集Vm中两点的相似度Sm可以通过下式计算:
其中,因为Zm只有s个非零元素,是个稀疏的,所以相似度Sm也是十分稀疏的,只有共享相同的最近邻锚点的数据才被认为是近邻数据。
在上面的计算中,锚点的个数通常是小于返回结果的个数的,这样相比于其它方法,我们的方法能够有效地减少计算量,提高效率。
根据每个特征的初始检索排序结果,我们获得多个图{Gm=(Vm,Em,ωm),m=1,...,N},然后我们将它们融合成一个图G=(V,E,ω),其中顶点对应所有的候选结果,无重复。然后,对于每对候选结果,如果在图Gm中有一条边,那么在图G中也有一条对应的边,该边的权重为所有子图权重之和。这就能够保证在每个图中都表现为最近邻关系的节点,再融合图中能够获得更高的排序。基于锚点表示的方法,不仅能够得到节点之间的局部结构关系,同时使得不同的排序结果经过归一化之后转化为可以比较的。这样,没有任何的预处理操作,我们平等的看待每个特征的检索结果图,将它们的边的权重相加,如下:
V=∪Vm
E=∪Em
ω(xi,xj)=Σmωm(xi,xj)
综上所述,本发明提供的一种基于哈希编码加权排序的自适应查询方法,将基于图的重排序方法和多特征融合的重排序方法相结合,根据多特征融合的哈希重排序结果,有效地表达图像分布的信息,并构造多个图,然后采用特征融合进行图融合,最后对融合图进行重排序,从而有效地综合多特征优势,实现数据的快速查询,降低内存的消耗,有效地提高了查询的效率和准确率,对查询性能有很大提升。
能够有效地综合多特征优势,对查询性能有很大改善
实现大数据的快速查询,同时降低内存的消耗,有效地提高了查询的效率和准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。