根据3D语义网格的对象关系估计的制作方法

文档序号:24398074发布日期:2021-03-26 23:17阅读:123来源:国知局
根据3D语义网格的对象关系估计的制作方法
根据3d语义网格的对象关系估计
1.相关申请的交叉引用
2.本申请要求2019年9月10日提交的美国临时申请序列号62/898,049的权益,该申请全文以引用方式并入本文。
技术领域
3.本公开整体涉及确定物理环境中的对象以及该对象之间的关系,并且具体地涉及使用机器学习来估计关系并对物理环境中的对象进行分类的系统、方法和设备。


背景技术:

4.各种计算机视觉技术用于识别物理环境中的物理对象。例如,可以自动评估由相机捕获的图像以确定物理环境包括桌子、椅子和花瓶。然而,此类技术可提供很少或不提供关于对象之间关系的信息。例如,这些技术可能不确定花瓶在桌面上还是椅子紧挨桌子并面向桌子。


技术实现要素:

5.本文所公开的具体实施提供了基于表示物理环境的3d几何结构的顶点和面的原始语义网格来确定对象之间的关系的系统和方法。此类原始语义网格可被生成并用于向估计物理环境中的对象之间的关系的机器学习模型提供输入。例如,该机器学习模型可以输出节点和边缘的图示,该图示指示花瓶在桌面之上或者花瓶的特定实例v1在桌子的特定实例t1之上。
6.一些具体实施提供了一种估计或以其他方式确定物理环境中的对象之间的关系的方法。该示例性方法可通过使用处理器来执行指令的计算设备来实现。该方法生成顶点和面的语义网格。语义网格的3d形状表示物理环境的对象表面的3d几何结构。此外,顶点中的至少一部分具有识别对象类型(例如,桌子、椅子、花瓶等)的语义标签。例如,在此类语义网格中,地板表面上的顶点可被标记为“地板”,并且椅子表面上的顶点可被标记为“椅子”。语义网格中的相邻顶点形成面,例如,三个“地板”顶点可限定表示地板表面的一部分的面。每个顶点可存储位置(例如,x、y、z位置信息)或以其他方式与该位置相关联。
7.一个或多个机器学习算法可用于生成语义网格。在一些具体实施中,可以基于物理环境的一组一个或多个图像生成语义网格,例如使用提供表示物理环境的表面的三维(3d)三角形网格的3d重建技术(例如,算法或机器学习模型)和/或用于对物理环境的对象进行注释或分类的语义图像分割技术(例如,算法或机器学习模型)。
8.该方法可将原始语义网格转换成具有基于语义网格的顶点和面而确定的节点和边缘的图示。该图示可以完整形式或以简化形式表示。例如,该方法可执行简化技术以通过减少节点数来降低图示的复杂性。
9.该方法使用一个或多个机器学习模型来估计对象之间的关系。在一些具体实施中,该方法将图示的表示(例如,完整图示或图示的简化版本)输入到一个或多个机器学习
模型(例如,神经网络)中。该方法还可以基于图形的表示和/或估计的关系使用一个或多个机器学习模型对对象进行分类或更新先前确定的对象分类标签。在一些具体实施中,该方法对对象进行分类或更新分类标签。使用原始语义网格的简化表示(例如,简化图)作为机器学习模型的输入可提高该机器学习模型的准确性和效率。使用简化版本作为输入可允许使用语义网格的表示(例如,图示或简化图示)而不是使用随机的或所有初始化连接的节点来获得准确的结果。在一些具体实施中,机器学习模型输出表示对象及其关系的图示。在一些具体实施中,机器学习模型输出对象之间的成对关系。
10.在一些具体实施中,由机器学习模型产生的对象之间的关系是使用概率的估计,例如,提供桌子t1在地板f1上的可能性为99%,容器c1在桌子t1上的可能性为90%,椅子c1紧挨桌子t1的可能性为75%,椅子c2面向电视tv1的可能性为75%,把手h1附接到门d1的可能性为75%,等等。
11.本文所公开的一些具体实施提供了生成合成数据诸如语义网格的系统和方法,该语义网格类似于真实物理环境的扫描网格并且包含具有已知的/标记的关系的对象。此类合成数据可用于训练机器学习模型,以使用本文所公开的技术并出于各种其他目的根据语义网格对对象进行分类并确定关系。一种示例性方法可通过使用处理器来执行指令的计算设备来实现。该方法对针对合成环境的独立对象的多个网格(例如,针对椅子、桌子、地板等中的每一者的各个网格)建模。独立对象中的每一者与对象类型相关联并且具有包括语义标签的独立网格(例如,椅子网格包括所有标记为“椅子”的节点)。在一些具体实施中,用户通过单独地创建或插入地板、椅子、桌子、墙壁等来创建合成房间。
12.该方法基于多个网格,例如基于用户为合成房间创建的所有网格来确定体积表示。例如,这可涉及转换独立对象的各个网格以形成表示所有网格的单个密度云或点集。然后,该方法基于该体积表示来确定组合网格。例如,由多个单独网格生成的密度云可被转换回表示所有对象的单个网格。
13.该方法还确定单个网格的独立对象之间的关系。例如,可基于来自合成场景创建者的手动输入信息来确定关系或基于评估单独网格或单个网格来自动确定关系。然后可提供单个网格、已知由网格表示的合成对象的识别和/或此类对象之间的关系,以训练机器学习模型,从而使用本文所公开的技术并出于各种其他目的根据语义网格对对象进行分类并估计关系。在一些具体实施中,训练机器学习模型以接收语义网格(或语义网格的简化版本)并产生识别语义网格(或语义网格的简化版本)中所表示的对象之间的关系的输出。
14.根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。
附图说明
15.因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
16.图1是根据一些具体实施的示例性操作环境的框图。
17.图2是根据一些具体实施的示例性控制器的框图。
18.图3是根据一些具体实施的示例性电子设备的框图。
19.图4是示出根据一些具体实施的用于使用语义网格来确定物理环境中的对象之间的关系的示例性方法的流程图。
20.图5是示出用于创建语义网格的简化版本的示例性方法的框图。
21.图6是示出示例性语义网格的框图。
22.图7是示出根据一些具体实施的图6的语义网格的简化版本的框图。
23.图8是示出根据一些具体实施的图7的语义网格的简化版本的框图。
24.图9是示出根据一些具体实施的图8的语义网格的简化版本的框图。
25.图10是示出根据一些具体实施的用于使用语义网格的简化版本来确定物理环境中的对象之间的关系的示例性方法的框图。
26.图11是根据一些具体实施的表示将虚拟对象添加到由图10的对象关系图表示的cgr环境的图示的框图。
27.图12是示出生成合成数据并使用该合成数据训练机器学习模型的框图。
28.根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
29.描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。虽然图1至图3示出了涉及手持式电子设备的示例性具体实施,但其他具体实施不一定涉及手持式设备并且可涉及其他类型的设备,包括但不限于电视机、机顶盒设备、膝上型电脑、台式电脑、游戏设备、家庭自动化设备、手表、头戴式设备(hmd)和其他可穿戴电子设备,以及处理或显示内容的其他设备。
30.图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和电子设备120,该控制器和该电子设备中的一者或两者可处于物理环境中。
31.电子设备120被配置为处理或显示内容。在一些具体实施中,电子设备120包括软件、固件或硬件的合适组合。可从录制源或者直播源提供内容以用于在电子设备120上显示。例如,可将内容存储在电子设备120、控制器110或其他位置上的存储器中。在另一个示例中,内容可以是由电子设备120、控制器110或其他位置上的相机实时捕获或处理的帧流。下文参考图3更详细地描述电子设备120。在一些具体实施中,控制器110的功能由电子设备120提供或与电子设备120组合,例如,在用作独立单元的电子设备的情况下。
32.在一些具体实施中,控制器110是相对于物理环境105处于本地或远程位置的计算设备。在一个示例中,控制器110是位于物理环境105内的本地服务器。在另一个示例中,控制器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、ieee802.11x、ieee 802.16x、ieee 802.3x等)与电子设备120通信地耦接。
33.图2是根据一些具体实施的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、中央处理单元(cpu)、处理核心等)、一个或多个输入/输出(i/o)设备206、一个或多个通信接口208(例如,通用串行总线(usb)、firewire、thunderbolt、ieee 802.3x、ieee 802.11x、ieee 802.16x、全球移动通信系统(gsm),码分多址(cdma)、时分多址(tdma)、全球定位系统(gps)、红外(ir)、蓝牙、zigbee或相似类型接口)、一个或多个编程(例如,i/o)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
34.在一些具体实施中,所述一条或多条通信总线204包括互连系统部件和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像捕获设备或其他传感器、一个或多个显示器等中的至少一者。
35.存储器220包括高速随机存取存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、双倍数据速率随机存取存储器(ddr ram)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和计算机视觉(cv)和计算机生成现实(cgr)模块240。
36.操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。
37.在一些具体实施中,cv和cgr模块240包括语义网格单元242、关系分类单元244、cgr单元246和训练单元248。语义网格单元242可被配置为例如使用提供表示物理环境的表面的3d三角形网格的3d重建技术(例如,算法或机器学习模型)和/或用于对物理环境的对象进行注释或分类的语义图像分割技术(例如,算法或机器学习模型)来生成语义网格。语义网格单元242可被配置为例如通过经由本文所公开的技术减少语义网格中的顶点/节点的数量来减少语义网格。
38.关系分类单元244可被配置为例如使用机器学习模型(例如,神经网络)对对象进行分类并估计对象之间的关系,该机器学习模型使用由语义网格单元242提供的原始语义网格的表示。
39.cgr单元246可被配置为渲染包括物理环境、虚拟内容或两者的描绘的cgr环境。cgr单元246可被配置为利用由关系分类单元244分类或估计的对象和/或关系。例如,cgr单
元246可响应用户的语音命令以基于定义桌子t3紧挨窗户w2的关系来将虚拟花瓶放置在“紧挨窗户的桌子”上,例如,它知道将虚拟花瓶放置在桌子t3上而非另一张非紧挨窗户的桌子上。
40.训练单元248可被配置为生成合成数据,诸如语义网格,其类似于真实物理环境的扫描网格并且具有带有已知/标记关系的对象。此类合成数据可用于训练关系分类单元244的机器学习模型,以根据由语义网格单元242基于物理环境的图像生成的语义网格对对象进行分类并估计关系。
41.尽管这些模块和单元被示出为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,这些模块和单元的任何组合可位于单独的计算设备中。此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。
42.图3是根据一些具体实施的电子设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,电子设备120包括一个或多个处理单元302(例如,微处理器、asic、fpga、gpu、cpu、处理核心等)、一个或多个输入/输出(i/o)设备及传感器306、一个或多个通信接口308(例如,usb、firewire、thunderbolt、ieee802.3x、ieee 802.11x、ieee 802.16x、gsm、cdma、tdma、gps、ir、bluetooth、zigbee、spi、i2c或类似类型的接口)、一个或多个编程(例如,i/o)接口310、一个或多个显示器312、一个或多个面向内部或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
43.在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备及传感器306包括惯性测量单元(imu)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
44.在一些具体实施中,一个或多个显示器312被配置为向用户呈现cgr体验。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导电子发射器显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd-led)、微机电系统(mems)或者类似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,电子设备120包括单个显示器。又如,电子设备120包括针对用户的每只眼睛的显示器。
45.存储器320包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选
地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统330和计算机视觉(cv)和计算机生成现实(cgr)模块340。
46.操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。
47.在一些具体实施中,cv和cgr模块340包括语义网格单元342、关系分类单元344、cgr单元346和训练单元248。语义网格单元342可被配置为例如使用提供表示物理环境的表面的3d三角形网格的3d重建技术(例如,算法或机器学习模型)和/或用于对物理环境的对象进行注释或分类的语义图像分割技术(例如,算法或机器学习模型)来生成语义网格。语义网格单元342可被配置为例如通过经由本文所公开的技术减少语义网格中的顶点/节点的数量来减少语义网格。
48.关系分类单元344可被配置为例如使用机器学习模型(例如,神经网络)对对象进行分类并估计对象之间的关系,该机器学习模型使用由语义网格单元342提供的原始语义网格的表示。
49.cgr单元346可被配置为渲染包括物理环境和/或虚拟内容的描绘的cgr环境。cgr单元346可被配置为利用由关系分类单元344确定的对象和/或关系。例如,cgr单元346可响应用户的语音命令以基于定义桌子t3紧挨窗户w2的关系来将虚拟花瓶放置在“紧挨窗户的桌子”上。
50.训练单元348可被配置为生成合成数据,诸如语义网格,其类似于真实物理环境的扫描网格并且具有带有已知/标记关系的对象。此类合成数据可用于训练关系分类单元344的机器学习模型,以根据由语义网格单元342基于物理环境的图像生成的语义网格对对象进行分类并估计关系。
51.此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。
52.图4是示出根据一些具体实施的用于使用语义网格来确定物理环境中的对象之间的关系的示例性方法的流程图。在一些具体实施中,方法400由设备(例如,图1至图3的控制器100或电子设备120)执行。可在电视机、机顶盒、移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法400。在一些具体实施中,方法400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法400由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
53.在框402处,方法400生成语义网格。语义网格的3d形状表示物理环境的对象的表面,并且原始语义网格的顶点中的至少一部分具有识别对象类型(例如,桌子、椅子、花瓶等)的语义标签。例如,在此类网格中,地板表面上的顶点可被标记为“地板”,椅子表面上的顶点可被标记为“椅子”。
54.在一些具体实施中,生成语义网格涉及估计物理环境的多个图像的不同部分(例
如,像素)的深度,关联用于捕获图像的相机的姿态之间的关系(例如,变换),以及生成物理环境中的表面的3d映射或其他重建。此类映射/重建可包括3d坐标系中用于不同表面点的位置。在一些具体实施中,生成基于3d三角形的网格,并且该网格的每个顶点存储或以其他方式与位置(例如,x、y、z位置信息)相关联。可使用一种或多种机器学习算法来生成3d重建。
55.在一些具体实施中,生成语义网格涉及不利用机器学习模型的技术。例如,一种示例性方法使用算法将3d重建网格的顶点从不同视点投影到语义分割图像上,然后使用多数表决技术来确定最终顶点标签。
56.在一些具体实施中,语义信息被包括在或添加到物理环境的3d重建中。可使用一个或多个机器学习模型来对对象进行分类,包括语义信息或将语义信息添加到3d重建。在一些具体实施中,使用机器学习模型来为物理环境的一个或多个图像的像素生成语义标签。此类语义标签可基于确定图像与3d重建之间的关联而与3d重建的对应部分相关联。在一些具体实施中,机器学习模型使用3d重建和语义标记的图像(例如,自动标记的图像)作为输入来产生语义标记的网格,例如,具有与语义标签相关联的至少一些顶点的语义网格。
57.在框404处,方法400将语义网格转换为图示。这可涉及将语义网格的顶点转换成节点并确定将附近节点彼此连接的边缘。图示的边缘可表示语义网格的面的侧边。节点可存储关于坐标(例如,x、y、z坐标)的信息、语义标签,以及从语义网格中提取的其他信息。
58.在框406处,方法400执行图示简化和实例检测。图示简化可以降低原始语义网格或表示该原始语义网格的图示的复杂性,例如,减少此类图示中的节点数。图5提供了示例性图示简化技术。实例检测涉及识别或估计语义网格或表示该语义网格的图示中的对象的单独实例。在一些具体实施中,使用机器学习模型来执行实例检测,该机器学习模型利用图示的节点的语义位置和3d位置来识别实例。
59.在框408处,方法400使用机器学习模型来估计语义网格的或表示该语义网格的图示的对象之间的关系。关系的示例包括但不限于估计第一对象在第二对象之上,第一对象在第二对象下方,第一对象紧挨第二对象,第一对象与第二对象接触,第一对象附接到第二对象,第一对象倚靠在第二对象上,第一对象(例如,人)握持第二对象,第一对象在第二对象内,第一对象悬挂于第二对象,第一对象靠近第二对象,第一对象面朝第二对象,第一对象背离第二对象,第一对象在第二对象前面,第一对象在第二对象后面,以及第一对象和第二对象彼此对准。
60.在一些具体实施中,由机器学习模型产生的对象之间的关系被估计成概率,例如,提供桌子t1在地板f1上的可能性为99%,容器c1在桌子t1上的可能性为90%,椅子c1紧挨桌子t1的可能性为75%,椅子c2面向电视tv1的可能性为75%,把手h1附接到门d1的可能性为75%,等等。
61.另外,可将物理环境的图像和/或关于捕获该图像的相机的位置和取向的姿态信息输入到机器学习模型,以进一步提高其准确性或效率。可使用相机姿态信息来产生视点特定关系。例如,如果使用实时图像产生计算机生成现实(cgr)环境,则可使用用户当前设备的姿态(例如,位置和取向)来促成特定于视点的关系确定,例如,从用户的当前视点识别出椅子在桌子前方。
62.在一些具体实施中,机器学习模型输出表示对象及其关系的图示。图9示出了可由
方法400输出的对象关系图920。在一些具体实施中,机器学习模型输出对象之间的成对关系。两个或更多个对象之间的关系可以任何合适的格式表示以用于输出和使用。
63.在框408处,方法400使用机器学习模型来更新语义网格的顶点的或表示该语义网格的图示的节点的对象分类标签。在一些具体实施中,将对象之间的关系用作输入以更新语义网格的顶点的或表示该语义网格的图形的节点的标签。在一些具体实施中,用于更新分类标签的机器学习模型是使用神经网络实现的分类器。
64.在一些具体实施中,使用在方法400和本文所公开的其他技术中所估计的对象和/或关系来促成对计算机生成现实(cgr)环境的提供。cgr环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在cgr中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在cgr环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,cgr系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对cgr环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
65.人可以利用其感官中的任一者来感测cgr对象和/或与cgr对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3d或空间音频环境,该3d或空间音频环境提供3d空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些cgr环境中,人可以感测和/或只与音频对象交互。
66.cgr的示例包括虚拟现实和混合现实。虚拟现实(vr)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。vr环境包括人可以感测和/或与之交互的虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测和/或与vr环境中的虚拟对象交互。
67.与被设计成完全基于计算机生成的感官输入的vr环境相比,混合现实(mr)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
68.在一些mr环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现mr环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。
69.混合现实的示例包括增强现实和增强虚拟。增强现实(ar)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现ar环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置成在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接
地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现ar环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
70.增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
71.增强虚拟(av)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,av公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的位置的阴影。
72.有许多不同类型的电子系统使人能够感测和/或与各种cgr环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(hud)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、oled、led、uled、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置成选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置成将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
73.在一些具体实施中,使用在方法400和本文所公开的其他技术中产生的对象分类和/或关系估计来促成对计算机生成现实(cgr)环境的提供。例如,在cgr环境的呈现期间,可接收输入以将虚拟对象定位在cgr环境中,该cgr环境包括通过方法400和本文所公开的其他技术进行分类的对象和估计的关系。例如,用户可提供语音命令以“将虚拟陀螺仪放置在紧挨墙壁的桌子上”。提供cgr环境的cgr单元(例如,图2的cgr单元246或图3的cgr单元346)可基于该输入以及由方法400或本文所公开的其他技术所提供的对象之间的关系来确定虚拟对象在cgr环境中的位置。例如,其可基于确定存在关系“桌子t1紧挨墙壁w1”来识别用于将虚拟陀螺仪自动放置于其上的桌子t1而不是桌子t2,该关系与输入“紧挨墙壁的桌子”最佳匹配。然后可将虚拟对象(例如,虚拟陀螺仪)自动定位在cgr环境中的适当位置处
以供用户体验。
74.在一些具体实施中,将语义网格或表示该语义网格的图示简化为具有更少的顶点/节点。图5是示出用于创建图示的简化版本的示例性方法的框图。在一些具体实施中,方法500由设备(例如,图1-图3的控制器100或电子设备120)执行。可在移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法500。在一些具体实施中,方法500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法500由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
75.在框502处,方法500涉及确定两个节点由边缘连接。在一些具体实施中,这可通过在语义网格上进行检查或遍历来实现。在框504处,方法500确定两个节点具有相同的语义标签,例如,两者都被标记“椅子”等。在框506处,方法500通过组合该两个节点来生成组合节点。先前连接到两个源节点中的任一者的任何其他节点替代地连接到该组合节点。此外,该组合节点可存储第一节点和第二节点的平均位置和/或各个源节点位置(例如,第一节点的第一位置和第二节点的第二位置)或以其他方式与这些位置相关联。在框508处,方法500合并由于组合节点所致的重复边缘。
76.图6至图9示出了简化示例性语义网格。图6是示出示例性语义网格600的框图。语义网格600包括通过由节点610a-h、620a-r、630a-i之间的虚线表示的边缘彼此连接的节点610a-h、620a-r、630a-i。在该示例中,节点610a-h在语义上被标记为“杯子”,节点620a-r在语义上被标记为“桌子”,并且节点630a-i在语义上被标记为“地板”。在实际物理设置中的典型使用情况下,通常将涉及另外的对象和节点,并且语义网格将占据3d坐标空间。在图6的示例中,为了便于说明,语义网格600仅包括二维描绘的有限数量的节点和边缘。
77.图7是示出图6的语义网格600的简化版本的框图。在该示例中,图6中在语义上被标记为“杯子”的节点610a-h被组合成单个组合节点710a。这些节点610a-h基于确定节点610a-h彼此连接并且具有相同标签而组合。因此,消除了节点610a-h之间的边缘。组合节点710a基于源节点的标签被赋予语义标签“杯子”,并且基于源节点位置(例如,平均位置)被赋予位置。
78.图8是示出进一步简化图7的语义网格的框图。在该示例中,图6和图7中在语义上被标记为“地板”的节点630a-i被组合成单个组合节点730a。这些节点630a-i基于确定节点630a-i彼此连接并且具有相同标签而组合。因此,消除了节点630a-i之间的边缘。组合节点730a基于源节点的标签被赋予语义标签“地板”,并且基于源节点位置(例如,平均位置)被赋予位置。
79.图9是示出进一步简化图8的语义网格的框图。在该示例中,图6至图8中在语义上被标记为“桌子”的节点620a-r被组合成单个组合节点720a。这些节点620a-r基于确定节点620a-r彼此连接并且具有相同标签而组合。因此,消除了节点620a-r之间的边缘。组合节点720a基于源节点的标签被赋予语义标签“桌子”,并且基于源节点位置(例如,平均位置)被赋予位置。
80.图10是示出用于使用语义网格的简化版本905来确定物理环境中的对象之间的关系的示例性方法900的框图。在该示例中,语义网格由该语义网格的简化版本表示,该语义网格的简化版本包括图9的语义网格的组合节点710a、720a、730a以及为了进行示意性的说明而包括的附加组合节点740a。在该示例中,语义网格的简化版本905被输入到产生对象关
系图920的机器学习模型910。在一些具体实施中,机器学习模型910是经过训练的神经网络,以在给定简化的语义网格输入的情况下产生对象关系图。在一些具体实施中,机器学习模型910是卷积神经网络(cnn)。在一些具体实施中,机器学习模型910涉及经由反馈循环的递归学习,例如,包括递归神经网络(rnn)。
81.在该示例中,对象关系图920包括第一对象930、第二对象940、第三对象950和第四对象950。第一对象930具有类型标签“杯子”和实例标签“c1”。第二对象940具有类型标签“桌子”和实例标签“t1”。第三对象950具有类型标签“椅子”和实例标签“ch1”。第四对象960具有类型标签“地板”和实例标签“f1”。此外,对象关系图920识别对象930、940、950、960之间的关系935、945、955、965。第一关系935识别出第一对象930在第二对象940“之上”。第二关系945识别出第二对象940“紧挨”第三对象950。第三关系955识别出第二对象940在第四对象960“之上”。第四关系965识别出第三对象950在第四对象960“之上”。应当指出的是,对象关系图920中所示的边缘和节点不必限于仅持有一个标签——每个节点和边缘可产生两个、三个或更多个标签。
82.图11是表示将虚拟对象添加到由图10的对象关系图表示的cgr环境的图示的框图。在该示例中,用户提供文本或口头命令以“紧挨桌子添加一把虚拟椅子”。基于该命令,第二对象940(桌子t1)被识别为该命令中提及的桌子。虚拟椅子基于该命令被自动添加在cgr环境中,并且对象关系图1100被更新以反映该添加,包括基于该命令确定的关系。具体地,该命令识别出虚拟椅子应“紧挨”桌子定位。基于此,选择cgr环境中的自动位置(例如,使用定义例如“紧挨”触发放置距离对象6英寸等的规则)。此外,对象关系图1100被扩展为包括新的对象1130(例如,具有类型标签“椅子”和实例标签“vch1”的虚拟椅子)。对象关系图1100中还识别出并包括新的关系。具体地,第五关系1135识别出新对象1130紧挨第二对象940,并且第六关系识别出新对象1130在第四对象960“之上”。此类关系可基于命令来确定(例如,第五关系1135基于命令中的“紧挨”来确定)。此类关系可基于算法、规则或机器学习来确定。在该示例中,第六关系1145基于指定如下的规则来确定,即如果虚拟对象紧挨地板“之上”的对象而添加,则默认情况下该虚拟对象也将被认为是在地板“之上”。
83.图12是示出生成合成数据并使用该合成数据训练机器学习模型的方法1200的框图。在一些具体实施中,方法1200由设备(例如,图1-图3的控制器100或电子设备120)执行。可在电视机、机顶盒、移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法1200。在一些具体实施中,方法1200由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1200由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
84.在框1202处,方法1200对针对合成环境的独立对象的网格进行建模。独立对象与对象类型相关联,并且网格与语义标签相关联。在一些具体实施中,用户通过分别为每个这样的房间创建地板、椅子、桌子、墙壁等来手动创建示例性房间。
85.在框1204处,方法1200基于多个网格来确定体积表示。例如,这可能涉及转换独立对象的各个网格以形成单个密度云或点集。
86.在框1206处,方法1200基于体积表示来确定组合网格。例如,这可能涉及将密度云转换回单个网格。
87.在框1208处,方法1200基于用于独立对象的网格的标签来向组合网格的节点添加
语义标签。例如,来自椅子c1的节点的标签可用于标记组合网格中类似地定位(例如,基于3d空间中的位置)的节点。
88.在框1210处,该方法确定独立对象之间的关系。在一些具体实施中,这涉及确定独立对象中的第一对象是否与独立对象中的第二对象接触(例如,以确定对象是否正触及、接触等)。在一些具体实施中,这涉及确定独立对象中的第一对象的第一位置相对于独立对象中的第二对象的第二位置是否满足基于距离的阈值条件(例如,以确定对象是否附接、靠近、紧挨等)。在一些具体实施中,这涉及确定独立对象中的第一对象的第一位置相对于独立对象中的第二对象的第二位置是否满足基于取向的阈值条件(例如,以确定对象是否面对、在其之上、在其下方等)。
89.在一些具体实施中,通过如下操作来确定关系:确定与独立对象中的第一对象相关联的第一边界框、确定与独立对象中的第二对象相关联的第二边界框,以及通过比较第一边界框和第二边界框来确定关系(例如,以确定一对象是包围另一个对象还是在另一个对象之内等)。
90.在一些具体实施中,确定关系涉及基于第一对象的位置来生成光线,确定该光线与独立对象中的第二对象的交点,以及基于该交点来确定关系。
91.在框1212处,方法1200使用标记的组合网格和关系来训练机器学习算法。例如,组合网格和关系可提供合成数据,该合成数据可用于训练机器学习模型以使用本文所公开的技术根据语义网格对对象进行分类并估计关系。在一些具体实施中,组合网格和对象关系图分别用作输入和地面实况以训练机器学习模型。组合网格和估计的关系可用于另选的或附加的目的。
92.本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或系统,以便不使要求保护的主题晦涩难懂。
93.除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
94.本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
95.本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
96.本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为

基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
97.还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
98.本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。
99.如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
[0100]
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1