为了正确定位全息图和虚拟图像,混合现实设备需要持续追踪自己在环境中的相对位置。然而,由于干扰,故障,可见性,不规则运动等因素,混合现实设备有时难以正确判断自己在环境中的相对位置。
当混合现实设备不能正确地识别它们在现实世界中的位置时,所生成的全息图和其他虚拟图像将难以与真实世界环境正确对齐,从而减损最终的用户体验。尤其是随着混合现实的普及,多用户场景越发普遍,亦即多台头显会在共享的混合现实环境中同时使用,以进行办公协作,娱乐游戏和其他联合活动。无法正确对齐的混合现实体验将会影响相关的多人用例。
所以,微软针对上述问题提出了一个解决方案:利用其他设备提供的内向外追踪信息来进行自我定位。
图2示出了2D地图210和3D地图220,而穿戴混合现实设备的用户分别导航对应的路径215和225。至关重要的是,无论现实世界是否具有相应的边界/墙或其他特征,混合现实设备都要适当地定位在混合现实环境中,特别是当它们在混合现实环境下移动时。否则混合现实环境的虚拟对象将不能与现实世界正确对齐,并导致意外的后果,例如用户在虚拟地图内迷失方向和/或撞向墙壁等等。
在使用期间,混合现实设备可以通过传感器连续地检测和更新MR设备相对于混合现实环境(和相应的现实世界)的地图和映射特征的位置,以确保所有虚拟对象以预期的方式进行正确定位。同时,设备的定位可以每秒发生多次,从而确保精确的定位。
但有时,用于执行设备定位的传感器设备变得不可用。例如,GPS被拒绝的环境中时;当照明变得太暗或环境中的对象被遮挡时。
另外,当设备由于各种定位过程故障和/或处理例程中的中断而变得迷失方向时,系统将尝试将检测到的特征集与地图中的所有匹配特征集相关联,从而确定相对位置。然而,这种穷举处理在计算方面十分昂贵,并且会消耗过多的电能。
所以,有必要寻找一种合适的定位方案,而微软提出的方案是利用来自相同共享混合现实环境中的另一设备的补充信息。
图4示出了混合现实环境400。其中,用户佩戴头显410并携带单独的外设420。头显和外设都分别扫描环境,以正确定位和更新自己在环境的位置。
如前所述,由于各种原因,其中一台设备可能会失去方向。在这种情况下,一台设备可以利用来自另一个设备的信息来帮助确定其在混合现实环境中的位置。
换句话说,如果外设在环境中失去定位,外设可以依靠来自头显的信息,并且通过仅评估映射环境来确定其位置,不需要对混合现实环境的整个地图进行耗能的成像/扫描,从而根据匹配特征点或其他对应特征来确定其位置。
图7示出了包括2D地图的混合现实环境/地图700,其中用户佩戴头显710并手持外设720。用户和用户的MR设备位于地图的特定子区域,即多房间地图的特定房间。
两台MR设备(头显710和外设720)都是内向外追踪设备,这意味着它们都具有用于扫描环境的独立传感器,并且能够独立地找到扫描图像内的特征点或其他特征,并将扫描/检测到的特征点750与映射环境的一组或多组匹配的映射特征点760相关联,如图7右上角所示。
如果外设失去其在混合现实环境/地图700中的定位,则其可以在其当前位置扫描扫描/检测到的特征点750,并尝试确定其在混合真实环境/地图中的位置,它可以将扫描/检测到的特征点750与映射环境中对应于外设720可能位置和方位的所有匹配映射特征点集合760进行比较。
它可以追踪所有潜在的位置,直到它接收/检测到缩小可能位置范围的附加信息。但评估和追踪每一个潜在位置在计算方面的成本非常高昂。所以,可以利用微软提出的方案,利用来自共享混合现实环境的头显710的定位信息。
举例来说,基于与设备相关联的已知使用模式和设置,可以知道头显在距外设的固定半径/距离内。头显可以具有不间断的追踪。如果头显知道它的一般位置,则头显可以以push scheme或pull scheme通知外设,使得外设可以知道它位于混合现实环境或地图700的的特定子区域。
然后,外设不需要评估匹配的映射特征点并将其与映射环境中的所有匹配映射特征点进行比较。相反,它可以基于来自头显710的共享位置信息,将相关分析仅限于头显710所在的子区域,从而避免在映射环境的所有其他子区域中考虑匹配的映射特征点760。
以这种方式,外设可以大大节省计算处理和功率资源。微软指出,在这样的实施例中,设备可以评估包含相对较少数据(
100+MB数据,甚至很多GB数据)的整个地图或地图的多个子区域。
在另一个场景中,可以利用其他用户的混合现实设备所提供的内向外追踪信息来进行定位。
图9和图10其示出了一个附加的混合现实环境。其中,位于共享混合现实环境/地图的多名用户正在使用多个对应的混合现实设备。
在图9的混合现实环境900中,第一用户佩戴第一头显910并持有外设920。第二用户佩戴头显930,并且手持外设940。
当一台设备丢失定位时,系统可以根据情况选择特定设备提供的信息来帮助定位。
以图9为例,已知第一外设920在相对于头显910的预定距离内和方位范围内使用。同样,已知第二外设920在相对于第二头显930的预定距离和方位范围之内使用。两名用户相隔一段距离。
假设外设920丢失定位,则外设920可以依赖于来自头显910而不是头显930的补充定位信息来将共享地图过滤到选择性/经过滤的子区域集合,从而搜索外设920的可能定位。类似地,外设940可以依赖于来自头显930而不是头显910的补充定位信息来将共享地图过滤到选择性/过滤的子区域集合,从而搜索外设940的可能定位
现在留意图10。图10示出了混合现实环境/地图1000,并包括第一头显设备1010、第二头显设备1020和第三头显设备1030。
由于各种原因,每个头显设备在混合现实环境/地图1000中的确切位置可以是不确定的。例如,当地图首次加载时,由于没有扫描足够多的地图,它们不确定自己在共享地图中的位置。
但无论是什么原因,利用微软提出的方案,设备都可以用于通过其他设备的定位信息来将混合现实地图/环境中的后续搜索限制到共享环境/地图的一个或多个有限子区域,从而帮助重定位自己。
在一个实施例中,头显1010可以基于检测到的/扫描的特征点1080形成其位于共享地图的某个子区域中的某一概率(非常低的概率),以及其位于头显1020的某一邻近范围内的概率(非常高的概率)。
相比之下,根据扫描的特征点1070,头显1020知道自己位于地图特定子区域的概率非常高,而且它知道自己位于头显1010的附近。所以,通过信息交换,头显1020和头显1010可以将它们对匹配特征/对象的搜索限制在子区域1091内,而不必在整个混合现实地图中搜索与扫描特征点匹配的特征/对象。
同样,头显1030可以基于其扫描的特征点1050来确定其在环境/地图1000内的相对位置或确定的概率估值。由于头显1010和头显1020高度确定头显1030不是位于它们的附近。当在环境中定位头显1030时,这一共享信息将能帮助节省处理资源。
相关专利:
Microsoft Patent | Mixed-reality device positioning based on shared location
https://patent.nweon.com/25193
名为“Mixed-reality device positioning based on shared location”的微软专利申请最初在2021年5月提交,并在日前由美国专利商标局公布。