APP下载

基于深度学习的阴影智能去除方法研究

2024-02-06马晓晴

现代电影技术 2024年1期
关键词:阴影纹理材质

马晓晴 常 乐

北京电影学院中国电影高新技术研究院,北京 100088

1 背景与现状

电影的视效制作是电影生产中的重要环节。材质贴图(Texture Map)作为后期视效制作中的重要资产,直接决定了模型的质感与逼真程度,在实现高度真实感的虚拟场景方面起到了关键作用[1]。

材质贴图数据主要指高分辨率的纹理图像,一般通过三维绘制软件制作,例如Mari 和Substance 3D Designer,或者直接从现有素材库中挑选。材质重建也是获取纹理贴图的方式之一,通常采用架设多角度的扫描或拍摄设备对材质进行捕捉,而后数字化重建,也可直接使用深度神经网络进行材质推断获取贴图数据。材质重建内容主要可分为几何形状和表面纹理两方面,前者对应于法线贴图等几何结构的推断,后者主要涉及漫反射贴图中表面基本色彩与纹理等信息的恢复。为了获得逼真的材质外观,以确保精确模拟不同环境光下的表面特性,需要对获取图像进行预处理并去除阴影。

材质表面与环境光相互作用,形成阴影等效应,在带来真实感的同时,也会给图像带来相关任务如模糊表面细节等负面影响,从而导致图像应用无法正确判断纹理及颜色等信息。因此,阴影去除效果的好坏直接决定拓展应用的准确度与效率[2]。阴影是数字图像处理领域中常见的挑战之一,它被定义为光遮挡的直接效应,受到光源类型和强度、距离、遮挡物本身形状等多方面因素影响。根据产生原因不同,阴影可分为投射阴影与自阴影;根据投射强度不同,其又可分为硬阴影与软阴影。

目前,已有软件针对材质或模型表面的阴影问题进行处理,但由于操作门槛较高且处理效果因人而异,因此开发具有简易性的阴影智能去除工具显得十分必要。近年来,深度学习(Deep Learning)技术取得了非凡的进步,在图像处理方面取得显著成就,其卓越的特征学习(Feature Learning)和模型预测(Model Prediction)能力在图像分割(Segmentation)、去噪(Denoising)、增强(Enhancement)等领域发挥了重要作用。然而,如何在保证输出质量的前提下提升效率依然是该领域面临的核心与热点问题之一。数据驱动的深度学习方法开辟了一种新的研究思路,将针对图像的高真实感绘制方法映射为机器学习问题,从而大大降低计算成本[3]。在此背景下,本文专注于深度学习技术在图像阴影去除领域的应用研究,旨在找到一种去除普遍存在阴影的方法,特别关注材质纹理阴影处理的现状。同时,筛选重制出具备表面和场景多样性的图像数据集,通过模型训练和结果分析,为材质纹理阴影去除提供一定经验。

2 阴影去除方法

2.1 一般阴影去除方法

2.1.1 基于偏振片的阴影去除方法

此方法利用偏振滤光片抑制反射光,能在采集阶段消除部分高光和反射阴影。偏振片仅过滤反射形成的线偏振光,而无法影响非偏振散射光。因此,该方法必须与额外技术配合,才能达到有效的去除结果。

2.1.2 基于手动光照采集的阴影去除方法

此方法常见于摄影建模的照片拍摄过程中,同时利用金属球与灰度球进行三维场景光照的采集,前者反射显示光源位置与高动态范围(High Dy‐namic Range,HDR)信息,后者显示光强与色温,为后期处理中实现照明还原与匹配提供重要信息。

该方法需为每个场景专门采集光照数据,过程复杂冗长,且对采集设备与虚拟场景重建的质量要求极高,否则无法准确匹配实际光照效果。

2.1.3 基于后期软件工具的阴影去除方法

(1)Adobe Lightroom 等图像处理软件大多都可实现去除阴影功能。通过手动调整颜色、亮度或对比度等属性,改变明暗关系,填补相应像素,实现用户所需视觉效果。该方法操作要求高,其效果优劣取决于使用者的经验,不适用于大批量数据处理与去除细节阴影的情况。

(2)Unity De‐lighting Tool 应用于二维材质贴图。它针对环境光与全局光照信息的去除,主要原理是采集环境光照色彩查找表(Lookup Table,LUT),通过多次采样,使整体颜色和亮度都更接近平均值。由于算法设定,该工具对于投射阴影无法处理,并且在复杂材质组合的场景中需用户交互操作,例如多次使用遮罩手动分离不同材质区域、不同光照区域等。

(3)Agisoft 是数字摄影测量领域的先驱,其去除阴影相关工具为Agisoft Metashape 与Agisoft Texture De‐Lighter,两者处理对象均为三维模型。

①Agisoft Metashape

Agisoft Metashape 软件中与去除阴影相关的功能为“Remove Lighting”,它依靠计算生成环境光遮蔽(Ambient Occlusion,AO)贴图,自动去除环境光照,使三维模型亮度更加合理。

②Agisoft Texture De‐Lighter

该工具主要去除投射阴影与环境光遮蔽。AO去除与Agisoft Metashape 中“Remove Lighting”原理基本相同。投射阴影的去除基于颜色,需要用户标记阴影与照明区域。算法假设阴影边缘不与不同材料边缘重合,因此当情况不满足假设时会产生颜色溢出。

综上所述,现有工具特点如表1 所示。不难发现,软件去除阴影基本都需要较为繁琐的操作,且最终效果取决于用户经验。若想实现针对图像阴影的智能化去除,仍需开展相关研究工作。

表1 各类去除阴影软件对比

2.2 智能阴影去除方法

深度学习图像处理一直是计算机视觉(Com‐puter Vision)领域的重要研究任务,阴影去除主要利用的深度学习基准模型有卷积神经网络(Convolu‐tion Neural Network,CNN)、生成式对抗网络(Genera‐tive Adversarial Network,GAN)及基于注意力机制的Transformer 等。

2.2.1 基于CNN 的图像阴影去除

CNN 主要由卷积层、池化层和全连接层组成。在阴影去除任务中,深层CNN 结构首先学习局部简单特征,例如边缘和纹理等;随着网络层数的加深,进而学习更高级的语义特征,以识别不同对象;同时捕捉全局内容和风格特征,实现阴影区域的色彩与细节重建。

2014 年,Khan[4]等人首次将CNN 引入阴影区域与边界特征的自动学习中,结果明显优于之前最好方法。后续相关研究不断发展,大部分方法均通过端对端的训练,学习成对的阴影和无阴影图像之间的映射。

DeshadowNet方法[5]利用多种上下文信息,预测阴影遮罩以消除阴影;Hu[6]等人以方向感知的角度分析图像信息,实现阴影检测与去除;Le[7]等人使用不同网络分别预测阴影参数和遮罩,同时,他们还对该任务通用数据集ISTD(Dataset with Image Shadow Triplets)进行数据增强与地面色调调整,提出ISTD+数据集。

2.2.2 基于GAN 的图像阴影去除

2014 年,GAN 由Goodfellow[8]等人首次提出。作为在卷积神经网络基础上拓展的一种深度学习模型,GAN 通过生成器和判别器两个基础模型,实现正向传播和反向判别的相互博弈,输出最接近于真实的运算结果。

2017 年,Wang[9]等人首次使用基于GAN 的方法检测并去除阴影。为全面评估框架性能,研究者同时构建了第一个大规模阴影去除基准,其中包含ISTD 数据库。后续Mask‐ShadowGAN[10],DC‐Shad‐owNet[11]等研究均利用GAN 从图像生成的角度进行阴影去除。

2.2.3 基于Transformer 的图像阴影去除

Transformer 是一种基于自注意力机制的神经网络,最初为自然语言处理(NLP)任务而提出。由于它能够很好整合远距离上下文信息,近来已被扩展并应用于多个图像和视频任务。2022 年,Zhang[12]等人提出SpA‐Former,首次将Transformer 引入图像阴影处理任务中。2023 年,Guo[13]等人提出ShadowFormer方法,聚焦于阴影边界伪影以及阴影区域内外照明不一致问题,实验结果表明该方法有效增强了阴影区域内外相关性。

总得来说,现有模型侧重于去除图像中显著的投射阴影特征,很好地完成了初级任务中硬阴影去除与基本信息保留,为处理材质纹理阴影问题奠定了基础。后续应结合材质外观特有属性,重点关注软阴影去除与纹理色彩等细节的恢复重建,以及处理高分辨率输入的相关问题。

3 材质纹理阴影的去除

3.1 任务难点

一般来说,后期视效流程中的材质分辨率越高,最终渲染效果就越细致真实,提供的视觉体验更出色。高度真实感的画面呈现对于影视、游戏等领域尤为重要。然而,即使使用大量计算资源,神经网络的容量也很难直接处理高分辨率的输入,它的处理算力应集中在阴影去除和细节恢复方面。为此,针对高分辨率输入,考虑使用可扩展的数值方法,例如图像分块(Image Patching)或下采样(Down Sampling)等。此外还需验证预处理方法对最终结果的影响。在模型训练的实际过程中,需要在分辨率、预处理方式、网络参数和硬件条件等诸多方面进行权衡,寻找平衡点。通过不断的实验探索,在确保输出质量的同时,实现高效计算与训练。

在宝宝的日常护理中,纸尿裤的选择一直至关重要。为了满足宝宝纸尿裤卓越品质的不断升级,国内纸尿裤行业巨头—MamaMia纸尿裤于2017年10月29日在苏州的独墅湖世尊酒店举办新品发布会。以轻薄柔软著称的MamaMia纸尿裤,此次推出新品天使版系列,其仅有0.2cm的极致轻薄和超强锁水芯体再次获得母婴群体的称赞与青睐。

相关数据集的制作同样为该研究面临的挑战之一。首先,可采用真实拍摄的方式,获取同一材质表面的两张照片,一张使用特定光照设置以产生阴影,另一张使用散射光以避免阴影,并使用偏振滤镜以避免任何镜面高光反射,但后续仍需处理来自不规则表面中遮挡区域的自阴影,且理论上无法获得真正无阴影的图像。此外,为获取具有代表性的数据集,需要捕获足够的材质类型和光照条件变化,这将耗费大量时间。因此,真实拍摄的方式并不适合构建数据集。其次,可以考虑从现有一般数据集中进行筛选,例如ISTD。然而其图像内容单一,光源和物体之间交互有限,并不符合目标中对于阴影种类多样的要求。目前,使用合成数据训练神经网络已被证明是高效且可靠的[14][15],因而本研究考虑创建虚拟材质图像数据库,使用软件模拟并合成材质,设计不同光照环境下多样化阴影类型表现,以漫反射贴图为真实无阴影图像,进行学习训练。

除了前述观点,还需关注最终还原材质表面的微观结构和颜色特征的准确性。如何在去除局部阴影的同时,保持纹理的连续性和一致性,不产生模糊或伪影,整合局部与全局信息,是网络设计与训练中的关键挑战。

3.2 现有研究

一般使用神经网络实现材质重建的研究中,通常忽略对于捕获图像的预处理,使得最终输出贴图仍残余明显阴影[15][16],这将对贴图资产的后续使用造成极大影响。在特别处理纹理阴影或漫反射贴图恢复的研究中[17],通常采用CNN 中U‐Net[18]作为基本范式。U‐Net 网络架构形似字母“U”,包括编解码块以及之间的跳跃连接,能够有效融合浅层与深层信息,更好地恢复原始图像中的细节信息,且该网络已被证明广泛适用于大多数的图像转换任务[19]。另外,相关研究划分了不同类型材质种类,进行分类学习与训练。最终结果成功保留了大部分纹理细节,有效去除投射阴影和高光,但对于较为细微的软阴影处理仍需进一步探索。

4 使用混合数据集的基于U⁃Net 去除阴影实验

在使用深度学习模型处理一般图像阴影取得较好效果之后,结合特定数据集进行自监督学习(Self‐Supervised Learning)与模型微调(Fine Tuning),被认为是提高模型在特定领域泛化能力的一种有效策略。因此,本文采用该研究策略,使用材质处理中常见的U‐Net 模型,摒弃常见的均为投射硬阴影的图像数据库,依照分辨率与阴影多样性要求,进行大量调研,最终选择WSRD 数据集[20]作为数据来源。以表面多样性与纹理丰富性为指标,筛选并构建出包含大量场景和阴影表征的特定训练数据集,完成模型训练和结果分析,尝试为后续研究材质纹理阴影问题提供有价值的参考。

WSRD 数据集捕捉场景丰富,具备充足的颜色和纹理表征。最终构建600 对分辨率为1920×1440的阴影与无阴影图像,其中400 对用于训练,100 对用于验证,100对用作测试(图1)。其中,验证集与测试集均有70%的图像未出现在训练集当中。

图1 部分数据集图像对

4.1 网络结构

该网络是基于U‐Net 的深度卷积网络,能够预测每个像素的阴影映射关系。本研究采用下采样的方式,对输入进行了预处理。由于输入的高分辨率,因此在其特征空间进行下采样具有一定优势。

模型的编解码块各5 层,各层之间通过跳跃连接(Skip Connection)相连。每个编码块(Encoder Block)中,利用多个卷积层提取图像特征,使用跨步卷积(Strided Convolution)进行下采样操作,同时使用归一化(Normalization)处理和激活函数(ReLU),防止因逐层累积而造成梯度消失,并加快网络收敛速度。每个解码块(Decoder Block)中,对从编码块传输的特征图进行转置卷积(Transposed Convolution)运算,同时将跳跃连接捕获的低级特征传输到解码器高层,从而减少低层特征丢失,尽量保留图像内容,最后通过输出模块得到结果。

图2 网络结构

本文使用像素损失、遮罩损失与感知损失的组合计算预测与基准真实值的差距,前两种损失计算对应图像之间的均方误差,而感知损失比较的是图像之间的高级语义差异。

4.2 实验结果与分析

本实验硬件采用NVIDIA A100 显卡,软件环境采用64 位Ubuntu 系统,应用Python 3.10、CUDA 11.0、PyTorch 2.1.0 等相关工具包。选择Adam 优化器,采用按需调整学习率,一共迭代训练300次。

4.2.1 结果对比

输入图像表示原始阴影图像,输出图像为模型预测输出的结果,真实遮罩由原始图与无阴影图计算得到,输出遮罩由原始图与预测图计算得到。图3和图4 展示了一些模型训练时的输出样本和计算得到的阴影遮罩,结果表明,该网络成功去除了均匀强度的强阴影与自阴影,同时完整保留了原始图像内容(图3第一、三行)。当阴影与复杂纹理或背景交织时,去除效果受到影响。如果背景纹理中色彩差异明显,且与阴影颜色差距大,模型可实现良好的去除效果,且较为完整地保留原始纹理信息(图3 第二行)。但是当背景纹理细节丰富,颜色饱和度高,尤其是与阴影颜色不易区分时,输出中常会伴有一定的边界伪影,且丢失部分纹理信息(图3 第一、四行,图4第一行)。针对此类阴影与背景色度差异较小的情况,可将模型在对应特定数据领域进行微调,与主要功能的实现进行结合。

图3 模型训练部分结果

4.2.2 定量评估

本文使用三种误差指标,量化并比较模型在测试集上的阴影去除效果。均方根误差(Root Mean Squared Error,RMSE)计算预测值与真值误差平方的算术平方根,其值越小表示预测越准确。峰值信噪比(Peak Signal‐to‐Noise Ratio,PSNR)衡量对应图像之间的相似度,其值越高表明图像噪声占比越小。结构相似性(Structural Similarity,SSIM)指数考虑人眼对图像的感知特性,通过亮度比较、对比度比较与结构比较三方面来评估图像相似度,取值范围是[-1,1],数值越高表明图像差异越小。观察表2可知,使用模型处理前后,误差指标均发生显著改变。相较于原始阴影图像,本文方法得到的输出图像实现了阴影的有效去除,输出结果与真实无阴影照片相似度显著增加。

表2 测试集平均误差数据表

5 总结与展望

本文分别针对一般图像阴影去除任务和材质纹理阴影去除问题展开了深入探究。对于前者,研究基于WSRD 数据集筛选并构建了具备丰富表征性的特定训练数据集,完成模型训练与结果评估。实验表明模型在多种场景下均取得了令人满意的效果,在较好地去除投射阴影、自阴影与软阴影的同时,完整恢复了原始图像中的颜色纹理等细节。然而,在某些复杂场景下,该模型效果仍需进一步优化完善。复杂场景主要包含以下三种情况:阴影边缘模糊且形状较小、背景颜色与阴影相似、阴影完全遮挡主体部分。针对以上情况,可分别制定对应数据集,例如收集并制作软阴影数据集或深色背景阴影数据集等,将模型在指定数据领域上进行微调,与主体模型相结合,构成框架应用。该方式相较于训练出能够推广至每个领域的大型网络来说,更为节省算力且具备较高扩展性。

针对材质纹理的阴影去除问题,本文分析其面临的挑战,总结了现有模型和处理水平。未来研究将着重制作特定数据集,特别关注纹理中难以处理的软阴影或自阴影部分,以全新数据库喂养模型,通过参数优化,实现参考算法的迁移学习(Transfer Learning),并尝试提高纹理恢复的准确性。同时进行高分辨率输入的预处理实验,以实现在固定类型下材质阴影的智能去除,同时满足后期制作中对于材质贴图的规格要求。

猜你喜欢

阴影纹理材质
你来了,草就没有了阴影
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
衣服材质大揭秘
TEXTURE ON TEXTURE质地上的纹理
让光“驱走”阴影
阴影魔怪
消除凹凸纹理有妙招!
外套之材质对比战