一种大规模多媒体数据的空间索引方法

文档序号:10512333阅读:375来源:国知局
一种大规模多媒体数据的空间索引方法
【专利摘要】本发明公开了一种大规模多媒体数据的空间索引方法。通过利用科学的分裂算法将一个节点分裂成三个,同时选取m/M为30%?40%,再将需要处理的数据放置在占用率少的处理器上进行处理。本发明通过利用分裂算法将一个节点分裂成三个节点,把节点的重叠区域划分到一个节点中去,减少数据检索时的多路查找,提高了查询效率,同时使得节点的容量增加;选取m/M为30%?40%,既能保持很好节点利用率,也充分的利用了节点空间利用率;实现了对大规模多媒体数据的查询。
【专利说明】
一种大规模多媒体数据的空间索引方法
技术领域
[0001]本发明涉及一种空间索引方法,特别是一种大规模多媒体数据的空间索引方法。
【背景技术】
[0002]对于多媒体信息,计算机很难像人类一样判断多媒体对象之间是否具有相似性。因此,人们通过提取多媒体信息的特征,即使用特征向量的方法来判断它们之间是否具有相似性。特征向量通常是一组高位的矢量集合,为了能够有效的提取大规模多媒体信息,通常针对大规模多媒体数据对象的特征向量建立其空间索引,来实现多媒体信息的较高效率的查询。在多媒体信息检索中,多媒体对象常被表示为一个高维的特征向量,两个多媒体对象之间的相似性取决于两个对应高维特征向量之间的距离(常用欧几里德距离)。从而多媒体的检索转变为计算数据库中特征向量集和待查询的特征向量之间距离的计算。
[0003]空间索引是一种按照数据空间分布特征来组织和存储数据的数据结构。空间索引在大规模多媒体数据应用中,如,SR-Tree、A-Tree等,索引节点之间存在着大量的重叠区域,而节点间的重叠区域越大,会导致对象检索时的多路查找增加,从而降低了大规模多媒体数据的查询效率。
[0004]为了解决上述问题,本发明提出了一种大规模多媒体数据的空间索引方法(KSR-Tree)。

【发明内容】

[0005]本发明的目的在于,提供一种大规模多媒体数据的空间索引方法。该方法采用分裂算法能够对大规模多媒体数据进行查询,保持很好节点利用率,并且有效地提高了查询效率,还使得节点存储数据的容量增多。
[0006]为解决上述技术问题,本发明提供的技术方案如下:一种大规模多媒体数据的空间索引方法:通过利用分裂算法将一个节点分裂成三个,同时选取m/M为30%_40%,再将需要处理的数据放置在占用率少的节点上进行处理。
[0007]前述的大规模多媒体数据的空间索引方法中,所述的分裂算法的步骤为,
[0008]A.节点数目达到M+1或者M+2时,先判断节点是否是第一次溢出,若是,则重新插入分裂算法,推迟节点的分裂,反之,则分裂节点;
[0009]B.重新插入之后再次发生节点的溢出,则节点需要分裂;从节点中的M+1或者M+2个数据对象中,任意选择三个对象作为初始聚类中心;
[0010]C.计算每个数据对象到三个初始聚类中心的距离,将三个初始聚类中心分别划分到离其最近的每个数据对象的中心处;
[0011]D.再重新计算划分过的数据对象的均值;
[0012]E.迭代C-D两步直至新的均值与原均值相等或小于指定阈值;以此作为分裂后的三个中间节点。
[0013]前述的大规模多媒体数据的空间索引方法中,所述阈值为0.0001。
[0014]与现有技术相比,本发明通过利用分裂算法将一个节点分裂成三个节点,把节点的重叠区域划分到一个节点中去,减少数据检索时的多路查找,提高了查询效率,同时使得节点的容量增加;选取m/M为30%-40%,既能保持很好节点利用率,也充分的利用了节点空间利用率;实现了对大规模多媒体数据的查询。
[0015]
【申请人】将本申请的KSR-Tree和SR-Tree、A_Tree进行了一系列对比实验,实验数据分析如下:
[0016]实验环境
[0017]1.硬件环境:处理器AMD 6core,内存16G,硬盘2T
[0018]2.操作系统平台:Ubuntu 12.04-64位
[0019]3.编程环境:Eclipse for C/C++
[0020]测试方案
[0021]通过实验来验证该空间索引算法的有效性,同时与其它具有代表性的空间索引技术,如SR-Tree、A-Tree的比较。在性能分析的实验中采用实际数据都来自于微软亚洲研究院的媒体计算组获取了微软必应图像和视频搜索引擎的真实的大规模多媒体图像数据集——MSRA-MM2.0数据集。
[0022]实验中所用的高维特征向量数据包括128维小波纹理特征和256维RGB特征两种,它们均来自于根据Bing Images图片搜索引擎所收录的实际图片数据,数据总量为100万。其中的100张图片所对应的特征向量被选出来作为查询集。在实验中,将比较分析数据集、k值、page size等参数对基于KSR-Tree、SR_Tree和A-Tree索引的kNN检索性能即平均响应时间的影响。
[0023]调整数据集大小后的影响
[0024]在实验中,我们把数据集的大小设置为20万、40万、80万、100万,数据的维度分别为128维与256维。实验结果如图2-图7所示。
[0025]实验结果表明,A-Tree在数据量为20万时,取得了较好的检索效果。这是因为该空间索引引入了基于压缩思想的特征向量近似表示技术,从而可以获得更大的扇入与扇出。但是A-Tree由于采用了压缩技术,增加了一个解码的过程,而且需要参照其父节点和孩子结点的位置,但在数据量增大时,它的检索效率反而不如KSR-Tree。因此,尽管A-Tree总是在低数据量下检索效果不错,但是在多媒体数据较大时的检索上,A-Tree的对kNN查询的响应时间并不是特别理想。再看SR-Tree它的时间一直是高于KSR-Tree的,这是由于在高维空间中,基于空间划分的索引在搜索空间扩张中会导致对大量重叠的区域和数据对象的访问和分析。
[0026]在查询的平均响应时间上,本文提出的基于KSR-Tree的kNN检索在响应时间上取得了最好的结果。主要原因是:(I)在大规模多媒体数据上,数据量大,且维度较高。导致节点之间的重叠区域较多,而KSR-Tree的分裂方式使得它减少了多路查找。(2)在进行kNN剪枝时,由于采用了本文提出的节点分裂算法,在kNN剪枝时就减少了对搜索范围之内,相应节点的重复查询。
[0027]调整K值大小后的影响
[0028]此实验评估k值对基于KSR-Tree的kNN检索性能的影响。把数据集大小设置为100万,数据的维度分别为128维与256维。实验结果如图8-图11所示。
[0029]从图8-图9可以看出,尽管随着k值的增加,三种索引技术的平均响应时间都相应变大了,但是可以看出KSR-tree的增加是最小的,并且它的响应时间也是最好的。KSR-Tree的在响应时间上还是优于其他二种索引技术。不管是在128维还是256维,A-Tree的响应时间一直是最高。SR-Tree也比较差,这是kNN检索时的搜索初始半径较大和节点之间的重叠较高导致的。
[0030]从图10-图11中可以看出,随着数据集的增大,响应时间也在不停的增大。但是在同一数据集下,KSR-Tree的变化幅度较小。随着k值越大,它的响应时间也有了一点增加。这是由于在搜索空间扩张中,导致了对大量重叠的区域和数据对象的访问和分析,从而增加了响应的时间。
[0031 ] 调整Page size大小后的影响
[0032]实验评估page size的变化对KSR-Tree的检索效率的影响,k值设置为100,pagesize大小设置为32k、64k与128k。实验结果如图12-图13所示。
[0033]对于KSR-Tree来说,增加page size,意味着拥有更大的fanout,即每个节点里面可以容纳更多的孩子数据,从而有效的将重叠区域包含成一个节点。
[0034]从实验结果看出,在128维上,pagesize设置为64k时的检索效率这是最好的。在256维上,page size设置为128k时的检索效率这是最稳定,一直都是低于其他的二个pagesize。基于KSR-Tree的kNN检索在响应时间上是最小的。
[0035]
【申请人】对分裂节点数选择不同的数值对响应时间的影响进行了试验,分裂后的节点数选择(3,4,5,6)的实验结果如图14所示。在128维数据的情况下,索引节点的页大小为64KB,数据集从20万条到100万条。纵坐标位是进行查询时,查询的响应时间,单位为秒。响应时间曲线从下到上依次是节点数选择(3,4,5,6)的响应时间,由图可知,分裂后的节点数选择为3的时候,响应时间最短,性能是优于4,5,6的。
[0036]
【申请人】对分裂节点数选择不同的数值对响应时间的影响进行了试验,分裂后的节点数选择(3,4,5,6)的实验结果如图15所示,在256维数据的情况下,索引节点的页大小为64KB,数据集从20万条到100万条。纵坐标位是进行查询时,查询的响应时间,单位为秒。响应时间曲线从下到上依次是节点数选择(3,4,5,6)的响应时间,由图可知,分裂后的节点数选择为3的时候,响应时间最短,性能是优于4,5,6的。
[0037]由图14-15看出,裂后的节点数选择为3的时候,响应时间最短。
【附图说明】
[0038]图1是本发明的分裂结构图;
[0039]图2是128维,k为20时,数据集大小分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0040]图3是256维,k为20时,数据集大小分别对KSR-Tree、SR-Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0041 ] 图4是128维,k为50时,数据集大小分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0042]图5是256维,k为50时,数据集大小分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0043]图6是128维,k为100时,数据集大小分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0044]图7是256维,k为100时,数据集大小分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0045]图8是128维,数据集大小为100万,k值分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为k值,纵坐标为响应时间;
[0046]图9是256维,数据集大小为100万,k值分别对KSR-Tree、SR_Tree和A-Tree的影响;其中,横坐标为k值,纵坐标为响应时间;
[0047]图10是128维下k值变化图;其中,横坐标为数据集大小,纵坐标为响应时间;
[0048]图11是256维下k值变化图;其中,横坐标为数据集大小,纵坐标为响应时间;
[0049]图12是128维,不同pagesize对KSR-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0050]图13是256维,不同pagesize对KSR-Tree的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0051]图14是128维,页大小为64KB,数据集从20万条到100万条,分裂节点数选择不同的数值对响应时间的影响;其中,横坐标为数据集大小,纵坐标为响应时间;
[0052]图15是256维,页大小为64KB,数据集从20万条到100万条,分裂节点数选择不同的数值对响应时间的影响;其中,横坐标为数据集大小,纵坐标为响应时间。
【具体实施方式】
[0053]实施例。一种大规模多媒体数据的空间索引方法,通过利用分裂算法将一个节点分裂成三个,同时选取m/M为30%-40%,再将需要处理的数据放置在占用率少的节点上进行处理。
[0054]所述的m为节点中对象的下限,M为节点中对象的上限。m的值取M的30-40%最优,才能保证较好的查询效率和插入效率,此时既能保持很好节点利用率,也可以充分利用节点的空间利用率。判定占用率少节点的方法为:两个索引节点,每个节点都能最多存放10条记录,若其中一个节点A已经存放了 6条记录,另一节点B,已经存放了 8条记录,则节点A的占有率较少。
[0055]所述的分裂算法的步骤为,
[0056]A.节点数目达到M+1或者M+2时,先判断节点是否是第一次溢出,若是,则重新插入分裂算法,推迟节点的分裂,反之,则分裂节点;
[0057]B.重新插入之后再次发生节点的溢出,则节点需要分裂;从节点中的M+1或者M+2个数据对象中,任意选择三个对象作为初始聚类中心;
[0058]C.计算每个数据对象到三个初始聚类中心的距离,将三个初始聚类中心分别划分到离其最近的每个数据对象的中心处;
[0059]D.再重新计算划分过的数据对象的均值;
[0060]E.迭代C-D两步直至新的均值与原均值相等或小于指定阈值;以此作为分裂后的三个中间节点。所述阈值是一个大于O的比较小的浮点数,这里设定为0.0001。
[0061 ] 如图1所示,KSR-Tree的节点结构与SR-Tree类似,只是在节点的分裂上采用的是“一分为三”,假如在叶子节点C中的数据对象达到M+1时,先判断是否需要重新插入。如不需要,该节点进行分裂,分裂之后将在中间节点I中,产生三个新的叶子节点。再判断中间节点I是否需要进行分裂,如不分裂则分裂停止;如需要分裂则将节点I分裂成三个新的中间节点,最后重复此过程至根节点root。
[0062]在KSR-Tree的结构图中,假如节点C溢出时,把节点C中的数据对象,进行“一分为三”的分裂之后得到了节点C、I与J。此时节点I未溢出,分裂停止,得到图1所示的结构图。
【主权项】
1.一种大规模多媒体数据的空间索引方法,其特征在于:通过利用分裂算法将一个节点分裂成三个,同时选取m/M为30%-40%,再将需要处理的数据放置在占用率少的节点上进行处理。2.根据权利要求1所述的大规模多媒体数据的空间索引方法,其特征在于:所述的分裂算法的步骤为, A.节点数目达到M+1或者M+2时,先判断节点是否是第一次溢出,若是,则重新插入分裂算法,推迟节点的分裂,反之,则分裂节点; B.重新插入之后再次发生节点的溢出,则节点需要分裂;从节点中的M+1或者M+2个数据对象中,任意选择三个对象作为初始聚类中心; C.计算每个数据对象到三个初始聚类中心的距离,将三个初始聚类中心分别划分到离其最近的每个数据对象的中心处; D.再重新计算划分过的数据对象的均值; E.迭代C-D两步直至新的均值与原均值相等或小于指定阈值;以此作为分裂后的三个中间节点。3.根据权利要求2所述的大规模多媒体数据的空间索引方法,其特征在于:所述阈值为.0.0OOl O
【文档编号】G06F17/30GK105868355SQ201610187012
【公开日】2016年8月17日
【申请日】2016年3月29日
【发明人】李晖, 陈梅
【申请人】贵州大学, 贵州优联博睿科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1