一种基于层次索引的图像检索方法及系统的制作方法

文档序号:6519978阅读:142来源:国知局
一种基于层次索引的图像检索方法及系统的制作方法
【专利摘要】本发明涉及一种基于层次索引的图像检索方法,包括步骤:步骤1:对库图像提取二进制特征,并存入特征库;步骤2:对特征库中的每个二进制特征随机提取24位作为新特征组成新数据集;步骤3:对新数据集建立聚类索引,使搜索空间分为多层;步骤4:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的二进制特征进行匹配,完成初步过滤并得到候选集合;步骤5:将候选集合中的所有特征与原查询特征进行相似度计算,得到多个相似特征构成相似数据集,完成图像检索。本发明与基于sift特征的索引结构相比,该索引结构使得检索效率明显提升,空间资源消耗降低。
【专利说明】—种基于层次索引的图像检索方法及系统
【技术领域】
[0001]本发明涉及一种基于层次索引的图像检索方法及系统,属于大规模图像检索领域。
【背景技术】
[0002]随着互联网和多媒体技术的飞速发展,互联网上的图像数量已达到了数千亿级并呈现不断增长的趋势。以著名社交网站Facebook和图像分享网站Flicker为例,截止到2011年6月,Facebook约有1000亿副图像,Flicker用户每天上传的图像就有450万副。如何建立有效的检索机制,在浩瀚的图像库中实现快速、有效的目标图像检索,成为多媒体领域亟待解决的问题。
[0003]图像的检索问题可以分为基于关键字的图像检索和基于内容的图像检索。基于关键字的图像检索需要人工对图像标注,赋予图像语义信息。这种方法有局限性,人工标注的语义内容可能存在歧义,图像本身的一些纹理特征很难准确描述,而且对大规模图像标注需要很大的工作量。
[0004]基于内容的图像检索,利用图像自身包含的丰富信息,如:颜色,纹理,关键点等等进行图像检索,即以图搜图。这种方法克服了早期基于关键字的图像检索的局限性。基于内容的图像检索过程如图1所示,大致分为三个步骤。首先,根据计算机视觉技术或图像处理技术提取库图像的特征点,对特征点进行描述生成高维特征描述符。然后,采用一种方式将高维特征描述符有效的组织起来,这个过程就是建立索引的过程。最后,提取查询图像的特征点,生成查询特征描述符。在索引中检索,返回与查询特征相似的特征,从而得到与此相似的图像。

【发明内容】

[0005]因为对大规模图像提取特征点,产生海量高维特征描述符,所以需要一种有效的索引机制将特征描述符有效的组织起来,以提高检索的效率。另外,海量高维特征描述符对内存的要求也是一个亟待解决的问题。如何在准确率,速度和空间方面取得平衡,一直是大规模图像检索领域的研究热点。
[0006]本发明所要解决的技术问题是,针对现有技术的不足,提供一种实现大规模图像的有效检索的层次检索方法。
[0007]本发明解决上述技术问题的技术方案如下:一种基于层次索引的图像检索方法,具体包括以下步骤:
[0008]步骤1:对库图像提取二进制特征,并将二进制特征存入特征库;
[0009]步骤2:对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集;
[0010]步骤3:对新数据集建立聚类索引,使新数据集的搜索空间分层;
[0011]步骤4:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的新特征进行匹配得到候选特征,由候选特征组成候选集,完成初步过滤;
[0012]步骤5:将候选集中的候选特征与原查询特征进行相似度计算,得到多个相似特征构成相似数据集,完成图像检索。
[0013]本发明的有益效果是:本发明基于二进制特征建立层次索引结构,采用层次索引结构对与查询相似的特征进行初步过滤,得到候选结果集合。将查询特征与候选结果集合中的特征逐一比较,返回真正的最近邻特征。与基于sift特征的索引结构相比,该索引结构使得检索效率明显提升,空间资源消耗降低。
[0014]在上述技术方案的基础上,本发明还可以做如下改进。
[0015]进一步,所述步骤3具体包括以下步骤:
[0016]步骤3.1:在新数据集中随机选取η个新特征作为簇中心,加入簇中心集;
[0017]步骤3.2:分别计算新数据集中的每个特征与每个簇中心的距离,将所述新特征添加到距离最近的簇中心构成一个分类簇,完成第一层的聚类过程,将新数据集的特征分成了 η类集合;
[0018]步骤3.3:判断上一步骤得到的η类集合中一类集合包含的特征数目是否达到阈值数目,如果大于阈值数目,则将该类集合作为新数据集,并跳转至步骤3.1 ;否则,该类停止聚类过程;
[0019]步骤3.4:重复步骤3.3,直到所有的类包含的特征数目小于阈值数目为止,聚类结束,完成搜索空间的分层过程。
[0020]其中,η为自然数。
[0021]进一步,如果在步骤3分层过程中某个簇包含的特征小于某一个设定的阈值,那么这个簇就不在继续向下分层。
[0022]进一步,所述步骤3.1具体包括以下步骤:
[0023]步骤3.1.1:在新数据集中随机选择一个新特征作为一个准簇中心;
[0024]步骤3.1.2:任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的
距离;
[0025]步骤3.1.3:判断所述新特征与准簇中心的距离是否大于设定的距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中;否则,放弃所述新特征,跳转至步骤3.1.2 ;
[0026]步骤3.1.4:判断所述簇中心集中簇中心是否达到预设簇中心个数,如果是,进行下一步;否则,跳转至步骤3.1.2 ;
[0027]步骤3.1.5:完成簇中心的选取过程。
[0028]进一步,所述步骤4包括以下步骤:
[0029]步骤4.1:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征;
[0030]步骤4.2:分别计算新查询特征与第一层中每个簇中心的距离,找到距离最近的那个簇心,并将本层其他簇中心按照距离从小到大加入簇中心优先队列;
[0031]步骤4.3:计算新查询特征与最近簇心的每个孩子节点的距离,找到最近距离的那个孩子节点,将其他的孩子节点按照距离大小加入簇优先队列中;[0032]步骤4.4:重复步骤4.3直到遍历到叶子节点,将叶子节点包含的特征加入候选集合;
[0033]步骤4.5:判断候选集合的数目是否达到设定阈值,如果是,进行下一步;否则,遍历簇优先队列,即取出优先队列里距离最近的簇,重复执行步骤4.3 ;
[0034]步骤4.6:完成初步过滤,得到候选集。
[0035]其中,孩子节点表示还可以作为父节点连接其他孩子节点的节点;而叶子节点表示结构中最下层的节点,叶子节点不包含其他孩子节点或叶子节点。
[0036]进一步,所述步骤5中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越相似。
[0037]本发明所要解决的技术问题是,针对现有技术的不足,提供一种实现大规模图像的有效检索的层次检索系统。
[0038]本发明解决上述技术问题的技术方案如下:一种基于层次索引的图像检索系统,包括:特征提取模块、数据集模块、分层索引模块、初步过滤模块和深度过滤模块;
[0039]所述特征提取模块用于对库图像提取二进制特征,并将二进制特征存入特征库;
[0040]所述数据集模块用于对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集;
[0041]所述分层索引模块用于对新数据集建立聚类索引,使新数据集的搜索空间分层;
[0042]所述初步过滤模块用于接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的二进制特征进行匹配得到候选特征,由候选特征构成候选集,完成初步过滤;
[0043]所述深度过滤模块用于将候选集中的所有特征与原查询特征进行相似度计算,得到多个相似特征,构成相似数据集,完成图像检索。
[0044]本发明的有益效果是:本发明基于二进制特征建立层次索引结构,采用层次索引结构对与查询相似的特征进行初步过滤,得到候选结果集合。将查询特征与候选结果集合中的特征逐一比较,返回真正的最近邻特征。与基于sift特征的索引结构相比,该索引结构使得检索效率明显提升,空间资源消耗降低。
[0045]在上述技术方案的基础上,本发明还可以做如下改进。
[0046]进一步,所述分层索引模块包括:簇中心模块、分类簇模块和叶子节点模块;
[0047]所述簇中心模块用于在新数据集中选取多个新特征作为簇中心,加入簇中心集;
[0048]所述分类簇模块用于计算新数据集中的所有新特征与每个簇中心的距离,将新特征添加到距离最近的簇中心构成多个分类簇;
[0049]所述叶子节点模块用于在搜索空间分层完毕之后,包含距离该叶子节点簇最近的特征。
[0050]进一步,所述簇中心模块包括:基准模块、距离计算模块和判断模块;
[0051]所述基准模块用于在新数据集中随机选择一个新特征作为一个准簇中心;
[0052]所述距离计算模块用于任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的距离;
[0053]所述判断模块用于判断所述新特征与准簇中心的距离是否大于设定距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中,直到簇中心集中簇中心达到预设个数,完成簇中心的选取过程;否则,放弃所述新特征,重新随机选取一个新特征并返回距离计算模块。
[0054]进一步,所述初步过滤模块包括:查询接收模块、距离计算模块、叶子节点计算模块和阈值判断模块;
[0055]所述查询接收模块接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征;
[0056]所述距离计算模块用于分别计算新查询特征与簇中心集中所有的簇中心的距离,并将除了距离最近的那个簇心之外的其他簇中心按照距离从小到大排序加入簇中心优先队列;
[0057]所述叶子节点计算模块用于得到簇中心队列与新查询特征距离最近的簇中心对应的叶子节点;
[0058]所述阈值判断模块用于判断叶子节点包含的特征数目是否达到设定阈值,如果是,完成初步过滤,返回叶子节点队列中所有叶子节点对应的数据特征,构成候选集;否则,递归执行叶子节点计算模块的操作。
[0059]进一步,所述深度过滤模块中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越相似。
[0060]本发明主要包含四个方面:(I)提取库图像的二进制特征(2)建立基于二进制特征的层次索引结构(3)在二进制层次索引结构中完成初步过滤。(4)在候选集中精确查询,返回相似图像。
[0061]当前很多图像检索系统采用的图像特征是sift特征。假设,一幅图像提取Ik个sift特征,每个sift特征描述符是128维float型向量,那么一幅图像特征的大小为512k。尽管采取该特征可以取得很好的精度,但是如果应用于大规模图像的检索,该特征存在维度高,占用内存,计算量大的缺点。随着多媒体领域的发展,图像的规模剧增,这些缺点带来的问题越来越引起重视。为了保证图像的检索精度,同时提高检索的速度,减少空间资源的消耗,一种可能的思路是采用占用内存小的图像特征并对特征库建立有效的索引,提高检索的速度。二进制特征可以解决空间资源消耗的问题,并且简单的硬件异或操作可以完成两个特征之间距离的计算,计算速度快。但是,当前存在的很多索引方法并不适合二进制特征,比如KD树,R-树,ANN索引等。
[0062]鉴于此,本发明提出了一种针对二进制特征的索引结构二进制层次索引。本发明采用orb 二进制特征作为图像的特征描述符,它是在fast特征点检测和brief特征的基础上进行改进的一种特征描述子。每个orb特征是256位的二进制串,特征之间的距离计算是简单的硬件异或操作。因此该特征描述符具有匹配速度快的优点。本发明的实现过程描述如下:首先对每个特征随机提取24位作为新数据集newDataset,然后对新数据集进行层次聚类索引,将搜索空间分层。查询特征采用同样的方式随机提取24位,在newDataset建立的层次索引结构中检索匹配,进行初步的过滤,返回初始候选集。经过在层次索引结构中的检索匹配,可以实现相似特征的初步过滤。初步过滤的实现是通过设定与每个查询特征相似的特征的数目。即假设每个新查询特征在层次索引结构中检索之后,返回1000个相似的特征。那么将这1000个相似的特征加入候选集。初步过滤可以达到快速匹配的目的,使得候选集中的特征数目相对原始数据集很小,然后在候选集中精确查询即逐一与查询特征进行相似性度量的计算,找到真正的近似最近邻特征。相似性度量计算即计算特征之间的海明距离,海明距离越小,两个特征之间越相似。该发明包括以下内容:
[0063]I)提取图像特征。对库图像提取二进制特征,放入特征库。每个二进制特征是由O和I组成的二进制串,共256位。
[0064]2)生成新数据集。对特征库中的每个特征随机提取24位,组成新数据集。
[0065]3)建立索引。对新数据集建立层次索引结构。将索引文件保存到本地。
[0066]4)初步过滤。从本地加载索引文件和查询图像,对查询图像提取查询特征。随机提取查询特征的24位作为新查询特征,在层次索引结构中检索出与新查询特征相似的特征,得到候选集。
[0067]5)精确查询。在候选集中,计算查询特征与候选集合中每个特征的海明距离,根据距离进行排序,选择出距离较小的mm (mm是一个整数)个特征。
【专利附图】

【附图说明】
[0068]图1为本发明具体实施例1所述的一种基于层次索引的图像检索方法流程图;
[0069]图2为本发明具体实施例1中构成簇中心集的方法流程图;
[0070]图3为本发明具体实施例1中初步过滤的方法流程图;
[0071]图4为本发明具体实施例2所述的一种基于层次索引的图像检索系统结构框图;
[0072]图5为本发明具体实施例2所述系统中簇中心模块的结构框图;
[0073]图6为本发明具体实施例3所述的方法建立层次索引的流程图;
[0074]图7为本发明具体实施例3的查询流程图。
[0075]附图中,各标号所代表的部件列表如下:
[0076]1、特征提取模块,2、数据集模块,3、分层索引模块,4、初步过滤模块,5、深度过滤模块,31、簇中心模块,32、分类簇模块,33、叶子节点模块,311、基准模块,312、距离计算模块,313、判断模块。
【具体实施方式】
[0077]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0078]如图1所示,为本发明具体实施例1所述的一种基于层次索引的图像检索方法,具体包括以下步骤:
[0079]步骤1:对库图像提取二进制特征,并将二进制特征存入特征库;
[0080]步骤2:对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集;
[0081]步骤3:在新数据集中随机选取η个新特征作为簇中心,加入簇中心集;
[0082]步骤4:分别计算新数据集中的每个特征与每个簇中心的距离,将所述新特征添加到距离最近的簇中心构成一个分类簇,完成第一层的聚类过程,将新数据集的特征分成了 η类集合;
[0083]步骤5:判断上一步骤得到的η类集合中一类集合包含的特征数目是否达到阈值数目,如果大于阈值数目,则将该类集合作为新数据集,并跳转至步骤3 ;否则,该类停止聚类过程;
[0084]步骤6:重复步骤5,直到所有的类包含的特征数目小于阈值数目为止,聚类结束,完成搜索空间的分层过程;
[0085]步骤7:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的新特征进行匹配得到候选特征,由候选特征组成候选集,完成初步过滤;
[0086]步骤8:将候选集中的候选特征与原查询特征进行相似度计算,得到多个相似特征构成相似数据集,完成图像检索。
[0087]如果在步骤5分层过程中某个簇包含的特征小于某一个设定的阈值,那么这个簇就不在继续向下分层。
[0088]如图2所示,本发明具体实施例1中构成簇中心集的方法包括以下步骤,即所述步骤3具体包括以下步骤:
[0089]步骤3.1:在新数据集中随机选择一个新特征作为一个准簇中心;
[0090]步骤3.2:任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的距离;
[0091]步骤3.3:判断所述新特征与准簇中心的距离是否大于设定的距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中;否则,放弃所述新特征,跳转至步骤3.2 ;
[0092]步骤3.4:判断所述簇中心集中簇中心是否达到预设簇中心个数,如果是,进行下一步;否则,跳转至步骤3.2;
[0093]步骤3.5:完成簇中心的选取过程。
[0094]如图3所示,本发明具体实施例1中初步过滤的步骤如下,即所述步骤7包括以下步骤:
[0095]步骤7.1:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征;
[0096]步骤7.2:分别计算新查询特征与第一层中每个簇中心的距离,找到距离最近的那个簇心,并将本层其他簇中心按照距离从小到大加入簇中心优先队列;
[0097]步骤7.3:计算新查询特征与最近簇心的每个孩子节点的距离,找到最近距离的那个孩子节点,将其他的孩子节点按照距离大小加入簇优先队列中;
[0098]步骤7.4:重复步骤7.3直到遍历到叶子节点,将叶子节点包含的特征加入候选集合;
[0099]步骤7.5:判断候选集合的数目是否达到设定阈值,如果是,进行下一步;否则,遍历簇优先队列,即取出优先队列里距离最近的簇,重复执行步骤7.3 ;
[0100]步骤7.6:完成初步过滤,得到候选集。
[0101]其中,孩子节点表示还可以作为父节点连接其他孩子节点的节点;而叶子节点表示结构中最下层的节点,叶子节点不包含其他孩子节点或叶子节点。
[0102]所述步骤8中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越相似。
[0103]如图4所示,为本发明具体实施例2所述的一种基于层次索引的图像检索系统,包括:特征提取模块1、数据集模块2、分层索引模块3、初步过滤模块4和深度过滤模块5 ;[0104]所述特征提取模块I用于对库图像提取二进制特征,并将二进制特征存入特征库;
[0105]所述数据集模块2用于对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集;
[0106]所述分层索引模块3用于对新数据集建立聚类索引,使新数据集的搜索空间分层;
[0107]所述初步过滤模块4用于接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征在索引结构中检索匹配得到候选特征,由候选特征构成候选集,完成初步过滤;
[0108]所述深度过滤模块5用于将候选集中的所有特征与原查询特征进行相似度计算,得到多个相似特征构成相似数据集,完成图像检索。
[0109]所述分层索引模块3包括:簇中心模块31、分类簇模块32和叶子节点模块33 ;
[0110]所述簇中心模块31用于在新数据集中选取多个新特征作为簇中心,加入簇中心集。
[0111]所述分类簇模块32用于计算新数据集中的所有新特征与每个簇中心的距离,将新特征添加到距离最近的簇中心构成多个分类簇;
[0112]所述叶子节点模块33用于在搜索空间分层完毕之后,包含距离该叶子节点簇最近的特征。
[0113]如图5所示,为本发明具体实施例2所述系统中簇中心模块的结构框图,所述簇中心模块31包括:基准模块311、距离计算模块312和判断模块313 ;
[0114]所述基准模块311用于在新数据集中随机选择一个新特征作为一个准簇中心;
[0115]所述距离计算模块312用于任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的距离;
[0116]所述判断模块313用于判断所述新特征与准簇中心的距离是否大于设定距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中,直到簇中心集中簇中心达到预设个数,完成簇中心的选取过程;否则,放弃所述新特征,重新随机选取一个新特征并返回距离计算模块312。
[0117]所述初步过滤模块4包括:查询接收模块41、距离计算模块42、叶子节点计算模块43和阈值判断模块44 ;
[0118]所述查询接收模块41接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征;
[0119]所述距离计算模块42用于分别计算新查询特征与簇中心集中所有的簇中心的距离,并将除了距离最近的那个簇心之外的其他簇中心按照距离从小到大排序加入簇中心优先队列;
[0120]所述叶子节点计算模块43用于得到簇中心队列与新查询特征距离最近的簇中心对应的叶子节点。
[0121]所述阈值判断模块44用于判断叶子节点包含的特征数目是否达到设定阈值,如果是,完成初步过滤,返回叶子节点队列中所有叶子节点对应的数据特征,构成候选集;否贝U,递归执行叶子节点计算模块43的操作。[0122]所述深度过滤模块5中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越相似。
[0123]本发明的二进制层次索引结构的建立包括以下三个步骤:
[0124](一 )对库图像提取二进制特征,组成二进制特征库。
[0125]( 二)对每个特征随机选择24位,组成新数据集。 [0126](三)对新的特征集建立层次索引结构。
[0127]上述步骤(三)建立层次索引是本发明的核心。如图6所示,为本发明具体实施例3所述的方法建立层次索引的流程图,下面是建立层次索引的具体算法:
[0128]给定一个数据集合Dataset,简称D,查询数据Query,简称Q。建立索引的算法描述如下:
[0129]I)对数据集Dataset的每个特征随机提取24位组成新数据集newDataset,即createNewDataset(Dataset, 24)。
[0130]2)在 newDataset 中选择 k 个 cluster,即 k 个族中心,简称 Cj (j=l, 2,....k)。chooseCluster (Dataset, Cj),即选择 cluster 的过程:首先在 newDataset 中随机选择一个特征值Di (i=l, 2,….,η),加入Cluster中,C {Cl},继续随机选择一个特征值D,计算D与C集合中各个元素的距离是否大于某一距离阈值L,若大于则把D加入Cluster集合中,否则在D中继续随机选择一个特征值。直到Cluster集合中的元素数目达到K,选择终止。
[0131]3)计算特征库中的每个特征值Di (i=l, 2,…,η)与Cj (k=l, 2,….,k)的距离d,即将Di加入与此距离最近的cluster中。对每个特征执行操作,直到将所有的特征计算完毕。由此将newDataset分为k类。
[0132]4)分别对这k个cluster递归执行上述步骤3),直到叶子节点包含的特征值数据点数达到某个阈值,层次聚类结束。至此完成了层次索引的建立过程。
[0133]newDatset数据集按照上述的算法步骤,形成了一棵层次聚类树。为了增加检索匹配的准确率,本发明的系统建立了四棵层次聚类树。
[0134]建立索引是为了方便检索的过程,提高检索的效率。尤其大规模图像的检索,建立一个有效的索引结构至关重要。基于上述索引结构,如图7所示,为本发明具体实施例3的查询流程图,查询算法如下:
[0135]对查询Q采用建立索引步骤I)中的方法,提取查询特征的前24位作为新的查询newQuery,简称 nQ.[0136]I)针对新的查询nQ,首先计算查询nQ与层次索引第一层的k个cluster的距离,找到距离最近的那个Ci (i=l, 2,…,k).其他Ci (i=l, 2,…,k)按照与nQ的距离大小加入优先队列。距离小的放在队列首部。
[0137]2)计算查询nQ与步骤I)中查询距离最近的Ci的孩子节点的距离。找到距离最近的那个节点,将其他节点加入优先队列。距离小的放在队列首部。
[0138]3)递归执行步骤2),直到达到叶子节点,返回叶子节点的数据点。
[0139]4)按照步骤2)计算查询与优先队列中Ci (i e [I, k])的孩子节点的距离。找到距离最近的那个节点,删除队列首部的节点,将其他节点加入优先队列。距离小的放在队列首部。
[0140]5)递归执行步骤4),直到返回的相似特征数目达到某一阈值,查询停止。得到候选数据集合subDataset.[0141]6)在候选数据集subDataset中执行精确查找,过滤掉不相似的特征。得到真正的近似最近邻特征,从而返回相似的图像。
[0142]数据集为10万副图像,每副图像提取100个二进制特征,每个二进制特征包含256位O或1,特征库由1000万个特征组成。随机选择特征的24位组成新数据集,建立四棵层次索引树。设定叶子节点包含的特征数目不大于500。每个查询特征检索匹配的相似特征数目为2000,在2000个中选择最相似的前x(x=3)个特征返回。基于此返回相似的图像。
[0143]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于层次索引的图像检索方法,其特征在于,具体包括以下步骤: 步骤1:对库图像提取二进制特征,并将二进制特征存入特征库; 步骤2:对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集; 步骤3:对新数据集建立聚类索引,使新数据集的搜索空间分层; 步骤4:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的新特征进行匹配得到候选特征,由候选特征组成候选集,完成初步过滤; 步骤5:将候选集中的候选特征与原查询特征进行相似度计算,得到多个相似特征构成相似数据集,完成图像检索。
2.根据权利要求1所述的一种基于层次索引的图像检索方法,其特征在于,所述步骤3具体包括以下步骤: 步骤3.1:在新数据集中随机选取η个新特征作为簇中心,加入簇中心集; 步骤3.2:分别计算新数据集中的每个特征与每个簇中心的距离,将所述新特征添加到距离最近的簇中心构成一个分类簇,完成第一层的聚类过程,将新数据集的特征分成了 η类集合; 步骤3.3:判断上一步骤得到的η类集合中一类集合包含的特征数目是否达到阈值数目,如果大于阈值数目,则将该类集合作为新数据集,并跳转至步骤3.1 ;否则,该类停止聚类过程; 步骤3.4:重复步骤3.3,直 到所有的类包含的特征数目小于阈值数目为止,聚类结束,完成搜索空间的分层过程。
3.根据权利要求2所述的一种基于层次索引的图像检索方法,其特征在于,如果在步骤3分层过程中某个簇包含的特征小于某一个设定的阈值,那么这个簇就不在继续向下分层,η为自然数。
4.根据权利要求3所述的一种基于层次索引的图像检索方法,其特征在于,所述步骤3.1具体包括以下步骤: 步骤3.1.1:在新数据集中随机选择一个新特征作为一个准簇中心;步骤3.1.2:任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的距离;步骤3.1.3:判断所述新特征与准簇中心的距离是否大于设定的距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中;否则,放弃所述新特征,跳转至步骤3.1.2 ; 步骤3.1.4:判断所述簇中心集中簇中心是否达到预设簇中心个数,如果是,进行下一步;否则,跳转至步骤3.1.2; 步骤3.1.5:完成簇中心的选取过程。
5.根据权利要求1-4任一项所述的一种基于层次索引的图像检索方法,其特征在于,所述步骤4包括以下步骤: 步骤4.1:接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征; 步骤4.2:分别计算新查询特征与第一层中每个簇中心的距离,找到距离最近的那个簇心,并将本层其他簇中心按照距离从小到大加入簇中心优先队列;步骤4.3:计算新查询特征与最近簇心的每个孩子节点的距离,找到最近距离的那个孩子节点,将其他的孩子节点按照距离大小加入簇优先队列中; 步骤4.4:重复步骤4.3直到遍历到叶子节点,将叶子节点包含的特征加入候选集合;步骤4.5:判断候选集合的数目是否达到设定阈值,如果是,进行下一步;否则,遍历簇优先队列,即取出优先队列里距离最近的簇,重复执行步骤4.3 ; 步骤4.6:完成初步过滤,得到候选集。
6.根据权利要求5所述的一种基于层次索引的图像检索方法,其特征在于,所述步骤5中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越相似。
7.一种基于层次索引的图像检索系统,其特征在于,包括:特征提取模块、数据集模块、分层索引模块、初步过滤模块和深度过滤模块; 所述特征提取模块用于对库图像提取二进制特征,并将二进制特征存入特征库; 所述数据集模块用于对特征库中的每个二进制特征随机提取24位作为新特征,由新特征组成新数据集; 所述分层索引模块用于对新数据集建立聚类索引,使新数据集的搜索空间分层; 所述初步过滤模块用于接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征,并将新查询特征与新数据集中的二进制特征进行匹配得到候选特征,由候选特征构成候选集,完成初步过滤; 所述深度过滤模块用于将候选集中的所有特征与原查询特征进行相似度计算,得到多个相似特征,构成相似数据集,完成图像检索。
8.根据权利要求7所述的一种基于层次索引的图像检索系统,其特征在于,所述分层索引模块包括:簇中心模块、分类簇模块和叶子节点模块; 所述簇中心模块用于在新数据集中选取多个新特征作为簇中心,加入簇中心集; 所述分类簇模块用于计算新数据集中的所有新特征与每个簇中心的距离,将新特征添加到距离最近的簇中心构成多个分类簇; 所述叶子节点模块用于在搜索空间分层完毕之后,包含距离该叶子节点簇最近的特征。
9.根据权利要求8所述的一种基于层次索引的图像检索系统,其特征在于,所述簇中心模块包括:基准模块、距离计算模块和判断模块; 所述基准模块用于在新数据集中随机选择一个新特征作为一个准簇中心; 所述距离计算模块用于任意选择一个新数据集中的新特征,计算所述新特征与准簇中心的距离; 所述判断模块用于判断所述新特征与准簇中心的距离是否大于设定距离阈值,如果是,将所述新特征作为簇中心,并添加到簇中心集中,直到簇中心集中簇中心达到预设个数,完成簇中心的选取过程;否则,放弃所述新特征,重新随机选取一个新特征并返回距离计算模块。
10.根据权利要求7-9任一项所述的一种基于层次索引的图像检索系统,其特征在于,所述初步过滤模块包括:查询接收模块、距离计算模块、叶子节点计算模块和阈值判断模块;所述查询接收模块接收查询图像,提取查询图像的查询特征,对查询特征随机提取24位构成新查询特征; 所述距离计算模块用于分别计算新查询特征与簇中心集中所有的簇中心的距离,并将除了距离最近的那个簇心之外的其他簇中心按照距离从小到大排序加入簇中心优先队列; 所述叶子节点计算模块用于得到簇中心队列与新查询特征距离最近的簇中心对应的叶子节点; 所述阈值判断模块用于判断叶子节点包含的特征数目是否达到设定阈值,如果是,完成初步过滤,返回叶子节点队列中所有叶子节点对应的数据特征,构成候选集;否则,递归执行叶子节点计算模块的操作。
11.根据权利要求10所述的一种基于层次索引的图像检索系统,其特征在于,所述深度过滤模块中的相似度计算采用计算特征值之间的海明距离,其中,海明距离越小,两个特征之间越 相似。
【文档编号】G06F17/30GK103617217SQ201310589470
【公开日】2014年3月5日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】谢洪涛, 杨青娅, 徐克付, 谭建龙 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1