CN104123375A - 数据搜索方法及系统 - Google Patents
数据搜索方法及系统 Download PDFInfo
- Publication number
- CN104123375A CN104123375A CN201410364896.1A CN201410364896A CN104123375A CN 104123375 A CN104123375 A CN 104123375A CN 201410364896 A CN201410364896 A CN 201410364896A CN 104123375 A CN104123375 A CN 104123375A
- Authority
- CN
- China
- Prior art keywords
- buffer zone
- data
- coding
- projection
- hash
- 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.)
- Granted
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种数据搜索方法,包括:提取训练数据集的特征向量;将特征向量投影到近似汉明空间的预设特征空间;根据投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区;根据量化阈值和最优缓冲区对特征向量投影结果进行双比特量化以得到哈希编码;获取查询实例的哈希编码,并根据查询实例的哈希编码和特征向量投影结果的哈希编码从训练数据集中提取近似的训练数据以作为查询实例的搜索结果。根据本发明实施例的方法具有搜索速度快,搜索精度高的优点。本发明还提出了一种数据搜索系统。
Description
技术领域
本发明设计电子信息技术领域,特别涉及一种数据搜索方法及系统。
背景技术
近年来,互联网数据呈现爆炸式增长的态势,用户通过各种途径,不断地将资讯、图像、视频、音乐等数据上载到互联网上,诸如国外的Facebook、Twitter,国内的人人网、微博等,以实现信息的存储和共享。如此大规模的数据增长为互联网领域带来了很多挑战,包括如何存储这些数据以及如何在这些数据上进行快速有效的查询等。特别是对于图像等非结构化数据,其内容信息往往被表达成高维特征向量,而在如此海量而又快速增长的数据中,利用欧氏距离等距离度量方式和传统的遍历式近邻搜索将消耗大量的计算成本和计算时间,不能满足实时性的要求。因此,对于海量数据的查询技术越来越关注,尤其是如何在保证高质量的近邻查询的前提下,提高查询速度以适应海量互联网数据的快速增长。
为了解决遍历搜索效率不高的问题,基于树形结构的索引首先被提出并广泛应用。J.H.Friedman等人提出了kd-trees,尝试在高维欧几里德空间中进行数据点的组织;A.Guttman在1984年提出R-trees,它是最早支持扩展对象存取的方法之一,也是目前应用最为广泛的一种空间索引结构;Metric Tree在1991年被提出,该模型充分利用了度量空间的性质,使数据访问更加高效。后续还有一些更加前沿的树形结构索引模型出现,但它们普遍是对某个基本模型做出的改进,本质内容和核心结构并无太大区别。相比于遍历搜索,树形结构索引能够通过剪枝策略帮助降低近邻查询的遍历范围,但是在数据维度越来越高的情况下,继续使用它进行大规模数据管理将出现“维度灾难”,使得索引之后的查询效率可能比遍历查询还要低。
为了解决上述问题,近年来提出了近似近邻查询(Approximate Nearest Neighbor)的概念,即允许非精确的查询结果出现,用可接受范围内的精度下降换取查询效率的大幅度提高。因此,哈希(Hash)方法被提出,其本质在于对数据集当中的向量进行二进制编码,编码算法需保证在原始特征空间中距离相近的特征向量有相似的码字,从而使其汉明距离(Hamming Distance)也相应较小,保持原始特征空间中向量之间的邻域特性。此外,通过编码,数据将被转化成二进制形式,可直接采用比特位存储,能大幅度降低检索过程中的空间需求,从而使得哈希方法能够在内存有限的情况下支持更大数据量的检索。就目前的研究成果而言,哈希方法可分为两类:数据无关方法和数据相关方法。局部敏感哈希(LSH,Locality-sensitive Hash)及其衍生方法是数据无关方法的典型代表,其采取随机投影的方式对原始数据进行编码,在编码位数较高的情况下,理论上能够保证汉明空间上的相似性能以较高的概率表征原始特征空间的相似性。因此,LSH方法通常需要较多二进制位来表示一个映射后的数据点,否则很难保证查询精度。而数据相关方法则通过机器学习等方法,挖掘训练数据的特征,自动学习最优的哈希函数,力求使用较少的二进制位来编码数据,同时又要尽量提高算法保持数据相似性的能力。谱哈希(SH,Spectral Hashing)方法借助于对训练数据的相似图结构的分析学习出投影函数,从而实现对数据特征向量的转化和编码;PCA-Hash采用主成份分析(PCA,Principal Component Analysis),利用线性变换将高维向量数据投影到相对低维的新特征空间,并尽可能保持原有特征空间的信息;迭代量化方法(ITQ,Iterative Quantization)利用PCA学习初始的线性投影函数,而后通过降低量化误差,迭代地学习出一个单位正交矩阵用于优化学到的投影函数,实验证明ITQ取得了良好的检索效果。
通过对已有的哈希方法的总结可知,对于一个给定的数据集,直接计算其最优二进制码是NP-hard问题,因此常见的哈希方法都会采取“投影”和“量化”两个步骤来实现对数据的编码。首先在投影阶段对高维数据点进行转化操作,使其更适合于汉明空间的量化,可通过PCA等方法将原始的d维数据投影至c维空间中;其次,在量化阶段,数据点投影后的实数向量将进行二值化,转化为二进制编码。因此,对于哈希方法的优化基本分为“投影”过程优化和“量化”过程优化这两个主要方向,本发明主要侧重于后者。大多数哈希编码在量化阶段采取单比特量化(SBQ,Single-bit Quantization)方式,即用一个比特位编码投影结果中的每一维,通过设置阈值的方式判定相应的码字为0或1。在实际操作中,阈值通常取的是数据集中各个数据点在该维度上的投影值的均值或中位数,而数据点在阈值附近的分布往往较为密集,容易造成在阈值附近相邻的数据点被赋予不同的码字,从而破坏了原始特征空间的邻域分布结构。所以,有必要发明一种新的量化方式,以保证编码后数据的相似性度量与原始数据的距离度量尽量一致,减少编码过程对原始空间邻域结构的破坏。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种数据搜索方法。该方法具有搜索速度快,搜索精度高的优点。
本发明的另一个目的在于提出一种数据搜索系统。
为了实现上述目的,本发明的第一方面的实施例公开了一种数据搜索方法,包括以下步骤:提供训练数据集,并提取所述训练数据集的特征向量;利用投影算法将所述特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果;根据所述投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区;根据所述量化阈值和所述最优缓冲区对所述特征向量投影结果进行双比特量化以得到哈希编码;获取查询实例的哈希编码,并根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取近似的训练数据以作为所述查询实例的搜索结果。
本发明的第二方面的实施例公开了一种数据搜索系统,包括:特征向量提取模块,用于提取训练数据集的特征向量;投影模块,用于利用投影算法将所述特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果;计算模块,用于根据所述投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区;编码模块,用于根据所述量化阈值和所述最优缓冲区对所述特征向量投影结果进行双比特量化以得到哈希编码,并对查询实例进行双比特量化以得到所述查询实例的哈希编码;搜索模块,用于根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取近似的训练数据以作为所述查询实例的搜索结果。
根据本发明的实施例,具有如下优点:本发明从量化的角度对哈希算法进行优化,对投影过程并没有特殊的要求,因此可以与已有的诸多哈希投影算法结合使用,在其基础上进行优化和性能提升,从而获得更高的检索精度。本发明在基于阈值的单比特量化基础上提出了基于缓冲区的双比特量化方式,能有效降低阈值划分对邻域结构的破坏,使得数据点在汉明空间的距离关系能更好地表征其在原始特征空间的距离关系,从而能获得更高的检索精度。本发明给出了计算最优缓冲区的目标函数,并提出了两种缓冲区效果度量指标,分别是总体性能优化程度和性能优化范围。通过综合考虑多种效果度量指标,可以从多个角度出发计算整体表现最优的缓冲区,从而提升算法的自适应性。本发明通过设计合适的哈希码距离度量方式,能充分利用硬件的高效比特位计算能力,在扩展汉明距离范围获得较大幅度性能提升的前提下,计算成本仍然与原始汉明距离度量方式相当,从而继续保持了哈希码计算高效的优点。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的数据搜索方法的流程图;
图2是根据本发明一个实施例的数据搜索方法的详细流程图;
图3是单比特量化与基于缓冲区的双比特量化的比较结果示意图;以及
图4是根据本发明一个实施例的数据搜索系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
以下结合附图描述根据本发明实施例的数据搜索方法及系统。
本发明实施例的数据搜索方法的原理为:在传统的阈值划分基础上引入缓冲区,以降低阈值划分对数据点分布密集区域的邻域特性的破坏,同时使用双比特来编码投影后的每一维数据,两个二进制位分别被赋予不同的含义,结合本发明提出的汉明距离计算方法,能在保证效率的前提下扩大距离度量空间,提升相似性衡量效果,获得更优的近邻检索性能。因此,本发明所提出的方法,不仅能提高量化阶段数据点之间相邻关系的保持能力,解决单比特量化对邻域结构的破坏问题,同时还能在充分保证执行效率的前提下,改善近邻查询精度。
本发明所提出的方法,其完成量化工作的主要思想为:对投影结果的每一维实数值进行基于阈值和缓冲区的双比特量化操作。在这里,缓冲区的设置主要是为了对阈值划分可能造成的邻域结构破坏进行“缓冲”,即虽然阈值划分可能将两个本来相邻的数据点(如图3中的B、C)分在不同的区域内,但缓冲区的设置可保证这两点在汉明空间的距离不会大于被阈值分在同一区域但实际距离较远的两个点(如图3中的A、B)。因此,缓冲区的引入能尽可能地降低阈值划分所造成的数据点之间相邻关系的破坏。此外,通过本发明提出的距离计算方法,双比特量化也可使数据点在汉明空间的距离度量范围更大(度量范围从传统汉明距离的{0,1,2}扩大到{0,1,2,3}),从而能更好地描述其在原始空间的距离关系。
具体而言,本发明的原理为首先需要提取训练数据的特征表示,以特征向量的形式表征训练数据集;而后选定某一种投影算法,并据此获取训练数据的特征投影结果,完成从原始特征空间向新的特征空间的转化,以便更接近于汉明空间,方便量化;投影过程结束后进入量化阶段,对投影后数据的每一维,首先根据相应的投影算法选取量化阈值,而后根据优化性能、优化范围这两个指标获取两个不同的缓冲区,并据此计算综合的最优缓冲区;确定训练数据投影后各个维度的阈值和缓冲区之后,即可对训练数据投影结果的每一维进行双比特量化,得到最终的哈希编码;完成哈希算法学习和训练数据编码后,即可开始测试实例的查询:首先提取输入的查询实例的特征向量,根据训练数据上学习到的投影算法获得特征向量的投影结果,而后对投影结果的每一维根据对应的阈值和缓冲区大小进行双比特量化,获得其哈希编码,查询实例编码完成后,将其与训练数据进行基于缓冲区的哈希码距离度量,排序后即可输出最终得到的近邻检索结果。从实验的结果来看,本发明所提出的双比特哈希量化与计算方法具有通用性强、检索精度高、自适应性好、检索高效等特点,具有较强的实际应用前景。
以下结合附图1和2详细描述根据本发明实施例的数据搜索方法。如图1所示,并结合图2,根据本发明一个实施例的数据搜索方法,包括如下步骤:
步骤S101:提供训练数据集,并提取训练数据集的特征向量。
具体地说,需要提取训练数据(即训练数据集)的特征表示(即特征向量),用相同维度的特征向量表征各个训练数据的内容信息。例如,当训练数据为图像数据集时,可以利用现有的一些开源项目对每一个图像实例提取一种或若干种特征向量,如512维的GIST特征等。
步骤S102:利用投影算法将特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果。
具体地说,首先需要确定投影算法,例如:假设某个训练数据的原始特征向量为而哈希算法需要将其编码为长度为c的二进制字符串{0,1)c,实现由d维实数域到c维二进制域的映射。由于映射前后的维度不一致,因此需要选择一个特征投影算法,将原始的特征向量投影到新的特征空间中。如PCA-Hash中的主成分分析线性投影方法等。由于不同投影算法的性能、效率有所差异,因此可以根据实际需求选择一种或多种方法共同来完成训练数据特征的投影工作。
在确定投影算法之后,即根据确定的特征投影算法,将训练数据的特征表示,通过相应的投影过程,转化成新的特征空间中的向量表示,以便更接近于汉明空间,方便量化。设选定的投影函数为f(x),若新的特征空间为h维,则需h个投影函数。为了简化标记,以下内容均以f(x)表示对某一维投影的泛指,它的输出是一个实数值,亦即数据点x经过投影后在该维度上的取值,而不是整个投影后的实数向量。
步骤S103:根据投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区。
其中,根据投影算法得到量化阈值:在已有的哈希算法中,数据经过投影之后,在各个维度上将会有相应的阈值θ(通常为该维度投影值的均值或者中位数)用于将相应维度的投影结果划分为码字为0和码字为1的两个分界区域,亦即,投影结果小于阈值的数据点在该维度上的码字为0,其他数据点的相应码字为1。而对于本发明所提出的方法,还需要从训练数据中学习出最优的缓冲区半径r,以便能最大程度上降低阈值划分对邻域结构的破坏,并支持双比特量化。
另外,根据优化性能和优化范围确定最优缓冲区进一步包括:根据优化性能确定与优化性能对应的第一缓冲区;根据优化范围确定与优化范围对应的第二缓冲区;根据第一缓冲区和第二缓冲区得到所述最优缓冲区。其中,所述第一缓冲区由如下公式确定,所述公式为:
δ=minB∑x∈BF(x,Sx,B),
其中,δ是可能获得的最大优化性能,其对应的候选缓冲区则为所述第一缓冲区。
所述第二缓冲区则是通过如下公式确定,所述公式为:
n=maxB|{x∈B|F(x,Sx,B)<0}|,
其中,n为可能获得的满足F(x,Sx,B)<0的x的最大总数,其对应的候选缓冲区则为所述第二缓冲区。
具体地说,根据优化性能获取缓冲区r1(即第一缓冲区),包括:学习最优缓冲区半径的第一个指标是获得最大的优化性能,由此可以得到第一个缓冲区大小r1。在考量缓冲区的优化性能方面,对于缓冲区中每一个数据点,以其到缓冲区以及处于同一分界区域的其他点的平均距离和引入缓冲区之前其到处于同一分界区域的其他点的平均距离之差作为优化性能的量化指标,其中,当差值小于0时,表示所述候选缓冲区中的数据点x在引入所述候选缓冲区B之后进行了优化。具体如下面的公式所示:
其中,B为候选缓冲区,x为候选缓冲区中的数据点,Sx为x所在分界区域的数据集合,d(x-v)表示x和v在原始特征空间的距离。
在原本的基于阈值划分的单比特量化中,只有Sx中的点被看作x的邻域,因此表达式表示的就是引入缓冲区之前数据点x到处于同一分界区域的其他点的平均距离。而在本发明提出的基于缓冲区的双比特量化中,引入缓冲区后,Sx和B都被看作x的邻域,因此表达式表示的就是引入缓冲区之后数据点x到缓冲区以及处于同一分界区域的其他点的平均距离。而F(B,x,Sx)=E2-E1则表示了引入缓冲区之后所引起的平均距离的减少,可视为对阈值划分造成的邻域结构破坏的降低。据此,可以找到一个最优的缓冲区,它对于其内部所有的点,能使得E2-E1之和最小,亦即优化性能最佳。因此可以得到如下的表达式,其中δ为引入缓冲区之后所获得的优化性能(一股为负值,若为正值则说明该缓冲区无法降低邻域结构的破坏):
δ=minB∑x∈BF(x,Sx,B),
寻找合适的缓冲区B使得δ达到最小,则意味着找到“优化性能”指标下的最优缓冲区。这里r1的选择可以通过遍历所有训练数据的投影结果在相应维度上与其阈值的绝对距离来进行选择。
根据优化范围获取缓冲区r2(即第二缓冲区),包括:学习最优缓冲区半径的第二个指标是获得最大的优化范围,由此可以得到第二个缓冲区大小r2。优化范围指的是引入缓冲区后,到邻域各点的平均距离能够减少的点的数量,也就是满足F(x,Sx,B)<0的x的总数,可以将其设为n,则可以有如下表达式:
n=maxB|{x∈B|F(x,Sx,B)<0}|,
到邻域各点的平均距离能够减少的点数量越多,则说明该缓冲区的优化范围越大,因此可以找到“优化范围”指标下的最优缓冲区。同样的,这里r2的选择可以通过遍历所有训练数据的投影结果在相应维度上与其阈值的绝对距离来进行选择。
最后,根据优化性能最大化和优化范围最大化的两个指标所获得的最优缓冲区半径r1,r2,可通过合适的方式将两者融合,用于计算综合的最优缓冲区大小r,在本发明中,直接取两者的平均值作为最终的缓冲区半径,亦即
步骤S104:根据量化阈值和最优缓冲区对特征向量投影结果进行双比特量化以得到哈希编码。
例如:根据已经得出的各维度的阈值θ及其最优缓冲区半径r,对投影后数据的每一维进行双比特量化,完成训练数据集上的编码工作。具体过程如下:
(1)通过训练数据计算出当前维度的阈值θ和缓冲区大小r,根据这两个值将该维度的数据分成四个部分;
(2)对于f(x)≤θ(数据位于θ左侧),该维度的第一个比特位设为0,否则设为1;
(3)对于θ-r≤f(x)≤θ+r(数据位于缓冲区内),该维度的第二个比特位设为0,否则设为1。
对某个维度最终量化结果而言,双比特的第一比特位表示所在的阈值划分的分界区域,第二比特位则表示是否位于缓冲区内。
而传统的多比特哈希方法一股将表示某一维投影数据的哈希码组织在一起,即用几个连续的0、1比特表示投影后的某一维数据。然而,在本发明实施例的方法中,由于双比特量化的两个比特位所表示的含义有所不同,为了方便后续的距离度量工作,本发明实施例的方法将表示同一维度的两个比特位分开记录。具体而言,c维度码字的前一半用于记录第一个比特位,后一半用于记录第二个比特位。如一个长度为8的哈希编码00111100中,其第一个维度的双比特码字为01,即编码中的第1位为第一个投影维度的第一比特位,而第5位为则是第二比特位。
步骤S105:获取查询实例的哈希编码,并根据查询实例的哈希编码和特征向量投影结果的哈希编码从训练数据集中提取近似的训练数据以作为查询实例的搜索结果。其中,查询实例的哈希编码的获取方式与上述方式类似,此处不做赘述。
具体地,可根据查询实例的哈希编码和所述特征向量投影结果的哈希编码之间的汉明距离从训练数据集中提取训练数据。
其中,本发明计算汉明距离通过如下公式实现,所述公式为:
其中,x1x2为两个数据点编码后的二进制串,x11,x21为编码后的所有第一比特位,x12,x22为编码后的所有第二比特位,表示进行“异或”操作,表示对所有第一比特位进行“异或”运算,x12&x22表示对所有第二比特位进行“与”运算。
更为具体地,哈希编码完成后,接下来要做的就是距离度量和近邻查询工作。注意到,由于使用双比特量化将实数域分为四个区域,因此理想情况下各个区域之间的距离应在{0,1,2,3}范围内,但是由于汉明距离在计算上的限制,区域之间的汉明距离最大为2,不能够良好地描述区域之间的关系。例如,要求图3中的A、D两点的距离为3,但是其实际的汉明距离为1,与B、C两点之间的距离相同,这是不合理的。因此,仅使用汉明距离来进行距离度量有其局限性,需要进行扩展。在对四个区域之间的距离情况进行枚举之后,发现只有01和11这两个区域之间的距离不能用汉明距离计算,而且只有这两个区域的第二比特位进行“与”运算的结果为1,除此之外其他所有区域间组合的“与”运算结果都为0。考虑到该特性,使用下述公式对距离度量方式进行扩展:
其中x1,x2为两个数据点编码后的二进制串,x11,x21为编码后的所有第一比特位(亦即哈希编码的前一半码字),x12,x22为编码后的所有第二比特位(亦即哈希编码的后一半码字)。表示对它们进行“异或”操作以计算基本的汉明距离,是对所有第一比特位进行“异或”运算,保证只有当两个区域互不相同时才进行距离补充,而x12&x22则是对所有第二比特位进行“与”运算。通过运算可求得两个分别长为c和的二进制串,接下来需要借助查表的方式将二进制数转为十进制数,即上式中的BtD(·)操作,该操作计算二进制数中1的个数作为转换后的十进制数。注意到,得到的实际上就是两点的汉明距离,而 则是为位于缓冲区外的两个区域所做的汉明距离上的补充,使得如图3中01和11这两个区域之间的距离度量为3而不是基本的汉明距离1。此外,这里的表示对的结果左移一位,实际上等同于但位移操作比乘法操作在硬件上要高效很多,因此使用位移的方式来代替实际意义上的乘法操作,可减少计算过程中涉及算术运算的次数,提高算法运行效率。使用上式所述方法,即可完成查询实例与所有训练数据的距离度量。
在获得查询实例与所有训练数据的距离之后,需要将距离由小到大进行排序,可使用快速排序等算法。排序完成后,将直接输出距离最小的前N个训练数据作为查询实例的近似近邻查询结果。
本发明的实验结果:
通过在哈希方法研究领域的标准数据集CIFAR-10上的实验,本发明的方法表现出了其有效性。CIFAR-10数据集包含60,000个图像实例,每个实例表示为一个512维的特征向量。使用随机选择的1,000个实例作为测试数据,将余下的数据作为训练数据,并从中检索出测试数据的近邻。在实验中,使用原始特征空间中通过欧式距离度量得到的近邻作为检索到的近邻正确与否的基准,具体而言,以训练数据集上所有图像与其第50个最近邻的距离平均值作为阈值,用于区分正确的近邻和错误的近邻(亦即欧氏距离小于阈值的视为正确近邻)。
对于本发明的检索性能,采用平均准确率均值(mAP,Mean Average Precision)作为衡量指标,得到如表1所示的实验结果。在实验中,本发明提出的方法被应用到已有的哈希方法中,诸如LSH、PCA-Hash、SH和ITQ等,并分别衡量了这些方法在单比特量化下的检索性能与结合本发明提出的方法后的检索性能(分别标记为LSH*,PCA-Hash*,SH*,ITQ*等)。此外,表中给出了不同编码长度下(16、32、64、128、256)各个哈希方法的检索性能,其中加粗的项表示更优的结果。从实验的结果可以看出,在绝大多数情况下,已有的哈希方法在结合本发明的方法后,检索性能可以得到明显的提升。
表1为CIFAR-10数据集上不同哈希方法在不同编码长度下的近邻检索性能(mAP)
根据本发明实施例的方法,具有如下优点:本发明从量化的角度对哈希算法进行优化,对投影过程并没有特殊的要求,因此可以与已有的诸多哈希投影算法结合使用,在其基础上进行优化和性能提升,从而获得更高的检索精度。本发明在基于阈值的单比特量化基础上提出了基于缓冲区的双比特量化方式,能有效降低阈值划分对邻域结构的破坏,使得数据点在汉明空间的距离关系能更好地表征其在原始特征空间的距离关系,从而能获得更高的检索精度。本发明给出了计算最优缓冲区的目标函数,并提出了两种缓冲区效果度量指标,分别是总体性能优化程度和性能优化范围。通过综合考虑多种效果度量指标,可以从多个角度出发计算整体表现最优的缓冲区,从而提升算法的自适应性。本发明通过设计合适的哈希码距离度量方式,能充分利用硬件的高效比特位计算能力,在扩展汉明距离范围获得较大幅度性能提升的前提下,计算成本仍然与原始汉明距离度量方式相当,从而继续保持了哈希码计算高效的优点。
本发明的进一步实施例提供了一种数据搜索系统,如图4所示,根据本发明一个实施例的数据搜索系统400,包括:特征向量提取模块410、投影模块420、计算模块430、编码模块440和搜索模块450。
其中,特征向量提取模块410用于提取训练数据集的特征向量。投影模块420用于利用投影算法将所述特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果。计算模块430用于根据所述投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区。编码模块440用于根据所述量化阈值和所述最优缓冲区对所述特征向量投影结果进行双比特量化以得到哈希编码,并对查询实例进行双比特量化以得到所述查询实例的哈希编码。搜索模块450用于根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取近似的训练数据以作为所述查询实例的搜索结果。
在本发明的一个实施例中,计算模块用于:根据所述优化性能确定与所述优化性能对应的第一缓冲区;根据所述优化范围确定与所述优化范围对应的第二缓冲区;根据所述第一缓冲区和所述第二缓冲区得到所述最优缓冲区。
其中,本发明为所述优化性能定义了如下公式作为量化指标,所述公式为:
其中,B为候选缓冲区,x为候选缓冲区中的数据点,Sx为x所在分界区域的数据集合,d(x-v)表示x和v在原始特征空间的距离,则所述量化指标公式中的F描述的是所述缓冲区中的所有数据点到缓冲区以及处于同一分界区域的其他数据点的平均距离和引入缓冲区之前其到处于同一分界区域的其他数据点的平均距离之差,其中,当差值小于0时,表示所述候选缓冲区中的数据点x在引入所述候选缓冲区B之后进行了优化。而所述第一缓冲区则是由如下公式确定,所述公式为:
δ=minB∑x∈BF(x,Sx,B),
其中,δ是可能获得的最大优化性能,其对应的候选缓冲区则为所述第一缓冲区。
所述第二缓冲区则是通过如下公式确定,所述公式为:
n=maxB|{x∈B|F(x,Sx,B)<0}|,
其中,n为可能获得的满足F(x,Sx,B)<0的x的最大总数,其对应的候选缓冲区则为所述第二缓冲区。
在本发明的一个实施例中,搜索模块用于:根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码之间的汉明距离从所述训练数据集中提取训练数据。其中,汉明距离通过如下公式得到,所述公式为:
其中,x1,x2为两个数据点编码后的二进制串,x11,x21为编码后的所有第一比特位,x12,x22为编码后的所有第二比特位,表示进行“异或”操作,表示对所有第一比特位进行“异或”运算,x12&x22表示对所有第二比特位进行“与”运算。
需要说明的是,本发明实施例的系统的具体实现与方法类似,为了减少冗余,不做赘述。
根据本发明实施例的系统,具有如下优点:本发明从量化的角度对哈希算法进行优化,对投影过程并没有特殊的要求,因此可以与已有的诸多哈希投影算法结合使用,在其基础上进行优化和性能提升,从而获得更高的检索精度。本发明在基于阈值的单比特量化基础上提出了基于缓冲区的双比特量化方式,能有效降低阈值划分对邻域结构的破坏,使得数据点在汉明空间的距离关系能更好地表征其在原始特征空间的距离关系,从而能获得更高的检索精度。本发明给出了计算最优缓冲区的目标函数,并提出了两种缓冲区效果度量指标,分别是总体性能优化程度和性能优化范围。通过综合考虑多种效果度量指标,可以从多个角度出发计算整体表现最优的缓冲区,从而提升算法的自适应性。本发明通过设计合适的哈希码距离度量方式,能充分利用硬件的高效比特位计算能力,在扩展汉明距离范围获得较大幅度性能提升的前提下,计算成本仍然与原始汉明距离度量方式相当,从而继续保持了哈希码计算高效的优点。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (10)
1.一种数据搜索方法,其特征在于,包括以下步骤:
提供训练数据集,并提取所述训练数据集的特征向量;
利用投影算法将所述特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果;
根据所述投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区;
根据所述量化阈值和所述最优缓冲区对所述特征向量投影结果进行双比特量化以得到哈希编码;
获取查询实例的哈希编码,并根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取近似的训练数据以作为所述查询实例的搜索结果。
2.根据权利要求1所述的数据搜索方法,其特征在于,所述根据优化性能和优化范围确定最优缓冲区,进一步包括:
根据所述优化性能确定与所述优化性能对应的第一缓冲区;
根据所述优化范围确定与所述优化范围对应的第二缓冲区;
根据所述第一缓冲区和所述第二缓冲区得到所述最优缓冲区。
3.根据权利要求2所述的数据搜索方法,其特征在于,所述优化性能定义了如下公式作为量化指标,所述公式为:
其中,B为候选缓冲区,x为候选缓冲区中的数据点,Sx为x所在分界区域的数据集合,d(x-v)表示x和v在原始特征空间的距离,则所述量化指标公式中的F描述的是所述缓冲区中的所有数据点到缓冲区以及处于同一分界区域的其他数据点的平均距离和引入缓冲区之前其到处于同一分界区域的其他数据点的平均距离之差,其中,当差值小于0时,表示所述候选缓冲区中的数据点x在引入所述候选缓冲区B之后进行了优化,而所述第一缓冲区则是由如下公式确定,所述公式为:
δ=minB∑x∈BF(x,Sx,B),
其中,δ是可能获得的最大优化性能,其对应的候选缓冲区则为所述第一缓冲区,
所述第二缓冲区则是通过如下公式确定,所述公式为:
n=maxB|{x∈B|F(x,Sx,B)<0}|,
其中,n为可能获得的满足F(x,Sx,B)<0的x的最大总数,其对应的候选缓冲区则为所述第二缓冲区。
4.根据权利要求1所述的数据搜索方法,其特征在于,所述根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取训练数据,进一步包括:
根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码之间的汉明距离从所述训练数据集中提取训练数据。
5.根据权利要求4所述的数据搜索方法,其特征在于,所述汉明距离通过如下公式得到,所述公式为:
其中,x1,x2为两个数据点编码后的二进制串,x11,x21为编码后的所有第一比特位,x12,x22为编码后的所有第二比特位,表示进行“异或”操作,表示对所有第一比特位进行“异或”运算,x12&22彻表示对所有第二比特位进行“与”运算。
6.一种数据搜索系统,其特征在于,包括:
特征向量提取模块,用于提取训练数据集的特征向量;
投影模块,用于利用投影算法将所述特征向量由原始特征空间投影到近似汉明空间的预设特征空间以得到特征向量投影结果;
计算模块,用于根据所述投影算法得到量化阈值,并根据优化性能和优化范围确定最优缓冲区;
编码模块,用于根据所述量化阈值和所述最优缓冲区对所述特征向量投影结果进行双比特量化以得到哈希编码,并对查询实例进行双比特量化以得到所述查询实例的哈希编码;
搜索模块,用于根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码从所述训练数据集中提取近似的训练数据以作为所述查询实例的搜索结果。
7.根据权利要求1所述的数据搜索系统,其特征在于,所述计算模块用于:
根据所述优化性能确定与所述优化性能对应的第一缓冲区;
根据所述优化范围确定与所述优化范围对应的第二缓冲区;
根据所述第一缓冲区和所述第二缓冲区得到所述最优缓冲区。
8.根据权利要求7所述的数据搜索系统,其特征在于,所述优化性能定义了如下公式作为量化指标,所述公式为:
其中,B为候选缓冲区,x为候选缓冲区中的数据点,Sx为x所在分界区域的数据集合,d(x-v)表示x和v在原始特征空间的距离,则所述量化指标公式中的F描述的是所述缓冲区中的所有数据点到缓冲区以及处于同一分界区域的其他数据点的平均距离和引入缓冲区之前其到处于同一分界区域的其他数据点的平均距离之差,其中,当差值小于0时,表示所述候选缓冲区中的数据点x在引入所述候选缓冲区B之后进行了优化,而所述第一缓冲区则是由如下公式确定,所述公式为:
δ=minB∑x∈BF(x,Sx,B),
其中,δ是可能获得的最大优化性能,其对应的候选缓冲区则为所述第一缓冲区,
所述第二缓冲区则是通过如下公式确定,所述公式为:
n=maxB|{x∈B|F(x,Sx,B)<0}|,
其中,n为可能获得的满足F(x,Sx,B)<0的x的最大总数,其对应的候选缓冲区则为所述第二缓冲区。
9.根据权利要求6所述的数据搜索系统,其特征在于,所述搜索模块用于:
根据所述查询实例的哈希编码和所述特征向量投影结果的哈希编码之间的汉明距离从所述训练数据集中提取训练数据。
10.根据权利要求9所述的数据搜索系统,其特征在于,所述汉明距离通过如下公式得到,所述公式为:
其中,x1,x2为两个数据点编码后的二进制串,x11,x21为编码后的所有第一比特位,x12,x22为编码后的所有第二比特位,表示进行“异或”操作,表示对所有第一比特位进行“异或”运算,x12&x22表示对所有第二比特位进行“与”运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410364896.1A CN104123375B (zh) | 2014-07-28 | 2014-07-28 | 数据搜索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410364896.1A CN104123375B (zh) | 2014-07-28 | 2014-07-28 | 数据搜索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104123375A true CN104123375A (zh) | 2014-10-29 |
CN104123375B CN104123375B (zh) | 2018-01-23 |
Family
ID=51768786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410364896.1A Active CN104123375B (zh) | 2014-07-28 | 2014-07-28 | 数据搜索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123375B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933182A (zh) * | 2015-06-30 | 2015-09-23 | 孙建德 | 一种确定视频哈希有效长度的方法 |
CN106033426A (zh) * | 2015-03-11 | 2016-10-19 | 中国科学院西安光学精密机械研究所 | 一种基于潜在语义最小哈希的图像检索方法 |
CN106997385A (zh) * | 2017-03-09 | 2017-08-01 | 杭州电子科技大学 | 一种基于双倍比特量化及加权的最近邻搜索方法 |
WO2018040503A1 (zh) * | 2016-08-30 | 2018-03-08 | 北京百度网讯科技有限公司 | 获取搜索结果的方法和装置 |
CN109906451A (zh) * | 2016-09-07 | 2019-06-18 | 脸谱公司 | 使用多义码的相似性搜索 |
CN110188223A (zh) * | 2019-06-06 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及计算机设备 |
CN110362303A (zh) * | 2019-07-15 | 2019-10-22 | 深圳市宇数科技有限公司 | 数据探索方法和系统 |
CN112241475A (zh) * | 2020-10-16 | 2021-01-19 | 中国海洋大学 | 基于维度分析量化器哈希学习的数据检索方法 |
CN112712090A (zh) * | 2019-10-24 | 2021-04-27 | 北京易真学思教育科技有限公司 | 一种图像处理方法、装置、设备及存储介质 |
CN113742288A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于数据索引的方法、电子设备和计算机程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1857001A (zh) * | 2003-05-20 | 2006-11-01 | Amt先进多媒体科技公司 | 混合视频压缩方法 |
-
2014
- 2014-07-28 CN CN201410364896.1A patent/CN104123375B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1857001A (zh) * | 2003-05-20 | 2006-11-01 | Amt先进多媒体科技公司 | 混合视频压缩方法 |
Non-Patent Citations (3)
Title |
---|
W.H. KONG ET AL.: ""Double-Bit Quantization for Hashing"", 《AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE》 * |
WEI LIU ET AL.: ""Hashing with Graphs"", 《IN PROCEEDINGS OF INTERNATIONAL CONFERENCE ON MACHINE LEARNING》 * |
董道国 等: ""VA-Trie:一种用于近似k近邻查询的高维索引结构"", 《计算机研究与发展》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033426A (zh) * | 2015-03-11 | 2016-10-19 | 中国科学院西安光学精密机械研究所 | 一种基于潜在语义最小哈希的图像检索方法 |
CN104933182A (zh) * | 2015-06-30 | 2015-09-23 | 孙建德 | 一种确定视频哈希有效长度的方法 |
CN104933182B (zh) * | 2015-06-30 | 2018-05-11 | 山东管理学院 | 一种确定视频哈希有效长度的方法 |
WO2018040503A1 (zh) * | 2016-08-30 | 2018-03-08 | 北京百度网讯科技有限公司 | 获取搜索结果的方法和装置 |
CN109906451A (zh) * | 2016-09-07 | 2019-06-18 | 脸谱公司 | 使用多义码的相似性搜索 |
CN106997385A (zh) * | 2017-03-09 | 2017-08-01 | 杭州电子科技大学 | 一种基于双倍比特量化及加权的最近邻搜索方法 |
CN110188223A (zh) * | 2019-06-06 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及计算机设备 |
CN110188223B (zh) * | 2019-06-06 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及计算机设备 |
CN110362303A (zh) * | 2019-07-15 | 2019-10-22 | 深圳市宇数科技有限公司 | 数据探索方法和系统 |
CN110362303B (zh) * | 2019-07-15 | 2020-08-25 | 深圳市宇数科技有限公司 | 数据探索方法和系统 |
CN112712090A (zh) * | 2019-10-24 | 2021-04-27 | 北京易真学思教育科技有限公司 | 一种图像处理方法、装置、设备及存储介质 |
CN113742288A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于数据索引的方法、电子设备和计算机程序产品 |
CN112241475A (zh) * | 2020-10-16 | 2021-01-19 | 中国海洋大学 | 基于维度分析量化器哈希学习的数据检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104123375B (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123375A (zh) | 数据搜索方法及系统 | |
Schindler et al. | City-scale location recognition | |
CN104199923B (zh) | 基于最优k均值哈希算法的大规模图像库检索方法 | |
Wu et al. | Semi-supervised nonlinear hashing using bootstrap sequential projection learning | |
US8032534B2 (en) | Method and system for indexing and searching high-dimensional data using signature file | |
CN107016708B (zh) | 一种基于深度学习的图像哈希编码方法 | |
CN103514201B (zh) | 一种非关系型数据库的数据查询方法和装置 | |
Zheng et al. | Visual phraselet: Refining spatial constraints for large scale image search | |
US8972415B2 (en) | Similarity search initialization | |
CN104199922A (zh) | 一种基于局部相似哈希算法的大规模图像库检索方法 | |
CN102016918A (zh) | 物体识别用图像数据库的制作方法、处理装置以及处理用程序 | |
CN109657112B (zh) | 一种基于锚点图的跨模态哈希学习方法 | |
Wei et al. | Projected residual vector quantization for ANN search | |
CN106815362A (zh) | 一种基于kpca多表索引图像哈希检索方法 | |
CN103473307A (zh) | 跨媒体稀疏哈希索引方法 | |
CN111597371B (zh) | 外观专利的多模态图像检索方法及系统 | |
CN104899326A (zh) | 一种基于二进制多索引哈希技术的图像检索方法 | |
CN115048539B (zh) | 基于动态记忆力的社交媒体数据在线检索方法及系统 | |
CN105183792A (zh) | 一种基于局部敏感哈希的分布式快速文本分类方法 | |
CN103440292B (zh) | 基于比特向量的多媒体信息检索方法和系统 | |
Zhang12 et al. | Fast and multilevel semantic-preserving discrete hashing | |
CN116384949B (zh) | 一种基于数字化管理的智慧政务信息数据管理系统 | |
CN116089731B (zh) | 一种缓解灾难性遗忘的在线哈希检索方法及系统 | |
CN116501834A (zh) | 地址信息处理方法、装置、移动终端及存储介质 | |
CN114020948B (zh) | 基于排序聚类序列辨别选择的草图图像检索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Ding Guiguang Inventor after: Chen Wenshuo Inventor after: Hu Ruimin Inventor after: Lin Zijia Inventor after: Xiao Jing Inventor before: Ding Guiguang Inventor before: Lin Zijia Inventor before: Chen Wenshuo |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |