首页 / 专利库 / 电脑图像 / 像素 / 用于照明混合现实对象的环境合成

用于照明混合现实对象的环境合成

阅读:952发布:2024-02-28

专利汇可以提供用于照明混合现实对象的环境合成专利检索,专利查询,专利分析的服务。并且本 发明 涉及用于照明 混合现实 对象的环境合成。本文所公开的各种具体实施包括基于CGR环境中的合成来 渲染 计算机生成现实(CGR)对象的反射表面的设备、系统和方法。为了渲染CGR对象的反射表面,一个示例性具体实施涉及基于所观察到的物理场景的特征来合成表示物理场景的一部分的CGR环境的环境地图。在一种具体实施中,生成完整的环境地图包括识别没有对应纹理的环境地图的 像素 ,并且基于与物理场景的一个或多个相机图像相关联的纹理信息来生成合成纹理。在一种具体实施中,在CGR环境中渲染CGR对象,其中基于CGR环境的完整环境地图来确定CGR对象的反射表面的外观。,下面是用于照明混合现实对象的环境合成专利的具体信息内容。

1.一种用于在计算机生成现实CGR环境中基于表面合成而渲染CGR对象的反射表面的方法,包括:
在具有一个或多个处理器和计算机可读介质的设备处:
确定CGR环境的第一几何形状和纹理信息,其中所述CGR环境基于物理场景的一个或多个相机图像;
确定所述CGR环境包括具有缺失部分的表面;
生成用于所述缺失部分的扩展部分;
基于所述扩展部分确定表示所述物理场景的所述CGR环境的第二几何形状;
使用所确定的第二几何形状和所述纹理信息来生成环境地图;以及
在所述CGR环境中渲染CGR对象,其中基于所述环境地图来确定所述CGR对象的反射表面的外观。
2.根据权利要求1所述的方法,还包括:
确定所述CGR对象在所述CGR环境中的三维3D位置;以及
确定所述CGR对象的反射率,其中所述CGR对象的所述反射表面的所述外观至少部分地基于所述CGR对象的所述3D位置和所述反射率。
3.根据权利要求2所述的方法,其中至少部分地基于所述CGR对象的所述3D位置、几何形状和所述反射率来确定所述扩展部分的尺寸。
4.根据权利要求1所述的方法,还包括:
混合所述扩展部分和至少一个相邻部分。
5.根据权利要求1所述的方法,还包括:
基于所述CGR对象的三维3D位置来选择所述环境地图的投影中心,其中生成所述环境地图至少部分地基于所述环境地图的所述投影中心。
6.根据权利要求1所述的方法,其中至少部分地基于多个扩展部分确定所述第二几何形状。
7.根据权利要求1所述的方法,还包括:
生成多个环境地图;以及
在所述CGR环境中渲染多个CGR对象,其中基于所述多个环境地图来确定所述多个CGR对象的反射表面的外观。
8.根据权利要求1所述的方法,其中所述纹理信息包括有关颜色、图案、反射率或辐照度的信息。
9.根据权利要求1所述的方法,还包括:
从所述物理场景的所述一个或多个相机图像识别最暗纹理,其中所述纹理信息至少部分地基于所述最暗纹理。
10.根据权利要求1所述的方法,还包括:
确定所述环境地图包括没有对应纹理的像素
为没有对应纹理的所述像素生成合成纹理;以及
通过用所述合成纹理替换没有对应纹理的所述像素,增强所述环境地图。
11.根据权利要求1所述的方法,其中所述CGR环境中的所述CGR对象被呈现在屏幕上或半透明显示装置上。
12.一种用于在计算机生成现实CGR环境中基于环境地图合成而渲染CGR对象的反射表面的方法,包括:
在具有一个或多个处理器和计算机可读介质的设备处:
确定CGR环境的第一几何形状和纹理信息,其中所述CGR环境基于物理场景的一个或多个相机图像;
生成环境地图,所述环境地图包括所确定的第一几何形状和所确定的纹理信息;
确定所述环境地图包括没有对应纹理的像素;
为没有对应纹理的所述像素生成合成纹理;
通过用所述合成纹理替换没有对应纹理的所述像素,增强所述环境地图;以及在所述CGR环境中渲染CGR对象,其中基于完成的环境地图来确定所述CGR对象的反射表面的外观。
13.根据权利要求12所述的方法,还包括:
确定所述CGR对象在所述CGR环境中的三维3D位置;以及
确定所述CGR对象的反射率,其中所述CGR对象的所述反射表面的所述外观至少部分地基于所述CGR对象的所述3D位置和所述反射率。
14.根据权利要求13所述的方法,还包括至少部分地基于所述CGR对象的所述3D位置和所述反射率来识别没有对应纹理的所述像素。
15.根据权利要求12所述的方法,还包括:
混合所述扩展部分和至少一个相邻部分。
16.根据权利要求12所述的方法,还包括:
基于所述CGR对象的三维3D位置来选择所述环境地图的投影中心,其中生成所述环境地图至少部分地基于所述环境地图的所述投影中心。
17.根据权利要求12所述的方法,还包括:
生成多个环境地图;以及
通过利用所述合成纹理替换没有对应纹理的所述像素来增强所述多个环境地图,其中至少部分地基于所增强的多个环境地图来确定多个CGR对象的反射表面的外观。
18.根据权利要求12所述的方法,其中所述纹理信息包括有关颜色、图案、反射率或辐照度的信息。
19.根据权利要求12所述的方法,还包括从所述物理场景的所述一个或多个相机图像识别最暗纹理,其中所述纹理信息至少部分地基于所述最暗纹理。
20.一种用于在计算机生成现实CGR环境中基于环境地图合成而渲染CGR对象的反射表面的系统,包括:
具有一个或多个处理器的设备;以及
计算机可读介质,所述计算机可读介质包括指令,所述指令当由所述一个或多个处理器执行时使得所述系统:
确定CGR环境的第一几何形状和纹理信息,其中所述CGR环境基于物理场景的一个或多个相机图像;
确定所述CGR环境包括具有缺失部分的表面;
生成用于所述缺失部分的扩展部分;
基于所述扩展部分确定表示所述物理场景的所述CGR环境的第二几何形状;
使用所确定的第二几何形状和所述纹理信息来生成环境地图;以及
在所述CGR环境中渲染CGR对象,其中基于所述环境地图来确定所述CGR对象的反射表面的外观。

说明书全文

用于照明混合现实对象的环境合成

[0001] 相关申请的交叉引用
[0002] 本申请要求2018年5月22日提交的美国临时申请序列号62/674,690的权益,该申请全文以引用方式并入本文。

技术领域

[0003] 本公开整体涉及在CGR环境中渲染计算机生成现实(CGR)对象,以及具体地讲,涉及用于在CGR环境中逼真地渲染CGR对象的反射表面的系统、方法和设备。

背景技术

[0004] CGR系统所使用的计算机生成现实(CGR)对象通常旨在具有逼真且令人信服的外观。例如,基于物理沙发的CGR沙发可被放置在独立的物理房间中,或者基于物理花瓶的CGR花瓶可被放置在物理桌面上。CGR对象与许多物理对象一样,常常具有反射属性。例如,花瓶的表面可具有包括附近物理对象的镜面反射的外观。为了实现在CGR环境中渲染的此类CGR对象的逼真外观,CGR对象上的反射应准确地反映周围的物理对象。
[0005] 现有的CGR系统无法显示具有足够精确反射表面的CGR对象。在许多情况中,CGR系统仅具有对特定相机视图或一组有限相机视图的访问权限,因此通常缺少应在CGR对象上的逼真表面中反射的物理对象或周围物理对象的部分的图像。例如,CGR系统可能不具有捕获在相机视场之外的桌子的一部分的图像,该相机视场应该被反射在插入到环境中的CGR花瓶的表面中。
[0006] 用于生成反射表面的一些现有技术使用环境地图(也称为反射地图)。环境映射或反射映射是一种基于图像的照明技术,用于通过预先计算的纹理图像来近似反射表面的外观。环境地图的纹理通常由用户提供。例如,用户可提供森林的图像以生成将用于在虚拟世界中反射对象的环境地图。然而,使用基于先前捕获的场景的环境地图不能为当前场景中的CGR对象提供逼真的反射,因为当前场景中存在的任何在先前捕获的场景中不存在的对象不会呈现在CGR对象的反射中。
[0007] 现有的环境映射技术不能为插入物理环境中的CGR对象提供逼真的反射,因为用于生成环境地图的纹理是基于用户提供的独立环境的图像的。纹理,以及因此CGR对象反射不能准确地表示放置CGR对象的CGR环境中的CGR对象周围的桌子、墙壁和其他物理对象。发明内容
[0008] 本文所公开的各种具体实施包括基于CGR环境中的环境合成来渲染计算机生成现实(CGR)对象的反射表面的设备、系统和方法。一种示例性具体实施涉及在具有一个或多个处理器和计算机可读存储介质的设备处执行操作。为了渲染CGR对象的反射表面,该设备基于所观察到的物理场景的特征来合成表示真实物理场景的一部分的CGR环境的环境地图。例如,该设备可基于在场景的一个或多个相机图像中观察到的部分表面,确定包括扩展表面的环境地图。该设备基于物理场景的一个或多个相机图像来确定环境地图和/或环境地图的扩展表面的纹理信息(例如,颜色、图案、反射率、辐照度等)。又如,该设备可通过识别环境地图中没有对应纹理的像素并基于所确定的纹理信息生成合成纹理,从而生成CGR环境的包括合成纹理的完整环境地图。
[0009] 该设备在CGR环境中渲染CGR对象。基于完整的环境地图来确定CGR对象的反射表面的外观。在多种具体实施中,该设备确定CGR对象在CGR环境中的位置、CGR对象的反射率和/或CGR对象材料的表面粗糙度;反射表面的外观基于所确定的位置、反射率和/或粗糙度。在一种具体实施中,该设备混合合成纹理和环境地图的至少一个相邻纹理。在另一种具体实施中,该设备基于CGR对象的三维(“3D”)位置来选择环境地图的投影中心,并且基于环境地图的投影中心来确定CGR对象的反射表面的外观。在另外的具体实施中,该设备基于物理环境的所捕获几何形状(例如,环境的至少一个被检测到的表面的位置、取向、尺寸或范围)来选择环境地图的投影中心。在另一种具体实施中,该设备生成CGR环境的多于一个的环境地图,包括环境表面的扩展部分和/或合成纹理。在多种具体实施中,该设备在屏幕上在CGR环境中渲染CGR对象,并且在其他具体实施中,该设备在半透明显示装置上在CGR环境中渲染CGR对象。
[0010] 根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;这一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且这一个或多个程序包括用于执行或导致执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质存储有指令,当由设备的一个或多个处理器执行时,这些指令使得该设备执行或导致执行本文所述方法中的任一种。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器,以及用于执行或导致执行本文所述方法中的任一种的装置。
附图说明
[0011] 因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
[0012] 图1是根据一些具体实施的示例操作环境和录像机/相机的框图
[0013] 图2是根据一些具体实施的图1的示例操作环境和CGR对象的框图。
[0014] 图3是图1的操作环境的所捕获几何形状的框图。
[0015] 图4是例示性立方体地图的图示。
[0016] 图5是图3的3D模型,向该3D模型增加了扩展部分。
[0017] 图6是图1的操作环境,其具有计算机生成现实(CGR)对象和CGR对象的反射表面。
[0018] 图7A-图7J示出了根据一些具体实施由应用存储的数据。
[0019] 图8是示出了根据一些具体实施,用于渲染CGR对象的反射表面的系统的功能框图。
[0020] 图9是根据一些具体实施,渲染CGR对象的反射表面的方法的流程图表示。
[0021] 根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。

具体实施方式

[0022] 描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
[0023] 物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
[0024] 相反,计算机生成现实(CGR)环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在CGR中,跟踪人的物理运动的一个子组或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
[0025] 人可以利用其感官中的任一者来感测CGR对象和/或与CGR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,所述音频对象创建3D或空间音频环境,所述3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
[0026] CGR的示例包括虚拟现实和混合现实。
[0027] 虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
[0028] 与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还结合来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
[0029] 在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。
[0030] 混合现实的示例包括增强现实和增强虚拟。
[0031] 增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现AR环境的电子系统可以具有透明或半透明显示器,人可以透过它直接查看物理环境。系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象合成,并在不透明显示器上呈现该合成。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在通过不透明显示器呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用系统感知叠加在物理环境之上的虚拟对象。
[0032] 增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得修改后的部分可以是原始捕获图像的代表性的但不是真实的版本。作为另一示例,物理环境的表示可以通过以图形方式消除或模糊其部分而进行转换。
[0033] 增强虚拟(AV)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。又如,虚拟对象可以采用符合太阳在物理环境中的位置的阴影。
[0034] 有许多不同类型的电子系统使人能够感测和/或与各种CGR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能的车辆挡玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过所述媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、液晶、激光扫描光源或这些技术的任意组合。介质可以是光学波导、全息图介质、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
[0035] 在各种具体实施中,一种CGR对象渲染系统包括一个或多个相机/录像机和处理器,它们基于表面合成和/或CGR环境中的环境地图完成来渲染CGR对象的反射表面。通过在物理环境中叠加CGR对象时更逼真地渲染CGR对象的反射表面,该CGR对象渲染系统可提高CGR对象的视觉外观的逼真度。
[0036] 参考图1,其示出了用于实施本发明的各方面的示例操作环境100,并且总体指定为100。通常,操作环境100代表向用户呈现CGR体验所涉及的各种设备。如图1的示例中所示,操作环境100涉及根据一些具体实施由录像机/相机110捕获场景105。在一些具体实施中,控制器115和录像机/相机110中的每一者包括软件固件和/或硬件的适当组合。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括被描绘为头戴式显示器(“HMD”)的录像机/相机110和控制器115。
[0037] 为了给用户提供CGR体验,利用计算设备生成或至少处理过的计算机生成的信息(例如,二维(“2D”)和/或3D图形内容、声音、触觉反馈等)叠加在用户从用户附近的物理环境(例如,场景105)感知的自然感知信息上。例如,由场景105表示的物理环境可包括表面120。如果在该示例中表面120是桌面,并且计算机生成的内容是视频游戏人物,则作为CGR体验的一部分,用户可看到该视频游戏人物站在桌面上。
[0038] 在操作环境100中,控制器115被配置成为用户管理和协调CGR体验。下文相对于图8更详细地描述控制器115。在一种具体实施中,控制器115生成用于在HMD的屏幕上显示的图形数据。在一种具体实施中,控制器115是场景105本地的计算设备。例如,控制器115可被实现为场景105内的本地服务器(例如,视频游戏控制器)。在一种具体实施中,控制器115是远离场景105的计算设备。例如,控制器115可被实现为场景105外部的远程服务器(例如,服务器、应用服务器、中央服务器等)。在一种具体实施中,控制器115经由一个或多个有线和/或无线通信信道(例如,BLUETOOTH、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与录像机/相机110通信地耦接,在另一种具体实施中,控制器115可以是HMD的一部分或集成到HMD中。在另一种具体实施中,控制器115可集成在与录像机/相机110相同的外壳内。
[0039] 在一些具体实施中,作为CGR体验的一部分,可经由HMD将CGR内容在场景105中呈现给用户。例如,用户可在其头部或通过其他方式在穿戴或附接到用户身体的设备上佩戴HMD。在一些具体实施中,录像机/相机110是被配置为向用户呈现CGR体验的HMD的一部分。在其他具体实施中,录像机/相机110是被配置为向用户呈现内容的手持式电子设备(例如,智能电话或平板电脑)的一部分。在一种具体实施中,HMD包括用于在用户的视场中显示CGR内容的屏幕。在一种具体实施中,在用户的视场中显示CGR内容的屏幕由耦接至HMD的便携式计算设备(例如,智能电话、平板电脑等)提供。在一些具体实施中,控制器115的功能由HMD提供和/或与HMD组合。
[0040] 作为CGR体验的一部分,用户可使用辅助设备修改CGR内容(或以其他方式与之交互)。为此,在一些具体实施中,辅助设备被配置为向控制器115提供用户输入。辅助设备可向控制器115提供用户输入以修改经由HMD呈现的CGR内容。例如,辅助设备可包括一个或多个用户输入机构。在该示例中,用户可通过操纵一个或多个用户输入机构而使辅助设备向控制器115和/或HMD发送相应指令(或命令)。在接收到该指令时,控制器115和/或HMD将根据该指令修改经由HMD呈现给用户的CGR内容。在一种具体实施中,一个或多个用户输入机构包括物理输入机构(例如,按钮、操纵杆、开关、旋钮、拨盘等)。在一种具体实施中,一个或多个用户输入机构包括计算机生成的输入机构(例如,软键、虚拟键盘等)。辅助设备可向控制器115提供用户输入以修改经由HMD呈现的CGR内容的另一种方式涉及改变HMD和辅助设备之间的对应关系(例如,相对位置和/或取向)。
[0041] 参考图1,记录器/摄像机110放置在相对于场景105的某一位置,以捕获来自场景105的光。图1还包括示例性表面120,例如,桌面。在一种具体实施中,左边界125和右边界
130限定场景105的所捕获的几何形状/纹理135,这可由录像机/相机110的能力决定;左边界125和右边界130还可限定场景105的未捕获几何形状/纹理140。此外,左边界125和右边界130可进一步限定示例性所捕获的表面部分145和/或缺失的表面部分150,诸如在表面
120不完全落在场景105的所捕获的几何形状/纹理135内的情况下。尽管未示出,但应当理解,所捕获的几何形状/纹理135和未捕获的几何形状/纹理140也可由类似地由录像机/相机110的能力决定的顶边界和底边界来限定。
[0042] 在多种具体实施中,可采用多种不同的方式存储所捕获的几何形状/纹理135。在多种具体实施中,可使用球体映射生成包含球面反射镜上反射的周围环境图像的单一纹理。在其他具体实施中并且如图4所示,可使用立方体映射,使得将环境投影到立方体的六个面上并将其保存为六个正方形纹理,或者展开到单个纹理的六个正方形区域中。如本领域的普通技术人员所理解的,其他合适的投影也可用于具体实施中,例如抛物面映射、金字塔映射、八面体映射和HEALPix映射。在其他实施方案中,所捕获的几何形状135可被存储为一组几何基元,诸如点、体素、三角形、四边形或平面,可能包括纹理坐标。在另一些实施方案中,所捕获的纹理135可被存储为至少一个位图,该位图将纹理存储在至少一个几何基元上。
[0043] 在CGR环境中,由于平面表面对于用户交互(例如,CGR对象的放置)的重要性,因此平面表面尤其受关注。此外,如传统计算机图形应用中那样,物理环境的3D几何形状并非是事先知道的,而是实时估计的。因此,用于放置环境地图的最佳位置不是事先知道的,需要动态确定。如本领域的普通技术人员所理解的,对“平面”和/或“平面的”的例示性引用并非旨在限于在两个维度上无限扩展的平坦表面的严格数学定义;例如,“平面”和“平面的”也可指平面或平坦表面的一部分。可包括表面120的对象的实施例包括,但不限于桌子、地板、墙壁、书桌、书、体、山、场地、车辆、计数器、人脸、人的手、人的头发、其他人体部分、整个人体、动物或其他活的生物体、衣服、纸张、杂志、书籍、车辆、机器或具有表面的其他人造物体,以及可能随时间呈现出表面的任何其他对象或场景。
[0044] 此外,计算机生成的场景105的几何/纹理135的表示可包括任何数量的表面,这些表面可以被简化为通常不完整的环境地图表示。因此,如本领域的普通技术人员所认识的,场景105的所捕获的几何形状/纹理135的计算机生成的表示可包括任何数量的所捕获的表面,这些表面可以被简化为通常不完整的环境地图表示。由此可见,未捕获的表面也可包括构成环境地图或反射环境地图的一部分的一个或多个表面。因此,表面120,包括所捕获的表面部分145和缺失的表面部分150被提供为基本的例示性表面,并且不旨在将本公开的表面和/或所捕获的几何形状限制到特定对象或环境地图的一部分。本文所公开的技术可用于识别场景中的一个或多个表面或几何形状,并且因此在一些具体实施中,可用于识别个体表面或几何形状,并且在其他具体实施中,可用于识别3D场景中的所有表面或几何形状。此外,与所捕获的几何形状/纹理135和/或表面120相关联的纹理信息可包括例如颜色或外观。关于场景中的几何形状(包括表面)的信息可用于许多目的,包括但不限于涉及生成或合成光源、阴影或以其他方式影响渲染CGR对象155或场景105的目的。
[0045] 图2是根据一些具体实施的图1的示例操作环境100和CGR对象155的框图。如示例性的图2所示,CGR对象155(例如立方体)被呈现在表面120上,包括CGR对象155的视点156。视点156也可称为CGR对象155的姿态,并且其可通过六自由度刚体变换而参数化。出于例示性目的,视点156包括参考笛卡尔轴作为代理几何形状。如本领域的普通技术人员所理解的,具体实施可采用任何合适的视点取向、取向参考和/或代理几何形状。在示例性具体实施中,左边界125和右边界130限定场景105的所捕获的几何形状/纹理135以及场景105的未捕获几何形状/纹理140。CGR对象155被呈现在示例性所捕获的表面部分145上。缺失的表面部分150落在场景105的未捕获几何形状/纹理140之内,并且可表示场景105的环境地图的一个或多个表面。在示例性具体实施中,基于纹理(例如,颜色)来识别所捕获的表面部分
145,例如,所捕获的部分表现出与其周围不同的纹理。
[0046] 在物理环境中,取决于物理对象的反射属性,物理对象可表现出反射率。因此,用户或观察者将预期到CGR环境中的CGR对象表现出相同或相似的反射率。然而,由于用于开发CGR环境的图像/录像(例如,场景105的所捕获的几何形状/纹理135)的边界(例如,左边界125和右边界130),CGR对象渲染系统可能缺乏关于场景105的未捕获几何形状/纹理140的信息,因此无法准确地渲染CGR对象(例如CGR对象155)上的场景105的未捕获几何形状/纹理140。在一种具体实施中,CGR对象渲染系统可能缺少关于一个或多个表面(例如,表面150)的信息,并且因此无法准确地渲染CGR对象(例如CGR对象155)上的一个或多个特定表面的反射。
[0047] 在一种具体实施中,CGR对象可能是一件家具或室内装饰物品,如在室内设计应用中那样。在另选的具体实施中,CGR对象可以是车辆或车辆定制。在另外的具体实施中,如在游戏情形中一样,CGR对象可以是敌人、盟友或对手。此外,如本领域的普通技术人员所理解的,CGR对象可以是用户可能希望在CGR环境中渲染的任何对象。
[0048] 图3示出了由录像机/相机110捕获的图1场景105的所捕获的几何形状/纹理135。在示例性具体实施中,所捕获的几何形状/纹理135的最外边缘部分地由左边界125和右边界130限定,并且在CGR对象155上生成反射165。由于所捕获的几何形状/纹理135受到用于开发CGR环境的图像/录像边界的限制,所生成的反射165不包括场景105的整体,包括表面
120。在该示例性具体实施中,反射截止部分170限定了表面120的最外边界,使得在CGR对象
155上不能生成缺失的反射部分175。
[0049] 所捕获的场景几何形状/纹理135也可由来自一个或多个相机的多个图像/录像生成,其中组合来自一个或多个相机的多个所捕获图像/录像以形成场景105的所捕获的几何形状/纹理135和/或组合表面120的多个所捕获的部分以形成所捕获的表面部分145。如本领域的普通技术人员所理解的,多个所捕获的图像/录像之间的曝光差可通过使用任何数量的技术来补偿,包括直方图分析(例如,匹配个体关键之间的直方图)、空间配准(例如,识别对应像素并确定从一个关键帧的强度到另一个关键帧中的相应强度的变换)、基于相机或ISP参数变换图像强度、或图像平衡(例如,修改图像强度以在相应图像之间匹配)。
[0050] 在多种具体实施中,可能有利的是简化场景105以促进场景105的有效渲染,以用于由计算机图形引擎进行照明和反射。在计算机图形中,环境映射(例如,反射映射)是一种基于图像的高效率照明技术,用于通过预先计算的纹理图像来近似反射表面的外观;纹理用来存储被渲染对象周围的远处环境的图像。
[0051] 例如,可通过将场景105投影到一个或多个全向2D地图(例如,环境地图)来执行该简化。在多种具体实施中,环境地图被实现为预定义的位置处的2D图像。任何单个环境地图仅对于3D空间中的单个点是严格有效的,该点被称为投影中心,例如虚拟对象155的视点156。因此,通过提供环境地图的参考点,投影中心被用于将3D场景投影到环境地图上。在多种具体实施中,通过将简单的代理几何形状(例如,矩形立方体)附接到环境地图,可扩展超出单个投影中心的有效性;然后,可在照明相关的渲染计算期间稍后将2D地图重新投影回到该代理上。由此可见,为了在渲染的CGR对象上执行环境映射以实现视觉上令人愉悦的反射(例如,照明效果,诸如反射),需要具有适当选择的代理几何形状的3D场景的足够密集的采样
[0052] 环境地图最常通过使用选定格式重新投影3D场景来计算。在使用单个投影中心时,可将3D场景重新投影到立方体的6个面、球体或两个抛物面上。然后经由纹理映射从给定表面向2D纹理上映射该重新投影,该重新投影代表给定投影中心的3D场景。例如,可通过将表示立方体的6个面的6个渲染投影到环境地图中,诸如图4所示的立方体地图176中,从CGR对象155的视点156渲染场景105的立方体地图。然后,可从录像机/相机110的正常视点对场景105进行第二次渲染,并可以基于立方体地图计算CGR对象155的所生成的反射165。
[0053] 反射探针可用作其影响区域内的对象的反射和环境光的来源,影响区域可由其代理几何形状限定。这种类型的探针捕获并存储其周围环境。在多种具体实施中,一个或多个反射探针用于动态生成立方体地图以用作反射纹理。可将反射探针放置在CGR对象的中心,例如,图2所示的CGR对象155的视点156,或将使用环境地图的特定网格,并且探针在内部在特定位置处生成虚影相机。然后,虚影相机渲染来自该位置的物理环境的几何形状/纹理。因此,反射探针的位置由CGR对象(例如,CGR对象155)的位置或与CGR对象相关联的反射表面的位置决定。在不同的实施方案中,基于物理环境的所捕获几何形状/纹理来确定反射探针的位置。
[0054] 通过从视点渲染场景六次来生成立方体地图,其中视图由表示每个立体面的90度视图截锥限定。例如,如图2所示,CGR对象155的视点156连同代理几何形状(例如笛卡尔轴)一起被标记。图4示出了立方体地图176,其中基于图2的代理几何形状相对于虚拟对象155的视点156来标记各个面,并且立方体地图176的每个面将在从CGR对象155的视点156看的对应方向上的图像映射。因此,通过将所捕获的几何形状/纹理135投影到立方体的侧面上并将其存储为六个正方形纹理,例如,展开到单个纹理的六个区域中,从而将环境映射到立方体地图176的六个面上。
[0055] 虽然在具体实施中可采用其他形式的环境映射,诸如球体映射(也称为等长矩形投影或经纬度投影/映射),但应当指出的是,立方体映射解决了与球面映射相关联的固有缺陷。另外,翘曲变形(例如,沿着球体的边缘)通常源自球体映射,因为纹理必须被拉伸和压缩以映射到球体的表面上。
[0056] 环境地图可以是静态的,例如,反射的环境保持稳定,或者可以是动态的,其中地图纹理被更新以表示动态变化的环境。例如,可在运行时为每个帧计算环境映射。其他环境投影也可被转换成立方体地图,例如,从等长矩形投影到立方体地图。
[0057] 如本领域的普通技术人员所理解的,所捕获的场景几何形状/纹理135可被映射到任何适当的规范坐标系,例如平面坐标系、世界坐标系、几何坐标系等。例如,围绕投影点的360度(球形)图像可被用作标准计算机图形渲染器中的环境地图(或环境反射地图)。此外,环境地图可以任何数量的可互换格式表示,例如,球形表示(等长矩形投影)或立方体地图表示。如本领域的普通技术人员进一步理解的,格式的选择可基于特定开发者和/或渲染引擎的要求。
[0058] 如图3所示,反射165的外观可取决于录像机/相机110相对于CGR对象155和/或表面120的距离、相对位置和/或取向、由录像机/相机110捕获的光的量/强度,和/或特定光源的存在或不存在。例如,与具有在低光照环境100中呈现的刷面效果或外观的CGR对象155相比,具有在良好光照环境100中呈现的抛光效果或外观的CGR对象155可能需要更详细的反射165。此外,渲染系统可通过识别CGR对象155的几何形状来识别CGR对象155的不同反射特征。此外,在多种具体实施中,渲染系统可基于CGR对象155在环境100中的位置来识别不同特征,例如,CGR对象155的远距俯视图可能需要来自CGR对象155的近处前向视图的不同反射165。另外,最外边界(例如,左边界125和右边界130)的具体位置可能取决于录像机/相机110的视场。
[0059] 图5示出了图3的具有扩展内容的所捕获的几何形状/纹理135。为了在CGR对象155上准确绘示所生成的反射165,该系统识别所捕获的表面部分145是否充分表示了表面120,如果未充分表示,可以生成扩展部分180。该系统然后基于扩展部分180确定CGR环境表示物理场景的扩展几何形状。
[0060] 在多种具体实施中,系统可确定场景105的所捕获的几何形状/纹理135的所有像素的对应纹理是否已知,并且如果存在没有纹理的像素,则可合成缺失的纹理。在示例性具体实施中,可基于所捕获的表面部分145的纹理与紧邻的周围纹理比较,例如所捕获的部分是否被周围环境终止,而进行这样的识别。
[0061] 给定扩展的场景几何形状,为几何形状的扩展部分合成纹理。因此,一种或多种算法可使用来自环境几何形状的所确定部分的纹理信息作为扩展几何形状的纹理合成基础。在多种具体实施中,存储图像和掩模,其中掩模具有二进制值,以指示图像中的哪些像素是已知,哪些是不完整的,例如,需要被合成/填充。当几何形状的扩展部分为平面时,如果纹理图像已得到修正,则可在单个比例尺上完成贴片的搜索和复制。对于其他几何形状,可能需要对比例尺和取向的变化进行补偿。例如,如果图像中的对象是像椅子那样非平面的,则可复制来自具有相似法线的区域的贴片,例如,可使用来自椅子的已知区域来完成椅子的各部分,而不是像椅背或腿那样的不同方向的表面。因此,系统可使用扩展的几何形状160以及与表面120相关联的纹理信息来生成(或增强)环境地图,并且基于增强的环境地图在CGR环境中渲染CGR对象155。
[0062] 在多种具体实施中,环境地图的完成可包括,通过扩展现有纹理和/或采用合成算法(例如,基于机器学习的算法)来合成没有纹理的像素的对应纹理。此外,可单独地或作为集合对一个或多个纹理本身执行附加的处理步骤。
[0063] 例如,在基于贴片匹配的方法中,对于未知区域中的每个像素,可从已知区域复制“兼容”贴片。可通过开始填充位于已知区域和未知区域边界处的像素来进行对兼容贴片的这种选择。对于每个这样的像素,可提取围绕它的NxM个像素的贴片P,使得贴片P包含一些已知的像素。然后可在图像的已知区域中搜索匹配P的贴片。可通过使用色差或其他感知度量来测量相似性或误差来执行这种匹配。一旦发现,就可使用所选择的贴片颜色来填充P的未知像素。在多种具体实施中,可使用与下文所述类似的技术,使用高效率搜索来进行搜索:Connelly Barnes、Eli Shechtman、Adam Finkelstein和Dan B Goldman。PatchMatch:A Randomized Correspondence Algorithm for Structural Image Editing.ACM Transactions on Graphics(Proc.SIGGRAPH)28(3),August 2009。在多种具体实施中,还可使用机器学习,使得训练神经网络以获取(部分)图像和掩模作为输入并返回填充/完成的图像。
[0064] 在示例性具体实施中,可通过在所捕获的场景几何形状/纹理135中扩展所捕获的表面部分145的几何形状,并应用与表面120相关联的任何纹理信息来生成扩展部分180,从而扩展3D环境的模型以包括扩展部分180。在示例性具体实施中,当生成扩展部分180时,假设所捕获的表面部分145无限地扩展(例如,继续自身重复),然而可基于所捕获的表面部分145做出对表面120的替代假设。例如,系统可被配置为参考数据库以基于所捕获的表面部分145的特征来对表面120进行假设,例如,将所捕获表面的特征识别为部分地或完全匹配桌子的所存储参考特征。此外,在扩展部分180中可类似地重复所捕获的表面部分145的重复图案或纹理。然而,在多种具体实施中,系统可识别所捕获的表面部分145上的镜面高光(例如,来自顶部光源的高光)并确定在生成扩展部分180时是否重复镜面高光。在另外的具体实施中,与所捕获的表面部分145相关联的附加3D对象可被“平铺”并作为所捕获的表面部分145的一部分来处理,例如,停放在桌子上的球可被平铺成与桌子表面相关联的圆。在另选的具体实施中,当生成扩展部分180时,与所捕获的表面部分145相关联的此类3D对象可被忽略。
[0065] 如图5所示,基于扩展部分180,系统可在CGR对象155上生成所合成的反射185。因此,基于所捕获的表面部分145和扩展部分180,CGR对象155(包括所生成的反射165和所合成的反射185)得到更准确的描绘。
[0066] 在多种具体实施中,所生成的反射165和所合成的反射185可通过手动或自动选择3D点(例如,投影中心)来计算,其中相对于CGR对象155在环境中的位置准确地示出环境的反射。例如,如果CGR对象155由两个垂直堆叠的球体构成,其中底部球体不反射,顶部球体反射,所选择的投影中心可为顶部反射球体的中心。作为另选的示例,如果CGR对象155由佩戴反射护目镜的非反射机器人构成,则所选择的投影中心可以是护目镜的中心而不是机器人身体的中心。在多种具体实施中,可使用渲染引擎基于所捕获的场景几何形状/纹理135,围绕投影中心生成环境地图(例如立方体地图或球体地图),以表示所捕获的场景几何形状/纹理135的纹理。
[0067] 在一些具体实施中,基于CGR场景中的物理表面的所确定的几何形状确定反射探针的立方体地图的投影中心。例如,CGR环境中的物理表面的几何形状可由一组有限的平面表面(例如,3D空间中的四边形或三角形)来近似,并且可在这样的平面表面中心的上方,沿表面法线在平面表面范围一半的距离处选择环境地图的投影中心。反射探针的影响区域的范围可使用框作为代理几何形状,其中心位于投影中心并且与平面表面对齐,使得框的一侧与平面表面重合。如果CGR环境中的物理表面通过一个以上的平面表面近似,则该方法的具体实施可为每个平面表面单独生成单独的反射探针,其中可在每个平面表面的中心上方选择投影中心。当在CGR环境中使用多个反射探针时,虽然它们每者具有各自的投影中心和范围,但取决于CGR环境的仅一个子组的几何形状,每个反射探针的纹理的生成可基于CGR环境的几何形状和纹理的所有所确定的部分。为了在渲染引擎中计算反射,CGR环境可最佳地表示为最小最佳立方体地图集和相关代理几何形状(例如,3D框)形式的近似值。用于近似的环境地图可以这样的方式放置,使得受框占位符影响的CGR对象的反射率之间的差值类似于正好在CGR对象的位置处生成立方体地图。
[0068] 扩展部分180的量/尺寸可取决于录像机/相机110相对于CGR对象155的位置和/或取向以及操作环境100的所捕获的几何形状/纹理135的其余部分。例如,在基于所捕获的表面部分145的特征(例如,由参考数据库所确定)针对表面120确定精确尺寸的具体实施中,可基于与入射角相关联的几何形状以及录像机/相机110相对于CGR对象155的距离来计算扩展部分180的尺寸。又如,在录像机/相机110和表面120之间有高入射角时,可确定更大和/或更长的扩展部分180,例如,扩展部分180可以无限扩展。扩展部分180的其他属性(包括纹理信息,例如颜色)也可取决于表面120的对应属性或纹理。
[0069] 如本领域的普通技术人员所理解的,所公开的所捕获的场景几何形状/纹理135的示例性具体实施通过利用所捕获的表面部分145和扩展部分180来描绘表面120,但本发明的具体实施可另选地描绘非平面表面,包括所捕获的非平面表面和所合成的非平面表面,例如具有复杂几何形状的表面。此外,示例性具体实施可使用平面、三角形网格或体积表示来生成所捕获的场景几何形状/纹理135、所捕获的表面部分145和/或扩展部分180。在另选的具体实施中,参考计算机辅助绘图(“CAD”)模型可用于表示3D模型中的对象,包括所捕获的表面部分145、扩展部分180和/或CGR对象155。
[0070] 此外,所生成的反射165和所合成的反射185可取决于CGR对象155的反射率。CGR对象155的反射率可基于用户选择或调节、系统接收到的输入来确定,或者可以其他方式与CGR对象155自身相关联,例如,CGR对象155的材料组成或属性,诸如材料粗糙度、材料金属度、材料光泽度、材料镜面程度,或任何其他基于物理的渲染(PBR)或基于物理的着色(PBS)材料属性。例如,具有高反射率的CGR对象155可能需要高度定义的所生成的反射165和所合成的反射185,很详细地呈现出所捕获的表面部分145和扩展部分180,而在另一个示例中,反射率非常低的CGR对象155可能仅需要表面120的反射的最少定义和细节。
[0071] 在示例性具体实施中,可混合所捕获的表面部分145和扩展部分180之间的过渡,以避免所捕获的表面部分145和扩展部分180的纹理之间的生硬或不逼真的过渡。此外,所捕获的表面部分145和/或扩展部分180的边界可与周围环境混合。同样,所生成的反射165和/或所合成的反射185的边界可与CGR对象155的表面混合,以便提供更逼真的外观。
[0072] 在多种具体实施中,将深度学习用于扩展或完成环境地图。卷积神经网络(也称为“CNN”或“网络”)可采用输入环境地图以及掩模,掩模指示哪些像素是从流水线的先前部分知道的,哪些像素未知并需要合成。利用网络输入中的随机值填充未知像素中的颜色。网络输出与输入环境地图相同尺寸的已完成环境地图。在多种具体实施中,网络遵循编码器-解码器架构。编码器由层的组成,这些块按顺序减少输入的空间尺寸以产生编码。之后是一组执行完成功能的层。解码器由多个层构成,多个层为初始块的镜像,以进行上采样并产生与输入相同空间维度的输出。
[0073] 在其他具体实施中,网络被以监督方式进行训练并且对环境地图采用等长矩形(球形)投影格式。等长矩形投影(例如,等距柱形投影或地理投影)可用于将球形坐标变换成平面坐标(正向投影)或将平面坐标变换成球形坐标(反向投影)。此外,等长矩形投影假设球形模型,并将子午线映射至恒定间距(对于恒定间距的子午线间隔)的垂直直线,并且将纬度圆映射至恒定间距的水平直线(对于恒定间距的平行线)。正向投影将球形坐标变换成平面坐标。
[0074] 可使用以下公式来执行等长矩形投影: 和 用于正向投影; 以及 用于反向投影;其中λ是要投影的位置的经度,
是要投影的位置的纬度, 是标准平行线(赤道的北部和南部),其中投影比例尺为真;λ0是地图的中心子午线;x为所投影位置在地图上的水平坐标;并且y为所投影位置在地图上的垂直坐标。在一些具体实施中,在从平面到球形坐标的反向投影期间,可执行附加平滑步骤以例如通过对跨图像边界的包裹执行平滑操作,来减轻图像边界处的伪像。例如,在网络生成平面(等长矩形)图像的具体实施中,最左像素列中的强度可能与最右像素列中的强度不一致,这可能在包裹到球体上时导致不希望的接缝;可执行平滑步骤以补救或消除接缝。
[0075] 对机器学习模型(例如,CNN)进行监督训练以执行纹理合成或完成环境地图需要训练数据。给定原始完整的环境地图,可随机地确定像素的子组,然后可将像素的子组视为未知,例如,识别为完成。在训练期间将环境地图作为输入提供给模型之前,可用随机值覆写像素子组处的强度值,并且作为附加输入,生成在像素子组上具有值0,而所有其他像素设定为1的二进制掩模。可使用随机梯度下降来优化模型,使得损失函数(其指示原始完整环境地图与神经网络的输出之间的差值)最小化。
[0076] 在多种具体实施中,采用网络的地面实况和输出之间的损失函数的加权组合。此外,训练的目标是使输出损失最小化。例如,在使用L1-损失算法的具体实施中确定像素损失,其中测量输出和地面实况图像之间的绝对差值的总和。
[0077] 在其他具体实施中,使用采用相似性度量的结构相似性损失(SSIM)算法确定损失,该相似性度量采用了图像之间结构相似性或感知相似性的度量,如下文中所述:Wang,Zhou;Bovik,A.C.;Sheikh,H.R.;Simoncelli,E.P.(2004-04-01).“Image quality assessment:from error visibility to structural similarity”.IEEE Transactions on Image Processing.13(4):600–612。
[0078] 在其他具体实施中,使用边界一致性损失算法来确定损失,该算法计算输出图像前k列和最后k列上的L1或L2损失(平方差的总和),其中k是表示像素数量的预先选定的变量,且k≥1。
[0079] 在其他具体实施中,使用变化损失算法来确定总变化损失,总变化损失度量输出的贴片上梯度之和,以确保平滑度。
[0080] 在其他具体实施中,感知损失算法使用预先训练的特征提取CNN,其中对另一个网络的初始层预先进行图像识别任务的训练。在使用感知损失算法时,输出和地面实况两者都经过预先训练的层以获得“特征”(该辅助网络的输出),并且测量特征之间的L2损失。因此,感知损失算法不仅在绝对颜色值中而且在特征空间中测量相似性。
[0081] 在其他具体实施中,对抗损失算法通过使用生成对抗网络(GAN)来计算损失,其中独立网络(例如“鉴别器”)被训练用于将初级完成网络(例如“生成器”)的输出分类为来自地面实况图像集(例如“真实”)或由生成器合成(例如,“虚假”)。在具体实施中,受过训练的机制描述于LS-GAN:https://arxiv.org/abs/1611.04076(“Least Squares Generative Adversarial Networks”)和W-GAN:https://arxiv.org/abs/1704.00028(“Improved Training of Wasserstein GANs”)。
[0082] 在多种具体实施中,当用作反射地图时,可能需要改善输出的感知质量。在多种具体实施中,一种此类方法是采用用于识别像素损失的边界一致性损失算法。在其他具体实施中,一种方法是在使用地图进行反射之前,通过沿反射地图的接缝使像素模糊来最小化可见度。如果使用球形投影,用于改善输出的感知质量的另一种方法是旋转输入环境地图,使得接缝出现在“对象后面”。在多种具体实施中,通过旋转网络的输入,处理并完成旋转的环境地图,然后将输出旋转回到原始坐标系来这样做。在一些具体实施中,在训练期间,使用一定数量的特别创建的数据批来改善合成环境地图的时间一致性。例如,在每个特别创建的数据批中,可使用单个初始完整环境地图。此外,从每个特别创建的数据批中,一种方法可创建具有重叠但逐渐增加的已知像素子组的多个训练输入。因此,在一些具体实施中,在未知像素子组处使用的强度值可在整个训练输入期间保持(例如,保持相同)。此外,对于这些特别创建的批,可添加方差损失,该方差损失在训练期间对来自针对该批的网络的所生成输出的方差进行惩罚。在一些具体实施中,使用不同的度量作为损失函数以客观地减少批的所生成环境地图上的特定类型的变化(例如,像素强度损失、结构损失或基于颜色直方图的损失)。
[0083] 此外,应用可在CGR场景中的不同位置生成多个环境地图。为了确保从网络获得的环境地图的合成/已完成部分的一致性,可在所有地图中将多个环境地图的未知像素设定为相同的随机值。因此,网络的编码器部分将产生类似的输出。应用还可使用关于场景的已知元数据,例如场景类别信息(例如,室内、室外、海滩、客厅等等)、来自相机的信息(ISP、光传感器或图像,诸如曝光时间、曝光补偿、ISO值、环境光强度、环境温度等等)或导出量(例如,估计的场景亮度)。使用该信息,可在偏置到特定颜色/照明方案的一些或所有区域中将未知像素设定为随机值。例如,一种具体实施可使用相机的曝光时间长度、曝光补偿和ISO值来估计场景亮度并确定场景是否是白天的室外,并因此在某些区域中设定随机值,使得蓝通道具有比其他通道更高的值。这可用于偏置网络以合成“天空”区域。
[0084] 此外,虽然环境映射是渲染反射表面的有效方法,但可通过计算给定几何形状的每个顶点处的反射光线位置,然后在顶点所附接到的多边形上内插这些位置,从而进一步提高计算机图形渲染的速度。因此,重新计算每个个体像素的反射方向变得不必要了。另外,为了产生更逼真的反射,可与环境地图级联使用虚拟对象的许多面法线(例如,多边形上的给定点所面向的方向)中的每个。因此,CGR对象上的给定点处的反射角度可考虑法线图,从而允许本来平坦的表面表现为纹理化的,例如波纹金属或拉丝。在一些具体实施中,利用高动态范围(HDR)图像训练网络,使得输出环境地图包含超过每个通道8位范围的强度。例如,输出地图可以是针对每个通道16位或32位的浮点强度值。此外,这些强度可对应于光强。在一些具体实施中,渲染引擎利用HDR环境地图以更好地照亮对象,用于反射之外的目的。此外,一些具体实施采用一个或多个后期处理步骤来从输出环境地图提取关于光源的信息,诸如光类型(点光、面光等)、光方向、光强和/或光温度。例如,这样的后期处理步骤可由渲染引擎用于向所渲染的场景中添加关联光。
[0085] 图6是具有CGR对象155的图1的操作环境100。如该示例性具体实施中所示,CGR对象155被示为包括所生成的反射165和所合成的反射185。在多种具体实施中,CGR对象155可在屏幕,例如消费者手机的显示器上的操作环境100中被渲染。在其他具体实施中,CGR对象155可在半透明显示器,例如可穿戴透视HMD上的操作环境100中被渲染。
[0086] 图7A-图7J示出了根据一些具体实施由应用存储的数据。在示例性图7A中,应用可能未存储与物理场景相关的信息,从而应用可仅存储空白的初始化。如图7B所示,在这种情况下,应用可仅显示场景而没有任何CGR对象。如图7C所示,应用可确定并存储物理场景的至少一部分的几何形状。如图7D所示,CGR对象(例如,球体)被放在场景几何形状中。出于例示的目的,此时物理场景的示例纹理是未知的,因此CGR对象不反射物理环境。在图7E中,应用确定场景几何形状的纹理。在图7F中,场景几何形状的纹理被反射在CGR对象上,从而导致不完整的反射。在图7G中,例如沿平面扩展场景几何形状的所确定的几何形状,并确定扩展几何形状的纹理。在图7H中,CGR对象反射具有合成纹理的物理场景的扩展几何形状,从而产生更逼真的视觉外观。如图7I所示,在不确定物理场景的任何附加知识的情况下,应用可扩展用于渲染CGR对象上物理环境的反射的环境地图中的纹理,从而获得CGR对象的更逼真和更完整的视觉外观,如图7J所示。此外,用于扩展环境地图的方法可以是受监督的机器学习模型。此外,受监督的机器学习模型可能已从训练数据中了解到,给定已知部分的外观,环境地图的未知部分看起来可能什么样。例如,在该例示性情形中,该模型可能已了解到在多云的室外环境中常常出现棋盘图案。因此,图7J的CGR对象描绘了包括具有云纹理的扩展环境地图的反射的CGR对象。
[0087] 参考图8,可在一个或多个计算机设备或系统(诸如示例性计算机系统205)上实现控制器115和/或录像机/相机110。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,计算机系统205可包括处理器210、存储器215、海量存储存储器设备220、输入/输出(“I/O”)接口225和人机界面(“HMI”)230。计算机系统205还可经由通信网络240或I/O接口225操作性地耦接到一个或多个外部资源235。外部资源235可包括,但不限于服务器、数据库、海量存储设备、外围设备、基于云端的网络服务,或计算机系统205可使用的任何其他合适的计算机资源。
[0088] 处理器210可包括从微处理器微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路,或基于存储器215中存储的运算指令操控信号(模拟或数字)的任何其他设备(例如,微处理器、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)、图形处理单元(“GPU”)、中央处理单元(“CPU”)、处理内核等)中选择的一个或多个设备。存储器215可包括单个存储设备或多个存储设备,包括但不限于只读存储器(“ROM”)、随机存取存储器(“RAM”)、易失性存储器、非易失性存储器、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)、闪存存储器、高速缓存存储器,或任何其他能够存储信息的设备。海量存储存储器设备220可包括数据存储设备,诸如硬盘驱动器、光盘驱动器、磁带驱动器、非易失性固态设备,或能够存储信息的任何其他设备。
[0089] 处理器210可在驻留在存储器215中的操作系统245的控制下操作。操作系统245可以管理计算机资源,使得体现为一个或多个计算机软件应用(诸如驻留在存储器215中的应用250)的计算机程序代码可使指令由处理器210执行。在另选的具体实施中,处理器210可直接执行应用250,在这种情况下,可省略操作系统245。一个或多个数据结构255也可驻留在存储器215中,并且可由处理器210、操作系统245或应用250用于存储或操纵数据。
[0090] I/O接口225可提供机器接口,该机器接口将处理器210操作性地耦接到其他设备和系统,诸如通信网络240(例如通用串行总线(“USB”)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信系统(“GSM”)、码分多址(“CDMA”)、时分多址(“TDMA”)、全球定位系统(“GPS”)、红外(“IR”)、蓝牙、ZIGBEE和/或类似类型的接口)或一个或多个外部资源235。应用250由此可以通过经由I/O接口225与通信网络240或外部资源235配合工作,以提供包括本发明具体实施的各种特征、功能、应用、过程或模块。应用
250还可具有由一个或多个外部资源235执行或以其他方式依赖于由计算机系统205外部的其他系统或网络部件提供的功能或信号的程序代码。实际上,考虑到几乎无限的可能硬件和软件配置,本领域的普通技术人员将会理解,本发明的具体实施可包括位于计算机系统
205外部,分布在多台计算机或其他外部资源235之间,或由计算资源(硬件和软件)提供的应用,这些计算资源通过通信网络240被提供为服务,诸如云计算服务。
[0091] HMI 230可以已知的方式操作性地耦接到计算机系统205的处理器210,以允许用户与计算机系统205直接进行交互。HMI 230可以包括视频或字母数字显示器、触摸屏、扬声器,和能够向用户提供数据的任何其他合适的声音和视觉指示器。HMI 230还可包括能够从用户接收命令或输入并向处理器210发送所输入的输入的输入设备和控件,诸如字母数字键盘、指向设备、小键盘、按钮、控制旋钮、麦克风等。
[0092] 数据库260可驻留在海量存储存储器设备220上,并且可用于收集和组织由本文所述的各种系统和模块使用的数据。数据库260可包括存储和组织数据的数据和支持数据结构。具体地讲,数据库260可被布置有任何数据库组织或结构,包括但不限于关系数据库、分层数据库、网络数据库,或它们的组合。作为指令在处理器210上执行的计算机软件应用形式的数据库管理系统可用于响应于查询来访问存储在数据库260的记录中的信息或数据,其中查询可由操作系统245、其他应用250或一个或多个模块动态地确定和执行。
[0093] 图9是根据一些具体实施,渲染CGR对象的反射表面的方法300的流程图表示。在一些具体实施中,方法300由诸如移动设备、台式计算机、膝上型计算机或服务器设备的设备(例如,图1-图2和图5的控制器115)执行。方法300可以在具有用于显示2D图像的屏幕和/或用于观看立体图像的屏幕(诸如HMD或AV显示器)的设备上执行。在一些具体实施中,方法300由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法300由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
[0094] 在框305处,方法300接收物理场景的一个或多个相机图像。图像可由本地或远程录像机/相机捕获,并且在多种具体实施中,录像机/相机可为独立设备,可并入移动电话或视频游戏控制器中,或可包括在HMD中。由物理表面反射的光可由一个或多个相机图像捕获。在多种具体实施中,该方法可组合物理场景的一个或多个相机图像以形成单个图像。因此,一个或多个相机图像捕获物理场景的一部分,而留下物理场景的不同部分未被捕获。表面的一部分可包括在捕获部分中,并且表面的独立部分可包括在物理场景的未捕获部分中。
[0095] 在框310处,方法300基于一个或多个相机图像确定物理场景的至少一部分作为CGR环境的一部分。在一种具体实施中,设备或控制器基于物理场景的一个或多个相机图像之内的纹理(例如,颜色)的过渡或差异来识别几何形状。例如,几何形状可包括黑色区域,并且物理场景的紧邻区域可以是白色的。因此,该方法可通过识别亮色和深色之间的过渡纹理的区域来识别给定几何形状的边界。在另一个实施方案中,可使用运动恢复结构(SfM)方法、同时定位和映射(SLAM)方法、计算机视觉无源立体方法、包括结构化光的计算机视觉活动立体方法、光度立体方法、明暗恢复形状方法、几何模型拟合方法、机器学习方法或单目深度估计方法来确定物理环境的几何形状。在一些具体实施中,框310使用附加输入,例如惯性测量单元(IMU)、加速度计或陀螺仪的读数。
[0096] 在框315处,方法300为CGR环境的所确定的几何形状确定纹理信息。在多种具体实施中,与CGR环境相关联的纹理信息可包括颜色或外观,以及图案化、阴影和/或镜面高亮。在一种具体实施中,该方法从一个或多个相机图像识别每个表面位置的最暗纹理(例如颜色),并基于最暗纹理确定CGR环境的纹理信息。在CGR环境包括镜面高亮的具体实施中,镜面高亮可被呈现为较亮的纹理,因此该方法可使用与最暗纹理相关联的纹理信息来重复、适应或消除镜面高亮。框315可进一步使用关于获得一个或多个图像的相机参数或ISP参数的信息,以确定与这些参数无关的规格化纹理信息,诸如曝光时间或增益。
[0097] 在框320处,方法300决定其是否应当执行表面合成。该决定可基于例如由应用开发者或用户决定的静态设置来做出,例如,可被设定为总是决定“是”或总是决定“否”。该决定可进一步基于CGR环境的属性来作出,诸如所确定的物理场景几何形状以及CGR环境中的任何CGR对象。
[0098] 在(例如,基于框320的决策执行的)可选框325处,方法300合成具有缺失部分的CGR环境的表面的扩展部分。在识别缺失部分时,该方法可基于所捕获表面的纹理与紧邻的周围纹理比较,例如所捕获的部分是否被周围环境终止,来识别所捕获的表面是否充分代表该表面。在多种具体实施中,该方法可基于一个或多个图像生成物理环境的3D模型,并且如果所捕获的表面未充分表示表面,则可通过在3D模型中扩展所捕获表面的几何形状来生成合成表面。然后该方法可应用与该表面相关联的任何所识别的纹理信息。因此,该方法扩展3D环境的模型以包括合成表面。在示例性具体实施中,在生成合成表面时,该方法可假定所捕获的表面无限扩展。另选地,该方法可基于任何数量的因素(包括纹理、与数据库参考有关的表面特征,和/或表面的重复图案或纹理)来作出关于表面的替代假设。此外,在多种具体实施中,该方法可在生成合成表面时识别并补偿所捕获表面上的镜面高光。在多种具体实施中,该方法可将合成表面的外观与所捕获的表面混合或合并,以使纹理的任何生硬或突然过渡最小化。
[0099] 在框330处,方法300生成包括所确定的几何形状和纹理信息的环境地图。在多种具体实施中,该方法可选择3D点(例如,投影中心),其中相对于CGR对象在物理环境中的位置准确地示出环境的反射。此外,可使用渲染引擎围绕一个或多个投影中心生成一个或多个环境地图以表示CGR环境的纹理。在多种具体实施中,可使用任何合适的投影来生成一个或多个环境地图,例如,球体映射、立方体映射、抛物面映射、金字塔映射、八面体映射和/或HEALPix映射。
[0100] 在框335处,方法300决定其是否应当执行地图完成。该决定可基于例如由应用开发者或用户决定的静态设置来做出,例如,可被设定为总是决定“是”或总是决定“否”。该决策可进一步基于在330中生成的环境地图的属性作出,诸如具有已知纹理信息的像素的百分比。
[0101] 在(例如,基于框335的决策执行的)可选框340处,方法300为环境地图中没有对应/已知纹理的像素生成合成纹理。在多种具体实施中,存储图像和与环境地图相关联的掩模,其中掩模具有二进制值,以指示图像中的哪些像素是已知,哪些是不完整的,例如,需要被合成/填充。此外,环境地图的完成可包括,通过扩展现有纹理和/或采用合成算法来合成没有纹理的所识别像素的对应纹理。此外,可单独地或作为集合对一个或多个纹理本身执行附加的处理步骤。
[0102] 在框345处,方法300在CGR环境中渲染具有反射表面的CGR对象。在多种具体实施中,方法300基于增强型环境地图来生成CGR对象的反射表面的外观(框330和/或框340)。此外,表面的扩展部分和/或合成纹理不向用户显示,仅用于生成CGR对象的反射表面的外观。在其他具体实施中,该方法可独立于生成CGR对象的反射表面的没有扩展表面和/或合成纹理的外观而基于所捕获的表面和/或所合成的纹理生成CGR对象的反射表面的外观。因此,在多种具体实施中,方法300可基于环境地图(框330)和增强型环境地图(框340)独立地生成反射表面的外观,然后基于独立的生成混合或合并反射表面的外观。所生成的CGR对象的反射表面似乎包括表面的未捕获部分和/或缺失的像素,并且通过包含合成表面和/或缺失像素,该方法更逼真地近似了物理对象的反射的外观。在多种具体实施中,该方法可基于一个或多个环境地图和/或一个或多个3D模型来生成物理场景之内多个CGR对象的反射表面的外观。
[0103] 本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或系统,以便不使要求保护的主题晦涩难懂。
[0104] 除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
[0105] 本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
[0106] 本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。
[0107] 本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
[0108] 还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一表面可以被称为第二表面,并且类似地,第二表面可以被称为第一表面,而不改变描述的含义,只要所有出现的“第一表面”被一致地重命名并且所有出现的“第二表面”被一致地重命名。第一表面和第二表面两者均为表面,但是它们不是同一表面。
[0109] 本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”(“a”“an”)和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“comprises”和/或“comprising”)在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件、和/或其分组。
[0110] 如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
[0111] 本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈