一种采用双key值的高维索引结构构建方法和检索方法技术

技术编号:9569086 阅读:180 留言:0更新日期:2014-01-16 02:38
本发明专利技术公开了一种采用双key值的高维索引结构构建方法和检索方法。在本发明专利技术中,提出了一种采用双key值的高维到一维转换索引结构DKB-tree,它在高维空间中选取两个参考点将高维空间中的各高维向量映射为双一维key值,统一选取采用相同参考点得到的某一key值作为主key,另一key值作为辅key,每个主key都绑定一个指向其对应辅key的指针,每个辅key都绑定一个指向其对应高维向量的指针。进行检索时,通过主key实现第一层过滤,通过辅key实现再一次过滤。本发明专利技术提出的DKB-tree通过简单的双key值大小比较,大大地减少了相似度匹配的运算量,加快检索速度。

【技术实现步骤摘要】
一种采用双key值的高维索引结构构建方法和检索方法
本专利技术属于多媒体信息检索、智能信息处理、数据挖掘等数据处理领域,具体涉及的是一种采用双key值的高维索引结构构建方法和一种采用双key值的高维向量检索方法。
技术介绍
随着计算机和信息技术的发展,产生了海量的多媒体数据,如何在海量的多媒体数据库中快速找到所需的信息是当前多媒体数据库领域研究的一个重点问题。传统的方法是由人工对多媒体数据进行标注,然后通过文本检索来实现多媒体信息检索。然而人工标注存在工作量大和主观性强的缺陷,对于爆炸式增长的多媒体数据来说,完全人工标注是不可实现的,因此需要研究基于内容的多媒体信息检索技术。实现基于内容的多媒体信息检索的技术路线是:通过特征变换,将多媒体数据映射到高维空间中的点——特征向量,用该特征向量来描述多媒体对象,得到特征库;然后用同样的特征变换方法来提取查询对象的特征向量,最后通过特征向量间的相似度匹配来实现多媒体信息的相似检索。因此多媒体信息的相似检索转变为在高维特征空间中寻找与给定查询点最近的点集的过程。要在高维空间中寻找与给定查询点最相近的点集,最简单直观的方法就是顺序扫描,即依次将特征库中的每个特征(高维向量)与查询点进行相似度匹配,返回最匹配的那些特征点集,得到检索结果。顺序扫描随着特征库中特征数目和特征维度的增加,计算消耗时间线性增大,当特征库中的特征数目很大时,顺序扫描将不能满足实时性需求。为了加快检索速度,需借助于高维索引技术。为了实现对海量高维向量的管理,研究者们提出了大量的索引结构,其中最为经典的是以R-tree为代表的R-tree家族系列索引结构。R-tree是20世纪80年代由Guttman提出的一种索引结构,它是一种利用树结构管理数据的高度平衡树,每个节点用该节点中所有数据的最小外接矩形(MBR:MinimalBoundingRectangle)来表示,实际数据仅出现在叶子节点中。在查询过程中,从根节点层到叶子节点层进行向下搜索,通过计算查询向量和各节点MBR之间的最小距离来判断查询范围是否与某节点相交来实现剪枝过滤,仅搜索可能包含结果的子树,从而加快检索速度。该索引结构允许节点之间的空间重叠,影响了其查询效率。为了提高R-tree的性能,研究者们相续提出了R+-tree、R*-tree、SS-tree、SR-tree、X-tree、A-tree等索引结构。但这些树型索引结构随着特征维度的增加,查询效率急剧下降,甚至不如顺序扫描,这就是所谓的“维数灾难”。除了树型结构之外,还存在高维到一维转换的索引结构,例如:金字塔技术、NB-tree、iDistance、iMinMax等等。高维到一维转换的索引结构通过某种规则,将高维向量映射为一维数据(称为key值),然后采用一维的B+-tree来管理这些key值,key值在B+-tree的叶子节点层有序排列。进行查询时,首先通过相同的高维到一维转换规则计算查询向量的查询key值,最后根据查询范围,确定搜索的key值起始位置和结束位置,并依次扫描这些key值对应的高维向量,计算查询向量与这些高维向量间的相似性,返回那些最相似的高维向量集,得到检索结果。由查询过程可知,高维到一维转换的索引结构在任何情况下性能均优于或等效于顺序扫描,且基于前人的大量实验表明,这类索引结构随维数和数据量的增加,性能降低缓慢。金字塔技术、NB-tree、iDistance、iMinMax等这些高维到一维转换索引结构通过单一key值的简单比较实现过滤剪枝,虽然不需要复杂的距离计算且具有较高的检索效率,但高维到一维转换的过程能够引起大量的数据信息丢失,引起不同向量可能具有相同的一维key值,因此通过单一key值仅能过滤比例不大的一部分数据,导致最终相似度匹配过程的运算量仍然很大,查询开销依然不小。
技术实现思路
本专利技术的目的在于提出了一种采用双key值的高维索引结构构建方法和一种采用双key值的高维向量检索方法,构建高维索引结构时将每个高维向量映射为双一维key值,在B+-tree的基础上增加了一层key值过滤层,检索时能够进一步通过简单的key值比较实现再次过滤,大大地减少了与查询向量进行相似度匹配运算的高维向量数目,从而减少了相似度匹配的运算量,加快检索速度。本专利技术的总体思想如下:首先在高维空间中选取两个参考点,然后采用该高维空间中各高维向量对这两个参考点间的距离将高维向量映射为双一维key值,统一选取该高维空间中采用相同参考点得到的某一key值作为主key,另一作为辅key,最后,分别采用该高维空间中的所有主key构建B+-tree,同时B+-tree叶子节点层(即DKB-tree的主key层)的每个主key都绑定一个指向其对应辅key的指针,所有辅key形成DKB-tree的辅key层,每个辅key都绑定一个指向其对应高维向量的指针,这些高维向量根据辅key层其对应辅key的排列顺序按序存储,形成DKB-tree索引结构。进行检索时,首先使用相同的映射方法将查询向量映射为查询主key和查询辅key,然后通过查询主key和查询范围确定在DKB-tree主key层的搜索范围,将对应主key在搜索范围外的高维向量直接过滤,实现第一层key值过滤,最后通过查询辅key和查询范围确定辅key的搜索范围,只需对经主key过滤后其辅key在辅key搜索范围内的那些高维向量与查询向量间进行相似度匹配计算,通过辅key实现再次过滤,返回那些在查询范围内的向量集,得到检索结果。具体创新点:为高维空间中的每个高维向量选取两个参考点得到双一维key值,通过两次简单的key值比较,大大地减少了最终参与相似度匹配运算的高维向量数目,显著地加快了查询速度。一种采用双key值的高维索引结构构建方法,本专利技术的具体方法步骤为:(1)在高维空间中选取两个参考点;(2)将高维空间中的各高维向量利用高维向量与这两个参考点间的距离映射为双一维key值,统一选取该高维空间中采用相同参考点得到的某一key值作为主key,另一key值作为辅key;(3)逐一将这些高维向量和对应的主key、辅key插入到DKB-tree中,该DKB-tree采用B+-tree管理上层的主key值,B+-tree叶子节点层的所有主key形成DKB-tree的主key层,同时主key层的每个主key都绑定一个指向其对应辅key的指针,每个主key节点对应一个辅key节点,所有辅key形成DKB-tree的辅key层,每个辅key都绑定一个指向其对应高维向量的指针,这些高维向量根据辅key层其对应辅key的排列顺序按序存储;插入的方法为根据待插入高维向量的主key大小定位其应插入到DKB-tree主key层的某一节点中,如果该节点未满,则直接将该主key插入到该节点中,其辅key按照主key的排列顺序插入到该节点对应的辅key节点中,待插入特征向量按照辅key的排列顺序插入到该辅key节点对应的高维向量存储位置处,并使该主key产生指向其对应辅key的指针,其对应辅key产生指向待插入高维向量的指针,更新主key所在节点对应的父节点key值;如果该节点已满,再判断该节点的左右兄弟节点是否存在未满的情况,若存在本文档来自技高网
...
一种采用双key值的高维索引结构构建方法和检索方法

【技术保护点】
一种采用双key值的高维索引结构构建方法,其特征在于具体步骤如下:1)在高维空间中选取两个参考点;2)将高维空间中的各高维向量利用高维向量与这两个参考点间的距离映射为双一维key值,统一选取该高维空间中采用相同参考点得到的某一key值作为主key,另一key值作为辅key;3)然后逐一将这些高维向量和对应的主key、辅key插入到DKB?tree中,该DKB?tree采用B+?tree管理上层的主key值,B+?tree叶子节点层的所有主key形成DKB?tree的主key层,同时主key层的每个主key都绑定一个指向其对应辅key的指针,每个主key节点对应一个辅key节点,所有辅key形成DKB?tree的辅key层,每个辅key都绑定一个指向其对应高维向量的指针,这些高维向量根据辅key层其对应辅key的排列顺序按序存储;插入的方法为根据待插入高维向量的主key大小定位其应插入到DKB?tree主key层的某一节点中,根据该节点及其兄弟节点是否已满,处理的方法为:31)首先判断该节点是否已满,如果该节点未满,则直接将该主key插入到该节点中,其辅key按照主key的排列顺序插入到该节点对应的辅key节点中,待插入特征向量按照辅key的排列顺序插入到该辅key节点对应的高维向量存储位置处,并使该主key产生指向其对应辅key的指针,其对应辅key产生指向待插入高维向量的指针,更新主key所在节点对应的父节点key值;32)如果该节点已满,再判断该节点的左右兄弟节点是否存在未满的 情况,若存在,则结合其左右兄弟节点,进行待插入高维向量和其对应主key、辅key值的插入,并更新其父节点对应的key值;33)若该节点及其左右兄弟节点均满,则结合待插入高维向量的主key值,直接对该节点进行分裂,同时对该节点对应的辅key节点进行对应位置处的辅key插入和分裂,及将待插入高维向量插入到对应的高维向量存储位置处,并将分裂后新产生的主key节点插入到其父节点中,更新其父节点对应的key值,如果父节点也已满,分裂过程继续向上传递,并更新对应的父key值,直到根节点处,产生新的根节点。...

【技术特征摘要】
1.一种采用双key值的高维索引结构构建方法,其特征在于具体步骤如下:1)在高维空间中选取两个参考点;2)将高维空间中的各高维向量利用高维向量与这两个参考点间的距离映射为双一维key值,统一选取该高维空间中采用相同参考点得到的某一key值作为主key,另一key值作为辅key;3)然后逐一将这些高维向量和对应的主key、辅key插入到DKB-tree中,该DKB-tree采用B+-tree管理上层的主key值,B+-tree叶子节点层的所有主key形成DKB-tree的主key层,同时主key层的每个主key都绑定一个指向其对应辅key的指针,每个主key节点对应一个辅key节点,所有辅key形成DKB-tree的辅key层,每个辅key都绑定一个指向其对应高维向量的指针,这些高维向量根据辅key层其对应辅key的排列顺序按序存储;插入的方法为根据待插入高维向量的主key大小定位其应插入到DKB-tree主key层的某一节点中,根据该节点及其兄弟节点是否已满,处理的方法为:31)首先判断该节点是否已满,如果该节点未满,则直接将该主key插入到该节点中,其辅key按照主key的排列顺序插入到该节点对应的辅key节点中,待插入特征向量按照辅key的排列顺序插入到该辅key节点对应的高维向量存储位置处,并使该主key产生指向其对应辅key的指针,其对应辅key产生指向待插入高维向量的指针,更新主key所在节点对应的父节点key值;32)如果该节点已满,再判断该节点的左右兄弟节点是否存在未满的情况,若存在,则结合其左右兄弟节点,进行待插入高维向量和其对应主key、辅key值的插入,并更新其父节点对应的key值;33)若该节点及其左右兄弟节点均满,则结...

【专利技术属性】
技术研发人员:杨丽芳黄祥林吕锐王永滨
申请(专利权)人:中国传媒大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1