三阶段网络镜面高光去除:Towards High-Quality Specular Highlight Removal by Leveraging Large-Scale Synthetic Data

小编:

和大家分享一篇关于镜面高光(反光)去除的文章,文章题目为:《Towards High-Quality Specular Highlight Removal by Leveraging Large-Scale Synthetic Data》,作者们提出了一种利用大规模合成数据来提高去除图像中高光部分质量的方法。

论文地址:https://arxiv.org/pdf/2309.06302.pdf
代码链接:https://github.com/fu123456/TSH

以下是文章中涉及的一些关键领域和专业术语:

  1. Specular Highlight Removal: 高光去除,指的是从图像中移除由镜面反射造成的高光部分,以恢复图像中的细节和颜色。

  2. Three-Stage Network: 三阶段网络,文章中提出的一个由三个部分组成的网络结构,用于逐步改善高光去除的效果。

  3. Albedo: 反照率,指的是物体表面对光的反射能力,通常与颜色有关。

  4. Shading: 阴影,指的是由于光照角度和强度变化而在物体表面形成明暗不同的区域。

  5. Specular Residue: 镜面残余,指的是在去除高光后,图像中可能留下的与镜面反射相关的残留部分。

  6. Tone Correction: 色调校正,指的是调整图像的色调以匹配原始图像或达到特定的视觉效果。

  7. Synthetic Data: 合成数据,指的是通过计算机生成而非实际拍摄得到的数据,常用于训练和测试算法。

  8. Dichromatic Reflection Model: 二色性反射模型,一种描述光在物体表面反射行为的模型,区分了镜面反射和漫反射。

  9. Encoder-Decoder Networks: 编码器-解码器网络,一种深度学习架构,常用于图像分割、生成等任务。

  10. U-Net Architecture: U型网络架构,一种流行的编码器-解码器结构,特别适用于医学图像分割。

  11. Adam Optimizer: 亚当优化器,一种自适应学习率优化算法,常用于训练深度学习模型。

  12. PSNR and SSIM: 峰值信噪比和结构相似性指数,两种常用的图像质量评价指标。

  13. Ablation Study: 剔除研究,一种通过移除模型中某些部分来评估其对整体性能影响的方法。

  14. Inpainting: 图像修复,指的是在图像中填充缺失或损坏部分的技术。

  15. Diffusion Models: 扩散模型,一种生成模型,用于生成数据或样本。

摘要:

本文旨在从单个物体级图像中移除高光。尽管先前的方法已取得一定进展,但它们在处理具有复杂高光的真实图像时,性能仍有限。为此,我们提出了一个三阶段网络来解决这些问题。具体来说,给定一张输入图像,我们首先将其分解为反照率、阴影和高光残差分量,以估计一个粗糙的无高光图像。然后,我们进一步细化这个粗糙结果,以减轻其视觉伪影,例如颜色失真。最后,我们调整细化结果的色调,使其尽可能与输入图像的色调匹配。此外,为了促进网络训练和定量评估,我们展示了一个大规模合成数据集,涵盖了多样化的物体和照明条件。广泛的实验表明,我们的网络能够很好地泛化到未见过的真实的物体级图像上,甚至对于具有多个背景物体和复杂照明的场景级图像也能产生良好的结果。

网络结构:

具体方法:

第一阶段:PSHR(Physics-Based Specular Highlight Removal)

主要原理:

双色反射模型:

其中A、S和R分别是反照率、阴影和高光残差。实际上,反照率和阴影分别指的是漫反射反照率和漫反射阴影。

具体来说,给定一个输入图像,使用编码器-解码器网络(Ea-Da)来估计反照率,另一个(Es-Ds)来估计阴影。

无高光(即,漫反射)图像D通过以下方式估计:

基于(1)和(2),可以得到高光残差R:

所用数据集:

SHIQ [4] 和 PSD [28] 是仅有的两个公开可用的真实数据集,但是存在数量少、图像未对齐、照明不一致等问题,因此,作者们提出一个新的数据集。具体来说,为了渲染数据,我们首先从大规模3D形状数据集ShapeNet [2]中挑选了1500个带有其反照率纹理贴图的3D模型,这些模型来自几个常见类别(如汽车、公共汽车、集装箱和沙发)。然后,我们从互联网上收集了90个HDR环境贴图2,其中包括具有多样化材料表面和照明条件的室内和室外场景。图3展示了示例环境贴图。最后,我们使用开源渲染软件Mitsuba [10],并采用修改后的Phong反射模型[19]来渲染具有各种环境贴图的物体模型,以生成逼真的阴影和高光残差外观。根据渲染结果,可以通过等式(2)和(1)分别获得无高光和输入图像。最后,我们将收集的1500个模型随机分成1300个用于训练和200个用于测试。总共,我们有117,000个训练图像和18,000个测试图像。图4显示了我们数据集中的示例图像组。

损失函数

第二阶段:无高光细化:SR(Specular-Free Refinement)

第一阶段易产生的问题:颜色失真、视觉伪影和、在低动态范围内估计的无高光图像存在一定程度的误差(第一阶段中的原理)。

另外,在作者提出的数据集中,阴影和高光残差图像的渲染以及无高光和高光图像的估计是在高动态范围内进行的,因此需要将所有生成的图像都转换为低动态范围以进行网络训练。为了克服上述问题,提出了无高光细化阶段(SR)以进一步细化PSHR的结果。图2(b)说明了SR的机制。粗糙的无高光图像和输入一起被送入编码器-解码器网络(Er-Dr)以产生细化结果。

损失函数

第三阶段:色调校正:TC(Tone Correction)

尽管通过PSHR得到的无高光图像通过SR进一步细化,但其总体色调有时与输入明显不同,因此看起来有些不真实,主要原因是我们的训练数据中的无高光图像比输入图像略暗,这是由于软件渲染的固有缺陷.

为了克服这个问题,我们提出了色调校正阶段(TC),以调整细化结果的色调,使其尽可能与输入匹配。图2(c)说明了TC的机制。如图所示,细化结果以及输入和高光残差图像一起被送入编码器-解码器网络(Ec-Dc),以产生色调校正结果。图5验证了TC在色调保持方面的有效性。

主要原理:

TC的主要目的是:校正我们数据集中无高光真实图像的色调。

具体来说:给定一个输入图像I,以及其无高光真实图像D^(Rsf,第二阶段的输出Refined specular-free)和高光残差图像R^(第一阶段的输出specular residue),首先使用Otsu方法对R^进行操作,将I的所有像素分为两种类型的区域,高光区域Mh和非高光区域Mn。然后,我们找到色调校正函数T,T可以最小化非高光区域上无高光和输入图像之间色调校正误差E:

其中ΩMn表示Mn的所有像素,我们将T表述为以下线性变换:

其中p表示D^中的像素在HSV颜色空间中的强度值为(ph,ps,pv);M是一个3×4矩阵,存储色调校正函数中的参数;*表示矩阵乘法;(·)'表示矩阵转置。上述在HSV而不是RGB中的操作有助于获得鲁棒的解决方案,因为高光主要导致饱和度和值通道的变化。

损失函数

其中D3和D~分别是色调校正的无高光图像及其真实值。

网络训练:

训练细节:

此文章的三阶段框架中的四个编码器-解码器网络具有相同的架构,以U-Net架构[20]作为默认选择,它以其简洁和有效而闻名。我们在PyTorch中实现了整个网络,并在配备NVIDIA GeForce GTX 3090Ti的PC上训练了60轮次。整个网络使用Adam优化器进行优化。初始学习率设置为1×10^-4,且每10个周期除以10,批量大小设置为16。此外,我们还采用了水平翻转,以及高光衰减和增强编辑[4]进行数据增强。

局限性:

1、本文章以及先前的方法,都无法恢复强镜面高光(即,高强度和大面积)下的缺失纹理细节和颜色。

2、自然场景产生不满意的结果,特别是这些场景通常具有单色材料表面、彩色照明、噪声等。

未来方向:

1、将图像修复 [15] 中的特征整合到我们的网络中,以去除强高光的同时恢复其下的缺失纹理细节和颜色。

2、设计更有效和复杂的后端网络,如扩散模型 [9],以进一步提高我们方法的性能。

参考文献:Fu G, Zhang Q, Zhu L, et al. Towards high-quality specular highlight removal by leveraging large-scale synthetic data[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 12857-12865.

声明:仅作分享,侵权立删!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值