首页> 中国专利> 使用多个传感器来进行绘图与定位

使用多个传感器来进行绘图与定位

摘要

本发明揭示用于使用移动装置执行定位与绘图的系统和方法。在一个实施例中,一种用于使用移动装置执行定位与绘图的方法包含:识别与所述移动装置所处的当前区域相关联的几何约束;获得由所述移动装置的至少第一相机俘获的所述当前区域的至少一个图像;经由所述移动装置的第二相机或所述移动装置的传感器中的至少一者获得与所述当前区域相关联的数据;及通过将与所述当前区域相关联的所述几何约束及所述数据应用于所述至少一个图像而对所述当前区域执行定位与绘图。

著录项

  • 公开/公告号CN104769640A

    专利类型发明专利

  • 公开/公告日2015-07-08

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201380055708.0

  • 发明设计人 M·拉马钱德兰;A·史汪明纳桑;

    申请日2013-09-24

  • 分类号

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人宋献涛

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-23

    授权

    授权

  • 2015-11-11

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

    实质审查的生效

  • 2015-07-08

    公开

    公开

说明书

技术领域

本发明涉及执行定位与绘图的领域。

背景技术

扩增实境(AR)提供使用计算机产生的音频及/或视觉内容扩增的现实世界环境的视 图。所述音频及/或视觉内容可覆盖在使用移动装置的相机俘获的现实世界环境的图像或 视频上或整合到其中。例如,扩增实境应用可实施在包含可用于俘获现实世界环境的图 像或视频的相机及可用于显示所述现实世界环境的经扩增视图的显示器的移动电话或 平板计算机上。

所述装置可包含一或多个传感器,所述一或多个传感器收集可用于确定所述装置的 位置、定向、速度及/或移动方向的数据。此信息可用于辅助装置产生扩增内容。所述传 感器还可用于收集来自用户的输入信息,例如触摸屏上的触摸或可用于允许用户导览在 所述装置上显示的经扩增内容的其它输入信息。

发明内容

本发明描述用于对移动装置执行定位与绘图的系统和方法。根据本发明的对移动装 置执行定位与绘图的方法的实例包含:识别与所述移动装置所处的当前区域相关联的几 何约束;获得由所述移动装置的至少第一相机俘获的所述当前区域的至少一个图像;经 由所述移动装置的第二相机或所述移动装置的传感器中的至少一者获得与所述当前区 域相关联的数据;及通过将与所述当前区域相关联的所述几何约束及所述数据应用于所 述至少一个图像而对所述当前区域执行定位与绘图。

所述方法的实施方案可包含以下特征中的一或多者。所述至少一个图像包含由所述 移动装置的所述第一相机俘获的第一图像及由所述移动装置的所述第二相机俘获的所 述当前区域的第二图像。获得与所述当前区域相关联的所述数据包含评估所述第一图像 及所述第二图像,且基于所述评估将所述第一图像或所述第二图像指定为主要图像,且 将所述第一图像及所述第二图像中的另一者指定为次要图像。获得与所述当前区域相关 联的所述数据进一步包含计算所述移动装置相对于环境的姿势,其中所述移动装置基于 经由所述第一相机俘获的所述主要图像或至少一个其它图像而定位。执行所述定位与绘 图包含:使用所述移动装置相对于所述移动装置定位在其中的所述环境的所述姿势从所 述主要图像提取第一图像特征,从所述次要图像提取第二图像特征;及基于所述第一图 像特征及所述第二图像特征而对所述当前区域执行定位与绘图。评估可包含相对于所述 第一图像及所述第二图像内的特征或所述第一图像及所述第二图像的图像质量中的至 少一者而评估所述第一图像及所述第二图像。所述第一相机可为前向相机且所述第二相 机可为侧向相机或后向相机。获得与所述当前区域相关联的所述数据可包含从所述移动 装置处的定向传感器收集数据。执行所述定位与绘图可包含基于从所述定向传感器收集 的所述数据而估计所述移动装置的定向。执行所述定位与绘图进一步包括通过将所述几 何约束应用于从所述至少一个图像提取的与所述移动装置的所述定向相关的特征而从 所述至少一个图像提取所述特征。基于所述几何约束及所述移动装置的所述定向而执行 对从所述至少一个图像提取的所述特征的绘图或跟踪中的至少一者。基于所述几何约束 及所述移动装置的所述定向而识别所述至少一个图像内的表面,所述表面包括水平表面 或垂直表面中的至少一者;渲染所述至少一个图像以用于在显示屏上显示;及在所述显 示屏上渲染对所述至少一个图像内所识别的所述表面中的至少一者的扩增。

根据本发明的可操作以执行定位与绘图的移动装置的实例包含:跟踪模块,其经配 置以识别与所述装置所处的当前区域相关联的几何约束;至少一个相机,其通信地耦合 到所述跟踪模块且经配置以俘获所述当前区域的至少一个图像;至少一个装置传感器, 其通信地耦合到所述跟踪模块且经配置以获得与所述当前区域相关联的数据,所述至少 一个装置传感器包括相机或定向传感器中的至少一者;及同时定位与绘图(SLAM)子系 统,其通信地耦合到所述跟踪模块且经配置以至少部分通过将与所述当前区域相关联的 所述几何约束及所述数据应用于所述至少一个图像而对所述当前区域执行定位与绘图。

所述移动装置的实施方案可包含以下特征中的一或多者。所述至少一个相机可包含 第一相机及第二相机;且所述至少一个图像可包含由所述第一相机俘获的第一图像及由 所述第二相机俘获的第二图像。相机图像评估器,其通信地耦合到所述第一相机及所述 第二相机且经配置以评估所述第一图像及所述第二图像,且基于所述评估将所述第一图 像或所述第二图像指定为主要图像且将所述第一图像及所述第二图像中的另一者指定 为次要图像。所述跟踪模块进一步经配置以基于经由所述第一相机俘获的所述主要图像 或至少一个其它图像而计算所述装置相对于所述装置定位在其中的环境的姿势。所述 SLAM子系统进一步经配置以:使用所述装置相对于所述装置定位在其中的所述环境的 所述姿势从所述主要图像提取第一图像特征,从所述次要图像提取第二图像特征;及基 于所述第一图像特征及所述第二图像特征而对所述当前区域执行定位与绘图。所述相机 图像评估器进一步经配置以相对于所述第一图像及所述第二图像内的特征或所述第一 图像及所述第二图像的图像质量中的至少一者而评估所述第一图像及所述第二图像。所 述第一相机可为前向相机且所述第二相机可为侧向相机或后向相机。所述定向传感器可 经配置以产生与所述装置的定向相关的数据。所述跟踪模块可包含经配置以基于由所述 定向传感器产生的所述数据而估计所述装置的所述定向的姿势估计模块。所述SLAM子 系统经配置以至少部分通过将所述几何约束应用于从所述至少一个图像提取的与所述 装置的所述定向相关的特征而从所述至少一个图像提取所述特征。所述SLAM子系统进 一步经配置以:基于所述几何约束及所述装置的所述定向而识别所述至少一个图像内的 表面,所述表面包括水平表面或垂直表面中的至少一者,且所述装置可包含显示屏及图 形处理器,所述图形处理器经配置以渲染所述至少一个图像以用于在所述显示屏上显 示,且在所述显示屏上渲染对所述至少一个图像内所识别的所述表面中的至少一者的扩 增。

根据本发明的促进执行对移动装置的定位与绘图的设备的实例包含:用于识别与所 述移动装置所处的当前区域相关联的几何约束的装置;用于获得由所述移动装置的至少 第一相机俘获的所述当前区域的至少一个图像的装置;用于经由所述移动装置的第二相 机或所述移动装置的传感器中的至少一者获得与所述当前区域相关联的数据的装置;及 用于通过将与所述当前区域相关联的所述几何约束及所述数据应用于所述至少一个图 像而对所述当前区域执行定位与绘图的装置。

根据本发明的用于跟踪场景的要素的方法的实例包含:基于在所述装置的相机处俘 获的场景或环境的至少一部分的一或多个图像、来自与所述装置相关联的一或多个额外 传感器的信息或数据及所述场景或环境的一或多个约束而跟踪所述场景或环境相对于 装置的若干要素。

所述方法的实施方案可包含以下特征中的一或多者。所述一或多个约束包括关于所 述场景的先验知识。所述先验场景知识可包含所述场景或环境中的一或多个平面的近似 定向。可估计所述一或多个约束。所述一或多个额外传感器可包含第二相机。所述一或 多个额外传感器可包含惯性传感器。所述一或多个额外传感器可包含加速度计、陀螺仪、 指南针、磁力计或压力传感器中的至少一者。

根据本发明的方法的实例包含使用在耦合到移动装置的一个以上相机处俘获的图 像来执行同时定位与绘图(SLAM)。所述方法的实施方案可包含以下特征中的一或多者。 所述相机中的至少两者的视野大体上不重叠。所述相机中的所述至少两者的视野在相反 方向上指向。所述相机中的所述至少两者的视野是大体上垂直的。可在所述相机处大体 上同时俘获所述图像。所述图像中的至少两者是在所述相机中的两者或更多者处在不同 时刻期间俘获的。

根据本发明的方法的实例包含基于在所述装置的相机处俘获的场景或环境的至少 一部分的一或多个图像、来自与所述装置相关联的一或多个额外传感器的信息或数据及 所述场景或环境的一或多个约束而执行装置在所述场景或环境内的定位,或将所述场景 或环境的至少一部分绘图。所述一或多个额外传感器可包含第二相机、加速度计、陀螺 仪、指南针、磁力计及压力传感器中的至少一者或其任何组合。

非暂时性计算机存储装置媒体的实例包括经配置以致使处理器进行以下操作的处 理器可执行指令:识别与所述移动装置所处的当前区域相关联的几何约束;获得由所述 移动装置的至少第一相机俘获的所述当前区域的至少一个图像;经由所述移动装置的第 二相机或所述移动装置的传感器中的至少一者获得与所述当前区域相关联的数据;及通 过将与所述当前区域相关联的所述几何约束及所述数据应用于所述至少一个图像而对 所述当前区域执行定位与绘图。

根据本发明的方法的实例包含基于在所述装置的相机处俘获的场景或环境的至少 一部分的一或多个图像、来自与所述装置相关联的一或多个额外传感器的信息或数据及 所述场景或环境的一或多个约束而跟踪所述场景或环境相对于装置的若干要素。

所述方法的实施方案可包含以下特征中的一或多者。一或多个约束包含先验场景知 识。所述先验场景知识包括所述场景或环境中的一或多个平面的近似定向。可估计所述 约束中的一或多者。所述一或多个额外传感器可为第二相机、惯性传感器、加速度计、 陀螺仪、指南针、磁力计或压力传感器。

根据本发明的方法的实例包含使用在耦合到移动装置的两个或更多个相机处俘获 的图像来执行同时定位与绘图(SLAM)。所述方法的实施方案可包含以下特征中的一或 多者。所述相机中的至少两者的视野大体上不重叠。所述相机中的所述至少两者的视野 可在相反方向上指向。所述相机中的所述至少两者的视野是大体上垂直的。在所述多个 相机处大体上同时俘获所述图像。所述图像是在所述相机中的两者或更多者处在不同时 刻期间俘获的。

根据本发明的方法的实例包含基于在所述装置的相机处俘获的场景或环境的至少 一部分的一或多个图像、来自与所述装置相关联的一或多个额外传感器的信息或数据及 所述场景或环境的一或多个约束而执行装置在所述场景或环境内的定位,或将所述场景 或环境的至少一部分绘图。所述方法的实施方案可包含以下特征中的一或多者。所述一 或多个额外传感器可包含第二相机、加速度计、陀螺仪、指南针、磁力计及压力传感器, 或其任何组合。

本文中所描述的项目和/或技术可提供以下能力中的一或多者以及未提到的其它能 力。几何约束可存储在移动装置中及/或可由移动装置存取。可使用前向及/或背向相机 获得区域的图像。移动装置上的定向传感器可用于获得定向信息。所述几何约束及定向 信息可用于定位与绘图区域。可提供其它能力,且不是根据本发明的每个实施方案都必 须提供所论述的能力中的任一者,更不用说全部。此外,可有可能通过除了所述的手段 之外的手段来实现上述效果,且所述的项目/技术可能不一定产生所述的效果。

附图说明

图1说明并入有移动装置的组件的计算机系统的实例。

图2是可操作以执行本文中描述的功能的装置的图。

图3是包含装置传感器模块的用于同时定位与绘图的系统的框图。

图4是包含前向及背向相机的用于同时定位与绘图的系统的框图。

图5是包含跟踪模块的用于同时定位与绘图的系统的框图。

图6是用于执行定位与绘图且将几何约束应用于当前区域的一或多个图像的过程的 框流程图。

图7是用于在移动装置处评估两个图像、提取特征并执行定位与绘图的过程的框流 程图。

图8是用于基于定向及几何约束提取由移动装置俘获的图像的特征的过程的框流程 图。

具体实施方式

本文中描述用于执行定位与绘图(例如,同时定位与绘图(SLAM))的系统和方法。本 文中所说明的各种实例实施方案可实施于具有扩增实境(AR)功能的装置上。具有AR功 能的装置可为移动装置(例如,电话)、平板计算机、头戴式显示器或其它此类装置,或 目前存在或将来存在的任何其它合适的装置。一般来说,具有AR功能的装置包含用于 执行非暂时性、机器可读、机器可执行指令的处理器、用于俘获现实世界环境的图像或 视频的相机,及用于显示现实世界环境的扩增实境视图的显示器。在一些实施例中,本 文中描述的执行定位与绘图的方法可实施于机器人装置中,例如实施于经配置以在没有 干预的情况下进行导航的自主机器人中。

本文中描述的技术可整合到广泛多种AR应用中以产生比常规AR应用更令人满意 且吸引人的用户体验。所描述的技术可由具有AR功能的装置在软件(例如,经由执行存 储在存储器或机器可读存储媒体上的处理器可执行代码的处理器)、硬件或硬件与软件的 组合中执行。此外,本文中描述的技术中的至少一些可由不同于具有AR功能的装置的 一或多个装置执行。举例来说,具有AR功能的装置可与服务器或其它网络装置通信以 促进本文中描述的操作中的至少一些。然而,其它实施方案也是可能的。

图1说明并入有用于实施本文中描述的功能性的至少部分的具有AR功能的装置的 组件的计算机系统100的实例。如图1中所说明的计算机系统可作为下文描述的计算机 化装置的部分而并入。例如,计算机系统100可表示移动装置或智能电话的组件中的一 些组件。移动装置可为使用输入感觉单元(例如相机150、155)的任何计算装置,且还可 包含显示单元。移动装置的实例包含(但不限于)视频游戏控制台、平板计算机、智能电 话和任何其它手持式装置。图1仅打算提供对各种组件的一般化说明,可在适当时利用 所述组件中的任一者或全部。因此,图1广泛地说明可如何以相对分离或相对更整合的 方式实施个别系统元件。

计算机系统100经展示为包含硬件元件,所述硬件元件可经由总线105电耦合(或可 在适当时以其它方式通信)。硬件元件可包含:一或多个处理器110,包含(不限于)一或 多个通用处理器及/或一或多个专用处理器(例如,数字信号处理芯片、图形加速度处理 器,及/或其类似者);一或多个输入装置115,其可包含(不限于)一或多个相机、传感器 (包含惯性传感器)、鼠标、键盘及/或其类似者;及一或多个输出装置120,其可包含(不 限于)显示单元。除了输入装置115之外,计算机系统100可包含一或多个相机,例如第 一相机150及第二相机155。计算机系统100可另外或替代地包含一或多个定向传感器 160,例如惯性传感器(加速度计、陀螺仪等)、磁传感器(例如指南针或磁力计等)。虽然 图1中未展示,但计算机系统100还可利用一或多个额外传感器,例如压力传感器、温 度传感器等。此外,在一些实施例中,输入/输出装置可集成在(例如)触摸屏或电容性显 示器中。

计算机系统100可进一步包含一或多个非暂时性存储装置125及/或与其通信,所述 一或多个非暂时性存储装置125可包含(不限于)本地及/或网络可存取的存储装置、磁盘 驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)及/或只读存储器 (“ROM”)等固态存储装置,其可为可编程的、闪存可更新的及/或其类似者。此类存储 装置可经配置以实施任何适当的数据存储装置,包含(不限于)各种文件系统、数据库结 构和/或类似装置。

计算机系统100还可包含通信子系统130,其可包含(不限于)调制解调器、网卡(无 线或有线)、红外线通信装置、无线通信装置和/或芯片组(例如,BluetoothTM装置、802.11 装置、WiFi装置、WiMax装置、蜂窝式通信设施等),或类似者。通信子系统130可准 许与网络、其它计算机系统和/或本文中所描述的任何其它装置交换数据。计算机系统 100还可包含非暂时性工作存储器135,所述非暂时性工作存储器135可包含RAM或 ROM装置,如上文所描述。

计算机系统100还包含展示为当前位于工作存储器135内的软件元件。这些软件元 件包含操作系统140、装置驱动程序、可执行库及/或其它代码,例如由其它实施例提供 的一或多个应用程序145,其可包括由各种实施例提供的计算机程序且/或可经设计以实 施方法及/或配置系统,如本文中所描述。仅举例来说,相对于上文所论述的方法而描述 的一或多个程序可能实施为可由计算机(及/或计算机内的处理器)执行的代码及/或指令。 此类代码及/或指令可用于配置及/或调适通用计算机(或其它装置)以根据所述方法执行 一或多个操作。

一组这些指令及/或代码可存储在计算机可读存储媒体(例如,上文所描述的存储装 置125)上。在一些情况下,存储媒体可并入于例如计算机系统100等计算机系统内。在 其它情况下,存储媒体可与计算机系统(例如,可装卸式媒体,例如压缩光盘)分开,和/ 或提供于安装包中,使得存储媒体可用于编程、配置及/或调适其上存储有指令/代码的 通用计算机。这些指令可呈可由计算机系统100执行的可执行代码的形式,或替代地所 述指令可呈源和/或可安装代码的形式,所述源和/或可安装代码在计算机系统100上编 译及/或安装后(例如,使用多种一般可用的编译程序、安装程序、压缩/解压缩公用程序 等中的任一者),接着即刻呈可执行代码的形式。

可根据特定要求做出实质性变化。举例来说,还可使用定制硬件,及/或可在硬件、 软件(包含便携式软件,例如小程序等)或两者中实施特定元件。另外,可使用到例如网 络输入/输出装置等其它计算装置的连接。

一些实施例可使用计算机系统(例如,计算机系统100)来执行根据本发明的方法。 举例来说,所描述方法的程序中的一些程序或全部可由计算机系统100响应于处理器110 执行工作存储器135中所含有的一或多个指令(其可能并入到操作系统140和/或其它代 码中,例如,应用程序145)的一或多个序列来执行。可将此类指令从另一计算机可读媒 体读入到工作存储器135中,所述另一计算机可读媒体例如为存储装置125中的一或多 者。仅举例来说,执行工作存储器135中含有的指令的序列可能致使处理器110执行本 文中所描述的方法的一或多个程序。

如本文中所使用,术语“机器可读媒体”和“计算机可读媒体”是指参与提供致使 机器以特定方式操作的数据的任何媒体。在使用计算机系统100实施的实施例中,在将 指令/代码提供到处理器110以用于执行中可能涉及各种计算机可读媒体,及/或各种计 算机可读媒体可用以存储及/或携载此类指令/代码(例如,作为信号)。在许多实施方案中, 计算机可读媒体为物理及/或有形的存储媒体。此类媒体可采用许多形式,包含但不限于 非易失性媒体及易失性媒体。非易失性媒体包含(例如)光盘和/或磁盘,例如存储装置 125。易失性媒体包含(不限于)例如工作存储器135等动态存储器。或者,计算机系统 100可利用发射媒体(包含同轴电缆、铜线及光纤,其包含包括总线105的电线),以及 通信子系统130的各种组件(及/或通信子系统130借以提供与其它装置的通信的媒体)。 因此,传输媒体还可呈波的形式(包含(不限于)无线电、声波及/或光波,例如,在无线电 波及红外线数据通信期间产生的那些波)。

举例来说,常见形式的物理和/或有形计算机可读媒体包含软性磁盘、柔性磁盘、硬 盘、磁带,或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有 孔图案的任何其它物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储 器芯片或盒带、如下文所描述的载波,或计算机可从其读取指令和/或代码的任何其它媒 体。

在将一或多个指令的一或多个序列携载到处理器110以用于执行时可涉及各种形式 的计算机可读媒体。仅举例来说,起初可将指令携载于远程计算机的磁盘和/或光学光盘 上。远程计算机可将指令载入到其动态存储器中,并经由传输媒体将指令作为信号进行 发送以由计算机系统100接收及/或执行。根据本发明的各种实施例,可呈电磁信号、声 学信号、光信号和/或其类似者形式的这些信号都是可在其上编码指令的载波的实例。

通信子系统130(及/或其组件)一般将接收信号,且总线105可接着将信号(及/或由信 号所携载的数据、指令等)携载到处理器110从其检索并执行指令的工作存储器135。可 任选地在由处理器110执行之前或之后将由工作存储器135接收的指令存储在非暂时性 存储装置125上。

图2是可操作以执行本文中描述的功能的装置200的说明。图2可表示使用图1的 计算机系统的一或多个组件的移动装置,例如智能电话。然而,本文中描述的功能性不 限于使用智能电话,且可使用具有类似于图1的能力且适合于执行此类功能性的任何装 置。这些装置可包含移动装置、数码相机、摄像机、平板计算机、PDA或任何其它类似 装置。图2说明装置200的前面210及背面220。前面210包含显示器208及第一相机 204。显示器208可为如参考图1所论述的输出装置120。耦合到装置200的前向侧的第 一相机204还被称作前向相机。装置200的背面220包含第二相机206,在本文中也被 称作后向相机。装置200可被固持以使得前向相机204面向装置200的用户且后向相机 206背向装置的用户。或者,可为相反情况,其取决于装置200如何由用户固持。前向 相机204及后向相机206两者可为输入装置115的实施方案或可分别实施为第一相机150 及第二相机155,如参考图1所论述。前向相机204及后向相机206两者可包含多个相 机,以使得相机中的至少两者的视野不重叠。在一些实施例中,可以使用一或多个立体 相机。

在一实施例中,装置200包含可用于启用AR功能性的系统架构。例如,具有AR 功能的装置架构还可以用于实施图1中展示的通用计算系统100,且可包含额外的传感 器及检测器作为输入装置115及/或定向传感器160。具有AR功能的装置可包含传感器, 例如陀螺仪、加速度计、磁力计、惯性测量单元(IMU)及/或其它类型的传感器。装置200 还可包含用于处理由传感器收集的数据的传感器处理器。具有AR功能的装置还包含经 配置以从相机150、155接收输入的相机处理器。相机150、155可经配置以俘获现实世 界场景的图像及/或视频,其可使用本文中描述的扩增逻辑扩增。相机处理器可经配置以 处理由相机150、155中的一或多者收集的数据且将由相机收集的数据转换为可由扩增 逻辑使用的格式。相机处理器可经配置以对从相机收集的数据执行各种类型的图像或视 频处理以准备用于在显示器208(即,输出装置120)上显示的内容。

显示器208可为包含触摸传感器的触摸屏接口。图形处理器可用于产生图形数据以 供在显示器208上显示。扩增逻辑可经配置以将命令发送到图形处理器以显示经扩增图 像或视频内容。装置200可包含经配置以处理由触摸传感器输出的数据以识别用户何时 触摸触摸屏的触摸传感器处理器。触摸传感器处理器可经配置以识别各种触摸手势,包 含对触摸屏的多手指触摸。扩增逻辑可使用由触摸传感器处理器确定的手势来至少部分 确定扩增应如何响应于用户输入作出反应。装置200可包含通信控制器,其经配置以使 用一或多个无线协议使得装置200能够通信。通信控制器可经配置以允许装置从附近的 无线装置(包含无线接入点及其它具有AR功能的装置)发送及接收数据。存储器135包 含用于存储由具有AR功能的装置的各种组件使用的数据的易失性及/或持久性存储器。 存储器135可用于存储用于装置中包含的处理器中的一或多者的处理器可执行程序代 码。在一些情况下,扩增逻辑可实施为存储于存储器135中的处理器可执行指令。

所属领域的技术人员将了解,具有与在另一图中说明的元件类似的语义描述或名称 的某些所说明的元件通常可实施或单独地实施。例如,传感器可包括及/或用于实施定向 传感器160、惯性传感器、磁力计、压力传感器及/或定向传感器中的任一者。类似地, 相机可包括及/或用于实施相机150、155中的任一者,且图2中展示的显示器208可包 括及/或用于实施触摸传感器。

接下来参看图3,用于在计算机系统100处定位与绘图的系统300的框图包含一或 多个装置传感器310及一SLAM子系统330。传感器310包含一或多个相机(例如,一或 多个前向相机312及/或一或多个背向相机314),以及其它传感器(例如惯性传感器322(例 如,加速度计、陀螺仪等)、磁力计324、压力传感器326等)。术语前向及背向仅是示 范性的且不具有限制,因为系统300可包含经配置以使得至少多个相机的子集可提供环 境的不重叠的视图的多个相机。

SLAM子系统330利用例如在AR应用的情况下执行的用于绘图及定位的多个装置 传感器310。SLAM子系统330利用在与一区域相关联的一组几何约束上操作的定位模 块332及绘图模块334。此处,SLAM子系统330以一或多种方式利用装置传感器310 以充分利用所述几何约束并增强相关联的装置的定位与绘图。举例来说,使用前向及背 向相机两者可用于跟踪富有特征的环境,从而产生更稳健的整体跟踪。另外或替代地, 惯性传感器322及/或其它传感器310记录关于装置的信息,其如何被固持、其如何使用 及/或移动等。此信息随后用于提供装置相对于垂直线的倾斜以辅助识别并跟踪特征。在 一些实施例中,SLAM子系统330实施于图1中说明的处理器110中及/或工作存储器 135中,例如,实施于操作系统140及/或应用145中。

一般来说,SLAM子系统330可接收并存储与计算机系统100的预期位置相关联的 几何约束。例如,用于人造环境(例如,办公室建筑、购物中心等)的几何约束可包含与 规则结构相关联的参数。人造室内环境通常具有直线几何条件,其中平面是平行或正交 的。此外,这些环境通常具有若干规则结构,例如以若干图案重复的矩形或线。例如, 可将含有几何约束信息的计算机可读文件提供到计算机系统100以作为基于位置的服 务。还可以包含几何约束信息以作为工作存储器135中的应用145。几何约束信息可包 含用于架构特征(例如墙壁、门、窗、柱子及其它重复特征)的尺寸(例如,高度及宽度)。 重复特征可为头顶托梁或天花板的图案(例如,瓷砖、照明器具)。此类规则结构的尺寸 以及结构性组件(例如,点特征)的预期位置可用于SLAM子系统330内的各种算法中以 辅助绘图及定位。此外,几何约束信息可包含关于环境中的平面如何相对于彼此定向的 信息。例如,大多数地面及墙壁在室内环境中彼此垂直,且可包含其中两个走廊相汇的 墙壁的角度。在一些环境中,例如在户外环境中,各种平面的预期大小或高度可能包含 在几何约束信息中。例如,在户外环境中建造的侧面或正面可能为大致平面,且所述几 何约束信息可指示这些平面是否可能较大(例如,其中存在大量高建筑物)、较小(例如, 其中存在许多矮建筑物),瘦小(例如,其中许多建筑物一起紧密间隔),及/或较宽(例如, 其中一或多个建筑物具有较大的占据面积或楼层平面)。一般来说,现有的算法使用点特 征,其约束这些算法的操作空间。为了减轻这些约束,使用多个传感器(例如,两个相机、 一或多个相机与其它传感器的组合等)充分利用此先验知识且强制执行相关联的约束。虽 然本文中提供的实例一般涉及与人造环境相关联的约束,但不同环境可与不同约束相关 联,且所利用的所述约束可在环境之间或在相同环境的不同部分内变化。

一般来说,可由装置利用几何约束以使用如由图4所示的多个相机312、314、如由 图5所示的一或多个相机502及定向传感器504或这些方法的组合来促进改进的定位与 绘图。所选择的特定方法可取决于(例如)在装置处可用的组件的存在及/或类型、用户偏 好、所要的电力消耗水平及/或其它准则。下文进一步详细地描述图4到5中展示的方法。

首先参看图4,针对具有相机选择器模块402、一或多个前向相机312及一或多个 背向相机314的装置的定位与绘图说明系统400。相机选择器模块402可经配置以识别 将使用哪一相机用于定位与绘图。相机选择器模块可识别要使用的多个相机。所述多个 相机可包含一或多个前向相机312及/或一或多个背向相机314,或前向相机312与背向 相机314两者的组合。相机312、314可经配置以覆盖区域的不重叠视图。存储器135 可包含经配置以允许开发者基于应用要求来编程或以其它方式配置相机选择器模块402 的应用编程接口(API)。例如,如果稳健性更重要,那么相机选择器模块402可经配置以 运行多个相机以便使环境创建过程更快。在另一实例中,如果电力节约更重要,那么相 机选择器模块402可经配置以运行其中存在用于图像的质量的更多价值的更小数目的相 机。

由相机312、314俘获的图像由相机图像评估器405分析,所述相机图像评估器405 基于图像的质量及/或其它准则而将由相机312、314俘获的图像指定为主要相机图像及 补充性相机图像。这些图像被提供到跟踪模块410,跟踪模块410利用姿势估计模块412 及特征检测模块414以基于与当前区域相关联的所提供的几何约束来促进对移动装置的 定位与绘图。在一些实施例中,跟踪模块410被实施为SLAM子系统330的组件。跟踪 模块410及SLAM子系统330可单独地实施并例如在硬件或软件中耦合在一起。跟踪模 块410还可以实施于图1中说明的处理器110中及/或工作存储器135中,例如,实施于 操作系统140及/或应用145中。例如,跟踪模块410可实施于处理器110中且利用从 SLAM子系统330接收的信息来跟踪区域内的元件或系统400在所述区域中的移动,以 便将跟踪信息或其它数据提供到应用145(其可包括AR应用)。

来自移动装置的前向相机312及背向相机314两者的图像提供用于跟踪的额外信 息。一般来说,相机312、314中的一者面向用于跟踪的富有特征的环境。来自由相机 图像评估器405指定为主要相机的此相机的姿势可随后用于辅助检测由补充性相机成像 的结构且从两个相机将环境绘图。用于由主要相机检测到的矩形,可假设从补充性相机 检测到的矩形是平行或垂直的,以覆盖几何条件的实质性部分(例如,大于或等于约95%, 或另一百分比,其取决于其中使用所述系统的特定环境)。

跟踪模块410通过经由计算机视觉技术识别并跟踪装置目前所处的环境中的特征来 促进对装置的定位与绘图。然而,在一些情况下,跟踪依赖于在视图内检测到的特征的 大致恒定流。如果装置丢失任何特征的视图,那么由跟踪模块410采用的计算机视觉算 法可出故障,使得系统400不能够跟踪装置的位置。为了相对于此情况提供稳健性,系 统400利用多个相机312、314以改进系统400的计算机视觉性能且增加跟踪模块410 利用环境的特性以改进定位与绘图性能的能力。

此处,相机图像评估器405通过评估由前向相机312及背向相机314俘获的图像来 识别主要图像及补充性图像以确定哪一相机处于更大量的特征的视图中。然而,还可使 用用于此指定的其它技术,例如基于图像质量或其它度量的技术。可以规则或不规则间 隔、在基于触发事件的时间实例处等作出此指定。在指定主要及补充性相机图像之后即 刻由姿势估计模块412使用主要图像来基于此项技术中已知的技术识别相机的定向。此 定向以及提供给跟踪模块410的对当前区域的几何约束由特征检测模块414用于识别及 /或跟踪在主要图像(以及在需要时的补充性图像)中检测到的特征。

接下来转向图5,用于装置的定位与绘图的另一系统500利用相机502及一或多个 定向传感器504(例如,惯性传感器322、磁力计324等)。相机502及定向传感器504与 在相机502的视图中跟踪特征的跟踪模块410交互。跟踪模块410包含姿势估计模块412 及特征检测模块414,其类似于系统400中说明的姿势估计模块及特征检测模块而起作 用。使用相机502及定向传感器504,跟踪模块410可解出环绕装置的区域的几何条件。 然而,如果仅呈现单一相机,那么跟踪模块410可缺乏与相机相对于环境的定向相关的 知识。因此,跟踪模块410进一步利用相机轴平移模块512以经由定向传感器504识别 相机相对于环境的定向,且利用此信息强制执行提供给跟踪模块的对所述环境的几何约 束,如下文大体上描述。

例如室内办公室等环境通常具有众多水平及垂直平面表面(即,墙壁、门、窗、柱子), 其中少数表面偏离水平或垂直定向。此假设可用作用以从相机(例如,单眼相机)解出场 景的几何条件的先验知识。例如,作为解出任意定向的平面的参数的替代,可假设所述 平面是垂直或水平的以对搜索进行约束。

几何约束的一般实例包含具有规则结构的区域,例如曼哈顿世界场景(例如,曼哈顿 世界假设基于笛卡尔坐标系统来描述世界),其中线及平面沿着坐标轴对准。在此假设下, 可将一平面与由一个相机看到的点拟合,且可假设由另一相机看到的结构平行或垂直于 此平面。几何约束的其它实例可使用室内世界模型指定室内环境的几何条件。依据本文 中描述的实施例,此类室内世界模型可以用于使用多个相机(例如,相机312、314、502) 获得额外优点。跟踪模块410及/或SLAM子系统330可经配置以从一个相机解出场景 的结构且挑选所述模型,其可向可适用于另一相机(例如,具有不重叠的视图的相机)中 的场景的模型添加额外约束。在一些实施例中,用于多个相机的3D模型化可使用这些 几何约束联系在一起,且在一些实施例中可不针对每一相机独立地执行。

在相机跟踪应用中,取决于初始化,相机坐标系统通常相对于坐标系统(其相对于地 球或环境而界定)是未知的。因此,垂直及水平结构可在相机参考帧中竖直倾斜。使用来 自定向传感器504的重力及数据,相机轴平移模块可使相机参考帧的z轴对准于世界帧。 此外,通过使用磁传感器(例如,磁力计324),还可对准x轴及y轴。在此对准下,先 前的场景几何条件信息可用于通过将针对3D空间中的表面尝试的检测的范围限制到大 致水平轴及垂直轴,或通过以系统500在其中定位的特定环境的特性适当的其它方式限 制表面检测的范围及其相关联的约束,而限制用于3D几何条件的搜索空间。另外,如 上文所描述而获得的垂直及水平表面的知识可用于例如在显示屏处渲染对相机图像的 实际扩增。

此处,出于描述清楚起见而单独地说明及描述图4中的系统400及图5中的系统500。 然而,可例如由共同装置或彼此通信的一组装置一起使用这些系统400、500的各种组 件。因此,虽然单独地说明多相机及定向传感器驱动的实施方案,但除了一或多个定向 传感器或其它传感器之外,装置可使用多个相机。

参看图6,进一步参考图1到5,用于利用从多个传感器获得的几何约束及数据以 促进移动装置处的定位与绘图的过程600包含所展示的若干阶段。但是,过程600只是 一个实例并且没有限制性。例如,通过添加、移除、重新布置、组合及/或并行地执行各 阶段,可以更改过程600。对于所展示及描述的过程600的另外其它更改也是可能的。

在阶段602处,SLAM子系统330经配置以识别装置200所处的当前区域的几何约 束(与办公楼、购物中心或其它区域等相关联的直线几何条件)。在一实施例中,所述几 何约束被接收为基于位置的服务,或包含在应用软件中。在装置200上操作的位置确定 系统(例如,GPS)可用于识别所述几何约束(即,位置专有的约束)。用户还可经由显示器 208选择对输入新约束的先前存储的约束(例如,库文件)。

在阶段604处,由移动装置的至少主要相机俘获当前区域的图像。所述主要相机可 例如为图1到3中展示的相机150、155、204、206、312、314中的一者、如图4中所 展示的指定的主要相机312、314、如图5中所展示的相机502,或类似者。在一实施例 中,所述图像可包含先前存储在存储器135中(即,后处理)的先前俘获的图像。

在阶段606处,经由以下各者中的至少一者获得与所述当前区域相关联的数据:移 动装置的次要相机,例如,如图4中所展示的指定的次要相机312、314;或与移动装置 相关联的一或多个传感器,例如,图1中展示的定向传感器160、图3中展示的惯性传 感器322、磁力计324或压力传感器326、图5中展示的定向传感器504,或其它合适的 传感器。例如,惯性传感器322可用于检测装置200的定向(例如,经由重力),且/或磁 力计324可用于检测航向(例如,x/y定向)。

在阶段608处,至少部分通过将在阶段602处获得的几何约束及在阶段606处获得 的与所述当前区域相关联的数据应用于在阶段604处俘获的当前区域的图像而执行对当 前区域的定位与绘图。例如,经由利用一般如上文所论述而操作的跟踪模块410的SLAM 子系统330执行定位与绘图。将所述几何约束及与所述当前区域相关联的数据应用于如 上文相对于图4到5所展示及描述的图像。具体来说,如在阶段608处执行的定位与绘 图可利用平面是水平或垂直(例如,基于从定向传感器或其它传感器获得的数据、从图像 估计的相机姿势等)的知识或其它约束来处理当前区域的图像,这与假设图像中所描绘的 平面是任意定向形成对比。因此,在一些实施例中,可针对具有假设定向的平面搜索图 像,尝试识别任何任意定向的平面形成对比。如上文所描述,与对具有任意定向的特征 的环境的类似定位与绘图相比,此知识可简化定位与绘图。在一实施例中,从一个相机 获得的图像中的结构用于约束适用于从其它不重叠视图相机获得的图像的模型。因此, 不必针对每一相机独立地进行3D模型化,但所述相机可使用这些几何约束联系在一起。

一些或所有过程600可由装置200在本地执行且/或由远端装置(例如服务器)执行。 例如,虽然图像是在阶段604及/或606处使用移动装置处的相机俘获的,但此类图像还 可以由另一装置俘获且在服务器或另一装置处远程地处理或在移动装置处接收(例如,经 由接收器且/或用于查询及/或获得数据的其它装置)以进行本地处理。在阶段604及/或 606处在移动装置处在本地俘获的图像还可以被传递到一或多个远程实体以用于例如在 阶段608处进一步处理。然而,其它实施方案也是可能的。

参看图7,进一步参考图1到5,用于评估两个图像、提取特征并在移动装置处执 行定位与绘图的过程700包含所展示的若干阶段。然而,过程700仅为一实例并且没有 限制性。例如,可以通过添加、移除、重新布置、组合及/或并行地执行各阶段来更改过 程700。对所展示及描述的过程700的另外其它更改也是可能的。另外,过程700可用 于识别由相机看到的水平及垂直表面以在显示屏处渲染适当的扩增,如上文所描述。过 程700可用于评估多个图像。

在阶段702处,从移动装置的第一相机获得环绕移动装置的区域的第一图像,且从 移动装置的第二相机获得所述区域的第二图像。所述第一和第二图像仅是示范性的且并 非限制,因为过程700可经配置以获得并处理两个以上图像。在一些实施例中,从两个 以上相应的相机接收所述两个以上图像。可从一或多个前向相机312及/或一或多个背向 相机314获得所述图像。在一实施例中,所述相机在不同方向上定向且可俘获环境的不 同图像(例如,不同视野)。例如,如果一个相机被阻挡或另外归因于例如照明、定向等 因素而提供降级的图像,那么第二相机可具有场景的清楚视图。

在阶段704处,评估在阶段702处获得的第一图像及第二图像的质量。此处,此评 估是由相机图像评估器405基于图像内的特征、图像的质量或其它准则来执行。在一实 施例中,图像的分辨率可用于确定图像的质量。图像的质量可基于场景特征的数量及可 检测性。作为实例且未限制,离焦或遭受不当曝光(即,过曝光或欠曝光)或缺乏对比度 的图像可具较低质量,因为场景特征可能被遮蔽。图像俘获过程中的其它缺陷也可降低 图像的质量,例如被阻挡的视图或图像中总体缺乏特征。

在阶段706处,基于在阶段704处的评估,将第一图像或第二图像指定为主要图像, 且将第一图像及第二图像中的另一者指定为次要图像。例如,将把具有较高质量的图像 指定为主要图像。所述较高质量的图像可包含可由相机图像评估器405辨识的更多可检 测的特征或图案。

在阶段708处,例如由与跟踪模块410相关联的特征检测模块414从主要图像提取 第一图像特征。所述特征一般与所接收的几何约束相关联。例如,所述特征可为可检测 的架构特征,例如墙壁、门、柱子或其它人造图案(例如,天花板瓦片、照明器具、门签)。

在阶段710处,例如由姿势估计模块412基于主要图像计算移动装置的定向。例如, 姿势估计模块412应用所接收的几何约束信息以确定装置200的定向。例如,墙壁或天 花板瓦片或照明器具的定向可安置在先前已知的方位,且姿势估计模块412可经配置以 基于特征的已知方位确定对应的定向向量。

在阶段712处,相对于如在阶段710处确定的移动装置的定向从次要图像提取第二 图像特征。特征检测模块414及相关联的跟踪模块410可如先前针对主要图像所描述起 作用。在一实施例中,可基于图像的质量将加权函数应用于次要图像。例如,特征检测 可归因于低质量图像而降级。在此实例中,使用次要图像的特征检测的结果可不与经由 主要图像获得的结果相关。加权函数可用于减少或忽略经由次要图像获得的结果以努力 不使整体定向计算降级。几何约束可以用于选择或组合来自主要及次要图像的要素。例 如,给定两个或更多个相机相对于彼此的位置,基于在几何约束中提供的环境的已知几 何条件,来自从一个相机获得的良好图像的特征可与由另一相机俘获的特征等同。

在阶段714处,基于在阶段708处提取的第一图像特征及在阶段712处提取的第二 图像特征相对于区域对移动装置执行定位与绘图。此处,在阶段714处的操作是由SLAM 子系统330在来自跟踪模块410及其相关联的组件的辅助下执行的。

类似于过程600,一些或所有过程700可由装置200在本地执行及/或由服务器或其 它远端装置远程地执行。例如,虽然图像是在阶段702处使用移动装置处的相机俘获的, 但此类图像还可以由另一装置俘获且在服务器或另一装置处远程地处理或在移动装置 处接收(例如,经由接收器且/或用于查询及/或获得数据的其它装置)以进行本地处理。在 阶段702处在移动装置处在本地俘获的图像还可以被传递到一或多个远程实体以用于例 如在阶段706、708、712、714处进一步处理。然而,其它实施方案也是可能的。

参看图8,进一步参考图1到5,用于基于定向及几何约束提取由移动装置俘获的 图像的特征的过程800包含所展示的若干阶段。然而,过程800仅仅是一个实例并且不 具有限制性。例如,可通过添加、移除、重新布置、组合及/或并行地执行各阶段来更改 过程800。对所展示及描述的过程800的另外其它更改也是可能的。

在阶段802处,识别与移动装置所处的区域相关联的几何约束。如上文所描述,这 些约束可包含直线几何条件或与办公楼、购物中心或其它区域等相关联的其它图案。可 将所述几何约束提供为基于位置的服务(即,基于装置200的当前位置),或提供为存储 在存储器中的应用的部分。

在阶段804处,由移动装置的相机502俘获所述区域的图像。

在阶段806处,由姿势估计模块412或其它装置基于从移动装置处的一或多个定向 传感器504收集的数据估计移动装置的定向(例如,相对于重力、相对于环境等)。

在阶段808处,至少部分通过将在阶段802处所识别的几何约束应用于图像内所识 别的特征而从在阶段804处俘获的图像提取与如在阶段806处估计的移动装置的定向相 关的特征。在阶段808处展示的操作由(例如)特征检测模块414或其它合适的装置执行。 在提取特征之后,定向传感器504、在阶段802处所识别的几何约束及/或其它装置可即 刻用于通过相关联的环境绘图及/或跟踪所提取的特征。此外,如上文所描述,所识别的 水平及垂直表面可用于在显示器上渲染对图像或实时相机视图的实际扩增。作为一实 例,此类扩增可包含躺在水平表面上或在垂直表面上攀爬的角色。还可以使用任何其它 合适的扩增。

类似于过程600、700,一些或所有过程800可由装置200在本地执行及/或由服务 器或其它远程装置远程地执行。例如,虽然图像是在阶段804处使用移动装置处的相机 俘获的,但所述图像还可以由另一装置俘获且在服务器或另一装置处远程地处理或在移 动装置处接收(例如,经由接收器且/或用于查询及/或获得数据的其它装置)以进行本地处 理。在阶段804处在移动装置处在本地俘获的图像还可以被传递到一或多个远程实体以 用于例如在阶段808处进一步处理。然而,其它实施方案也是可能的。

此外,虽然出于描述清楚起见而单独地说明及描述过程600、700及800,但可以例 如通过在组合程序中或在共同装置或彼此通信的一组装置处一起使用这些过程的各种 要素、功能、步骤及/或阶段。因此,相对于过程600、700及800而说明或描述的阶段 中的每一者可实施于任一其它过程中。

可根据特定需求进行实质性变化。举例来说,还可使用定制硬件,和/或可将特定元 件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。另外,可使用到例如 网络输入/输出装置等其它计算装置的连接。

上文所论述的方法、系统和装置为实例。各种替代配置可按需要省略、替代或添加 各种程序或组件。举例来说,在替代方法中,可以不同于上文论述的次序执行各阶段, 并且可添加、省略或组合各个阶段。而且,可以各种其它配置组合关于某些配置所描述 的特征。可以类似方式组合配置的不同方面和元件。而且,技术发展,且因此,元件中 的许多元件为实例且并不限制本发明或权利要求书的范围。

在描述中给出特定细节以提供对实例配置(包含实施方案)的透彻理解。然而,可在 并无这些特定细节的情况下实践配置。举例来说,已在并无不必要细节的情况下展示众 所周知的电路、过程、算法、结构和技术以便避免混淆配置。此描述仅提供实例配置, 且并不限制权利要求书的范围、适用性或配置。实际上,对配置的前面描述将向所属领 域的技术人员提供用于实施所描述技术的致能性描述。可在不脱离本发明的精神或范围 的情况下对元件的功能和配置作出各种改变。

可将配置描述为描绘为流程图或框图的过程。尽管每一流程图或框图可将操作描述 为顺序过程,但许多操作可并行地或同时地来执行。另外,可重新布置操作的次序。过 程可具有图中未包含的额外步骤。此外,可由硬件、软件、固件、中间件、微码、硬件 描述语言或其任何组合实施方法的实例。当以软件、固件、中间件或微码实施时,用以 执行必要任务的程序代码或代码段可存储在例如存储媒体的非暂时性计算机可读媒体 中。处理器可执行所描述的任务。

如本文所使用,包含在权利要求书中,以“至少一个”开始的项目的列表中所使用 的“或”指示分离性列表,以使得(例如)“A、B或C中的至少一者”的列表是指A或 B或C或AB或AC或BC或ABC(即,A及B及C),或与一个以上特征的组合(例如, AA、AAB、ABBC等)。

已描述若干实例配置,可在不脱离本发明的精神的情况下使用各种修改、替代构造 及等效物。举例来说,以上元件可为较大系统的组件,其中其它规则可优先于本发明的 应用或以其它方式修改本发明的应用。并且,可在考虑以上元件之前、期间或之后进行 数个步骤。因此,以上描述并不约束权利要求书的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号