用于在场景感知设备环境中导航对象的对象路径标识的制作方法

文档序号:15072663发布日期:2018-08-01 00:15阅读:141来源:国知局

在现实世界中,个人在环境中行走,同时能够避开其周围环境中的任何障碍物。个人还从许多合适的路径中选择一条路径以从一个位置前往另一位置。如此,个人通常不会撞上屏障(例如,家具或墙壁)并且可以有效地从一个位置行走到另一位置。现代技术已导致了场景感知设备的发展,其中场景感知设备通常指的是具有被定义为场景感知设备环境(即,场景感知设备中所支持的虚拟环境)的现实世界环境的理解的设备。场景感知设备还支持作为虚拟化实体的具有使用该场景感知设备来执行的功能的对象。由于场景感知设备环境与其他更简单且一致的虚拟环境相比的复杂性和可变性,因此以资源高效的方式在场景感知设备环境中导航对象提出了若干挑战。

概述

本文中所描述的各实施例提供用于标识对象路径以支持在场景感知设备环境中导航对象的方法和系统。场景感知设备环境包括现实世界环境,其在场景感知设备中被捕捉和虚拟化并且被提供来靠场景感知设备中使用对象路径的对象(即,虚拟化实体)进行导航。对象路径可指代作为最佳路线、有利路线、轨迹或航向的路径,对象沿该路径行走以从起始点导航到结束点。对象路径基于标识路径分段来定义。路径分段指代为对象定义的从该对象的当前位置到目标位置的对象路径的一部分。对象可接着从当前位置行走到目标位置。就此而言,随着时间的推移,各路径分段的当前位置集定义了对象路径,并且目标位置集指示对象在跟随该对象路径的同时走过的各目标。在对象走过对象路径的同时为该对象路径标识路径分段有利地包括与其他对象导航解决方案相比最小的计算量。具体而言,对象路径标识基于迭代地执行系统性可见度检查以标识路径分段,这些路径分段为对象定义对象路径以导航场景感知设备环境。系统性可见度检查可以有利地是非耗费密集的低成本操作,因为可见度检查不要求对整个环境的广泛理解。

在本公开的各个实施例中,系统性可见度检查可基于为环境捕捉的引导路径(例如,预定义的引导路径或实时引导路径)来执行。引导路径是使用场景感知设备(例如,支持增强现实或混合现实图像的头戴式设备或其他类型的场景感知设备)来被捕捉的。例如,当穿戴头戴式设备的用户经过环境时,引导路径被捕捉。替代地,引导路径在用户输入用于场景感知环境的引导路径(例如,绘制从起始点到结束点的路径)时被手动地捕捉。如此,用于导航对象的引导路径被标识。

在操作中,当用户想要将对象从起始点导航到结束点时,该起始点和结束点之间的对象路径基于引导路径来被标识。若干路径分段(每个路径分段具有当前位置和目标位置)被标识以定义对象路径。路径分段的集合是当前位置和潜在目标位置对随时间的累进。路径分段当前位置集定义了对象路径。目标位置集对应于对象在跟随对象路径以致使期望的运动的同时走过的各目标。可见度检查允许基于机会性地沿引导路径向前看以及检查该路径是否有遮挡来沿(对象路径的)路径分段导航对象。路径分段基于以引导路径为基础执行的可见度检查操作来标识。可见度检查尝试确定引导路径上的从对象的当前位置看未被遮挡的最远点。该最远点被标识为路径分段的目标位置。例如,当前位置处的对象基于由那时的可见度检查确定的引导路径上的点来确定目标位置。系统性可见度检查操作被迭代地执行以标识各路径分段,直到对象从起始点导航到结束点。换言之,可见度检查(例如,向前看(look-ahead)操作)可促成定义路径分段,对象走过该路径分段并接着执行另一可见度检查以定义该对象同样走过的另一路径分段。可见度检查和行走动作将对象从起始点移动到结束点。可见度检查限制对象遇到遮挡(例如,被标识为遮挡的墙壁和其他环境属性)的能力。

可视度检查和致使路径分段的行走可基于投射(casting)技术(例如,射线投射或球体投射)来执行。投射技术促成合适的对象路径的标识以及基于利用这些对象路径的对象的预期对象属性(例如,尺寸、运动特征等)来致动对这些对象路径的行走。构想了可以在帮助定义路径分段或走过路径分段的可见度检查标识引导路径或路径分段中的遮挡时定义补救动作。

在各实施例中,可以在对象的路径分段标识和导航期间定义和实现细化引导路径的补充操作。例如,补充操作可包括平滑路径分段的转弯和/或松弛路径分段的高度,如在本文中更详细地讨论的。其他补充操作可包括使路径分段与对象的经定义的运动特征(例如,移动(诸如飞行、跳跃或爬行)的方式)相适配。就此而言,相同的引导路径可基于对引导路径应用不同的补充操作来被适配成不同类型的对象路径。

提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。

附图简述

下面参考附图详细描述本发明,其中:

图1a-1b是示出根据本发明的各实施例的示例性场景感知设备环境和具有对象路径标识机制的头戴式显示单元的示意图;

图2是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图3是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图4a-4d是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图5a-5d是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图6a-6d是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图7a-7b是根据本发明的各实施例的对象路径标识的示例性实现的示意图;

图8是示出根据本发明的各实施例的用于对象路径标识和导航的方法的流程图;

图9是示出根据本发明的各实施例的用于对象路径标识和导航的方法的流程图;以及

图10是示出根据本发明的各实施例的用于对象路径标识和导航的方法的流程图;

图11是示出根据本发明的各实施例的头戴式显示单元的示例性增强现实图像的示意图;

图12是根据本发明的各实施例的示例性头戴式显示单元的框图;以及

图13是适用于实现本发明的各实施例的示例性计算环境的框图。

详细描述

现代技术已导致了场景感知设备的发展,其中场景感知设备通常指的是具有对作为其中场景感知设备对象操作的场景感知设备环境的环境或场景的理解的设备。对环境的理解可以基于给场景感知设备提供环境信息的若干种不同的技术。例如,环境可被实时扫描,并且环境和障碍物的网格表示可被动态地生成来给场景感知设备提供关于环境的信息。

场景感知设备可支持增强现实或混合现实体验以及包括在环境表示中导航对象的其他用户体验。对象可被用于各种不同的实现(例如,视频游戏、娱乐、生产力工具等)作为基于来自用户或环境本身的致动来执行动作的实体。例如,对象可基于来自用户的指导来导航用户的场景感知设备环境。用户可指导对象在环境中跟随用户,或者用户可指示对象应当从第一位置导航到第二位置。然而,由于场景感知设备环境中的可变性和复杂度不常在其他简单且一致的环境(例如,视频游戏空间)中找到,因此经由场景感知设备在环境中导航对象可能提出若干挑战。此外,在其他虚拟环境上下文中,资源可能不像在场景感知设备中那样稀缺,并且导航这些虚拟环境可能通常是资源密集的(例如,时间和存储器)且包括执行计算以标识3-d路径字段。附加地,虚拟环境通常被提前详细地知晓,因此计算对象导航可利用已知信息,并且导航不包括场景在感知设备环境中找到的限制。此外,预计算解决方案可取决于特定上下文而并不总是可能的,并且预计算解决方案也可能花费长时间。

本公开的各实施例基于执行系统性可见度检查以标识为对象定义对象路径来导航场景感知设备环境的路径分段,从而提供了用于对象路径标识的简单且有效的方法和系统。在各实施例中,系统性可见度检查可基于已为环境捕获的引导路径来执行。引导路径可使用场景感知设备(例如,支持增强现实或混合现实图像的头戴式现实设备或其他类型的场景感知设备)来被捕捉。例如,当穿戴头戴式设备的用户经过环境时,引导路径被实时捕捉,或者替代地,引导路径通过定义该引导路径的直接用户输入来被手动地捕捉。如此,用于导航对象的引导路径被标识。

参考图1-3,可使用有关与作为头戴式设备(hmd)112的场景感知设备相关联的用户110的示例来更详细地解释本公开的各实施例。在图1a中,示范性场景感知设备环境100连同hmd112一起被示出。hmd112包括若干组件(例如,具有捕捉组件116和路径导航组件118的对象路径标识机制114)。这些组件促成标识用于将对象从与hmd112相关联的场景感知设备环境中的起始点130导航到结束点140的对象路径。在图1b中,用户110穿戴hmd112。hmd112可包括与捕捉现实世界环境的相机相关联的捕捉组件116。hmd112可具体包括支持理解场景或环境的元素(例如,生成环境的3d网格表示)的深度相机。

在图2中,当用户110想要将对象120从场景感知设备环境中的起始点130导航到结束点140时,可以基于引导路径150来导航对象120。引导路径150可包括不被用户110显式地经过的引导路径部分(例如,部分152和154)。例如,当用户110正在选择对象120以用于导航或者选择结束点140以用于导航时,从对象120到用户110的距离可能实际上不被用户110经过,而是被捕捉作为引导路径150的一部分。引导路径150包括由用户经过的各部分(例如,中段部分156)。

在图3中,若干路径分段(例如,162、164、166和168)定义了对象路径160。若干路径分段(每个路径分段具有当前位置和潜在的目标位置)被标识以定义对象路径160。例如,路径分段162包括当前位置162a和目标位置162b。路径分段(例如,162、164、166和168)的集合是当前位置和目标位置配对随时间的累进。路径分段当前位置集定义了对象路径160。目标位置集对应于对象在跟随对象路径160以致使期望的运动的同时行走到的各目标。重要的是需要注意,当对象处于作为当前位置的结束点140处时,不存在附加的目标位置,如此,最后的路径分段可在没有目标位置的情况下仅基于对象的当前位置来定义。

可见度检查允许基于机会性地沿引导路径150向前看以及检查该路径是否有遮挡来沿(对象路径的)路径分段导航对象。在高层次处,可见度检查尝试确定引导路径上的从对象的当前位置看未被遮挡的最远点。系统性可见度检查被迭代地执行以标识各路径分段的目标位置,直到对象120被从起始点130导航到结束点140。目标位置是由可见度检查使用本文中所描述的技术从当前位置确定的点。目标位置在引导路径上的相对于对象的当前位置的被遮挡位置附近被标识。构想了可以使用用于确定场景感知设备环境中的位置信息的已知技术来确定对象和路径的位置信息。例如,三维空间中的笛卡尔坐标系可被实现为使得起始点、结束点、引导路径、对象路径用线(轴)的有序三元组来表示。如此,基于位置信息,可以在场景感知环境中的不同点之间作比较以便支持本公开中所描述的功能。

投射技术(例如,射线投射或球体投射)可被用于执行用于对象路径160标识的功能。作为背景,投射技术被用来理解和明确多维虚拟环境中的各元素的意义。例如,射线投射(或追踪)可被用来确定第一对象是否与射线相交,或者球体投射可被用来确定第一对象是否与球体相交。具体而言,球体可包括与将利用基于球体投射定义的对象路径的预期对象相对应的特定球形属性(例如,尺寸)。在本文中所公开的各实施例中,执行可见度检查可至少部分地基于将通过使用投射技术走过对象路径的预期对象的属性。例如,投射可被用来确定遮挡,使得对象路径160被定义。具体而言,投射标识遮挡或缺少遮挡,使得所标识的对象路径容适特定属性(例如,移动和大小)。在其他示例中,投射可被用来确定场景感知设备环境的高度、深度和其他元素。在操作中,引导路径基于跟踪穿戴hmd单元的用户来生成,并且随后投射基于对象(例如,小的蹦跳的狗、中等大小的飞鸟或大的探测机器人)的属性来执行,如此,对象路径160在避免遮挡的同时被适当地定义和走过。本文中所描述的各实施例构想了用于对象路径标识的投射的实现的其他变体和组合。

参考图4a-4d,hmd捕捉和/或接收被用于标识对象路径的引导路径。在高层次处,用户110操作场景感知设备(例如,hmd112)并且沿着路径行进并且该路径被记录和储存作为用于导航环境中的对象的引导路径。引导路径150可在用户选择起始点130和结束点140以用于导航对象120时被实时记录;hmd112在用户行走时记录引导路径150以标识起始点130到结束点140。构想了引导路径150可基于经由在hmd112处支持的接口的来自用户110的输入而在场景感知设备环境中被手动地定义。例如,在给定环境的表示的情况下,用户110可简单地在环境中的各位置之间绘制一条或多条引导路径。如此,引导路径也可被提前记录。

当穿戴着hmd112时,用户110看着起始点130(例如,具有要移动的对象120的位置)。用户110可用光标来标识起始点130或指示起始点130的其他符号。光标可被放置在沿用户的视线的起始点130的最近的表面上。如图4b所示,构想了用户110被定位成具有对于其想要选择的对象120的清晰的视线。此时,从起始点130到用户头部位置的路径部分152(例如,前段路径部分)被记录。如图4c所示,用户110正朝向结束点140(例如,对象120将被移动到的位置)经过。如图4d所示,当hmd112打开的情况下在环境中行走时,用户不穿过环境网格中所表示的障碍物410。而且,当用户110移动时,hmd112基于深度相机位置(例如,头部位置)记录路径信息。在操作中,当用户110移动时,如果最后保存的头部位置和当前头部位置之间的线变得被遮挡(例如,用户在墙壁后面行走),则将最后一条未被遮挡的线被添加到用于引导路径的路径记录中。

参考图5a-5d,引导路径记载过程的完成以及用户110可致动对象从起始点120移动到结束点140的图解被提供。引导路径记载过程可被迭代地执行,直到用户110处于如下位置:在该处用户110可以看到其想要对象120移动到的位置,如图5a所示。从最后保存的头部位置到当前头部位置的线被添加,并且随后从头部位置到结束点的线或路径部分154(例如,后段路径部分)也被添加。后段部分可延伸到结束点之外直到存在遮挡的点。引导路径150被用作用于对象导航的框架。本发明的各实施例构想了在场景感知设备环境内定义引导路径的其他组合和变体。

hmd112的用户110可致动对象从与hmd112相关联的环境中的起始点130到结束点140的导航。如所讨论的,在其中预定的引导路径被使用的实施例中,起始点130和结束点140可被接收,并且随后引导路径被选择自引导路径储存库,其中所选择的引导路径促成导航对象120。对象120可基于所选择的引导路径或实时捕获的引导路径从起始点130移动到结束点140。在标识引导路径之际,对象120可沿着引导路径机会性地执行对遮挡的可见度检查(例如,向前看操作)以从起始点130行走到结束点140。在高层次处,可见度检查尝试确定从对象的当前点看未被遮挡的最远的未被遮挡的点。可见度检查可以尽可能经常地被执行,以确定引导路径中的下一个点从对象的当前位置看是否为未被遮挡的。在对象移动期间重复地执行可见度检查用于确定作为计算量最小的最佳路径的对象路径160。例如,对象120已被致使沿着对象路径160行走到当前点520。可以从当前点520执行另一可见度检查以标识一直到结束点140的各路径分段。随着各路径分段被定义,对象120可走过从当前点520到结束点140的各路径分段。

如下面更详细地讨论的,对象120可被致使基于与该对象相关联的运动特征来走过路径分段。在高层次处,引导路径可被用来定义路径分段,该路径分段被适配成容适对象的运动特征(例如,爬行、飞行、跳跃)。在一示例性实现中,可以参考与同对象相关联的运动特征相对应的对象的属性,基于在场景感知环境中的投射来使路径分段与运动特征相适配。对象120接着被致使使用该运动特征沿着经适配的路径分段进行行走。

继续参考图5a-5d,hmd112还可实现为标识在对象的导航中使用的对象路径而定义和实现的补充操作(例如,平滑操作或松弛操作)。平滑操作在路径分段502上被实施以将路径分段502平滑成路径分段504。在操作中,路径的平滑度可通过以下来增加:在路径中的最远的未被遮挡的点(下边界)和后续被遮挡的点(上边界)之间进行二分搜索。二分搜索是用于标识目标值的基于比较的算法。下边界位置指示引导路径150上的最远的未被遮挡的点。上边界位置是引导路径150上的后续被遮挡的点。二分搜索操作以确定下边界和上边界之间的点(例如,中点)。当确定中点未被遮挡时,该中点变成新的下边界并且二分搜索被重复。当确定中点被遮挡时,该中点变成新的上边界并且二分搜索过程被重复。基于迭代地执行二分搜索,引导路径上的最远的未被遮挡的位置可被更接近地近似以平滑对象路径,例如从路径分段502到路径分段504。

参考图6a-6d,本公开的各实施例支持在引导路径612上执行路径高度松弛操作以定义用于导航对象610的对象路径614。作为示例,参考由用户穿戴的hmd单元(未示出),引导路径612在用户头部的高度(例如,引导路径高度)处被捕捉。这可能是引导路径612的不期望的特征,因为当对象可能并不总是适合于抬升到引导路径高度时,对象导航可能尝试将正被标识的对象路径的高度与引导路径的高度相匹配。其他因素可基于路径引导来影响对象路径的高度。例如,对象路径可被定义为比其需要的抬升更多,因此对象可绕墙壁导航。或者对象可能必须从第一平台(例如,桌子)导航到第二平台(例如,桌子下方的位置),其中第一平台高于第二平台,并且对象不需要首先导航到如在引导路径上捕获的hmd位置,并接着向下导航到第二平台。

在图6a中,用于对象610的引导路径612可被标识,其中如使用假想相机620所示的引导路径612可延伸到由用户经过的实际路径之外。使用路径松弛操作,对象路径高度可被松弛。具体而言,松弛操作在引导路径612上被迭代地执行以定义对象路径614。松弛操作基于在引导路径上选择点(例如,调整枢轴点)。调整枢轴点可以是引导路径612的当前位置(先前的点)与目标位置(下一个点)之间的中点。先前的点和下一个点的平均高度被确定。当先前的点、平均高度处的调整枢轴点和下一个点之间的局部路径分段不全部都是未被遮挡的时,对象路径基于如以上所描述的可见度检查来被进一步确定。当先前的点、平均高度处的调整枢轴点和下一个点之间的局部路径分段全部都是未被遮挡的时,平均高度处的调整枢轴点代替引导路径中的接着被用来定义对象路径的下一个点。松弛操作有利地快速使对象需要行进的高度距离最小化,同时仍避免障碍物。如图6d和6e所示,先前的对象路径被调整以使沿路径的高度改变最小化。

参考图7a和图7b,hmd112可将移动适配操作应用于对象的路径和导航。作为示例,场景感知设备环境中的对象可具有特定的运动特征(例如,爬行、跳跃或飞行)。对象路径被定义为容适这些运动特征。在操作中,运动特征对应于与对象相关联的移动。运动特征在由引导路径712定义对象路径714或路径分段时被应用,使得对象路径714被适配成合并运动特征。如图7a和7b所示,引导路径712被生成,并且对象路径714基于包括被进一步应用于该引导路径的移动适配操作的可见度检查来被定义。构想了投射技术可被用来模拟对象的运动特征和定义对象路径。在一个示例中,可通过简单地进行射线投射以找到地面高度来使对象沿着地面移动。如图所示,该效果是对象沿地面行进并爬过圆柱体。

参考图1a,图1a包括对象标识机制114,该对象标识机制114支持标识对象路径以用于在场景感知设备环境中导航对象。对象标识机制114包括捕捉组件116和路径导航组件118,这些组件各自促成实现如本文中所描述的对象标识机制114的功能。如本文中所使用的机制指代任何设备、过程或服务或其组合。可以使用作为硬件、软件、固件、专用设备或其任何组合的组件来实现机制。机制可被集成到单个设备中或者其可以分布在多个设备上。机制的各种组件可以是共处一处的或分布式的。该机制可以由其他机制及其组件形成。

作为所示的布置及元素的补充或替换,可使用其他布置及元素(例如,机器、接口、功能、次序、以及功能聚集等),并且一些元素可被完全省略。此外,本文中所描述的许多元素是功能实体,其可被实现为分立或分布式组件,或者结合其他组件且以任何合适的组合和位置来实现。本文中被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行被储存在存储器中的指令的处理器来执行。

捕捉组件116进一步支持涉及以下的功能:将现实世界环境捕捉为作为该现实世界环境的虚拟表示的场景感知设备环境,以及捕获为该场景感知设备环境定义的引导路径。在一个实施例中,捕捉组件116可从深度相机接收信息并促成生成环境的表示(例如,3-d网格)。场景信息可基于场景感知设备中所支持的功能来被提前或实时捕捉。捕捉组件116还可标识场景内的场景元素的属性,例如,场景信息可标识表面、墙壁和家具以帮助确定作为遮挡(即,不能被其他对象穿越)的对象。根据本文中所描述的各实施例构想了用于捕捉和生成表示并提供关于环境的信息的其他类型的相机和场景感知设备的方法。捕捉组件116将场景感知设备环境和信息传送给路径导航组件以执行使用对象路径标识机制而被支持的功能。

捕捉组件116还负责标识引导路径,这些引导路径支持标识被用来导航对象的对象路径。根据本文中所描述的各实施例构想了若干不同类型的引导路径。引导路径可以是被储存在引导路径存储库中的预定义的引导路径(或引导路径的组合)或实时生成的实时引导路径。有利地,可基于在用户在被虚拟地重新创建为场景感知设备环境的现实世界场景中行走的任何时候跟踪该用户来定义引导路径。例如,在穿戴hmd的同时在其家中行走的用户在定义引导路径时支持捕捉组件116,因为在该用户正在行走的同时,捕捉组件116捕捉环境中的用户位置信息(例如,姿态数据)并且跟踪有效路径(即,环境中没有遮挡的路径)。多条有效路径可被各自指定为引导路径或者被组合地指定为一组相交路径,以用于走过场景感知设备环境。

在替换方案中,只有当用户想要导航对象并且在实时跟踪中该用户作出对象的起始点和对象的结束点的选择时,引导路径才被标识。在起始点和结束点的选择期间,引导路径被实时确定,以用于将对象从起始点导航到结束点。构想了术语实时可指代如本领域中所理解的接近实时或足够地实时。实时可能受到组件之间通信延迟的影响。如此,实时信息可包括鉴于用来操作本文中所描述的功能的延迟而获得的信息。实时使用并不意味着限制,而是构想了相比于信息的延迟处理的信息的连续处理。

作为示例,要被导航的对象可基于与场景感知设备(例如,hmd)相关联的接口来被选择。当用户选择在第一位置处的起始点处的对象时,用户行走并选择第二位置处的结束点。当用户行走时,捕捉组件116捕捉用户位置信息并生成用于导航对象的引导路径。在一个示例中,用户可能不显式地走过从起始点到结束点的路径,但仍标识起始点到结束点。就此而言,实时引导路径可以用前段路径部分、中段路径部分和后段路径部分来定义,其中前段路径部分和后段路径部分是当生成实时引导路径时引导路径中的不被显式地走过的部分。如此,当起始点和结束点的指示被检索时,预定义的或实时引导路径被标识并被用于定义路径分段,这些路径分段定义对象路径以导航对象。

在一个实施例中,预定义的引导路径和实时引导路径两者可基于对场景感知设备环境中的引导路径的选择的手动指示来被定义。例如,捕捉组件116可以用接口来操作,该接口支持呈现从场景信息组件接收到的场景感知环境以及接收用于该场景感知环境的引导路径的指示。就此而言,多条预定义的引导路径可被提前接收和储存,同时实时引导路径可在配置对象从起始点到结束点的导航的同时被接收。

路径导航组件118负责为对象标识对象路径并致使对象从起始点到结束点走过对象路径。路径导航组件118可选择引导路径,该引导路径被用作用于定义对象路径的框架。如此处所讨论的,引导路径可以是被生成并储存在引导路径存储库中的预定义的引导路径。引导路径还可以是基于在用户行走以选择用于导航对象的起始点和结束点时使用场景感知设备来跟踪该用户而实时生成的实时引导路径。选择引导路径可基于若干不同的技术,这些技术标识一组起始点的坐标和一组结束点的坐标,并使用这些坐标来促成选择引导路径。作为示例,尤其是在三维空间中的笛卡尔坐标系可被实现为使得起始点、结束点、引导路径用线(轴)的有序三元组来表示,这些线(轴)具有对于所有三个轴而言的单个长度单位并且具有每个轴的取向。在路径导航组件接收到起始点和结束点之际,该路径导航组件比较起始点和结束点以确定与被选择为支持导航对象的引导路径的交叉点。本文中所描述的各实施例构想了基于对应于起始点和结束点的一组坐标来选择引导路径的其他变体和组合。

路径导航组件118负责执行可见度检查以标识对象路径。具体而言,可视度检查可基于被选择以致使对象从起始点行走到结束点的引导路径来执行。在高层次处,可见度检查被执行,使得对象尽可能多地沿着引导路径向前看,以确定引导路径中的从当前位置看未被遮挡的下一个点。通过在对象的移动期间重复进行可见度检查,对象的移动有利地以最小的计算量采取十分优化的路径。路径导航组件可以在确定路径上的点是被遮挡的还是未被遮挡的时候使用若干种技术。作为示例,投射技术(例如,如上文中更详细地讨论的射线投射或球体投射)可被实现以在引导路径上向前看。投射技术确定引导路径是否是距离对象的当前位置的未被遮挡的点。如果最远的未被遮挡的点(例如,向前看的点)可被确定,则该向前看的点可被选择为对象路径的下一个点以用于定义路径分段。就此而言,对象路径包括若干路径分段,其中每个路径分段是使用分别对应于该路径分段的第一点和第二点的对象的当前位置和向前看的点来定义的。该第一点和第二点之间的线是未被遮挡的。路径导航组件118致使对象沿路径分段前进以朝结束点移动该对象。对象的可见度检查和前进被迭代地执行,直到该对象到达结束点。如本文中更详细地讨论的,若干附加因素(例如,对象的大小、对象的步态、对场景感知设备环境的实时改变)影响路径分段以及对象是如何基于这些路径分段来进行行走的。

可以在其中可见度检查标识引导路径或路径分段中的动态遮挡的情形中定义补救动作。就此而言,构想了可见度检查不仅在定义路径分段时被执行,而且还在对象走过已被定义为未被遮挡的路径分段时被执行。路径导航组件118支持检测动态遮挡,一些动态遮挡被实时标识。路径导航组件118还支持补救动作以从引导路径或路径分段上的遮挡恢复。例如,引导分段被遮挡的指示被传达以促成将先前被标识为遮挡的路径分段重新定义为未被遮挡的新的未被遮挡的路径分段。提示可被发送到场景感知设备的交互式界面,使得用户执行补救动作。而且,在游戏上下文中,游戏玩法编程可包括在遇到遮挡时针对对象的补救动作。本文中所描述的各实施例构想了针对动态遮挡的补救动作的其他变体和组合。

参考图8,提供了一种用于标识对象路径以在场景感知设备环境中导航对象的方法。首先在框810处,用于将对象从场景感知设备环境中的起始点导航到结束点的引导路径被标识。对象标识机制使用捕捉组件和/或路径导航组件来标识引导路径以用于导航对象。引导路径可指代从场景感知设备环境中的第一点到第二点的有效路径(即,没有遮挡的路径)。标识引导路径可以基于捕捉组件执行对与场景感知设备相关联的用户的实时跟踪,从而定义从起始点到结束点的实时引导路径。在各实施例中,实时引导路径可包括前段路径部分、中段路径部分和后段路径部分。前段路径部分和后段路径部分是当生成实时引导路径时该实时引导路径中的不被显式地走过的部分。标识引导路径还可包括路径导航组件选择被用作用于定义对象路径的框架的引导路径。如此,路径导航组件可选择已被生成并储存在引导路径存储库中的预定义的引导路径,或者选择从捕获组件实时生成的实时引导路径。

在框820处,可见度检查基于引导路径来被执行。路径导航组件基于引导路径来执行可见度检查。在高层次处,可见度检查尝试确定从对象的当前点看未被遮挡的最远的未被遮挡的点。执行可见度检查基于路径导航组件确定引导路径上的向前看的点是从对象的当前位置看的未被遮挡的点。然后,当引导路径上的下一个向前看的点从当前位置看被遮挡时,该向前看的点被选择为对象路径的下一个点以用于定义路径分段。路径分段基于当前位置和向前看的点来被定义,使得对象走过该路径分段。在方框830处,对象沿路径分段行进。路径导航组件沿该路径分段推进对象。在各实施例中,路径分段在检测到先前被标识为未被遮挡的路径分段中的遮挡时被改变。使用路径导航组件的补救动作被执行以从路径分段上的遮挡恢复。例如,路径分段被遮挡的指示被传达以促成将该路径分段重新定义为新的未被遮挡的路径分段。

参考图9,提供了用于执行平滑操作来平滑路径分段以导航对象的方法。路径导航组件执行平滑操作以平滑路径分段。首先在框910处,表示引导路径上相对于对象的当前位置的最低的未被遮挡的点的下边界被确定。在框920处,表示引导路径上的从下边界看未被遮挡的后续点的上边界被确定。在框930处,下边界和上边界之间的所选择的点(例如,中点)被标识。当所选择的点被遮挡时,该所选择的点被指定为新的下边界,而当所选择的点未被遮挡时,该所选择的点被指定为新的上边界。

参考图10,提供了用于执行松弛操作来松弛路径分段的高度以导航对象的方法。路径导航组件执行松弛操作。在框1010处,引导路径上的调整枢轴点被选择。在方框1020处,引导路径的前一个点的高度被确定。在方框1030处,引导路径的下一个点的高度被确定。在框1040处,基于前一个点的高度和下一个点的高度的平均值的经调整的高度被计算。在框1050处,对经调整的高度处的调整枢轴、前一个点和下一个点各自未被遮挡的确定被作出。在框1060处,经调整的高度被指定为引导路径的下一个点的新的高度。

参考图11,描绘了头戴式显示器(hmd)设备102的示例性图像。由hmd设备提供的增强现实图像(例如,1104a、1104b和1104c)通常看起来像叠加在背景上,并可能看起来与背景交互或与背景集成。背景由现实世界场景(例如,用户在没有由hmd设备发射的增强现实图像的情况下将感知的场景)组成。例如,食谱书图标1104c可看起来叠加且悬在烹饪烤箱或墙壁的前方的半空中。

转向图12,根据本文中所描述的实施例描述了具有对象路径标识机制1140的hmd设备1102。hmd设备1102包括类似于眼镜透镜的被放置在用户的眼睛1114前方的透视透镜1110。构想了可提供一副透视透镜1110,每个眼睛1114一个。透镜1110包括光学显示组件1128,诸如分束器(例如,半镀银镜)。hmd设备1102包括增强现实发射器1130,其有助于改变增强现实图像的亮度。在未示出的其他组件中,hmd设备还包括处理器1142、存储器1144、接口1146、总线1148和附加的hmd组件1150。增强现实发射器1130发射表示由光线208示例的增强现实图像202的光。诸如光线1204之类的来自现实世界场景1206的光到达透镜1110。附加的光学器件可被用于重新聚焦增强现实图像1202,使得其看起来像源自离眼睛1114几英尺远,而不是显示组件1128实际所在的离眼睛1114一英尺远。存储器1144可包含由处理器1142执行以使得增强现实发射器1130能够执行所描述的功能的指令。处理器中的一个或多个可被认为是控制电路。增强现实发射器使用总线1148和其他合适的通信路径与附加的hmd组件1150进行通信。

作为所示的布置及元素的补充或替换,可使用其他布置及元素(例如机器、接口、功能、次序、以及功能聚集等),并且可完全省略某些元素。此外,本文中所描述的许多元素是功能实体,其可被实现为分立或分布式组件,或者结合其他组件且以任何合适的组合和位置来实现。本文中被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行被储存在存储器中的指令的处理器来执行。

如光线1210所例示的,增强现实图像1202被显示组件1128反射给用户的眼睛使得用户看到图像1212。在图像1212中,现实世界场景1204的一部分(诸如烹饪烤箱)连同整个增强现实图像1202(诸如食谱书图标)一起可见。因此,在该示例中,用户可看到混合现实图像1212,其中食谱书图标悬挂在烹饪烤箱的前面。

在描述了本发明的各实施例之后,以下描述其中可实现本发明的各实施方式的示例性操作环境,以便为本发明各方面提供通用上下文。首先具体参考图13,示出了用于实现本发明的各实施例的示例性操作环境,并将其概括地指定为计算设备1300。计算设备1300只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算设备1300解释为对所例示的任一组件或其组合有任何依赖性或要求。

本发明可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令(包括诸如程序模块之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。

参考图13,计算设备1300包括直接或间接耦合以下设备的总线1310:存储器1312、一个或多个处理器1314、一个或多个呈现组件1316、输入/输出端口1318、输入/输出组件1320和说明性电源1322。总线1310表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见利用线条示出了图13的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是i/o组件。而且,处理器也具有存储器。可以认识到,这是本领域的特性,并且重申,图13的图示只是例示可结合本发明的一个或多个实施方式来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图13的范围之内的并且被称为“计算设备”。

计算设备1300通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备1300访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。

计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质包括但不限于,ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于储存所需信息且可以由计算设备1300访问的任何其他介质。计算机存储介质将信号本身排除在外。

通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”意指以在信号中对信息进行编码的方式来使其一个或多个特性被设定或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、rf、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。

存储器1312包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的,不可移动的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备1300包括从诸如存储器1312或i/o组件1320等各种实体读取数据的一个或多个处理器。呈现组件1316向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。

i/o端口1318允许计算设备1300逻辑上耦合至包括i/o组件1320的其他设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。

在以下段落中描述的各实施例可以与专门描述的替换实施例中的一者或多者相组合。具体而言,所要求保护的实施例可在替换方案中包含对多于一个其他实施例的引用。所要求保护的实施例可指定对所要求保护的主题的进一步限制。

相应地,在本文中所描述的一个实施例中,提供了一种用于标识对象路径以在场景感知设备环境中导航对象的方法。该方法包括标识用于将对象从场景感知设备环境中的起始点导航到结束点的引导路径。该方法还包括基于引导路径执行可见度检查操作。该方法进一步包括确定路径分段以将对象从起始点朝结束点推进,该路径分段包括第一点和第二点,该第二点基于执行可见度检查操作而被标识。该方法还包括致使对象沿着该路径分段前进。

在一些实施例中,标识引导路径基于实时跟踪以从起始点到结束点定义实时引导路径。

在一些实施例中,实时引导路径包括前段路径部分、中段路径部分和后段路径部分,其中前段路径部分和后段路径部分是当生成实时引导路径时该实时引导路径中的不被显式地走过的各部分。

在一些实施例中,标识引导路径基于从起始点到结束点接收用于场景感知环境的用户指示的引导路径。

在一些实施例中,选择引导路径基于将引导路径的一组坐标与场景感知设备环境中的一组起始点的坐标和一组结束点的坐标进行比较。

在一些实施例中,执行可见度检查包括确定引导路径上的向前看的点是从对象的当前位置看的未被遮挡的点,其中该向前看的点接近引导路径上的被遮挡的点;以及选择该向前看的点作为对象路径的下一个点以用于定义路径分段,该路径分段基于当前位置和该向前看的点来被定义,使得对象走过该路径分段。

在一些实施例中,平滑路径分段基于执行平滑操作来被执行,该平滑操作包括:确定表示引导路径上相对于对象的当前位置的最低的未被遮挡的点的下边界;确定表示引导路径上的从下边界看未被遮挡的后续点的上边界;以及标识下边界和上边界之间的被选择的点,其中当所选择的点被遮挡时,该所选择的点被指定为新的下边界,而当所选择的点未被遮挡时,该所选择的点被指定为新的上边界。

在一些实施例中,松弛路径分段基于执行松弛操作来被执行,该松弛操作包括:选择引导路径上的调整枢轴点;确定引导路径的前一个点的高度;确定引导路径的下一个点的高度;基于前一个点的高度和下一个点的高度的平均值计算经调整的高度;确定经调整的高度处的调整枢轴点、前一个点和下一个点各自未被遮挡;以及将经调整的高度指定为下一个点的新的高度。

在一些实施例中,将路径分段与运动相适配基于执行运动适配操作来被执行,该运动适配操作包括:确定与同对象相关联的移动相对应的运动特征;以及基于该运动特征的属性来将该运动特征应用于路径分段,使得对象路径被适配成合并该运动特征。

在一些实施例中,先前被标识为未被遮挡的路径分段中的遮挡被检测;并且路径分段被遮挡的指示被传达以促成将该路径分段重新定义为未被遮挡的新的路径分段。

在本文中所描述的另一实施例中,提供了具有包含在其上的计算机可执行指令的一个或多个计算机存储介质,这些计算机可执行指令在由一个或多个处理器执行时促使该一个或多个处理器执行用于标识对象路径以在场景感知设备环境中导航对象的操作。该操作包括标识用于将对象从场景感知设备环境中的起始点导航到结束点的引导路径。引导路径基于一组起始点的坐标和一组结束点的坐标来被选择。该操作还包括执行确定引导路径上的向前看的点是未被遮挡的点的可见度检查操作,该可见度检查操作包括基于走过路径分段的对象的属性在场景感知环境中进行投射。该操作进一步包括确定路径分段以将对象从起始点朝结束点推进,该路径分段包括第一点和第二点,该第二点基于执行可见度检查操作而被标识。该操作包括致使对象沿着该路径分段前进。

在一些实施例中,投射在基于利用引导路径的预期对象的属性执行可见度检查操作时被执行。

在一些实施例中,执行可见度检查包括确定引导路径上的向前看的点是从对象的当前位置看的未被遮挡的点;以及选择该向前看的点作为对象路径的下一个点以用于定义路径分段,该路径分段基于当前位置和该向前看的点来被定义,使得对象走过该路径分段。

在一些实施例中,迭代地执行平滑路径分段的平滑操作和松弛路径分段的高度的松弛操作两者被执行。

在一些实施例中,对象被致使沿着路径分段前进进一步包括基于与同对象相关联的移动相对应的对象的属性在场景感知环境中进行投射;基于运动特征的属性来将运动特征应用于路径分段,使得对象路径被适配成合并该运动特征;以及基于应用运动特征来致使对象沿着经适配的路径分段走过。

在本文中所描述的又一个实施例中,提供了一种用于标识对象路径以在场景感知设备环境中导航对象的系统。该系统包括处理器和存储器,该存储器被配置成向处理器提供与计算机组件相关联的计算机程序指令。该系统进一步包括路径导航组件,该路径导航组件被配置成标识引导路径以用于将对象从场景感知设备环境中的起始点导航到结束点;使用该引导路径来执行可见度检查操作;确定用来将对象从起始点朝向结束点推进的路径分段,其中该路径分段包括第一点和第二点,该第二点基于执行可见度检查操作而被标识;以及致使对象沿着该路径分段前进。

在一些实施例中,该系统进一步包括捕捉组件,该捕捉组件被配置成基于实时跟踪来捕捉现实世界环境以标识引导路径,其中实时跟踪操作以从起始点到结束点定义实时引导路径,其中该实时引导路径包括前段路径部分、中段路径部分和后段路径部分,其中前段路径部分和后段路径部分是当生成实时引导路径时实时引导路径中的不被显式地走过的各部分。

在一些实施例中,该系统进一步包括被配置成从用于场景感知设备环境的多条预定义的引导路径中选择引导路径的路径导航组件,该多条引导路径包括基于对场景感知环境内的路径的选择而被手动地定义的一条或多条引导路径。

在一些实施例中,该系统进一步包括被配置成执行补充操作的路径导航组件,其中补充操作包括平滑操作和松弛操作中的一者,该平滑操作包括:确定表示引导路径上参考对象的当前位置的最低的未被遮挡的点的下边界;确定表示引导路径上的从下边界看未被遮挡的后续点的上边界;以及标识下边界和上边界之间的被选择的点,其中当所选择的点被遮挡时,该所选择的点被指定为新的下边界,而当所选择的点未被遮挡时,该所选择的点被指定为新的上边界;该松弛操作包括选择引导路径上的调整枢轴点;确定引导路径的前一个点的高度;确定引导路径的下一个点的高度;基于前一个点的高度和下一个点的高度的平均值计算经调整的高度;确定经调整的高度处的调整枢轴、前一个点和下一个点各自未被遮挡;以及将经调整的高度指定为用于调整枢轴点的新的高度。

在一些实施例中,该系统进一步包括路径导航组件,该路径导航组件被配置成检测先前被标识为未被遮挡的路径分段中的遮挡;以及传达路径分段被遮挡的指示以促成将路径分段重新定义为未被遮挡的新的路径分段。

本文用细节来描述本发明的各实施例的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,发明人已构想所要求保护的主题还可结合其他当前或未来技术以其他方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在本文用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,术语不应被解释为意味着本文公开的各个步骤之中或之间的任何特定顺序。

出于本公开的目的,单词“包括(including)”具有与单词“包含(comprising)”一样广义的含义,并且单词“访问(accessing)”包括“接收(receiving)”、“参考(referencing)”或“检索(retrieving)”。另外,诸如“一(a)”和“一(an)”包括复数以及单数,除非另外相反地指明。这样,例如,“一个特征”的限定满足存在一个或多个特征的情况。而且,术语“或(or)”包括连接的、分离的和这两者(a或b包括要么a要么b,以及a和b)。

为了以下详细讨论的目的,参考头戴式显示器单元来描述本发明的各实施例;然而本文所描绘的头戴式显示器单元仅仅是示例性的。组件可被配置成用于执行各实施例的新的方面,其中被配置的方式包括被编程来执行特定任务或者使用代码实现特定抽象数据类型。此外,尽管本发明的各实施例一般可指在本文所描述的头戴式显示器单元和示意图,但设想了所描述的技术可被扩展到其他实现环境。

参考各具体实施例描述了本发明的各实施例,各具体实施例在所有方面都旨在是说明性的而非限制性的。在不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员将变得显而易见。

从前面的描述可以看出,本发明很好地适用于实现上文所阐述的所有目的和目标,并且具有对结构而言显而易见且固有的其他优点。

可以理解,某些特征和子组合是有用的,并且可以在不参考其他特征或子组合的情况下使用。这是通过权利要求所构想的并且落在权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1