Press "Enter" to skip to content

谷歌提出”光影魔术手”技术: 机器学习增强人像照明, “普通”照片更好看了!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

From: SIGGRAPH Asia 2020;编译: T.R

 

在人像摄影和电影拍摄过程中,光照扮演着十分重要的作用。为了实现更好的渲染和后期制作,需要估计出图像中人物所处的光照信息。受到投射阴影和高光反射线索的启发, 谷歌 研究人员提出了一种 从任意光照条件下的单张RGB图像中学习出高动态全方位光照 的技术手段,并通过不同环境光照下配对的人物照片对模型进行训练。

 

实验显示,这一方法可以有效为多种肤色的人物照片恢复高性能的光线效果 , 在连续光照的作用下,也可将虚拟背景或者卡通人物添加到肖像照中来。轻量级的架构也使得其在移动端运行成为可能。

 

更多详情,请参看论文原文:

 

 

论文链接:

 

https://arxiv.org/pdf/2008.02396.pdf

 

项目主页:

 

https://augmentedperception.github.io/facelight/

 

相关参考:

 

https://augmentedperception.github.io/deeplight/

 

基于单张图像的高动态照明估计

 

对于经验丰富的摄影师来说,拍摄时的光线情况不仅可以从皮肤的漫反射获取,同时还可以通过投射阴影的方向和范围、高光反射的强度和位置来获取。在这一经验的启发下,研究人员提出了一个可以从人像实现逆向光照的模型, 无需任何特定的皮肤反射模型假设,也能估计出环境中全向的高动态范围照明情况 。 这种技术可以得到具有更高频率细节的照明信息,使得更真实的人像渲染和ARi视觉特效成为可能。

 

为了训练这一模型,研究人员构建了一个包含人像和对应光照情况的庞大数据集。数据集中包含了70个人物在331个光照下的基础数据,以及利用渲染技术生成的约一百万张包含室内外光照环境的人像数据集。下面就让我们从 数据集 、 模型架构 和 实验 等方面来详细了解这项技术的实现过程。

 

训练模型需要大量的具有光照情况标记的肖像照片,但在现实中去收集如此庞大的数据集几乎是不可能的,所以研究人员采用了一种基于图像的数字驱动的重光照技术来合成具有光照标注的肖像照片,通过适当地捕捉复杂的光传输现象来渲染出逼真的图像。在反射场的理论框架下,人们可以通过反射场和HDR环境光的点乘来获取重新光照下的主体图像。

 

为了记录人物的反射场,研究人员使用了安装在球面内的331个LED灯来进行拍摄,反射场通过一系列反射基图像来进行记录,每次打开一个LED灯拍摄记录一个独立的光照结果(One-Light-At-a-Time, OLAT),并利用6个相机在不同的角度记录了人物的图像。

 

 

不同光照下的拍摄结果

 

其中35mm的镜头用于拍摄不同角度的半身像,50mm的镜头用于拍摄面部的细节。

 

 

研究邀请了 70位 不同年龄、肤色和性别的人物来进行拍摄,并记录了九种不同的表情,最终共得到了 3780套在331个光照序列下的成像结果 。

 

 

由于获取对象的完整OLAT序列需要六秒钟,因此,目标 在拍摄过程中不可避免地会有一定程度的移动。为了解决这个问题, 研究人员采用光流技术来对齐图像,每隔11个OLAT帧就增加一对均匀一致的照明“跟踪”帧,以确保满足光流的亮度恒定约束。 这一步骤可保证重光照操作时图像特征的清晰度,以便将对齐的OLAT图像进行线性组合。

 

利用正前方的两个相机,研究人员还获取了每个主体的掩膜,以便于将他们渲染到新的环境中。首先利用六个LED均匀地照明灰色的背景材料,而人物不会被照明;同时还在相同条件下拍摄了没有人物时的完整背景。这样一来,掩膜可以用第一次拍摄的图分离第二次拍摄干净的背景图获取。

 

高动态环境捕捉。 为了利用拍摄好的反射场对主体进行重新打光,研究人员收集了大规模的高动态环境的数据集来驱动深度学习算法。 这里主要使用视频级速率的图像捕捉技术获取了近100万张室内和室外的数据集。

 

 

如上图所示,其捕获的图像中包含了散射、磨砂银质和镜面的参考球体。 这三个球可以有效反映环境中不同的照明线索,其中,镜面球反映了全向的高频信息,但会忽略较亮的光源,造成强度和颜色的改变; 而近似朗伯体BRDF的漫反射球则可以视为低通滤波器,捕获模糊但相对完整的场景照明线索。 与前人的工作不同,本研究需要获得真实的HDR照明信息来对人物进行重新打光,需要显式地提升这三个球的质量以估计其所处环境的HDR光照条件。

 

在给定三个捕获反射状况的球体图像后(可能会有像素缺失),研究人员希望通过解算出HDR光照来得到合理的结果。 首先,利用前面提到的光照系统记录下漫反射球和散射银球的的反射场,并将辐射基准图像转换到相同的辐射空间中去,这一空间通过入射光源的颜色进行了归一化。 随后,将反射基准图像投射到镜面球上(基于朗伯方位角的等面积投影),针对每一个输入图像积累能量来构成反射场。 对于镜面球捕捉的图像来说,如果不存在缺失,则直接利用反射率来恢复场景光照; 如果存在缺失,则通过反射模型和最小二乘法来解出对应的结果。 通过一系列复杂的算法就可以重建出HDR反射场。

 

 

上图中,上半部分是基准LDR图像,而下半部分就是利用估计的HDR渲染出的球体光照记录。 更多详细的推导可以参考文章的3.1的第四部分。

 

在为每个任务记录下反射场和估计出HDR光照条件后,研究人员就可以将每个人物在新场景中进行重新光照渲染来生成大规模的训练数据了。 利用包含三个环境光探测器的背景图像,研究人员可以将记录中获取的人像渲染到丰富的背景环境中去。 下图展示了人物主体在新背景环境中得到自然的图像的过程。

 

 

上图分别展示了背景图像、对应的HDR照明结果、主体的拍摄结果和利用环境图像重照明的结果,最后利用掩膜与背景图像浑然天成的合成结果。

 

为了更有效的利用数据,研究人员还在其中增加了面部检测的能力,为输入的数据提供一定的人脸检测框来帮助模型更好地学习。

 

 

合成的训练数据集将人脸检测部分进行了剪切,右上角是HDR照明结果。

 

网络架构和实验结果

 

网络的输入图像是256×256像素的归一化图像和对应的LDR光照,利用编解码器架构进行训练,最终输出结果为对数空间中32×32的镜面球HDR图像来表示全向照明。同时还使用了辅助的判别器分支来增加对抗损失,强化合理的高频照明估计。在最终的训练中,同时引入了多尺度的图像重光照渲染损失和对抗损失来引导网络训练。

 

 

在训练结束后,研究人员首先将估计出的环境光照信息与多种算法进行了对比,可以看到, 这一算法恢复的结果更为真实可信。

 

 

同时,研究人员还基于估计出的光照结果对人物进行重新打光,并对比了不同分量渲染结果,还将得到的光照用于渲染新的人物。

 

 

上图中,第一列和第二列为输入的图像和对应的基准光照;第三列为预测出的光照结果;第四列是利用预测出的光照进行重新渲染的结果。最后三列则是利用前面的光照对新的人物在相同环境中进行渲染的结果。

 

此外,下图显示, 多尺度损失可以有效提升最终环境光的估计精度, 最下面的镜面球估计的结果明显变得更清晰了。

 

 

接下来,我们再来看一些利用渲染图像预测出的环境光照结果,它可以在不同肤色、表情、头部姿势上稳定工作。

 

 

在真实的户外场景中,也可以实现高性能的光照估计,并且将新的任务渲染在相同的环境中。

 

 

如图所示,第一列为输入的真实图像,第二列为估计出的光照结果,第三列为将数字人物渲染到对应环境中的结果。可以看到,光影效果非常逼真。

 

此外,有了估计出的环境光,一些特效也能渲染得非常真实,下图就展示了在自拍中渲染出虚拟气球做背景的效果,就像真的一样。

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注