近邻查找方法和装置制造方法及图纸

技术编号:2914637 阅读:191 留言:0更新日期:2012-04-11 18:40
公开了一种近邻查找方法和装置。属于近邻查找技术领域。所述近邻查找方法包括:对样本数据空间中的至少二维进行量化处理,根据目标样本的各坐标值所在预定长度的区间与所述量化处理后的样本数据空间中的各区间的位置重叠关系分别设置各目标样本的bit vector,并存储各目标样本的bit vector;根据查询样本的坐标值是否属于量化处理后的样本数据空间中的区间设置查询样本的bit vector,根据所述查询样本的bit vector从所述各目标样本的bit vector中查找并确定查询样本的近邻样本。减少了近邻查找过程中对存储空间的占用,提高了近邻查找的速度。

【技术实现步骤摘要】

本专利技术涉及近邻查找
,具体涉及基于多维数据空间的近邻查找方法和装置
技术介绍
在实现图像、音频或视频等富媒体信息的匹配检索过程中,通常会利用到在多维特征空间中进行近邻查找的技术,这里的近邻查找可以为最近邻查找,也可以为K-近邻查找。例如,在人脸识别系统中,最近邻分类器或K-近邻分类器可以根据人脸查询样本在人脸样本库(即人脸目标样本库)中查找到一个或若干个与人脸查询样本最相似的人脸目标样本。近邻查找技术可以通过先对全体目标样本建立R-TREE索引,然后通过查找R-TREE来实现查询样本的ε-近邻查找。近邻查找的具体实现过程包括:步骤1、针对目标样本库中的每个目标样本分别建立以样本点为中心、以ε/2为半边长的超立方体,该超立方体可以被称为样本点的ε/2-超立方体。步骤2、根据上述各目标样本的超立方体在样本数据空间中的分布,不断地将样本数据空间递归的划分成子区域,直至每个子区域中只包含较少数量目标样本的超立方体。将包含较少数量目标样本的超立方体的子区域作为叶子结点、中间各层子区域作为内结点。针对各级内结点的每个分支产生一个最小子区域,所谓的最小子区域是指能够包含一个分支中所有目标样本的ε/2-超立方体的最小的空间子区域。该最小子区域的坐标范围可以保存在内结点的各分支的入口中。通过上述步骤1和步骤2成功建立R-TREE索引,R-TREE的一个例子如图1所示。图1中的R-TREE为包含有叶子结点在内的三层R-TREE。-->步骤3、对查询样本建立以样本点为中心、以ε/2为半边长的超立方体,即查询样本的ε/2-超立方体。步骤4、使用查询样本的超立方体在R-TREE中进行自上而下的查找,如果能够找到最小子区域与查询样本的ε/2-超立方体相交的叶子结点(即叶子结点被命中),则这个叶子结点所包含的目标样本都是查询样本的ε-近邻的候选目标样本。查找这样的叶子结点的过程为:查询样本的ε/2-超立方体与根结点中每个分支对应的最小子区域Ri进行求交操作,如果不相交,则该分支对应的子树被剪掉,不再被继续查找;对根结点中未被剪掉的分支对应的子结点重复以上对根结点进行的操作如此迭代,直到最后有若干个叶子结点被命中,或者没有一个叶子结点被命中为止。被命中的所有叶子结点所包含的目标样本都是候选目标样本。如果没有叶子结点被命中,则该查询样本无近邻样本。步骤5、依次判断候选目标样本的ε/2-超立方体是否与查询样本的ε/2-超立方体相交,如果相交,则表示目标样本与查询样本的L∞距离小于ε,否则,表示目标样本与查询样本的L∞距离不小于ε。L∞距离定义为||X-Y||∞=maxi=1N|xi-yi|]]>,其中。通过上述步骤3、步骤4和步骤5实现了使用R-TREE索引查找查询样本的ε-近邻样本。需要说明的是,如果定义ε-近邻所采用的距离‖·‖不是L∞距离,则再使用所采用的距离‖·‖对查找到的叶子结点中的所有目标样本进行验证。在实现本专利技术的过程中,专利技术人发现上述现有技术至少存在如下问题:上述建立的R-TREE,由于使用坐标范围表示其内结点中最小子区域、而坐标范围所需要的数据较多,因此,造成内结点存储空间过大,从而使存储整个R-TREE索引所需要的存储空间也会过大。如果R-TREE索引存储在磁盘中,则会造成查询近邻样本的读盘次数过多,特别是R-TREE有多条查找路径时(例如多个叶子结点被命中),读盘次数会更多。另外,查找过程中的相交测试、以及分支选择等处理会涉及大量的浮点运算,从而造成查找时间复杂度中的常-->数因子过大等问题。
技术实现思路
本专利技术实施方式提供一种近邻查找方法和装置,在占用较少存储空间的情况下,提高了近邻查找的速度。本专利技术实施方式提供的一种近邻查找方法,包括:对样本数据空间中的至少二维进行量化处理;根据目标样本的坐标值所在预定长度的区间与所述量化处理后的样本数据空间中的区间的位置重叠关系分别设置各目标样本的比特向量bit vector,并存储所述各目标样本的bit vector;根据查询样本的坐标值是否属于所述量化处理后的样本数据空间中的区间设置查询样本的bit vector;根据所述查询样本的bit vector从所述存储的各目标样本的bit vector中查找并确定所述查询样本的近邻样本。本专利技术实施方式提供的一种近邻查找装置,包括:数据空间量化模块,用于对样本数据空间中的至少二维进行量化处理;目标样本编码模块,用于根据目标样本的坐标值所在预定长度的区间与所述量化处理后的样本数据空间中的区间的位置重叠关系分别设置各目标样本的比特向量bit vector;目标样本存储模块,用于存储各目标样本的bit vector;查询样本编码模块,用于接收查询样本,并根据查询样本的坐标值是否属于所述量化处理后的样本数据空间中的区间设置查询样本的bit vector;近邻查找模块,用于根据所述查询样本的bit vector从所述目标样本存储模块存储的各目标样本的bit vector中查找并确定所述查询样本的近邻样本。通过上述技术方案的描述可知,通过对样本数据空间进行量化处理,并利用量化处理后的样本数据空间将各样本以bit vector的方式表示出来,从而通过-->利用查询样本的bit vector和目标样本的bit vector,可以在不消耗大量存储空间、不涉及过多磁盘读取操作的情况下,快速获得查询样本的近邻样本。附图说明图1是R-TREE示意图;图2是本专利技术实施方式的近邻查找方法的流程图;图3是本专利技术实施方式的确定目标样本的坐标值的二进制编码的示意图;图4是本专利技术实施方式的组划分示意图;图5是本专利技术实施方式的近邻查找装置示意图。具体实施方式本专利技术实施方式提供的近邻查找技术建立在查询样本的bit vector(比特向量)和目标样本的bit vector基础之上。具体的说,通过对样本数据空间进行量化处理,并利用量化处理后的样本数据空间将各样本以bit vector的方式表示出来,从而利用查询样本的bit vector和目标样本的bit vector,可以在不消耗大量存储空间、不涉及过多磁盘读取操作的情况下,快速获得查询样本的近邻样本。本专利技术实施方式中的查询样本和目标样本可以是人脸样本、图像样本、音频样本、或者是视频样本等。即本专利技术实施方式提供的近邻查找技术可以应用于人脸识别、图像识别、音频识别、以及视频识别等应用本文档来自技高网
...

【技术保护点】
一种近邻查找方法,其特征在于,包括: 对样本数据空间中的至少二维进行量化处理; 根据目标样本的坐标值所在预定长度的区间与所述量化处理后的样本数据空间中的区间的位置重叠关系分别设置各目标样本的比特向量bit vector,并存储 所述各目标样本的bit vector; 根据查询样本的坐标值是否属于所述量化处理后的样本数据空间中的区间设置查询样本的bit vector; 根据所述查询样本的bit vector从所述存储的各目标样本的bit vect or中查找并确定所述查询样本的近邻样本。

【技术特征摘要】
1、一种近邻查找方法,其特征在于,包括:
对样本数据空间中的至少二维进行量化处理;
根据目标样本的坐标值所在预定长度的区间与所述量化处理后的样本数
据空间中的区间的位置重叠关系分别设置各目标样本的比特向量bit vector,并
存储所述各目标样本的bit vector;
根据查询样本的坐标值是否属于所述量化处理后的样本数据空间中的区
间设置查询样本的bit vector;
根据所述查询样本的bit vector从所述存储的各目标样本的bit vector中查找
并确定所述查询样本的近邻样本。
2、如权利要求1所述的方法,其特征在于,所述对样本数据空间中的至
少二维进行量化处理的步骤包括:
对所述样本数据空间中的各维均进行量化处理;或者
根据样本数据空间的各维的区分性选取第一预定个数的维,并对所述第一
预定个数的维进行量化处理。
3、如权利要求1或2所述的方法,其特征在于,所述对样本数据空间中
的至少二维进行量化处理的步骤至少包括下述一个步骤:
针对所述样本数据空间中的其中至少一维,以固定值ε为间距进行均匀量
化处理;
针对所述样本数据空间中的其中至少一维,以变化值ε为间距进行非均匀
量化处理。
4、如权利要求1所述的方法,其特征在于,所述存储所述各目标样本的
bit vector的步骤包括:
顺序存储所述各目标样本的bit vector;和/或
以R-TREE的方式存储所述各目标样本的bit vector。
5、如权利要求4所述的方法,其特征在于,所述以R-TREE的方式存储
所述各目标样本的bit vector的步骤包括:
选取目标样本的坐标值分布最分散的一维;
在所述选取的维中,根据组间重叠最小原则进行组划分,如果划分后的组
包含的目标样本个数小于第二预定个数,则该组为叶子结点,否则,该组为内
结点,并继续对所述内结点进行组划分;
根据二进制表示方式确定各组的最小子区域的二进制串,成功建立并存储
R-TREE。
6、如权利要求5所述的方法,其特征在于,所述根据目标样本的坐标值
所在预定长度的区间与所述量化处理后的样本数据空间中的区间的位置重叠
关系分别设置各目标样本的bit vector的步骤包括:
设定目标样本的bit vector为B,且B包括[B1......Bd],其中,d为样本数据
空间中被量化处理的维数;
则Bi为:其中,xi为目标样本第i维的坐标值,[xi-ε,xi+ε]表示以xi为中心、以两倍
的ε的预定长度的区间,bins[i][j]表示量化处理后样本数据空间的第i维的第j
个区间,Ni为样本数据空间的第i维的区间数。
7、如权利要求6所述的方法,其特征在于,所述根据二进制表示方式确
定各组的最小子区域的二进制串的步骤包括:
将组中所有目标样本的bit vector进行按位“或”操作,将所述“或”操作
结果作为组的最小子区域的二进制串。
8、如权利要求6所述的方法,其特征在于,所述根据查询样本的坐标值
是否属于所述量化处理后的样本数据空间中的区间设置查询样本的bit vector
的步骤包括:
设定查询样本的bit vector为B,且B包括[B1......Bd],其中,d为样本数据空
间中被量化处理的维数;
则Bi为:Bi[j]=1xi∈bin[i][j]0else;i=1,2,···d;j=1,2···Ni;]]>其中,xi为所述查询样本第i维的坐标值,bins[i][j]表示量化处理后样本数
据空间的第i维的第j个区间,Ni为样本数据空间的第i维的区间数。
9、如权利要求8所述的方法,其特征在于,所述根据所述查询样本的bit
vector从所述各目标样本的bit vector中查找并确定所述查询样本的近邻样本的
步骤包括:
将查询样本的bit vector与各目标样本的bit vector进行按位“与”操作,将
所述按位“与”操作的结果串中包含的“1”的个数达到量化处理维数I的目标
样本确定为查询样本的近邻样本或候选近邻样本。
10、如权利要求8所述的方法,其特征在于,所述根据所述查询样本的bit
vector从所述各目标样本的bit vector中查找并确定所述查询样本的近邻样本的
步骤包括:
比较查询样本的bit vector和各目标样本的bit vector的R-TREE中各组的最
小子区域的二进制串,以对R-TREE进行剪枝处理;
根据查询样本的bit vector对未被剪除的叶子结点包含的目标样本进行相似
度验证,将验证通过的目标样本确定为查询样本的近邻样本或候选近邻样本...

【专利技术属性】
技术研发人员:付立波王建宇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

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

1