传统的混合现实头显通常依靠外感知传感器数据来追踪设备轨迹,例如视觉追踪数据和GPS数据等。但在一系列的环境中,外感知能力无法应用、不可靠或不精确。所以,众多混合现实设备依赖于仅由内感知传感器提供的处理数据来估计设备轨迹。
航位推算是一种可用于确定设备位置的过程,不需要采用外部感知传感器数据。具体来说,在知道当前时刻位置的条件下,航位推算法可以通过加速度计、数字罗盘、陀螺仪来测量移动的距离和方位,然后推算下一时刻的位置。
航位推算算法最初用于车辆和船舶等的航行定位,但随着微机电系统技术的发展,以及加速度计、数字罗盘、陀螺仪在尺寸、重量和成本方面的大大降低,航位推算开始逐渐普及到其他用例,比如说混合现实。
然而,当前的航位推算模式存在不少缺点,例如漂移(真实位置和预测位置之间的误差越来越大)、计算成本高,以及未能说明每个用户和/或每个设备的特征等等。
针对这个问题,微软在名为“Pedestrian dead reckoning using map constraining features”的专利申请中提出了一种基于映射约束特征的行人航位推算。
为了解决上面讨论的问题,图1示出的计算机系统10从服务器设备接收的预定映射数据中使用行进约束特征以执行行人航位推算(PDR)。行程约束特征可以用于缓解PDR期间可能发生的漂移,并可能为在城市环境中实现追踪提供潜在帮助。
在一个实施例中,检测行人航位推算模式触发条件,以及响应于检测行人航位推算模式触发条件,从计算设备的一组或多个惯性追踪组件获得一组惯性追踪数据。在一个实施例中,所述方法同时包括获得计算设备的估计三自由度速度。
在一个实施例中,当处于行人航位推算模式时,计算设备配置成至少部分基于训练的预测模型来估计设备的六自由度定位。
在一个实施例中,当处于行人航位推算模式时,设备从诸如陀螺仪和/或指南针这样的一组或多个惯性追踪组件中获取惯性追踪数据,并且同时获取设备的估计三自由度速度,以作为预测模型的输出。响应于从惯性追踪数据集获得的惯性追踪数据的第一子集,提供三自由度速度作为输出,以作为预测模型的输入。
在一个实施例中,预测模型是根据一组训练数据训练的预测模型,包括外感知传感器数据(例如GPS或无线电定位数据、以及视觉追踪数据等)和惯性追踪数据。在一个实施例中,预测的三自由度速度和/或预测模型同时可用于将估计的三自由度速度与基于惯性追踪数据集的惯性追踪数据的第二子集融合,从而获得计算设备的估计六自由度定位。
在一个实施例中,专利描述的方法同时包括通过融合计算设备的估计三自由度速度和估计三自由度旋转,从而获得计算设备的估计六自由度定位,这时无需获得通过计算设备的外感知传感器系统所获取的外感知传感器数据。计算设备的估计三自由度旋转是基于惯性追踪数据集。
微软指出,可以向神经网络提供训练数据,以提供基于深度学习的航位推算模式,从而提高系统的精度。
在一个实施例中,头显配置为向神经网络提供训练数据,以训练用于估计六自由度定位的预测模型。在这类实施例中,头显包括一组惯性追踪组件,例如加速计、陀螺仪和/或指南针中的至少一个。惯性追踪组件配置为生成惯性追踪数据。头显同时包括配置为生成外感知传感器数据的外感知传感器系统,一个或多个处理器,以及一个或多个计算机可读介质。
在一个实施例中,当计算设备不处于行人航位推算模式时,从一个或多个惯性追踪组件组获取一组惯性追踪数据。同时,获取外感知传感器数据(例如视觉定位数据或基于无线电的定位数据,GPS数据等),然后向神经网络提供所述数据以训练预测模型。训练数据包括(1)作为输入的惯性追踪数据集和(2)与外感知传感器数据融合的惯性追踪数据的至少一部分(作为ground truth值输出)。
如图1所示,服务器设备14配置为存储映射数据的数据库50。除用于常规映射功能的其他映射数据外,数据库50包括预定映射信息52,其包括行程约束地图特征54。可以生成预定映射信息52并将其存储在服务器设备14。服务器设备14可以包括现实世界中不同位置的预定映射信息52。服务器设备14可以配置成与用于计算机设备12的映射和导航功能的其他常规映射数据一起发送预定映射信息52。预定映射信息52可以通过WAN(例如,手机数据信号、无线通信网络等)发送到计算机设备12。
计算机设备12可以配置为接收计算机设备12的初始位置48的预定映射信息52。在一个示例中,当用户行进到真实世界中的不同位置时,使用预定映射信息52更新计算机设备12。预定映射信息52包括位于初始位置48附近的行进约束映射特征54。
行进约束映射特征54可包括许多不同类型的行进约束特征,例如,地形地图的拓扑、行进约束边界、平面图数据、众包交通定义路径、附近真实世界环境的密集3D重建等等。所述行进约束映射特征54可用于限制或约束基于航向和速度测量46估计的可用航向和速度值,以缓解潜在漂移误差。
PDR模块44可以配置为至少基于来自惯性测量单元30和计算机设备12的罗盘设备28的测量46,从初始位置48确定多个候选航向和速度值56。IMU 30和指南针28的精度可能有限。
另外,用户的步态可能不同于用于计算用户运动的默认或预定步态。PDR模块44可配置为确定可从测量46和步态计算估计的航向和速度值解的潜在方差。以这种方式,PDR模块44可以生成估计方差内的多个候选航向和速度值56。
候选航向和速度值56可由PDR模块44的概率框架58处理,以确定每个候选航向和速度值56的概率,所述概率指示计算机设备12的用户实际以每个候选航向和速度值旅行的可能性56。在一个示例中,概率框架58实现基于候选航向和速度值56确定的计算机设备12的位置和方向状态的隐马尔可夫模型。
作为具体示例,概率框架58可以实现粒子滤波框架。粒子滤波框架以统计方式更新候选航向和速度值56的预测。分布中的样本可用一组粒子表示。每个粒子可以具有分配给该粒子的似然权重。
PDR模块44可配置为使用概率框架58确定多个候选航向和速度值56中的每一个的概率。概率框架58(例如可以是粒子滤波框架)配置为将较低的概率分配给与预定映射信息52的行进约束映射特征54冲突的候选航向和速度值56。
另一方面,与行进约束映射特征54不冲突或冲突较少的候选航向和速度值56可以分配更高的概率。应当理解,随着计算机设备12用户在现实世界中继续移动,候选航向和速度值56的概率可以以统计方式更新。
PDR模块44可进一步配置为基于确定的概率对多个候选航向和速度值56进行排序。换句话说,由概率框架58分配的最高概率的候选航向和速度值可以分配最高秩。然后,PDR模块44可以配置为基于排名最高的候选标题和速度值62来追踪计算机设备12的位置60。
追踪位置60可以基于新的航向和速度测量46持续更新,并更新为候选航向和速度值56确定的概率。追踪位置60随后可经由计算机设备12的输出装置(例如显示装置24)呈现给用户。
图3示出了包括行进约束边界56形式的行进约束映射特征54的预定映射信息52的示例。在这个具体示例中,行进约束边界56由二维映射60的二维线段58表示。二维线段58指示由二维映射60表示的城市环境的各种道路和人行道的边界。在所述示例中,用户可能沿着二维映射60中道路的人行道行走,并且不太可能沿着穿过城市环境建筑物的路径行走。
因此,代表道路的二维线段58可用作行驶约束边界64,以限制或约束可用的候选航向和速度值56。具体地,概率框架58可配置为将较低的概率分配给穿过行进约束边界64的候选航向和速度值56,并将较高的概率分配给不穿过行进约束边界64的候选航向和速度值56。
图3示出了传统PDR系统与由计算机设备12的处理器16执行的PDR模块44之间的比较。如图所示,传统PDR系统可能具有超出道路边界和拐角的无约束解(由圆表示)。以这种方式,在传统PDR系统中,漂移误差将潜在地不被校正,这将导致逻辑上不正确的估计位置,例如用户穿过建筑物的墙壁。
另一方面,PDR模块44配置为将候选航向和速度值56约束或限制为不会导致违反行进约束边界64的解决方案的值。以这种方式,计算机设备12的追踪位置60将跟随由行进约束边界64指示的路段。PDR模块44的结果追踪位置(由正方形表示)将在逻辑上约束到预定映射信息52的特定特征。
图4包示出了沿图3所示路线的特定时刻的三个候选航向和速度值的概率的示例计算。在快照66中,PDR模块44正在估计当前追踪位置76的三个候选航向和速度值70、72和74的概率68。
如图所示,第一个候选航向和速度值70以及第三个候选航向和速度值74将产生可能跨越行进约束边界64的解。另一方面,第二候选航向和速度值72将产生不跨越行进约束64的解。因此,概率框架58可配置为将较低概率分配给第一和第三候选航向和速度值70和74,并将较高概率分配给第二候选航向和速度值72。
在图5中,行进约束边界64由计算机设备12初始位置48附近表面的三维网格78表示。具体地,示出了沿人行道的栅栏的三维网格78。在正常步行过程中,使用者不太可能穿过或越过围栏。因此在此示例中,围栏可被视为行进约束边界。服务器设备14可配置为存储真实世界对象的表面的三维网格78。三维网格78可以通过任何合适的技术生成。
在一个示例中,三维网格78可以由头显设备配置中的计算机设备12生成。换句话说,使用由外向摄像头36捕获的图像,头显设备配置中的计算机设备12可以重建包括栅栏的真实世界环境的表面。可以生成相应的三维网格78并将其发送到服务器设备14,并将其作为预定映射信息52存储在数据库50中。
当执行PDR时,计算机设备12可以结合预定映射信息52从服务器设备14接收三维网格78。换句话说,边界(例如栅栏、水、建筑物等)可以在具有行进约束边界数据的二维映射和包括三维网格78的三维内容中表示。
如图5所示,PDR模块44可配置为确定候选航向和速度值56是否会产生穿过或朝向三维网格78表面的解。概率框架58可配置为将较低的概率分配给将与三维网格78交叉、碰撞或以其他方式冲突的候选航向和速度值56。
在所示示例中,第四个候选航向和速度值80将导致与三维网格78碰撞的解。因此,概率框架58可配置为向第四候选航向和速度值80分配比第五候选航向和速度值82更低的概率。
通过上面描述的方式,系统可以实现更精确的导航。名为“Pedestrian dead reckoning using map constraining features”的专利申请最初在2020年6月提交,并在日前由美国专利商标局公布。