一种基于二进制多索引哈希技术的图像检索方法
【技术领域】
[0001] 本发明涉及图像检索技术领域,具体涉及一种查询效率高、空间资源占用率低的 高基于二进制多索引哈希技术的图像检索方法。
【背景技术】
[0002] 随着网络的飞速发展以及多媒体技术应用的不断普及,互联网上的图像数量已达 到上亿级并正在不断地高速增长。截止2014年3月,Instagram分享图片数量已经超过了 200亿张,并以每天多于4000万幅的速度增长。因此,如何在海量图像数据库中对图像建立 高效的高维索引并实现精度高、速度快的相似图像检索,是多媒体领域研宄的热点与难点。
[0003] 早年,图像检索仅仅局限于"以字搜图"的方法,这种方法是基于关键字或文本的, 他依靠人工标注的文本来搜索图像。虽然"以字搜图"迈出了图像检索的第一步,大大减少 了图像搜索的难点,但检索出来的图像往往具有很大的局限性:例如对大规模图像进行标 注的工作量太大,人工描述的文字可能具有歧义性,以及图像的轮廓纹理等内容很难进行 人工标注等。
[0004]目前,越来越多的知名搜索引擎采用了基于图像内容的图像检索技术来搜索图 像,例如谷歌、百度。基于图像内容的图像检索使大规模图像检索成为可能,克服了"以字搜 图"的局限性。基于内容的图像检索步骤通常如下:首先,利用图像处理技术检测图像的视 觉特征;其次,用数字描述检测到的特征并表示为高维的特征向量;然后,在生成的特征库 中为高维的特征向量建立索引;最后,使用生成的高维索引对查询向量进行相似性查询。因 此,图像检索问题转化为了高维向量相似性查询问题。由于图像特征往往维度很高,所以如 何建立高效的高维索引是进行快速、准确的图像检索的关键。
[0005]目前,大规模图像检索中高维索引技术面临的挑战主要包括以下两个方面:
[0006] 一、维数高引起的"维数灾难"
[0007] 由视觉特征生成的描述子数据往往维数很高,比如SIFT特征128维、GIST特征 960维。传统基于树结构的索引方法,在维数大于十时容易受到"维数灾难"的影响。近似最 近邻ANN(ApproximateNearestNeighbor)的查询方法通过牺牲很小的精度换取了效率的 大幅度提高,得到了广泛的研宄和应用。典型的ANN算法如DavidM.Mount和SunilArya 于1998年实现的ANN-package。但是ANN基于KD树结构,在维数达到几十时,仍然受到维 数灾难的影响。随后PiotrIndyk等人根据近似最近邻搜索的思想,提出了局部敏感哈希 LSH(LocalitySensitiveHashing)的概念,把查询时间降到了亚线性,消除了查询时间对 维数的指数级依赖。LSH基于哈希表结构,通过计算哈希值可直接访问到数据所在的存储结 构,在视频检索等领域得到了成功应用。但是LSH对数据空间均匀划分,不适用于多媒体领 域非均匀分布的数据。对LSH的改进方法,主要针对查询扩展方面,并没有考虑哈希函数本 身带来的问题。如何针对成百上千维的数据建立高维索引,并实现高效率高性能的近似最 近邻查询算法,仍然是个有待于进一步研宄的难点。
[0008] 二、大规模数据引起的空间资源不足
[0009] 面向大规模图像库的检索对高维索引提出了新的要求。在大规模的数据规模下, 内存资源成为瓶颈。例如,对一幅图像提取的SIFT局部特征数大约有102~103,在百万级 规模的图像库下原始特征至少消耗500G的空间。庞大的数据无法在内存中存储,而基于磁 盘的查找又严重影响了检索效率。针对这一问题,学者们提出了对数据压缩后建立索引的 方法,本发明称为"压缩索引"。代表性方法如谱哈希,基于随机投影的中国科学院博士学位 论文--面向大规模图像检索的高维索引技术研宄二进制码和量化方法等。压缩索引方法 大大缓解了空间资源不足的问题,但以损失查询精度为代价。将数据编码为二进制码是目 前常用的压缩索引方法,但是现有方法对二进制码的索引往往采用线性查询的方式,查询 效率有待于进一步提尚。
[0010] 图像检索的过程通常为以下几个步骤:首先,利用计算机图像处理技术检测图像 的视觉特征;其次,用数字表示检测到的特征并生成高维特征向量;然后,对高维特征向量 建立索引;最后,利用索引对高维向量进行检索。其中,图像查询是在线进行的,所以对实时 性要求很高。为了提高查询效率,我们使用二进制特征描述图像内容。
【发明内容】
[0011] 针对上述现有技术,本发明的目在于如何提供一种查询效率高、空间资源占用率 低的高基于二进制多索引哈希技术的图像检索方法,旨在百万级甚至千万级的大规模图像 数据库中准确快速的图像检索。
[0012] 为了解决上述技术问题,本发明采用如下技术方案:
[0013] 一种基于二进制多索引哈希技术的图像检索方法,其特征在于,首先采用主成分 分析方法,求出第一主成分并把其作为投影向量,并对二进制数据集进行投影,以得到分布 较为均匀的浮点型数据集;其次通过计算把浮点型数据集转化为二进制数据集;最后对二 进制数据集进行投影映射得到二进制数据集的子串。
[0014] 所述主成分分析方法具体分解为以下几步:
[0015] ①求出需要简化的数据集的协方差矩阵;
[0016] ②求出该协方差矩阵的特征值和对应的特征向量,最后按特征值的大小对特征值 和对应的特征向量进行排序;其中,最佳的投影直线是特征值最大时对应的特征向量,即第 一主成分。
[0017] 更进一步地,求解第一主成分的过程如下:
[0018] a、最初的数据的标准化采集m维向量X= (Xi,X2,…Xm)TN个样x= (xn,xi2,… xim),i= 1,2,…,NN>m,构造样本矩阵,对样本阵进行归一化:
[0020] 其中,
'得标准化阵Z;
[0021] b、求标准化阵Z的协方差矩阵:
[0023] C、求解协方差矩阵R的特征方程|R-AIm| = 〇,得到m个特征根,对最大的特征根 入,解方程组,Rb=Ab得到单位特征向量,即第一主成分b°。
[0024] 在本发明中,对二进制数据集进行投影映射,投影映射以二进制向量的子串为单 位进行,公式如下:
[0025]
,其中,b为子 串投影结果,s代表子串长度,bi为子串b的第i位比特值。
[0026] -种基于基于二进制多索引哈希技术的图像检索方法的结构算法,其特征在于, 包括如下步骤:
[0027] ①将特征库中二进制向量串划分为连续但不重叠的m个子串;
[0028] ②对二进制向量子串进行主成分,对每个子串进行投影映射,得到分布更加均匀 的新的子串。
[0029] ③为每个子串建立哈希表即为m个哈希表,并直接以子串为索引项放入对应的哈 希桶中;
[0030] ④将查询向量同样分为m
个子串,并对每个子串进行步骤2,得到新的查询向量子 串;对每个子串进彳丁步骤⑤和⑥;
[0031] ⑤将初始海明距离设为0,查找出对应的哈希桶,把哈希桶中的子串对应的完整二 进制串与查询向量对比,过滤不符合要求的向量;
[0032]⑥当最近邻数目不足k时,海明距离增加1,重复步骤⑤,直到最近邻数目不小于 k〇
[0033] 与现有技术相比,本发明具有以下有益效果:
[0034] 本发明在使用分段哈希索引之前,先对图像特征进行投影映射,使图像特征数据 分布均匀,从而提高检索效率;优化的分段哈希索引技术与传统的分段哈希索引技术相比, 在精度较高的前提下,大量地提高了检索效率,满足了大规模图像检索的需求。
【具体实施方式】
[0035] 下面将结合附图及【具体实施方式】对本发明作进一步的描述。
[0036] 首先对本发明提出的主成分分析方法对数据分布的影响进行对比实验分析,然后 将对本发明提出的多哈希分段索引算法进行速度和精度的实验,实验的数据集为10亿特 征向量,查询数据集为1000个特征向量,详细的数据集描述参照表5-1所示。实验过程将 首先取完整数据集前部分或全部建立不同规模的数据集,大小分别为1〇 4,1〇5,1〇6,2*1〇6, 5*10 6, 107, 2*107, 5*107, 108, 2*108, 5*108, 109这12组数据,每一组数据建立一个多索引哈希 结构,设置K值为1000 ;然后计算查询精度与速度,比较本发明算法与传统多哈希分段索引 算法的查询性能,证明本发明所提出的优化的多哈希分段索引算法在精度一定的情况下大 大提高了查询效率。
[0037] 1000-NN查询的平均搜索半径的比较
[0038] 在执行k_最近邻查询过程中,对所有查询向量来说一个固定的半径可能会对一 部分查询向量产生过多的最近邻,而对另一部分产生过少的最近邻。所以,最好的办法是根 据需要的最近邻个数,而逐渐增大需要的查询半径。当数据库中二进制向量分布不均时,会 导致多索引哈希表中各哈希桶中的子串个数差异较大。当搜索半径较小时,而对应的哈希 桶中的子串个数较少,为了找到最邻近的K个向量,就需要增大搜索半径,从而导致查询效 率降低。在从1〇4到1〇9不同规模的数据库中,传统的多索引哈希结构的平均搜索半径与优 化的多索引哈希结构相比略多,从而查询效率也略低于后者。
[0039] 1000-NN查询的精度的比较
[0040] 精度是判断索引优劣的一个重要准则。对从104到109不同规模的数据库进行实验 分析,我们发现优化的多索引哈希结构与传统的多索引哈希结构相比精度都略有减少。这 是因为在进行主成分分析时与生成新的地址的投影过程中,都存在精度损失。但在实际应 用中,这样略微的精度损失往往能换回查询速度较大幅度的提高。
[0041] 1000-NN查询的平均查询时间的比较
[0042] 运行时间是判断索引优劣的关键。我们将优化的多索引哈希结构、传统的多索引 哈希结构与线性查找作对比,在不同规模的数据库下,两种多索引哈希结构的查询时间明 显小于线性查找,从而证实了多索引哈希结构的高效性。当对两种多索引哈希结构单独对 比时,对从1〇 4到10 9不同规模的数据库进行实验分析,我们发现优化的多索引哈希结构与 传统的多索引哈希结构相比,执行每次查询的平均时间都有较大幅度的降低。这是因为我 们对数据库中二进制向量进行了主成分分析,并将原来的二进制向量映射到新的空间,使 数据分布更加均匀,减少了搜索半径,从而提高了查询效率。
【主权项】
1. 一种基于二进制多索引哈希技术的图像检索方法,其特征在于,首先采用主成分分 析方法,求出第一主成分并把其作为投影向量,并对二进制数据集进行投影,以得到分布较 为均匀的浮点型数据集;其次通过计算把浮点型数据集转化为二进制数据集;最后对二进 制数据集进行投影映射得到二进制数据集的子串。2. 根据权利要求1所述的基于二进制多索引哈希技术的图像检索方法,其特征在于, 所述主成分分析方法具体分解为以下几步: ① 求出需要简化的数据集的协方差矩阵; ② 求出该协方差矩阵的特征值和对应的特征向量,最后按特征值的大小对特征值和对 应的特征向量进行排序;其中,最佳的投影直线是特征值最大时对应的特征向量,即第一主 成分。3. 根据权利要求2所述的基于二进制多索引哈希技术的图像检索方法,其特征在于, 求解第一主成分的过程如下: a、 最初的数据的标准化采集m维向量X= (XpX2,…Xm) 1N个样X= (xn,xi2,"^xim), i = 1,2,…,NN >m,构造样本矩阵,对样本阵进行归一化:其中,'得标准化阵Z ; b、 求标准化阵Z的协方差矩阵:C、求解协方差矩阵R的特征方程IR-AImI =〇,得到m个特征根,对最大的特征根λ, 解方程组,Rb= λ b得到单位特征向量,即第一主成分b °。4. 根据权利要求1所述的基于二进制多索引哈希技术的图像检索方法,其特征在于, 对二进制数据集进行投影映射,投影映射以二进制向量的子串为单位进行,公式如下:其中,b为 子串投影结果,s代表子串长度,bi为子串b的第i位比特值。5. -种基于基于二进制多索引哈希技术的图像检索方法的结构算法,其特征在于,包 括如下步骤: ① 将特征库中二进制向量串划分为连续但不重叠的m个子串; ② 对二进制向量子串进行主成分,对每个子串进行投影映射,得到分布更加均匀的新 的子串。 ③ 为每个子串建立哈希表即为m个哈希表,并直接以子串为索引项放入对应的哈希桶 中; ④ 将查询向量同样分为m个子串,并对每个子串进行步骤2,得到新的查询向量子串; 对每个子串进彳丁步骤⑤和⑥; ⑤ 将初始海明距离设为0,查找出对应的哈希桶,把哈希桶中的子串对应的完整二进制 串与查询向量对比,过滤不符合要求的向量; ⑥当最近邻数目不足k时,海明距离增加1,重复步骤⑤,直到最近邻数目不小于k。
【专利摘要】本发明公开了一种基于二进制多索引哈希技术的图像检索方法,属于图像检索技术领域,该方法首先采用主成分分析方法,求出第一主成分并把其作为投影向量,并对二进制数据集进行投影,以得到分布较为均匀的浮点型数据集;其次通过计算把浮点型数据集转化为二进制数据集;最后对二进制数据集进行投影映射得到二进制数据集的子串。本发明在使用分段哈希索引之前,先对图像特征进行投影映射,使图像特征数据分布均匀,从而提高检索效率;优化的分段哈希索引技术与传统的分段哈希索引技术相比,在精度较高的前提下,大量地提高了检索效率,满足了大规模图像检索的需求。
【IPC分类】G06F17/30
【公开号】CN104899326
【申请号】CN201510346696
【发明人】桑永胜, 章毅, 邓涵
【申请人】四川大学
【公开日】2015年9月9日
【申请日】2015年6月19日