2. 北京电子科技学院网络空间安全系,北京 100070
随着照相机、摄像机以及智能手机的快速普及,图像数据规模与日俱增,电影电视、数字娱乐、电子商务等多个行业对图像数据的依赖程度越来越高。基于图像的虚拟光影技术是直接改变图像上物体的光影效果。该方法无需复杂的光线传播仿真计算,是一种基于图像的渲染(image-based rendering)技术[1],是计算机视觉、虚拟现实等领域的交叉新方向。
物体表面的光影是一个非常复杂的光线传播过程,从光源发出的光线在物体表面经过多次反射才能被人眼或者摄像机接收,光在物体表面反射过程中,会发生散射。为了能够模拟光在空间中复杂的传播过程,计算机图形学技术(computer graphs)使用光线追踪技术(ray tracing)技术对光在物体间多次反射、在半透明物体中的折射以及在物体表面的散射等进行模拟。为了能够生成与真实拍摄照片相差无异的图像,传统的图形学技术需要对真实世界中的物体的三维几何及其表面介质的光学特性进行高精度建模。然而现有的基于图像建模技术还无法达到上述效果对三维模型精度的要求,基于图像的虚拟光影生成的概念便运用而生,能够利用较少规模的图像数据生成逼真的光影效果,主要包含两个方面:一方面是光影效果生成,主要是直接改变图像中物体光影效果;另一方面是虚实光影融合,从图像中估计场景光照条件,然后将三维模型根据图像场景的视角和光照条件进行绘制并融入图像场景,使得三维模型的光影效果与场景光照保持一致。
1 光影效果生成基于图像的光影效果生成代表性工作是南加利福尼亚大学Paul Debevec提出的Light stage[2]技术,该技术包含一个球形笼子,上千个LED(发光二极管)光源均匀分布在笼子上,演员置于笼子中间,摄像机在不同视角拍摄演员在不同光照条件下的图像。根据目标环境光照贴图(environment map),对不同光照条件下的图像进行加权平均,生成演员在目标光照条件下的光照效果[3-4]。为了能够在光照方向上进行密集采样,上述方法需要在采集设备上放置大量的点光源,采集的多光照图像数量较多(图 1)。
![]() |
图 1基于光场的光影生成结果[2] |
根据马克斯-普朗克研究所的研究成果,相同视角不同光照方向上采集的图像间关联性比较高[5],传统的数据分析方法或者机器学习方法难以对其进行建模。
近年来,深度神经网络凭借其强大的数据分析和表达能力在自然语言处理(NLP)、图像、语音等众多领域取得了重大突破,2013年微软亚洲研究院提出了基于神经网络的间接光照生成方法[6],能够在图像处理器(GPU)中使用神经网络根据三维场景的位置、法线、光照方向、视角方向和材质信息推算该点间接光照强度,从而对三维场景进行实时光照绘制,绘制结果与传统光线追踪技术非常接近,而后者需要复杂的计算流程,该项工作展示了神经网络在光照效果生成方面的应用前景。
由于Light stage技术需要高帧率相机(超过900 fps)采集模特的反射场图像(多种光照条件下的表情视频)。高帧率相机目前没有大规模普及,马克斯-普朗克研究所提出了一种基于彩色梯度光的高精度反射场图像生成方法[7],能够利用低帧率相机采集的彩色梯度光图像生成反射场图像。彩色梯度光(RGB color gradient illumination)技术能够利用少数光照条件下的图像恢复物体表面高分辨材质和几何,并且高分辨材质和几何与反射场图像密切相关。该方法利用深度学习技术,构建彩色梯度光与反射场图像间的映射关系,能够从2张彩色梯度光图像恢复大规模反射场图像,实现高精度重光照结果,如图 2所示。
![]() |
图 2基于彩色梯度光的高精度反射场图像生成[7] |
2015年微软亚洲研究院在美国计算机协会计算机图形图像特别兴趣小组(Special Interest Group for Computer GRAPHICS,SIGRRAPH)上提出了基于神经网络的图像光影生成方法[8],降低了光影生成所需要的图像数量。该方法使用光线传输矩阵[9](Light Transport Matrix)构建图像每个像素重光照模型。为了构建高精度光线传输矩阵,传统的方法需要在采集大量在点光源条件下拍摄的图像,需要昂贵的采集设备和较长的采集时间,该方法提出的神经网络,仅需要在使用日常的荧光灯或LED灯下采集的图像,便能够重建场景高精度光线传输矩阵,重光照结果如图 3所示。
![]() |
图 3基于神经网络的图像光影生成结果[8] |
为了进一步降低光影生成所需要的图像数量,加利福尼亚大学圣迭戈分校和Adobe研究院联合提出了基于稀疏样本的图像对象光影生成方法(图 4)[10],该方法只需要在5个预定义光照方向下拍摄的图像,便能够重构任意光照条件的外观效果。该方法在卷积神经网络基础上,设计了重光照网络(relight-net)建立任意方向光照下的图像与5种光照方向下图像的映射关系,能够对物体表面的直接光照、间接光照以及每个点的光照遮挡关系进行建模。为了计算5种光照方向,该方法在重光照网络前连接了一个采样网络(sample-net),在网络训练过程中联合计算5种光照方向和重光照神经网络参数,使得在5种光照下拍摄的图像尽可能多地包含物体外观信息,物体间冗余信息尽可能减少。
![]() |
图 4基于稀疏样本的图像对象光影生成结果[9] |
上述方法需要相同视角下的不同光照条件下的图像,然而在大多数情况下只有一张拍摄于近似于均匀环境光下的照片,由于缺乏必要几何和材质信息,在单张照片生成光影效果的难度大大增加。针对该问题,本征图像分解技术[11]将单幅图像分为反射率和明暗信息进行分离,并通过编辑明暗信息实现光影效果生成。为了生成新的明暗信息,可以使用基于图像的三维重建技术shape from shad⁃ ing[12]从图像中恢复物体法向量信息,然后根据光照方向生成新的明暗信息。
单幅肖像图像的重光照面临的问题是头发几何比人脸的几何复杂的多,从单幅图像中重建头发几何信息是一个技术难点,针对该问题,2015年浙江大学在计算机图形学国际顶级会议——亚洲电脑图像和互动技术展览及会议(SIGGRAPH Asia)提出了基于单幅图像的三维头发高精度建模方法[13],该方法利用人脸几何信息先验,从图像中恢复头发形状低频信息。然后利用头发螺旋缠绕先验信息,从图像恢复头发的高频信息(细节信息)。最后根据头发高频信息和低频信息恢复头发三维几何,构建肖像三维模型,实现肖像图像重光照,能够表现头发细节产生的阴影,如图 5所示。
![]() |
图 5肖像图像重光照结果[14] |
物体表面的阴影能够反应物体的形状特征,部分阴影是由于光线遮挡形成的,例如衣服褶皱深处的阴影。而现有的方法无法从图像中准确恢复物体表面的遮挡信息,从而无法在褶皱处生成正确的光影。针对上述问题,日本筑波大学提出了单张着装人体图像光影效果生成方法[14],利用卷积神经网络,不仅能够从单张图中估计环境光照和物体表面反射率,还能够估计出每个像素点光线被遮挡情况,即光线传输图(light transport map),将上半球各个方向光线照射该点时被遮挡情况存储在一个二维矩阵中。存储原始的光线传输图需要大量的数据,为了降低计数据量算量,该方法使用9个球谐基函数(spherical harmonics)对光线传输图进行拟合。根据光照传输图,可以计算每个像素在新光照方向下的明暗信息,重光照结果如图 6所示。
![]() |
图 6人体图像重光照结果[14] |
改变肖像图像的光影,是图像编辑的一个难点问题。加州大学圣迭戈分校和谷歌研究院提出了基于深度神经网络的单张肖像图像重光照方法,无需输入环境光照、物体几何和反射率信息,能够重建出在新光照条件下的图像[15]。该方法的核心是一种基于自编码器的新型深度神经网络模型,模型主要结构由编码器-解码器构成,通过对训练集中不同光照条件下的肖像图像进行压缩,保留与肖像光影相关的特征。在使用时只需要输入原图像并在编码空间中输入目标环境光照,即可生成出期望的光照效果,结果如图 7所示,能够处理绝大多数的人脸表情和面部细节,阴暗、散射、高光和阴影。
![]() |
图 7肖像图像重光照结果[18] |
室外场景和大规模室内场景中,物体较多,并且难以从单幅图像中恢复场景几何和材质。2017年,日本东京工业大学在计算机图形学顶级会议SIGGRAPH上提出了单幅图像交互式重光照方法[16]。该方法使用了自顶向下的框架,需要用户在图像中标注墙角和地面的交界和被光源照亮的位置,然后根据相机成像和光照传播的物理规律,自动从单幅图像中估计相机位置、场景粗略几何、光源位置、场景粗略反射率以及环境光。基于上述信息,用户可以在图像中改变光源位置、添加或者删除光源,从而改变图像的光影效果,如图 8所示。
![]() |
图 8室内场景图像重光照结果[16] |
2019年,日本Adobe公司和UC伯克利大学在计算机图形学顶级会议SIGGRAPH上提出了多视角图像辅助的室外图像重光照方法[17]。室外场景重光照包括去除阴影和生成阴影,并且阴影的生成需要场景三维几何信息。随着手机和航拍器械的普及,同一场景的多视角图像很容易获得。该方法利用了同一场景多视角立体方法生成的粗略几何辅助场景重光照。由于多视角立体方法获得的场景三维信息存在较多的噪音,该方法使用卷积神经网络对阴影图进行优化,并结合场景的法线等粗略几何信息,完成场景重光照,生成不同天气条件下较为精细的阴影和光照效果,如图 9所示。
![]() |
图 9室外场景图像重光照结果 |
基于图像的光影迁移是将一个图像中物体(参考对象)的光影迁移到另外一张图像相同类型的物体上(输入对象),该技术能够有效改变图像中物体的光影效果,最常用的情景是人脸光影迁移,能够为人脸识别算法生成同一人脸多种光照条件下的图像,提高人脸识别算法的光照鲁棒性[18]。
人脸光影迁移最初使用商图[18]从图像种提取参考人脸的光影信息,商图是参考人脸在不同光照条件下两幅图像逐像素相除结果,一幅图像在均匀光照条件下拍摄,另外一幅图像在目标光照条件下拍摄,如图 10所示。获得参考人脸的商图后,使用图像变形方法将参考人脸商图与输入人脸对齐,使得两幅图像的眼睛、嘴、鼻子、眉毛在图像的同一个位置。最后将变形后的商图与输入图像逐像素相乘,实现光影效果迁移[19]。
![]() |
图 10基于商图的人脸光影迁移结果 |
由于商图需要在参考对象静止的条件下拍摄两张图像,使得该方法在互联网条件下难以推广和普及。基于滤波器的方法[20]能够将单幅参考图像的光影迁移到拍摄于均匀光照条件下的输入人脸,该类方法首先使用图像滤波器将图像低频部分和高频信号进行分离,低频部分看作是光影信息,高频信息看作是人脸细节信息。并将输入人脸图像的低频信息替换成参考人脸的高频信息,结果如图 11所示。为了能够尽可能将光照信息与人脸皮肤细节分离,图像滤波器的参数会根据图像先验信息自适应计算。
![]() |
图 11基于图像滤波器的人脸光影迁移结果 |
传统的方法无法处理输入人脸和参考人脸差异较大的情况,例如参考人脸具有浓密的胡子而输入人脸没有胡子,传统的方法会把胡子作为光影效果迁移到输入人脸上。针对该问题,美国石溪大学提出了一种基于质量传递(mass transport)人脸光影迁移方法[21],如图 12所示。该方法根据图像重建人脸三维信息,然后在人脸三维信息的约束下将参考人脸的光影信息通过质量传递方法迁移到输入人脸。
![]() |
图 12基于质量传递的光影迁移结果 |
将虚拟三维物体放入相机拍摄的图像中,使虚拟物体光影及其投射阴影与图像场景一致,是增强现实技术(augmented reality,AR)的一个重要应用[22]。图像场景的相机参数、物体几何和光源信息是影响虚实融合效果真实感的三个重要因素。
传统的方法利用平面,阴影等线索从图像中估计场景光照,随着人工智能技术的突破,现有技术方案都在利用深度学习网络从图像大数据中提取与图像光影相关的特征。由于单张图像无法提供足够的信息,传统的方法假设场景的光照是平行光加上一个各个方向是常量的环境光。然而在真实世界中物体接收到各个方向的光是不同的,计算机图形学使用环境贴图(environment map)存储真实世界中各个方向的光照强度,从而达到肉眼难以分辨的真实结果。为了能从单幅图像中估计出场景的环境贴图,加拿大西蒙弗雪译大学提出了一种基于人脸高光反射的环境贴图估计方法[23],该方法使用深度神经网络从图像中提取人脸高光反射图,并对其反卷积生成环境贴图强度,最后根据人脸漫反射信息生成环境贴图颜色,虚实光照结果如图 13所示。
![]() |
图 13虚实光照融合结果 |
2017年,加拿大拉瓦尔大学提出了基于深度学习的室外场景光照估计方法[24],输入单幅图像,通过神经网络直接生成室外场景的天空和太阳参数。该方法使用了27万余组训练数据训练卷积神经网络,每组数据包含1张室外图像和图像拍摄时间的天空和太阳参数。通过天空和太阳参数可直接生成高动态范围环境贴图,用于虚拟物体的绘制,虚实光照融合结果如图 14所示。
![]() |
图 14基于深度学习的室外环境光照估计结果 |
2017年,拉瓦尔大学提出了基于深度学习的室内场景光照估计方法[25],利用端到端的卷积神经网络,从一张视角有限的低动态(LDR)照片,恢复室内场景高动态(HDR)环境贴图,与传统方法相比,该方法无需对场景几何、光照和材质做任何假设。训练卷积神经网络的关键在于大量具有标注信息的训练数据,然而目前没有针对该任务的高动态数据集,仅有麻省理工学院公布的SUN360低动态全景图[26]。该方法的技术方案是设计光源检测器,能够自动从低动态环境贴图中标出光源;然后自动生成大规模有限视角-光源训练数据,训练卷积神经网络;最后在小规模高动态训练数据进行网络微调(fine tune),从而能够从单张普通视角图像预测高动态环境贴图,实现三维模型与输入图像的虚实光照融合,结果如图 15所示。
![]() |
图 15基于深度学习的室内环境光照估计结果 |
随着移动设备的大规模普及,移动设备的AR应用越来越多,针对移动AR应用,葡萄牙杜罗大学提出了一种基于图像内容的室外阴影估计方法[27],能够利用移动设备的摄像头自动估计天空和太阳光照参数。移动设备计算能力有限,但是装备的传感器较为丰富,例如:GPU、GPS、加速传感器、可见光传感器和深度传感器等。该方法能够融合上述传感器信息,从可见光图像中准确估计太阳和天空光照参数,室外场景光照估计后的虚实光影融合结果如图 16所示。
![]() |
图 16面向移动设备的虚实光照融合结果 |
为了能够获得影视级的虚实光影融合效果,伊利诺伊大学厄巴纳-香槟分校的Karsch等首先手工在图像上标记出图像中的主要平面和光源的二维信息,然后利用迭代优化方法恢复光源和主要平面的三维信息,以及场景反射率和相机参数,最后根据上述信息在图像中绘制虚拟物体。该方法的特色是使用面光源对场景光源进行建模,并将虚拟物体产生的遮挡阴影和间接光照与真实图像融合[28],结果如图 17所示。
![]() |
图 17基于交互的虚实光照融合结果 |
上述方法需要较多的手工标注信息,为了降低手工交互量,Karsch等进行了大的改进[29],能够自动推算场景几何与光源信息(图 18),创新点主要包括:(1)使用深度传播(depth transfer)[30],根据图像相似性将RGBD数据集中的深度信息自动迁移到输入图像;(2)构建了标注光源信息的图像数据集,训练光源分类器,从而从图像中自动标记光源位置;(3)为了估计图像中不可见光源信息,根据图像相似度,利用光源位置已知的图像数据集作为先验,自动估计输入图像中不可见光源的三维信息。
![]() |
图 18基于场景自动理解的虚实光照融合结果 |
将图像中一个对象放入另外一个图像场景中,需要对图像对象进行精确三维重建,然而单幅图像难以提供足够的信息进行高精度三维重建。2015年,浙江大学在国际会议CVPR(计算机视觉与模式识别会议)上提出了一种近似光照模型[31],该模型无需精确的物体几何信息,能够生成图像对象细节丰富的重光照结果,如图 19所示。该光照模型分为3个部分:1个粗略几何部分和2个细节层,粗略几何部分通过物体形状的低频部分生成平滑阴影,2个细节层考虑了影响人类视觉系统判断物真假的因素,从而在重光照过程中无需知道物体表面精确几何。
![]() |
图 19图像光照融合结果 |
总结了近年来基于图像光影的研究热点,早期的研究工作中,由于缺乏大规模训练数据的支撑,需要手工设计相关的特征提取方法,从场景中估计光照条件,或者选择与输入对象几何和材质相似的参考物体。近年来深度学习发展迅速,深度神经网络能够从大规模数据中自动学习与光影相关的特征,基于图像的光影生成越来越依赖深度学习,是未来的一种发展趋势。目前基于图像的光影技术只涉及光学特性比较简单的朗波表面(Lambert surface),未来会有更多的工作探索在图像上生成复杂材质的光影效果,比如具有半透明角质层的皮肤,高度各向异性的金属和布料;并且为了能够训练神经网络,相关的数据库会逐步构建和公布。
[1] | Wikipedia. VES[EB/OL].[2019-07-21]. https://en.wikipedia.org/wiki/Image-based_modeling_and_rendering. |
[2] | Paul Debevec. VES[EB/OL].[2019-07-21]. http://www.pauldebevec.com/. |
[3] | Chabert C F, Einarsson P, Jones A, et al. Relighting human locomotion with flowed reflectance fields[C]//ACM SIGGRAPH 2006 Sketches. New York:ACM, 2006:76. |
[4] | Chen J, Su G, He J, et al. Face image relighting using locally constrained global optimization[C]//European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2010:44-57. |
[5] | Fuchs M, Blanz V, Lensch H, et al. Adaptive sampling of reflectance fields[J]. ACM Transactions on Graphics, 2007, 26(2):10. |
[6] | Ren P, Wang J, Gong M, et al. Global illumination with radiance regression functions[J]. ACM Transactions on Graphics, 2013, 32(4):130. |
[7] | Meka A, Haene C, Pandey R, et al. Deep reflectance fields-high-quality facial reflectance field inference from color gradient illumination[J]. ACM Transactions on Graphics, 2019, 38(4):77. |
[8] | Ren P, Dong Y, Lin S, et al. Image based relighting using neural networks[J]. ACM Transactions on Graphics, 2015, 34(4):111. |
[9] | Ng R, Ramamoorthi R, Hanrahan P. All-frequency shadows using non-linear wavelet lighting approximation[J]. ACM Transactions on Graphics. 2003, 22(3):376-381. |
[10] | Xu Z, Sunkavalli K, Hadap S, et al. Deep image-based relighting from optimal sparse samples[J]. ACM Transactions on Graphics, 2018, 37(4):126. |
[11] | Barrow H, Tenenbaum J. Recovering intrinsic scene characteristics[J]. Computer Vision System, 1978, 2(3-26):2. |
[12] | Zhang R, Tsai P S, Cryer J E, et al. Shape-from-shading:A survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999, 21(8):690-706. |
[13] | Chai M, Luo L, Sunkavalli K, et al. High-quality hair modeling from a single portrait photo[J]. ACM Transactions on Graphics, 2015, 34(6):204. |
[14] | Kanamori Y, Endo Y. Relighting humans:Occlusionaware inverse rendering for full body human images[J]. ACM Transactions on Graphics, 2018, 37(6):1-270. |
[15] | Sun T, Barron J T, Tsai Y T, et al. Single image portrait relighting[J]. ACM Transactions on Graphics, 2019, 38(4):79. |
[16] | Wu J H, Saito S. Interactive relighting in single low-dynamic range images[J]. ACM Transactions on Graphics, 2017, 36(2):18. |
[17] | Philip J, Gharbi M, Zhou T, et al. Multi-view relighting using a geometry-aware network[J]. ACM Transactions on Graphics, 2019, 38(4):78. |
[18] | Shashua A, Riklin-Raviv T. The quotient image:Classbased re-rendering and recognition with varying illuminations[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(2):129-139. |
[19] | Peers P, Tamura N, Matusik W, et al. Post-production facial performance relighting using reflectance transfer[J]. ACM Transactions on Graphics, 2007, 26(3):52. |
[20] | Li Q, Yin W, Deng Z. Image-based face illumination transferring using logarithmic total variation models[J]. The Visual Computer, 2010, 26(1):41. |
[21] | Shu Z, Hadap S, Shechtman E, et al. Portrait lighting transfer using a mass transport approach[J]. ACM Transactions on Graphics, 2018, 37(1):2. |
[22] | Wikipedia. VES[EB/OL].[2019-07-21]. https://en.wikipedia.org/wiki/Augmented_reality. |
[23] | Yi R, Zhu C, Tan P, et al. Faces as lighting probes via unsupervised deep highlight extraction[C]//European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2018:317-333. |
[24] | Hold-Geoffroy Y, Sunkavalli K, Hadap S, et al. Deep outdoor illumination estimation[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, Washington, DC, 2017:2373-2382. |
[25] | Gardner M A, Sunkavalli K, Yumer E, et al. Learning to predict indoor illumination from a single image[J]. ACM Transactions on Graphics, 2017, 36(6):176. |
[26] | SUN360. VES[EB/OL].[2019-07-21]. http://people.csail.mit.edu/jxiao/SUN360/index_high.html. |
[27] | Barreira J, Bessa M, Barbosa L, et al. A context-aware method for authentically simulating outdoors shadows for mobile augmented reality[J]. IEEE transactions on visualization and computer graphics, 2018, 24(3):1223-1231. |
[28] | Karsch K, Hedau V, Forsyth D, et al. Rendering synthetic objects into legacy photographs[J]. ACM Transactions on Graphics, 2011, 30(6):157. |
[29] | Karsch K, Sunkavalli K, Hadap S, et al. Automatic scene inference for 3d object compositing[J]. ACM Transactions on Graphics, 2014, 33(3):32. |
[30] | Karsch K, Liu C, Kang S B. Depth transfer:Depth extraction from video using non-parametric sampling[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(11):2144-2158. |
[31] | Liao Z, Karsch K, Forsyth D. An approximate shading model for object relighting[C]//IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, Washington, DC, 2015:5307-5314. |
2. Department of Cyber Security, Beijing Electronic Science and Technology Institute, Beijing 100070, China