CN105164731A - 将增强现实体验映射到各种环境 - Google Patents

将增强现实体验映射到各种环境 Download PDF

Info

Publication number
CN105164731A
CN105164731A CN201480015120.7A CN201480015120A CN105164731A CN 105164731 A CN105164731 A CN 105164731A CN 201480015120 A CN201480015120 A CN 201480015120A CN 105164731 A CN105164731 A CN 105164731A
Authority
CN
China
Prior art keywords
scene
attribute
digital content
virtual objects
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201480015120.7A
Other languages
English (en)
Inventor
E·奥费克
R·盖尔
D·伯格
J·兰尼尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105164731A publication Critical patent/CN105164731A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Abstract

增强现实(AR)体验被映射到各种环境。描述环境的场景的三维数据模型以及对AR体验的描述被输入。AR体验描述包括要被映射到场景中的数字内容集合以及定义该数字内容在其被映射到场景中时的属性的约束集合。分析该3D数据模型以检测场景中的可供属性,其中该分析生成检测到的可供属性的列表。使用检测到的可供属性的列表和约束集合来求解数字内容集合到场景的基本上满足约束集合的映射。还将该AR体验映射到变化的环境。

Description

将增强现实体验映射到各种环境
背景
增强现实(AR)可被定义为其对象由一种或多种类型的数字(例如,计算机生成的)内容来补充的给定环境的场景。该数字内容与场景中存在的各对象复合,从而使得在感知该AR的用户看来该数字内容和这些对象共存在该同一空间中。换言之,该数字内容叠加在场景上,从而使得该场景的现实被该数字内容人工地增强。由此,AR丰富并补充给定现实,而不是完全替换该给定现实。AR通常被用于各种各样的应用中。示例性AR应用包括军事AR应用、医疗AR应用、工业设计AR应用、制造AR应用、体育赛事AR应用、游戏和其他类型的娱乐AR应用、教育AR应用、旅行AR应用和导航AR应用。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念选择。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本文中描述的增强现实(AR)体验映射技术实施例一般涉及将AR体验映射到各种环境。在一个示例性实施例中,描述环境的场景的三维(3D)数据模型被输入。对AR体验的描述也被输入,其中该AR体验描述包括要被映射到场景中的数字内容集合以及定义数字内容在其被映射到场景中时的属性的约束集合。3D数据模型随后被分析以检测该场景中的可供属性(affordance),其中该分析生成检测到的可供属性的列表。检测到的可供属性的列表和约束集合随后被用来求解数字内容集合到场景的基本上满足约束集合的映射。
在本文中描述的AR体验映射技术的另一示例性实施例中,AR体验被映射到变化的环境。接收根据时间来描述环境的场景的3D数据模型。还接收对AR体验的描述,其中该描述包括要被映射到场景中的数字内容集合以及定义数字内容在其被映射到场景中时的属性的约束集合。3D数据模型随后被分析以检测在该场景中的可供属性,其中该分析生成检测到的可供属性的原始列表。检测到的可供属性的原始列表和约束集合随后被用来求解数字内容集合到场景的基本上满足约束集合的映射。无论何时场景中发生改变时,3D数据模型都被重新分析以检测在经改变的场景中的可供属性,其中该重新分析生成检测到可供属性的经修正的列表。该检测到的可供属性的经修正的列表和约束集合随后被用来求解数字内容集合到经改变的场景的基本上满足约束集合的映射。
附图简述
参考以下描述、所附权利要求书以及附图,将更好地理解此处所描述的增强现实(AR)体验映射技术实施例的具体特征、方面和优点,附图中:
图1A是以简化形式示出对象的最小3D边界框以及该对象的相应非最小3D边界框的示例性实施例的透明透视图的示图。图1B是示出在图1A中例示的最小和非最小3D边界框实施例的透明正视图的示图。
图2是以简化形式示出虚拟篮球框的最小三维(3D)边界框及其上的垂直绑定面的示例性实施例的示图。
图3是以简化形式示出虚拟灯的最小3D边界框及其上的水平绑定面的示例性实施例的示图。
图4是以简化形式示出用于将AR体验映射到各种环境的过程的示例性实施例的流程图。
图5是以简化形式示出用于将AR体验映射到变化的环境的过程的示例性实施例的流程图。
图6是以简化形式示出允许用户将对给定AR体验中的虚拟对象而言有可能的自由度进行可视化的AR体验测试技术的一个实施例的示图。
图7是示出其上可实现如本文所述的AR体验映射技术的各实施例和元素的通用计算机系统的简化示例的示图。
详细描述
在以下对增强现实(AR)体验映射技术实施例(此后简称为映射技术实施例)的描述中,对附图进行了参考,附图形成了实施例的一部分且在其中作为说明示出了可在其中实践该映射技术的具体实施例。可以理解,可以使用其它实施例并且可以做出结构上的改变而不背离映射技术实施例的范围。
还应注意,出于清楚的目的,在描述此处所描述的映射技术实施例中将依靠具体的术语,但并不意味着这些实施例被限制于所选择的具体术语。此外,应当理解的是,每个具体术语包括以宽泛地类似方式工作以实现类似目的的所有其技术等同物。此处提及“一个实施例”、或“另一实施”、或“示例性实施例”、或“替代实施例”、或“一个实施方式”、或“另一实施方式”、或“示例性实施方式”、或“替代实施方式”意味着结合实施例或实施方式描述的特定特征、特定结构或特定特性可被包括在映射技术的至少一个实施例中。在本说明书中各个地方出现短语“在一个实施例中”、“在另一实施例中”、“在示例性实施例中”、“在替代实施例中”、“在一个实施方式中”、在“另一实施方式中”、在“示例性实施方式中”、在“替代实施方式中”不一定全都指同一实施例或实施方式,也不是与其他实施例/实施方式互斥的单独或替换实施例/实施方式。此外,表示映射技术的一个或多个实施例或实施方式的过程流的顺序并不固有地指示任何特定顺序,也不暗示对映射技术的任何限制。
术语“AR体验”在本文中用于指代在用户感知AR时该用户的体验。术语“AR设计者”在本文中用于指代为一个或多个AR应用设计给定AR体验的一个或多个人。术语“虚拟对象”在本文中用于指代现实世界环境或合成世界环境中不存在的计算机生成的对象。术语“虚拟音频源”在本文中用于指代现实世界环境或合成世界环境中不存在的计算机生成的音频。
术语“传感器”在本文中用于指代可用于生成表示给定现实世界环境的实况场景(此后被简称为场景)的数据流的各种场景感测设备中的任何一者。一般来说并如此后更详细描述的,本文中描述的各映射技术实施例可使用一个或多个传感器来捕捉场景,其中这些传感器是按规定的布置配置的。在本文中描述的映射技术的示例性实施例中,每一传感器都可以是任何类型的视频捕捉设备,其示例在此后更详细地描述。每一传感器还可以是静止的(例如,该传感器具有不随时间改变的固定位置以及固定旋转方向)或移动的(例如,该传感器的随时间改变的位置和/或旋转方向)。每一视频捕捉设备都生成视频数据流,该视频数据流包括场景的从视频捕捉设备的特定几何角度来看的图像流。各映射技术实施例还可使用用于捕捉场景的不同类型的视频捕捉设备的组合。
1.0增强现实(AR)
如此后所描述的,AR可被定义为其对象由一种或多种类型的数字内容来补充的给定环境的场景。在本文中描述的映射技术的示例性实施例中,该数字内容包括一个或多个虚拟对象,该虚拟对象可以是基于视频的虚拟对象、或基于图形的虚拟对象、或基于视频的虚拟对象和基于图形的虚拟对象的组合。将领会,映射技术的替换实施例也是可能的,其中该数字内容还可包括文本、或一个或多个虚拟音频源、或其组合等等。由于配备有摄像机和运动传感器的移动计算设备的增长以及前述AR丰富并补充给定现实而非完全替换该给定现实的事实,AR应用变得越来越受欢迎。这样的移动计算设备的示例包括但不限于智能电话和平板计算机。
将领会,现实世界提供各种各样的环境,包括但不限于各种类型的室内设置(诸如小房间、走廊、和大厅等等)和各种类型的室外风景。将进一步领会,这样的现实世界环境可随时间改变,其中给定环境中的改变可包括但不限于,环境中存在的对象数目的改变、或环境中存在的对象类型的改变、或环境中存在的对象中的一者或多者的位置的改变、或环境中存在的对象中的一者或多者的空间方向的改变或其任何组合。由于常规传感器和计算技术在近几年内的显著进步,现在可在线构建并存储此各种类型的现实世界环境的动态结构。这样的常规技术进步的示例包括但不限于以下。常规的图像捕捉和图像处理技术的进步允许使用各种类型的移动传感器(诸如移动摄像机和/或深度相机等等)来随给定现实环境改变以实况方式捕捉和映射该环境。常规的对象识别和捕捉到几何结构分析技术的进步允许理解捕捉到的现实世界环境的一些语义。还将领会,可生成各种各样的合成世界(例如,人工)环境,该环境也可随时间改变。
2.0将AR体验映射到各种环境
一般来说并如此后更详细描述的,本文中描述的各映射技术实施例涉及通过使用混合离散-连续方法来求解非凸约束优化函数来将给定AR体验映射到各种环境。换言之,各映射技术实施例可将给定AR体验映射到各种现实世界环境或各种合成世界环境的场景。
出于包括但不限于以下的各种原因,本文中描述的各映射技术实施例是有利的。如将从后面的更详细描述中领会的,这些映射技术实施例可以按增强用户对给定现实的当前感知的方式来更改该给定现实。这些映射技术实施例还允许AR设计者设计出可被映射到各种各样的不同环境的AR体验,其中在AR设计者正在设计该AR体验时,这些环境对于AR设计者而言可能是未知的。这些映射技术实施例还允许AR设计者设计出以下AR体验:该AR体验可包括虚拟对象和该AR体验将被映射到的各种环境中存在的对象之间的各种各样的复杂交互。这些映射技术实施例还可使AR体验适配前述存在于现实世界和合成世界两者中的各种各样的环境,并感测这些环境的改变,同时使该AR体验的性质保持完整。作为示例而非限制,这些映射技术实施例可允许被投影在给定房间的墙上的AR游戏自适应地在其他房间中重新布置其虚拟机对象,同时仍保持相同的游戏功能,该其他房间可具有不同的尺寸、不同的几何结构或不同的外表。
本文中描述的映射技术实施例还可与任何类型的AR体验(诸如将被投影到不同的房间几何结构上的视频游戏、或对移动机器人将在各种各样的场景和这些场景内的房间中执行的一个或多个活动的描述、或许多其他类型的AR体验)一起操作。这些映射技术实施例还是稳健的、可在任何类型的环境中操作,并且可对给定环境中可能存在的任何类型的对象操作。换言之,这些映射技术实施例在各种各样的AR情景和相关环境中都是有效的。这些映射技术实施例还可为任何类型的环境提供复杂的AR体验。
本文中描述的各映射技术实施例还可确保被映射到环境的场景中的数字内容与该环境一致。作为示例而非限制,这些映射技术实施例可确保被映射到场景中的每一个虚拟对象均停留在该场景中的自由空间体内,而不与该场景中存在的对象(诸如,地板、或墙、或家具等等)相交。这些映射技术实施例还可确保从用户的视野来看这些虚拟对象不被场景中存在的任何对象遮挡。这些映射技术实施例还可确保被映射在场景中的虚拟对象彼此一致。作为示例而非限制,这些映射技术实施例可确保虚拟对象的布置在物理上是看似真实的(例如,这些映射技术实施例可确保这些虚拟对象在3D空间中不会彼此相交)。可任选地,这些映射技术实施例还确保虚拟对象的布置对于感知该增强场景的用户而言是美观的(例如,在其中虚拟椅子和虚拟桌子被添加到该场景的情形中,这些映射技术实施例可确保虚拟椅子与虚拟桌子是等距的)。
本文中描述的各映射技术实施例还可确保给定AR体验自动地适配该AR体验将被映射到的环境的场景的任何改变。这样的改变的示例可包括但不限于场景中的房间的结构在该AR体验期间的改变(例如,房间中的现实人可在房间内到处移动,或者房间中的现实对象(诸如椅子)可被移动)、或AR应用的功能的改变(例如,场景中的一个或多个新现实对象的外观、或与AR应用并行运行的附加应用的实例化)。这些映射技术实施例使AR体验的映射(例如,以随这样的改变发生的实况方式)自动地适配场景中在进行中的任何这样的改变,以便防止打破AR体验的“假象”或在AR应用是机器人控制AR应用的情况下影响AR体验的安全性。作为示例而非限制,考虑使用投影来将正在玩视频游戏的用户的体验从电视机屏幕的区域扩展到该电视机屏幕所驻留的房间的扩展区域的游戏AR应用。投影的内容可使用房间中存在的对象来通过根据给定视频游戏中的事件使用诸如与这些对象的碰撞并将新的照明投在对这些对象上之类的效果来增强用户的AR体验的逼真性。这些映射技术实施例允许通过启用大量经脚本化的交互到用户的环境的映射来将更复杂的效果包括在视频游戏中。附加地,不是在用户在玩视频游戏之前脚本化并映射这些交互,这些映射技术实施例允许在用户正在玩视频游戏时根据其在视频游戏中的交互来在进行中映射这些交互。
2.1使用约束来描述AR体验
一般来说,不是直接对给定AR体验进行建模,本文中描述的这些映射技术实施例允许AR设计者使用要被映射到环境的场景中的数字内容集合以及在将数字内容映射到场景时定义该数字内容的属性的约束(例如,规则)集合来描述该AR体验。如将从以下更详细描述中领会的,通过约束集合定义的数字内容属性表达AR体验的本质并指定在将其映射到场景时AR体验的必要行为。作为示例而非限制,在数字内容集合包括虚拟杂耍师和虚拟狮子的情况下,约束集合可指定该杂耍师将被定位在该场景中的开放空间中并与狮子相距最小的规定距离,以便确保杂耍师的安全。如此后更详细描述的,约束集合可在将数字内容集合中的数字内容的某些项映射到环境的场景中时定义这些项的几何属性和非几何属性两者。
可通过约束集合定义的示例性几何属性包括场景中的一个或多个虚拟对象的位置、场景中的一个或多个虚拟音频源的位置、一个或多个虚拟对象的旋转方向、一个或多个虚拟对象的比例、以及一个或多个虚拟对象的上矢量以及其他可能的几何属性。作为示例而非限制,约束集合可定义给定数字内容项和一个或多个其他数字内容项之间的几何关系(例如,该约束集合可指定两个或更多个特定虚拟对象将是共线的,或者两个特定虚拟对象将隔开特定距离)。约束集合还可定义给定数字内容项和环境的场景中存在的一个或多个对象之间的几何关系。约束集合还可定义给定数字内容项和感知AR的用户之间的几何关系。作为示例而非限制,约束集合可指定给定虚拟对象将被放置在距用户给定距离处,以使得用户可抵达给虚拟对象。约束集合还可指定给定虚拟对象从用户的视点将是可见的。
可通过约束集合定义的示例性非几何属性包括一个或多个虚拟对象的色彩、一个或多个虚拟对象的纹理、一个或多个虚拟对象的质量、一个或多个虚拟对象的摩擦、以及一个或多个虚拟音频源的可听音量以及其他可能的非几何属性。由于定义给定虚拟对象的色彩和/或纹理的能力允许AR设计者确保该虚拟对象将清楚地显露给用户,因此该能力是有利的。类似地,由于定义给定虚拟音频源的可听音量的能力允许AR设计者确保该虚拟音频源将被用户听见,因此该能力是有利的。
在给定Oi表示将被映射的给定数字内容项(换言之并如上所述,Oi可以是虚拟对象、或虚拟音频源、或文本等等)的情况下,给定AR体验描述可包括可由等式Oset={Oi}(其中i∈[1,...,N])给出的N个数字内容项的集合。在给定Cj表示给定约束的情况下,AR体验描述还可包括可由等式Cset={Cj}(其中j∈[1,...,M])给出的M个约束的集合。在给定表示数字内容项Oi的给定属性,并且给定Oi由Ki个属性的集合表示的情况下,代表要被映射的数字内容集合Oset的整个属性集合可由等式(其中k∈[1,...,Ki]且i∈[1,...,N])给出。因此,约束集合Cset中的每一个约束Cj可被表示成Oset中的一个或多个数字内容项Oi的属性的函数,其中该函数被映射成实数值分数。换言之,给定约束Cj可通过函数来给出,其中l表示Cj中的属性的数目。在本文中描述的映射技术的示例性实施例中,当Cj=0时,约束Cj被满足。当Cj具有正数值时,这表示与约束Cj的某一偏离。
一般来说,在AR体验中的数字内容项Oi被映射到环境的场景中时,给定属性可定义Oi的各属性,诸如Oi的外表、Oi的物理性质以及Oi的行为等。当Oi是虚拟对象时,这样的属性的示例包括但不限于Oi在场景中的位置、Oi的旋转方向、Oi的质量、Oi的比例、Oi的色彩、Oi的上矢量、Oi的纹理和Oi的摩擦。当Oi是虚拟音频源时,这样的属性的示例包括但不限于Oi的可听音量。
如将从后面对这些映射技术实施例的更详细描述中领会的,给定数字内容项Oi的刚刚被描述的属性中的一些属性的值可由AR设计者在其正在设计给定AR体验时预先设置,而属性中的其他属性的值可在AR体验被映射到环境的场景时被确定。作为示例而非限制,某个虚拟对象的比例可由AR设计者预先设置,而该虚拟对象在场景中的具体位置可在AR体验被映射到场景中时被确定,由此向感知该AR的用户提供了最优的AR体验。
为了简明起见,在本文中描述的映射技术的各示例性实施例中,Oset中的每一个虚拟对象Oi的几何结构由其最小的3D边界框来逼近。然而,应注意,映射技术的替换实施例也是可能的,在这些替换实施例中,某些虚拟对象Oi的几何结构甚至可由具有固定相对位置的多个最小3D边界框来更准确地逼近。映射技术的其他替换实施例也是可能的,在这些其他替换实施例中,每一虚拟对象Oi的几何结构可由任何其他类型的几何结构(例如,椭圆球或其他类型的几何结构)或者由隐式函数(例如,在虚拟对象处发出的排斥力,其中该力随着你离虚拟对象越来越近而增加)来逼近。
术语“绑定面”在本文中用于指代给定虚拟对象Oi的3D边界框上触碰Oset中的另一虚拟对象或触碰环境的场景中存在的给定对象的特定平坦表面(例如,面)。换言之,每一虚拟对象Oi的3D边界框的一个特定面将是绑定面。本文中描述的各映射技术实施例支持对Oset中的每一个虚拟对象使用不同类型的3D边界框,即常规的最小3D边界框和非最小3D边界框。Oi非最小3D边界框在本文中被定义为与Oi的最小3D边界框具有以下几何关系。Oi的非最小3D边界框的坐标轴与Oi的最小3D边界框的坐标轴对齐。Oi的非最小3D边界框的中心点被定位在Oi的最小3D边界框的中心点处。Oi的非最小3D边界框的尺寸大于Oi的最小3D边界框的尺寸,从而使得非最小3D边界框的每一个面与最小3D边界框上的其相应面平行并与其离开规定距离。
图1A以简化形式示出对象的最小3D边界框以及该对象的相应非最小3D边界框的示例性实施例的透明透视图。图1B示出在图1A中例示的最小和非最小3D边界框实施例的透明正视图。如图1A和1B所例示的,对象(未示出)的最小3D边界框100的坐标轴(未示出)与该对象的非最小3D边界框102的坐标轴(也未示出)对齐。非最小3D边界框102的中心点104被定位在最小3D边界框100的中心点处。非最小3D边界框102的尺寸大于最小3D边界框100的尺寸,从而使得非最小3D边界框102的每一个面与最小3D边界框100上的其相应面平行并与其离开规定距离D。
在给定前述内容的情况下,将领会,虚拟对象Oi的绑定面可被看成是Oi的一元约束。使用Oi的最小3D边界框将导致Oi被直接附连到Oset中的另一虚拟对象或环境的场景中存在的给定对象。换言之,Oi的绑定面将与同该绑定面相关联的提供面触碰。使用Oi的非最小3D边界框将导致Oi被定位在开放空间中与Oset中的另一虚拟对象或与场景中存在的给定对象距规定距离。换言之,Oi的绑定面将与同该绑定面相关联的提供面隔开前述规定距离,从而使得Oi在用户看来将“漂浮”在场景中的开放空间中。
术语“提供面”在本文中用于指代在场景中存在的给定对象或已经被映射到场景中的给定虚拟对象上检测到的平坦平面。给定的提供面可通过给定约束Cj与给定虚拟对象Oi相关联。本文中描述的映射技术将各提供面表示为3D多面体。如此后更详细描述的,Oi的绑定面表示Oi和环境之间的分界面。作为示例而非限制,在该环境中将是自立的虚拟对象的底部(例如,此后描述的虚拟灯的底部)可能必须由该环境中可支撑虚拟对象的重量的某一水平提供面来支撑。在该环境中将由垂直结构来支撑的虚拟对象的背部(例如,此后描述的虚拟篮球框的背部)可必须由直接附连到该环境中可支撑该虚拟对象的重量的某一垂直提供面上。
图2是以简化形式示出虚拟篮球框的最小3D边界框及其上的垂直绑定面的示例性实施例。如图2中所例示的,虚拟篮球框200的最小3D边界框204包括一个垂直绑定面202,该垂直绑定面202可直接附连到给定环境的场景中的合适垂直提供面。作为示例而非限制,该垂直绑定面可以是该场景中篮球框直接附连到的墙。由此,AR中由垂直结构支撑的虚拟对象一般将具有垂直绑定面。
图3以简化形式示出虚拟灯的最小3D边界框及其上的水平绑定面的示例性实施例。如图3中所例示的,虚拟灯300的最小3D边界框304包括一个水平绑定面302,该水平绑定面302可由给定环境的场景中的合适水平提供面来支撑。作为示例而非限制,该水平提供面可以是该场景中其上面放着灯的地板。由此,AR中将站在支撑水平结构上的虚拟对象一般将具有作为该虚拟对象的底部的水平绑定面。
在本文中描述的映射技术的一示例性实施例中,Oset中的每一虚拟对象Oi的坐标系被定义为以Oi的绑定面的中心为原点,并且被定义为与Oi的3D边界框的边平行,其中该坐标系的z轴被定义为垂直于绑定面。
2.2AR体验脚本语言
在本文中描述的映射技术的一示例性实施例中,简单的声明性脚本语言用于描述给定AR体验。换言之,AR设计者可使用该脚本语言来生成描述将被映射到环境的场景中的数字内容集合Oset,并且还描述在将各数字内容项映射到该场景中时定义该数字内容项的属性的约束集合的脚本。该部分提供对该脚本语言的非常简要的描述。
给定虚拟对象Oi可通过在Oi的围绕其中心点(Oi.x,Oi.y,Oi.z)的本地坐标系中定义的其3D边界框维度(Oi.bx,Oi.by,Oi.bz)来描述。bx表示该绑定框沿着该坐标系的x轴的尺寸。by表示该绑定框沿着该坐标系的y轴的尺寸。bz表示该绑定框沿着该坐标系的Z轴的尺寸。Oi的中点(Oi.x,Oi.y,Oi.z)用于定义Oi在Oi正被映射到的场景中的位置。
对于将由环境的场景中的合适水平提供面来支撑的虚拟对象Oi(例如,图3中例示的虚拟灯),Oi的3D边界框的较低水平表面(其可由等式z=-Oi.bz/2来表示)将是Oi的绑定面。该脚本语言使得有可能通过使用以下示例性命令来限制这样的虚拟对象被附连到的提供面的类型:
名称:=对象1([bx,by,bz],水平);(1)
其中,该命令(1)指定虚拟对象(即对象1)具有宽度bx、深度by和高度bz,并且对象1将被分配给(例如,附连到)场景中的某一水平提供面。类似地,对于由场景中的合适垂直提供面支撑的虚拟对象Oi(例如图2中例示的虚拟篮球框),Oi的3D边界框的垂直表面之一将作为Oi的绑定面。该脚本语言使得有可能通过使用以下示例性命令来限制这样的虚拟对象被附连到的提供平面的类型:
名称:=对象2([bx,by,bz],垂直);(2)
其中,该命令(2)指定虚拟对象(即对象2)具有宽度bx、深度by和高度bz,并且对象2被分配给(例如,附连到)场景中的某一垂直提供面。
该脚本语言使用约束集合Cset,该约束集合Cset如上所述可在Oset中的每一数字内容项被映射到环境的场景时提供对每一数字内容项的几何和非几何属性的丰富描述。将领会,除了本文中描述的那些属性外,约束词汇表可被容易地扩展为包括附加的几何和非几何数字内容属性。该脚本语言使得有可能通过使用断言(布尔表达式)命令来相对于给定数字内容项设置约束,其中布尔表达式定义这些约束。
2.3绑定面约束
一般来说并如工业设计、人机交互和人工智能等领域中应领会的,可供属性是对象或环境的允许对该对象/环境执行动作的本征属性。因此,术语“可供属性”在本文中用于指代可在给定环境的场景中检测到的各种特征中的任何一者。换言之,可供属性是场景的可被检测到的任何属性。如此后更详细描述的,本文中描述的映射技术实施例支持对各种各样的可供属性的检测和后续使用,可供属性包括但不限于场景的几何属性、场景的非几何属性以及场景的任何其他可检测的属性。
该场景的可通过本文中描述的映射技术实施例来检测并使用的示例性几何属性包括场景中存在的提供面和场景中存在的角落等等。这些映射技术实施例可检测并使用场景中的任何类型的提供面,包括但不限于垂直提供面(诸如前述图2的垂直篮球框直接附连到的墙等等)、水平提供面(诸如前述其上面站着图3的虚拟灯的地板等等)以及对角提供面。场景的可通过这些映射技术实施例来检测和使用的示例性非几何属性包括在场景中识别到的特定已知对象(诸如,椅子、人、桌子、特定表面、文本等等)、场景中存在的被照明的区域、场景中存在的调色板、和场景中存在的纹理板等等。
该场景的可通过本文中描述的各映射技术实施例来检测和使用的示例性几何属性还包括被场景中存在的对象占用的场景中的空间体。这些被占用的空间体可被看作为质量体。在映射技术的一个实施例中,场景中的每一个被占用的空间体的几何结构都由其最小3D边界框来逼近。然而,应注意,映射技术的替换实施例也是可能的,在这些替换实施例中,场景中某些被占用的空间体的几何结构甚至可由具有固定相对位置的多个最小3D边界框来更准确地逼近。映射技术的其他替换实施例也是可能的,在这些其他替换实施例中,场景中的每一个被占用的空间体的几何结构可用各种其他方式(诸如,体素阵列、或八叉树、或二进制空间分区树等等)来表示。由于对场景中的被占用的空间体的检测允许指定场景中无法放置数字内容项的空间体的约束被定义,因此该检测是有利的。这样的约束可用于防止使虚拟对象的几何结构与场景中存在的任何对象的几何结构相交。
如此后更详细描述的,本文中描述的各映射技术实施例生成在给定环境的场景中检测到的可供属性的列表。将领会,检测场景中越大量的不同类型的特征导致越丰富的可供属性列表,其进而允许越精细的约束集合Cset被定义。为了简明起见,此后描述的各映射技术实施例假设在场景中仅检测到提供面,使得可供属性列表中的每一个可供属性将是垂直提供面、或水平提供面或对角提供面。然而,应注意,映射技术实施例支持对任何前述类型的可供属性的任何组合的使用。
术语“绑定面约束”在本文中用于指代针对Oset中的给定虚拟对象Oi的绑定面的约束。在给定前述内容的情况下,将领会,针对Oi的绑定面约束可定义Oi的绑定面和Oset中的一个或多个其他虚拟对象之间的几何关系,或者Oi的绑定面和可供属性列表中的某一可供属性之间的几何关系。在其中针对Oi的绑定面约束定义Oi的绑定面和Oset中的一个或多个其他虚拟对象之间的几何关系的情况下,该绑定面约束可使用前述函数来表达。此后更详细的描述定义Oi的绑定面和可供属性列表中的某一可供属性之间的几何关系的针对Oi的绑定面约束的表达。
一般说来,对于给定AR体验,Oset中的每一个虚拟对象Oi的绑定面与场景中的某个支撑提供面相关联。在其中给定虚拟对象Oi的3D边界框为最小3D边界框的情况下,Oi的绑定面和给定提供面之间的关联导致Oi被直接附连到提供面,从而使得Oi触碰该提供面,如此后所描述的。然而,将领会,不可能将在场景中检测到的一些提供面与Oi的绑定面相关联。作为示例而非限制并再次参考图3,如果Oi是具有水平绑定面302的虚拟灯300,则情况可能是此绑定面仅可与场景中的水平提供面相关联,以便按稳定的方式来支撑该虚拟灯。类似地并再次参考图2,如果Oi是具有垂直绑定面202的篮球框200,则情况可能是此绑定面仅可与场景中的垂直提供面相关联,以便按稳定的方式来支撑该虚拟篮球框。
在给定前述内容并给定Bl表示Oset中的给定虚拟对象Oi的绑定面约束,并且还给定{提供面}表示场景中检测到的一个或多个提供面的规定集合的情况下,AR体验可包括T个绑定面约束的集合,该集合可由以下等式给出:
Bset={Bl}其中l=[1,...,T]并且
(3)
Bj{Oi;{提供面})=0。
换言之,Oi的绑定面与场景中检测到的可能的提供面群组中的一个提供面相关联。
当给定虚拟对象被映射到环境的场景中时,本文中描述的各映射技术实施例可提供确保该场景中该虚拟对象被放置到的位置具有足够的开放空间来适合该虚拟对象的各种方式。作为示例而非限制,考虑其中场景包括地板且有桌子放在地板的一部分上并且AR体验包括图3中例示的虚拟灯的情况,其中虚拟灯的高度大于桌子的高度,从而使得虚拟灯将不适合放在桌子下方。这些映射技术实施例可按以上示例性方式来防止虚拟灯被放置在桌子下方。指定虚拟灯不与场景中的任何提供面相交的约束可被定义。在给定地板被检测为提供面的情况下,该提供面可根据虚拟灯的几何结构来修改,其中经修改的提供面是原始提供面的子集,其中存在足够的开放空间来适合放该虚拟灯的几何结构。2.4用于将AR体验映射到各环境的过程
图4以简化形式示出了用于将AR体验映射到各种环境的过程的示例性实施例。如图4中所例示的,该过程开始于框400,在框400输入描述环境的场景的3D数据模型。随后输入对AR体验的描述,其中该描述包括要被映射到场景中的数字内容集合以及定义数字内容在其被映射到场景中时的属性的约束集合(框402)。如此后所描述的,该环境可以是现实世界环境或合成世界环境。该3D数据模型可以用各种方式来生成,包括但不限于以下方式。
在其中AR体验正被映射到的环境是合成世界环境的情况下,合成世界环境的场景可通过使用一个或多个计算设备来生成。换言之,这些计算设备可直接生成根据时间来描述合成世界环境的场景的3D数据模型(有时被称为计算机辅助设计(CAD)模型)。本文中描述的映射技术实施例支持任何常规CAD模型格式。
在其中AR体验正被映射到的环境是现实世界环境的情况下,现实世界环境的场景可通过使用一个或多个传感器来捕捉。如上所述,这些传感器中的每一个都可以是任何类型的视频捕捉设备。作为示例而非限制,给定传感器可以是生成包括场景的彩色图像流的视频数据流的常规可见光摄像机。给定传感器也可以是生成包括场景的彩色光场图像流的视频数据流的常规光场相机(也被称为“全光相机”)。给定传感器也可以是与常规红外摄像机组合的常规红外结构化光投影仪,该常规红外摄像机匹配于该投影仪,其中这种投影仪/相机组合生成包括场景的红外图像流的视频数据流。这个投影仪/相机组合也被称为“结构化光3D扫描仪”。给定传感器还可以是生成包括场景的单色图像流的视频数据流的常规单色摄像机。给定传感器还可以是生成包括场景的深度图图像流和场景的彩色图像流两者的视频数据流的常规飞行时间相机。给定传感器还可采用常规的LIDAR(光检测和测距)技术,该技术用激光照明场景并生成包括场景的背散射光图像流的视频数据流。
一般来说,根据时间来描述现实世界环境的捕捉到场景的3D数据模型可通过处理由刚刚描述的一个或多个传感器生成的一个或多个视频数据流来生成。更具体地并且作为示例而非限制,视频数据流可首先被按需校准,从而得到在时间上和空间上被校准的视频数据流。将领会,该校准可使用取决于正被用来捕捉场景的传感器的具体数目和类型的各种常规校准方法来执行。3D数据模型可随后使用也取决于正被用来捕捉场景的传感器的具体数目和类型的各种常规3D重构方法等来从经校准的视频数据流生成。将因此领会,生成的3D数据模型可包括但不限于场景的深度图图像流、或场景的3D点云表示流、或场景的网格模型流和定义每一个网格模型的纹理数据的相应的纹理图流或其任何组合。
再次参考图4,在已经输入了描述场景的3D数据模型以及对AR体验的描述(框400和402)后,随后分析该3D数据模型以检测场景中的可供属性,其中该分析生成检测到的可供属性的列表(框404)。此后描述可在场景中检测到的各种类型的可供属性。如将从本文中描述的各映射技术实施例中领会的,虽然检测到的可供属性的列表与描述该场景的3D数据模型相比是场景的更简单的模型,但该检测到的可供属性的列表表示有足够的场景属性来支持找出数字内容集合到场景的基本上满足(例如,基本上符合)约束集合的映射。各种方法可被用来分析3D数据模型以检测出场景中的可供属性。作为示例而非限制,在前述3D数据模型包括场景的深度图图像流的情况下,场景中的可供属性可通过使用常规的深度图分析方法来检测。在前述3D数据模型包括场景的3D点云表示流的情况下,场景中的可供属性可通过将常规霍夫变换应用到3D点云表示来检测。
再次参考图4,在已经生成了检测到的可供属性的列表(框404)后,随后使用检测到的可供属性的列表和约束集合来求解(例如,找出)数字内容集合到场景的基本上满足该约束集合的映射(框406)。换言之,本文中描述的各映射技术实施例计算每一个数字内容项的基本上满足与该数字内容项相关联的每一个约束的一个或多个属性的值(例如,该映射解决方案可指定场景中的数字内容集合的基本上满足约束集合的布置)。因此,当约束集合包括针对数字内容集合中的给定虚拟对象的绑定面约束时,映射解决方案将从检测到的可供属性的列表中选择基本上满足该绑定面约束的提供面,并将把该虚拟对象的绑定面分配给所选的提供面。各种方法可用于求解数字内容集合到场景的基本上满足约束集合的映射,其示例在此后更详细的描述。应注意,映射技术实施例可使用约束集合来将数字内容集合映射到任何类型的环境的任何场景。
一旦已经求解出了数字内容集合到场景的基本上满足约束集合的映射,可将针对数字内容项的属性的计算出的值输入到给定AR应用,该AR应用可使用这些值来渲染AR体验。作为示例而非限制,游戏AR应用可将虚拟对象渲染在规定环境的场景的视频的上面,其中每一个经渲染的虚拟对象都将被放置在环境中的某位置处并且将具有通过计算出的属性值指定的尺寸和外表。机器人控制AR应用可将移动机器人引导到规定环境中通过计算出的属性值指定的不同位置,其中机器人可将对象投到这些位置中的某个处,并可使用在这些位置中的其他位置处检测到的墙插座来为自己充电。
再次参考图4,在求解出了数字内容集合到场景的基本上满足约束集合的映射(框406)后,可按各种方式使用该映射。作为示例而非限制,可任选地,可存储该映射以供将来使用(框408)。可任选地,还可使用该映射来渲染场景的增强版本(框410)。可任选地随后可存储该场景的增强版本以供将来使用(框412),或者可任选地可显示该场景的增强版本以供用户查看(框414)。
将领会,在许多AR应用中,数字内容集合可被映射到的场景中的改变可使映射被更新成为必要。作为示例而非限制,在其中映射包括直接附连到场景中的门的虚拟符号并且门当前被关闭的情况下,如果门被基本上打开,则可需要在场景中重新定位虚拟符号。类似地,在其中映射包括被投影在场景中的房间的墙上的虚拟字符的情况下,如果现实人随后进入房间并站在虚拟字符的当前位置,则可需要在场景中重新定位该虚拟字符。还将领会,当场景改变时,可存在丢失先前在场景中检测到的一些可供属性,并且可将先前没有检测到的新的可供属性引入该场景。在AR应用使得一个或多个附加虚拟对象被映射到场景中成为必要的情况下,或者在两个不同的AR应用并行运行并且这些AR应用中的一者需要来自另一AR应用的资源的情况下,也可能必须更新映射。一般来说,本文中描述的各映射技术实施例适用于动态(例如,变化的)环境。换言之并如上所述,这些映射技术实施例可自动地适配AR体验到场景中可随时间发生的任何改变的映射。
图5以简化形式示出用于将AR体验映射到变化的环境的过程的示例性实施例。如图5中所例示的,该过程开始于框500,在框500接收根据时间来描述环境的场景的3D数据模型。随后接收对AR体验的描述,其中该描述包括要被映射到场景中的数字内容集合以及定义数字内容在其被映射到场景中时的属性的约束集合(框502)。随后分析该3D数据模型以检测场景中的可供属性,其中该分析生成检测到的可供属性的原始列表(框504)。随后使用检测到的可供属性的原始列表和约束集合来求解数字内容集合到场景的基本上满足约束集合的映射(框506)。每当场景中发生改变时(框508为是),都将重新分析3D数据模型以检测经改变的场景中的可供属性,其中该重新分析生成检测到的可供属性的经修正的列表(框512)。随后使用检测到的可供属性的经修正的列表和约束集合来求解数字内容集合到经改变的场景的基本上满足约束集合的映射(框514)。在本文中描述的映射技术的示例性实施例中,数字内容到经改变的场景的映射包括仅对受检测到的可供属性的原始列表和检测到的可供属性的经修正的列表之间的差异影响的数字内容的属性进行重新映射。
2.5求解映射
此部分提供对可用于求解数字内容集合Oset到环境的场景的基本上满足约束集合Cset的映射的各种方法的更详细的描述。在本文中描述的映射技术的示例性实施例中,Oset到场景的给定映射的成本由成本函数E来表示,该成本函数可通过以下等式给出:
E = Σ j = 1 M w j * C j , - - - ( 4 )
其中wj是向约束Cj分配的预先定义的权重。换言之,映射的成本是Cset中的每一约束Cj的实数值分数的加权平均。因此,成本函数E对Oset到场景的给定映射满足Cset的程度进行求值。将领会,E越接近于零,Oset到场景的映射将越接近于满足Cset。当E=0时,Oset到场景的映射满足Cset
在本文中描述的映射技术的一个实施例中,可使用定理证明器(诸如,常规的Z3高性能定理证明器)来求解数字内容集合到场景的满足约束集合的映射(假设存在这样的映射)。
在本文中描述的映射技术的另一实施例中,可使用各种成本函数优化方法来求解数字内容集合到场景的通过逼近约束集合来使成本函数E最小化的映射。此后更详细地描述了示例性成本函数优化方法。该特定实施例在此后被简称为映射技术的成本函数优化实施例。由于映射技术的成本函数优化实施例允许为AR体验指定软约束,因此该实施例是有利的。在各种情况下(诸如在AR设计者希望给定虚拟对象在给定环境的场景内尽可能大时),软约束可以是有用的。作为示例而非限制,考虑其中AR设计者希望将电视屏幕放置在房间墙壁上,电视屏幕的大小将是房间墙壁将支撑的最大大小(多达规定的最大大小)的情况。在该情况下,AR设计者可生成指定电视屏幕的大小将被缩放到可能的最大大小但不大于规定的最大大小的约束。成本函数优化实施例将求解电视屏幕的映射,从而使得其大小尽可能接近于由给约束指定的大小。如果在场景中没有检测到与规定的最大大小一样大的房间墙壁,则最小值E将大于零。
在本文中描述的映射技术的成本函数优化实施例的一个实现中,成本函数优化方法是具有Metropolis-Hastings状态搜索步骤的常规模拟退火方法。在成本函数优化实施例的另一实现中,成本函数优化方法是马尔可夫链蒙特卡尔采样器方法(此后被简称为采样器方法)。如将从后面的对采样器方法的更详细描述中领会的,在成本函数E高度多元化时,采样器方法可有效地找出令人满意的映射解决方法。
将领会,数字内容集合中将被映射的每一个数字内容项的每一个属性都具有有限范围的可能值。对于定义数字内容在该数字内容正被映射到的场景中的位置的属性,并且作为示例而非限制,考虑给定虚拟对象的给定属性指定虚拟对象将躺在/站在场景中的水平结构上的情况。在该情况下,虚拟对象的可能位置可以是在场景中检测到的所有水平提供面的并集。为了效率的目的并且如此后更详细描述的,采样器方法使用3D网格上的离散位置来逼近数字内容在场景中的定位。由于这样的逼近允许以最小的偏差对每一数字内容项的候选位置进行容易的均匀采样,并且还允许快速计算查询(诸如,查找虚拟对象几何结构和场景中存在的任何对象的几何结构之间的交点的那些查询)。
对于在虚拟对象被映射到的场景中的这些虚拟对象的旋转方向,并且作为示例而非限制,考虑给定虚拟对象被映射到在该场景中检测到的给定提供面并且虚拟对象的绑定面被直接附连到该提供面的情况。在该情况下,虚拟对象绕x和y轴的旋转方向通过映射来定义,而仅虚拟对象绕z轴的旋转方向通过约束集合中的约束来定义。在本文中描述的映射技术的示例性实施例中,可向定义旋转方向属性的约束分配在零度和360度之间的值。定义前述示例性类型的虚拟对象属性(诸如,质量、比例、色彩、纹理等)和前述示例性类型的虚拟音频源属性(诸如可听音量等)的其他约束可被指定为处于最小值可最大值之间的有限范围内,由此允许对参数空间进行容易的均匀采样。
以下是以简化形式对采样器方法的操作的一般描述。首先,建立具有指定分辨率的3D网格,其中该分辨率一般被选为使得被求解出的映射具有针对其中可使用该映射的一个或多个AR应用的足够分辨率。在采样器方法的示例性实施例中,对该3D网格使用2.5厘米的分辨率。对于检测到的可供属性的列表中的每一个检测到的可供属性,标识出3D网格上位于距检测到的可供属性的表面为规定的小距离之上或之内的所有位置,并将每一个标识出的位置存储在可能数字内容位置的列表中。
给定数字内容项到场景的映射涉及向该项的在约束集合中定义的每一个属性分配值,其中每一这样的值分配都可被表示为参数空间中的状态。采样器方法使用以下随机移动方法来对该参数空间进行采样。从随机生成的状态开始,将随机值分配给约束集合中定义的每一个属性。随后对成本函数E求值并分配其值以成为当前成本。随后将新的随机值分配给约束集合中定义的每一个属性。随后对E进行重新求值并且如果其新值小于当前成本,则分配该新值以成为当前成本。向每一属性分配随机值并随后对E进行重新求值的过程被重复达指定数目的迭代。如果当前成本小于或等于规定的成本阈值,则将与当前成本相关联的属性的值用作映射。如果当前成本仍大于规定的成本阈值,则向每一属性分配随机值并对E进行重新求值的过程被再次重复达指定数目的迭代。
如上所述,数字内容被映射到的场景的改变可导致丢失先前在场景中检测到的一些可供属性,并且还可导致将先前没有被检测到的新的可供属性引入到场景中。场景可供属性的这些改变可导致数字内容集合中的一些数字内容项的新映射被求解出。然而,本文中描述的映射技术实施例一般尝试随时间保持数字内容集合的映射中尽可能多的一致性。换言之,可维持其当前映射而无需将成本函数E的值增加到超过规定数量的数字内容项将一般维持其当前映射。为了实现这个,这些映射技术实施例可将新映射距当前映射的距离添加到E,其中该距离被加权一表示保持映射中的一致性的重要性的重要性因子。
3.0附加实施例
在诸如绘画、雕刻、3D建模、视频游戏创建、电影拍摄等常规媒体创建过程中,产生单个“最终产品”(例如,绘画、雕刻、3D模型、视频游戏、电影等)。最终产品的(诸)创建器可按各种方式来对其进行分析以确定它提供的体验是否传达其意图。相比于这些常规的媒体创建过程并如上所述,本文中描述的各映射技术实施例提供给定AR体验到各种各样的不同现实世界和合成世界环境中的各种各样的不同场景的映射。使用绘画类比,而非产生单个环境的单个创建的绘画,这些映射技术实施例使用定义如何产生绘画的约束集合,而不管将哪个环境的哪个场景进行绘画。由此,各映射技术实施例不仅仅产生单个最终产品。相反,这些映射技术实施例可产生大数目的不同最终产品。
本文中描述的各映射技术实施例涉及用于跨各种各样的不同现实世界和合成世界环境中的各种各样的不同场景对给定AR体验的映射进行调试和质量保证测试的各种方法。这些调试和质量保证测试方法此后被称为AR体验测试技术。此后更详细地描述各示例性AR体验测试技术实施例。出于包括但不限于以下方式的各种原因,这些测试技术实施例是有利的。如将从后面的更详细描述中领会的,这些测试技术实施例向用户(诸如AR设计者或质量保证测试者以及其他类型的人)提供确保AR体验的期望质量等级而无需在该AR体验可被映射到的每一场景/环境中查看该AR体验的方式。这些测试技术实施例还允许用户确保AR体验对于大型场景/环境域而言是稳健的。
图6以简化形式示出允许用户将对给定AR体验中的虚拟对象而言有可能的自由度进行可视化的AR体验测试技术的一个实施例。如图6中所例示的,AR体验606包括虚拟桌子600、虚拟笔记本计算机602和虚拟猫604。一般来说,AR体验606被显示为处于运动中。更具体地,桌子600的每一可能自由度被显示成由箭头608和610例示的限制运动。计算机602的每一可能自由度被显示成由箭头612和614例示的限制运动。猫604的每一可能自由度被显示成由箭头616和618例示的限制运动。对AR体验606的动态显示允许用户确定定义桌子600、计算机602和猫604的属性的约束集合是否合适地表示AR设计者对AR体验的知识和意图(例如,是否需要将附加约束添加到该约束集合中,或者是否需要修改一个或多个现有约束)。作为示例而非限制,如果约束集合指定要将计算机602定位在桌子600顶部,则自然期望该计算机将在桌子600移动的情况下随着该桌子移动。然而,如果AR设计者没有生成指定计算机将在桌子600移动的情况下随着该桌子移动的约束(例如由于该约束看上去很明显,因此AR设计者忘了该约束),则在桌子移动的情况下,计算机可变得与桌子分开。将领会,不是使用箭头来指示虚拟对象的可能自由度,AR体验的各部分可基于其相对的可能自由度而被着色。
另一AR体验测试技术实施例允许用户对给定AR体验到从场景数据库中选出的代表场景集合的映射进行可视化。从数据库中选择代表场景可基于各种标准。作为示例而非限制,从数据库中选择代表场景可基于数据库中表示现实世界中存在这样的房间的场景类型的分布。从数据库中选择代表场景还可基于AR体验到数据库中的不同场景的映射中存在的变化。将领会,允许用户对具有不同映射的场景进行可视化是有利的,即使这些场景本身可能是相似的。从数据库中选择代表场景还可基于找到AR体验的不同于所有其他映射但对场景改变更敏感的映射。对场景改变的敏感性可通过扰动场景的参数(例如,预期房间的规模和其他参数)达指定的较小量并检查映射解决方案的存在性来估计。
尽管具体参考各实施例描述了映射技术,但可以理解,可对这些实施例作出修改和变化而不背离本发明会议技术的真正精神和范围。注意,可以按所需的任何组合来使用上述实施例的任一个或全部以形成另外的混合实施例。虽然已经用对结构特征和/或方法动作专用的语言描述了各映射技术实施例,但是应该理解,在所附权利要求中定义的主题不必限于上述的具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
4.0示例性操作环境
本文所描述的各映射技术实施例可在众多类型的通用或专用计算系统环境或配置中操作。图7示出了可在其上实现本文描述的映射技术的各实施例和元素的通用计算机系统的简化示例。注意,图7中由折线或虚线所表示的任何框表示简化计算设备的替换实施方式,并且以下描述的这些替换实施方式中的任一个或全部可以结合贯穿本文所描述的其他替换实施方式来使用。
例如,图7示出了概括系统图,其示出简化计算设备700。这样的计算设备通常可以在具有至少某种最小计算能力的设备中找到,这些设备包括但不限于个人计算机(PC)、服务器计算机、手持式计算设备、膝上型或移动计算机、诸如蜂窝电话和个人数字助理(PDA)等通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、音频或视频媒体播放器。
为允许设备实现本文描述的各映射技术实施例,该设备应当具有足够的计算能力和系统存储器以启用基本计算操作。具体而言,如图7所示,计算能力一般由一个或多个处理单元710示出,并且还可包括一个或多个图形处理单元(GPU)715,这两者中的任一个或全部与系统存储器720通信。注意,假话计算设备710的处理单元700可以是专用微处理器(诸如数字信号处理器(DSP)、甚长指令字(VLIW)处理器、场可编程门阵列(FPGA)、或其他微控制器)或者可以是具有一个或多个处理核的常规中央处理单元(CPU),处理核包括但不限于多核CPU中的专用的基于GPU的核。
此外,图7的简化计算设备700还可包括其他组件,诸如例如通信接口730。图7的简化计算设备700还可包括一个或多个常规计算机输入设备740(例如定点设备、键盘、音频(例如语音)输入设备、视频输入设备、触觉输入设备、姿势识别设备、用于接收有线或无线数据传输的设备等)。图7的简化计算设备700还可包括其他光学组件,诸如例如一个或多个常规计算机输出设备750(例如显示设备755、音频输出设备、视频输出设备、用于传送有线或无线数据传输的设备等)。注意,用于通用计算机的一般通信接口730、输入设备740、输出设备750和存储设备760是本领域技术人员所公知的,且将不在此详细描述。
图7的简化计算设备700还可包括各种计算机可读介质。计算机可读介质可以是可由计算机700经由存储设备760访问的任何可用介质,并且可包括是可移动770和/或不可移动780的易失性和非易失性介质,该介质用于存储诸如计算机可读或计算机可执行指令、数据结构、程序模块或其他数据等信息。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质指代有形的计算机可读或机器可读介质或存储设备,诸如数字多功能盘(DVD)、紧致盘(CD)、软盘、磁带驱动器、硬盘驱动器、光盘驱动器、固态存储器设备、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、磁带盒、磁带、磁盘存储或其他磁存储设备、或可用于存储所需信息并且可由一个或多个计算设备访问的任何其他设备。
诸如计算机可读或计算机可执行指令、数据结构、程序模块等信息的保持还可通过使用各种上述通信介质中的任一种来编码一个或多个已调制数据信号或载波或其他传输机制或通信协议来实现,并且可包括任何有线或无线信息传递机制。术语“调制的数据信号”和“载波”一般指代具有以这一方式设定或改变以在信号中编码信息的一个或多个其特征的信号。例如,通信介质可包括诸如有线网络或直接线连接等携带一个或多个已调制数据信号的有线介质,以及诸如声学、射频(RF)、红外线、激光和其他无线介质等用于传送和/或接收一个或多个已调制数据信号或载波的无线介质。任何以上的组合应当也被包括在通信介质的范围内。
此外,可以按计算机可执行指令或其他数据结构的形式存储、接收、传送或者从计算机可读或机器可读介质或存储设备和通信介质的任何所需组合中读取具体化本文描述的各种映射技术实施方式中的部分或全部的软件、程序和/或计算机程序产品。
最终,此处描述的映射技术实施例还可在由计算设备执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。这些映射技术实施例还可以在其中任务由通过一个或多个通信网络链接的一个或多个远程处理设备执行或者在该一个或多个设备的云中执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于包括媒体存储设备的本地和远程计算机存储介质两者中。另外,上述指令可以部分地或整体地作为可以包括或不包括处理器的硬件逻辑电路来实现。

Claims (10)

1.一种用于将增强现实体验映射到各种环境的计算机实现的过程,包括:
使用计算机来执行以下过程动作:输入描述环境的场景的三维数据模型;
输入对增强现实体验的描述,所述描述包括要被映射到所述场景中的数字内容集合以及定义所述数字内容在其被映射到所述场景中时的属性的约束集合;
分析所述3D数据模型以检测所述场景中的可供属性,其中所述分析生成检测到的可供属性的列表;以及
使用检测到的可供属性的列表和所述约束集合来求解所述数字内容集合到所述场景的基本上满足所述约束集合的映射。
2.如权利要求1所述的过程,其特征在于,所述数字内容包括以下中的一者或多者:
一个或多个基于视频的虚拟对象;或
一个或多个基于图形的虚拟对象;或
一个或多个虚拟音频源。
3.如权利要求1所述的过程,其特征在于,以下任一:
所述环境是现实世界环境,或
所述环境是合成世界环境。
4.如权利要求1所述的过程,其特征在于,所述数字内容包括虚拟对象,并且所述数字内容的属性包括以下中的一者或多者:
几何属性,所述几何属性包括以下中的一者或多者:
所述虚拟对象中的一者或多者在所述场景中的位置,或所述虚拟对象中的一者或多者的旋转方向、或所述虚拟对象中的一者或多者的比例,或
所述虚拟对象中的一者或多者的上矢量;或非几何属性,所述非几何属性包括以下中的一者或多者:
所述虚拟对象中的一者或多者的色彩,或
所述虚拟对象中的一者或多者的纹理;或
所述虚拟对象中的一者或多者的质量;或
所述虚拟对象中的一者或多者的摩擦。
5.如权利要求1所述的过程,其特征在于,所述约束集合定义以下中的一者或多者:
给定数字内容项和一个或多个其他数字内容项之间的几何关系;或
给定数字内容项和所述场景中存在的一个或多个对象之间的几何关系;或
给定数字内容项和感知所述增强现实的用户之间的几何关系。
6.如权利要求1所述的过程,其特征在于,所述检测到的可供属性包括以下中的一者或多者:
所述场景的几何属性,所述几何属性包括以下中的一者或多者:
所述场景中存在的提供面,或
所述场景中存在的角落,或
所述场景中被所述场景中存在的对象占用的空间体;或
所述场景的非几何属性,所述非几何属性包括以下中的一者或多者:
在所述场景中识别出的已知对象,或
所述场景中存在的被照明区域,或
所述场景中存在的调色板,或
所述场景中存在的纹理板。
7.如权利要求1所述的过程,其特征在于,每当所述数字内容包括虚拟对象,并且所述约束集合包括针对给定虚拟对象的绑定面约束时,使用检测到的可供属性的列表和所述约束集合来求解所述数字内容集合到所述场景的基本上满足所述约束集合的映射的过程动作包括以下动作:
从检测到的可供属性列表中选择基本上满足所述绑定面约束的提供面;以及
向所选择的提供面分配所述虚拟对象的所述绑定面。
8.如权利要求1所述的过程,其特征在于,成本函数被用来对所述数字内容集合到所述场景的给定映射满足所述约束集合的程度进行求值,并且使用检测到的可供属性的列表和所述约束集合来求解所述数字内容集合到所述场景的基本上满足所述约束集合的映射的过程动作包括使用成本函数优化方法来求解所述数字内容集合到所述场景的通过逼近所述约束集合来使所述成本函数最小化的映射的动作。
9.一种用于将增强现实体验映射到变化的环境的系统,包括:
计算设备;以及
具有可由所述计算设备执行的程序模块的计算机程序,其中所述计算设备可由所述计算机程序的程序模块来指导以便,
接收根据时间来描述环境的场景的三维数据模型,
接收对所述增强现实体验的描述,所述描述包括要被映射到所述场景中的数字内容的集合以及定义所述数字内容在其被映射到所述场景中时的属性的约束集合,分析所述3D数据模型以检测所述场景中的可供属性,所述分析生成检测到的可供属性的原始列表,
使用检测到的可供属性的原始列表和所述约束集合来求解所述数字内容集合到所述场景的基本上满足所述约束集合的映射,以及
每当所述场景中发生改变时,
重新分析所述三维数据模型以检测经改变的场景中的可供属性,所述重新分析生成检测到的可供属性的经修正的列表,以及
使用检测到的属性的经修正的列表和所述约束集合来求解所述数字内容集合到经改变的场景的基本上满足所述约束集合的映射。
10.如权利要求9所述的系统,其特征在于,所述数字内容集合到经改变的场景的映射包括仅对受检测到的可供属性的原始列表和检测到的可供属性的经修正的列表之间的差异影响的数字内容的属性进行重新映射。
CN201480015120.7A 2013-03-14 2014-03-06 将增强现实体验映射到各种环境 Pending CN105164731A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/827,368 2013-03-14
US13/827,368 US20140267228A1 (en) 2013-03-14 2013-03-14 Mapping augmented reality experience to various environments
PCT/US2014/020953 WO2014158928A2 (en) 2013-03-14 2014-03-06 Mapping augmented reality experience to various environments

Publications (1)

Publication Number Publication Date
CN105164731A true CN105164731A (zh) 2015-12-16

Family

ID=50389530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480015120.7A Pending CN105164731A (zh) 2013-03-14 2014-03-06 将增强现实体验映射到各种环境

Country Status (11)

Country Link
US (1) US20140267228A1 (zh)
EP (1) EP2973433A2 (zh)
JP (1) JP2016516241A (zh)
KR (1) KR20150131296A (zh)
CN (1) CN105164731A (zh)
AU (1) AU2014241771A1 (zh)
BR (1) BR112015020426A2 (zh)
CA (1) CA2903427A1 (zh)
MX (1) MX2015012834A (zh)
RU (1) RU2015138923A (zh)
WO (1) WO2014158928A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037863A (zh) * 2017-12-12 2018-05-15 北京小米移动软件有限公司 一种显示图像的方法和装置
CN108537149A (zh) * 2018-03-26 2018-09-14 广东欧珀移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN108604118A (zh) * 2016-03-07 2018-09-28 谷歌有限责任公司 在增强/虚拟现实环境中的智能对象大小调整和布置
CN111615832A (zh) * 2018-01-22 2020-09-01 苹果公司 用于生成平面视频内容的合成现实重构的方法和设备
CN114728413A (zh) * 2019-11-19 2022-07-08 谷歌有限责任公司 用于控制远程机器人的图形用户界面的方法和系统

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160021355A1 (en) * 2014-07-15 2016-01-21 Ostendo Technologies, Inc. Preprocessor for Full Parallax Light Field Compression
US9715865B1 (en) * 2014-09-26 2017-07-25 Amazon Technologies, Inc. Forming a representation of an item with light
US9911232B2 (en) * 2015-02-27 2018-03-06 Microsoft Technology Licensing, Llc Molding and anchoring physically constrained virtual environments to real-world environments
JP6866299B2 (ja) 2015-04-23 2021-04-28 オステンド・テクノロジーズ・インコーポレーテッド 全方向視差ライトフィールド表示システム用の方法および装置
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US10448030B2 (en) 2015-11-16 2019-10-15 Ostendo Technologies, Inc. Content adaptive light field compression
US10102316B2 (en) 2015-12-15 2018-10-16 Dassault Systemes Simulia Corp. Virtual reality authoring method
US10373381B2 (en) * 2016-03-30 2019-08-06 Microsoft Technology Licensing, Llc Virtual object manipulation within physical environment
US10628537B2 (en) 2016-04-12 2020-04-21 Dassault Systemes Simulia Corp. Simulation augmented reality system for emergent behavior
US10453431B2 (en) 2016-04-28 2019-10-22 Ostendo Technologies, Inc. Integrated near-far light field display systems
US20170372499A1 (en) * 2016-06-27 2017-12-28 Google Inc. Generating visual cues related to virtual objects in an augmented and/or virtual reality environment
IL264690B (en) 2016-08-11 2022-06-01 Magic Leap Inc Automatic positioning of a virtual object in 3D space
KR102620195B1 (ko) 2016-10-13 2024-01-03 삼성전자주식회사 콘텐츠 출력 방법 및 이를 지원하는 전자 장치
EP3340187A1 (en) * 2016-12-26 2018-06-27 Thomson Licensing Device and method for generating dynamic virtual contents in mixed reality
IL301087A (en) 2017-05-01 2023-05-01 Magic Leap Inc Adapting content to a three-dimensional spatial environment
US20190018656A1 (en) * 2017-05-12 2019-01-17 Monsarrat, Inc. Platform for third party augmented reality experiences
US20190005724A1 (en) * 2017-06-30 2019-01-03 Microsoft Technology Licensing, Llc Presenting augmented reality display data in physical presentation environments
US20190156377A1 (en) 2017-11-17 2019-05-23 Ebay Inc. Rendering virtual content based on items recognized in a real-world environment
JP7196179B2 (ja) * 2017-12-22 2022-12-26 マジック リープ, インコーポレイテッド 複合現実システムにおいて仮想コンテンツを管理および表示する方法およびシステム
CA3091026A1 (en) 2018-02-22 2019-08-29 Magic Leap, Inc. Object creation with physical manipulation
CA3089646A1 (en) 2018-02-22 2019-08-20 Magic Leap, Inc. Browser for mixed reality systems
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
US11151793B2 (en) * 2018-06-26 2021-10-19 Magic Leap, Inc. Waypoint creation in map detection
US11348316B2 (en) 2018-09-11 2022-05-31 Apple Inc. Location-based virtual element modality in three-dimensional content
KR20200076325A (ko) * 2018-12-19 2020-06-29 삼성전자주식회사 외부 객체를 컨트롤러로 이용하기 위한 웨어러블 장치 및 방법
US11922489B2 (en) * 2019-02-11 2024-03-05 A9.Com, Inc. Curated environments for augmented reality applications
JP2022051977A (ja) * 2019-02-13 2022-04-04 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JP7440532B2 (ja) 2019-04-03 2024-02-28 マジック リープ, インコーポレイテッド 複合現実システムを用いて仮想3次元空間内のウェブページを管理および表示すること
US11056127B2 (en) 2019-04-30 2021-07-06 At&T Intellectual Property I, L.P. Method for embedding and executing audio semantics
WO2021095704A1 (ja) * 2019-11-15 2021-05-20 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US11763478B1 (en) 2020-01-17 2023-09-19 Apple Inc. Scan-based measurements
US11551422B2 (en) 2020-01-17 2023-01-10 Apple Inc. Floorplan generation based on room scanning
US11210843B1 (en) * 2020-07-15 2021-12-28 Disney Enterprises, Inc. Virtual-world simulator

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100289817A1 (en) * 2007-09-25 2010-11-18 Metaio Gmbh Method and device for illustrating a virtual object in a real environment
CN102142055A (zh) * 2011-04-07 2011-08-03 上海大学 基于增强现实交互技术的真三维设计方法
CN102540463A (zh) * 2010-09-21 2012-07-04 微软公司 用于透视头戴式显示器的不透明度滤光器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100289817A1 (en) * 2007-09-25 2010-11-18 Metaio Gmbh Method and device for illustrating a virtual object in a real environment
CN102540463A (zh) * 2010-09-21 2012-07-04 微软公司 用于透视头戴式显示器的不透明度滤光器
CN102142055A (zh) * 2011-04-07 2011-08-03 上海大学 基于增强现实交互技术的真三维设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAVID E. BREEN ET AL.: "Interactive Occlusion and Automatic Object Placement for Augmented Reality", 《COMPUTER GRAPHICS FORUM》 *
PAUL MERRELL ET AL.: "Interactive Furniture Layout Using Interior Design Guidelines", 《ACM TRANSACTIONS ON GRAPHICS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108604118A (zh) * 2016-03-07 2018-09-28 谷歌有限责任公司 在增强/虚拟现实环境中的智能对象大小调整和布置
CN108037863A (zh) * 2017-12-12 2018-05-15 北京小米移动软件有限公司 一种显示图像的方法和装置
CN111615832A (zh) * 2018-01-22 2020-09-01 苹果公司 用于生成平面视频内容的合成现实重构的方法和设备
CN108537149A (zh) * 2018-03-26 2018-09-14 广东欧珀移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN114728413A (zh) * 2019-11-19 2022-07-08 谷歌有限责任公司 用于控制远程机器人的图形用户界面的方法和系统

Also Published As

Publication number Publication date
RU2015138923A (ru) 2017-03-16
BR112015020426A2 (pt) 2017-07-18
MX2015012834A (es) 2016-02-03
EP2973433A2 (en) 2016-01-20
AU2014241771A1 (en) 2015-09-03
KR20150131296A (ko) 2015-11-24
WO2014158928A3 (en) 2015-07-09
CA2903427A1 (en) 2014-10-02
WO2014158928A2 (en) 2014-10-02
JP2016516241A (ja) 2016-06-02
US20140267228A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN105164731A (zh) 将增强现实体验映射到各种环境
EP3304252B1 (en) Shared tactile interaction and user safety in shared space multi-person immersive virtual reality
CN110227266B (zh) 使用真实世界虚拟现实地图来构建虚拟现实游戏玩耍环境
US9911232B2 (en) Molding and anchoring physically constrained virtual environments to real-world environments
Murcia-López et al. The effect of environmental features, self-avatar, and immersion on object location memory in virtual environments
Navarro-Newball et al. Gesture based human motion and game principles to aid understanding of science and cultural practices
Gong Analysis of architectural decoration esthetics based on VR technology and machine vision
Antunes et al. Two decades of evolutionary art using computational ecosystems and its potential for virtual worlds
Lombardo et al. Practica. a virtual reality platform for specialized training oriented to improve the productivity
Kotthäuser et al. Validating vision and robotic algorithms for dynamic real world environments
Onime et al. Mixed reality cubicles and cave automatic virtual environment
Paes et al. The relevance of visual cues in immersive environments: does pictorial realism matter?
Turan Virtual reality implementation for University Presentation
Tewari et al. Virtual Campus Walkthrough
Perea-Tanaka et al. Towards tantalluc: Interactive mobile augmented reality application for the Museo de América in Madrid
Pirker et al. Virtual worlds for 3d visualizations
Zamri et al. Research on atmospheric clouds: a review of cloud animation methods in computer graphics
Suyanto et al. Animation opportunities of intelligent multimedia systems in developing a creative economy park
Loria Virtual Paradise
Coppens Integrating Immersive Technologies for Algorithmic Design in Architecture
Bågling Navigating to real life objects in indoor environments using an Augmented Reality headset
Bruzzone et al. Extended Reality Technologies for Industrial Innovation
Dias et al. Virtual landscape bridging the gap between spatial perception and spatial information
Tümmers et al. Generating VR Meeting Rooms with Non-rectangular Floor Plans Using Cost Optimization and Hard Constraints
Klivak FEATURES OF VIRTUAL REALITY DESIGN

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151216

WD01 Invention patent application deemed withdrawn after publication