CN115039137A - 基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品 - Google Patents
基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品 Download PDFInfo
- Publication number
- CN115039137A CN115039137A CN202180010833.4A CN202180010833A CN115039137A CN 115039137 A CN115039137 A CN 115039137A CN 202180010833 A CN202180010833 A CN 202180010833A CN 115039137 A CN115039137 A CN 115039137A
- Authority
- CN
- China
- Prior art keywords
- image
- ground truth
- normal map
- training
- plane
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Abstract
提供了一种基于亮度估计渲染虚拟对象的方法以及相关产品,该基于亮度估计渲染虚拟对象的方法包括:拍摄图像,该图像中的至少一个对象位于至少一个平面上;提取该图像的前景;估计提取的该前景图像对应的亮度;基于估计的亮度渲染虚拟对象。通过本申请实施例,可以实时估计真实世界的亮度条件,并基于估计的亮度渲染虚拟对象。
Description
相关申请的交叉引用
本申请要求于2020年1月30日提交的申请号为62/967,739的美国临时申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及增强现实技术领域,尤其涉及基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品。
前景技术
增强现实(AR)应用旨在提供真实世界和虚拟对象之间的逼真融合。增强现实设备可以被配置为显示增强现实图像以呈现虚拟对象存在于真实世界物理空间中的假象。真实的AR的一个重要因素是正确估计真实世界的亮度。
真实世界的亮度估计是一个具有挑战性的问题。目前,该问题的典型解决方案依赖于在真实世界中插入具有已知几何形状和/或反射特性的对象(例如,光探针)。然而,必须在真实世界中插入一个已知的对象是受限的,因此不容易适应实际应用。
发明内容
本申请实施例提供了基于亮度估计渲染虚拟对象的方法,用于训练神经网络的方法,以及相关产品,可以实时地估计真实世界的亮度条件,并用于基于估计的亮度渲染虚拟对象。
在第一方面,提供了基于亮度估计渲染虚拟对象的方法,该基于亮度估计渲染虚拟对象的方法包括以下内容。拍摄图像,该图像中的至少一个对象位于至少一个平面上;提取该图像的前景;估计提取的该前景图像对应的亮度;基于估计的亮度渲染虚拟对象。
在第二方面,提供了用于训练神经网络的方法,该用于训练神经网络的方法包括:从第一数据集中获取训练图像,该第一数据集包括多个图像以及每个图像对应的地面真值参数,该训练图像是该第一数据集包括的任一图像;提取该训练图像的前景;将提取的该训练图像的前景输入至神经网络以获取预测参数;用该预测参数来渲染图像;基于该预测参数、渲染图像、该训练图像以及该训练图像对应的地面真值参数,计算该神经网络的损失;基于该损失训练该神经网络。
在第三方面,提供了基于亮度估计渲染虚拟对象的方法的装置,该基于亮度估计渲染虚拟对象的方法的装置包括拍摄单元、提取单元、估计单元和渲染单元。该拍摄单元,用于拍摄图像,该图像中的至少一个对象位于至少一个平面上。该提取单元,用于提取该图像的前景。该估计单元,用于估计提取的该前景图像对应的亮度。该渲染单元,用于基于估计的亮度渲染虚拟对象。
在第四方面,提供了获取用于训练神经网络的装置,包括:获取单元、提取单元、输入单元、渲染单元、计算单元以及训练单元。该获取单元,用于从第一数据集中获取训练图像,该第一数据集包括多个图像以及每个图像对应的地面真值参数,该训练图像是该第一数据集包括的任一图像。该提取单元,用于提取该训练图像的前景。该输入单元,用于将提取的该训练图像的前景输入至神经网络以获取预测参数。该渲染单元,用于用该预测参数来渲染图像。该计算单元,用于基于该预测参数、渲染图像、该训练图像以及该训练图像对应的地面真值参数,计算该神经网络的损失。该训练单元,用于基于该损失训练神经网络。
在第五方面,提供了一种终端设备,该终端设备包括处理器和用于存储一个或多个程序的存储器,其中,该一个或多个程序用于被该处理器执行,该一个或多个程序包括用于执行第一方面或第二方面所描述的方法中部分或者全部操作的指令。
在第六方面,提供了一种非瞬时性计算机可读存储介质,用于存储用于电子数据交换的计算机程序,该一个或多个程序包括用于执行第一方面或第二方面所描述的方法中部分或者全部操作的指令。
在第七方面,提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可以使得计算机执行第一方面或第二方面所描述的方法中部分或者全部操作。
在本申请实施例中,拍摄真实场景中的一个图像,该图像中的至少一个对象位于至少一个平面上,提取该图像的前景,估计提取的该前景图像对应的亮度,最终基于估计的亮度渲染虚拟对象。因此,通过训练的神经网络和在拍摄的真实场景中的包含放置在平面区域上的一个或多个对象的图像的输入,可以实时估计真实世界的亮度条件,并且可以用估计的亮度在真实场景中渲染虚拟对象,从而改善在真实场景中渲染虚拟对象的渲染质量和真实感。
附图说明
为了更清楚地说明申请的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据实施例的示例性操作环境示意图。
图2是根据实施例的示例性神经网络架构的结构示意图。
图3是根据实施例的使用估计的亮度在真实场景渲染虚拟对象的示意图。
图4是根据实施例的基于亮度估计渲染虚拟对象的方法的流程示意图。
图5(a)-5(d)是根据实施例的示例性前景提取过程的示意图。
图6(a)-6(b)是根据实施例的示例性神经网络设计的示意图。
图7是示例性的地面真值数据的生成过程示意图。
图8是根据实施例的基于平面法线贴图训练的神经网络和没有基于平面法线贴图训练的神经网络的亮度预测和法线贴图预测对比示意图。
图9是根据其他实施例的基于平面法线贴图训练的神经网络(中间)和没有基于平面法线贴图训练的神经网络(上部)的亮度预测和法线贴图预测对比示意图。
图10是现有技术和本申请的亮度估计的对比图。
图11是示例性的在真实场景中渲染虚拟对象的示意图。
图12是根据实施例的用于训练神经网络的方法的流程示意图。
图13是根据实施例的基于亮度估计来渲染虚拟对象的装置的结构示意图。
图14是根据实施例的用于训练神经网络的装置的结构示意图。
图15是根据实施例的终端设备的结构示意图。
图16是根据其他实施例的终端设备的结构示意图。
具体实施方式
为了使本领域的技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及该附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例所涉及到的终端设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为终端设备。
为了便于更好地理解本申请实施例,下面将简要介绍本申请中涉及的相关技术。
亮度估计一直是计算机视觉和图形学中的一个长期存在的问题。估计环境亮度的一种直接方法是使用物理光探针拍摄目标位置的光的辐射。不同曝光率的镜面球体的照片可以用来计算球体所在位置的亮度。除了镜面球体之外,还可以使用混合球体、已知的3D对象、已知表面材料的对象,甚至以人脸作为光探针的代表来估计亮度。然而,尤其是当目标是在各种环境中获得的密集的可见位置集的训练数据时,人工拍摄高质量亮度图的过程昂贵且难以推广。
估计亮度的另一种方法是综合优化场景的几何形状、反射特性和亮度模型,以便找到能够更好地解释输入图像的一组值。然而,直接优化所有场景参数往往是一个高度欠约束的问题,即,一个参数估计中的误差很容易传播到另一个参数估计中。因此,为了简化优化过程,许多现有的方法要么假设额外的用户提供的地面真值信息作为输入,要么对亮度模型做出强有力的假设。
深度学习最近在许多计算机视觉任务(包括深度估计和本征图像分解)上显示出不错的结果。最近LeGendre等人提出将亮度估计函数描述为端到端神经网络,LeGendre等人以具有不同双向反射分布函数(bidirectional reflectance distributionfunctions,BRDFs)的球作为亮度探针,利用谷歌像素手机(Google Pixel phone)来拍摄图像。为了实现实时性,LeGendre等人将环境压缩到很小的尺寸(32x32)。这使得预测图不稳定,对照明强度过于敏感,这将破坏时间一致性。在高精度方面,Shuran等人提出了一种利用几何缠绕和对抗网络直接将LDR图像映射到HDR环境贴图的端到端网络。然而,获取HDR环境贴图计算量大,难以实时执行。而且,使用HDR贴图作为亮度也会增加渲染成本。增强现实(AR)应用要求实时或接近实时。在本申请实施例中,使用5阶球面谐波亮度来近似环境贴图。在不损失太多精确度的情况下,可以使用一些参数来代替HDR贴图,以降低预测和渲染成本。
随着深度学习群体的发展,许多任务正在成为连接计算机视觉(2D)和计算机图形学(3D)的桥梁,亮度估计也属于其中之一。可微渲染器已被广泛应用于形状和BRDF联合重建、亮度和BRDF联合估计等任务中。为了将拍摄图像中的变化与3D形状控制中的变化联系起来,许多现有技术已经利用了渲染的衍生物。然而,这些渲染的衍生物是基于现代复杂渲染系统(光栅化或光线跟踪)设计的,在深度学习系统中过于沉重。另一个问题是,这些渲染的衍生物需要所有的三维几何属性(坐标,法线,BRDFs)来执行精确的渲染。在这样的系统中,重建任务总是交织在一起,要重建一个属性,还需要重建其他所有属性作为“副作用”。然而,同时重建所有属性并不是一个好主意。在监督学习方面,3D标注成本太高,而且往往不准确。而在无监督学习方面,当前的数据量不足以学习属性之间的内在流形。因此,在本申请实施例中,开发了一种轻量级可微分屏幕空间渲染器。虽然其仍然需要几个属性(亮度(例如SH系数)、法线、反射率和粗糙度)来进行渲染,但要少得多。所有这些属性都是以像素为单位定义的,并且渲染成本将更低,因此提供了一种计算效率更高的解决方案。
以下将给出本申请实施例的详细描述。
图1是根据实施例的示例性操作环境示意图。如图1所示,示例性操作环境100包括通过一个或多个网络11互连的至少两个计算设备。一个或多个网络11允许一个计算设备连接到另一计算设备并与之通信。在一些实施例中,该至少两个计算设备包括终端设备12和服务器13。该至少两个计算设备可以包括未示出的其他计算设备,在此不受限制。一个或多个网络11可以包括诸如企业专用网络的安全网络、诸如无线开放网络的不安全网络、局域网(LAN)、广域网(WAN)和因特网。以下为了便于解释,使用一个网络11。
在一些实施例中,终端设备12包括相互通信的网络接口121、处理器122、存储器123、摄像头124、传感器125和显示器126。网络接口121允许终端设备12连接到网络11。网络接口121可以包括无线网络接口、调制解调器或有线网络接口中的至少一个。处理器122允许终端设备12执行存储在存储器123中的计算机可读指令,以执行本文讨论的流程。摄像头124可以拍摄环境的彩色图像和/或深度图像。终端设备12可以包括拍摄环境图像的后置摄像头和拍摄终端设备的终端用户的图像的前置摄像头。传感器125可产生与终端设备12相关联的运动和/或方位信息。在一些情况下,传感器125可以包括惯性测量单元(IMU)。显示器126可以显示数字图像和/或视频。显示器126可以包括透视显示器。显示器126可以包括发光二极管(LED)或有机LED(OLED)显示器。
在一些实施例中,终端设备12的各种组件,例如网络接口121、处理器122、存储器123、摄像头124和传感器125可以集成在单芯片衬底上。在一个示例中,网络接口121、处理器122、存储器123、摄像头124和传感器125可以集成为片上系统(SOC)。在其他实施例中,网络接口121、处理器122、存储器123、摄像头124和传感器125可以集成在单个封装内。
在一些实施例中,终端设备12可以通过使用摄像头124、传感器125和运行在处理器122上的手势识别软件来提供自然用户界面(NUI)。利用自然用户界面,人的身体部位和运动可以被检测、解释,并用于控制终端中计算应用程序的各个方面。在一个示例中,使用自然用户界面的计算设备可以推断与计算设备交互的人的意图(例如,终端用户执行特定手势以控制计算设备)。
在一个示例中,终端设备12包括头戴式显示器(HMD),其向HMD的终端用户提供增强、混合、虚拟现实环境或混合现实环境。在增强或混合现实环境的情况下,HMD可以包括视频透视和/或光学透视系统。终端用户佩戴的光学透视HMD可以允许真实世界环境的实际直接观看(例如,通过透明透镜),并且同时可以将虚拟对象的图像投射到终端用户的视野中,从而用虚拟对象增强终端用户所感知的真实世界环境。
利用HMD,终端用户可以佩戴HMD在真实世界环境(例如,起居室)中移动,并感知被虚拟对象的图像叠加的真实世界的视图。虚拟对象可以看起来与真实世界环境保持一致的空间关系,即,当终端用户转头或在真实世界环境中移动时,显示给终端用户的图像将改变,使得虚拟对象看起来存在于由终端用户感知的真实世界环境中。虚拟对象也可以相对于终端用户的视角看起来是固定的,例如,无论终端用户如何转头或在真实世界环境中移动,虚拟菜单总是出现在终端用户视角的右上角。在一个实施例中,真实世界环境的环境映射可由服务器13(即,在服务器侧)执行,而摄像头定位可在终端设备12(即,在客户端侧)执行。虚拟对象可以包括与真实世界对象相关联的文本描述。
在一些实施例中,诸如终端设备12的终端设备可以与诸如服务器13的云端服务器通信,并且可以向服务器提供与终端设备相关联的位置信息(例如,借助于GPS坐标的终端设备的位置)和/或图像信息(例如,关于在终端设备的视场中检测到的对象的信息)。作为响应,服务器可以基于提供给服务器的位置信息和/或图像信息向终端设备发送一个或多个虚拟对象。在一个实施例中,终端设备12可以指定用于接收一个或多个虚拟对象的特定文件格式,并且服务器13可以向终端设备12发送一个或多个虚拟对象,该一个或多个虚拟对象包含在特定文件格式的文件中。
图2是根据实施例的示例性神经网络架构的结构示意图。如图2所示,对于单个输入图像,提取初始前景和增强前景。增强前景被送入初始编码器,然后分别解码为法线、反射率和粗糙度,然后回归出五阶球面谐波亮度。然后,将目标对象的掩模乘以预测的法线、反射率和粗糙度,以去除平面区域。屏幕空间渲染器将采用法线、反射率、粗糙度和SH亮度来生成重新渲染的场景图像。
图3是使用估计的亮度在真实场景渲染虚拟对象的示意图。左边是由手机等移动设备拍摄的室内图像,然后根据该拍摄的图像估计亮度条件,并将虚拟对象渲染到真实场景中。一些如柔和的阴影和光滑的表面等细节渲染效果显示在放大图中。
图4是根据实施例的基于亮度估计来渲染虚拟对象的方法的流程示意图。基于亮度估计来呈现虚拟对象的方法可以适用于图1中所示的终端设备120。在本实施例中,实时拍摄真实场景中的图像,图像中的至少一个对象位于至少一个平面上,然后提取图像的前景,此后估计所提取的前景图像对应的亮度,最后用估计的亮度在真实场景中渲染虚拟对象。因此,通过训练的神经网络和真实场景中拍摄的包含放置在平面区域上的一个或多个对象的图像的输入,可以实时估计真实世界的亮度条件,并且可以用估计的亮度在真实场景中渲染虚拟对象,从而改善在真实场景中渲染虚拟对象的渲染质量和真实感。
如图4所示,基于亮度估计来渲染虚拟对象的方法包括以下内容。
在方框402,拍摄图像,该图像中的至少一个对象位于至少一个平面上。
具体地,亮度估计是基于真实场景中的至少一个对象的视觉外观,图像可以由终端设备的单目RGB摄像头拍摄。
在方框404,提取图像的前景。
图像的背景内容通常太少,图像边缘附近的区域甚至可能因摄像头投影而失真。因此,提取图像的前景以降低计算复杂度。
在一个实施例中,图像的前景可以按照如下方式提取。在图像中检测到存在至少一个预设对象。从至少一个预设对象中选择位于图像中心的对象作为目标对象。基于目标对象和目标对象所在的平面来确定和提取图像的前景。如图5(a)-(d)所示,图5(a)-(d)示出了根据实施例的示例性前景提取过程,其中图5(a)是示例性拍摄图像的示意图,图5(b)是图像中的目标对象的示意图,图5(c)是初始提取(例如,分割)的示意图,图5(d)是最终提取的示意图。
具体地,从上下文常见对象(common objects in context,COCO)数据集中收集最有可能在室内桌子或地面上找到的预设对象(例如,香蕉、花瓶等)。图5(a)给出了这样一个例子。为了进行前景提取,使用检测器2(Detectron 2)检测至少一个预设对象和目标对象。如图5(a)所示,在图像中检测到的至少一个预设对象可以包括沙发、桌子和花盆。在检测到该至少一个预设对象之后,仅从该至少一个预设对象中选择位于图像中心的对象作为目标对象。
在一个实施例中,可以按照如下从至少一个预设对象中选择位于图像中心作为目标对象的对象。从至少一个预设对象中选择至少部分地近似位于图像中心的对象作为目标对象。换句话说,从至少一个预设对象中选择其中第一百分比的像素位于第二百分比的图像中心的对象作为目标对象。例如,选择95%的分割像素位于图像中心70%的对象作为目标对象。图5(b)给出了这样一个例子。如图5(b)所示,仅选择沙发作为目标对象。
在一个实施例中,基于目标对象和目标对象所在的平面确定图像的前景,如下所述。
根据目标对象确定粘合框。将该粘合框划分为上部粘合框和下部粘合框。下部粘合框以一个放大倍数扩展,以包括目标对象所在平面的一部分。确定该上部粘合框和扩展的下部粘合框围绕的图像部分为该图像的前景。换句话说,目标对象和位于扩展的第二粘合框中的部分平面被确定为图像的前景。
具体地,根据目标对象的掩模确定粘合框。如图5(c)所示,定位边界框的下半部分,并且将边界框的下半部分在x和y方向上按照预先设置的放大倍数(例如,1.3)扩展。因此,目标对象所在的平面的一部分几乎全部被包括在该扩展区域中。最后的增强分割,即图像的前景,如图5(d)所示。
在方框406,估计所提取的前景图像对应的亮度。
具体来说,神经网络的一个输入是提取的前景IA。如图3所示,将目标对象的掩膜(如图5(c)所示)表示为M,将增强掩膜(如图5(d)所示)表示为MA。平面的掩膜可表示为MP,且MP=MA-M。SceneParser(·)表示由编码器块和解码器块组成的神经网络,然后通过以下方法给出预测的法线贴图反射率粗糙度和球面谐波(SH)系数(与地面真参数用~区分):
将现有的AR框架(例如,ARCore)针对输入图像的输出作为NP。这里讨论的所有NP都在屏幕空间坐标中。
图6(a)和图6(b)是根据实施例的示例性神经网络设计的示意图。作为示例,神经网络可以包括命名为SHE_st(·)的亮度预测模块和命名为InitEncoder(·)的初始编码器。SHE_st(·)连接在InitEncoder(·)之后。SHE_st(·)包含两个全连接层,为每个颜色通道回归36个球面谐波系数。预测的球面谐波(SH)系数可以通过以下公式得到:
此外,神经网络还可以包括用于法线、反射率和粗糙度的三个子自动编码器,并且这三个子自动编码器共享相同的编码器initecoder(·),并且具有各自的译码器,分别命名为NormalDecoder(·),AlbedoDecoder(·),and RoughDecoder(·)。详细的架构结构设计如图6(A)所示。预测的法线贴图反射率粗糙度可通过以下公式获得:
为了预测真实场景中的亮度,需要有较大的感受野(receptive field)。因此,例如,InitEncoder(·)可以具有步长为2的6个卷积层,从而输出的每个像素可以受到整个图像的影响。对于NormalDecoder(·),AlbedoDecoder(·),and RoughDecoder(·),除了NormalDecoder(·)具有额外的输入NP,它们使用转置卷积进行解码并添加跳过链接以恢复更多细节。
图6(a)示出了这种编码器-解码器对的详细结构,图6(b)示出了SHE_st(·)的详细结构。
在方框408,用估计的亮度渲染虚拟对象。
在一个实施例中,可以按照如下估计与提取的前景图像对应的亮度。将提取的前景输入神经网络。获取神经网络输出的预测SH系数。基于预测的SH系数确定图像对应的亮度。
具体来说,ARCore或ARKit等高级AR框架通常用于提供鲁棒的和准确的平面检测。虚拟对象可以用估计的亮度在真实场景的平面上被渲染。
可以看出,在本申请实施例中,实时拍摄真实场景中的包含至少一个对象位于至少一个平面上的图像,然后提取图像的前景,此后估计所提取的前景图像对应的亮度,最后用估计的亮度在真实场景中渲染虚拟对象。因此,通过训练好的神经网络和在真实场景中拍摄的包含放置在平面区域上的一个或多个对象的图像作为输入,可以实时估计真实世界的亮度条件,并且可以用估计的亮度在真实场景中渲染虚拟对象,从而改善在真实场景中渲染虚拟对象的渲染质量和真实感。
在一个实施例中,该方法还包括以下内容。用第一数据集训练神经网络,其中第一数据集包括多个图像以及每个图像对应的地面真值参数,每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
在一个实施例中,该方法还包括构建第一数据集。具体地,从第二数据集中选取多个图像,其中,该多个图像中的每个图像包含对象和该对象所在的平面,其中该第二数据集中包括多个全景图像和该多个全景图像中的每一个全景图像对应的地面真值HDR亮度贴图。对于选取的每个图像:计算对象的地面真值法线贴图和平面的地面真值法线贴图;通过对地面真值HDR亮度贴图应用球面卷积以提取图像对应的地面真值SH系数;计算图像对应的地面真值反射率和地面真值粗糙度。基于选取的该多个图像和选取的该多个图像对应的地面真值参数构建该第一数据集,其中选取的每个图像对应的地面真值参数包括该对象的地面真值法线贴图、该平面的地面真值法线贴图、该地面真值SH系数、该地面真值反射率和该地面真值粗糙度。
为了支持神经网络的训练,需要包括室内图像及其对应的法线贴图的大型数据库。然而,获取包括地面真值法线贴图的大型数据库用于训练是一项挑战。一方面,使用基于物理的渲染引擎可以直接同时合成渲染图像和法线贴图,但是用合成数据训练的神经网络在实际数据上的性能往往很差。另一方面,现有的法线贴图数据集所提供的法线贴图是在昂贵的光度立体设置下重建的,因此数据量太少,无法进行充分的网络训练。
在一个实施例中,第一个数据集可以基于现成的第二个数据集(即Matterport3D数据集)来构建。Matterport3D包含194400个注册HDR RGB-D图像,由位于90个不同建筑规模的室内场景中的10800个全景图像组成。具体地,利用Matterport3D数据集中的多个HDRRGB-D图像来生成第一个数据集。该全景图像可以提供地面真值HDR亮度贴图,利用球面卷积提取这些亮度图的5阶SH系数作为地面真值SH系数Lgt。
首先,从Matterport3D数据集中选择包含对象和该对象所在平面的图像。平面被定义为:(a)一个水平面(nz>(cosπ/8));(b)语义标签,如地板、家具,(c)上面有一个或多个对象。然后,对于每个图像I,对象被转移到屏幕空间(例如,摄像头坐标),并计算对象和平面的法线贴图。此外,利用球面卷积提取地面真值HDR亮度贴图的5阶SH系数作为地面真值SH系数Lgt。这样,SH光被旋转到屏幕空间,并相应地变换SH系数。为此,针对图像I构建了必要的标签:地面真值SH系数Lgt、对象的地面真值法线贴图Ngt和平面的地面真值法线贴图Np。总计约109042个{I,Lgt,Ngt,Np}样本。图7示出了地面真值数据的示例性生成过程。如图7所示,生成地面真值SH系数和Matterport3D数据集中包含支撑平面的图像的法线贴图。在Matterport3D数据集中,地面真值亮度是一个全景环境贴图,基于5阶SH系数生成地面真值SH亮度。
在训练阶段,直接从Matterport3D数据集中的地面真值数据中提取平面的法线贴图Np。而在实际应用中,可以将AR框架(例如ARCore)针对输入图像上的输出作为平面的法线贴图Np。这里讨论的所有Np都可以在屏幕空间坐标中。
在一个实施例中,用第一个数据集训练神经网络,如下所述。
从第一数据集中获得训练图像,其中训练图像是第一数据集中的任一图像。提取训练图像的前景。将所提取的训练图像的前景输入到神经网络以获得预测参数,其中该预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测SH系数、预测反射率和预测粗糙度。用预测的参数来渲染图像。基于预测参数、渲染图像、训练图像、和训练图像对应的地面真值参数来计算神经网络的损失。基于损失训练神经网络。
在本实施例中,将平面法线贴图加入到亮度估计和神经网络训练中,有助于提高亮度估计的准确性。如表1所示,对于相同的测试图像,神经网络分别用平面法线贴图和不用平面法线贴图进行训练,S-P列(无NP训练)1报告的恢复误差明显大于S列(有NP训练)的恢复误差。由此可见,平面的法线贴图对亮度有重大影响。图8是根据实施例的基于平面法线贴图训练的神经网络和没有基于平面法线贴图训练的神经网络的亮度预测和法线贴图预测对比示意图。图8中的定量比较表明,在没有NP的指导下,对象上的纹理可能会误导法线贴图估计,并进一步产生不正确的亮度估计。
表1:图像的定量比较
S | S-P | |
5阶SH系数(10<sup>-2</sup>) | 9.833 | 3.746 |
法线贴图(10<sup>-2</sup>) | 6.591 | 4.184 |
针对移动电话拍摄的多幅图像,NP如何影响亮度或亮度估计已经被证明。图9是根据其它实施例的基于平面法线贴图训练的神经网络(中间)和没有基于平面法线贴图训练的神经网络(上部)的亮度预测和法线贴图预测对比示意图。如图9所示,在顶部示例中,从S-P输出的法线贴图不正确,框中的一部分意味着该区域上的法线贴图非常不同,这是不正确的。在底部的实例中,S-P的法线贴图输出过于平滑。在这两个示例中,光线太暗,不利于S-P结果。
在一个示例中,用预测的参数来渲染图像,如下所述。
由于本申请实施例不包括透射效应和自发光,所以渲染方程可以简化为反射方程,以便用神经网络的输出进行渲染:
亮度
亮度参数化为一个五阶球面谐波亮度。由于五阶球面谐波亮度是一个全局亮度,因此辐射只依赖于方向。更具体地,我们可以用如下公式表示Li:
BRDF
D、F和G分别表示正态分布、菲涅耳和几何项。(θi,φi)和(θ0,φ0)分别表示入射光和在本地坐标下的眼睛方向的高度和方位角。从上述BRDF模型的公式可以看出,当θ′0固定时,BRDF是径向对称的,或者只依赖于θ′i。该性质可以简化公式(4)中的积分。
积分
根据径向对称性质和如下公式:
其中Nlm′是归一化因子,Plm′是相关联的勒让德函数,
其中如果m′=0,则δ0m′=1,否则δ0m′=0。则公式(8)可简化为
由于且cosθ′0<1,高阶项可以忽略不计。我们发现,5次多项式足够解决我们的问题。因此,Θl可以近似为一个关于和cosθ′05次多项式由于摄像头的视场(fieldof view,fov)是可用的,和cosθ′0可以由像素在图像中的位置确定,因此可以写成其中,是像素的位置。渲染图像用表示。
在本实施例中,在不损失太大准确性的情况下,可以使用少量的参数进行渲染和预测,从而降低了预测和渲染成本。
在一个实施例中,根据预测参数、渲染图像、训练图像和训练图像对应的地面真值参数计算神经网络的损失,如下所述。
基于渲染图像和测试图像计算渲染损失。根据预测的SH系数和地面真值SH系数计算SH损失。基于该对象的预测法线贴图和该对象的地面真值法线贴图来计算对象法线贴图损失。基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失。根据预测反射率和地面真值反射率计算反射率损失。计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
在一个实施例中,不需要大量用于从图像到亮度的内在映射的建模的数据,标记的训练数据被用来监督中间分量,以使估计的亮度更可靠。
可以从第一数据集中提取对象的地面真值SH系数和地面真值法线贴图,从而可以监督对象的预测SH系数和预测法线贴图。此外,ARCore还可以提供平面的地面真值法线贴图,从而对预测的平面法线贴图进行监督。
渲染损失Lr
SH损失LS
LS表示SH系数的均方误差(MSE)损失,定义为:
对象法线贴图损失LN
对于来说,强制扩展区域(MA-M)中的所有像素具有与NP相同的法线贴图是不可行的。因为提取的前景除了目标对象和目标对象所在的平面外,还可能包含部分其他非平面对象。一个观察结果是(MA-M)中的大部分像素将位于一个平面上。因此,合理地要求(MA-M)中的大部分而不是全部像素接近NP。的定义是:
反射率损失La
La是基于像素之间的颜色和强度的相似性。这个术语的灵感来自于多尺寸阴影平滑特性。La定义为相邻像素上的加权L2项,权值为负梯度幅值:
为此,通过组合上述五项,最终损失函数可以定义为:
为了减少训练过程中的过拟合效应,在上述最终损失函数中,可以添加额外的正则化项,以进一步使用统计正则化约束对估计的SH系数的优化。例如,上述最终损失函数中加权系数的取值可以是λr=1.92,λa=0.074,λs=2.14,λn=1.01,andλreg=2.9×10-5。利用训练过程中的这些损失,可以借助于自然网络产生精确的SH亮度、法线贴图和反射率。
图10比较了使用两种现有估计方法和本公开中的方法的法线贴图估计。如图9所示,在两种情况下,本公开中的方法明显更好。现有的两种估计方法由于手工的正则化容易导致法线贴图的过度平滑。相比之下,本公开中的方法即使在镜面和阴影区域中也可以恢复表面法线贴图的高频细节。
图11是示出在真实场景中渲染虚拟对象的示例的示意图。如图11所示,左侧是设备拍摄的图像,右侧是通过用估计的亮度渲染虚拟对象而合成的图像。最上面的一排是较亮的场景,而最下面的一排是较暗的场景。通过本申请中的实施例,可以准确地估计亮度条件。
图12是根据实施例的用于训练神经网络的方法的示意图。如图12所示,用于训练神经网络的方法包括以下内容。
在方框1202,从第一数据集中获取训练图像,其中第一数据集包括多个图像以及与每个图像对应的和地面真值参数,训练图像是第一数据集中的任一图像。
每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
在方框1204,提取训练图像的前景。
在方框1206,将所提取的训练图像的前景输入到神经网络以获取预测参数。
该预测参数包括该训练图像中对象的预测法线贴图、该训练图像中平面的预测法线贴图、预测SH系数、预测反射率和预测粗糙度。
在方框1208,用预测的参数来渲染图像。
在方框1210,基于预测参数、渲染图像、训练图像和测试图像对应的地面真值参数计算神经网络的损失。
在方框1212,基于损失训练神经网络。
在一个实施例中,根据预测参数、渲染图像、训练图像和训练图像对应的地面真值参数计算神经网络的损失,如下所述。基于该渲染图像和该训练图像计算渲染损失。根据预测的SH系数和地面真值SH系数计算SH损失。基于该对象的预测法线贴图和该对象的地面真值法线贴图来计算对象法线贴图损失。基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失。根据预测反射率和地面真值反射率计算反射率损失。计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
在一个实施例中,该方法进一步包括以下内容。
从第二数据集中选择每个包含对象和该对象所在平面的图像,其中第二数据集中包括多个全景图像和每个全景图像中的对应的地面真值HDR亮度贴图。对于选取的每个图像:计算对象的地面真值法线贴图和平面的地面真值法线贴图;通过对地面真值HDR亮度贴图应用球面卷积以提取图像对应的地面真值SH系数;计算图像对应的地面真值反射率和地面真值粗糙度。基于选取的图像和选取的每个图像对应的地面真值参数构建第一数据集,其中选取的每个图像对应的地面真值参数包括该对象的地面真值法线贴图、该平面的地面真值法线贴图、该地面真值SH系数、该地面真值反射率以及该地面真值粗糙度。
以上操作可以参考一种基于亮度估计渲染虚拟对象的方法中的网络训练操作的详细描述,这里将不对其进行描述。
上述主要从方法侧执行过程的角度对本发明实施例的方案进行了介绍。可以理解的是,移动终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对第一无线耳机进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图13是根据实施例的基于亮度估计渲染虚拟对象的装置的结构示意图。如图3所示,基于亮度估计渲染虚拟对象的装置包括拍摄单元131、提取单元132、估计单元133和渲染单元134。
拍摄单元131被配置为拍摄图像,该图像中的至少一个对象位于至少一个平面上。
提取单元132被配置为提取图像的前景。
估计单元133被配置为估计所提取的前景图像对应的亮度。
渲染单元134被配置为用估计的亮度渲染虚拟对象。
可以看出,在本申请实施例中,实时拍摄真实场景中的图像,该图像中的至少一个对象位于的至少一个平面上,然后提取图像的前景,此后估计所提取的前景图像对应的亮度,最后用估计的亮度在真实场景中渲染虚拟对象。因此,通过训练的神经网络和真实场景中拍摄的包含放置在平面区域上的一个或多个对象的图像的输入,可以实时估计真实世界的亮度条件,并且可以用估计的亮度在真实场景中渲染虚拟对象,从而改善在真实场景中渲染虚拟对象的渲染质量和真实感。
在一个实施例中,该估计单元133被配置为:将提取的前景输入到神经网络;得到神经网络输出的预测球面谐波(SH)系数;并基于预测的SH系数确定图像对应的亮度。
在一个实施例中,该提取单元132被配置为:检测到该图像中存在至少一个预设对象;从该至少一个预设对象中选择位于该图像中心的对象作为目标对象;基于该目标对象和该目标对象所在的平面确定并提取该图像的前景。
在一个实施例中,在从至少一个预设对象中选择位于图像中心的对象作为目标对象方面,该提取单元132被配置为:从至少一个预设对象中选择至少部分地近似位于图像中心的对象作为目标对象。
在一个实施例中,在基于目标对象和目标对象所在的平面确定图像前景方面,估计单元133被配置为:根据目标对象确定粘合框;将粘合框分为上粘接框和下粘接框;以放大倍数扩展该下部粘合框以包括该目标对象所在的平面的一部分;确定由上部粘合框和扩展的下部粘合框框成的图像的一部分作为图像的前景。
在一个实施例中,该装置还包括训练单元135。
该训练单元135被配置为:用第一数据集训练神经网络,其中第一数据集包括多个图像以及每个图像对应的地面真值参数,每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
作为实施方式,该装置还包括构建单元136。
该构建单元136被配置为:从第二数据集中选取多个图像,该多个图像中的每个图像包含对象和该对象所在的平面的图像,其中第二数据集包括多个全景图像和每个全景图像对应的地面真值HDR亮度贴图;对于选取的每个图像:计算对象的地面真值法线贴图和平面的地面真值法线贴图,通过对地面真值HDR亮度进行球面卷积提取图像对应的地面真值SH系数,并计算图像对应的地面真值反射率和地面真值粗糙度;基于所选图像和所选图像对应的地面真值参数构建第一数据集,其中选取的每个图像对应的地面真值参数包括该对象的地面真值法线贴图、该平面的地面真值法线贴图、该地面真值SH系数、该地面真值反射率以及该地面真值粗糙度。
在一个实施例中,该训练单元136被配置为:从第一数据集中获取训练图像,其中,该训练图像是该第一数据集中的任一图像;提取该训练图像的前景;将提取的训练图像前景输入神经网络,以获得预测参数,该预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测SH系数、预测反射率和预测粗糙度;基于预测的参数来渲染图像;基于该预测参数、该渲染图像、该训练图像以及该训练图像对应的地面真值参数,计算该神经网络的损失;基于损失训练神经网络。
在一个实施例中,在基于预测参数、渲染图像、训练图像和训练图像对应的地面真值参数来计算神经网络的损失方面,该训练单元136被配置为:基于渲染图像和训练图像来计算渲染损失;基于该预测SH系数和地面真值SH系数计算SH损失;基于该对象的预测法线贴图和该对象的地面真值法线贴图计算对象法线贴图损失;基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失;基于预测反射率和地面真值反射率计算反射率损失;计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
图14是根据实施方式的用于训练神经网络的装置的结构示意图。如图14所示,用于训练神经网络的装置包括获取单元141、提取单元142、输入单元143、渲染单元144、计算单元145和训练单元146。
该获取单元141用于从第一数据集中获取训练图像,其中,第一数据集中包括图像和每个图像对应的地面真值参数,并且该训练图像是该第一数据集中的任一图像。
每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
该提取单元142被配置为提取训练图像的前景。
该输入单元143被配置为将提取的训练图像的前景输入神经网络以获得预测参数。
该预测参数包括该训练图像中对象的预测法线贴图、该训练图像中平面的预测法线贴图、预测SH系数、预测反射率和预测粗糙度。
该渲染单元144被配置为基于预测的参数来渲染图像;
该计算单元145被配置为基于预测参数、渲染图像、训练图像和训练图像对应的地面真值参数来计算神经网络的损失。
该训练单元146被配置为基于损失训练神经网络。
在一个实施例中,该计算单元145被配置为基于该渲染图像和该训练图像来计算渲染损失;基于该预测SH系数和地面真值SH系数计算SH损失;基于该对象的预测法线贴图和该对象的地面真值法线贴图计算对象法线贴图损失;基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失;基于预测反射率和地面真值反射率计算反射率损失;并计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
作为实施方式,该设备还包括构建单元147。该构建单元被配置为:从第二数据集中选取多个图像,该多个图像中的每个图像包含对象和该对象所在平面的图像,其中该第二数据集包括多个全景图像和每个全景图像对应的地面真值HDR亮度贴图;对于选取的每个图像:计算对象的地面真值法线贴图和平面的地面真值法线贴图,通过对地面真值HDR亮度贴图应用球面卷积以提取与图像对应的地面真值SH系数,并计算图像对应的地面真值反射率和地面真值粗糙度;基于所选图像和所选图像对应的地面真值参数构建第一数据集,其中选取的每个图像对应的地面真值参数包括该对象的地面真值法线贴图、该平面的地面真值法线贴图、该地面真值SH系数、该地面真值反射率以及该地面真值粗糙度。
图15是根据实施例的终端设备的结构示意图。如图15所示,终端设备150包括处理器151、存储器152、通信接口153和存储在存储器152中并由处理器151执行的一个或多个程序154。一个或多个程序154包括用于执行以下操作的指令。
拍摄图像,该图像中的至少一个对象位于至少一个平面上。提取该图像的前景。估计提取的该前景图像对应的亮度。基于估计的亮度渲染虚拟对象。
在一个实施例中,在估计提取的前景图像对应的亮度方面,一个或多个程序154包括用于执行以下操作的指令。将提取的前景输入神经网络。获取神经网络输出的球面谐波(SH)系数的预测值。基于预测的SH系数确定图像对应的亮度。
在一个实施例中,在提取图像的前景方面,一个或多个程序154包括用于执行以下操作的指令。检测到该图像中存在至少一个预设对象。从至少一个预设对象中选择位于图像中心的对象作为目标对象。基于目标对象和目标对象所在的平面来确定和提取图像的前景。
在一个实施例中,在从至少一个预设对象中选择位于图像中心的对象作为目标对象方面,一个或多个程序154包括用于执行以下操作的指令。从至少一个预设对象中选择至少部分地近似位于图像中心的对象作为目标对象。
在一个实施例中,在基于目标对象和目标对象所在的平面来确定图像的前景方面,一个或多个程序154包括用于执行以下操作的指令。根据该目标对象确定粘合框;将该粘合框划分为上部粘合框和下部粘合框;扩展该下部粘合框以包括该目标对象所在的平面的一部分;确定该上部粘合框和扩展的下部粘合框围绕的图像部分为该图像的前景。
在一个实施例中,一个或多个程序154进一步包括用于执行以下操作的指令。用第一数据集训练神经网络,其中第一数据集包括多个图像以及每个图像对应的地面真值参数,每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
在一个实施例中,一个或多个程序154进一步包括用于执行以下操作的指令。从第二数据集选取多个图像,该多个图像中的每个图像包含对象以及该对象所在的平面,其中,第二数据集包括多个全景图像以及每个全景图像对应的地面真值HDR亮度贴图。对于选取的每个图像:计算对象的地面真值法线贴图以及平面的地面真值法线贴图;通过对地面真值HDR亮度贴图应用球面卷积以提取图像对应的地面真值球面谐波系数;计算图像的地面真值反射率以及地面真值粗糙度。基于选取的图像以及该选取的每个图像对应的地面真值参数构建第一数据集,其中选取的每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值球面谐波系数、地面真值反射率以及地面真值粗糙度。
在一个实施例中,在用该第一数据集训练神经网络方面,一个或多个程序154包括用于执行以下操作的指令。从第一数据集中获取训练图像,该训练图像是该第一数据集中的任一图像。提取该训练图像的前景。将提取的该训练图像的前景输入至神经网络以获取预测参数,该预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测球面谐波系数、预测反射率以及预测粗糙度。基于预测参数来渲染图像。基于该预测参数、渲染图像、训练图像以及训练图像对应的地面真值参数,计算该神经网络的损失。基于该损失训练该神经网络。
在一个实施例中,在基于预测参数、渲染图像、训练图像和训练图像对应的地面真值参数计算神经网络的损失方面,一个或多个程序154包括用于执行以下操作的指令。基于该渲染图像和该训练图像计算渲染损失。根据预测的SH系数和地面真值SH系数计算SH损失。基于该对象的预测法线贴图和该对象的地面真值法线贴图来计算对象法线贴图损失。基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失。根据预测反射率和地面真值反射率计算反射率损失。计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
图16是根据其他实施例的终端设备的结构示意图。如图16所示,终端设备160包括处理器161、存储器162、通信接口163和存储在存储器162中并由处理器161执行的一个或多个程序164。一个或多个程序164包括用于执行以下操作的指令。
从第一数据集中获取训练图像,该第一数据集包括多个图像以及每个图像对应的地面真值参数,该训练图像是该第一数据集包括的任一图像。提取该训练图像的前景。将提取的该训练图像的前景输入至神经网络以获取预测参数。用该预测参数来渲染图像。基于预测参数、渲染图像、训练图像以及训练图像对应的地面真值参数,计算该神经网络的损失。基于该损失训练神经网络。
在一个实施例中,每个图像包含对象和该对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值SH系数、地面真值反射率以及地面真值粗糙度。
在一个实施例中,预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测SH系数、预测反射率和预测粗糙度。基于预测的参数来渲染图像。
在一个实施例中,在基于预测参数、渲染图像、训练图像以及训练图像对应的地面真值参数,计算该神经网络的损失方面,一个或多个程序164包括用于执行以下操作的指令。基于该渲染图像和该训练图像计算渲染损失。根据预测的SH系数和地面真值SH系数计算SH损失。基于该对象的预测法线贴图和该对象的地面真值法线贴图来计算对象法线贴图损失。基于该平面的预测法线贴图和该平面的地面真值法线贴图计算平面法线贴图损失。根据预测反射率和地面真值反射率计算反射率损失。计算该渲染损失、该SH损失、该对象法线贴图损失、该平面法线贴图损失和该反射率损失的加权和作为损失。
在一个实施例中,一个或多个程序164进一步包括用于执行以下操作的指令。从第二数据集中选取多个图像,该多个图像中的每个图像包含对象以及该对象所在的平面,其中,该第二数据集包括多个全景图像以及每个全景图像对应的地面真值HDR亮度贴图。对于选取的每个图像:计算对象的地面真值法线贴图以及平面的地面真值法线贴图;通过对该地面真值HDR亮度贴图应用球面卷积以提取图像对应的地面真值球面谐波系数;计算图像的地面真值反射率以及地面真值粗糙度。基于选取的图像以及该选取的每个图像对应的地面真值参数构建第一数据集,其中选取的每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值球面谐波系数、地面真值反射率以及地面真值粗糙度。
本申请实施例还提供了一种非瞬时性计算机存储介质。该非瞬时计算机存储介质被配置为存储程序,该程序在执行时可操作以执行如在上述方法实施例中所描述的基于亮度估计来渲染虚拟对象的方法的一些或全部操作,或者执行用于训练神经网络的方法的一些或全部操作。
本申请实施例还提供了一种计算机程序产品。该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质。该计算机程序可操作来使计算机执行如在上述方法实施例中所描述的基于亮度估计来渲染虚拟对象的方法的一些或全部操作,或者执行用于训练神经网络的方法的一些或全部操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例该方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上详细描述了本申请实施例,在此使用特定示例来描述本公开的原理和实现方式。以上实施例的描述仅用于帮助理解本公开的方法和核心思想。同时,本领域技术人员可以根据本公开的思想对具体实现方式和应用范围进行修改。总之,说明书的内容不应被解释为限制本公开。
Claims (20)
1.一种基于亮度估计渲染虚拟对象的方法,包括:
拍摄图像,所述图像中的至少一个对象位于至少一个平面上;
提取所述图像的前景;
估计提取的所述前景图像对应的亮度;以及
基于估计的所述亮度渲染虚拟对象。
2.根据权利要求1所述的方法,其中,估计提取的所述前景图像对应的亮度包括:
将提取的所述前景输入至神经网络;
获取所述神经网络输出的预测球面谐波(SH)系数;以及
基于所述预测球面谐波系数,确定所述图像对应的所述亮度。
3.根据权利要求1或2所述的方法,其中,提取所述图像的前景包括:
检测到所述图像中存在至少一个预设对象;
从所述至少一个预设对象中选取位于所述图像中心的对象作为目标对象;以及
基于所述目标对象以及所述目标对象所在的平面确定和提取所述图像的前景。
4.根据权利要求3所述的方法,其中,从所述至少一个预设对象中选取位于所述图像中心的对象作为目标对象包括:
从所述至少一个预设对象中选取至少部分地近似位于所述图像中心的对象作为所述目标对象。
5.根据权利要求3或4所述的方法,其中,基于所述目标对象以及所述目标对象所在的平面确定所述图像的前景包括:
根据所述目标对象确定粘合框;
将所述粘合框划分为上部粘合框和下部粘合框;
扩展所述下部粘合框以包括所述目标对象所在的平面的一部分;以及
确定所述上部粘合框和扩展的下部粘合框围绕的图像部分为所述图像的前景。
6.根据权利要求1至5任一项所述的方法,还包括:
用第一数据集训练所述神经网络,所述第一数据集包括多个图像以及每个图像对应的地面真值参数,所述每个图像包含对象和所述对象所在的平面,所述每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法向图、地面真值球面谐波系数、地面真值反射率以及地面真值粗糙度。
7.根据权利要求6所述的方法,还包括:
从第二数据集中选取多个图像,所述多个图像中的每个图像包含对象以及所述对象所在的平面,其中,所述第二数据集包括多个全景图像以及每个全景图像对应的地面真值HDR亮度贴图;
对于选取的每个图像:
计算对象的地面真值法线贴图以及平面的地面真值法线贴图;
通过对地面真值HDR亮度贴图应用球面卷积,提取图像对应的地面真值球面谐波系数;
计算图像的地面真值反射率以及地面真值粗糙度;以及
基于选取的所述多个图像以及选取的所述多个图像对应的地面真值参数构建第一数据集,其中,选取的每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值球面谐波系数、地面真值反射率以及地面真值粗糙度。
8.根据权利要求7所述的方法,其中,用所述第一数据集训练所述神经网络包括:
从所述第一数据集中获取训练图像,所述训练图像是所述第一数据集中的任一图像;
提取所述训练图像的前景;
将提取的所述训练图像的前景输入至神经网络以获取预测参数,所述预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测球面谐波系数、预测反射率和预测粗糙度;
用所述预测参数来渲染图像;
基于所述预测参数、所述渲染图像、所述训练图像以及所述训练图像对应的地面真值参数,计算所述神经网络的损失;以及
基于所述损失训练所述神经网络。
9.根据权利要求8所述的方法,其中,基于所述预测参数、所述渲染图像、所述训练图像以及所述训练图像对应的地面真值参数,计算所述神经网络的损失包括:
基于所述渲染图像和所述训练图像,计算渲染损失;
基于预测球面谐波系数和地面真值球面谐波系数,计算球面谐波损失;
基于对象的预测法线贴图和对象的地面真值法线贴图,计算对象法线贴图损失;
基于平面的预测法线贴图和平面的地面真值法线贴图,计算平面法线贴图损失;
基于所述预测粗糙度和所述地面真值粗糙度,计算粗糙度损失;以及
计算所述渲染损失、所述球面谐波损失、所述对象法线贴图损失、所述平面法线贴图损失和所述粗糙度损失的加权和作为所述损失。
10.一种用于训练神经网络的方法,包括:
从第一数据集中获取训练图像,所述第一数据集包括多个图像以及每个图像对应的地面真值参数,所述训练图像是所述第一数据集包括的任一图像;
提取所述训练图像的前景;
将提取的所述训练图像的前景输入至神经网络以获取预测参数;
用所述预测参数来渲染图像;
基于所述预测参数、渲染图像、所述训练图像以及所述训练图像对应的地面真值参数,计算所述神经网络的损失;以及
基于所述损失训练神经网络。
11.根据权利要求10所述的方法,其中,每个图像包含对象和所述对象所在的平面,每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面球面谐波系统、地面真值反射率以及地面真值粗糙度;预测参数包括训练图像中对象的预测法线贴图、训练图像中平面的预测法线贴图、预测球面谐波系统、预测反射率以及预测粗糙度。
12.根据权利要求11所述的方法,其中,基于所述预测参数、所述渲染图像、所述训练图像以及所述训练图像对应的地面真值参数,计算所述神经网络的损失包括:
基于所述渲染图像和所述训练图像,计算渲染损失;
基于所述预测球面谐波系数和所述地面真值球面谐波系数,计算球面谐波损失;
基于所述对象的预测法线贴图和所述对象的地面真值法线贴图,计算对象法线贴图损失;
基于所述平面的预测法线贴图和所述平面的地面真值法线贴图,计算平面法线贴图损失;
基于所述预测粗糙度和所述地面真值粗糙度,计算粗糙度损失;以及
计算所述渲染损失、所述球面谐波损失、所述对象法线贴图损失、所述平面法线贴图损失和所述粗糙度损失的加权和作为所述损失。
13.根据权利要求11或12所述的方法,还包括:
从第二数据集中选取多个图像,所述多个图像中的每个图像包含对象和所述对象所在的平面,其中,所述第二数据集包括多个全景图像以及每个全景图像对应的地面真值HDR亮度贴图;
对于选取的每个图像:
计算对象的地面真值法线贴图以及平面的地面真值法线贴图;
通过对所述地面真值HDR亮度贴图应用球面卷积,提取图像对应的地面真值球面谐波系数;
计算图像的地面真值反射率以及地面真值粗糙度;以及
基于选取的所述多个图像以及选取所述多个的图像对应的地面真值参数构建所述第一数据集,其中,选取的每个图像对应的地面真值参数包括对象的地面真值法线贴图、平面的地面真值法线贴图、地面真值球面谐波系数、地面真值反射率以及地面真值粗糙度。
14.一种基于亮度估计渲染虚拟对象的装置,包括:
拍摄单元,用于拍摄图像,所述图像中的至少一个对象位于至少一个平面上;
提取单元,用于提取所述图像的前景;
估计单元,用于估计提取的所述前景图像对应的亮度;以及
渲染单元,用于基于估计的所述亮度渲染虚拟对象。
15.根据权利要求14所述装置,其中,所述估计单元用于:
将提取的所述前景输入至神经网络;
获取所述神经网络输出的预测球面谐波(SH)系数;以及
基于所述预测球面谐波系数确定所述图像对应的所述亮度。
16.根据权利要求14或15所述装置,其中,所述提取单元用于:
检测到所述图像中存在至少一个预设对象;
从所述至少一个预设对象中选取位于所述图像中心的对象作为目标对象;以及
基于所述目标对象以及所述目标对象所在的平面确定所述图像的前景。
17.根据权利要求16所述装置,其中,在基于所述目标对象以及所述目标对象所在的平面确定所述图像的前景方面,所述估计单元用于:
根据所述目标对象确定粘合框;
将所述粘合框划分为上部粘合框和下部粘合框;
扩展所述下部粘合框以包括所述目标对象所在的平面的一部分;以及
确定所述上部粘合框和扩展的下部粘合框围绕的图像部分为所述图像的前景。
18.一种用于训练神经网络的装置,包括:
获取单元,用于从第一数据集中获取训练图像,所述第一数据集包括多个图像以及每个图像对应的地面真值参数,所述训练图像是所述第一数据集包括的任一图像;
提取单元,用于提取所述训练图像的前景;
输入单元,用于将提取的所述训练图像的前景输入至神经网络以获取预测参数;
渲染单元,用于用所述预测参数来渲染图像;
计算单元,用于基于预测参数、渲染图像、所述训练图像以及所述训练图像对应的地面真值参数,计算所述神经网络的损失;以及
训练单元,用于基于所述损失训练神经网络。
19.一种终端设备包括处理器和用于存储一个或多个程序的存储器,其中,所述一个或多个程序用于被所述处理器执行,所述一个或多个程序包括用于执行根据权利要求1至9任一项所述的方法或根据权利要求10至13任一项所述的方法。
20.一种非瞬时性计算机可读存储介质,用于存储用于电子数据交换的计算机程序,当所述计算机程序被执行时,可以使得计算机执行根据权利要求1至9任一项所述的方法或根据权利要求10至13任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062967739P | 2020-01-30 | 2020-01-30 | |
US62/967,739 | 2020-01-30 | ||
PCT/CN2021/073937 WO2021151380A1 (en) | 2020-01-30 | 2021-01-27 | Method for rendering virtual object based on illumination estimation, method for training neural network, and related products |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115039137A true CN115039137A (zh) | 2022-09-09 |
Family
ID=77078034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180010833.4A Pending CN115039137A (zh) | 2020-01-30 | 2021-01-27 | 基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115039137A (zh) |
WO (1) | WO2021151380A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114792359B (zh) * | 2022-06-24 | 2022-10-11 | 北京百度网讯科技有限公司 | 渲染网络训练和虚拟对象渲染方法、装置、设备及介质 |
CN116245741B (zh) * | 2022-06-28 | 2023-11-17 | 荣耀终端有限公司 | 图像处理方法及其相关设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103606182B (zh) * | 2013-11-19 | 2017-04-26 | 华为技术有限公司 | 图像渲染方法及装置 |
WO2015144209A1 (en) * | 2014-03-25 | 2015-10-01 | Metaio Gmbh | Method and system for representing a virtual object in a view of a real environment |
WO2020056689A1 (zh) * | 2018-09-20 | 2020-03-26 | 太平洋未来科技(深圳)有限公司 | 一种ar成像方法、装置及电子设备 |
CN110458902B (zh) * | 2019-03-26 | 2022-04-05 | 华为技术有限公司 | 3d光照估计方法及电子设备 |
-
2021
- 2021-01-27 WO PCT/CN2021/073937 patent/WO2021151380A1/en active Application Filing
- 2021-01-27 CN CN202180010833.4A patent/CN115039137A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021151380A1 (en) | 2021-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238606B2 (en) | Method and system for performing simultaneous localization and mapping using convolutional image transformation | |
US11238644B2 (en) | Image processing method and apparatus, storage medium, and computer device | |
CN110910486B (zh) | 室内场景光照估计模型、方法、装置、存储介质以及渲染方法 | |
CN110148204B (zh) | 用于在真实环境的视图中表示虚拟对象的方法和系统 | |
CN109801374B (zh) | 一种通过多角度图像集重构三维模型的方法、介质及系统 | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
CN108205797A (zh) | 一种全景视频融合方法及装置 | |
CN108895981A (zh) | 一种三维测量方法、装置、服务器和存储介质 | |
US20180342100A1 (en) | Interactive Image Based 3D Panograph | |
JP2006053694A (ja) | 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体 | |
US8670606B2 (en) | System and method for calculating an optimization for a facial reconstruction based on photometric and surface consistency | |
US11055910B1 (en) | Method and system for generating models from multiple views | |
KR20220117324A (ko) | 다양한 초상화들로부터 학습 조명 | |
CN115039137A (zh) | 基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品 | |
US20230368459A1 (en) | Systems and methods for rendering virtual objects using editable light-source parameter estimation | |
CN113689578A (zh) | 一种人体数据集生成方法及装置 | |
US20160150143A1 (en) | Systems and methods for estimating sky light probes for outdoor images | |
CN115253300A (zh) | 一种图形渲染方法以及装置 | |
US20240037788A1 (en) | 3d pose estimation in robotics | |
US20230245396A1 (en) | System and method for three-dimensional scene reconstruction and understanding in extended reality (xr) applications | |
CN109166176B (zh) | 三维人脸图像的生成方法与装置 | |
Koc et al. | Estimation of environmental lighting from known geometries for mobile augmented reality | |
CN113989434A (zh) | 一种人体三维重建方法及设备 | |
RU2757563C1 (ru) | Способ визуализации 3d портрета человека с измененным освещением и вычислительное устройство для него | |
US20240144595A1 (en) | 3d scene reconstruction with additional scene attributes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |