科技魔方

微软专利为AR/VR介绍一种空间定位设计服务

AR/VR

2021年11月22日

  一般来说,定位是指代理尝试确定其相对于周围环境的位置,例如智能设备。在各种环境中识别和追踪车辆、机器人和智能设备等的位置,从而执行其他计算任务是一项必要的功能,尤其是当GPS不足时。

  定位对于虚拟现实和混合现实同样非常重要。为了正确显示数字内容,系统需要知晓头部的位置和方向。定位可能包括一个或两个视觉和惯性组件。视觉部分可涉及处理由摄像头或多个摄像头收集的一组图像,而惯性部分则可包括处理从惯性测量单元(IMU)收集的数据,例如加速计和陀螺仪传感器读数。所述图像和数据的处理可允许系统计算由三维坐标定义的主机设备位置。

  在名为“Spatial localization design service”的专利申请中,微软介绍了一种空间定位设计服务。具体来说,发明描述的技术使用合成世界接口来对数字环境、传感器和运动建模,以用于评估和开发定位算法。

  在一个实施例中,传感器平台模拟器与运动协调器、环境协调器、实验生成器和实验运行器一起运行,以在虚拟环境中测试各种候选硬件配置和定位算法。

  微软指出,通过测试给定定位算法的各种候选硬件配置,运动编排器、环境编排器和实验生成器可快速产生相对大量的数据,以确定最佳候选硬件配置,从而有利地加快开发进度和降低成本。

  在一个实施例中,传感器平台模拟器可用于模拟包括一个或多个虚拟camera的硬件配置。环境编排器可以模拟一个或多个虚拟环境。运动编排器可以在一个或多个虚拟环境中模拟一个或多个模拟硬件配置的运动。实验生成器可以为在一个或多个虚拟环境中具有模拟运动的一个或多个模拟硬件配置生成合成实验数据。实验运行器可以用于迭代实验生成器以生成用于硬件配置、虚拟环境、运动和定位算法的一个或多个组合的合成实验数据。

  在一个实施例中,合成实验数据包括合成图像和IMU数据。其中,IMU数据包括加速计数据和陀螺仪数据。

  在一个实施例中,专利描述的方法包括以下任意组合:实验生成器进一步根据合成实验数据计算一个或多个硬件配置的定位数据;评估器用于将计算出的定位数据与ground truth数据进行比较。

  图1是示例计算设备100的框图。计算设备100是合适计算环境的一个示例,而描述的示例可以在各种系统配置中实施,包括PC、笔记本电脑、智能手机、移动平板电脑、手持设备、消费电子产品和专业计算设备等。专利描述的示例同时可以在分布式计算环境中实施。

  在一个实施例中,计算设备100包括直接或间接耦合以下设备的总线110:计算机存储存储器112、一个或多个处理器114、一个或多个表示组件116、输入/输出(I/O)端口118、I/O组件120、电源122和网络组件124。

  在一个实施例中,总线110表示一条或多条总线(例如地址总线、数据总线或其组合)。

  在一个实施例中,计算机存储存储器112可采取以下计算机存储介质参考的形式,并可操作地为计算设备100提供计算机可读指令、数据结构、程序模块和其他数据的存储。例如,计算机存储存储器112可以存储操作系统、通用应用平台或其他程序模块和程序数据。计算机存储存储器112可用于存储和访问配置为执行专利描述的各种操作指令。

  现在转到图2,示例性框图描述了用于端到端空间定位设计服务的云计算环境。云环境200示出了适合用于专利描述方法的示例性云计算基础设施。可以使用任意数量的节点、虚拟机、数据中心、角色实例或其组合来实现期望的功能。

  图2的分布式计算环境包括公用网络202、专用网络204和专用网络206。例如,公共网络202可以是基于公共云的计算资源网络。专用网络204可以是计算资源的专用企业网络或专用基于云的网络。并且专用网络206可以是第三方网络或基于云的计算资源专用网络。

  混合云208可以包括公用网络202、专用网络204和专用网络206的任意组合。例如,混合云208由公共网络202和专用网络204组成。

  在一个实例中,结构控制器230负责自动管理在数据中心216的节点上运行的虚拟机,并负责将角色实例和其他asset(例如,软件组件)放置在数据中心216内。举例来说,结构控制器230可以依赖服务模型来提供关于如何、在何处和何时配置虚拟机,以及如何、在何处和何时在其上放置角色实例的指导。

  通常,每个节点包括或链接到某种形式的计算单元,以支持在其上运行的组件的操作。在另一实例中,计算单元可以包括耦合到由每个节点容纳的计算机可读介质的处理器。

  图4是用于空间定位设计服务400的框图。空间定位设计服务400包括传感器平台模拟器402,其可实现用于通过模拟硬件优化改善计算机视觉的综合服务。传感器平台模拟器402可包括用于模拟传感器平台性能的管道(例如图3的计算设备302的合成版本)。传感器平台模拟器402可用于模拟包括一个或多个虚拟camera的一个或多个硬件配置。

  空间定位设计服务400另外操作四个其他图示模块,所示模块包括运动编排器404、环境编排器406和实验生成器408、实验运行器410和本地化应用评估器412。

  在一个实施例中,运动编排器模块404允许空间定位设计服务400的用户通过表达目标运动轮廓来建模与测试定位传感器平台和算法相关的运动。运动编排器404可用于在一个或多个虚拟环境中模拟一个或多个模拟硬件配置的运动。示例可能包括创建通过虚拟场景或房间的多个随机行走的实例,其可以具有不同的持续时间、速度和运动路径。

  环境编排器406用于模拟一个或多个虚拟环境。在一个实施例中,环境编排器406允许用户操纵合成环境,例如灯光设置和特定对象的状态,例如门。另外或可选地,环境编排器406定义场景中房间的尺寸、对象、照明、间距或其他属性以及其中的内容。

  实验生成器408将高级参数转换为完整实验的多个实例,所述实例定义要在数据生成中使用的运动集和环境。实验生成器408可用于为在一个或多个虚拟环境中具有模拟运动的一个或多个模拟硬件配置生成合成实验数据。即,实验生成器408生成具有要测试的不同硬件配置或可调谐的定位算法参数的多个候选定位解决方案。

  在一个实施例中,实验运行器410提供用于调度、监视、管理和审查在数据生成中使用的实验批次的结果的框架。

  实验运行器410可用于迭代实验生成器,以生成硬件配置、虚拟环境和运动的一个或多个组合的合成实验数据。所述迭代处理可以使用空间定位设计服务400可经由云环境200访问的不同定位算法来完成。

  例如,合成环境中的虚拟硬件配置可以使用50、100或1000种不同的定位算法独立处理,以测试算法对硬件配置的定位建模的效果如何。在这种情况下,实验生成器使用各种定位算法计算合成实验中一个或多个硬件配置的定位数据,以生成指示定位参数的定位算法输出数据。

  在一个实施例中,定位应用评估器412定位算法将数据输出到用于虚拟化硬件配置的GT输入数据,以确定各种定位算法的执行效率。

  可以通过比较定位算法输出数据与合成环境中虚拟硬件配置的GT数据的方差来确定各种定位算法的有效性。

  对于识别为与用于虚拟硬件配置的GT最接近或在接近范围内的定位算法,可认定为它能够更准确地计算定位参数并相应地进行存储。其他定位算法可以确定为精度较低和/或需要额外配置。

  对于精度较低的定位应用,可反馈模拟虚拟硬件配置与其他ground truth值相比的视差数据,以改进性能。例如,可以使用人工智能进行优化。人工智能处理和机器学习可使用专利所述的定位结果来改进定位算法,无需用户干预。

  空间定位设计服务400的操作包括使用所示各种模块的多个过程。用户可以使用传感器平台模拟器402设置设备、环境和运动引擎。参数定义了目标设备、场景和环境,以及将用于设计过程的运动类型。

  用户可以激活运动编排器模块404以设计如何为特定类型的实验操纵运动引擎。用户同时可以激活环境编排器模块406以设计如何为特定类型的实验操纵环境引擎。例如,研究人员/工程师可能对环境的重定位感兴趣,所以可能会在单个建模房间的同一区域内生成数千个5秒钟的测试。其中,房间的内部条件系统地变化,例如通过家具移动或改变照明条件。

  用户可激活实验生成器模块408,以生成产生定位设计问题的特定方面的实验集。实验可以分为多种类别,如一般测试、研发或压力测试。用户可以利用实验生成器408来参数化底层框架并生成用于定位算法的全自动模拟和分析的工作负载。然后,用户可以使用实验运行器410来调度、启动、管理和监视使用实验生成器408设计的各种作业。可选的评估器可用于将计算的定位数据与ground truth数据进行比较。

  名为“ Spatial localization design service”的微软专利申请最初在2021年7月提交,并在日前由美国专利商标局公布。

+1

来源:映维网

推荐文章