首页> 中国专利> 用于增强现实的自动化参考框架校准

用于增强现实的自动化参考框架校准

摘要

本发明涉及用于增强现实的自动化参考框架校准。说明了增强现实(100)的自动化参考框架校准的一个或多个系统、方法、例程和/或技术。一个或多个系统、方法、例程和/或技术可允许增强现实(AR)系统(100)的校准,例如,通过自动校准虚拟物体和/或摄像机(102)的参考框架。一个示例性校准例程和/或技术可确定和/或计算从虚拟物体(112)的参考框架(例如,CAD模型)到与跟踪系统(108)相关联的坐标框架(204)的映射或变换。另一示例性校准例程和/或技术可确定和/或计算从摄像机(102)镜头参考框架到由跟踪系统(108)确定的整个摄像机(102)的参考框架的映射或变换。这些例程和/或技术可校准AR系统(100)以提供虚拟内容和真实场景的现场摄像机(102)视图之间的快速、精确对准。

著录项

  • 公开/公告号CN103793936A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 波音公司;

    申请/专利号CN201310529549.5

  • 发明设计人 P·R·戴维斯;D·K·李;

    申请日2013-10-31

  • 分类号G06T17/00(20060101);G06T7/00(20060101);

  • 代理机构11245 北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国伊利诺伊州

  • 入库时间 2024-02-20 00:11:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-14

    授权

    授权

  • 2015-11-11

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20131031

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本公开涉及增强现实,并且更具体地涉及用于增强现实的自动化 参考框架校准(automated frame of reference calibration)的一个或多个 系统、方法、例程和/或技术。

背景技术

增强现实(AR)通过叠加虚拟物体或介质到真实世界视图中而增 强或增加真实世界视图的感知,例如,现场视频(live video)馈送。 增强现实允许与真实世界有关的人工或模拟信息及其在真实世界视图 上重叠的物体。增强现实与用人工或模拟视图代替真实世界视图的虚 拟现实(VR)有关但不同。增强现实已经在各种应用中使用,如娱乐、 视频游戏、体育和手机应用。

如本申请的其余部分中所阐述的和参照附图,通过此类系统与本 发明的一些方面的比较,常规和传统方法的进一步的局限性和缺点对 于本领域的技术人员来说将是显而易见的。

发明内容

本公开描述了用于增强现实的自动化参考框架校准的一个或多个 系统、方法、例程和/或技术。一个或多个系统、方法、例程和/或技术 可以允许增强现实(AR)系统的简单和快速校准,例如,通过自动校 准虚拟物体和/或摄像机的参考框架。

本公开的一个或多个实施例描述了用于增强现实的方法,例如, 由具有至少一个处理器的数据处理系统执行的方法。该方法可包括接 收或建立与物体跟踪系统相关联的跟踪系统坐标框架。所述跟踪系统 坐标框架可以与真实三维空间对准。所述跟踪系统可以跟踪真实物体 和摄像机在真实三维空间中的位置和取向。该方法可包括从所述跟踪 系统接收所述真实物体的第一真实物体参考框架。第一真实物体参考 框架可表示所述真实物体相对于所述跟踪系统坐标框架的位置和取 向。该方法可包括确定用于所述真实物体的第二真实物体参考框架。 所述第二真实物体参考框架可表示所述真实物体相对于所述跟踪系统 坐标框架的位置和取向。该方法可包括接收用于虚拟物体的第一虚拟 物体参考框架。所述虚拟物体可以在所述真实物体后建模。所述第一 虚拟物体参考框架可以与所述跟踪系统坐标框架无关。该方法可包括 确定用于所述虚拟物体的第二虚拟物体参考框架。该方法可包括确定 用于所述虚拟物体的第二虚拟物体参考框架。所述第二虚拟物体参考 框架可表示所述虚拟物体相对于所述跟踪系统坐标框架的位置和取 向。该方法可包括确定所述第一虚拟物体参考框架和所述跟踪系统坐 标框架之间的虚拟物体映射。该方法可包括显示增强场景,该增强场 景包括所述真实三维空间的视图、所述真实物体的视图和一个或多个 重叠的虚拟项目。所述虚拟物体映射可以用来放置所述一个或多个重 叠的虚拟项目在所述增强场景中,以便所述一个或多个虚拟项目与所 述真实物体对准。

本公开的一个或多个实施例描述了用于增强现实的方法,例如, 由具有至少一个处理器的数据处理系统执行的方法。该方法可包括接 收或建立与物体跟踪系统相关联的跟踪系统坐标框架。所述跟踪系统 坐标框架可以与真实三维空间对准。所述跟踪系统可以跟踪捕获真实 三维空间的摄像机/照相机和印刷标记器(printed marker)在所述真实 三维空间内的位置和取向。该方法可包括从所述跟踪系统接收所述摄 像机的摄像机参考框架。所述摄像机参考框架可表示所述摄像机相对 于所述跟踪系统坐标框架的位置和取向。该方法可包括接收或建立与 所述印刷标记器相关联的印刷标记器坐标框架。所述印刷标记器坐标 框架可以与所述真实三维空间对准。所述印刷标记器坐标框架可以与 所述跟踪系统坐标框架对准。该方法可包括确定所述摄像机镜头的摄 像机镜头参考框架。所述摄像机镜头参考框架可表示所述摄像机镜头 相对于所述印刷标记器坐标框架的位置和取向。该方法可包括确定所 述摄像机参考框架和所述摄像机镜头参考框架之间的摄像机镜头映 射。该方法可包括显示增强场景,该增强场景包括所述真实三维空间 的视图和一个或多个虚拟项目。所述摄像机镜头映射可以用来改变所 述增强场景中的所述一个或多个虚拟项目或使其失真。

本公开的一个或多个实施例描述了系统。该系统可包括捕获包括 真实物体的真实三维空间的视图的摄像机。该系统可包括跟踪所述真 实物体和所述摄像机在真实三维空间内的位置和取向的跟踪系统。所 述跟踪系统可经配置建立与所述跟踪系统相关联的跟踪系统坐标框 架,并且所述跟踪系统坐标框架可以与所述真实三维空间对准。该系 统可包括连接到所述摄像机和所述跟踪系统的计算机,并且所述计算 机可包括一个或多个存储器单元。所述计算机可以配置有虚拟建模器。 所述虚拟建模器可经配置从所述跟踪系统接收真实物体的第一真实物 体参考框架,其中所述第一真实物体参考框架可表示所述真实物体相 对于所述跟踪系统坐标框架的位置和取向。所述虚拟建模器可进一步 配置为计算所述真实物体的第二真实物体参考框架,其中所述第二真 实物体参考框架可表示所述真实物体相对于所述跟踪系统坐标框架的 位置和取向。所述虚拟建模器可进一步配置为从所述一个或多个存储 器单元接收虚拟物体的第一虚拟物体参考框架,其中所述虚拟物体可 以在所述真实物体后建模,并且其中所述第一虚拟物体参考框架可与 所述跟踪系统坐标框架无关。所述虚拟建模器可进一步配置为计算所 述虚拟物体的第二虚拟物体参考框架,其中所述第二虚拟物体参考框 架可表示所述虚拟物体相对于所述跟踪系统坐标框架的位置和取向。 所述虚拟建模器可进一步配置为计算所述第一虚拟物体参考框架和所 述跟踪系统坐标框架之间的虚拟物体映射。所述虚拟建模器可进一步 配置为生成并在所述一个或多个存储器单元中存储增强场景,该增强 场景包括所述真实三维空间的视图、所述真实物体的视图和一个或多 个重叠虚拟项目。所述虚拟物体映射可以用来放置所述一个或多个重 叠虚拟项目在所述增强场景中,以便所述一个或多个虚拟项目与所述 真实物体对准。

本公开的一个或多个实施例描述了数据处理系统,其包括存储计 算机代码的一个或多个存储器单元和连接到所述一个或多个存储器单 元的一个或多个处理器单元。所述一个或多个处理器单元可以执行存 储在所述一个或多个存储器单元内的计算机代码,以接收或建立与物 体跟踪系统相关联的跟踪系统坐标框架。所述跟踪系统坐标框架可以 与真实的三维空间对准。所述跟踪系统可以跟踪捕获真实三维空间的 摄像机和印刷标记器在所述真实三维空间内的位置和取向。所述一个 或多个处理器单元可以执行存储在所述一个或多个存储器单元内的计 算机代码,以从所述跟踪系统接收所述摄像机的摄像机参考框架。所 述摄像机参考框架可表示所述摄像机相对于所述跟踪系统坐标框架的 位置和取向。所述一个或多个处理器单元可以执行存储在所述一个或 多个存储器单元内的计算机代码,以接收或建立与所述印刷标记器相 关联的印刷标记器坐标框架。所述印刷标记器坐标框架可以与所述真 实三维空间对准,并且所述印刷标记器坐标框架可以与所述跟踪系统 坐标框架对准。所述一个或多个处理器单元可以执行存储在所述一个 或多个存储器单元内的计算机代码,以确定所述摄像机镜头的摄像机 镜头参考框架。所述摄像机镜头参考框架可表示所述摄像机镜头相对 于所述印刷标记器坐标框架的位置和取向。所述一个或多个处理器单 元可以执行存储在所述一个或多个存储器单元内的计算机代码,以确 定所述摄像机参考框架和所述摄像机镜头参考框架之间的摄像机镜头 映射。所述一个或多个处理器单元可以执行存储在所述一个或多个存 储器单元内的计算机代码,以显示包括所述真实三维空间的视图和一 个或多个虚拟项目的增强场景。所述摄像机镜头映射可以用来改变所 述增强场景中的所述一个或多个虚拟项目或使其失真。

从下列说明和附图中,将更充分地理解本公开的这些和其他优点、 方面和新颖特征以及其说明性实施例的细节。应该理解的是,前面的 一般性描述仅是所要求保护的本公开的示例性和解释性描述,而非限 制性描述。

附图说明

下列公开中描述了若干特征和优点,其中通过使用下列附图作为 示例而说明了若干实施例。

图1描述了根据本公开的一个或多个实施例示出增强现实(AR) 系统的示例装置、组件、软件和交互的方框图,其中本文所讨论的自 动化参考框架校准技术在这样的AR系统中会是有用的。

图2描述了根据本公开的一个或多个实施例示出示例性校准技术 的方框图。

图3根据本公开的一个或多个实施例描述了由跟踪系统为了各种 原因使用的工具或棒(wand)的图示。

图4A根据本公开的一个或多个实施例描述了具有连接到或放置 在所述真实物体上的多个跟踪标记器的示例性真实物体的图示。

图4B根据本公开的一个或多个实施例描述了跟踪系统如何可以 创建和放置真实物体的表示的图示。

图5根据本公开的一个或多个实施例描述了虚拟建模软件如何可 以建立真实物体的新参考框架的图示。

图6根据本公开的一个或多个实施例描述了虚拟建模软件如何可 以建立虚拟物体的新参考框架的图示。

图7描述了根据本公开的一个或多个实施例示出示例性校准技术 的方框图。

图8A根据本公开的一个或多个实施例描述了示例性摄像机和摄 像机框架的图示。

图8B根据本公开的一个或多个实施例描述了跟踪系统如何可以 创建和放置摄像机的表示的图示。

图8C根据本公开的一个或多个实施例描述了具有集成摄像机的 示例平板计算机的图示。

图9A和9B描述了印刷标记器如何可以允许摄像机镜头的参考框 架的确定的图示。

图10A描述了可以根据本公开的一个或多个实施例生产的示例性 增强场景的图示。

图10B描述了可以根据本公开的一个或多个实施例生产的示例性 增强场景的图示。

图11描述了根据本公开的一个或多个实施例示出用于增强现实 的自动化参考框架校准的方法中的示例步骤的流程图。

图12描述了根据本公开的一个或多个实施例示出用于增强现实 的自动化参考框架校准的方法中的示例步骤的流程图。

图13描述了可以用来实施本公开的一个或多个实施例的示例性 数据处理系统的方框图。

具体实施方式

在各种AR系统中,跟踪系统可以用来跟踪摄像机和各种真实世界 物体在三维空间中的位置和取向。例如,跟踪系统可以跟踪摄像机和 该摄像机正在查看/捕获的一台机器。各种AR系统可以尝试创建包括 由所述摄像机捕获的真实世界场景(包括各种真实世界物体)和重叠 虚拟介质和/或物体的增强场景。为了创建所述增强场景,所述跟踪系 统可以建立虚拟坐标框架,并可以跟踪或“放置”所述真实世界物体 在此坐标框架中的表示。各种AR系统可以尝试“放置”各种虚拟物 体(例如,CAD模型/物体)在所述坐标框架中,以便创建增强场景。 虚拟物体/模型可以具有其自己的默认或任意参考框架(例如,三维位 置和取向),并且因此,为了放置虚拟物体在所述跟踪系统的坐标框 架中,必须确定所述跟踪系统的坐标框架和所述虚拟物体参考框架之 间的映射或变换。此外,如果所述摄像机(例如,捕获真实世界的摄 像机)移动,则AR系统可以尝试改变所述虚拟物体的视图。为了精 确地做到这一点,AR系统可能需要跟踪所述摄像机镜头的位置和取 向。然而,跟踪系统可以仅跟踪整个摄像机的位置和取向。各种软件 程序(例如,结合其他部件)可以用来确定坐标框架中的所述摄像机 镜头的参考框架,但是这些镜头软件程序可以跟踪在由所述镜头软件 程序建立的坐标框架中的镜头。因此,为了放置所述摄像机镜头在所 述跟踪系统的坐标框架中,必须确定所述跟踪系统的坐标框架和所述 镜头参考框架之间的映射或变换。确定这些映射和/或变换(例如,所 述虚拟物体和/或所述摄像机镜头的映射和/或变换)可以称为AR系统 校准或校准的参考框架。

应该理解的是,术语“坐标框架”、“参考的框架”、“参考框架” 和“位姿(pose)”可以在本公开中使用,并且可以密切相关。术语“坐 标框架”可以指三维空间的三维表示,其中所述坐标框架包括三个平 面或轴(例如,X轴、Y轴、Z轴)和一个原点(例如其中所述三个轴 相交的点)。术语“参考的框架”或“参考框架”可以指例如在坐标 框架中的物体或点的三维位置和三维取向。物体的参考框架可包括该 物体的原点(例如,近似的质量中心)和该物体的取向(例如,相对 于该物体建立的三个轴)。术语“位姿”是“位置和取向”的简称, 并且可以指物体在三维空间中的三维位置(例如,X、Y、Z坐标)和 三维取向(例如,滚动、俯仰、偏航)。

各种AR系统可以通过手动或反复试验/试错法(trial-and-error)过 程执行AR系统校准,例如,相对于所述跟踪系统坐标框架近似所述 虚拟模型和/或所述摄像机镜头的参考框架,并且然后测试该增强场景 来确定所述近似是否良好。例如,技术人员可以简单地查看所述增强 场景中重叠的虚拟物体,并且从各种摄像机位置和取向作出关于它们 是否出现在其正确位置中的确定。这个手动校准过程可以需要十二个 参数的操纵,例如虚拟物体的六个参数(例如,X、Y、Z坐标和滚动、 俯仰、偏航)和摄像机镜头的六个参数(例如,X、Y、Z坐标和滚动、 俯仰、偏航)。这个过程可能费用高昂和/或是时间密集的,例如,需 要许多小时(例如,8小时以上)来完成。即使当所述手动校准过程完 成时,仍然未必得到精确的解决方案/校准。例如,从一个摄像机位姿 表现为恰当安置的虚拟物体可能从不同位姿未表现为被恰当安置。虚 拟物体放置的小错误可以导致较大真实世界物体上的大错误。此外, 每次所述AR系统被设置在新环境中或为了新真实物体或摄像机设置 时,所述AR系统必须手动校准。

本公开描述了增强现实的自动化参考框架校准的一个或多个系统、 方法、例程和/或技术。一个或多个系统、方法、例程和/或技术可以允 许增强现实(AR)系统的简单快速校准,例如,通过自动校准虚拟物 体和/或摄像机的参考框架。一个或多个系统、方法、例程和/或技术可 以允许所述AR系统在相对短的时间量(例如,小于15分钟)内设置 在新环境中或在新真实物体(例如,一台机器)上,并且可以允许重 叠虚拟内容与真实世界场景的精确对准。如果所述AR系统被用来指 导技术人员进行精确的任务(例如,在精确位置钻小孔),则虚拟内 容的精确对准可能是至关重要的。一个或多个系统、方法、例程和/或 技术可以确定和/或计算各种参考框架(例如,所述跟踪系统的坐标框 架、虚拟物体的参考框架和摄像机镜头的参考框架)之间的映射或变 换。本公开可描述两个主要校准例程和/或技术。所述第一校准例程和/ 或技术可以确定和/或计算虚拟物体的参考框架(例如,CAD模型)和 与所述跟踪系统相关联的坐标框架之间的映射或变换。所述第二校准 例程和/或技术可以确定和/或计算摄像机镜头的参考框架和由跟踪系 统确定的整个摄像机的参考框架之间的映射或变换。这些例程和/或技 术可以校准AR系统,以提供虚拟内容和真实场景的现场摄像机视图 之间的快速、精确对准。

图1描述了根据本公开的一个或多个实施例示出了增强现实(AR) 系统100的示例装置、组件、软件和交互的方框图,其中本文所讨论 的自动化参考框架校准技术在这样的AR系统中会是有用的。AR系统 100可包括可捕获和/或串流真实世界场景的现场视频馈送的摄像机 102。所述真实世界场景可包括一个或多个真实物体,例如,真实物体 (RO)104。RO104可以是各种物体中的一个,例如,工具、一台机 器、大型卫星、控制箱、控制面板或其他各种物体。所述摄像机102 可以与计算机106通信,其中所述计算机可以解释和/或处理自与由所 述摄像机捕获的真实世界场景和/或物体相关的所述摄像机发送的信息 (例如,现场串流视频)。

所述AR系统100可包括跟踪系统108。所述跟踪系统108可跟踪 所述真实物体104和所述摄像机102的“位姿”(在三维空间内的位 置和取向),并可以(例如,实时)串流此信息到计算机(例如,计 算机106)或其他组件。所述跟踪系统108可包括各种组件,例如,若 干跟踪标记器、感测所述跟踪标记器的若干感测装置和可以运行关联 的跟踪系统软件的基础计算(base computing)装置。在一个示例中, 每个标记器可以是具有经设计反射特定的光波长的反射涂层的小球体 (例如,10mm球体)。在此示例中,所述标记器可以放置在真实世 界空间内各种位置中和/或各种物体上,以便所述跟踪系统108可以跟 踪三维空间内的特定点和/或物体的位置和/或取向。例如,多个(例如, 三个或更多个)跟踪标记器可以放置在所述真实物体104上,并且多 个(例如,三个或更多个)跟踪标记器可以放置在所述摄像机102上。

所述跟踪系统108的感测装置可以是经设计检测所述跟踪标记器 在三维空间内的位置的摄像机。例如,每个摄像机可以是经设计检测 来自各种跟踪标记器(例如,放置在所述摄像机102和所述真实物体 104上的跟踪标记器)的反射的红外摄像机。所述各种感测装置(例如, 红外摄像机)可以放置在和/或安装在所述三维空间周围的各种位置处, 例如,多个(例如,八个或更多)摄像机可以安装在房间或实验室的 墙壁上,例如,安装在一个布置中,以便感兴趣的三维空间被各种摄 像机的视野范围充分地覆盖。所述跟踪系统108的各种感测装置可以 与基础计算装置通信(例如,通过实时通信链路,如以太网、WiFi等), 其中所述基础计算装置可以运行关联的跟踪系统软件。所述跟踪系统 软件可以处理来自所述各种感测装置的数据。所述跟踪系统108可以 与计算机106通信(例如,通过实时通信链路,如以太网、WiFi等)。 所述计算机可以是与所述摄像机102通信的计算机。在一些实施例中, 所述跟踪系统108的基础计算装置可以是与计算机106相同的计算装 置。

在一些实施例中,所述摄像机102可以集成到计算机106内。在一 些示例中,计算机106可以是移动装置,例如,平板计算机、智能手 机、PDA等。作为一个具体的示例,计算机106可以是具有集成摄像 机的平板计算机(参见作为一示例的图7C)。具有集成摄像机的移动 装置可以给用户提供移动的灵活性和自由度。例如,用户可以查看包 括真实物体(例如,一台真实的机器)的增强场景,并且用户可以绕 所述真实物体走动,从而查看所述真实物体的不同部分和/或角度。此 外,用户可以在帮助用户执行任务的桌面的屏幕上看到虚拟内容,例 如,虚拟内容可包括可以指导用户如何在所述真实物体上工作或使用 所述真实物体工作的指令、箭头、硬件、工具等。此示例中的平板计 算机(例如,计算机106)可包括所述虚拟建模软件110。此示例中的 平板计算机可以与所述跟踪系统108(例如,所述跟踪系统的基础计算 装置)通信(例如,通过实时通信链路,如以太网、WiFi等)。

计算机106可包括虚拟建模软件110。所述虚拟建模软件可以访问 或加载各种虚拟物体,例如,虚拟物体(VO)112。可以各种已知方 式中的一种方式创建和设计虚拟物体(例如,VO112),从而创建虚 拟和/或计算机辅助设计(CAD)物体和/或模型。通过使用CAD软件, 例如,使用基于矢量的图形等来描述物体(例如,在真实世界物体后 建模的物体)的软件,可以创建虚拟/CAD物体/模型。虚拟/CAD物体 /模型可以是详细说明真实世界物体的各种三维特征的三维物体。虚拟 物体112可以是所述真实物体104的虚拟表示。计算机106可以访问 或加载除表示真实世界空间内的真实物体的虚拟物体以外的其他各种 虚拟物体。作为一个示例,真实物体104可以是一台机器,并且虚拟 物体112可以是同一台机器的虚拟表示。此外,其他虚拟物体可以在 真实世界空间中没有对应物,例如,虚拟物体可以表示假设性的螺钉、 工具、电线和示出技术人员如何与所述真实物体104交互的类似物。

所述虚拟建模软件110可以接收来自所述跟踪系统108(例如,由 所述跟踪系统、所述摄像机102的参考框架和真实物体104的参考框 架建立的坐标系)的数据(例如,串流实时数据)。所述虚拟建模软 件110可以执行本文所描述的各种例程、技术等,以创建增强场景(例 如,增强场景114),例如,由通过虚拟物体增强和/或重叠的摄像机 102捕获的所述真实世界空间的实时视图。所述虚拟建模软件110可以 执行如本文所描述的各种校准例程和/或技术,以对准虚拟物体和摄像 机镜头的坐标框架和参考框架到与所述跟踪系统相关联的坐标框架。 一旦校准完成,则所述虚拟建模软件110可以保持各种虚拟物体和现 场真实世界场景之间的相关性和/或对准。所述计算机106可包括显示 器116或与显示器116通信,该显示器116可以显示所述增强场景114 给用户。所述虚拟建模软件110可以产生示出放置在现场视频馈送上 的虚拟物体的(在显示器116上显示的)增强场景114。例如,根据摄 像机102相对于真实物体104的位姿和/或真实物体104的位姿,所述 虚拟建模软件110可以适当地使所述增强场景中的虚拟物体变形(例 如,改变三维位置、三维取向和/或三维尺寸)。例如,如果所述摄像 机102进一步移动远离真实物体104,则所述增强场景中的一个或多个 虚拟物体可能收缩。作为另一示例,如果摄像机102移动得更靠近真 实物体104,则一个或多个虚拟物体将放大。作为另一示例,如果摄像 机102以相对于真实物体104的角度移动,则一个或多个虚拟物体将 适当地旋转。

图2描述了根据本公开的一个或多个实施例示出示例性校准技术 的方框图。更具体地,图2示出了可以用来确定和/或计算虚拟物体(例 如,添加到增强场景的虚拟物体)的参考框架和与所述跟踪系统相关 联的参考框架之间的映射或变换的自动化参考框架校准技术。如可以 在图2中看出的,跟踪系统202(例如,类似于图1的跟踪系统108) 可以建立坐标框架204,例如,作为由技术人员执行的跟踪系统设置的 一部分。所述跟踪系统的坐标框架可包括三个轴(例如,X轴、Y轴、 Z轴)和其中所述三个轴相交的原点。所述跟踪系统可以“放置”或关 联坐标框架的原点与真实世界三维空间内的特定点,并可以相对于所 述真实世界三维空间取向所述坐标框架。所述跟踪系统可以利用工具 或棒建立其坐标框架,例如,类似于图3中所示的棒300的棒。参考 图3,所述棒300可以类似于字母“T”,并且可以包括可以指明第一 轴(例如,X轴)的第一延伸构件(例如,构件302)和可以包括可指 明第二轴(例如,Z轴)的第二延伸构件(例如,构件304)。所述棒 300也可以指明在所述第一构件302/第一轴和所述第二构件304/第二 轴相交的点306处的原点。第三虚轴(例如,Y轴)可以延伸通过原 点306。作为一个示例,所述棒300可以安置在房间或实验室的地板上, 并且所述跟踪机器可以通过检测所述棒和/或连接到所述棒的跟踪标记 器(例如,跟踪标记器308、310、312、314、316)而建立其坐标框架。 所述跟踪系统可以建立与由所述棒300指明的所述原点和轴相关联的 虚拟原点和三个虚拟轴。一旦所述跟踪系统的坐标系建立,所述跟踪 系统就可以跟踪房间或实验室内的真实物体(例如,配备有三个或更 多个跟踪标记器),并且确定其在坐标框架内的位姿,并且确定所述 物体相对于所述三个轴的取向。

再次参考图2,所述跟踪系统202可以确定真实物体的参考框架 206。换句话说,所述跟踪系统202可以跟踪所述真实物体。例如,所 述真实物体可以类似于图1的真实物体104。所述真实物体(RO)可 以是各种物体中的一个,例如,工具、一台机器、大型卫星、控制箱、 控制面板或各种其他物体。图4A示出了真实物体400即钻头磨锐机工 具的示例。为了所述跟踪系统跟踪所述真实物体400(即,确定真实物 体400的参考框架),多个(例如,三个或更多个)跟踪标记器(例 如,跟踪标记器402、404、406)可以连接到或安置在所述真实物体 400上。为了适当地跟踪,所述跟踪标记器可能必须适当地安置在所述 真实物体400上,例如,以非共线、非对称布置方式安置。如果三个 或更多个点位于单条直线上,则它们被认为是共线的。因此,跟踪标 记器的非共线布置是指所述跟踪标记器经布置以便所述标记器不全位 于一条直线上。为了适当的跟踪,至少三个非共线跟踪标记器可以放 置在所述真实物体上。多于三个的跟踪标记器可以放置在所述真实物 体上,例如,以提高计算的可靠性和/或精确性,例如,在所述跟踪标 记器中的一个标记器的视图被遮挡的情况下。

所述跟踪系统(例如,包括多个红外摄像机)可以检测所述跟踪标 记器并创建和放置所述真实物体的表示在由所述跟踪系统建立的坐标 框架中。图4B示出了跟踪系统如何可以创建和放置真实物体的表示的 图示。所述跟踪系统可以检测所述跟踪标记器(例如,标记器402、404、 406及或许图4A中未示出的更多标记器)的位置,并可以创建和放置 分别与所述跟踪标记器相关联的各点(例如,点452、454、456和458) 在所述跟踪系统的坐标框架中。从这些点(例如,点452、454、456 和458),所述跟踪系统可以确定原点(例如,点460)和用于所述真 实物体的表示的取向(参见围绕点460的立方体和取向线)。所述原 点可以通过计算所述点452、454、456和458的质心(例如,质量中 心)确定。可以设置所述取向,以匹配(或关于)所述跟踪系统的坐 标系的取向。一旦所述跟踪系统确定所述真实物体(RO)的参考框架 (例如,与所述跟踪系统坐标框架相关联的原点/位置和取向),则所 述跟踪系统可以串流关于所述真实物体的位姿的信息到所述虚拟建模 软件。当所述真实物体可以移动和/或旋转时,关于所述真实物体的串 流位姿信息可以实时更新。

再次参考图2,所述虚拟建模软件210可以为所述真实物体(RO) 建立新的参考框架212。例如,所述虚拟建模软件210可能类似于图1 的虚拟建模软件110。所述虚拟建模软件210可以使用与和所述跟踪系 统相关联的坐标框架相同的坐标框架。所述新RO参考框架212可以 指定所述真实物体上不同的(当与所述RO参考框架206比较时)参 考点并且可以确定和/或计算出不同的原点。建立新的RO参考框架可 以允许所述虚拟建模软件选择所述真实物体上的参考点,所述参考点 是与和所述真实物体相关联的虚拟物体(例如CAD模型)上的参考点 相同(或非常接近)的参考点。

图5示出了所述虚拟建模软件如何可以为真实物体(例如,真实物 体500)建立新的参考框架的图示。多个参考点(例如,点502、504、 506)可以标示在所述真实物体500上。这些参考点可以例如由技术人 员通过使用工具或棒(例如,类似于图3的棒300的棒)加以标示。 所述工具或棒可以由所述跟踪系统跟踪,例如,在相对于彼此的连接 到所述棒的跟踪标记器之间的位置可以由所述跟踪系统确定,从而允 许精确的点收集。所述虚拟建模软件可以使用关于所述棒位置的来自 所述跟踪系统的数据来记录所述真实物体上的参考点。作为一个示例, 所述虚拟建模软件可以将所述棒上的点识别为“指针”(例如,所述 棒的延伸构件的顶端)。技术人员可以使所述指针触摸所述真实物体 上的各点(例如,点502、504、506),并且通过所述棒和所述跟踪系 统,所述虚拟建模软件可以捕获或记录这些点并将它们放置在与所述 跟踪系统相关联的坐标框架中。为了确定所述新的参考框架,所述参 考点可能必须被适当地放置在所述真实物体500上,例如,以非共线 布置方式放置。至少三个非共线参考点可以放置在所述真实物体上。 多于三个的参考点可以放置在所述真实物体上,例如,以提高计算的 可靠性和/或精确性。从这些参考点(例如,点502、504、506),所 述虚拟建模软件可以确定原点(例如,点508)和所述真实物体的取向 (参见从点508延伸的轴线)。所述原点可以通过计算所述点502、504、 506的质心(例如,质量中心)确定。所述真实物体的取向可以通过放 置从所述原点延伸的两个轴(例如,X轴、Z轴)在由点502、504、 506创建的平面内而确定。

再次参考图2,一旦所述新RO参考框架212建立起来,则所述虚 拟建模软件210就可以计算由所述跟踪系统确定的在所述新RO参考 框架212和所述RO参考框架206之间的平移和/或旋转差。

参考图2,所述虚拟建模软件210可以访问或加载各种虚拟物体, 例如,预先设计的CAD模型。所述虚拟建模软件210可以放置所述虚 拟物体在与所述跟踪系统相关联的坐标框架中,但是所述AR系统可 能需要在适当放置之前进行校准。虚拟物体(例如,CAD模型)可能 具有其自己的参考框架(例如,原点和三个取向轴),例如,当设计 所述虚拟物体时指定。可能会出现这种情况(例如,对于特定环境), 即,所述虚拟建模软件引用的所有虚拟物体可以共享相同的参考框架 (例如,VO参考框架214)。为了放置虚拟物体在与所述跟踪系统相 关联的坐标框架中,所述虚拟建模软件210可以确定所述虚拟物体的 VO参考框架统214和与所述跟踪系统相关联的坐标框架204之间的映 射或变换。为了校准所述AR系统(例如,确定所述映射或变换), 所述虚拟建模软件210可以使用对应于所述AR系统的摄像机(例如, 图1中的摄像机102)正在捕获的真实物体(例如,图1的真实物体 104)的虚拟物体(例如,图1的虚拟物体112)。这个虚拟物体可以 具有VO参考框架214。

所述虚拟建模软件210可以为所述真实虚拟物体建立新的VO参考 框架216。所述虚拟建模软件210可以使用与和所述跟踪系统相关联的 坐标框架相同的坐标框架。当与VO参考框架214比较时,所述新的 VO参考框架216可以具有不同的原点和取向。建立新的VO参考框架 可以允许所述虚拟建模软件选择所述虚拟物体上的参考点,其中所述 参考点是与相对于对应的真实物体所标示的(如上面所解释的)参考 点相同(或非常接近)的参考点,并且可以允许所述新的RO参考框 架212和所述新的VO参考框架216之间的对准(大致参考点218)。 (与所述真实物体相关联的)所述新的RO参考框架212和(与所述 虚拟物体相关联的)所述新的VO参考框架216之间的对准可以例如 通过选择所述真实物体和所述虚拟物体上的相同参考点和通过执行每 个的相同原点和取向计算而实现。

图6示出了所述虚拟建模软件如何可以为所述虚拟物体(例如,虚 拟物体600)建立新的VO参考框架的图示。注意,为了校准的目的, 虚拟物体600可以是在所述AR系统的摄像机正在捕获的关联的真实 物体(例如,图5的真实物体500)后建模的虚拟物体。可以在所述 虚拟物体600上选择多个参考点(例如,点602、604、606)。这些参 考点可以对应于(例如与其在同一相对位置)经选择、标示和/或记录 以创建所述新的RO参考框架的参考点(参见图5和相关讨论)。与 所述RO参考框架确定一样,确定所述VO参考框架的参考点可以是非 共线的布置,并且可以在所述虚拟物体上选择至少三个非共线的参考 点。从这些参考点(例如,点602、604、606),所述虚拟建模软件可 以确定原点(例如,点608)和所述虚拟物体的取向(参见从点608延 伸的轴线)。所述原点可以通过计算所述点602、604、606的质心(例 如,质量中心)确定。所述虚拟物体的取向可以通过放置从所述原点 延伸的两个轴(例如,X轴、Z轴)在由点602、604、606创建的平面 内而确定。

再次参考图2,一旦所述新的VO参考框架216建立起来,则所述 虚拟建模软件210可以计算与所述虚拟物体相关联的所述新的VO参 考框架216和所述VO参考框架214之间的平移和/或旋转差。

如上面所解释的,可能需要在三维空间内的关联的真实物体后建模 的虚拟物体来校准所述AR系统,例如,以确定可以与所述新的RO参 考框架212对准的新的VO参考框架216。然而,一旦校准完成,则应 该理解的是,其他各种虚拟物体可以(例如,通过所述虚拟建模软件) 放置到与所述跟踪系统相关联的坐标框架内。参考图2,可以看出这个 放置为什么运作。为了将虚拟物体放置到与所述跟踪系统相关联的坐 标框架内,必须确定所述虚拟物体参考框架214(例如,原点和取向) 和与所述跟踪系统相关联的坐标框架204之间的映射或变换(例如, 图2中所示的M4变换)。在所述校准过程完成之前,所述M4变换可 能是未知的。如上面所解释的,所述校准过程可以确定与所述M4变 换有关的其他各种映射或变换。如图2中所示,所述校准过程可以确 定M1变换(即,其中所述跟踪系统将所跟踪的真实物体放置在其坐 标框架中)、M2变换(即,所述RO参考框架206和所述新的RO参 考框架212之间的平移和旋转差)和M3变换(即,所述VO参考框架 214和所述新的VO参考框架216之间的平移和旋转差)。一旦所述 M1、M2和M3变换是已知的,则可以计算所述M4变换。一旦所述 M4变换是已知的,则各种虚拟物体可以放置在与所述跟踪系统相关联 的坐标框架中。此外,当来自所述跟踪系统的信息(例如,所述真实 物体的位姿)串流到所述虚拟建模软件时,如果M1变换发生改变(即, 所述真实物体在三维空间内的位姿),则所述M4变换可以例如实时 更新。在这方面,虚拟物体可以重叠在真实世界场景上,并且例如, 当所述场景内的关联的真实物体移动时,所述虚拟物体的外观可以适 当地发生改变。

以下说明一个示例性技术,以计算M4变换,如图2中所示。图2 中所示的各种变换(M1、M2、M3、M4)可以各自都表示为变换矩阵, 例如,如三维计算机图形中通常使用的4×4变换矩阵。所述M1变换 可以表示为下面的等式1中示出的变换矩阵。所述M2变换可以表示 为下面的等式2中示出的变换矩阵。所述M3变换可以表示为下面的 等式3中示出的变换矩阵。

M1=DCM1v10001  (等式1)

M2=DCM2v20001  (等式2)

M3=DCM3v30001  (等式3)

每个变换矩阵可包括旋转或取向分量(DCMn或“方向余弦矩阵”) 以及平移或位置分量(vn)。例如,DCMn表示所述Mn变换的旋转矩 阵,而Vn表示所述Mn变换的平移矢量。所述旋转分量(DCMn)可以 是表示两个物体之间的取向变化的3×3矩阵。所述DCMn分量可表示 三个值,即滚动变化(例如,关于X轴的旋转)、俯仰变化(例如, 关于Y轴的旋转)和偏航变化(例如,关于Z轴的旋转)。这三个值 可以向外扩展到3×3DCMn矩阵,以恰当地配合所述4×4变换矩阵Mn。 熟悉变换矩阵和矩阵乘法的人将认识到,变换矩阵必须以适当的方式 增加,以便一个矩阵与另一矩阵的乘法得到所需要的变换。所述平移 分量(vn)可以是表示两个物体的位置变化(例如,两个物体的原点之 间的位置变化)的1×3矩阵(即,在垂直列中有3个数字)。所述平 移分量(vn)可包括三个值,即相对于所述X轴的三维位置变化、相 对于Y轴的三维位置变化和相对于Z轴的三维位置变化。当所述旋转 分量(DCMn)和平移分量(vn)被添加到所述变换矩阵(Mn)和在底 端行用“0001”填充(以使所述矩阵乘法运作)时,所述变换矩阵完 成。

然后,可以如下面的等式4所示地计算出所述M4变换,从而得到 如下面的等式5所示的M4变换。

M4=DCM1v10001DCM2v20001DCM3v30001(等式4)

M4=DCM4v40001(等式5)

在一些实施例中,一旦所述M4变换被计算,其就保持相同。如图 2中可以看出的,一旦所述M4变换被计算,它可以表示从虚拟物体参 考框架到TS确定的RO参考框架的变换。所述M4变换可以用来放置 各种虚拟物体在与所述跟踪系统相关联的坐标框架中,例如,以与所 述TS确定的RO参考框架有关的位姿放置。当来自所述跟踪系统的信 息(例如,真实物体的位姿)被串流到所述虚拟建模软件时,如果所 述M1变换发生改变(即,所述真实物体在三维空间内的位姿),则 所述各种虚拟物体的位姿可以例如实时更新。

再次参考图1,当所述摄像机102移动时,所述摄像机102也可能 需要在所述AR系统可精确地变形、改变或对准虚拟物体之前进行校 准。与校准所述摄像机102相关联的挑战和解决方案可能类似于相对 于与所述跟踪系统相关联的坐标框架与校准虚拟物体相关联的那些挑 战和解决方案,如上面所解释的。为了实现虚拟物体和(由摄像机102 捕获的)真实世界场景之间的精确对准,所述虚拟建模软件可能需要 跟踪所述摄像机102的镜头的位姿,而不仅是作为整体的摄像机机身。 用于校准摄像机的各种方法涉及漫长的试错法过程(例如,花费若干 小时),从而手动地操纵与所述摄像机镜头相关联的六个参数(例如, X、Y、Z、滚动、俯仰、偏航)。通过这些手动方法,即使在校准完 成后,也不能确保所述摄像机镜头的精确放置。

图7描述了根据本公开的一个或多个实施例示出了示例性校准技 术的方框图。更具体地,图7示出了可以用来确定和/或计算由跟踪系 统跟踪的摄像机的参考框架和所述摄像机的镜头的参考框架之间的映 射或变换的自动化参考框架校准技术。如图7中可以看出的,跟踪系 统702(例如,类似于图1的跟踪系统108)可以建立坐标框架704, 例如,作为由技术人员执行的跟踪系统设置的一部分(如上面详细解 释的)。所述跟踪系统702可以确定摄像机的参考框架706。换句话说, 所述跟踪系统702可以跟踪所述摄像机。例如,所述摄像机可以类似 于图1的摄像机102。所述摄像机可以是独立的摄像机,或者可以并入 计算机(例如,运行所述虚拟建模软件的计算机)内。图8A示出了示 例性摄像机800的图示。为了所述跟踪系统跟踪所述摄像机800(即, 确定其参考框架),多个(例如,三个或更多个)跟踪标记器(例如, 跟踪标记器802、804、806)可以连接到所述摄像机800或放置在其上。 在一些实施例中,所述跟踪标记器可以连接到摄像机机身本身。在其 他实施例中,所述跟踪标记器可以连接到包含和/或支持所述摄像机 800的框架801,如图8A的示例中所示。为了恰当地跟踪,所述跟踪 标记器可能必须被适当地放置在所述摄像机800上,例如,以非共线 布置方式放置。为了恰当地跟踪,至少三个非共线的跟踪标记器可以 放置在所述摄像机(或摄像机框架)上。多于三个的跟踪标记器可以 放置在所述摄像机上,例如,以提高计算的可靠性和/或精确性,例如, 在所述跟踪标记器中的一个跟踪标记器的视图被遮挡的情况下。

所述跟踪系统(例如,包括多个红外摄像机)可以检测所述摄像机 (或摄像机框架)上的跟踪标记器,并可以创建和放置所述摄像机的 表示在由所述跟踪系统建立的坐标框架中。图8B示出了跟踪系统如何 可以创建和放置所述摄像机的表示的图示。所述跟踪系统可以检测所 述跟踪标记器(例如,标记器802、804、806以及或许其他各种标记 器)的位置,并可以创建和放置分别与所述跟踪标记器相关联的点(例 如,点852、854、856以及或许各种其他点)在所述跟踪系统的坐标 框架中。从这些点(例如,点852、854、856以及或许其他点),所 述跟踪系统可以确定原点(例如,点860)和所述真实物体的表示的取 向(参见围绕点860的立方体和取向线)。所述原点可以通过计算所 述点852、854、856以及或许其他点的质心(例如,质量中心)而确 定。可以设置所述取向,以匹配(或关于)所述跟踪系统的坐标系的 取向。一旦所述跟踪系统确定所述摄像机的参考框架(例如,与所述 跟踪系统坐标框架相关联的原点/位置和取向),则所述跟踪系统可以 串流关于所述摄像机的位姿的信息到所述虚拟建模软件。当所述摄像 机可以移动和/或旋转时,关于所述摄像机的串流位姿信息可以实时更 新。

在本公开的一些实施例中,所述摄像机可以并入计算机(例如,运 行所述虚拟建模软件的计算机)内。作为一个具体示例,所述计算机 可以是具有集成摄像机的平板计算机。图8C示出了具有集成摄像机的 示例性平板计算机870的图示。例如,所述平板计算机870的第一侧 874可以面对用户872,而相对的第二侧876可以远离用户872。所述 摄像机可以安装到所述第二侧876上,以便所述摄像机可以捕获真实 物体(例如,真实物体880)。如果所述AR系统被恰当地校准,则用 户872可以看到所述平板计算机870的屏幕上的真实世界场景(包括 真实物体880的视图881)。所述屏幕也可以显示虚拟内容(例如,虚 拟内容882),重叠在所述真实世界场景/真实物体的顶部上。为了跟 踪系统跟踪所述摄像机(例如,并入所述平板计算机870的摄像机), 多个跟踪标记器(例如,跟踪标记器884、886、888)可以安装到所述 平板计算机870上。然后,可以与上面解释的方法类似的方法进行所 述摄像机的跟踪。

再次参考图7,所述虚拟建模软件710可以接收关于所述摄像机的 位姿/参考框架的来自所述跟踪系统702的串流信息。然而,所述虚拟 建模软件710可能需要跟踪所述摄像机镜头的位置,而不是作为整体 的所述摄像机机身(或摄像机框架,或平板计算机)的位置。为了确 定所述摄像机镜头的参考框架,可以使用特殊的印刷标记器和相关的 软件。图9A和9B描述了示出所述印刷标记器如何可以允许所述镜头 的参考框架的确定的图示。如图9A中所示,摄像机902可以捕获或记 录真实世界项目,即摄像机的视场904。专用印刷标记器906可以放置 在所述摄像机的视场904中。应该理解的是,所述印刷标记器906仅 可以用来校准所述摄像机和所述AR系统。一旦所述虚拟建模软件能 够跟踪所述摄像机的镜头,则可以移除所述虚拟标记器906。

为了校准所述AR系统,所述印刷标记器906可以放置在所述摄像 机的视场904内,例如,在房间或实验室的三维空间内(例如,地板 上)的某处。所述印刷标记器906可包括可表示所述印刷标记器的坐 标框架(例如,原点和取向)的各种标记(例如,标记908)。所述摄 像机902然后可以捕获所述印刷标记器906(包括各种标记),并且可 以串流该信息到计算机910(例如,类似于图1的计算机106)。所述 计算机910可以是包括所述虚拟建模软件的相同的计算机。所述计算 机910可包括与所述印刷标记器906相关联的软件912。所述印刷标记 器软件912可以接收来自摄像机902的信息,包括该摄像机如何“看 到”所述印刷标记器906,例如,所述印刷标记器看上去如何在该摄像 机的视场内定位和取向。所述印刷标记器软件912然后可以处理该信 息,从而例如当所述镜头位于由所述印刷标记器906(和所述各种标记 908)建立的坐标框架内时,确定摄像机902镜头的参考框架(例如, 原点和取向)。作为一个示例,并且参考图9B,为了校准的目的,所 述摄像机902和所述印刷标记器906可以相对于彼此取向,以便由所 述印刷标记器建立的轴(例如,X、Y、Z)对准所述摄像机的垂直轴、 水平轴和深度轴,特别是所述摄像机的镜头。

再次参考图7,所述虚拟建模软件(例如,通过与特殊的印刷标记 器相关的软件)可以确定摄像机镜头参考框架714,例如,当摄像机镜 头参考框架714与由所述印刷标记器建立的坐标框架712相关时。为 了关联所述摄像机镜头的位姿与各种虚拟物体的位姿,所述虚拟建模 软件可以将所述摄像机镜头放置到与所述跟踪系统相关联的坐标框架 内,例如,如由所述跟踪系统跟踪的,通过关联所述摄像机镜头的参 考框架714与作为整体的所述摄像机的参考框架706。然而,所述虚拟 建模软件710可能不能够关联所述摄像机镜头的参考框架714与作为 整体的所述摄像机的参考框架706,直到所述AR系统得到校准,例如, 因为由所述印刷标记器建立的坐标框架712可能不同于由所述跟踪系 统建立的坐标框架704。因此,所述校准过程可包括对准(一般由数字 716所示)由所述印刷标记器建立的坐标框架712和由所述跟踪系统建 立的坐标框架704。这种对准可包括将所述印刷标记器(例如,所述印 刷标记器的原点)放置在与所述跟踪系统坐标框架的原点相同的位置 (例如,房间或实验室的地板上的三维空间内的相同位置)。所述对 准也可包括对准所述印刷标记器的各轴(例如,X、Y、Z)与所述跟 踪系统的坐标框架的各轴。在这方面,一旦这两个坐标框架对准,则 所述虚拟建模软件710就可以将它们视为相同的坐标框架。

为了关联所述摄像机镜头的参考框架714与作为整体的所述摄像 机的参考框架706,所述虚拟建模软件710可确定/计算映射或变换(例 如,图7中所示的C3变换)。在所述校准过程完成之前,所述C3变 换可能不是已知的。如上面所解释的,所述校准过程可以确定与所述 C3变换相关的其他各种映射或变换。如图7中所示,所述校准过程可 以确定所述C1变换(即,其中所述跟踪系统将所跟踪的摄像机放置在 其坐标框架内)和所述C2变换(即,所述印刷标记器坐标框架712和 由与所述印刷标记器相关联的软件确定的新的摄像机镜头参考框架 714之间的平移和旋转差)。一旦所述C1和C2变换已知,则所述C3 变换可以被计算。一旦所述C3变换已知,则所述摄像机可以来回移动, 并且所述虚拟建模软件可以跟踪所述跟踪系统的坐标框架中的摄像机 镜头,即使所述印刷标记器不再出现在所述摄像机的视场内。当来自 所述跟踪系统的信息(例如,所述摄像机的位姿)串流到所述虚拟建 模软件时,如果所述C1变换发生改变(即,所述摄像机在三维空间内 的位姿),则所述C3变换可以例如实时更新。在这方面,虚拟物体可 以重叠在真实世界场景上,并且例如,随着所述摄像机移动,所述虚 拟物体的外观可以适当地发生改变。

以下说明了一个示例性技术来计算所述C3变换,如图7中所示。 图7中所示的各种变换(C1、C2、C3)中的每个都可以表示为变换矩 阵,例如,三维计算机图形中通常使用的4×4变换矩阵。所述C1变换 可以表示为下面的等式6中所示的变换矩阵。所述C2变换可以表示为 下面的等式7中所示的变换矩阵。

C1=DCM1v10001  (等式6)

C2=DCM2v20001  (等式7)

类似于上面所描述的Mn变换矩阵,每个Cn变换矩阵可以包括旋转 或取向分量(DCMn)和平移或位置分量(vn)。然后,可以如下面的 等式8中所示计算所述C3变换,从而得到下面的等式9中所示的C3 变换。

                        (等式8)

C3=DCM3v30001  (等式9)

然后,再次参考图7,所述C3变换可以用来将所述摄像机镜头放 置在与所述跟踪系统相关联的坐标框架中,例如,通过关联所述摄像 机镜头的位姿与由所述跟踪系统跟踪的所述摄像机的位姿。当来自所 述跟踪系统的信息(例如,所述摄像机的位姿)被串流到所述虚拟建 模软件时,如果所述C1变换发生改变(即,所述摄像机在三维空间内 的位姿),则所述C3变换可以例如实时更新。在操作中,所述C3变 换的更新可以运作如下:所述跟踪系统702可以检测摄像机的位姿的 变化(跟踪系统更新C1)。所述跟踪系统702可以串流所述摄像机的 参考框架706信息(例如,以变换矩阵的形式)到所述虚拟建模软件 710。所述虚拟建模软件可以使该参考框架/变换矩阵乘以所述C3变换 矩阵,以进行所述C3变换。所述虚拟建模软件然后可以根据所述摄像 机变化的位姿而更新在与所述跟踪系统相关联的坐标框架中的各种虚 拟物体的位姿。

再次参考图1,所述虚拟建模软件110可以执行本文所描述的各种 例程、技术等,以创建动态增强场景(例如,增强场景114),例如, 由通过动态可变虚拟物体增强和/或覆盖的摄像机102所捕获的真实世 界空间的实时视图。一旦所述AR系统的校准实现,如上所述,所述 虚拟建模软件110可以动态地保持各种虚拟物体和包括一个或多个真 实物体(例如,真实物体104)的现场真实世界场景之间的相关性和/ 或对准。即使当所述摄像机102可以围绕物体104移动和旋转时,并 且即使当所述真实物体104可以移动和旋转时,所述虚拟建模软件110 也可以保持这种对准。

所述虚拟建模软件110可产生示出放置在现场视频馈送上的虚拟 物体的动态增强场景114(例如,在显示器116上显示)。例如,根据 所述摄像机102的位姿和/或所述真实物体104的位姿,所述虚拟建模 软件110可以适当地使所述增强场景中的虚拟物体变形(例如,改变 三维位置、三维取向和/或三维尺寸)。例如,如果所述摄像机102进 一步移动远离所述真实物体104,则所述增强场景中的一个或多个虚拟 物体会收缩。作为另一示例,如果所述摄像机102移动得更接近所述 真实物体104,则一个或多个虚拟物体将放大。作为另一示例,如果所 述摄像机102以相对于所述真实物体104的角度移动,则一个或多个 虚拟物体将适当地旋转。在所述增强场景显示在显示器116上之前, 所述增强场景114可以(例如立刻)存储在存储器(例如,易失性或 非易失性存储器单元)中。显示器116上显示的和/或所述增强场景114 中保持的所述增强的或虚拟的内容对于正在使用所述AR系统的用户 会是有用的。例如,用户可以与所述虚拟内容交互和/或从所述增强内 容接收有益信息。作为一个具体的示例,虚拟物体/内容可以向技术人 员提供关于一台机器在制造过程中的有价值的指导信息。

图10A描述了可以根据本公开的一个或多个实施例产生的示例性 增强场景的图示。所述增强场景可包括由摄像机捕获的真实世界场景/ 环境,例如,具有桌子1004和该桌子上的真实物体1006(例如,一台 机器)的房间1002的一部分。所述增强场景可包括由本文所描述的 AR系统添加的一个或多个虚拟物体,例如,与所述真实物体1006相 关的(例如基于所述真实物体1006的CAD模型)的虚拟物体1010。 图10A仅示出所述虚拟物体1010的一部分(例如,剖开)。此剖视图 可帮助示出所述虚拟物体1010如何可以与所述真实物体1006对准。 然而,应该理解的是,在一些实施例中,整个虚拟物体可以显示在所 述增强场景中。如果所述摄像机移动,则所述真实世界场景和所述虚 拟物体可以类似方式移动。如果所述真实物体移动,则与所述真实物 体相关的任何虚拟物体均可以类似方式移动。图10A的示例性增强场 景是一个示例,其示出了基于所述真实物体建模的虚拟物体如何可以 与所述真实物体对准,例如,以校准所述AR系统。在一些示例中, 在校准完成后,基于所述真实物体建模的虚拟物体可能不出现在所述 增强场景中。相反,其他各种虚拟物体可以出现,例如,与所述真实 物体相关的工具、硬件(例如,螺钉)、布线、指令等。例如,这些 虚拟物体可以向技术人员提供关于一台机器的有价值的指导信息,例 如,关于如何安装项目或执行任务(例如,钻孔)的指令。

图10B描述了可以根据本公开的一个或多个实施例产生的示例性 增强场景的图示。所述增强场景可包括由摄像机捕获的真实世界场景/ 环境,例如,具有真实物体1056(例如,面板)的房间1052的一部分。 所述增强场景可包括由本文所描述的AR系统添加的一个或多个虚拟 物体,例如,可以是箱子或单元的虚拟物体1060,和各种关联的电线、 导管和/或电线线束。如果所述摄像机移动,所述真实世界场景和所述 虚拟物体可以类似方式移动。如果所述真实物体1056移动(例如,所 述面板),则与所述真实物体相关的任何虚拟物体(例如,虚拟物体 1060)可以类似方式移动。例如,图10B的示例性增强场景可以向技 术人员指示如何将单元1060安装在面板1056上。

本公开的某些实施例可以在用于增强现实的自动化参考框架校准 的一个或多个方法中发现。关于本文所描述的以及关联的附图中描绘 的各种方法,应该理解的是,在一些实施例中,所描述和/或描绘的步 骤中的一个或多个步骤可以不同顺序执行。此外,在一些实施例中, 一种方法可包括比所描述和/或描绘的步骤更多或更少的步骤。

图11描述了根据本公开的一个或多个实施例示出了在一种用于增 强现实的自动化参考框架校准的方法中的示例性步骤的流程图1100。 更具体地,图11示出了可以用来确定和/或计算虚拟物体(例如,添加 到增强场景的虚拟物体)的参考框架和与跟踪系统相关联的参考框架 之间的映射或变换的自动化参考框架校准的方法中的示例性步骤。在 步骤1102,例如,在所述跟踪系统的设置过程中建立所述跟踪系统的 坐标系。在步骤1104,所述跟踪系统可以跟踪或确定真实物体(RO) 的参考框架。所述跟踪系统也可以在步骤1104处确定所述M1变换。 为了所述跟踪系统跟踪真实物体,所述真实物体可能需要配备有多个 跟踪标记器。

在步骤1106处,例如,通过表示多个参考点(例如,使用棒)和 计算原点,虚拟建模软件可以确定所述真实物体的新的参考框架。在 步骤1108处,虚拟建模软件可以计算所述M2变换(例如,在所述新 的RO参考框架和由所述跟踪系统确定的真实物体的参考框架之间的 位姿的差异)。在步骤1110处,所述虚拟建模软件可以访问或加载虚 拟物体(例如,基于所述真实物体建模的虚拟物体),并可以确定所 述VO的参考框架。在步骤1112处,例如,通过在所述虚拟模型上标 示在所述真实物体上标示的相同的参考点以创建新的RO参考框架, 所述虚拟建模软件可以确定新的VO参考框架。所述点的原点可以被 计算。在步骤1114处,所述虚拟建模软件可以计算所述M3变换(例 如,所述新的VO参考框架和原始的VO参考框架之间的位姿的差异)。 在步骤1116处,所述虚拟建模软件可以计算所述M4变换(例如,通 过将所述M1、M2和M3变换矩阵相乘在一起)。

图12描述了根据本公开的一个或多个实施例示出在用于增强现实 的自动化参考框架校准的方法中的示例性步骤的流程图1200。更具体 地,图12示出了用于自动化参考框架校准的方法中的示例性步骤,所 述方法可以用来确定和/或计算由跟踪系统跟踪的摄像机的参考框架和 所述摄像机镜头的参考框架之间的映射或变换。在步骤1202处,例如, 在所述跟踪系统的设置过程中建立了所述跟踪系统的坐标系。在步骤 1204处,所述跟踪系统可以跟踪或确定摄像机的参考框架。所述跟踪 系统也可以在步骤1204处确定所述C1变换。为了所述跟踪系统跟踪 摄像机,所述摄像机(或摄像机框架,或平板计算机)可能需要配备 有多个跟踪标记器。在步骤1206处,例如,通过使用印刷标记器和相 关的软件,可以建立与印刷标记器相关联的坐标框架。与所述印刷标 记器相关联的坐标框架可以与所述跟踪系统的坐标框架对准。在步骤 1208处,虚拟建模软件(例如,通过与所述印刷标记器相关联的软件) 可以确定例如相对于所述印刷标记器的坐标框架的所述摄像机镜头的 参考框架。在步骤1210处,所述虚拟建模软件可以计算所述C2变换 (例如,所述摄像机镜头参考框架和所述印刷标记器坐标框架之间的 位姿的差异)。这种计算可以(至少部分)由与所述印刷标记器相关 联的软件执行。在步骤1212处,所述虚拟建模软件可以计算所述C3 变换(例如,通过由所述C1变换矩阵除以所述C2变换矩阵)。

本文所描述的任何系统和方法也考虑了各种变体,其包括由具有至 少一个处理器的数据处理系统100执行的用于增强现实100的方法。 可替代的方法可以包括接收或建立与物体跟踪系统108相关联的跟踪 系统坐标框架204。所述跟踪系统坐标框架204与真实三维空间对准, 并跟踪真实物体104和摄像机102在真实三维空间内的位置和取向。 在此布置中,所述数据处理系统100也从所述跟踪系统108接收所述 真实物体104的第一真实物体参考框架212。所述第一真实物体参考框 架212表示所述真实物体104相对于所述跟踪系统坐标框架204的位 置和取向。

接着,所述数据处理系统100确定所述真实物体104的第二真实物 体参考框架212,其中所述第二真实物体参考框架212表示所述真实物 体104相对于所述跟踪系统坐标框架204的位置和取向。所述数据处 理系统100然后接收用于虚拟物体112的第一虚拟物体参考框架216, 其中所述虚拟物体112是在所述真实物体104后建模的,并且其中所 述第一虚拟物体参考框架212与所述跟踪系统坐标框架204无关。

所述数据处理系统100也确定用于所述虚拟物体112的第二虚拟物 体参考框架216,其中所述第二虚拟物体参考框架216表示所述虚拟物 体112相对于所述跟踪系统坐标框架204的位置和取向。虚拟物体112 映射也是在所述第一虚拟物体参考框架216和所述跟踪系统坐标框架 204之间确定的。

增强场景114由所述数据处理系统100显示并包括所述真实三维空 间的视图、所述真实物体104的视图和一个或多个重叠的虚拟项目。 在这里,所述虚拟物体112映射用于将所述一个或多个重叠的虚拟项 目放置在所述增强场景114中,以便所述一个或多个虚拟项目与所述 真实物体104对准。

在进一步的可选布置中,所述数据处理系统100经配置也确定所述 第二真实物体参考框架212,其可以接收或检测所述真实物体104上的 三个或更多个真实物体非共线点。相对于所述跟踪系统坐标框架204 限定了三个或更多个真实物体非共线点的位置。通过计算所述三个或 更多个真实物体非共线点的质心,确定真实物体104原点。然后确定 真实物体取向,该取向与所述第一真实物体参考框架212的取向相关。 可以优选的是,所述第二虚拟物体参考框架216是通过接收或表示所 述虚拟物体112上的三个或更多个虚拟物体非共线点而确定的,其中 相对于所述跟踪系统坐标框架204限定三个或更多个虚拟物体非共线 点的位置。其后,虚拟物体原点可以通过计算所述三个或更多个虚拟 物体非共线点的质心而确定,这可以进一步确定虚拟物体取向。

在对任何所描述的布置的进一步改进中,所述第二真实物体参考框 架212和所述第二虚拟物体参考框架216对准,其中所述三个或更多 个虚拟物体非共线点和所述三个或更多个真实物体非共线点都位于相 对于所述跟踪系统坐标框架204的大致相同的位置。另外,所述真实 物体104取向和所述虚拟物体112取向大致是相同的,因为每个取向 都与所述跟踪系统坐标框架204有关。

在其他配置中,所述虚拟物体112映射的确定可包括接收或确定表 示所述第一真实物体参考框架212的第一变换矩阵。也可以确定表示 所述第一真实物体参考框架212和所述第二真实物体参考框架212之 间的位置和取向的差异的第二变换矩阵。此外,可以确定表示所述第 一虚拟物体参考框架216和所述第二虚拟物体参考框架216之间的位 置和取向的差异的第三变换矩阵。也可以计算表示所述虚拟物体112 映射的第四变换矩阵。在这里,所述第四变换矩阵表示所述第一虚拟 物体参考框架216和所述跟踪系统坐标框架204之间的位置和取向的 差异。所述第四变换矩阵也通过执行所述第一、第二和第三变换矩阵 之间的矩阵乘法而计算。

在另一布置中,使用所述虚拟物体112映射将所述一个或更多个重 叠的虚拟项目放置在所述增强场景114中可以包括接收第一重叠虚拟 项目的第一虚拟项目参考框架216。在此变体中,所述第一虚拟项目参 考框架216与所述跟踪系统坐标框架204无关。可以参考所述虚拟物 体112映射,以变换所述第一虚拟项目参考框架216到与所述跟踪系 统坐标框架204相关的变换后的参考框架。可以使用所述变换参考框 架将所述第一重叠虚拟项目放置在所述增强场景114中。

所述数据处理系统100可进一步配置为从所述跟踪系统108接收关 于所述真实物体104的位置和取向的实时信息。在这种改进中,所述 虚拟物体112映射是基于所述实时信息更新的,并且所述增强场景114 是通过更新所述一个或更多个重叠虚拟项目的放置而更新的,以便所 述一个或更多个虚拟项目保持与所述真实物体104对准。

本公开的方法、例程和技术(包括所描述的不同实施例的流程图和 方框图中示出的示例性方法和例程)可以实施为由一个或多个数据处 理系统执行的软件,所述一个或多个数据处理系统被编程,以便所述 数据处理系统适于执行和/或实施本文所描述的部分或所有的方法、例 程和/或技术。本文所引用的方框图或流程图中的每个方框或符号可表 示计算机可用或可读程序代码的模块、区段或部分,所述计算机可用 或可读程序代码包括用于由一个或多个数据处理系统实施指定的一个 或多个功能的一个或多个可执行指令。在本公开的一些可替代的实施 方式中,方框图或流程图的方框或符号中示出的一个或多个功能可以 不以图中所注明的顺序出现。例如,在一些情况下,连续示出的两个 方框或符号可以基本同时执行,或者所述方框有时可以相反顺序执行, 这取决于所涉及的功能。在所述数据处理系统执行所述代码之前,部 分或所有的所述计算机代码可以被加载到数据处理系统的存储器内。

图13描述了可以用来实施本公开的一个或多个实施例的示例性数 据处理系统1300的方框图。例如,同样暂时地参考图1,计算机106 可以采用与图13的数据处理系统1300类似的数据处理系统的形式。 作为另一示例,与跟踪系统108相关的跟踪系统软件可以在与图13的 数据处理系统1300类似的数据处理系统上执行。参考图13,数据处理 系统1300可以用来部分地或全部地执行本公开的方法、例程和/或解决 方案中的一个或多个。在本公开的一些实施例中,一个以上的数据处 理系统可以用来实施本文所描述的方法、例程、技术和/或解决方案。

在图13的示例中,数据处理系统1300可包括提供各组件(例如, 处理器单元1304、存储器1306、永久性贮存器1308、通信单元1310、 输入/输出(I/O)单元1312和显示器1314)之间的通信的通信结构1302。 总线系统可以用来实施通信结构1302,并可以由一个或多个总线(如 系统总线或输入/输出总线)组成。通过使用为连接到总线系统的不同 组件或装置之间的数据传输提供的任何适当类型的架构,可以实施所 述总线系统。

处理器单元1304可以用于执行可加载到所述数据处理系统1300 内的指令(例如,软件程序),例如,加载到存储器1306内。处理器 单元1304可以是一个或多个处理器的集合,或者可以是多处理器核心, 这取决于特定的实施方式。处理器单元1304可以使用一个或多个异构 处理器系统实施,在所述一个或多个异构处理器系统中,主处理器与 次级处理器提供在单个芯片上。作为另一说明性示例,处理器单元1304 可以是包含相同类型的多个处理器的对称的多处理器系统。

存储器1306可以是例如,随机存取存储器或任何其他合适的易失 性或非易失性存储装置。存储器1306可包括一层或多层的高速缓冲存 储器。永久性贮存器1308可以采用各种形式,这取决于特定的实施方 式。例如,永久性贮存器1308可包含一个或多个组件或装置。例如, 永久性贮存器1308可以是硬盘驱动器、固态驱动器、闪存或上述的某 种组合。

用于操作系统的指令可以位于永久性贮存器1308上。在一个具体 实施例中,所述操作系统可以是多个已知操作系统的某种版本。用于 应用和/或程序的指令也可以位于永久性贮存器1308上。这些指令可以 加载到存储器1306内,以由处理器单元1304执行。例如,本公开中 描述的不同实施例的方法和/或处理可以通过使用可以加载到存储器 (如存储器1306)内的计算机实施的指令而由处理器单元1304执行。 这些指令称为可以由处理器单元1304中的一个处理器读取和执行的程 序代码、计算机可用程序代码或计算机可读程序代码。

显示器1314可以提供一种机构来显示信息给用户,例如,通过LCD 或LED屏幕或监视器,或其他类型的显示器。应该理解的是,贯穿本 公开,术语“显示器”可以灵活的方式用来指物理显示器(如物理屏 幕),或指用户在物理装置的屏幕上看到的图像。输入/输出(I/O)单 元1312允许数据通过可以连接到数据处理系统1300的其他装置的输 入和输出。输入/输出装置可以直接地或通过插入I/O控制器而连接到 所述系统。

通信单元1310可以提供与其他数据处理系统或装置的通信,例如, 通过一个或多个网络。通信单元1310可以是网络接口卡。通信单元1310 可以通过使用有线和/或无线通信链路提供通信。在一些实施例中,所 述通信单元可包括经设计和/或适于根据各种无线通信标准(例如,WiFi 标准、蓝牙标准等)通信的电路。

为数据处理系统1300示出的不同组件并不意在提供对不同实施例 可以被实施的方式的架构限制。所述不同说明性实施例可以在包括除 了或代替为数据处理系统1300示出的那些组件以外的组件的数据处理 系统中实施。图13中所示的其他组件可以根据所示的说明性示例而变 化。

所述数据处理系统1300也可以布置为具有存储计算机代码的一个 或多个存储器单元和连接到所述一个或多个存储器单元1306的一个 或多个处理器单元1304,其中所述一个或多个处理器单元1304执行存 储在所述一个或多个存储器单元1306中的计算机代码。正在执行的计 算机代码接收或建立与物体跟踪系统108、202相关联的跟踪系统坐标 框架204。所述跟踪系统坐标框架204与真实三维空间对准,并且所述 跟踪系统108跟踪捕获真实三维空间的摄像机102和印刷标记器906 在所述真实三维空间内的位置和取向。

所述跟踪系统108接收所述摄像机102的摄像机参考框架,并且所 述摄像机参考框架表示所述摄像机102相对于所述跟踪系统坐标框架 204的位置和取向。还接收或建立的是与所述印刷标记器相关联的印刷 标记器坐标框架204,其中所述印刷标记器坐标框架204与所述真实三 维空间对准。所述印刷标记器坐标框架204与所述跟踪系统坐标框架 204对准,并且摄像机镜头参考框架被确定用于所述摄像机102的镜头。 所述摄像机镜头参考框架表示所述摄像机102镜头相对于所述印刷标 记器坐标框架204的位置和取向。

在所述摄像机102参考框架和所述摄像机102镜头参考框架之间确 定摄像机102镜头映射,并且显示包括所述真实三维空间的视图和一 个或多个虚拟项目的增强场景114,其中所述摄像机102镜头映射用于 改变所述增强场景114中的所述一个或多个虚拟项目或使其失真。

所述不同的有利实施例的描述被提供以用于说明和描述的目的,且 并非意图穷举或将所述实施例限制为公开的形式。许多修改和变体对 于本领域的那些普通技术人员将是显而易见的。与其他有利实施例相 比,进一步的不同的有利实施例可以提供不同的优点。选择的一个或 多个实施例可以被选定和说明,以便最好地解释实际应用的实施例的 原理,并且能够使本领域的其他普通技术人员理解具有适合于所考虑 的特定用途的各种修改的各种实施例的公开。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号