空间图像索引和关联的更新功能的制作方法

文档序号:6441538阅读:190来源:国知局
专利名称:空间图像索引和关联的更新功能的制作方法
空间图像索引和关联的更新功能背景技术
当前,存在用于使查询图像匹配参考图像大全(corpus)的技术。在一个实例中, 该方法可以被概念化为包括索引创建(和索引更新)阶段和搜索阶段。在索引创建阶段,这种系统从参考图像提取图像特征。该系统然后创建(或更新)将图像特征映射到包含这些特征的参考图像的反向索引。在搜索阶段,该系统可以从查询图像提取图像特征。该系统然后可以使用这些查询特征连同索引来找可能与该查询图像相似的一个或多个参考图像。
上述操作执行起来是复杂和耗时的。这消极地影响了这种系统的索引创建阶段和搜索阶段的响应性(responsiveness)。出于上文阐述的原因,该问题又降低了这种图像匹配系统的效用。发明内容
本文描述了一种用于使查询图像匹配参考图像的集合的图像匹配系统。根据一个说明性特征,该图像匹配系统接收查询图像连同与该查询图像相关联的位置信息。例如,该位置信息可以对应于捕获查询图像所在的地理位置。然后,该图像匹配系统识别与位置信息相关联的包围(bounding)区域。然后,该图像匹配系统通过将参考图像与仅驻留在包围区域内的那些参考图像进行比较来执行图像匹配。这方面有助于降低在由图像匹配系统提供的处理的搜索阶段期间处理的复杂度,从而使得该搜索阶段更敏感(responsive)且可能更精确。即,相比之下,所有参考图像的穷举搜索(不参考位置)将花费更长的时间,并且将因此减小搜索操作的速度和随之而来的效用。
根据另一个说明性特征,该图像匹配系统首先例如通过将查询图像转换为一组量化特征并且然后使用反向索引识别匹配这些量化特征的参考图像来识别可以匹配查询图像的一组候选参考图像。然后,该图像匹配系统使用验证分析来识别从所述候选参考图像组中选择的一个或多个最终匹配图像。
根据另一个说明性特征,该图像匹配系统还可以收集涉及捕获查询图像的设备的取向信息。该图像匹配系统可以使用该取向信息改进(refine)其分析(例如,在执行验证分析的过程中)。
根据另一个说明性特征,该图像匹配系统可以更新索引以包括与最终匹配图像相关联的图像信息条目。即,该最终匹配图像可以对应于已被确定为匹配相应参考图像的查询图像,从而提供一种类型的反馈回路,搜索结果借此被反馈到参考图像的集合。这提供了增强的学习机制。
根据另一个说明性特征,索引的更新可以近实时地执行。例如,根据功能的观点, 假设用户接连(in quick succession)(例如在距彼此短时间内)捕获两个连续图像。该图像匹配系统在提交第二查询图像之前基于第一查询图像(如果它匹配一个参考图像)更新索引,从而在提交第二查询图像之前使得第一查询图像可用作参考图像。在一个特定的说明性实现方式中,更新发生在小于一分钟内。该近实时更新实现了下文将要阐述的该图像匹配系统的各种新应用。
根据另一个说明性特征,描述了实施上述近实时更新的更新管理功能。例如,该更新操作可能需要将图像信息条目的尺寸减小的桶(bucket)组传递到索引服务器以便更新。 尺寸减小的桶组的使用允许索引服务器以迅速的方式整合新条目。根据另一个说明性特征,该更新管理功能可以跨越索引服务器分布图像信息条目,从而两个连续捕获的查询图像可以被分配到不同的索引服务器。出于下文更详细阐述的原因,该特征可以有助于在操作的搜索阶段期间在多个索引服务器间分散处理负担。根据另一个特征,该更新管理功能还可以将每个图像信息条目转发到临时索引服务器。由该临时索引服务器存储的索引信息然后可立即用于在执行搜索时使用。该更新管理功能可以在预定时间量消逝之后移除临时索引服务器中存储的图像信息条目(因为,此时,假定非临时索引服务器已经接收到图像信息条目)。上述方法可以在多种类型的系统、组件、方法、计算机可读介质、数据结构、制造的物品等等中得到证明(manifest)。该发明内容被提供以引入简化形式的概念的选择;这些概念在下文的具体实施方式
中被进一步描述。该发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于限制要求保护的主题的范围。


图1示出图像匹配系统可以使查询图像匹配参考图像的集合的说明性环境。图2示出可以在图1的环境中使用的匹配功能。该匹配功能将查询图像与参考图像匹配。图3示出用于创建用于将查询图像与参考图像匹配的索引的说明性索引生成模块。图4示出用图3的索引创建模块创建的索引执行图像匹配的说明性功能。图5示出用于将图像信息条目添加到索引的说明性索引更新模块。该图像信息条目提供对应于要被添加到索引的新参考图像的描述信息。图6示出索引更新模块的另一种实现方式。图7示出如由关系管理模块(如图1所示)保持的相关图像的数据存储的部分。图8是示出图1的索引匹配系统的操作的一种说明性方式的流程图。图9和10示出可以由图1的索引匹配系统捕获并处理的一系列查询图像。图11是示出使用两阶段方法将查询图像匹配到参考图像的一种说明性方式的流程图。图12是用于解释取向信息的概念的车辆;该取向信息描述在捕获查询图像时设备的取向。图13是描述在执行验证分析的环境中取向信息的使用的流程图。图14是描述由图5和6的索引更新模块执行的更新操作的流程图。图15是描述由图6的索引更新模块执行的更新操作的流程图。图16示出可以用于实现上述附图中示出的特征的任意方面的说明性处理功能。贯穿本公开和附图,相同的数字用于指代相同的组件和特征。100系列编号指代最初在图1中找到的特征,200系列编号指代最初在图2中找到的特征,300系列编号指代最初在图3中找到的特征,以此类推。
具体实施方式
本公开被组织如下。章节A描述用于将查询图像与参考图像匹配并且然后将新参考图像并入索引系统的说明性图像匹配系统。该图像匹配系统以迅速的方式执行这些操作。章节B描述解释章节A的图像匹配系统的操作的说明性方法。章节C描述可以用于实现章节A和B中描述的特征的任意方面的说明性处理功能。
作为初步事项,一些附图描述了在一个或多个结构组件的环境下的概念,所述组件被不同地称为功能、模块、特征、元件等。附图中所示的各种组件可以通过物理和有形机制(例如使用硬件、软件、固件等或其任意组合)以任何方式实现。在一种情况下,附图中图示的各种组件分离成不同的单元可以反映在实际的实现方式中对应的不同物理的和有形的组件的使用。可替代地或此外,附图中所示的任何单个组件可以由多个实际的物理组件实现。可替代地或此外,附图中任意两个或更多单独的组件的描述可以反映由单个实际物理组件执行的不同功能。依次将要讨论的图16提供了关于附图中所示功能的一种说明性物理实现方式的附加细节。
其他附图以流程图形式描述所述概念。在该形式中,某些操作被描述为构成以一定顺序执行的不同的块。这样的实现方式是说明性的和非限制性的。本文所述的某些块可以被集合在一起并且以单个操作执行,某些块可以被分裂为多个组成块,以及某些块可以以不同于本文所述的顺序(包括执行这些块的并行方式)来执行。流程图中所示的块可以通过任何物理和有形机制(例如使用硬件、软件、固件等或其任意组合)以任何方式实现。
关于术语,短语“被配置成”包含可以将任意种类的物理和有形功能构成执行所标识的操作的任意方式。该功能可以被配置成使用例如软件、硬件、固件等和/或其任意组合来执行操作。
术语“逻辑”包含用于执行任务的任何物理和有形的功能。例如,流程图中所示的每个操作对应于用于执行该操作的逻辑组件。可以使用例如软件、硬件、固件等和/或其任意组合来执行操作。无论如何实现,逻辑组件在由计算系统实现时表示电子组件,该电子组件是计算系统的物理部分。
下面的解释可以将一个或多个特征标识为“可选的”。该类型的阐述不应当被解释为可以被认为是可选的特征的穷举指示;即,其他特征可被认为是可选的,尽管在本文中未清楚标识。类似地,该解释可以指示一个或多个特征可以以复数方式实现(即,通过提供超过一个特征实现)。该叙述不应当被解释为可以被复制的特征的穷举指示。最后,术语“示范性”或“说明性的”指代在潜在许多实现方式中的一种实现方式。
A.说明性图像匹配系统图1示出包括图像匹配系统102的说明性环境100。在该章节中,图1将被用作用于阐述图像匹配系统102的所选属性的概观的车辆。稍后的附图和所附的解释将更详细地阐释图像匹配系统102内各个模块的操作。
根据高水平的观点,图像匹配系统102包括匹配功能104和索引管理功能106。匹配功能104通过使查询图像(I,)匹配参考图像(例如,Iri、Irt···)的集合来操作,由此找到被认为相似于查询图像(I,)的一个或多个参考图像。在执行该功能时,匹配功能104依靠索引系统108。索引系统108保持涉及参考图像的图像信息。一个或多个数据存储器(例如, 数据存储器110)可以存储参考图像本身。假定匹配功能104标识查询图像(在时刻tl处取得的)匹配特定参考图像。在一种实现方式中,索引管理功能106然后操作以将图像信息条目(对应于参考图像)添加到索引系统108。这允许后续的查询图像(在时刻t2处取得的)可能匹配先前的查询图像(在时刻tl处取得的)。此外,关系管理模块112可以保持并更新指示参考图像之间关系的关系信息。在一种使用方式中,图像匹配系统102可以推断查询图像与一个或多个现有参考图像相关。 基于该结论,响应于来自索引管理功能106的指令,关系管理模块112可以更新其关系信息以包括由图像匹配系统102建立的新连接。图1还图示了一种阐述图像匹配系统102可工作的一种方式的场景。在该场景中, 用户可以使用移动计算设备114以捕获查询图像(I,)。例如,移动计算设备114可以对应于手持式移动电话设备、相机或包括图像捕获功能的任何其他处理设备。在该特定场景中, 假定用户使用移动计算设备114拍摄特定城市内建筑物116的照片。图像匹配系统102还可以在其他环境下应用。一般地,图像匹配系统102可以应用于用户使用任何计算设备(甚至包括固定计算设备)基于从任何来源获得的任意类型的查询图像、并基于由任何来源提供的任意参考图像大全(corpus)执行图像搜索的任意场景。 图像匹配系统102还可以与任意类型的非人类代理交互。例如,任意类型的系统内的功能模块可以出于任何环境特定原因自动识别并呈现要处理的查询图像。然而,为了便于描述, 在下面的描述中将假定呈现查询的实体是人类用户。在一种情况下,移动计算设备114可以使用本地和/或远程位置确定机制(未示出)确定位置信息。该位置信息描述用户捕获查询图像时所在的位置(L)。该位置(L)一般地还可以对应于由图像表示的对象的位置。一般地,该位置信息可以传达一个(或多个)位置并且可选地传达该一个(或多个)位置的精确度水平。移动计算设备114可以使用GPS技术或Wi-Fi定位技术或蜂窝发射塔三角测量技术或任何其他位置确定技术(或其组合)来确定用户捕获查询图像所在的位置。在图1所示的上述场景中,由此提供的位置信息将以一定的误差容限指示用户位于特定城市的特定区域中(其中不同位置确定技术具有各自不同的精确度水平)。此外或可替代地,用户(或任何其他代理)可以清楚地将位置标签应用到先前捕获的图像,该位置标签传达与该图像相关联的位置。该位置标签构成位置信息。在一种实现方式中,用户可以清楚地决定参加(或决定不参加)位置信息的收集。如果被收集,图像匹配系统102可以提供安全性规定以保持位置信息的置信度(confidence )。移动计算设备114还可以捕获取向信息。该取向信息描述在捕获查询图像的时候移动计算设备114的取向(0)。例如,移动计算设备114可以依靠陀螺仪技术、加速计技术等(或其任意组合)以捕获移动计算设备114的取向。此外或可替代地,用户(或任何其他代理)可以清楚地将取向标签应用到先前捕获的图像,该取向标签指示与图像相关联的取向。 该取向标签构成取向信息。在任何情况下,该取向信息可以具有任意维数。在一种情况下, 该取向信息具有对应于关于相机光轴的滚转角(roll angle)的单个自由度。在其他情况下,该取向信息可以描述滚动(roll)、俯仰(pitch)和偏转(yaw)自由度的任意组合。
如不久更详细地阐述,索引匹配系统102可以使用两阶段方法识别匹配查询图像的参考图像。在第一阶段,图像匹配系统102生成可以具有与查询图像类似内容的一组候选参考图像。它通过使用索引系统108将被量化的图像特征映射到潜在的相关参考图像来执行该任务。在第二阶段,该图像匹配系统102然后使用验证分析从候选参考图像组选择一个或多个最终匹配图像。它通过执行查询图像与(在第一阶段识别的)每个候选参考图像的成对比较来执行任务。在这样做时,该验证分析可以以适当程度的置信度剔除与查询图像不匹配的一个或多个候选参考图像。
在执行其操作的第一阶段时,图像匹配系统102可以识别与位置(L)相关联的包围区域118。例如,在一种实现方式中,图像匹配系统102可以识别圆形包围区域118,并以假定的用户当前位置为该圆形包围区域的中心点。包围区域118的半径(d)定义包围区域 118的空间范围。这仅仅是一个实例;在其他实现方式中,图像匹配系统102可以定义具有任何其他形状的包围区域。而且,用户和/或任何其他授权的代理可以将半径d设置为被认为适合实现特定环境中特定应用的目标的任何值。
在定义了包围区域118之后,图像匹配系统102将其图像搜索操作限定在与包围区域118相关联的图像的子集。例如,这些参考图像可以对应于在包围区域118内的位置捕获的图像,和/或随后与包围区域118内的位置相关联的图像。例如,考虑图1的实例。 假设,图像Irl、Ir2> Ir3和Ir4与包围区域118相关联。假设,至少图像Ir5和Ir6与位于包围区域118之外的位置相关联。(在现实中,在包围区域118内部和外部可能存在更多参考图像。)在该说明性场景中,图像匹配系统102通过将查询图像(I,)与图像Iri、Ir2> ‘和Irt 而不与Irf和Irf进行比较来继续进行。
为了执行上述操作,每个参考图像用位置信息(如果这种位置信息存在)连同其他元数据标记。索引系统108保持这种位置信息连同其他元数据。图像匹配系统102然后可以在其使查询图像匹配参考图像之前考虑参考图像的位置。同样,在一种实现方式中,该位置信息允许图形匹配系统102在所述参考图像大全上执行初始过滤操作。
(在搜索操作的第一阶段执行的)位置信息的上述使用可以被称为基于位置的范围界定(scoping)。该基于位置的范围界定具有至少两个潜在益处。首先,它可以改进图像匹配操作的质量,因为通过考虑它消除了不可能可靠地匹配查询图像的那些参考图像。例如,在旧金山捕获的图像不可能匹配在圣安东尼奥捕获的图像。其次,基于位置的范围界定可以加快图像匹配操作,因为图像匹配系统102正将查询图像仅与大得多的参考图形大全的子集进行比较。
在第二阶段,图像匹配系统102可以执行验证分析来识别从所述候选参考图像组中选择的最终匹配图像。在该阶段,图像匹配系统102可以使用取向信息来改进它的查询图像与各个参考图像的成对比较。
然而,在其他场景和实现方式中,图像匹配系统102可以消除基于位置的范围界定和/或基于取向的处理的使用。通过省略基于位置的范围确定,例如,图像匹配系统102 可以在索引系统108中表示的整组的参考图像上执行匹配。
图2示出图1的匹配功能104的一种实现方式。该匹配功能104使用图像匹配算法(将在下文阐述)使查询图像匹配参考图像的集合。这些图像匹配算法通过图示而非限制来阐述;即,其他实现方式可以采取其他算法。作为另一种方式,索引管理功能106的某些方面还可以合并图2所示的一些功能。自上而下实现该功能,所述匹配功能104首先将兴趣点检测器模块202应用到查询图像。该兴趣点检测器模块202识别查询图像中的兴趣点。例如,该兴趣点检测器模块 202可以使用任何技术(比如通过应用拉普拉斯算子兴趣点检测器等)识别查询图像中的角落和/或斑点。非量化特征提取模块204然后识别与兴趣点相关联的图像特征。如本文所使用的特征是指用于典型地与最初原始图像内容相比以更简明且有用的形式表征图像的一部分的任何说明信息。例如,该非量化特征提取模块204可以识别每个兴趣点周围的像斑。该非量化图像特征提取模块204然后可以应用任何特征提取技术来将所述像斑表示为图像特征。尺度不变特征变换(SIFT)技术是一种这样的方法其可以用于形成图像特征。SIFT 将方形像斑细分成4x4个同样大小的区域,并且然后为每个区域计算图像梯度的直方图。 SIFT技术针对所述图像区域产生1 维图像特征。由非量化特征提取模块204产生的图像特征被称为非量化图像特征,因为它们的维度(例如简明)还没有以接下来要描述的方式进一步减少。此外,在随后处理特征之前,各种技术可以可选地用于减少特征的维数,比如主成分分析(PCA)技术。量化特征生成模块206对非量化图像特征进行操作以产生量化的图像特征。在一种情况下,该量化的图像特征表示将非量化图像特征简化成整数描述符。执行该简化的一种方式是使用词汇树,如在例如David Nist6r等人的“Salable Recognition with a Vocabulary Tree, ” Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2006, pp. 2161-2168 中所述。在建立阶段,通过接连地聚集(cluster)代表性的非量化图像特征大全来产生词汇树,以产生节点的分层树(表示群中心)。数据存储器208可以存储词汇树的表示。该词汇树此后提供用于将整数分配给非量化图像特征的映射机制。该建立阶段还涉及创建反向索引。该反向索引将可能的量化特征映射到包含这些量化特征的参考图像。该索引系统108 (图1所示的)可以将因此产生的反向索引存储在数据存储器210 (图2所示的)中。在图2所示的搜索操作的上下文中,量化特征生成模块206使用词汇树将非量化特征(其已由非量化特征提取模块204生成)映射成量化特征。同样,在一种实现方式中该量化特征可以对应到整数。基于词汇的匹配模块212随后使用该量化特征(与查询图像相关联)作为查找信息以寻找一组潜在相关的参考图像。为了这样做,基于词汇的匹配模块212 询问(consult)数据存储器210中保持的反向索引。实际上,量化特征生成模块206将非量化图像特征转换成“视觉词语”,就像文本文档包含文本词语一样。基于词汇的匹配模块 212然后基于该视觉词语例如通过将查询图像中的视觉词语与参考图像中的视觉词语进行比较而对参考图像执行基于索引的搜索。图2还指示将位置信息送入(feed into)基于词汇的匹配模块212。这意味着基于词汇的匹配模块212可以可选地以上述方式执行基于位置的范围界定。即,取代将查询图像与所有参考图像进行比较,基于词汇的模块212可以将查询图像与仅与相关包围区域 118所关联的那些参考图像进行比较。同样,假设由索引系统108保持的索引信息提供相关位置信息,并且该位置信息表示可以进行匹配的额外字段。基于词汇的匹配操作的输出表示按照在该操作期间确定的分数进行排列(rank)的一组候选参考图像。上述系列操作还对应于上述第一阶段处理。
在第二阶段处理中,验证模块214执行附加的验证分析以确定每个候选参考图像是否确实是查询图像的可行匹配。验证模块214可以执行用于执行该操作的任何技术或技术的组合。在一种情况下,验证模块214可以通过进行查询图像与每个候选参考图像的逐点的兴趣点比较来执行该操作。
在另一种方法中,验证模块214可以基于在共同悬而未决的且共同转让的2009年 6月4日提交的发明人为Michael Kro印f 1等人的题为“Geocoding by Image Matching” 的美国专利申请序列号12/478,569和/或2010年5月20日提交的发明人为Eyal Ofek 等人的题为 “Spatially Registering User Photographs” 的美国申请序列号 12/783,598 中描述的技术执行验证分析。这两个申请各自整体地通过引用合并于此。
例如,假设验证模块214处于比较查询图像与一个特定候选参考图像的过程中。 它可以将与查询图像相关联的最初的非量化图像特征细分为多个取向面元(bin),例如每个面元具有5度宽。验证模块214然后可以将每个面元中的非量化特征与不同于面元的取向界限(limit)不超过规定公差τ的参考图像中的非量化特征匹配。已被收集的取向信息可以进一步改进该匹配过程,例如通过提供关于查询图像相对于参考图像的取向的纠正澄清来改进。章节B提供了关于取向信息的使用的附加细节。
此外,验证模块214可以应用几何模型以将查询图像中的点映射到参考图像中对应的点。例如,验证模块214可以应用基于单应(homography)的模型,其将查询图像中的每个点变换为参考图像中的对应点。在一种方法中,已知的随机采样一致性(RANSAC)算法可以用于估计单应性。该分析允许验证模块剔除不可能表示查询图像的有效匹配(例如,因为它们不符合由验证模块214应用的几何模型)的参考图像。
在又一种操作中,验证模块214可以利用从单应性分析搜集的位置信息增加查询图像和参考图像中的非量化特征。例如,验证模块214可以将查询图像中的非量化特征映射到被投影到参考图像中时关联的兴趣点的位置。查询图像中的非量化特征然后可以被增加以包括对应于参考图像中识别的投影位置的位置信息。此外,查询图像中的非量化特征可以基于参考图像中关联兴趣点的位置而被增加。验证模块214然后可以基于增加的非量化图像特征重复其匹配分析。
在一种情况下,验证模块214可以向它分析的每个参考图像分配匹配分数。该匹配分数标识查询图像与参考图像之间的相似程度。验证模块214可以使用不同的方法生成这种分数。在一种情况下,该匹配分数对应于对于RANSAC操作的多个内点(inlier)。内点是指查询图像与参考图像之间的匹配兴趣点。
在本文使用的术语中,验证模块214输出一组最终匹配图像。该最终匹配图像是已被确定为以相对较高的置信度(例如没有限制,在一种情况下为0. 995或更高)匹配查询图像的那些候选参考图像。在一种应用中,高置信度匹配过程的使用改进了由关系管理模块112保持的关系信息的完整性(例如,精确度)。
前进到图3,该图示出用于创建(图1的)索引系统108使用的索引信息的索引生成模块302。该索引生成模块302是图1的索引管理功能106的组件。该索引生成模块302 可以在它适合将新参考图像大全转换成可搜索的索引信息时以大量(bulk)索引生成模式被访问(call on)。
在一种实现方式中,索引生成模块302以大量索引生成模式应用(图2的)非量化特征提取模块204以基于所述新参考图像组生成非量化特征。索引生成模块302然后使用 (图2的)量化特征、例如利用词汇树生成模块206生成所述参考图像组的量化特征。在上述针对所述参考图像组的过程中提取的该信息集合被称为组块(chunk)。更特别地,在一个实例中,组块可以包括两个文件。第一文件可以包含在第一阶段处理中用于执行快速匹配的参考图像的所有量化特征。第二文件可以包含用于执行验证分析的非量化图像。第二文件还可以包括关于参考图像的元数据。该元数据可包括与参考图像关联的标签。该元数据还可包括将索引信息的实例(instances)映射到对应的参考图像本身(例如,其可以存储在数据存储器110中)的链路信息。在本文所使用的术语中,涉及特定参考图像的索引信息的每个实例被称为图像信息条目,也被称为图像签名。因此,该组块包含一组图像信息条目(例如,一组图像签名)。图4提供了关于索引系统108的一种实现方式的附加信息。在一种情况下,索引系统108包括索引服务器的集合。该索引服务器的集合又包括不同索引服务器池,比如服务器池402、服务器池404等。每个服务器池又可以包括多个索引服务器。特定池内的每个索引服务器包括整个索引的相同(冗余)部分(或“切片”)。因此,索引服务器的任何特定列 (例如,列406、408等)提供整个索引的表示。这是因为列中提供的切片总体上构成整个索引。在所述大量索引生成模式中,索引生成模块302可以将新创建的组块转发到特定服务器池。该池中的索引服务器然后将新接收的组块与由该服务器池保持的索引切片进行整合。可替代地,索引生成模块302可以使用不就要被描述的“喷射”方法将组块中的图像信息条目分配给多个索引服务器。在操作的搜索阶段,前端模块410接收查询图像。然后,它提取非量化特征(用于验证分析)和量化特征(用于快速的基于索引的词汇匹配)。在图2的上下文中,前端模块410 执行兴趣点检测器模块202、非量化特征提取模块204和量化特征生成模块206的功能。前端模块410然后将这些特征转发给每个服务器池的索引服务器,比如索引系统 108的特定列中的索引服务器。被访问的每个索引服务器然后执行由基于词汇的匹配模块 212提供的基于词汇的匹配和由验证模块214提供的验证分析。前端模块410然后可以从已被调用的索引服务器接收最终匹配图像的指示。前端模块410然后可以将搜索结果转发给进行查询的用户(或其它代理)。在一种情况下,用户可以经由任意类型的网络412与前端模块410交互,所述网络比如局域网、广域网(例如,因特网)、点对点连接或其组合。前进到图5,该图示出索引更新模块502,其是图1的索引管理功能106的另一个组件。在实时索引更新模式中,索引更新模块502基于用户提交的查询图像将新参考图像添加到索引系统108。更特别地,在一种实现方式中,倘若该查询图像匹配至少一个参考图像,则图像匹配系统102被配置成立即将该查询图像添加到索引系统108。然后,前一个查询图像有效地变成新参考图像。在这样做时,图像匹配系统102形成了一个反馈回路(因为在成功匹配已被执行之后查询图像被整合到索引系统108中)。在可替代方案中,假设查询图像不匹配任意参考图像。在一种实现方式中,图像匹配系统102不将该查询图像添加到索引系统108。然而,其他实现方式可能以不同程度放宽该规则。例如,另一种实现方式可以将查询图像添加到索引系统108,而不管它是否匹配由索引系统108表示的任何现有参考图像。更精确地讲,索引更新模块502不是将查询图像本身添加到索引系统108,而是将涉及查询图像的图像信息添加到索引系统108。如上文所述,涉及特定查询图像的图像信息被称为图像信息条目。该信息可以描述查询图像中的特征、与查询图像相关联的元数据等等。在实时索引生成模式中,图像匹配系统102已经生成要被添加到索引系统108的每个图像信息条目(例如,因为该信息已经针对图像在其先前被作为查询提交和处理时被生成)。通过该介绍,图5的各个组件将自上而下地描述,接收模块504接收要被添加到索引系统108的新图像序列的图像信息条目。如上所述,这些图像可以对应于已被用户提交的查询图像。分配模块506将进入的图像信息条目分配给图像桶(例如508、510、512等)的集合。该图像桶表示用于存储图像信息条目直到它们被转发到相应的索引服务器进行处理的缓冲器。更特别地,假设存在三个图像桶。分配模块506可以将进入的图像信息条目以循环方式“喷射”到图像桶,例如使得第一图像信息条目被发送到图像桶1,第二图像信息条目被发送到图像桶2,第三图像信息条目被发送到图像桶3,第四图像信息条目被发送到图像桶1,等等。该处理方式的潜在益处将在下文中解释。转发模块514分析图像桶中的积累的图像信息条目并且确定任何图像桶是否达到阈值数量的条目。如果是,则转发模块514可以将其中所包含的图像信息条目的集合转发到一个或多个对应的索引服务器。更特别地,每个图像桶与一个或多个特定索引服务器相关联。例如,图像桶508与一个或多个索引服务器516相关联,图像桶510与一个或多个索引服务器518相关联,以及图像桶512与一个或多个索引服务器520相关联。因此,例如, 转发模块514将图像桶508中的图像信息条目转发到一个或多个索引服务器516。在接收图像信息条目时,索引服务器然后对这些项目进行操作以将它们整合到它们的索引信息的特定切片。根据一种说明性场景,假设被连续接收的至少一些图像信息条目可以对应于连续捕获的图像。例如,考虑以下情况用户在度假中并且对特定地标拍摄若干照片。可以预期这套照片具有相似的图像内容。分配模块506通过将这些连续捕获的图像分配给不同的图像桶(这又意味着连续捕获的图像最终将被分配给不同的索引服务器)来操作。接下来,假设用户稍后尝试使涉及相同地标的查询图像与由索引系统108表示的参考图像(其中一些对应于地标)相匹配。图4的前端模块410将把该新查询图像路由到总的来说表示整个索引的索引服务器群组。一些索引服务器将基于查询图像与它们的参考图像的相应子集的比较来识别匹配查询图像的候选参考图像。一些搜索服务器可能没有找到任何候选参考图像。那些找到匹配的索引服务器然后被分派的任务为负责查询图像与每个候选参考图像的成对比较(在第二验证阶段中),这在计算上是昂贵的操作。通过向不同的索引服务器分配不同的地标相关的参考图像,图5所示的功能将昂贵的验证分析以有效方式分配给不同的索引服务器。根据另一个说明性特征,转发模块514可以定义将触发转发操作的图像信息条目的阈值数量以便提供索引信息的快速更新。快速更新的概念可以以如下相关措辞表达。假设用户在度假中再次拍摄地标的若干照片。在一种情况下,转发模块514以足够快的速度 (pace)执行转发,使得到用户捕获并提交第二查询图像的时候第一查询图像被添加到索引系统108。在一种特定实现方式中,更新操作可以以少于1分钟执行。在另一种实现方式中,更新操作可以以少于30秒执行,等等。这些更新频率是说明性的;其他环境可以采用其他(更大或更小)的更新频率。一般地,转发模块514选择将引起期望的更新频率的阈值数量;更新的速度随着阈值数量的减小而增加。在一种仅代表性环境中,转发模块514可以将阈值数量设置在100个条目。
在本文所使用的术语中,索引更新模块502被称作执行近实时更新。章节B描述了可以影响(leverage)近实时更新的不同的使用场景。
图6示出索引更新模块602的另一种实现方式。该版本的功能以上述针对图5所解释相同的方式操作,其中具有下述例外。除了基于桶的更新机制之外,接收模块504将每个接收的图像信息条目转发到临时索引服务器管理模块604。该临时索引服务器管理模块 604又立即将图像信息条目转发到临时索引服务器606。
然后,在搜索操作期间,前端模块410将(基于查询图像的)搜索请求输送(fan)到图4所示的非临时索引服务器,连同图6所示的临时索引服务器606。每个被调用的索引服务器将查询图像与整个索引的其特定切片所关联的特定参考图像进行比较。在临时索引服务器606的情况下,它将查询图像与表示新接收的参考图像的一组(a set)进行比较。因此,图像匹配系统102可以使用临时索引服务器606来非常快速地将新参考图像添加到索弓I fe息O
在一种实现方式中,临时索引服务器管理模块604可以在规定的时间量之后移除已被添加到临时索引服务器606的图像信息条目。然而,这将不会危害图像信息条目的可用性,因为相同的图像信息条目已经以上述相对于图5描述的方式可推测地向下滴流到非临时索引服务器。因此,在规定的一段时间之后,新图像信息条目可能已经被非临时索引服务器表不。
在一种情况下,临时索引服务器606以与任何其他索引服务器相同的两阶段方式执行关于查询图像的搜索,例如通过首先使用反向索引基于量化特征执行匹配且然后基于非量化特征执行成对的后验证。在另一种实现方式中,临时索引服务器606可以恰好在由处于用位置信息定义的位置范围内的临时索引服务器606表示的所有图像上执行次级成对搜索。如果使用该实现方式,不需要创建反向索引(相对于由临时索引服务器606表示的参考图像)。处理过程中的该修改又可以加快使新参考图像可用于被搜索的速度(例如,在一种实现方式中,使该图像在小于一秒内可用)。它也使搜索操作本身更精简。
图7示出由图1的关系管理模块112保持的图像关系信息的一部分。该关系信息提供表示参考图像之间关联性的连接信息。该关系管理模块112可以从各种源获得关于各图像的关联性的信息。例如,关系管理模块112可以基于匹配功能104执行的匹配分析来确定两个或多个图像是相关的。此外,关系管理模块112可以基于与参考图像相关联的元数据确定两个或多个图像是相关的。例如,匹配功能104可以识别西雅图的海鲜市场的两个照片涉及相同的旅游地标。除该分析外,用户可以用诸如“海鲜市场”等之类的相似标签注释这些照片。该关系管理模块112可以以任意类型的数据结构(比如图表)存储这些类型的关系。
关系管理模块112可以受益于以下在下一章节中阐述的方式的近实时更新。
B.说明性过程剩余附图示出解释图1的图像匹配系统102的一种操作方式的说明性过程和所附实例。由于已经在章节A中解释了图像匹配系统102的一种操作方式,所以在该章节中将以总结方式阐述某些特征。从图8开始,该图示出图1的图像匹配系统102的一种操作方式的概观。在块802 中,图像匹配系统102接收查询图像。在块804中,图像匹配系统102接收可推测地标识捕获图像所在的位置的位置信息。该位置信息可以由位置确定机制自动提供和/或由用户手动提供。在块806中,图像匹配系统102在与查询图像相关联的位置周围标识包围区域。尽管未被描述,图像匹配系统102还可以接收指示捕获查询图像的设备的取向的取向信息。在块808中,图像匹配系统102标识至少一个与查询图像匹配的最终匹配图像。如上所解释,该匹配操作可以被限于与包围区域相关联的参考图像的子集。图11 (下文所描述的)示出一种用于执行块808中的匹配的技术。块808结束于将搜索结果返回到用户。该搜索结果可以提供最终匹配图像。此夕卜,图像匹配系统102可以例如通过在最终匹配图像中适当区域的周围绘制边界来可选地加亮在最终匹配图像中与块806中识别的包围区域匹配的区域。图像匹配系统102还可以可选地输出补充信息,例如与最终匹配图像相关联的元数据(例如,标签、标注等)。用户可以可选地基于由搜索结果传递的内容执行附加搜索。例如,用户可以点击最终匹配图像中的超链接标签以获取与该标签相关联的附加内容。在块810中,图像匹配系统102更新(由索引系统108提供的)索引以包括在块808 中标识的最终匹配图像。如虚线所示,该更新操作可以可选地被足够快地执行,使得在相同图像捕获会话中提交的后续查询图像可以与在前查询图像(其现在被认为是参考图像之一)匹配。该反馈规定提供增强的学习机制。在块812中,图像匹配系统102可以标识由块808中执行的匹配揭示的图像之间的连接。图像匹配系统102可以将这些连接添加到由关系管理模块112保持的关系信息。图9和10示出用户可以在相同查询会话内提交的查询图像序列。更特别地,假设用户拍摄公寓大楼的照片。用户以拍摄公寓大楼的路边照片(在时间tl处)为开始。然后, 用户进一步接近公寓大楼以拍摄标记902 (即“橡木法院”)的特写照片(在时间t2)中。然后,用户通过拍摄社区邮箱904连同前面的办公室906的照片(在时间t3处)进一步向前发展。用户(use)然后进入前面办公室906的前门1002 (在时间t4处)。用户然后打开前面办公室的前门1002以拍摄前面办公室的大厅的照片(在时间t5处)。在一种实现方式中,图像匹配系统102足够快地执行匹配,以使得在时间tl处捕获的查询图像到用户在时间t2处捕获查询图像的时候被添加到索引系统108,等等。以此方式,可以将时间t2处的查询图像与在时间tl处的查询图像匹配(因为两个照片具有类似的内容)。关系管理模块112可以通过形成将公寓楼的街边照片(在时刻tl拍摄的)与前面办公室的内部照片(在时刻t5拍摄的)相连接图像的无缝链来影响上述行为。现在假设,在不同的场景中,用户先前已经拍摄了前面办公室内部的若干照片。但是,起初,关系管理模块112可能不能将这些图像链接到前面办公室的外部图像,因为建立该联系(nexus)的查询图像尚未被提交。然后,假设用户拍摄图10所示的特定照片。这些新照片可以有效地将这套外部照片与这套内部照片链接。
图7以另一种方式图示了上述概念。假设这里所示的关系信息揭示了与相关图像的两个群(cluster)相关联的两个主题。但是,起初,这两个主题之间不存在链接。然后, 假设用户拍摄在这两个主题之间建立联系的桥接照片I,。此后,关系管理模块112可以警示用户这两个主题之间的潜在连接。
上述(关于图9和10)的场景表示本文所述技术的一个或许多应用。在另一种情况下,图像匹配系统102可以结合由华盛顿雷蒙德的微软公司提供的Wiotosynth 技术来使用。该技术进一步与2006年7月25日提交的发明人为Keith Snavely等人的、题为“Navigating Images Using Image Based Geometric Alignment and Object Based Controls"的共同悬而未决的美国申请序列号11/493,436相关。在该技术中,用户可以拍摄特定场景的多个照片;Wiotosynth 技术然后生成该场景的合成的三维表示。
在另一种情况中,查询图像可以结合增加的现实技术使用。这种技术实时为查询图像增加了元数据和被认为与查询图像有关的其他内容。例如,使用该技术,用户可以将他或她的相机指向特定地标并且快速接收解释该地标的信息(例如覆盖在查询图像上)。
在另一种情况中,用户可以使用图像匹配系统102执行“离线的”图像匹配。在该场景中,用户可以识别来自任何远程和/或本地数据存储器的任何前期捕获的(或生成的) 查询图像。用户然后可以使用图像匹配系统102将该查询图像与任何远程/或本地数据存储器中的参考图像的任意集合进行比较。换言之,图像匹配系统102不限于图1所示的基于地理匹配的类型(在基于地理匹配的类型中,用户捕获物理场景的查询图像)。
而且,在上面呈现的许多实例中,用户的兴趣在于找到表示查询图像与参考图像大全之间的最佳匹配的一个或多个参考图像。在另一种场景中,用户可能更感兴趣的是,列举包含匹配查询图像的对象的所有参考图像。例如,用户可以请求匹配功能104识别包含诸如特定标记、标志、建筑物设计、公路图案等之类的特定特征的所有参考图像。匹配功能 104通过使用其反向索引可以提供该类型的搜索。即,反向索引可以将(例如与特定道路标记相关联的)视觉词语与包含该视觉词语的参考图像列表(例如,包含类似道路标记的对象的所有参考图像)相关联。
进展到图11,该图示出表示用于执行图像匹配的一种技术的过程1100。在块1102 中,图像匹配系统102接收新查询图像。在块1104中,图像匹配系统102基于查询图像生成特征,其包括非量化的图像特征和量化的图像特征。在块1106中,图像匹配系统102使用(基于量化特征的)快速的基于词汇的匹配识别一组候选参考图像。在块1108中,图像匹配系统102使用验证分析来识别来自所述候选参考组的一个或多个最终匹配图像,例如通过剔除不满足必需的置信度的匹配。
图12示出已经基于图像捕获设备的两个不同取向捕获的图像。即,第二取向相对于第一取向偏离。更特别地,在该实例中,用户已经拍摄具有规则结构的对象的查询图像, 比如具有规则的窗排列的建筑物。在该环境下,第二图像中的规则结构相对于第一查询图像中的规则结构显现出“倾斜”。在该实例中,取向信息反映单一自由度,但是如章节A所叙述,取向信息还可以相对于多个自由度来测量。
图13示出可以用于影响上述类型的取向信息的过程1300。在块1302中,验证模块214可以接收与查询图像相关联的取向信息。在块1304中,验证模块214可以使用取向信息改进查询图像与每个单独的候选参考图像的匹配。例如,如前所述,验证模块214可以尝试将查询图像中的图像内容与参考图像中相似取向的图像内容匹配。取向信息允许该匹配以更精确的方式执行,例如通过有效地将与图12所示的场景相关联的捕获相关的偏离归一化。图14示出表示图5的索引更新模块502 (还有图6的索引更新模块602)的一种操作方式的过程1400。在块1402中,索引更新模块502接收对应于要被添加到索引系统 108的新参考图像的图像信息条目。这些新参考图像可以对应于被认为匹配其他参考图像的在前查询图像。在块1404中,索引更新模块502将连续接收的图像信息条目以循环方式分配到图像桶。在块1406中,索引更新模块502确定任何图像桶是否包括已经达到预定数量的条目的桶组。如果是,在块1408中,索引更新模块502将该桶组发送到对应的索引服务器。在块1410中,接收索引服务器然后将所接收的桶组添加到其索引信息的部分。图15示出表示图6所示的修改的过程1500。该过程1500可以结合图14所示的基于桶的更新来执行。在块1502中,索引更新模块602接收对应于要被添加到索引系统108的新参考图像的图像信息条目。在块1504中,索引更新模块602将图像信息条目分配到临时索引服务器606,这这里它可用于立即匹配未来的查询图像。在块1506中,在规定时间后,索引更新模块602从临时索引服务器606中移除该图像信息条目。C.代表性的处理功能
图16阐述了可以用于实现上述功能的任意方面的说明性电气数据处理功能1600。该电气数据处理功能1600表示物理的和有形的机器。参照图1和2,例如,图16所示的处理功能1600的类型可以用于实现环境100的任何特征,比如图像匹配系统102。在一种情况下,处理功能1600可以对应于包括一个或多个处理设备的任意类型的计算设备。处理功能1600可以包括易失性和非易失性存储器(比如RAM 1602和ROM 1604) 以及一个或多个处理设备1606。处理功能1600可选地还包括各种介质设备1608,比如硬盘模块、光盘模块等等。当处理设备1606执行由存储器(例如RAM 1602,ROM 1604或其它) 保持的指令时,处理功能1600可以执行上文标识的各种操作。更一般地,指令和其它信息可以存储在任何计算机可读介质1610上,该计算机可读介质包括但不限于静态存储器存储设备、磁存储设备、光学存储设备等等。术语计算机可读介质还包含多个存储设备。在所有情况下,计算机可读介质1610表示某种形式的物理和有形机构。处理功能1600还包括用于(经由输入模块1614)从用户处接收各种输入并用于 (经由输出模块)向用户提供各种输出的输入/输出模块1612。一种特定输出机构可以包括呈现模块1616和关联的图形用户接口(⑶1)1618。处理功能1600还可以包括用于经由一个或多个通信管道1622与其他设备交换数据的一个或多个网络接口 1620。网络接口 1620 可以包含用于与无线通信基础设施通信的无线通信功能。一个或多个通信总线16M将上述各组件通信地耦合在一起。尽管已经以特定于结构特征和/或方法动作的语言描述了上述主题,但是应当理解所附权利要求中限定的主题不必限于上述特定特征或动作。相反,上述特定特征和动作作为实现权利要求的实例形式被公开。
权利要求
1.一种使用物理图像匹配系统(102)执行基于查询图像的搜索的方法,包括 接收(802)查询图像;接收(804)指示与查询图像相关联的位置的位置信息; 基于位置信息识别(806)与该位置相关联的包围区域; 使用索引识别(808,1106)匹配查询图像和包围区域的一组候选参考图像; 执行(808,1108)验证分析,以识别从候选参考图像中选择的、成功匹配查询图像的至少一个最终匹配图像;以及更新(810)索引以包括分别对应于成功匹配查询图像的所述至少一个最终匹配图像的至少一个图像信息条目。
2.权利要求1的方法,其中对候选图像组的所述识别包括 基于查询图像生成量化特征;以及使用量化特征连同索引来识别候选参考图像组。
3.权利要求1的方法,其中所述执行验证分析包括 基于查询图像生成非量化特征;以及通过执行查询图像与候选参考图像组的每一个的成对比较,使用非量化特征识别所述至少一个最终匹配图像。
4.权利要求3的方法,进一步包括接收指示捕获查询图像的设备的取向的取向信息;以及使用该取向信息来改进通过所述验证分析执行的匹配。
5.权利要求1的方法,其中在多个查询图像被捕获的捕获会话中捕获查询图像,并且其中所述更新发生在捕获所述多个查询图像之中的下一个查询图像之前。
6.权利要求1的方法,其中,对于特定的最终匹配图像,所述更新包括 将对应于最终匹配图像的图像信息条目分配给从多个图像桶选出的图像桶; 确定该图像桶是否已经接收到包括预定数量的图像信息条目的桶组;如果该图像桶已经接收到所述预定数量的图像信息条目,则将该桶组转发给关联的至少一个索引服务器;以及由所述至少一个索引服务器基于所述桶组更新索引的部分。
7.权利要求1的方法,进一步包括更新用以描述查询图像与所述至少一个最终匹配图像之间的至少一个关系的关系信息。
8.权利要求1的方法,进一步包括使用临时索引服务器接收一组新参考图像,其中该临时索引服务器执行查询图像和与包围区域相关联的所述新参考图像组中的任何参考图像之间的成对验证分析,而不使用索引。
9.一种由物理数据处理功能(1600)实现的索引更新模块(502)包括接收模块(504),其被配置成接收对应于要被添加到索引的多个对应的新图像的图像信息条目;分配模块(506),其被配置成将图像信息条目分配到图像桶(508,510,512); 转发模块(514),其被配置成确定任何图像桶(508,510,512)是否已经接收到包括预定数量的图像信息条目的桶组;如果任何图像桶(508,510,512)已经接收到预定数量的图像信息条目,则将由图像桶 (508,510,512)提供的桶组转发到至少一个关联的索引服务器(516,518,520);以及所述至少一个关联的索引服务器(516,518,520)基于所述桶组更新索引的一部分。
10. 一种用于存储计算机可读指令的物理的和有形的计算机可读介质(1610),该计算机可读指令在被一个或多个处理设备(1606)执行时提供图像匹配系统(102),该计算机可读指令包括逻辑(802),其被配置成接收查询图像;逻辑(808),其被配置成使用索引基于所述查询图像识别至少一个最终匹配图像,每个最终匹配图像与图像信息条目相关联;以及逻辑(810),其被配置成针对每个最终匹配图像更新所述索引以包括图像信息条目, 该查询图像在多个查询图像被捕获的捕获会话中被捕获,并且其中配置成更新的所述逻辑(810)被配置成在捕获所述多个查询图像中的下一个查询图像之前更新索引。
全文摘要
描述了用于寻找匹配查询图像的参考图像的图像匹配系统。该图像匹配系统通过将该匹配限于包围区域而以快速方式执行该操作;该包围区域又可以与可能已捕获查询图像的位置相关联。此外,该图像匹配系统提供加快将新参考图像添加到图像索引的各种机制,由此提供图像匹配系统的增强的学习机制。
文档编号G06F17/30GK102521365SQ20111042305
公开日2012年6月27日 申请日期2011年12月16日 优先权日2010年12月16日
发明者B.H.阿格拉-阿卡斯, D.Z.尼斯特, D.巴赫米勒, E.奥菲克, M.克勒普夫尔, S.V.费恩, V.库古诺夫斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1