DDIS:一种新的支持快速相似检索的高维索引结构

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:chenhui123zjch
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]基于内容的图像检索是一种典型的相似检索问题,在海量高维的数据集中进行相似匹配,一般认为距离计算费用很高。因此,需要建立有效的索引结构,以减少每个查询中的距离计算次数。为此,针对K最近邻查询(KNN)算法,提出了一种新的高维空间数据索引方法——层次距离索引(Depth Distance Index Structure,DDIS)。详细讨论了这种索引结构的建立与检索等问题,并给出了相应的算法。实验结果显示了这种索引技术的有效性。
  [关键词]高维索引结构;相似检索;层次距离索引结构;K最近邻查询
  中图分类号:TP391.3 文献标识码:A 文章编号:1009-914X(2013)36-0450-03
  0 引言
  高维索引结构是基于内容的图像检索(Content-based Image Retrieval,简称CBIR)研究的一个基本问题。常用的高维索引结构包括R-Tree,及其变种R*-Tree、X-Tree,另外还有K-D-B-Tree,TV-Tree,SS-Tree和SR-Tree。这些索引树在维数较低的情况检索效率较好[1],随着维数的增加它们的检索性能会急剧恶化。为解决上述缺点,随后出现了以降维映射为主的索引方法,包括Hilbert R-Tree,金字塔方法[1]和iDistance方法[2]等,其在高维空间中的检索性能明显优于树型结构。但它们具有以下几个缺点:(1)Hilbert R-Tree难以实现有效的KNN查询。(2)金字塔方法只能处理规则的超矩形查询,不适合KNN查询中常采用的超球形范围查询。(3)在数据集均匀分布的高维空间中,大部分数据点分布在超立方体的表面而非中心[3],金字塔方法会导致某些页面数据很少或者很多,无疑将造成查询效率的下降。(4)采用多对一的映射方式会给查询过程中引入较多的误中点,增加距离计算次数,影响检索效率。
  基于此,本文提出了一种新的基于降维的高维索引方法——层次距离索引(Depth Distance Index Structure,DDIS)。它非常适合KNN查询,能将那些因與查询对象的距离太远而不可能成为候选匹配的对象过滤掉,迅速得到较小的候选匹配集,从而尽可能减少每个查询所需的距离计算次数,提高检索效率;而且它的检索性能不受维度和空间数据分布形式影响。文章第2节详细讨论了DDIS索引结构的建立与检索等问题,并给出了相应的算法。第3节给出一系列的实验比较结果。第4节总结全文思想。
  1 层次距离索引结构
  1.1 索引结构的形式化定义
  一个d维超平面包含(d-1)维超平面,轴为x0, x1, …, xd-1,对应金字塔的序号见表1。金字塔的序号由它的基来确定。假设高维数据空间归一化到边长为1的超立方体中,则两个相对金字塔的底平面均垂直于轴xi,可以用xi=0和xi=1来表示。图1显示了一个3维立方体,其中基x0=0和x0=1分别表示序号0和3,则相关金字塔定义为P0和P3。
  定义1(点v的金字塔Pi)。 一个d维点v(坐标表示为v0,…,vd-1)定义位于金字塔Pi内,如果,其中, 。
  定义2(点v的索引值keyv)。 任给一个d维点v,Pi是点v所属的金字塔,Oi为该金字塔圆心(即金字塔Pi基平面的质心),则点v的索引值为keyv=i*c+dist(v,Oi)。
  其中,dist(v,Oi)为点v和所属金字塔圆心Oi之间的距离;c为扩展数据范围的常量,一般可取的上界。由于i是一个整数,dist(v,Oi)是[0,c]之间的一个实数,因此每个金字塔Pi覆盖的所有点将被映射到[i*c,(i+1)*c]区间中,任何两个金字塔Pi和Pj所覆盖的索引值集是互不相交的。
  定义3(点v的深度hv)。 任给一个d维点v,Pi是点v所属的金字塔,点v的深度hv可以表示为hv=0.5-|0.5-vi mod d|。
  1.2 索引结构的建立
  DDIS索引结构的建立分五步进行。
  (1)将d维空间分割成2d个金字塔,P0,P1,…,Pd-1,Pd,Pd+1,…,P2d-1,共享数据空间的中心点(0.5,0.5,…,0.5)作为顶点,(d-1)维超平面作为基。
  (2)取每个金字塔基平面的质心为参考圆心,O0,O1,…,Od-1,Od,Od+1,…,O2d-1,即金字塔Pi的参考圆心为Oi。
  (3)根据定义1确定数据点v所属金字塔序号为i,计算其与所属金字塔参考圆心Oi的距离,根据定义2确定索引值keyv。
  (4)对所有数据点映射后的索引值key进行排序,迅速建立B+树,索引值key从小到大,依次保存在叶节点中。
  (5)由于从高维向一维的映射并非一对一,高维空间中位置不同的点可能具有相同的索引值,例如同一金字塔中,与参考圆心距离相等的不同点具有相同的映射值key,因此每个叶节点不但要存储索引值key,还要保存所有具有相同key值的高维数据点,根据定义3确定数据点的深度,并据此由高到低依次存储在叶节点所指向的链表中。
  例如图2所描述的2维空间中,包含4个金字塔P0、P1、P2、P3,它们以数据空间的中心点Q为顶点,以空间的一条边为基,参考圆心分别为O0、O1、O2、O3。如图所示,点q0与所属金字塔P0的参考圆心O0的距离为dist(p0,O0),它在该金字塔中的深度为h0。
  DDIS索引方法需要以下两种数据结构。
  (1)B+树。在我们实际应用中,每个叶节点与左右兄弟叶节点由双向指针相连,便于进行KNN查询时灵活确定检索范围;同时,同一叶节点中,具有相同索引值的高维数据点根据深度,依次存储在该叶节点所指向的链表中。
  (2)结构数组。由结构数组保存2d个金字塔的参考圆心,以及它们各自数据空间中距离参考圆心最近的距离和最远的距离(即内、外超球体半径),由此确定各个金字塔中的数据空间。   1.3 KNN查询
  设Oi为金字塔Pi的参考圆心,金字塔Pi中分布的数据点与Oi最近的距离为dist_mini,最远的距离为dist_maxi,查询点为q,查询半径为r,如图3所示。我们可以计算得到查询点q在金字塔Pi中的深度为hq,点q距离参考圆心Oi的距离为dist(q,Oi)。若金字塔Pi需要被检索,则DDIS索引结构中的检索范围为:(1)环形范围为[dist(q,Oi)-r,dist(q,Oi)+r];(2)深度范围为[hq-r,hq+r]。图4给出了一个例子。设O1、O2、O3分别为金字塔P1、P2、P3的参考圆心,对于查询点q1而言,只需要检索金字塔P1;对于查询点q2而言,则需要检索金字塔P2和P3。
  在索引结构DDIS中进行KNN查询时的步骤如下。
  (1)确定需要检索的金字塔。计算查询点q与金字塔Pi的参考圆心Oi(i=0,1,…,2d-1)之间的距离dist(q,Oi),如果dist(q,Oi)-r≤dist_maxi,则金字塔Pi需要被检索,否则不需要。
  (2)对B+树中的叶节点进行剪枝。如果金字塔Pi(0≤i≤2d-1)需要被检索,则计算金字塔Pi中的环形距离查询范围为: 。若金字塔Pi包含叶节点Ni0,Ni1,…,Nit,只要叶节点Nij(j=0,1,…,t)的索引值key不属于范围Ri1,我们就可以将Nij包含的所有对象从q的候选匹配集中去除掉。同理,可依次确定B+树中其它实际需要检索的叶节点,对范围外的进行剪枝。
  (3)对叶节点中的候选对象进行过滤。如果叶节点Nij(0≤i≤2d-1,0≤j≤t)需要被检索,且查询点q在金字塔Pi中的深度为hq,则计算金字塔Pi中的层次深度查询范围为:。由此,我们就可以将叶节点Nij中包含的不属于范围Ri2的所有对象,从q的候选匹配集中去除掉。
  (4)顺序扫描候选匹配集返回查询结果。经过以上两步的过滤后,对候选匹配集中的对象可采用顺序扫描方法,逐个计算与例子图像q的距离,并将距离最近的前k个对象放入返回给用户,查询结束。
  采用这种检索算法,只需进行2d+u次距离计算(u为过滤后候选匹配集中对象的个数)和O(d)次简单运算。不难看出,只要满足2d+u≤n,就可以节省大量的距离计算费用,从而显著的提高相似检索的效率。
  2 实验结果与讨论
  2.1 实验描述
  实验环境是奔腾IV 1.5G Hz CPU,256M内存,IBM 40G硬盤,Windows2000操作系统,使用Visual C++ 6.0进行算法实现。实验中,我们使用B+树作为金字塔方法、iDistance方法和DDIS方法的一维索引存储结构,并由计算机随机产生了8个均匀分布的模拟数据集DS1,DS2,DS3,DS4,DS5,DS6,DS7,DS8,维度分别为3d,8d,16d和30d,大小均为100 000。
  2.2 DDIS的检索效率
  实验中,我们首先选取三个数据集,数据集DS1包含100 000个均匀分布的8维向量,数据集DS2包含100 000个均匀分布的16维向量,数据集DS3包含100 000个均匀分布的30维向量。
  图5(a)(b)分别给出了当KNN查询中k=10时,数据集DS1、DS2和DS3上顺序扫描算法和DDIS方法的检索性能比较(分别从“平均页面访问次数”和“平均CPU时间”两方面进行对比,且由于我们实现的是内存索引结构,所以这里并不考虑磁盘的I/O操作),查询半径r的最大值为0.5。对每个确定的查询半径,我们均随机选择50个查询数据点,计算这50个查询消耗的平均页面访问次数和平均CPU时间,以其作为性能评定指标。实验结果表明,在不同的维度下,DDIS的检索性能明显优于线性检索,特别是对于维度较高的数据集尤为如此。
  2.3 性能对比分析实验
  在性能对比分析实验中,我们将DDIS方法与金字塔方法和iDistance方法的检索性能进行了比较和分析。我们采用数据集DS4,包含100 000个均匀分布的30维向量,KNN查询中k=10。我们均随机选择100个查询数据点,计算这100个查询消耗的平均页面访问次数,并据此来比较各种方法的检索性能。查询结果的精确度使用KNN查询半径r(0≤r≤1)来调节,r越小精确度越低,r越大精确度越高。图6(a)(b)分别给出了数据集DS4上DDIS方法与金字塔方法、iDistance方法的检索性能比较。实验结果表明,DDIS的检索性能最好,顺序扫描的检索性能最差。且随着查询精确度的提高,三种索引结构:DDIS、金字塔和iDistance的平均页面访问次数随之增加,但它们的检索性能仍优于顺序扫描。
  3 结束语
  本文提出了一种新的适合KNN查询的高维索引方法——层次距离索引结构。它将均匀分布的高维数据空间划分成多个金字塔,然后按照一定的方式映射到低维,采用B+树存储索引关键字。实验结果表明,DDIS方法具有优良的检索性能,它的执行效率优于金字塔方法、iDistance方法和顺序扫描方法。DDIS还不受数据分布形式的限制,对于非均匀分布的数据空间,只需先将数据进行聚类,然后对每类使用DDIS建立索引,原理是相同的,对其的实验研究是我们进一步的工作目标。
  参考文献(References)
  [1] Berchtold S.,Bohm C.,Kriegel H. P.The pyramid-technique: towards indexing beyond the curse of dimensionality[C]. In: Proceedings of the ACM SIGMOD International Conference on Management of Data. Seattle, NJ,1998. 142~153.
  [2] Cui Yu, Beng Chin Ooi, Kian Lee Tan, H. V.Jagadish. Indexing the distance: an efficient method to KNN processing[C]. In: PMG Apers, P Atzeni, S Ceri, et al eds. Proceedings of the 27th International Conference on Very Large Data Bases. San Francisco, CA: Morgan Kaufmann, 2001. 421~430.
  [3] Jiyuan An, Yi Ping Phoebe Chen, Qinying Xu,Xiaofang Zhou.A new indexing method for high dimensional dataset[C].DASFAA 2005.385~397.
  作者简介
  陈军(1977-),男,湖北黄冈,工程师
  万鸿雁(1970-),男,湖北黄冈,工程师
其他文献
摘 要:浅析建筑悬索结构、张力集成体系和膜结构的功能特点。  关键词:张力结构;型式;功能  中图分类号:V242.3+2  张力结构在满足拓扑关系的几何构造和外形中,通过预应力过程获取刚度,实现满足建筑造型和承载能力的功能。所以张力结构的分析、设计和施工,都是围绕结构的拓扑、外形及刚度展开。张力结构不是一种简单的型式,而是多种型式的集成。张力结构在分类上,一般分悬索结构、张力集成体系和膜结构。 
期刊
摘要:浅析大跨度张弦梁结构的应用情况、结构特征、结构成型过程及结构研究的重点与方向。  关键词:建筑结构;大跨度;张弦梁;应用  中图分类号:TU3  1 应用背景  大跨度张弦梁结构是近十多年来发展和应用起来的一种新型大跨空间结构形式。结构由刚度较大的抗弯构件(又称刚性构件,通常为梁、拱或桁架)和高强度的弦(又称柔性构件,通常为索)及其连接两者的撑杆所组成。它通过对柔性构件的施加拉力,使相互连接
期刊
摘要:建筑设计阶段是整个建设过程中的一个重要环节,包括方案设计、初步设计、施工图设计,是编制和审查建设项目估算、概算和预算的基础。设计概算又是编制项目投资计划,确定和控制项目投资的主要依据。在设计阶段,合理优化的方案可以有效的控制工程造价的75~90%。因此,合理、经济的设计方案可以从源头上对工程造价进行有效的控制。  关键词:建筑设计;成本控制;方案优化措施  中图分类号:TU201.7  在市
期刊
【摘 要】:经济学家斯蒂格利茨曾预言:中国的城镇化与美国的高科技发展将是深刻影响21世纪人类发展的两大课题。城镇化是我国经济社会发展的重大战略,是解决三农问题的重要途径,其发展离不开金融的支持。本文通过金融服务支持城镇化的原则、领域的分析,总结出金融支持城镇化发展的有效途径和经验。  【关键词】:城镇化建设;过程;金融服务  中图分类号:D64  1.金融服务的原则  1.1突出重点原则  开展“
期刊
摘要:沥青混凝土路面施工是公路施工中一道关键工序,文章介绍了沥青路面施工技术与质量控制等相关内容。  关键词:沥青路面;施工技术;质量控制  中图分类号:U416.217  沥青混凝土路面在我国道路建设中使用非常广泛。它具有噪音低、粉尘少、易于维修、防水性能好等特点。沥青路面由于使用了粘结力较强的沥青材料,使矿料之间的粘结力大大加强,从而提高了混合料的强度和稳定性,使路面的质量和耐久性都得到提高。
期刊
摘要:沥青混凝土路面施工是公路施工中一道关键工序,文章介绍了沥青路面施工技术与质量控制等相关内容。  关键词:沥青路面;施工技术;质量控制  中图分类号:U416.217  沥青混凝土路面在我国道路建设中使用非常广泛。它具有噪音低、粉尘少、易于维修、防水性能好等特点。沥青路面由于使用了粘结力较强的沥青材料,使矿料之间的粘结力大大加强,从而提高了混合料的强度和稳定性,使路面的质量和耐久性都得到提高。
期刊
[摘 要]随着运营商的布局,4G牌照的即将发放,自2009年中国移动已成为全业务运营商。根据中国移动通信集团海南有限公司发展计划部的委托,为海南省定安县制定干线光缆规划建设方案,保障现有网络的安全性、可靠性,3G及全业务的拓展,提高市场竞争力,构造一个“安全可靠、调度灵活、接入迅速、管理智能”的网络平台。中国移动通信集团海南有限公司相关工程技术人员与我司咨询人员共同研究,现场察勘。提出了二个规划建
期刊
[摘 要]高层建筑物体积大,火灾隐患多,一旦发生火灾,火情蔓延速度快,扑救难度大,因此,建筑工程设计中的消防设计尤为重要,其直接关系着人民群众的生命财产安全。本文以高层住宅给排水消防设计为案例,对给排水消防设计的重点问题加以阐述与分析,结合消防部门的审查意见对此工程加以总结。  [关键词]高层建筑;防火;防火分隔消火栓  中图分类号:TU998.1 文献标识码:A 文章编号:1009-914X(2
期刊
[摘 要]随着社会的不断进步,以及技术水平的不断提高,人民的生活质量也得到了很大的提高,电气已经成为生活中必不可少的一部分。然而,建筑电气线路经常出现安全问题,严重影响人们的生活。本文就针对建筑电气线路存在安全问题的成因进行分析,探讨如何确保建筑电气线路的安全可靠性。对电气线路引发的火灾采取一定的预防措施,具有一定的社会现实意义,希望对同行人员有一定的参考价值。  [关键词]建筑电气线路;问题;安
期刊
[摘 要]本文对高层建筑深基坑支护施工技术进行了探讨,因为由于目前还存在着许多技术上的不足之处,在进行高层建筑深基坑支护施工时,需要对施工的注意事项进行重点考虑。这样就能确保施工的安全进行。  [关键词]高层建筑;深基坑;支护;注意事项;施工技术  中图分类号:TU753 文献标识码:A 文章编号:1009-914X(2013)36-0466-01  一、高层建筑深基坑支护施工的发展趋势  随着建
期刊