基于深度学习的阴影智能去除方法研究算法纹理遮罩

本文刊发于《现代电影技术》2024年第1期

专家点评

——马龙龙

副研究员

中国科学院软件研究所硕士生导师

作者简介

马晓晴

北京电影学院中国电影高新技术研究院2021级硕士研究生,主要研究方向:数字电影技术。

北京电影学院中国电影高新技术研究院副研究员,主要研究方向:数字电影技术。

常乐

摘要

关键词

视效制作;深度学习;阴影去除;材质纹理

1背景与现状

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

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

2阴影去除方法

2.1一般阴影去除方法

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

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

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

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

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

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

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

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

①AgisoftMetashape

②AgisoftTextureDeLighter

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

2.2智能阴影去除方法

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

2.2.1基于CNN的图像阴影去除

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

2.2.2基于GAN的图像阴影去除

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

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

2.2.3基于Transformer的图像阴影去除

3材质纹理阴影的去除

3.1任务难点

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

3.2现有研究

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

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

图1部分数据集图像对

4.1网络结构

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

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

在传统UNet基础上,模型增加了一个提炼块(DistillBlock),通过设置两个学习参数α和ω来调整阴影和非阴影区域的曝光,从而更准确地学习两者之间的特征差异,生成更加有效的特征表示。Fu[21]等人的研究中首次将曝光调节引入阴影处理,并取得当时最好结果。从编码块传输的特征图经过动态卷积(DynamicConvolution)与层归一化(LayerNormalization)处理后,叠加到经过通道注意力机制模块(ChannelAttention)的加权特征图上,再与曝光调整后的图像进行整合输出(图2)。

图2网络结构

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

4.2实验结果与分析

4.2.1结果对比

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

图3模型训练部分结果

图4真实遮罩与输出阴影遮罩对比

4.2.2定量评估

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

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

5总结与展望

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

参考文献

(向下滑动阅读)

[1]孙见昕.浅谈电影特效摄制生产流程[J].现代电影技术,2021,(02):5457,37.

[2]史泽奇.ResearchonGANbasedMaterialReconstructionandHighlightRemovalfromaSingleImage[D].浙江理工大学,2022.

[3]赵烨梓,王璐,徐延宁,等.基于机器学习的三维场景高度真实感绘制方法综述[J].软件学报,2022,33(01).

[4]KhanSH,BennamounM,SohelF,etal.Automaticfeaturelearningforrobustshadowdetection[C]//2014IEEEconferenceoncomputervisionandpatternrecognition.IEEE,2014:19391946.

[5]QuL,TianJ,HeS,etal.Deshadownet:Amulticontextembeddingdeepnetworkforshadowremoval[C]//ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition,2017:40674075.

[6]HuX,ZhuL,FuCW,etal.Directionawarespatialcontextfeaturesforshadowdetection[C]//ProceedingsoftheIEEEconferenceoncomputervisionandpatternrecognition,2018:74547462.

[7]LeH,SamarasD.Shadowremovalviashadowimagedecomposition[C]//ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision,2019:85788587.

[8]GoodfellowI,PougetAbadieJ,MirzaM,etal.Generativeadversarialnetworks[J].CommunicationsoftheACM,2020,63(11):139144.

[9]WangJ,LiX,YangJ.Stackedconditionalgenerativeadversarialnetworksforjointlylearningshadowdetectionandshadowremoval[C]//ProceedingsoftheIEEEconferenceoncomputervisionandpatternrecognition,2018:17881797.

[10]HuX,JiangY,FuCW,etal.Maskshadowgan:Learningtoremoveshadowsfromunpaireddata[C]//ProceedingsoftheIEEE/CVFinternationalconferenceoncomputervision,2019:24722481.

[11]JinY,SharmaA,TanRT.Dcshadownet:Singleimagehardandsoftshadowremovalusingunsuperviseddomainclassifierguidednetwork[C]//ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision,2021:50275036.

[12]ZhangX,ZhaoY,GuC,etal.SpAFormer:AnEffectiveandlightweightTransformerforimageshadowremoval[C]//2023InternationalJointConferenceonNeuralNetworks(IJCNN).IEEE,2023:18.

[13]GuoL,HuangS,LiuD,etal.Shadowformer:Globalcontexthelpsimageshadowremoval[J].arXivpreprintarXiv:2302.01650,2023.

[14]LiZ,SunkavalliK,ChandrakerM.Materialsformasses:SVBRDFacquisitionwithasinglemobilephoneimage[C]//ProceedingsoftheEuropeanconferenceoncomputervision(ECCV),2018:7287.

[15]DeschaintreV,AittalaM,DurandF,etal.Singleimagesvbrdfcapturewitharenderingawaredeepnetwork[J].ACMTransactionsonGraphics(ToG),2018,37(4):115.

[16]DeschaintreV,AittalaM,DurandF,etal.Flexiblesvbrdfcapturewithamulti‐imagedeepnetwork[C]//Computergraphicsforum,2019,38(4):113.

[17]NarihiraT,MaireM,YuSX.Directintrinsics:Learningalbedoshadingdecompositionbyconvolutionalregression[C]//ProceedingsoftheIEEEinternationalconferenceoncomputervision,2015:29922992.

[18]RonnebergerO,FischerP,BroxT.Unet:Convolutionalnetworksforbiomedicalimagesegmentation[C]//MedicalImageComputingandComputerAssistedIntervention–MICCAI2015:18thInternationalConference,Munich,Germany,October59,2015,Proceedings,PartIII18.SpringerInternationalPublishing,2015:234241.

[19]IsolaP,ZhuJY,ZhouT,etal.Imagetoimagetranslationwithconditionaladversarialnetworks[C]//ProceedingsoftheIEEEconferenceoncomputervisionandpatternrecognition,2017:11251134.

[20]VasluianuFA,SeizingerT,TimofteR.WSRDAnovelbenchmarkforhighresolutionimageshadowremoval[C]//ProceedingsoftheIEEE/CVFConferenceonComputerVisionandPatternRecognition,2023:18251834.

[21]FuL,ZhouC,GuoQ,etal.Autoexposurefusionforsingleimageshadowremoval[C]//ProceedingsoftheIEEE/CVFconferenceoncomputervisionandpatternrecognition,2021:1057110580.

THE END
1.图像增强技术:从传统方法到深度学习传统图像增强方法主要基于手工设计的特征提取和处理策略,缺乏模型的表示能力。深度学习图像增强方法则通过训练深度学习模型,自动学习图像特征和增强策略,具有更强的表示能力和泛化性。 3.核心算法原理和具体操作步骤以及数学模型公式详细讲解 3.1 直方图均衡化 https://blog.csdn.net/universsky2015/article/details/137300109
2.深度学习图像增强算法总结mob64ca12d36217的技术博客随着人工智能技术的迅猛发展,图像处理尤其是图像增强领域也取得了显著进展。图像增强的目的是改善图片的质量,使其更适合后续的分析或展示。深度学习的引入,使得图像增强技术愈加成熟,方法也愈加丰富。本文将总结几种基于深度学习的图像增强算法,并提供代码示例。 https://blog.51cto.com/u_16213312/12040112
3.基于深度学习的水下图像增强方法研究(2)针对特殊的水下环境所造成的水下图像偏色问题,提出一种基于深度卷积神经网络的水下偏色图像增强算法。该算法采用U-Net网络作为基础网络,构建了一种基于偏色图像的卷积神经网络,不断学习输入图像与输出图像的色彩偏差,并设定结构相似性度量作为损失函数,使增强后的水下图像与输入的水下图像在内容结构细节上保持https://wap.cnki.net/lunwen-1021640751.html
4.基于深度学习的低照度图像增强算法研究【摘要】:在低照度环境或者设备补光能力不足时,所采集的图像大部分是低照度图像,这些图像会出现亮度低、不清晰、对比度低等问题,这些缺点严重影响了图像在后续计算机视觉任务中的处理。因此,增强低照度图像对后续的目标识别、语义分割等任务有着重要意义。深度学习算法是通过建立类似人脑信息处理机制的网络模型,采取高效https://cdmd.cnki.com.cn/Article/CDMD-10703-1021819042.htm
5.图像增强算法综述15. 张莹. 暗光图像增强技术在矿用小型终端中的应用. 世界有色金属. 2024(14): 202-204 . 16. 章赵威,冯向萍,张世豪. 基于深度学习的玉米叶片病害识别方法研究. 现代计算机. 2024(13): 1-8+77 . 17. 王孟奇,连增增,田亚林,王鹏辉. 面向室内弱光环境的视觉与惯导融合算法研究. 导航定位与授时. 202http://www.chineseoptics.net.cn/en/article/id/9522
6.低照度增强算法(图像增强+目标检测+代码)SMID python3 basicsr/train.py --opt Options/RetinexFormer_SMID.yml # SDSD-indoor python3 basicsr/train.py --opt Options/RetinexFormer_SDSD_indoor.yml # SDSD-outdoorxunlian python3 basicsr/train.py --opt Options/RetinexFormer_SDSD_outdoor.yml 在增强低光图像时,许多深度学习算法基于Retinex理论https://developer.aliyun.com/article/1446322
7.低光照图像增强算法综述.docx传统的低光照图像增强算法在一定程度上提高了图像的视觉效果,但仍然存在一些问题,如噪声增强、细节丢失等。因此,近年来,随着深度学习技术的发展,越来越多的研究者开始关注基于深度学习的低光照图像增强算法。四、基于深度学习的低光照图像增强算法近年来,深度学习在计算机视觉任务中取得了显著的成果,尤其是在图像增强和https://www.renrendoc.com/paper/319219630.html
8.基于GAN和U图像质量和细节的恢复还有很大提升空间. 2 生成对抗网络原理 本文针对传统增强方法的不足和现有基于深度学习算法的特点, 提出使用生成对抗网络作为模型框架进行低光照图像增强的方法. 本节介绍生成对抗网络的基本原理, 及目前主流的PatchGAN思想. 2.1 生成器和判别器https://c-s-a.org.cn/html/2022/5/8431.html
9.的图像去雾算法来啦!前面给大家介绍过14种低照度图像增强算法这个透射率告诉了图像去雾系统我们需要恢复多少被雾霾遮盖的细节。然后,系统会根据透射率对图片进行调整。它会让照片中的像素更加亮丽,同时减少雾霾造成的影响。具体来说,图像去雾算法可以分为基于图像增强的去雾算法、基于图像复原的去雾算法和基于深度学习的去雾算法。本文主要研究介绍基于深度学习的去雾算法介绍基于https://juejin.cn/post/7255312213480194107
10.基于深度学习的图像超分辨率增强技术在计算机视觉和图像处理领域,图像超分辨率增强是一项重要的技术。它的目标是利用计算机算法将低分辨率图像转换为高分辨率图像,从而提高图像的清晰度和细节表现力。传统的图像放大方法往往会导致图像模糊和失真,而基于深度学习的图像超分辨率增强技术则能够更好地保留图像细节和纹理,得到更加真实和清晰的图像。 https://www.jianshu.com/p/a13ccf05ccaa
11.Light深度学习赋能下的光学计量澎湃号·湃客澎湃新闻图2 光学计量的典型图像处理过程(如条纹投影轮廓术)可分为三个主要步骤:预处理(如去噪、图像增强)、分析(如相位解调、相位展开)和后处理(如相位—深度映射) 图3 光学计量图像处理层次结构的概貌以及不同层中分布的各种图像处理算法 深度学习技术 原理、发展与卷积神经网络 https://www.thepaper.cn/newsDetail_forward_16995760
12.总结62种在深度学习中的数据增强方式业界新闻或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而人为的扩充新的数据集 这里我们需要区分两个概念,即增强数据和合成数据 》合成数据 指在不使用真实世界图像的情况下人工生成数据 合成数据可由GAN或者现如今大火的AGI技术Diffusion Model生成 https://www.jindouyun.cn/document/industry/article/183115
13.深度学习领域的数据增强机器之心第二个类别是基于深度学习的数据增强算法: 特征空间增强(Feature Space Augmentation):神经网络可以将图像这种高维向量映射为低维向量,之前讨论的所有图像数据增强方法都应用于输入空间中的图像。现在可以在特征空间进行数据增强操作,例如:SMOTE算法,它是一种流行的增强方法,通过将k个最近的邻居合并以形成新实例来缓解类不https://www.jiqizhixin.com/articles/2019-12-04-10
14.增强型DeepLab算法和自适应损失函数的高分辨率遥感影像分类夏梦等(2017)结合深度学习和条件随机场,在输入图像中增加了纹理信息,得到了比SVM分类器更好的提取效果,但其网络结果中,输出层地物位置信息没有得到足够的保留。在DeepLab v2网络的基础上,Chen等(2018a)提出了Na?ve-SCNN和Deeper-SCNN网络,并提出增强视场的方法,使用ISPRS的高分辨率语义分割数据集,成功提高了训练https://www.ygxb.ac.cn/zh/article/doi/10.11834/jrs.20209200/
15.科学网—基于深度学习的单幅图像超分辨率重建算法综述在深度学习未兴起前,经典的单幅图像超分辨率算法占据主导地位, Lanczos重采样[1]和双三次插值[2]得到了广泛的应用,但采用插值方法有时会导致图像边缘和细节模糊,因此其他传统算法也被相继提出[3-5],有效地增强了图像的质量.经典的超分辨率重建算法需要很多先验知识,且要求研究者具有深厚的专业知识储备.随着深度学习的https://blog.sciencenet.cn/blog-3291369-1347645.html