用于高效特征匹配的方法和设备技术

技术编号:13332790 阅读:61 留言:0更新日期:2016-07-12 02:12
一种搜索系统中的非完全相同特征匹配的方法,所述搜索系统具有数据点的集合。所述方法包括:确定阈值误差,以及通过以下操作扩展所述集合以创建扩展集合:包括所有数据点作为所述扩展集合的数据元素,以及针对所述集合中的每个数据点,找到位于该数据点的误差距离内的所有数据元素,并且将所找到的数据元素添加到所述扩展集合,其中所述误差距离是阈值误差的函数。所述方法包括:通过使用多个散列函数作为Bloom过滤器构建二进制数组,创建所述扩展集合的概要表示。所述方法还可包括:接收查询,以及将所述多个散列函数应用于所述查询,以根据所述二进制数组确定所述查询是否与所述扩展集合中的数据元素之一匹配;如果是,则输出匹配。

【技术实现步骤摘要】

本申请一般地涉及搜索信息,具体地,涉及搜索大的数据集合中的接近但不完全相同的匹配。
技术介绍
搜索与查询匹配的数据会在很多种情况中发生。例如,词语匹配搜索可用来标识关键词在文档、文档数据库或在线上互联网网页搜索中的出现。登录验证可涉及搜索登录证书集合中的匹配。对象识别可涉及在对象数据库或集合中搜索匹配对象。所有这些示例可被一般化为一个两步过程:(1)构建集合S及其表示(通常离线);以及(2)计算f(x),其中x是查询,f(x)是根据下式的结果: f ( x ) = 0 x ∉ S 1 x ∈ S ]]>第二步(成员身份测试)一般是“线上”完成的,通常实时完成。许多现代搜索不必基于完美匹配。例如,图像或视频中的对象或特<br>征识别不能一般地依赖于完美匹配。例如,一些面部识别过程可能希望标识接近匹配,而不是完美匹配。指纹分析是不太可能进行确切匹配的另一个领域。相反地,在这些“不完美”匹配搜索中,可使用基于距离的匹配。术语“基于距离”用于一般意义的标量度量d(x,y)中,其中x是查询,y是S的候选元素。在一些情况中,度量d(x,y)可以是欧氏距离,但也可使用其他更为复杂的度量。通过使用基于距离的匹配,搜索结果f(x)基于是否存在位于查询x的阈值距离δ之内的集合S的元素。搜索S对象中的最接近元素可描述如下: d ( x , S ) = min y ∈ S d ( x , y ) ]]>在阈值距离的约束下,搜索可表示为: f ( x ) = 0 d ( x , S ) > δ 1 d ( x , S ) ≤ δ ]]>将理解的是,基于距离的搜索的成本(在计算资源方面)比简单成员身份测试要高得多并且要更加耗时。结果,在实时线上搜索中难以实现不完美匹配搜索,尤其是度量d(x,y)很复杂时更是如此。附图说明现在通过示例的方式参考示出了本申请的示例实施例的附图,其中:图1示出了使用特征扩展的搜索系统的简化框图;图2以流程图的形式示出了使用特征扩展的搜索的示例过程;图3示出了使用概要表示的搜索系统的简化框图;图4以流程图的形式示出了用于使用扩展集合的概要表示进行搜索的示例过程。在不同附图中,使用相似的附图标记表示相似的组件。具体实施方式在一个方面中,本申请描述了一种搜索系统中的非完全相同特征匹配的方法,所述搜索系统具有数据点的集合。所述方法包括:确定阈值误差;通过以下操作扩展所述集合以创建扩展集合:初始化所述扩展集合,以包括来自所述集合的所有数据点作为所述扩展集合的数据元素,以及针对所述集合中的每个数据点,找到位于该数据点的误差距离内的所有数据元素,并且将这些所找到的数据元素添加到所述扩展集合,其中所述误差距离是阈值误差的函数;通过使用多个散列函数作为Bloom过滤器构建二进制数组,创建所述扩展集合的概要表示;接收查询;以及将所述多个散列函数应用于所述查询,以根据所述二进制数组确定所述查询是否与所述扩展集合中的数据元素之一匹配,并且如果是,则输出匹配。在另一方面中,本申请描述了一种方法,所述方法包括:确定阈值误差;通过以下操作扩展所述集合,以创建扩展集合:初始化所述扩展集合,以包括来自所述集合的所有数据点作为所述扩展集合的数据元素,以及针对所述集合中的每个数据点,找到位于该数据点的误差距离内的所有数据元素,并且将这些所找到的数据元素添加到所述扩展集合,其中所述误差距离是阈值误差的函数;通过使用多个散列函数作为Bloom过滤器构建二进制数组,创建所述扩展集合的概要表示;以及将所述二进制数组发送到远程设备,以用于特征搜索。在又一方面中,本申请描述了一种用于非完全相同特征匹配的搜索系统。搜索系统包括:一个或多个处理器;存储器,存储数据点的集合和阈值误差;以及处理器可执行搜索指令,所述指令当由所述一个或多个处理器执行时使得所述一个或多个处理器:通过以下操作扩展所述集合以创建扩展集合:初始化所述扩展集合,以包括来自所述集合的所有数据点作为所述扩展集合的数据元素,以及针对所述集合中的每个数据点,找到位于该数据点的误差距离内的所有数据元素,并且将这些所找到的数据元素添加到所述扩展集合,其中所述误差距离是阈值误差的函数;通过使用多个散列函数作为Bloom过滤器构建二进制数组,创建所...

【技术保护点】
一种搜索系统中的非完全相同特征匹配的方法,所述搜索系统具有数据点的集合,所述方法包括:确定阈值误差;通过以下操作扩展所述集合以创建扩展集合:初始化所述扩展集合,以包括来自所述集合的所有数据点作为所述扩展集合的数据元素,以及针对所述集合中的每个数据点,找到位于该数据点的误差距离内的所有数据元素,并且将所找到的数据元素添加到所述扩展集合,其中所述误差距离是阈值误差的函数;通过使用多个散列函数作为Bloom过滤器来构建二进制数组,以创建所述扩展集合的概要表示;接收查询;以及将所述多个散列函数应用于所述查询,以根据所述二进制数组确定所述查询是否与所述扩展集合中的数据元素之一匹配;如果是,则输出匹配。

【技术特征摘要】
2014.12.22 US 14/579,2971.一种搜索系统中的非完全相同特征匹配的方法,所述搜索系统具
有数据点的集合,所述方法包括:
确定阈值误差;
通过以下操作扩展所述集合以创建扩展集合:
初始化所述扩展集合,以包括来自所述集合的所有数据点作为
所述扩展集合的数据元素,以及
针对所述集合中的每个数据点,找到位于该数据点的误差距离
内的所有数据元素,并且将所找到的数据元素添加到所述扩展集合,
其中所述误差距离是阈值误差的函数;
通过使用多个散列函数作为Bloom过滤器来构建二进制数组,以创
建所述扩展集合的概要表示;
接收查询;以及
将所述多个散列函数应用于所述查询,以根据所述二进制数组确定
所述查询是否与所述扩展集合中的数据元素之一匹配;如果是,则输出
匹配。
2.根据权利要求1所述的方法,还包括:选择标量量化器,其中扩
展所述集合包括首先量化所述数据点的集合中的数据点。
3.根据权利要求1所述的方法,还包括:在存储器中存储所述扩展
集合,以用于未来搜索。
4.根据权利要求1所述的方法,还包括:在存储器中存储所述二进
制数组以用于未来搜索以及丢弃所述扩展集合。
5.根据权利要求1所述的方法,其中,所述误差距离包括以下各项
之一:L1距离、L2距离、编辑距离、地球移动距离、KL散度和结构相
似度矩阵。
6.根据权利要求1所述的方法,其中,针对不同的阈值误差值执行
所述确定、扩展和创建操作至少两次,以产生相应的二进制数组,以及
其中,接收查询包括:接收所述查询和所请求的阈值误差,并且所述方
法还包括:基于所请求的阈值误差选择所述至少两个二进制数组之一。
7.根据权利要求6所述的方法,其中,选择所述至少两个二进制数
组之一基于选择与大于或等于所请求的阈值误差的阈值误差值相对应的
二进制数组。
8.根据权利要求1所述的方法,其中,构建二进制数组包括:
将所述扩展集合的数据元素分类到两个类之一中;
将第一Bloom过滤器应用于所述扩展集合的所有数据元素,以创建
第一二进制数组;以及
将第二Bloom过滤器应用于所述类之一中的数据元素,而不应用于
所述类中的另一个中的数据元素,以创建第二二进制数组,
其中第一Bloom过滤器的假阳概率大于第二Bloom过滤器的假阳概
率。
9.根据权利要求1所述的方法,其中,通过服务器来执行所述确定、
扩展和创建操作,其中,通过与服务器通信的远程设备执行所述接收和
应用操作,并且其中所述服务器在针对来自远程设备的请求的回复中向
所述远程设备发送所述概要表示。
10.根据权利要求1所述的方法,其中,所述数据点的集合包括指纹
数据。
11.根据权利要求1所述的方法,其中,所述数据点的集合包括图像
或视频特征描述符。
12.一种用于非完全相同特征匹配的搜索系统,所述搜索系统包括:
一个或多个处理器;
存储器,存储数...

【专利技术属性】
技术研发人员:何大可
申请(专利权)人:黑莓有限公司
类型:发明
国别省市:加拿大;CA

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

1