发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题的基于多特征融合的多哈希表的查询方法。
根据本发明的一个方面,提供了一种基于多特征融合的多哈希表的查询方法,该方法包括:
训练数据提取多种特征,并生成每种特征的至少一个锚点;
根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图;
根据所述每种特征相应的锚点图计算每种特征的相似度量;
根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵;
根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建立多哈希表,根据所述多哈希表进行数据查询。
可选的,所述训练数据提取多种特征,并生成每种特征的至少一个锚点,具体为:
训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点。
可选的,所述训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点,具体包括:
对训练数据集x中的每个样例xi提取M种特征其中,1≤i≤N,1≤m≤M;
对每种特征,采用聚类的方式生成至少一个锚点,得到锚点集合U(m),其中,
可选的,所述根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图,具体包括;
根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图:
其中,表示依据核函数K(·,·)锚点集合U(m)中到点xi的s(s<<K)近邻的索引;矩阵Z(m)通常非常稀疏,它能够刻画数据在流形上的近邻结构,同时由于矩阵每行和为1,因此,Z(m)用来近似数据的相似度量矩阵其中Λ(m)=diag(Z(m)T1)。
可选的,所述根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵,具体包括:
根据所述锚点图初始化每种特征的相似度量其中, Λ(m)=diag(Z(m)1);
根据多种特征中每种特征的相似度量,顺序学习当前哈希表的哈希函数和锚点图的组合系数,迭代优化所述当前哈希表的哈希函数和锚点图的组合系数;
更新每种特征的相似度量矩阵;
在当前学习的哈希表小于预设数量时,重复执行所述迭代优化当前哈希表的哈希函数和锚点图的组合系数的步骤。
可选的,所述根据学习得到的每种特征的哈希函数和组合系数对所有的数据进行哈希编码,并建立多哈希表,并根据所述多哈希表进行数据查询,具体包括:
对任意数据,根据学习得到的每种特征的哈希函数和组合系数对所述数据进行哈希编码;
根据所述哈希编码构建多哈希表;
对任意的查询数据,根据所述多哈希表对所述查询数据进行哈希编码,以实现查询数据对任意数据的查询。
本发明的有益效果为:
本发明提供的一种基于多特征融合的多哈希表的查询方法,通过哈希函数对数据库中所有的数据进行二进制编码并建立哈希表,同时对查询进行同样的编码,通过互补哈希表查询实现大数据的快速检索,同时降低内存的消耗,有效地提高了查询效率和准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
针对单个哈希表,基于多视觉特征对图像的多个视角的刻画,发现多种相似度量下数据内在关系的一致性,实现高效的多特征哈希表学习及新数据的快速扩展;针对多哈希表,多特征的融合还需要以哈希表互补性准则为指导,结合哈希表间最近邻的分布关系以及每种特征的预测能力动态调整不同特征的重要性,进而通过多特征的自适应融合实现哈希表的互补性,同时保持哈希表构造的高效和检索扩展的简便等性质。通过哈希函数对数据库中所有的数据进行二进制编码并建立哈希表,同时对查询进行同样的编码。通过互补哈希表查询可以实现大数据的快速检索,同时降低内存的消耗。
图1示出了本发明实施例的一种基于多特征融合的多哈希表的查询方法的流程图。
参照图1,本发明实施例提出的基于多特征融合的多哈希表的查询方法包括:
S11、训练数据提取多种特征,并生成每种特征的至少一个锚点;
S12、根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图;
S13、根据所述每种特征相应的锚点图计算每种特征的相似度量;
S14、根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵;
S15、根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建立多哈希表,根据所述多哈希表进行数据查询。
本发明实施例提出的基于多特征融合的多哈希表的查询方法,可以自适应融合图像多种视觉特征建立互补哈希表,提高非监督情形下多哈希表的鲁棒性和检索整体性能;同时互补哈希表可以以较少的内存实现数据的高效索引,以及哈希表查询快速检索出原始以及相似的数据,具有较高的准确率和较短的响应时间。
本发明实施例,针对单个哈希表,扩展锚点图使其可融合多种视觉特征,等价于多特征锚点图加权组合。该方式具有以下优势:能够综合多视觉特征对图像的多个视角的刻画,发现多种相似度量下数据内在关系的一致性;具备低秩性质,可以通过高效的谱分解技术实现多特征哈希表学习;锚点图表示等价于非线性特征映射,可通过Nystrom扩展机制实现新数据的快速编码。针对互补多哈希表,通过锚点重加权机制依据每种特征的预测能力对不同特征的重要性进行自动决策,实现多特征动态融合,不仅能够感知相似度变化,实现多特征哈希表的互补性,同时能够保持哈希表高效构造和易扩展等性质,如图2所示,图2为本发明基于多特征融合的多哈希表的查询方法的具体实现流程图。可见,通过哈希表查询可以实现大数据的快速检索,同时降低内存的消耗。
可选的,所述训练数据提取多种特征,并生成每种特征的至少一个锚点,具体为:
训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点。
在本发明实施例中,所述训练数据提取多种特征,并采用聚类的方式生成所述每种特征的至少一个锚点,具体包括:
对训练数据集x中的每个样例xi提取M种特征其中,1≤i≤N,1≤m≤M;
对每种特征,采用聚类的方式生成至少一个锚点,得到锚点集合U(m),其中,
在本发明实施例中,所述根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图,具体包括;
根据所述每种特征的至少一个锚点,对提取的所述多种特征分别生成每种特征相应的锚点图:
其中,表示依据核函数K(·,·)锚点集合U(m)中到点xi的s(s<<K)近邻的索引;矩阵Z(m)通常非常稀疏,它能够刻画数据在流形上的近邻结构,同时由于矩阵每行和为1,因此,Z(m)用来近似数据的相似度量矩阵其中Λ(m)=diag(Z(m)T1)。
在本发明实施例中,如图3所示,所述步骤S14:根据所述每种特征的相似度量,顺序学习每种特征的哈希函数和锚点图的组合系数,并更新每种特征的相似度量矩阵,具体包括:
S141、根据所述锚点图初始化每种特征的相似度量其中, Λ(m)=diag(Z(m)1);
S142、根据多种特征中每种特征的相似度量,顺序学习当前哈希表的哈希函数和锚点图的组合系数,迭代优化所述当前哈希表的哈希函数和锚点图的组合系数;具体的包括:
a)初始化多特征组合系数
b)扩展锚点图为
由此得到考虑了多种特征数据的相似关系;
c)对矩进行谱分解,得到最大的特征值
λ>σ1≥...≥σB>0和特征向量V=[v1,...,vB];
d)计算得到投影后的Y=Z*W,其中,∑=diag(σ1,...,σB);
e计算特征组合系
f判断迭代是否收敛,收敛则停止迭代输出哈希函数和组合系数,否则进入步骤(b)重复操作。
S143、更新每种特征的相似度量矩阵;具体包括:
a)基于多哈希表的海明距离前l个哈希表对数据点xi和xj的预测为其中de是经验设置的距离半径;
b)每种特征的相似度矩阵依据预测被更新为
c)针对每种特征,求解
d)更新每种特征的锚点图其中
∏(m)=diag(π(m))
e)更新每种特征的相似矩阵其中
S144、判断当前学习的哈希表数量是否小于预设数量,若当前学习的哈希表小于预设数量时,重复执行所述步骤S142,迭代优化当前哈希表的哈希函数和锚点图的组合系数的步骤;否则,执行步骤S15,根据学习得到的每种特征的哈希函数和组合系数对任意数据进行哈希编码,并建立多哈希表,根据所述多哈希表进行数据查询。
在本发明实施例中,所述根据学习得到的每种特征的哈希函数和组合系数对所有的数据进行哈希编码,并建立多哈希表,并根据所述多哈希表进行数据查询,具体包括:
对任意数据,根据学习得到的每种特征的哈希函数和组合系数对所述数据进行哈希编码;
根据所述哈希编码构建多哈希表;
对任意的查询数据,根据所述多哈希表对所述查询数据进行哈希编码,以实现查询数据对任意数据的查询。
本发明实施例中,对任意的数据x∈Rd,可采用每个哈希表的哈希函数进行哈希得到二进制编码y=sgn(WTx);
基于哈希编码Y可以构建哈希表,对任意的查询数据q∈Rd,同样采用多个哈希表的哈希函数进行编码得到yq。采用哈希表查询实现数据的快速有效的最近邻搜索。
综上所述,本发明提供的一种基于多特征融合的多哈希表的查询方法,通过哈希函数对数据库中所有的数据进行二进制编码并建立哈希表,同时对查询进行同样的编码,通过互补哈希表查询实现大数据的快速检索,同时降低内存的消耗,有效地提高了查询的效率和准确率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。