首页> 中国专利> 使用图像内容来帮助在全景图像数据中导航

使用图像内容来帮助在全景图像数据中导航

摘要

本发明涉及使用图像内容来帮助在全景图像数据中导航。在一个实施例中,一种计算机实现的用于在全景图像数据中导航的方法包括:(1)确定射线和虚拟模型的交点,其中射线自图像的照相机视口延伸,以及虚拟模型包括多个立面平面;(2)检索全景图像;(3)将全景图像定向为朝向交点;以及(4)显示定向的全景图像。

著录项

  • 公开/公告号CN103824317A

    专利类型发明专利

  • 公开/公告日2014-05-28

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN201310473478.1

  • 申请日2009-02-26

  • 分类号G06T15/06(20110101);G06T19/00(20110101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人周亚荣;安翔

  • 地址 美国加利福尼亚州

  • 入库时间 2024-02-20 00:02:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-02-13

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06T15/06 变更前: 变更后: 申请日:20090226

    专利权人的姓名或者名称、地址的变更

  • 2017-08-08

    授权

    授权

  • 2014-06-25

    实质审查的生效 IPC(主分类):G06T15/06 申请日:20090226

    实质审查的生效

  • 2014-05-28

    公开

    公开

说明书

分案说明

本申请属于申请日为2009年2月26日的中国发明专利申请 No.200980114885.5(国际申请号为PCT/US2009/001216)的分案申请。

技术领域

本发明涉及在全景图像之间导航。

背景技术

存在包括被地理编码到地图上的位置的多个全景图像的计算机系 统。为了在邻近全景图像之间导航,用户可以选择地图上的按钮,然 后新的邻近全景图像可以被加载并显示。尽管该技术是有益的,但是 从一个图像跳到下一个图像对用户来说会分散注意力。因此,需要新 的导航方法和系统。

发明内容

本发明涉及使用图像内容来帮助在全景图像数据中导航。在第一 实施例中,一种用于在全景图像数据中导航的计算机实现的方法包括: (1)确定射线(ray)和虚拟模型的交点,其中射线自图像的照相机视 口(viewport)延伸,以及虚拟模型包括多个立面平面(facade planes); (2)检索全景图像;(3)将全景图像定向为朝向交点(orienting the  panoramic image to the intersection);以及(4)显示定向的(oriented) 全景图像。

在第二实施例中,一种用于创建并显示注释的方法包括:(1)从 多个二维图像创建虚拟模型;(2)确定射线和虚拟模型的交点,其中 射线自第一图像的照相机视口延伸;(3)检索全景图像;(4)将全 景图像定向为面向交点;以及(5)显示全景图像。

在第三实施例中,一种系统创建并显示对应于虚拟模型的注释, 其中虚拟模型是从多个二维图像创建的。该系统包括导航控制器,其 确定自第一图像的照相机视口延伸的射线和虚拟模型的交点、检索第 三全景图像以及将第三全景图像定向为面向交点。虚拟模型包括多个 立面平面。

在下面参照附图详细描述本发明的进一步实施例、特征和优势以 及本发明的各种实施例的结构和操作。

附图说明

合并于此并且形成说明书的一部分的附图图示了本发明,并且与 描述一起进一步用于解释本发明的原理,并且使相关领域的技术人员 能够制作并使用本发明。

图1是图示了根据本发明的一个实施例的使用图像内容来帮助在 全景图像数据中导航的图。

图2A-D是更详细地示范了帮助在全景图像数据中导航的方式的 图。

图3是图示了根据本发明的一个实施例的用于在全景图像数据内 导航的方法的流程图。

图4是图示了根据本发明的一个实施例的用于从图像数据创建虚 拟模型的方法的流程图。

图5A-C是图示了根据图4的方法找到匹配特征的图。

图6-7是图示了根据图4中的方法基于匹配特征对来确定点的图。

图8A-B是图示了根据图4的方法确定的多个点的图。

图9A-C是图示了根据图4的方法基于多个点来确定表面的图。

图10是示出了根据本发明的一个实施例的用于使用虚拟模型来 在图像数据内导航的系统的图。

图11是示出了根据本发明的一个实施例的用于从图像数据创建 虚拟模型的系统的图。

元素首次出现的附图典型地由对应的参考数字中最左边的数字指 示。在附图中,相同的参考数字可以指示相同或功能上相似的元素。

具体实施方式

本发明涉及使用图像内容来帮助在全景图像数据中导航。在下文 的本发明的详细描述中,对“一个实施例”、“实施例”、“示例实 施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性, 但是每一个实施例可以不必包括该特定特征、结构或特性。而且,这 样的短语不必是指同一实施例。此外,当结合实施例描述特定特征、 结构或特性时,应认为,无论是否明确描述,与其它实施例结合来实 现这样的特征、结构或特性是在本领域技术人员的知识范围内。

如在此所描述的,本发明的实施例使用户能够使用图像内容来在 全景图像之间导航。在一个实施例中,创建表示图像内容的模型。用 户可以选择包含在第一全景图像中的对象。该对象的位置由用户的选 择到模型上的投影来确定。根据该位置来选择和/或定向第二全景图。 以这种方式,本发明的实施例使用户能够使用图像内容来在第一和第 二全景图之间导航。

图1是图示了根据本发明的实施例的使用图像内容来帮助在全景 图像数据中导航的图100。图100示出了建筑物114和树116。建筑物 114和树116的位置由虚拟模型112估计。虚拟模型112可以如下所述 是使用拍摄有建筑物114和树116的图像来生成的三维模型。街道102 在建筑物114和树116旁边伸展。

在街道102上的位置处示出了数个化身(avatar)(例如,汽车) 104、106、108和110。每一个化身104、106、108和110具有被地理 编码到化身在街道102上的位置的相关联的全景图像。全景图像可以 包括360度围绕化身的内容。然而,每次可以例如通过视口向用户显 示全景图的仅一部分。在图100中,向用户显示的全景图的部分由每 一个化身的朝向示出。化身104、106、108和110分别具有朝向124、 126、122、120。

化身104具有面向点118的朝向124。化身104的视口将显示被 地理编码到化身104的位置的全景图的一部分。在视口中显示的全景 图的该部分将包含点118。本发明的实施例使用虚拟模型112来从化身 104的位置导航到化身106、108和110的位置。

在下文中被称为转换车道实施例的本发明的第一实施例中,用户 可以在车道之间导航。转换车道实施例使用户能够从化身104的全景 图导航到化身106的全景图。化身106的全景图被地理编码到相似于 化身104的全景图但是位于街道102的不同车道的位置。由于全景图 被地理编码到不同的位置,所以如果化身104和化身106具有相同的 朝向,则其对应的视口将显示不同的内容。改变在视口中显示的内容 对用户来说会迷失方向。转换车道实施例使化身106定向为面向虚拟 模型112上的点118。以这种方式,在化身106的视口中显示的全景图 的部分包含与在化身104的视口中显示的全景图的部分相同的内容。 以这种方式,转换车道实施例使在车道之间的转换较少使人迷失方向。

在下文中被称为绕行(walk-around)实施例的本发明的第二实施 例中,用户可以从不同的视角更容易地查看对象。用户可以获得他/她 正绕对象步行的感觉。绕行实施例使用户能够从化身104的全景图导 航到化身108的全景图。化身108的位置可以例如由用户选择。例如, 用户可以通过选择在地图上的位置或按下在键盘上的箭头按钮来选择 化身108的位置。由于全景图被地理编码到不同的位置,所以如果化 身104和化身106具有相同的朝向,则其对应的视口将显示不同的内 容,并且在化身104的视口中显示的感兴趣的对象可能不在化身106 的视口中显示。绕行实施例使化身108定向为面向虚拟模型112上的 点118。以这种方式,在化身106的视口中显示的全景图的部分包含与 在化身104的视口中显示的全景图的部分相同的内容。结果,用户可 以从不同的视角更容易地查看对象。

在一个实施例中,可以向用户显示在化身104和化身108之间的 过渡。过渡可以示出用于在化身104和化身108之间的化身位置的中 间全景图。也可以将中间全景图定向为面向点118。

在下文中被称为点击进入(click-and-go)实施例的第三实施例中, 用户可以根据第一全景图的对象的位置导航到在新位置处的第二全景 图像。点击进入实施例使用户能够从化身104的全景图导航到化身110 的全景图。化身110的位置是对虚拟模型112上的点118来说最靠近 的可用全景图的位置。点118可以根据用户在第一全景图上的选择来 确定。

在实施例中,化身110可以具有面向点118的朝向120或不同的 朝向128。朝向128可以是街道102的朝向的朝向。

通过根据虚拟模型112上的点118来选择化身110,点击进入实 施例使用虚拟模型112来在全景图像之间导航。如下所述,在一个实 施例中,虚拟模型112使用全景图像的内容来生成。

在一个示例中,点击进入实施例可以使用户能够更近查看对象。 在该示例中,用户可以选择第一全景图中的对象,然后靠近该对象的 第二全景图被加载。此外,可以在视口中显示包含该对象的第二全景 图的部分。以这种方式,使用全景图像的内容来在全景图像之间导航 创建了更满意并且更少迷失方向的用户体验。

在一个实施例中,全景图查看器可以显示在化身104和化身108 之间的过渡。过渡可以显示用于在化身104和化身108之间的化身位 置的中间全景图。也可以将中间全景图定向到面向点118。

图2A-D是更详细地示范了帮助在全景图像数据中导航的方式的 图。

图2A是示出了可以如何生成诸如图1中的点118的在模型上的点 的图200。图200示出了建筑物262和树264。虚拟模型202表示建筑 物262和树264。模型202可以如下所详细描述使用图像内容来生成。 图200还示出了拍摄有建筑物262和树264的图像266。图像266可以 是从街面拍摄的通过视口向用户显示的全景图像的一部分。在图像266 上示出了点268。在诸如转换车道和绕行实施例的一些实施例中,点 268可以是图像266的中心。在诸如点击进入实施例的其它实施例中, 点268可以由用户使用诸如鼠标的输入设备来选择。

射线212自照相机视点(viewpoint)210延伸经过点268。在一个 示例中,照相机视点210可以是用来拍摄照片图像266的照相机的焦 点。在该示例中,在图像266和照相机视点210之间的距离为焦距270。

点204为射线212和虚拟模型202之间的交点。可以如在图2B-D 中所示使用点204来在街面全景图像之间导航。

图2B是示出了转换车道实施例的示例的图220。使用具有在街道 208上的位置214的图像来确定模型202上的点204和射线212。在图 2B中还识别了从靠近位置214但是位于街道208的不同车道的位置206 拍摄的全景图像。将具有位置206的全景图像定向为面向点204。

图2C是示出了绕行实施例的示例的图230。使用从位置214拍摄 的图像来确定模型202上的点204和射线212。可以例如由用户选择具 有位置232的全景图像。将具有位置232的全景图像定向为面向点204。

图2D是示出了点击进入实施例的示例的图250。使用具有位置214 的图像来确定模型202上的点204和射线212。选择具有位置252、靠 近位置204的全景图像。在一个示例中,点204可以如图2D中所示从 位置252与街道208正交。在另一个示例中,位置252可以从点204 与虚拟模型202正交。可以将具有位置252的全景图像定向为面向点 204或可以将具有位置252的全景图像定向为面向街道208的方向。

图3是示范了根据本发明的一个实施例的用于在全景图像数据内 导航的方法300的流程图。方法300以在步骤302定向第一全景图像 开始。在步骤304,沿第一全景图像的定向的方向延伸射线,如例如关 于图2A所述。还可以根据在全景图像上用户所选择的点来确定射线。 在步骤306,确定在射线和虚拟模型之间的交点。可以使用图像内容来 确定虚拟模型。

在实施例中,可以以数种方式使用交点来在全景图像之间导航。 例如,在转换车道或绕行实施例中,可以在步骤310选择第二全景图 像。在转换车道实施例中,第二全景图像具有与第一全景图像相似但 位于不同车道的位置。在绕行实施例中,可以例如由用户来选择第二 全景图像。在步骤316将第二全景图像定向为面向交点。在步骤316 后,方法300结束。

在点击进入实施例中,在步骤308,第二全景图像如关于图2D所 述可以是这样的:其靠近交点(例如,在交点的所选择或预定的距离 内)。在步骤314,可以将第二全景图像定向为面向交点,或可以将第 二全景图像定向到其它方向。例如,可以将第二全景图像定向到街道 的方向。在步骤314后,方法300结束。

图4是示范了根据本发明的一个实施例的用于从图像数据创建虚 拟模型的方法400的流程图。

方法400以步骤402开始。在步骤402,识别图像的特征。在一 个实施例中,从图像提取特征以用于随后的比较。将在下面关于图5A-B 更详细地描述这一点。在一个实施例中,所使用的图像是街面全景图 像,所述街面全景图像是沿着行进路线从彼此接近的位置拍摄的。

在步骤404,匹配在邻近图像中的特征。在一个实施例中,匹配 特征可以包括构建溢出树(spill tree)。将在下面关于图5C更详细地 描述这一点。

在步骤406,将特征的位置计算为例如在三维空间中的点。在一 个实施例中,通过使用如在步骤404中确定的匹配特征对,计算立体 三角来确定点。将在下面关于图6-7更详细地描述如何计算三维空间中 的点。步骤406的结果为点云。

在步骤408,基于在步骤406中计算的点云来估计立面平面。在 一个实施例中,步骤408可以包括使用自适应优化算法或最佳适应算 法。在一个实施例中,步骤408包括扫过(sweep)例如与如将在下面 关于图9描述的街道对准的平面。

在步骤410,基于街道的位置来估计街道平面。这些街道平面与 在步骤408中估计的立面平面一起用于形成虚拟模型,所述虚拟模型 对应于在多个二维图像中所示的对象。

图5A-C图示了如何根据方法400识别并匹配图像中的特征的示 例。

图5A描述了图像502和图像504。图像502和图像504例如表示 从不同视角的同一建筑物和树的两张照片。在一个实施例中,图像502 和图像504可以是街面全景图像的部分。可以从附近的位置但是以不 同的视角来拍摄两个图像502和504。

在一个实施例中,可以从附接有8个照相机的丛簇(a rosette of  eight cameras)的移动车辆拍摄图像502和504。所述8个照相机从不 同的视角同时拍摄8个图像。可以随后将所述8个图像拼接在一起以 形成全景图。图像502可以是来自所述8个照相机丛簇中的第一照相 机的未拼接的图像,所述第一照相机被定向为与车辆垂直。图像504 可以是在稍后的时间点期间拍摄的来自第二照相机的未拼接的图像, 所述第二照相机与第一照相机相邻。

图5B图示了具有根据方法400的步骤404识别/提取的代表性特 征的图像502和图像504。图像502包括代表性特征506、508和512。 图像504包括代表性特征510、514和516。虽然仅示出了6个代表性 特征,但实际上可以有为每一个图像识别和提取的成千上万的特征。

在一个实施例中,提取特征的步骤可以包括兴趣点检测和特征描 述。兴趣点检测根据条件来检测在图像中的点,并且优选地在图像变 化的情况下可再现,所述图像变化诸如在亮度和视角上的变化。每一 个兴趣点的邻域是特征。每一个特征由特征描述符表示。特征描述符 优选地是独特的。

在一个示例中,使用快速鲁棒特征(SURF)算法来从邻近图像提 取特征。例如,在2006年5月Proceedings of the Ninth European  Conference on Computer Vision(第九届欧洲计算机视觉会议的论文集) 中,Herbert Bay,Tinne Tuytelaars,Luc Van Gool的“SURF:Speeded Up  Robust Features(SURF:快速鲁棒特征)”中描述了SURF算法。SURF 算法包括兴趣点检测和特征描述方案。在SURF算法中,每一个特征 描述符包括向量。在一种实施方式中,向量可以是128维的。在图像 为从街面拍摄的全景图的一个示例中,SURF算法可以在每一个图像中 提取四到五千个特征,导致在大小上为一到二兆字节的特征描述符文 件。

图5C图示了匹配的提取特征。图5C描述了匹配520和匹配522。 匹配520包括特征512和特征514。匹配522包括特征506和特征516。 如在图5C中所表示的,不是在图像502中的每个特征都在图像504中 具有匹配特征,反之亦然。例如,由于特征508示出了在图像504中 被遮掩的树的一部分,所以在图像502中的特征508在图像504中没 有匹配特征。在另一个示例中,例如由于在特征识别上的不精确,所 以在图像504中的特征510在图像502中没有匹配。特征识别应当尽 可能精确。然而,由于在照明、朝向和其它因素上的变化,某种程度 的不精确是可能的。因为这个原因,需要补偿不精确的特征匹配方案。 将在下面描述示例特征匹配方案。

在一个实施例中,诸如特征512的每一个特征由特征描述符表示。 每一个特征描述符包括128维向量。可以通过找到在第一特征描述符 的向量和第二特征描述符的向量之间的欧几里得距离来确定在第一特 征和第二特征之间的相似度。

例如可以如下确定第一图像中的特征在第二图像中的特征中的匹 配。首先,从在第二图像中的特征中确定在第一图像中的特征的最近 邻域(例如,在128维空间中)。其次,从在第二图像中的特征中确 定在第一图像中的特征的第二最近邻域(例如,在128维空间中)。 第三,确定在第一图像中的特征和在第二图像中的最近邻近特征之间 的第一距离,并且确定在第一图像中的特征和在第二图像中的第二最 近邻近特征之间的第二距离。第四,通过以第一距离除以第二距离来 计算特征相似度比值。如果所述特征相似度比值低于特定阈值,则在 第一图像中的特征和在第二图像中的其最近邻域之间存在匹配。

如果特征相似度比值太低,则不能确定足够的匹配。如果特征相 似度比值太高,则存在太多的误匹配。在一个实施例中,特征相似度 比值可以在0.5和0.95之间并且包括0.5和0.95。

在一个实施例中,可以通过构建在第二图像中的特征的溢出树来 确定所述最近邻域和所述第二最近邻域。溢出树紧密逼近最近邻域, 并且有效地使用处理器资源。在被比较的图像为从街面拍摄的全景图 像的一个示例中,对于每一个图像对,可以有成百上千匹配的特征对。 对于每一个匹配的特征对,可以例如使用立体三角来确定在三维空间 中的点。

图6和7图示了使用三维立体三角基于匹配的特征来确定在三维 空间中的点的示例。在一个实施例中,这种技术例如用于实现方法400 的步骤406。为了确定在三维空间中的与匹配的特征对相对应的点,为 所述匹配的特征对构建射线,并且基于射线的交点来确定所述点。将 在下面更详细地描述这一点。

图6示出了说明如何形成射线的示例600。如图6中所示,可以 通过将射线从图像608的照相机视点602投影或延伸经过图像608的 特征604来形成射线606。在示例600中,照相机视点602对应于用来 拍摄图像608的照相机的焦点。在图像608和照相机视点602之间的 距离等于焦距610。

在形成用于匹配特征中的每一个的射线后,可以确定在三维空间 中的点。图7图示了描绘如何确定点的示例700。

在示例700中,示出了两个照相机丛簇702和704。在一个实施 例中,这两个照相机丛簇可以是相同的(例如同一照相机丛簇可以用 于在不同的位置和在不同的时间点拍摄图像)。每一个照相机丛簇702 和704包括具有匹配的特征的图像。在示例700中,照相机丛簇702 包括与照相机丛簇704的特征708相匹配的特征706。如图7中所示, 通过将射线710从照相机丛簇702的照相机视点延伸经过特征706来 形成第一射线710。类似地,通过将射线712从照相机丛簇704的照相 机视点延伸经过特征708来形成第二射线712。射线710和射线712的 交点为三维点714。在实施例中,例如,由于特征识别和匹配上的不精 确,射线710和712可能实际上并未在点714相交。如果射线710和 712实际上未相交,则可以确定这两个射线最靠近的线段。在这些情况 下,所使用的三维点714可以是线段的中点。

在实施例中,如上所述,对于每一个匹配的特征对重复由示例600 和700图示的步骤,以确定三维点云。

图8A示出了包括建筑物806和树808的三维空间的示例800。示 例800还包括街道810。在一个实施例中,可以从沿着街道810移动的 车辆拍摄建筑物806和树808的照片图像。可以从位置802拍摄第一 照片图像,而可以从位置804拍摄第二照片图像。

如在此所述,根据本发明的一个实施例,从第一和第二图像提取 特征。识别匹配特征,并且对于每一个匹配特征对,例如使用立体三 角来确定三维点。这产生三维点云,诸如在图8B中所图示的那些。图 8B图示了其中描述了三维点云852的示例850。

图9A-C图示了如何基于在三维空间中的多个点来确定立面表面 的示例。这个示例仅是说明性的,并且可以例如用于实现方法400的 步骤408。在其它实施例中,可以使用诸如最小二乘方或自适应优化算 法的最佳适应或回归分析算法来确定所述表面。自适应优化算法的示 例包括但不限于爬山算法、随机爬山算法、A星算法和遗传算法。

图9A描述了街道908和三维点云910。立面平面902与街道908 平行。在操作中,立面平面902从街道908沿轴向外平移。在向外移 动的每一个位置,求取在立面平面902的特定范围内的点的数量。在 图9A中,所述范围由虚线912和914示出。如图9A中所示,零点位 于虚线912和914之间。

图9B示出了从街道908沿轴向外平移的立面平面904。在图9B 中,立面平面904比在图9A中所示的立面平面902从街道908向外移 动了更大的距离。结果,有三个点在立面平面904的范围内。

在一个实施例中,如果未找到立面平面的位置(例如具有指定数 量的接近点的位置),则可以相对于街道来改变立面平面的角度。因 此,图9C示出了相对于街道908在非平行的角度的立面平面906。如 图9C中所示,存在5个点靠近立面平面906。

如在此所述,从立面平面形成根据本发明的虚拟模型。可以根据 图像内容来生成立面平面。在一个实施例中,模型还可以包括一个或 多个街道平面(例如,平行于街道的平面)。在一个实施例中,可以 基于街道的已知位置来计算街道平面(例如,可以知道街道相对于用 于拍摄图像的照相机的位置)。虚拟模型可以是二维或三维的。

图10示出了根据本发明的一个实施例的用于使用三维模型来在 图像数据内导航的系统1000。如图10中所示,系统1000包括客户端 1002。客户端1002例如跨网络1044与一个或多个服务器1024进行通 信。客户端1002可以是通用的计算机。替选地,客户端1002可以是 诸如移动电话的专用计算设备。类似地,可以使用能够向客户端1002 提供数据的任何计算设备来实现服务器1024。

服务器1024可以包括web服务器。Web服务器是软件组件,其 用超文本传送协议(HTTP)应答来响应HTTP请求。作为说明性示例, web服务器在没有限制的情况下可以是Apache HTTP服务器、Apache  Tomcat、Microsoft Internet Information Server(微软因特网信息服务器)、 JBoss应用服务器、WebLogic应用服务器或Sun Java System Web服务 器。所述web服务器可以提供内容,诸如超文本标记语言(HTML)、 可扩展标记语言(XML)、文档、视频、图像、多媒体特征或其任何 组合。这个示例严格地说是说明性的,并且不限制本发明。

服务器1024可以如下所述提供地图瓦片(tile)1014、程序1016、 配置信息1018和/或全景图瓦片1020。

网络1044可以是可以承载数据通信的任何网络或网络组合,并且 在此可以被称为计算机网络。网络1044可以包括但不限于局域网、中 间区域网和/或诸如因特网的广域网。网络1044可以支持协议和技术, 包括但不限于万维网协议和/或服务。可以取决于特定应用或环境在系 统1000的组件之间提供中间web服务器、网关或其它服务器。

服务器1024耦接到全景图数据库1028和模型数据库1030。全景 图数据库1028存储图像。在一个示例中,图像可以是从街面拍摄的照 片图像。可以将从同一位置拍摄的照片图像拼接在一起,以形成全景 图。模型数据库1030存储与全景图数据库1028中的图像相对应的三 维模型。将在下面进一步详细论述可以如何生成三维模型的示例。注 释数据库1032存储用户生成的注释。

可以在关系数据库管理系统上实现全景图数据库1028、模型数据 库1030和注释数据库1032中的每一个。关系数据库的示例包括Oracle、 微软SQL Server和MySQL。这些示例是说明性的,并且并不意在限制 本发明。

服务器1024包括导航控制器1032。导航控制器1032使用模型数 据库1030中的从图像内容生成的模型来帮助在全景图之间导航。导航 控制器1032从导航数据1042接收输入。导航数据1042包含关于当前 位置和朝向的数据以及关于期望的下一位置的数据。例如,在点击进 入实施例中,导航数据1042可以包含第一全景图像和第一全景图像中 的用户意欲前往的位置。导航数据1042可以是例如带有被编码为HTTP 参数的数据的HTTP请求。

响应于导航数据1042,导航控制器1032基于在模型数据库1030 中的模型来确定在全景图数据库1028中的新的全景图。导航控制器 1032还确定显示第二全景图的朝向。导航控制器1032将新的全景图和 朝向输出在配置信息1018和全景图瓦片1020中。

导航控制器1032可以包括转换车道控制器1034、点击进入控制 器1036和绕行控制器1038。转换车道控制器1034、点击进入控制器 1036和绕行控制器1038中的每一个根据本发明的实施例对导航数据 1042作出响应。

转换车道控制器1034根据本发明的转换车道实施例来操作。响应 于导航数据1042,转换车道控制器1034从全景图数据库1028选择第 二全景图像。第二全景图像靠近第一全景图像的位置,但是在不同的 车道。在一个示例中,第二全景图像可以是在全景图数据库1028中的 存在于不同车道的最靠近的全景图像。转换车道控制器1034根据导航 数据1042中的第一全景图的位置和朝向来确定模型数据库1030中的 模型中的位置。在一个实施例中,为了确定位置,转换车道控制器1034 如关于图2A所述从该位置沿朝向的方向延伸射线。转换车道控制器 1034然后如关于图2B所述确定第二全景图的朝向。最后,转换车道控 制器1034将第二全景图返回在全景图瓦片1020中,以及将第二全景 图的朝向返回在配置信息1018中。

点击进入控制器1036根据本发明的点击进入实施例操作。响应于 导航数据1042,点击进入控制器1036从全景图数据库1028选择第二 全景图像。点击进入控制器1036基于来自导航数据1042的第一全景 图像中的位置来选择第二全景图像。在第一全景图像中的位置可以由 诸如鼠标的用户输入来确定。点击进入控制器1036如关于图2A所述 使用在第一全景图像中的位置来确定在模型数据库1042中的模型中的 位置。点击进入控制器1036然后基于模型中的位置来选择第二全景图 像。第二全景图像如关于图2D所述靠近模型中的位置。在一个示例中, 第二全景图像可以具有使得模型上的位置与街道正交的位置。在另一 个示例中,第二全景图像可以具有与虚拟模型正交的位置。点击进入 控制器1036然后确定第二全景图的朝向。可以将第二全景图定向为面 向模型中的位置,或者可以将第二全景图定向到街道的方向。最后, 点击进入控制器1036将第二全景图返回在全景图瓦片1020中,以及 将其朝向返回在配置信息1018中。

绕行控制器1038响应于导航数据1042从全景图数据库1028选择 第二全景图像。第二全景图像可以例如根据导航数据1042中的由用户 输入的位置来选择。绕行控制器1038根据导航数据1042中的第一全 景图的位置和朝向来确定模型数据库1030中的模型中的位置。为了确 定位置,绕行控制器1038如关于图2A所述从该位置沿朝向的方向延 伸射线。绕行控制器1038如上所述确定第二全景图的朝向。最后,绕 行控制器1038将第二全景图返回在全景图瓦片1020中,以及将第二 全景图的朝向返回在配置信息1018中。

在一个实施例中,客户端1002可以包含地图服务1006和全景图 查看器1008。地图服务1006和全景图查看器1008中的每一个可以是 单独的应用或可以在浏览器1004中执行。在实施例中,浏览器1004 可以是Mozilla Firefox或微软的Internet Explorer。例如可以将全景图 查看器1008作为在浏览器1004内的脚本、作为在浏览器1004内的插 件或作为在诸如Adobe(Macromedia)Flash插件的浏览器插件内执行 的程序来执行。

地图服务1006将地图的可视表示例如作为视口显示到地图瓦片 的网格中。使用标记和脚本元素的组合,例如使用HTML和Javascript, 来实现地图系统1006。当移动视口时,地图服务1006从服务器1024 请求额外的地图瓦片1014,假定所请求的地图瓦片还未被缓存在本地 高速缓冲存储器中。值得注意地,提供地图瓦片1014的服务器可以是 与提供全景图瓦片1020、配置信息1018或在此涉及的其它数据的服务 器相同或不同的服务器。

在一个实施例中,地图服务1006可以请求浏览器1004从服务器 1024下载用于全景图查看器1008的程序1016,并且实例化运行程序 1016所必需的任何插件。程序1016可以是Flash文件或某种其它形式 的可执行内容。全景图查看器1008根据程序1016来执行和操作。

全景图查看器1008从服务器1024请求配置信息1018。配置信息 包括关于待加载的全景图的元信息,包括关于在全景图内的到其它全 景图的链接的信息。在一个实施例中,以诸如可扩展标记语言(XML) 的形式来呈现配置信息。全景图查看器1008例如以全景图像形式或以 全景图像瓦片形式检索用于全景图的可视资产(visual asset)1020。在 另一个实施例中,可视资产包括以相关文件格式的配置信息。全景图 查看器1008在全景图的客户端显示器和额外的用户界面元素上呈现如 从配置信息1018和可视资产1020生成的可视表示。当用户与输入设 备交互以操纵全景图的可视表示时,全景图查看器1008更新可视表示, 并且根据需要下载额外的配置信息和可视资产。

可以以硬件、软件、固件或其任何组合来实现浏览器1004、地图 服务1006和全景图查看器1008中的每一个。

图11示出了根据本发明的一个实施例的用于从图像数据创建虚 拟模型的系统1100。系统1100包括全景图数据库1028和模型数据库 1030,其中每一个耦接到处理管线服务器1124。处理管线服务器1124 可以是任何计算设备。示例计算设备包括但不限于计算机、工作站、 分布式计算系统、嵌入式系统、独立电子设备、联网设备、移动设备、 机架式服务器、电视或其它类型的计算系统。

处理管线服务器1124包括特征提取器1116、特征匹配器1118、 点计算器1120和表面估计器1122。可以以硬件、软件、固件或其任何 组合来实现特征提取器1116、特征匹配器1118、点计算器1120和表 面估计器1122中的每一个。

特征提取器1116从全景图数据库1028选择图像1102。在一个实 施例中,图像1102可以包括两个图像,所述两个图像为街面未拼接的 全景图像。可以从彼此接近的位置但是从不同的视角来拍摄所述两个 图像。在一个实施例中,从安装有8个照相机的丛簇的移动车辆拍摄 图像。所述8个照相机同时从不同的视角拍摄8个图像。随后可以将 所述8个图像拼接在一起以形成全景图。第一图像可以是来自所述8 个照相机丛簇中的第一照相机的未拼接的图像。第二图像可以是在稍 后的时间点期间拍摄的来自第二照相机的未拼接的图像,所述第二照 相机与第一照相机相邻。

特征提取器1116从图像1102提取特征。在一个实施例中,特征 提取器1116可以执行多于一个功能,诸如兴趣点检测和特征描述。兴 趣点检测根据条件来检测在图像中的点,并且优选地在图像变化的情 况下可再现,所述图像变化诸如在亮度和视角上的变化。每一个兴趣 点的邻域因此被描述为特征。这些特征由特征描述符表示。特征描述 符优选地是独特的。

在一个示例中,可以使用快速鲁棒特征(SURF)算法从图像提取 特征。SURF算法包括兴趣点检测和特征描述方案。在SURF算法中, 每一个特征描述符包括向量。在一种实施方式中,所述向量可以是128 维的。在图像为从街面拍摄的全景图的一个示例中,SURF算法可以在 每一个图像中提取四到五千个特征,导致在大小上为一到二兆字节的 特征描述符文件1104。

特征匹配器1118使用每一个特征描述符文件1104来匹配在两个 图像中的特征。在一个示例中,每一个特征由在特征描述符文件1104 中的特征描述符表示。每一个特征描述符包括128维向量。可以通过 找到在第一特征的向量和第二特征的向量之间的欧几里得距离来确定 在第一特征和第二特征之间的相似度。

可以如下确定第一图像中的特征在第二图像中的特征中的匹配。 首先,特征匹配器1118确定从在第二图像中的特征中确定的在第一图 像中的特征的最近邻域(例如,在118维空间中)。其次,特征匹配 器1118确定从在第二图像中的特征中确定的在第一图像中的特征的第 二最近邻域。第三,特征匹配器1118确定在第一图像中的特征和在第 二图像中的最近邻近特征之间的第一距离,并且特征匹配器1118确定 在第一图像中的特征和在第二图像中的第二最近邻近特征之间的第二 距离。第四,特征匹配器1118通过以第一距离除以第二距离来计算特 征相似度比值。如果所述特征相似度比值低于特定阈值,则在第一图 像中的特征和在第二图像中的其最近邻域之间存在匹配。

特征匹配器1118可以例如通过构造溢出树来确定最近邻域和第 二最近邻域。

如果特征相似度比值太低,则特征匹配器1118可能不能确定足够 的匹配。如果特征相似度比值太高,则特征匹配器1118可能确定太多 的误匹配。在一个实施例中,特征相似度比值可以在0.5和0.95之间 并且包括0.5和0.95。在图像为从街面拍摄的全景图的示例中,可以有 数百个匹配的特征。所述匹配的特征作为匹配的特征1106被发送到点 计算器1120。

点计算器1120对于每一个匹配的特征1106对确定三维空间中的 点。为了确定三维空间中的点,对于每一个特征形成或确定射线,并 且基于特征的射线的交点来确定所述点。在一个实施例中,如果射线 未相交,则基于连接两条射线的最短线段的中点来确定所述点。点计 算器1120的输出为三维点云1108(例如一个点用于每一个匹配的特征 对)。

表面估计器1122基于点云1108来确定立面平面。表面估计器1122 可以通过使用诸如最小二乘方或自适应优化算法的最佳适应或回归分 析算法来确定立面平面。自适应优化算法的示例包括但不限于爬山算 法、随机爬山算法、A星算法和遗传算法。替选地,表面估计器1122 可以通过下述方式来确定立面表面:通过沿轴平移平面以确定平面的 最佳位置,如在上面关于图9A-C所述。

表面估计器1122还可以确定一个或多个街道平面。街道平面和立 面平面一起形成表面平面1110。表面估计器1122将表面平面1110存 储在模型数据库1030中。

应当理解,意在使用具体实施方式部分而不是发明内容和摘要部 分解释权利要求。发明内容和摘要部分可以阐明发明人考虑的本发明 的一个或多个而非所有的示例性实施例,因此发明内容和摘要部分并 不意在以任何方式来限制本发明和所附的权利要求。

在上面借助于说明指定的功能及其关系的实现的功能构造块来描 述了本发明。在此为了便于描述,任意地限定了这些功能构造块的边 界。可以限定替选边界,只要所述指定的功能及其关系被适当地执行。

特定实施例的前述描述如此充分地揭示了本发明的一般特性,使 得其他人可以在不背离本发明的一般思想的情况下,通过应用在本领 域的技术内的知识而容易地修改和/或调整本发明的一般特性以用于这 样的特定实施例的各种应用,而不用进行过度的实验。因此,基于在 此提供的教导和指导,这样的调整和修改意在在所公开的实施例的等 同物的含义和范围内。应当明白的是,在此的措词或术语用于描述而 非限制的目的,因此本说明书的术语或措词应当由技术人员根据所述 教导和指导来解释。

本发明的宽度和范围不应当由上述示例性实施例的任何一个限 制,而是应当仅根据所附权利要求及其等同物来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号