用于无设备的增强的现实与交互的投影仪和深度相机转让专利

申请号 : CN201180010523.9

文献号 : CN102763422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·D·威尔逊H·本克

申请人 : 微软公司

摘要 :

组合多个深度相机和多个投影仪以覆盖指定空间(例如,房间)的体系结构。相机和投影仪经过校准,允许开发空间中的对象的多维(例如,3D)模型,以及以受控的方式将图形投影到相同对象上的能力。此体系结构结合校准过的投影仪,将来自所有深度相机的深度数据以及色彩信息一起并入统一的多维模型中。为了在空间中的不同位置间转移对象时提供视觉连续性,用户的身体能提供可以将这一交互投影于其上的幕布。当用户在空间中移动身体部位时,不需要任何其他对象,身体部位就可以为“过渡中”的数据充当临时“屏幕”。

权利要求 :

1.一种多维建模系统,包括:

深度感测相机的排列,所述深度感测相机感测物理空间中的对象并输出感测信息;

投影仪的排列,所述投影仪将投影施加到物理空间中的表面之上;以及控制组件,所述控制组件处理感测信息和投影以便将虚拟交互式空间映射到物理空间从而为与对象和表面的交互模拟交互式显示屏,其中所述投影互相关联使得至少两个投影中的对象被交叉引用以建立所述物理空间中的连通性,所述连通性的至少一部分通过构建为从一个视图到另一个视图的相连组件进行索引的表来计算。

2.如权利要求1所述的系统,其特征在于,还包括将感测信息的部分映射到投影中以创建3D物理坐标系的映射组件,且所述相机和投影仪被注册到物理空间中。

3.如权利要求1所述的系统,其特征在于,所述控制组件将作为3D感测信息的感测到的信息应用到作为2D图像的投影中,处理感测信息以推断所述对象在物理空间中的深度,且投影被相互关联使得至少两个投影中的对象被交叉引用,以建立物理空间中的连通性。

4.如权利要求1所述的系统,其特征在于,所述控制组件便于将空间小部件投影到物理空间中的表面上,且对所述空间小部件的交互式操控是使用物理空间中的预定动作来完成的。

5.如权利要求1所述的系统,其特征在于,深度感测相机的感测信息被用来构建3D格网,控制组件处理该3D格网以模拟对虚拟对象相对于物理空间中的用户的定位,3D格网是实时构建的并对物理空间中感测到的部分建模。

6.一种多维建模方法,包括:

使用深度感测相机的排列感测位于物理空间中的对象以输出感测到的信息;

使用投影仪的排列将图像投影到物理空间中的表面之上;

基于感测信息和图像创建虚拟交互式空间并将其覆盖到物理空间上;以及相对于物理空间中的表面展示与对象之间的交互,其中所述投影互相关联使得至少两个投影中的对象被交叉引用以建立所述物理空间中的连通性,所述连通性的至少一部分通过构建为从一个视图到另一个视图的相连组件进行索引的表来计算。

7.如权利要求6所述的方法,其特征在于,还包括基于感测信息推断对象在物理空间中的深度。

8.如权利要求6所述的方法,其特征在于,还包括,基于相机在物理空间中的注册以及投影仪在物理空间中的注册而实时生成所述物理空间的3D格网。

9.如权利要求6所述的方法,其特征在于,还包括,基于与两个表面相连的交互使物理空间中的两个表面虚拟关联,以及在物理空间中的交互式表面上展示空间小部件并使用预定的物理运动交互式地操控空间小部件。

10.如权利要求6所述的方法,其特征在于,还包括,基于计算出的虚拟交互式表面与对象的接近度而虚拟地拾起对象和虚拟地放下对象。

说明书 :

用于无设备的增强的现实与交互的投影仪和深度相机

背景技术

[0001] 最近的触摸敏感的交互式显示屏常常被认为很有吸引力,因为用户可以触摸到虚拟对象。与多点触控特性和快速图形能力一起,这些系统的“直接触摸”方面允许对物理对象(诸如纸件文档、相片等)的操控有比之前通过传统输入设备获得的操控更令人信服的模拟。
[0002] 最近的工作显示了感测和显示屏技术的运用使交互式表面正上方的交互成为可能,但这些被限制在显示屏的物理范围以内。通过将用户置于完全虚拟的3D环境或者现实与虚拟世界的混合之中,虚拟和增强现实技术可以被使用在显示屏的界限之外。不幸的是,为了达到真正拟真(immersive),这些方法通常要求累赘的头戴显示屏和跟踪设备。

发明内容

[0003] 下面展示了简化的发明内容,以便提供对此处所描述的一些新颖实施例的基本理解。本概述不是广泛的概览,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一目的是以简化形式展示一些概念,作为稍后展示的更具体实施例的序言。
[0004] 此处公开的体系结构将多个深度感测相机和多个投影仪组合起来涵盖指定空间(例如,房间)以便实现增强的现实与虚拟交互。相机和投影机经过校准,允许开发空间中的对象的多维(例如,3D)模型,以及以受控的方式将图形投影到相同对象上的能力。与校准过的相机相结合,此体系结构将来自所有深度相机的数据并入统一的多维模型中。此外,有趣的用户交互被启用了。
[0005] 为了在空间中的不同位置间转移对象时提供视觉连续性,用户的身体(或者视野中的其他对象)能充当可以将此交互投影于其上的临时幕布。当用户移动身体部位时,例如,在空间中,不需要任何其他对象,身体部位可以为环境中已有的屏幕/表面之间“过渡中”的数据充当临时“屏幕”。
[0006] 此体系结构便于物理空间中的交互,包括连接对象、拾起对象、放下对象和使用诸如虚拟菜单的空间小部件。
[0007] 为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其它优点和新颖特征将变得显而易见。

附图说明

[0008] 图1示出按照本文所公开的体系结构的多维建模系统。
[0009] 图2示出按照本文所公开的体系结构的多维建模系统的可替换的实施例。
[0010] 图3示出按照本文所公开的体系结构的多维建模方法。
[0011] 图4示出图3的方法的其它方面。
[0012] 图5示出按照本文所公开的体系结构运行增强的现实与交互的计算系统的框图。

具体实施方式

[0013] 深度相机和投影仪的组合启用新的交互式体验。实时更新的密集3D格网(mesh)(互相连接的诸如三角形等的多边形组成的网)的丰富体验引起对计算机视觉的看法上的转变。代之以想方设法将格网降低为高度抽象的图元,许多交互可以通过较少破坏性的转换和格网上的模拟来直接实现。为此,那些对于用户的精准的物理形状和用户环境更为基本的属性可以被运用。
[0014] 本体系结构运用深度感测相机结合投影仪的能力来感测和使用哪怕是环境中最小的角落作为显示器。例如,如同此处所采用的,除了颜色以外,深度感测相机还能够在每个像素位置直接感测距最近的物理表面的范围(距离)。在可替换的实现中,可采用3D飞行时间(time-of-flight)相机。
[0015] 例如,用户可以用触摸来操控投影在未工具化(un-instrumented)的桌子上的虚拟对象,通过用一只手移动对象使其离开桌子进入另一只手中来从桌子上抓住对象,在用户走向交互式墙显示器时看着对象安放在手中,然后通过触摸墙来将对象放置在墙上。
[0016] 本体系结构在环境中的各处都可启用一个表面,空间是计算机,甚至用户身体也可以作为显示器表面。换句话说,所有的物理表面都可以是交互式显示器。不仅交互式显示器是活动的,显示器之间的空间也是活动的,使得用户能够以有趣的方式与显示器关联,诸如触摸两个显示器使之互相连接等。图形可以被投影到用户的身体之上,使得半空中的交互成为可能,诸如仿佛虚拟对象是真实的那样握住虚拟对象,或者通过投影在手上的菜单作出选择。
[0017] 多个校准过的深度相机和投影仪被组合起来使得无需用户工具也能够将图形投影在(例如,移动的、静止的)对象之上。相机和投影仪被校准到采用真实世界单位的单坐标系,允许创作交互式体验而无论哪个相机或者显示器最终被用于特定交互。
[0018] 对感测到的3D数据到2D图像的选择性投影允许对熟悉的2D图像处理技术的使用以便推理3D空间。此类投影可以被用来,例如,在未工具化的桌子上模仿表面型功能。多个投影可以互相关联使得两个或者更多个投影中的对象可以被交叉引用以建立真实空间中的连通性。这可以用来探测用户何时触摸了两个模拟的表面(如将对象从一个表面移动到另一个时)而无需依赖复杂且易于出错的跟踪技术。
[0019] 另外,用户可通过模拟对象静止在身体的某个部位上时的物理现象来“握住”虚拟对象,由深度相机感测到的3D格网表示。而且,用户可通过根据空间中的预定动作(例如,向上和向下)移动手来改变对投影在手上的菜单的选择。
[0020] 本体系结构使得遍及日常环境的交互性和可视化成为可能而无需用感测器或标记物来增强用户或房间。交互包括模拟的交互式表面、通过身体的表面间过渡、抓取对象和空间菜单。
[0021] 对于模拟的交互式表面,房间表面被启用成为交互式“显示器”,在其中用户可以用手势和触摸来操控投影的内容。在一个实现中,可以提供交互式墙和交互式桌子;然而,应理解,可以生成和采用任意数量的类似空间。无论是墙或者桌子都不是分立的显示器,而是由以上的相机和投影仪所投影和感测到的标准家具。
[0022] 除了彩色视频以外,深度感测视频相机技术还提供精准的每像素的范围数据。此种相机可在机器人技术和基于视觉的人机交互领域找到用武之地,诸如游戏和姿势输入系统。
[0023] 深度感测相机可以被用来便于交互式桌面系统,其中相机对桌子表面上的对象建立高度图。该高度图被用在模拟游戏(例如,驾驶)中,例如,允许玩家驾驶虚拟汽车越过放置在桌子上的真实对象。玩家可以用,例如,折起来的纸,来布置具有匝道和其他障碍物的场地。第一个投影仪显示汽车在表面上的位置,使得例如当车驶过匝道时,根据一种转换汽车能够腾空。第二个投影仪可以展示整个表面的合成图形视图,或者传统的从汽车后面的游戏机视图。
[0024] 本公开的体系结构采用多个深度感测相机和投影仪来提供空间体(例如,房间)内的3D渲染和交互式体验。相机提供输出,包括每个像素的范围(深度)和色彩。对于表面,这便于相对于表面调整投影仪图形使之适合于(tailor)表面以及与表面相关联的对象(移动的或静止的)上的能力。创建将相机输出和投影仪校准组合成对空间的统一描述的多维模型。相机被定位和定向以便在静止和移动通过空间时在空间中实时捕捉和提供对象形状的完整3D渲染。拥有统一的模型的力量在于将创作和交互设计与用来收集数据的实际设备解耦的能力。
[0025] 现在将参考附图,全部附图中相同的附图标记用于指代相同的元素。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图的形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
[0026] 图1示出根据本公开的体系结构的多维建模系统100。系统100包括,深度感测相机102的排列,其感测物理空间106中的对象104(例如,与相机的距离和色彩)并输出感测信息108;投影仪110的排列,其将投影112施加到物理空间106中的表面114(例如,对象104、物理空间106的墙、空间106中的用户等等)之上;以及控制组件116,其处理感测信息108和投影112从而将虚拟交互式空间118(例如,连续的)映射到物理空间106,以便为(例如,用户)与对象104和表面114的交互模拟交互式显示器。注意,尽管被描绘成矩形2D空间,物理空间106是可以包括单个内部表面或多个内部表面的3D空间,其中表面可以是空间106的内部墙(及地板、天花板),诸如悬挂在墙上的板等的对象、在对象104上、在用户的身体部位或者整个身体上,诸如此类。为清楚起见,虚拟空间118被示为偏离于物理空间106,然而在现实中,如同通过显示器所见的,虚拟空间118和物理空间106之间的分界面可能是无法察觉的。
[0027] 系统100还可包括映射组件,其将感测信息的部分映射到投影中以创建整体的3D物理坐标系。控制组件116将作为3D感测信息的感测信息108应用到作为2D图像的投影112之上。相机102和投影仪110注册到物理空间106中。投影112之间互相关联使得至少两个投影112中的对象被交叉引用以建立物理空间106中的连通性。
[0028] 控制组件116便于将空间小部件投影到物理空间106中的表面上,且对空间小部件的交互式操控是使用物理空间106中的预定运动(例如,手势)来完成的。深度感测相机102的感测信息108被用来构建3D格网,控制组件116处理该3D格网以模拟对虚拟对象相对于物理空间106中的用户的定位。3D格网被实时构建并对物理空间106被感测到的部分建模。控制组件116处理感测信息108以推断对象104在物理空间106中的深度。
[0029] 图2示出根据本公开的体系结构的多维建模系统200的可替换的实施例。系统200包括深度感测相机(DSC)102的排列,其感测空间106中的对象(例如,对象202)并输出感测信息(DSCSI)108(例如,DSCSI1、DSCSI2等等)。系统200还包括投影仪(P)110(表示为P1、P2等等)的排列,其相对于空间106施加投影112(表示为PS1、PS2等等)。
[0030] 映射组件204将感测信息108的部分映射到投影112以创建映射信息。建模组件206基于感测信息108和映射信息创建多维模型208。模型208被用于与空间106中的对象202的交互。
[0031] 在3D环境中,多个深度感测相机提供关于空间(例如,房间)中的对象的3D形状的详细信息,例如,包括空间内部的家具和人。深度相机返回的图像中的信息可以被用来计算空间中所观察的表面的精准的真实世界坐标(例如,以毫米为单位)。这引入了对3D几何模型的使用。来自多个相机的数据(例如,感测信息)可以基于相机的相对(相对于彼此,或相对于某个所选择的物理世界坐标系)方向和位置被正确地整合进统一模型208中。此方向和位置信息可以由标准校准程序计算。
[0032] 多个投影仪可以由另一个标准校准程序类似地整合进3D模型中,得到有助于以受控的方式在任何表面上展示图形的模型(假定表面对至少一个相机和至少一个投影仪可见)。例如,有可能将图形投影到表面上使其以某个尺寸显示,无论表面到投影仪的距离是多少。总体来说,如果图形对象能用标准图形技术放置进3D模型中,它就可以被正确地渲染在真实物理世界中,伴随某些限制,诸如相机和投影仪的视线。
[0033] 此基本模型可以被用来启用有用的交互,其包括以下内容。虚拟对象可以被投影到空间中的写字台上。当用户接近写字台并将对象拂(例如,用一只手)入另一只手中时,对象在用户走近墙显示器的过程中显示为在手中。如果用户以投掷动作将虚拟对象掷到墙显示器上,则对象移动到墙显示器并显示在墙显示器上。虚拟对象从一个显示器到另一个显示器的转移即如此完成。
[0034] 考虑渲染在房间中的某个表面上的虚拟“数据源”,和附近的“数据宿”。用户可以通过用一只手触摸源并用另一只手触摸宿来将源连接到宿。此连接可由投影到用户身体上的图形示出,且数据本身可以被直接渲染到用户上面。注意,数据源和数据宿可以像投影在静态表面上的图标一样基本,或者源或宿各自都可以是人。考虑数据可以通过与另一个人握手,并图形地查看此连接来转移,此连接在交互发生时被投影在手上。
[0035] 相应地,基于本公开的体系结构,不同种类的新式空中UI控制可以被实现。还考虑,例如,表面(例如,地板)上的点指示菜单选择的存在。用户可以将手放置于点的上方,且系统以将当前选择直接投影到用户的手上来作为响应。用户可以通过抬高或者降低手,或者执行某个其它姿势来改变选择。
[0036] 本公开的体系结构的跟踪和推理关于遍及空间(例如,房间)的交互的能力便于将各个交互式表面连接到无缝的整体交互空间。用户可以通过简单地触摸对象再触摸所需位置“通过身体”在交互式表面之间转移对象。系统推断两个接触都属于同一个人,在表面之间建立连接。例如,当用户触摸桌子上的图像然后再触摸墙时,图像被转移到墙上。换言之,通过身体的转移通过同时触摸两个表面来完成。
[0037] 在两个表面可被同时触摸以触发转移时,首先被触摸的对象是源,而其次被触摸的对象成为目的地。为了显示“通过”用户的身体进行的连接,视觉确认可以按照投影到用户上的简短突出显示形式(例如,2秒)作出,作为对其他人的通知,告知对象已被转移并标记谁执行了该转移。
[0038] 在可替换的实现中,代之以将同时触摸作为对象向目标目的地转移的手段,可以在3D格网中采用路线和速度以推断相对于源的目的地。在另一实现中,由于如果源首先被用户的手触摸,然后目的表面被用户的手在触摸源的两秒钟之内触摸,连接也可以被认为是建立了,因此顺序的接触对表面连接可以是决定性的。
[0039] 除了进行通过身体的连接以外,用户可以真实地将对象拖离交互式表面及用手将其拾起来。系统不是真的跟踪用户的手(或任何其他身体部位),而是赋予每个对象一个物理化的行为。例如,从桌子上拾起对象可以通过将对象拂进手中来完成。随着对象被拾起,对象的图标化表示可以与在手中相关联地被展示。
[0040] 用户可以真的将对象拿在手中、将对象传递给环境中的其他人、及在交互式表面之间携带对象。当手中握有虚拟对象时,触摸任何交互式表面都导致瞬时的通过身体的转移,向用户给予一种既容易又一致的方法来将对象放回到表面上。
[0041] 在半空中,可用的投影区域限于用户手的尺寸之内,使得难以投影大的虚拟对象。为了解决在半空中将大的虚拟对象投影到用户手上的问题,每个虚拟对象在被握在手中时可以用一个小的彩色球来表示。
[0042] 精准地检测用户在空间中的位置的能力可以用来启用各种空间界面。可以激活空间垂直菜单,例如,通过在垂直空间中将手放在地板上的投影菜单标记物上方。可以采用其他触发方式。用上下运动来移动手可以用来展现被直接投影在用户手上的不同选项。停留在菜单选项上(例如,达到两秒钟)可以作为进行选择的触发方式。如所示地,当没有其它表面可用时,用户的身体部位可以用作半空中投影的幕布。
[0043] 在一个实现中,深度感测相机可以用估算的以厘米计的到感测器的距离的深度分辨率来报告每个像素的深度估算。深度可以用结构化的光测法来计算。相机可以采用包括红外线(IR)相机、RGB相机和距离IR相机大致以厘米计的IR光源的组合。光源将图案投影到环境中。相机捕捉覆盖在场景上的这一图案并根据图像中此图案的失真来计算深度。于是得到的“深度图像”包含图像中每个像素以毫米计的深度估算。
[0044] 知道图像中每个部分的3D位置便于在空间中分隔实体的能力。基准3D格网(没有用户的空间的格网)可以被采集并用来解决场景中的任何新对象(例如,深度值与基准格网不同的像素)。
[0045] 在一个实现中,此体系结构采用三个不同的深度感测相机和三个投影仪,各自具有独立的位置和视野。相机和投影仪被注册到单个3D坐标系中。既然深度相机报告对应真实世界的深度值且投影仪使用相机值校准,相机和投影仪就都被注册到真实世界(例如,物理空间106)中。
[0046] 校准的第一步是校准深度相机。为了将向物理空间注册相机,相机图像中的三个点(点可以在平面中)可以被运用。一个由反光点(retro-reflective dots)(有已知的真实世界位置)组成的固定网格可以被定位在空间中使得这些点中的至少三个可以被每个相机看见。反光点允许对相机的红外线图像中校准点的轻松识别,因为这些点显得比周围的环境亮得多。为了计算每个校准点的3D位置,周围像素的深度值的样本和平均值被计算并用作深度估算。这一区域求平均的解决方案还在读取任何单点的深度时降低相机噪音。
[0047] 当三个真实世界的点被相机取样并识别时,执行对3D相机姿势的估算,并针对每个相机重复,此后所有的相机都被校准到同一坐标系内。
[0048] 有了如前校准的相机,校准例程的第二步可以是注册投影仪。对这一步,四个校准点可以被运用,其中至少一个点是在平面以外的。这四个点同时被深度相机正确识别并定位在投影仪图像中,此后可以用算法来寻找投影仪的位置和方向。这个过程运用了投影仪投影的焦距和光心。再一次,反光点可以被放置在场景中的任何地方,因为点的位置可以被深度相机正确地估算。
[0049] 对于模拟的交互式表面的校准,交互式表面可以被人工指定。在使用单独的矩形表面时,每个矩形表面可以通过指定深度相机图像中的表面的左上角、右上角和左下角来单独校准。在替换的实现中,所有的表面都设成交互式的。在指定新的投影的交互式表面的同时,三个校准点规定表面上方的交互空间的范围以跟踪在表面上方的体积内的所有用户动作。
[0050] 基于校准,对空间整个被感测的部分建模的3D格网可以被实时捕捉。虚拟对象可以被放置在同一场景中的格网的顶上。由于投影仪校准,这些对象于是在真实空间中被正确地投影在真实对象的顶上。
[0051] 本体系结构采用一个或多个算法来检测用户何时在空间中、用户何时触摸交互式表面、用户何时将手伸入到对应于菜单的空间中的活动区域里,诸如此类。例如,来自两个所检测的用户的格网被分别跟踪并在视觉上加以区分(例如,以不同的色调着色)。
[0052] 以下是使用2D图像处理实现交互的技术。计算3D数据的投影以创建新图像可以被视为是由“虚拟相机”(没有相应的真实相机)生成的。此新图像可以如此计算:首先将每个深度感测相机图像中的每个点从本地相机坐标变换到世界坐标,然后根据虚拟相机视图和投影矩阵变换到虚拟相机坐标。此点的z值被写入其在目标图像中的(x,y)位置。来自全部三个深度相机的数据可以被以这种方式“渲染”到单个虚拟相机视图中。
[0053] 当使用虚拟相机时,虚拟相机图像的视图和投影矩阵可以从真实的深度相机的配置中独立选择。既然每个虚拟相机可以包含来自多个深度相机的深度数据,虚拟相机视图的消费者不需要顾虑深度相机的特定位置和方向,或者甚至存在多个相机的事实。
[0054] 多个虚拟相机视图可以被计算,每个都被精准地定制以支持特定交互。虚拟相机可以使用近处和远处的剪切平面来选择特定的空间体。例如,三个正交投影可以被使用:一个投影给出房间的“计划”视图,两个投影被配置为捕捉正处于桌面和墙显示器表面上方的交互。
[0055] 一旦被计算好之后,虚拟相机图像可以用2D图像处理技术来处理。例如,桌面正上方的虚拟相机图像看起来与由图像化交互式显示器生成的图像在本质上相似。本公开的体系结构通过复制对这些系统来说很典型的处理流水线来模拟交互式表面的行为:接触通过计算连接的组件而被发现,并随时间而跟踪。命中测试和对虚拟对象的多点触摸式操控(例,平移、旋转、缩放)是天然支持的。
[0056] 在桌子和墙的虚拟计算机视图中都发现了接触以后,计划视图有助于确定桌面上的接触和墙显示器上的接触是否是物理上相连的,如当用户同时触摸两个显示器时。连通性可以通过构建为从一个视图到另一个视图的相连组件进行索引的表,和充分利用所有视图都通过输入深度图像和世界坐标系相关联的事实来计算。
[0057] 对每一个深度相机图像计算图,其中该图在每个深度图像像素位置指示计划视图(如果存在)中的相应对象(相连的组件)。运用该图,执行第二轮以便为在桌面视图观察到的每个对象收集与属于桌子对象的所有像素相对应的计划视图组件的集合。相应的计划视图对象的集合随每个桌子对象被存储。这一过程对墙视图重复。如果随桌面对象和墙对象存储的对象的交集不为空,桌子和墙的接触于是通过计划视图中的对象(例,用户的身体)被物理相连,即,对象由交集中的计划视图对象连接。
[0058] 显现在模拟的交互式表面上的虚拟对象可以被用户拾(也称“拾起”),例如,当对象被带到靠近交互式表面的边缘,且有显示在附近表面(比如用户的手)。一旦被拾起以后,对象的运动通过在计划视图中可能的新位置的窗口上最大化目的函数来确定。在一个实现中,目的函数是多个因子的线性组合,其中这多个因子最小化对象动作的数量、禁止不与所观察中的表面相对应的点、偏好去往低处的运动、并偏好去往被观察的表面是平坦(即,区域内表面高度的差异很小)的地方的运动。
[0059] 目的函数可以通过实验来选择以便粗略地模拟球在表面上移动的动作,同时确保其不会跌落表面边缘。在更复杂的实现中,物理引擎可以被采用来直接控制虚拟对象与格网的交互。
[0060] 将对象“放”到交互式表面上可以通过握住对象靠近交互式表面与拾起的相反次序来实现。对象也可以通过确定计划视图中握有虚拟对象的对象(相连的组件)被连接到例如或者桌面或者墙视图中的对象而被放下。在此例中,虚拟对象被放到交互式表面上。这可以通过将在一只手中握住虚拟对象同时触摸目的显示器,或者通过将握着的对象靠近目的显示器移动来达到。
[0061] 空间菜单是另一种基于虚拟相机(例如,描述特定位置上方的一狭长空间体的相机)的交互。交互可以包括用户相对于特定菜单项的3D位置放置手。空间菜单可以被标记来指示菜单位于何处,诸如固定在地板上的投影的标记物等。标记物充当空间参照物,其将3D选择任务的复杂度降低为一维的通过参照物上方的空间体的拂动。
[0062] 此外,系统还可以推理正在操作菜单的用户的头的位置,其可以作为身体的最高点被检测到。菜单项可以相对于检测到的头的位置被定向使得菜单项可对当前用户正确读取。基本上,空间菜单是用户感知的、应需的空间小部件。其他空间小部件可以被实现来诸如控制环境的不同方面(例如,空间按钮、滑动条等等)以及对每一个有相关联的空间菜单的对象情景化方面行为。
[0063] 本体系结构所便于的另一场景涉及多个用户之间的连接。例如,如果用户触摸桌子上的一个对象的同时另一个用户触摸了墙,那么当用户握手时,他们的物理连接形成计算出的虚拟链,其使得对象从桌子到墙的转移成为可能。
[0064] 在可替换的实现中,表面可以被允许移动或改变形状,这进一步允许空间中显示器的动态重配置以适应即时任务的需求,诸如按需求将两个桌子移到一起、将墙显示器改为写字台、或者给予手持纸张交互能力。
[0065] 进一步的扩展是所有感测到的表面可以充当一个连续的交互式显示器,虚拟对象可在其上被移动和操控。连续的交互式表面可包括用户的身体。例如,在把手放进一洼(投影的)红色颜料中时用户的手会变红。触摸蓝颜色手会变得更偏紫色。另一个例子运用当用户触摸房间中的按钮时菜单沿着用户的手臂展开的菜单,用另一只手作选择。两个人可以通过仅仅握手来交换接触信息,且这一转移通过图形动画地展示于用户的身体之上。另一个例子在用户以母语讲话时将对语言的翻译直接展示在用户的衬衫上供其他人阅读。
[0066] 运用物理引擎的更复杂的实现允许更逼真的模拟动作,诸如将向墙显示器投掷对象,和当对象“击中”墙时使对象显示出来。如果对象被移到靠近桌子的边缘,在对象跌落到地板以前可以使其显得摇摇欲坠。
[0067] 换言之,提供了多维建模系统,其包括,感测物理空间中对象的每像素的距离值并输出3D感测信息的深度感测相机的排列、将2D投影施加到物理空间的表面上的投影仪的排列、以及处理3D感测信息和投影以生成仿佛从虚拟相机的透视视图生成的虚拟相机图像的控制组件,虚拟相机图像被用来为用户与物理空间中的对象和表面的交互模拟交互式显示器。物理空间中的两个表面基于用户与这两个表面的物理交互而虚拟相关。
[0068] 控制组件便于基于计算出的虚拟交互式表面与对象的接近度而虚拟地拾起对象和虚拟地放下对象。控制组件处理感测信息以推断在物理空间中对象相对于虚拟相机的视图的距离,并便于空间小部件在物理空间中的交互式表面上的展示及使用预定的物理运动对空间小部件的交互式操控。
[0069] 此处所包括的是一组表示用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图形式示出的一个或多个方法被示出并且描述为一系列动作,但是可以理解,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域的技术人员将明白并理解,方法可被替换地表示为一系列相互相关联的状态或事件,诸如以状态图的形式。此外,并非方法中所示出的所有动作都是新颖实现所必需的。
[0070] 图3示出根据本公开的体系结构的多维建模方法。在300,使用深度感测相机的排列感测物理空间内的对象以输出感测信息。在302,使用投影仪的排列将图像投影到物理空间中的表面上。在304,基于感测信息和图像创建虚拟交互式空间并将其覆盖到物理空间上。在306,相对于物理空间中的表面展示与对象的虚拟交互。
[0071] 图4示出图3的方法的更多方面。注意,箭头指示每个框表示可以单独或者与其他框组合起来作为图3中的流程表所表示的方法的附加方面而被包括的一个步骤。应理解,多个框可被视为图3的流程表的附加步骤。在400,基于感测信息而推断对象在物理空间中的深度。在402,基于相机在物理空间的注册和投影仪在物理空间的注册而实时生成物理空间的3D格网。在404,基于与此二表面相连的交互而使物理空间中的两个表面虚拟相关。在406,基于计算出的虚拟交互式表面到对象的接近度而虚拟拾起对象和虚拟放下对象。在408,在物理空间中的交互式表面上展示空间小部件并使用预定的物理运动而交互式地操控空间小部件。
[0072] 如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、软件和有形硬件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。根据说明的方式,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。词语“示例性”在此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。
[0073] 现在参考图5,示出根据本公开的体系结构执行增强的现实与交互的计算系统500的框图。为了提供用于其各方面的附加上下文,图5及以下讨论旨在提供对其中可实现各方面的合适的计算系统500的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。
[0074] 用于实现各方面的计算系统500包括计算机502,其具有处理单元504、诸如系统存储器506等的计算机可读存储、以及系统总线508。处理单元504可以是各种市场上可买到的处理器中的任一种,诸如单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其它计算机系统配置来实施,包括小型机、大型计算机、以及个人计算机(例如,台式、膝上型等)、手持式计算设备、基于微处理器的或可编程的消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
[0075] 系统存储器506可包括计算机可读存储(物理存储介质),如易失性(VOL)存储器510(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)512(如ROM、EPROM、EEPROM等)。基本输入/输出系统(BIOS)可被存储在非易失性存储器512中,并且包括诸如在启动期间便于在计算机502内的组件之间传递数据和信号的基本例程。易失性存储器510还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
[0076] 系统总线508提供了用于包括,但不限于系统存储器506的系统组件到处理单元504的接口。系统总线508可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及外围总线(例如,PCI、PCIe、AGP、LPC等)。
[0077] 计算机502还包括机器可读存储子系统514以及用于将存储子系统516对接到系统总线514和其他所需计算机组件的存储接口508。存储子系统514(物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)中的一种或多种。存储接口516可包括诸如,例如EIDE、ATA、SATA和IEEE1394等接口技术。
[0078] 一个或多个程序和数据可被存储在存储器子系统506、机器可读和可移动存储器子系统518(例如,闪存驱动器形状因子技术)和/或存储子系统514(例如,光、磁、固态)中,这些程序和数据包括操作系统520、一个或多个应用程序522、其他程序模块524以及程序数据526。
[0079] 例如,一个或多个应用程序522、其他程序模块524和程序数据526可包括图1的系统100的实体和组件、图2的系统200的实体和组件和图4-5的流程表所表示的方法。
[0080] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作系统520、应用522、模块524和/或数据526的全部或部分也可被高速缓存在诸如易失性存储器510等存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。
[0081] 存储子系统514和存储器子系统(506和518)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
[0082] 计算机可读介质可以是可由计算机502访问的任何可用介质,且包括可移动和不可移动的易失性和非易失性、内部和/或外部介质。对于计算机502,介质容纳以任何合适的数字格式对数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所披露的体系结构的新颖方法的计算机可执行指令。
[0083] 用户可以使用诸如键盘和鼠标等外部用户输入设备528来与计算机502、程序和数据交互。其他外部用户输入设备528可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、相机识别系统、指示笔、触摸屏、姿势系统(例如,眼移动、头移动等)和/或类似物。在计算机502是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备530来与计算机502、程序和数据交互。这些和其它输入设备通过输入/输出(I/O)设备接口532经由系统总线504连接到处理单元508,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等。I/O设备接口532也便于输出外围设备534的使用,如打印机、音频设备、摄像设备等,如声卡和/或板载音频处理能力。
[0084] 一个或多个图形接口536(通常也称为图形处理单元(GPU))提供计算机502和外部显示器538(例如,LCD、等离子)和/或板载显示器540(例如,对于便携式计算机)之间的图形和视频信号。图形接口536也可作为计算机系统板的一部分来制造。
[0085] 计算机502可以使用经由有线/无线通信子系统542到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机502描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
[0086] 当在联网环境中使用时,计算机502经由有线/无线通信子系统542(例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备544等通信。计算机502可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机502的程序和数据可被存储在远程存储器/存储设备中,如与分布式系统相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
[0087] 计算机502可用于使用诸如IEEE802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE802.11空中调制技术)中的无线设备。TM
这至少包括对于热点的Wi-Fi(或无线保真)、WiMax,以及Bluetooth 无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关的介质和功能)。
[0088] 上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在详细描述或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。