Learning Image-adaptive 3D Lookup Tables forHigh Performance Photo Enhancement in Real-time

Abstract

近年来,基于学习的方法越来越流行,以增强照片的色彩和色调。但是,许多现有的照片增强方法要么提供不令人满意的结果,要么消耗过多的计算和内存资源,从而阻碍了它们在实践中对高分辨率图像 (通常具有超过12百万像素) 的应用。在本文中,我们学习了图像自适应的3维查找表 (3D LUTs),以实现快速而强大的照片增强。3D LUTs广泛用于操纵照片的色彩和色调,但通常是手动调整并固定在相机成像管道或照片编辑工具中。据我们所知,我们第一次建议使用成对或不成对的学习从带注释的数据中学习3D LUTs。更重要的是,我们学到的3D LUT是图像自适应的,可以进行灵活的照片增强。我们以端到端的方式同时学习多个基础3D lut和一个小型卷积神经网络 (CNN)。小型CNN对输入图像的下采样版本进行工作,以预测与内容相关的权重,以将多个基础3D lut融合为图像自适应的LUTs,用于有效地转换源图像的颜色和色调。我们的模型包含少于600K的参数,并且使用一个Titan RTX GPU处理4k分辨率的图像所需的时间不到2 ms。尽管效率很高,但我们的模型在PSNR,SSIM和两个公开可用的基准数据集上的色差度量方面也大大优于最先进的照片增强方法。代码将在https://github.com/HuiZeng/Image-Adaptive-3DLUT发布。

1 INTRODUCTION

在数码相机成像过程中,通过使用曝光补偿、色相/饱和度调整、色彩空间转换和操纵、色调映射和伽马校正等多个级联模块来增强输出照片的感知质量是必不可少的步骤 [1]。这些模块通常由经验丰富的工程师手动调整,这非常麻烦,因为需要在许多不同的场景中评估结果。数码相机输出的图像可能仍需要后处理/修饰,以进一步提高其视觉质量。不幸的是,照片修饰也是一项要求苛刻且繁琐的工作,这需要照片方面的专业知识,并且在使用PhotoShop等专业图像编辑工具时具有复杂的程序。非常希望学习一种自动照片增强模型,该模型可以稳健有效地增强在各种场景下捕获的图像的感知质量 [2]。

上述实际需求推动了自动照片增强的研究。Bychkovsky等[3] 通过收集MIT-Adobe FiveK数据集进行了开拓性尝试,该数据集包含5,000个具有人类修饰的groundtruth的图像对。给定输入/输出图像对,他们从中提取了一组手工制作的特征,并训练了一个回归模型来预测用户的调整 [3],[4]。Yan等人 [4] 进一步学习了一种排名模型,该模型将颜色增强过程分为一组顺序操作。但是,照片修饰是一项复杂且取决于内容的任务。由于特征表示能力有限,通过这些方法学习的模型很难获得吸引人的增强结果。

最近,受益于深度学习技术的快速发展 [5],训练深度神经网络进行有效的照片增强变得越来越流行 [2],[6],[7],[8],[9],[10],[11]。这些深度增强方法可以进一步分为两类。第一类方法学习输入和输出图像对之间的密集像素到像素映射 [7],或预测逐像素变换以增强输入图像 [2],[6],[10]。但是,这些方法的计算和存储成本对于实际应用而言过于沉重,尤其是在输入图像的分辨率较高的情况下。例如,对于配备具有48百万像素的Sony IMX586 CMOS传感器的手机拍摄的图像,需要0.54 GB内存来存储float32数据类型的单个输入RGB图像。对于这些按像素的方法来处理这种分辨率的图像,将花费数千亿的FLOPs (浮点运算) 和超过20 GB的内存。

另一类深度增强方法训练深度神经网络来预测一组预定义增强算子的概率和/或映射曲线的参数,以增强输入图像 [8],[9],[11],遵循早期方法 [3] 的策略,[4]。网络将下采样的低分辨率 (LR) 图像作为输入,以预测应使用哪些预定义的运算符和/或映射曲线来增强给定的高分辨率 (HR) 源图像。与第一类相比,此类方法具有实现更高效率和更低内存消耗的潜力,因为网络只需要处理LR图像,并且预定义的运算符通常很简单。但是,所采用的简单操作员无法提供足够的增强能力,并且很难从训练数据中直接学习它们。因此,这些方法 [8],[9],[11] 采用强化学习策略来迭代增强输入图像,但是这严重牺牲了效率。

针对现有方法在增强质量和效率上的局限性,我们提出了一种新的方法,该方法具有高效,低内存消耗和高质量的优点。我们的方法部分受到相机成像管道 [1] 和专业图像编辑工具的推动,其中使用1D和3D查找表 (lut) 来调整照片的色调,饱和度,曝光,色彩和色调。作为最经典但最广泛使用的照片调整技术之一,3D LUT可以以非常高的效率实现稳定的照片增强性能。但是,这些3D lut大多是由经验丰富的专家在非常繁琐且昂贵的过程中手动调整的。此外,一旦手动调谐,lut是固定的,但不能适应不同的场景。因此,数码相机中的许多不同模式和图像编辑工具中的数十个lut被预设供用户选择,以适应不同的场景,这给用户带来了不便的用户体验。

为了在保持3D LUT的高效率和稳定性等优势的同时实现更具表现力和智能的照片增强能力,我们提出了一种端到端框架,用于从人类专家修饰的高质量图像中学习图像自适应3D LUT。图1说明了所提出方法的框架,该框架学习了几个 (例如,3个) 基础3D lut和一个小的CNN权重预测器。基础3D lut确保可以很好地覆盖从输入到输出图像的颜色变换空间,而CNN模型基于下采样的输入图像预测与内容相关的权重。预测的权重用于将基础3D lut融合为图像自适应的权重,然后将其用于变换源图像。此过程在功能上类似于在数码相机中选择不同模式或在图像编辑工具中选择不同lut的操作,但是它是自动的并且更加灵活。提出的基于自适应LUT的照片增强非常快,因为仅涉及三线性插值,并且可以使用GPU轻松地并行化此操作 [12]。可以使用具有不同损失函数的成对或不成对数据来训练整个模型。

 图1.所提出的图像自适应照片增强方法的框架。我们的方法学习多个基础3D lut和一个小型CNN权重预测器。CNN模型对输入图像的下采样版本进行工作,以预测与内容相关的权重。预测的权重用于将基础3D LUT融合为图像自适应LUT,然后将其用于变换源图像。我们的方法可以以端到端的方式使用配对或未配对的数据进行训练。

这项工作的重点总结如下:

• 据我们所知,我们是第一个使用配对或未配对数据集进行自动照片增强的3D LUTs学习的人。更重要的是,我们提出的学习体系结构可以学习图像自适应3D LUTs,以实现智能和高性能的照片增强,当前的3D LUT模型无法实现。

• 我们提出的模型包含少于600K的参数,并且使用一个Titan RTX GPU处理4k分辨率的图像所需的时间不到2 ms,在实际应用中部署非常高效。

• 我们在两个公开可用的基准数据集上进行的广泛实验验证了在配对或未配对设置下,我们的模型在定量和定性上都明显优于最先进的照片增强方法。

2 RELATED WORK

照片增强是一个长期存在的主题,在相机成像管道和照片修饰中具有广泛的应用。我们简要回顾了这些应用程序的相关工作以及所采用的照片增强技术,如下所示。

Enhancement in camera imaging pipeline.

相机成像管道是一个复杂的过程,它将传感器原始数据转换为感知友好的彩色图像。在分治原则下,此过程由一组级联模块组成。对于增强部分,这些模块包括曝光校正 [13],[14],色彩恒定 [15],[16],对比度增强 [17],[18],色彩处理 [19],[20] 和色调映射 [21],[22],其中每一个在过去都被广泛研究过。根据 [1],实际系统中的大多数这些模块都采用通用技术,即1D或3D LUT。这些lut通常是手动调整并固定在成像管道中,但是它们不够灵活和智能。这促使我们学习图像自适应3D lut,以提高成像管道中照片增强的表现力和灵活性。

考虑到在现有成像管道中使用级联模块可能会导致累积误差,因此已经进行了几次尝试使用深度神经网络来学习整个管道 [23],[24],[25]。但是,这种方法的鲁棒性很难确保,并且对于相机设备而言,计算成本太高。与这些方法不同,我们旨在通过学习图像自适应3D lut来改善成像流水线的增强模块,例如曝光校正,色彩处理和色调映射。我们的方法提高了传统成像管道的灵活性和表现力,同时保持了其稳定性和效率等优势。

Enhancement in photo retouching.

照片润饰被广泛用于进一步提高数码相机拍摄照片的感知质量。许多专业软件产品 (例如PhotoShop,Lightroom,3D LUT Creator) 和移动应用程序 (例如Snapseed,VSCO,Pollar) 都是为此目的而设计的。但是,使用这些工具来有效地渲染高质量的照片需要大量的摄影领域知识和大量的实践来熟悉操作。为了减轻成本,工具中提供了许多预设的lut或在internet上可用。但是,预设的LUT通常仅适用于特定类型的场景。处理许多内容不同的照片仍然是乏味和时间消耗的。我们提出的方法可以学习图像自适应3D lut,从而可以根据其内容自动增强照片。

Example-based photo transfer/enhancement.

基于示例的方法 [26],[27],[28],[29],[30] 将参考图像的颜色和样式转移到目标图像。传统上,手工制作的特征被设计为表征示例图像的上下文和属性,并且使用手动设计的运算符来执行转换。最近,深度神经网络被用来提取更具代表性的特征,并实现更强大、更灵活 (有时是艺术) 的风格转移 [31] 、 [32] 、 [444]。然而,在实际应用中寻找合适的参考图像是不方便的。我们的方法与此类研究的不同之处在于,在训练模型后,它是完全自动的。

Learning-based photo enhancement.

基于学习的方法旨在从输入和目标图像数据集中学习增强模型。目标图像通常由人类专家修饰。预计训练后的模型可以自动增强输入图像,而无需额外的操作。在 [3] 中报道了沿着这一思路的开拓性工作,Bychkovsky等人开发了MIT-Adobe FiveK数据集,并学习了近似摄影师调整的映射曲线。在 [4] 中,收集数据集以记录每个图像的手动增强过程,并基于有序图像对学习排名模型。但是,这两种方法都学习具有一组手工制作的功能的浅模型,这些功能的表示能力有限。

最近,通过训练神经网络进行照片增强已经取得了重大进展。Yan等人[6] 将一组图像描述符输入到多层感知器中,以预测像素方向的二次颜色变换。Gharbi等 [2] 提出以高效率学习双边空间中的变换系数。Park等 [8] 通过学习预测一组预定义算子的离散概率,引入了一种用于逐步图像增强的深度强化学习策略。Satoshi和Toshihiko [11] 采用了类似的强化学习策略来学习未配对的照片增强模型。除了采用预定义的算子外,Hu等人 [9] 还训练了神经网络来拟合映射曲线,该映射曲线可以被视为1D LUT,以进行照片增强。Chen等人 [7] 采用U-Net模型来学习输入和输出图像对之间的像素到像素映射,而Wang等人 [10] 训练了一个模型来估计输入图像的像素照明图。

与 [8],[9],[11] 一样,我们的方法涉及基本算子 (例如3D lut) 和用于图像增强的CNN模型; 但是,存在一些显着差异。首先,[8],[9],[11] 中使用的运算符是预先定义和固定的,而我们的方法中的3D lut是从训练数据中学习的。其次,先前方法中的预定义运算符 (例如使用一个参数的全局曝光调整,对比度和饱和度调整) 相对简单,并且表达能力有限。在我们的方法中学习的图像自适应3D lut更具表现力。第三,我们的方法使用一个单个正向过程输出增强结果,该过程比 [8],[9],[11] 中的迭代过程快几个阶。

最近在 [7],[9],[11],[34] 中研究了使用未配对数据的照片增强模型的无监督学习。我们的模型也可以使用对抗性损失在未配对数据上进行训练,并且在性能和效率上都比以前的方法具有显着优势。详细信息可以在实验部分找到。

3 METHODOLOGY

在本节中,我们将详细介绍我们的框架,以使用配对或未配对数据来学习图像自适应3D lut。

3.1 3D LUT and trilinear interpolation

 

 

 注:3D Lut是一种3D晶格,每D有M个元素,每个晶格表示index,有其对应的输出RGB。对于输入RGB,查找其对应晶格位置(浮点型),周围八个输出RGB进行插值得到最终RGB,精度取决于M。操作独立于像素,便于GPU实现。

3.2 Learning image-adaptive 3D LUTs

传统的基于3D LUT的图像增强方法有两个主要局限性。首先,3D lut大多是手动设计的,既麻烦又昂贵。其次,一个3D LUT只能提供固定的转换,很难适应不同的场景。尽管现有的相机设备或图像编辑工具提供了一组可以手动选择以实现不同增强效果的预设lut,但是这种解决方案不够灵活和方便。

为了解决第一个限制,我们选择采用数据驱动的方法。例如,对于包含源和目标图像的数据集,我们可以通过优化一些目标函数来学习一个或多个lut。一旦学会,这些lut就可以用来自动增强给定的图像。为了解决第二个限制,该模型应具有内容感知和自适应输入,我们建议学习图像自适应3D lut以实现此目标。一个直观的想法是学习一个分类器来执行场景分类,然后使用不同的3D lut来增强不同的图像。这种策略被许多相机设备和图像编辑工具所采用。假设学习了N个3D LUT,用\{\phi _{n}\}_{n=1,...,N} 表示。分类器输出n个概率 \{p_{n}\}_{n=1,...,N}用于场景分类。这个3D LUT选择过程可以描述如下:

 其中x表示输入图像,q表示输出。上述硬投票策略有几个缺点。首先,要将许多可能的场景分类为一组定义明确的类,以使每类图像共享相同的LUT,这并不容易。其次,由于每个3D LUT都独立用于增强输入图像,因此需要大量3D LUT来覆盖各种场景。第三,分类器独立于3D lut进行训练,因此它们之间的协作不是最佳的。如果场景分类不正确,则选择的3D LUT可能会导致非常糟糕的结果。

在这项工作中,我们使用一种更有效,更高效的方式来实现图像自适应3D LUTs学习。我们共同学习一些基础3D LUT \{\phi _{n}\}_{n=1,...,N}以及一个小的CNN模型f,该模型预测每个LUT输出的权重。对于输入图像x,最终的增强输出为:

 其中 \{w_{n}\}_{n=1,...,N}=f(x)是CNN模型输出的内容相关权重。我们的设计只需要几个 (例如,N = 3) 基于3D lut对输入图像进行变换,并采用软加权策略实现图像内容自适应变换。此外,考虑到在3D lut中使用三线性插值对像素进行独立变换,公式4中的运算可以简化为:

 也就是说,我们可以首先将多个3D LUT融合为图像自适应3D LUT,然后仅执行一次三线性插值。这样的设计进一步提高了我们处理高分辨率图像的方法的速度。我们的学习方案的目标函数可以写成如下:

 

 CNN权重预测器旨在了解图像的亮度,颜色和色调等全局上下文,以输出与内容相关的权重。因此,它只需要在输入图像的下采样版本上工作,就可以大大节省计算成本。给定任意分辨率的输入图像,我们只需使用双线性插值将其下采样至256 × 256分辨率即可获得高效率。我们评估了更复杂的下采样策略,例如双三次下采样和box filter下采样,但最终性能差异不大。CNN模型的详细架构如表1所示。它由5个卷积块,一个dropout层和一个全连接层组成。每个卷积块包含一个卷积层,一个leaky ReLU [35] 和一个instance  normalization[36] 层。dropout率设置为0.5。全连接层输出N个权重。当N = 3时,整个CNN模型仅包含269K个参数。

 尽管我们的设计使3D LUT图像自适应,但3D LUT本身不能适应图像内的不同局部区域,这可能导致在一些具有挑战性的情况下不太满意的局部增强质量,如将在第4.7节中讨论的。

 3.3 Learning criteria

根据给定的训练数据 (例如配对或未配对数据),我们可以在公式中采用不同的损失函数6来训练我们的模型。

Pairwise learning.

当一组输入图像及其对应的 (人类注释的) 地面真实图像可用时,可以简单地使用监督学习方法来学习照片增强模型。假设存在多个训练对 {xt,yt}t = 1,2,...,T,其中xt和yt表示一对输入和目标图像。我们简单地使用MSE损失来训练模型:

 其中qt是等式5的输出以xt为输入。注意,也可以使用其他成对损失函数,例如L1损失或色差损失。我们选择MSE损失只是为了简单。

Unpaired learning.

尽管成对学习易于实现并且倾向于产生良好的增强结果,但是成对数据的收集可能是昂贵的或非常困难的。由于生成对抗网络 (GAN) 的快速发展,最近使用未配对数据的深度模型的无监督学习变得越来越流行 [37]。通过使用GAN损耗,我们还可以学习具有未配对训练数据的照片增强模型。在这种情况下,可以将多个3D lut与CNN权重预测器一起视为由G表示的生成器。又引入了一个CNN作为鉴别器,用D表示。在我们的实验中,D具有与CNN权重预测器相同的架构 (请参阅第3.2节),只有两个小的变化: instance normalization和dropout层被移除,FC层的输出尺寸被设置为1。

 

 在我们的实验中,生成器和鉴别器以相同的速度迭代优化。

3.4 Regularization

使用Lmse损失或Lgan损失,我们可以使用梯度下降算法 (例如具有动量的SGD [39] 或Adam [40]) 来训练3D LUTs和CNN权重预测器。然而,优化的3D lut可能具有不光滑的表面 (对于学习的3D lut的一些可视化示例,请参见图4(a))。3D LUT的相邻晶格中的突然颜色变化可能会放大颜色变换后的色差,从而在增强图像的平滑区域中引起一些条带伪影 [41] (请参考图5(a) 作为示例)。为了使学习的3D lut更加稳定和健壮,我们在优化过程中引入了两个正则化项。

Smooth regularization.

为了将输入的RGB值稳定地转换为所需的颜色空间而不产生太多伪像,3D lut的输出RGB值应该是局部平滑的。总变化 (TV total variation) [42] 是用于图像恢复的经典平滑正则化技术。受TV的启发,我们提出了关于3D lut学习的3D平滑正则化项,如下所示:

 我们在上述项中选择L2距离而不是L1距离,以实现更平滑的正则化。

除了3D LUT本身之外,CNN预测的与内容相关的权重wn对于我们的图像自适应LUT学习方案也很重要。因此,我们在预测权重上引入L2-norm正则化,以提高自适应加权3D LUT的平滑度。总体平滑正则化项如下:

 Monotonicity regularization

除了平滑性之外,单调性是3D lut应该具有的另一种属性,原因有两个。首先,单调变换可以保留输入RGB值的相对亮度和饱和度,确保自然增强结果。其次,在实践中,训练数据可能不足以覆盖整个颜色空间。确保单调性有助于更新可能不会被输入RGB值激活的参数,从而提高学习的3D lut的泛化能力。因此,我们在3D LUT学习上设计了单调性正则化,如下所示:

 

 3.5 Final training losses and implementation

通过合并两个正则化项,配对学习和非配对学习中使用的最终损失函数如下:

 

 其中,两个常数参数 λ s和 λ m分别用于控制光滑正则项和单调性正则项的影响。我们通过消融研究将 λ s = 0.0001和 λ m = 10。

我们基于PyTorch [43] 实现了我们的方法。3D LUT的三线性插值通过CUDA并行实现并行化。使用具有默认参数的标准Adam [40] 优化器来训练我们的模型。对于成对实验和非成对实验,批处理大小分别设置为1,学习率固定为1e-4和2e-4。我们在 [0.6,1.0] 范围内随机裁剪图像补丁,水平翻转输入/目标图像对,稍微调整输入图像的亮度和饱和度以增加数据。在要学习的N个3D lut中,第一个被初始化为身份映射,而其他的被初始化为零映射。FC层的偏置设置为1,这使得最初预测的权重接近1。这样的初始化确保了我们模型的初始输出与输入相距不远,从而提高了训练速度。CNN权重预测器的其他参数是随机初始化的,如 [44] 中所示。

4 EXPERIMENTS

4.1 Experimental setup

Datasets.

我们在两个数据集上进行实验: MIT-Adobe FiveK [3] 和HDR [45]。MIT-Adobe FiveK数据集 [3] 是目前最大的具有人类修饰的地面真相的照片增强数据集。该数据集包含5,000张原始照片,每张照片均由五位人类专家修饰。按照通常的做法 [2],[7],[8],[10],专家C修饰的图像在我们的实验中被用作基本事实。HDR数据集 [45] 是由Google camera group收集的用于研究移动相机上的高动态范围 (HDR) 和低光成像的突发摄影数据集。它由总共3,640个场景组成,每个场景包含2到10张原始照片。我们在此数据集上训练模型,以学习相机成像管道的HDR增强模块。具体来说,将对齐和合并帧的中间结果 (DNG格式) 转换为具有16位动态范围的TIF图像作为输入,并将手动微调的HDR成像管道生成的JPG图像作为地面真相。

我们对两种不同的分辨率进行实验: 480p和图像原始分辨率 (通常为12-13百万像素)。源图像的宽高比多为4:3或3:4。为了避免不自然的变形,我们将源图像的短边调整为480像素,以进行480 p分辨率的实验。

Application settings.

借助FiveK和HDR数据集,我们对两个典型的应用场景进行了实验: 照片修饰和相机成像管道中的色彩/色调增强。在这两个应用程序中,目标图像都在sRGB色彩空间中,具有8位动态范围,并以JPG格式压缩。在照片修饰应用程序中,输入图像具有与目标图像相同的格式,而对于相机成像管道中的色彩/色调增强,输入图像位于CIE XYZ色彩空间 [46] 中,并且具有16位动态范围,无需压缩。应该注意的是,我们仅学习成像管道的颜色/色调增强部分,而不是学习从原始数据到最终RGB输出的整个管道。

Evaluation metrics.

我们采用三种指标,包括PSNR、SSIM [47] 和delta E(\Delta E^{*})来评估不同的方法。Delta E是在CIELAB颜色空间中定义的色差度量,被证明与人类感知一致 [48]。与PNSR和SSIM相反,较小的 \Delta E^{*}意味着更好的性能。

4.2 Ablation study

我们在本节中进行消融研究,以研究3D LUTs数量 (N) 的选择,分析CNN权重预测器和正则化项的作用,并证明我们模型的图像适应性。我们使用来自FiveK数据集的配对数据对照片润饰任务进行消融研究实验,并且图像分辨率设置为480p。在消融研究期间,4,500图像对用于训练,500图像对用于测试。

 The number N of 3D LUTs.

为了确定3D lut的数量N并演示CNN权重预测器的作用,我们通过设置N = 1而不使用CNN权重预测器,并设置N = {1、2、3、4、5} 来评估模型的性能。CNN权重预测器。表2中报告了不同设置的PSNR、SSIM和 e ∗。可以看到,在没有CNN权重预测器的情况下学习单个3D LUT的性能较差 (PSNR: 20.37,SSIM: 0.852和 e ∗: 13.47),因为3D LUT本身只能对所有图像执行固定变换。将单个3D LUT与CNN权重预测器相结合,通过使变换 (主要是亮度) 适应图像内容,可以显着提高性能 (PSNR: 23.15,SSIM: 0.884和 e ∗: 9.83)。将3D lut的数量从1增加到3明显提高了性能 (PSNR: 25.21,SSIM: 0.922和 e ∗: 7.61),因为使用多个3D lut可以大大提高色彩变换的表现力。将N从3进一步增加到5带来较小的改进。因此,我们在以下所有实验中设置N = 3,以在性能和模型紧凑性之间进行良好的权衡。与使用单个3D LUT相比,我们的最终模型具有三个3D LUT,将PSNR,SSIM和 e ∗ 分别提高了4.84 dB,0.07和5.86,这验证了我们的设计在学习图像自适应3D LUT方面的有效性。

Selection of regularization parameters.

在等式中的配对和非配对损失函数中。在图14和15中,我们引入了两个常数参数 λ s和 λ m来控制平滑正则化Rs和单调性正则化Rm的影响。在这里,我们进行了一系列实验,以确定它们的合适选择。通常,平滑正则化应该较小,因为重的平滑度将导致具有有限变换灵活性的平坦3D lut,而单调性正则化可以相对较强。因此,我们分别从 {0,0.00001,0.0001,0.001,0.01,0.1} 和 {0.1,0,1.0,10,100,1000} 中评估和选择 λ s和 λ m。当评估 λ s时,λ m固定为10,当评估 λ m时,λ s固定为0.0001。在图3中,我们绘制了PNSR曲线w.r.t。Λ s,λ m。我们可以看到大的 λ s (例如,> 0.0001) 导致更糟糕的PSNR。这很容易理解,因为平滑正则化限制了3D lut的转换灵活性。相反,PSNR对 λ m的选择不敏感,因为单调性是3D LUT的自然约束。

除了PSNR曲线之外,我们还可视化了两个正则化项对学习的3D lut和照片增强结果的影响。在图4中,我们可视化了在没有正则化的情况下学习的三个3D lut,仅具有平滑正则化 (λ s = 0.0001,λ m = 0),仅具有单调性正则化 (λ s = 0,λ m = 10) 并且具有平滑和单调性正则化 (λ s = 0.0001,λ m = 10)。在一个典型场景上的3D lut的相应增强结果如图5所示。可以看出,在没有正则化 (图4(a)) 的情况下学习的3D lut具有非常不规则的表面,这意味着这些3D lut的输出颜色可能会在某些局部区域发生明显变化。结果,在图5(a) 中的过渡天空区域中出现了一些可见的条带伪影。仅采用平滑正则化会导致局部更平滑,但是仍然不规则的3D lut,因为颜色空间的某些部分不会被训练数据激活。仅采用单调性正则化会导致全局更规则的3D lut,并大大减轻了条带伪影; 但是,某些局部区域不够平滑。使用这两个正则化项导致更平滑和更规则的3D lut,这有效地抑制了条带伪影,如图5(d) 所示。

基于上述定量和定性结果,我们在以下实验中选择 λ s = 0.0001和 λ m = 10,这在增强性能和模型稳定性之间提供了良好的权衡。

Image-adaptive property.

正如我们在第3.2节中描述的那样,我们的方法能够生成自适应3D LUT (通过自适应地融合三个基本LUT) 到输入图像,并使用它来增强给定图像。为了更好地研究这种图像自适应增强特性,在图6中,我们可视化了三种不同图像的图像自适应3D lut,并显示了它们相应的增强结果。为了更清楚地看到自适应LUT上的差异,我们只可视化整个3D LUT的五个切片 (即 {1,9,17,25,444}) (总共444个切片)。作为参考,我们还显示了通过使用右列上相同的训练数据学习一个固定3D LUT (不带CNN) 获得的增强结果。可以看出,自适应3D LUT随图像内容的不同而变化,以更好地增强其亮度,色彩和色调。相比之下,固定的3D LUT以相同的方式增强了不同的图像,而没有考虑它们的不同内容,从而导致不太令人满意的亮度,色调和饱和度。

4.3 Experiment on photo retouching

本节将我们的方法与用于FiveK数据集上照片修饰的最新深度增强方法进行了比较。我们在成对学习和不成对学习设置下展示结果。在以前的方法中,只有 [7] 中的工作考虑了配对和非配对学习。因此,我们在实验中使用与 [7] 中相同的拆分进行公平比较。具体地,在成对学习中,4,500图像对用于训练,其余500图像对用于测试; 在非成对学习中,2,250图像被用作源数据,而2,250修饰的图像 (来自具有不同内容的其他源图像) 被用作目标数据。剩余的500图像用于测试。对于所有竞争方法,我们使用了作者发布的源代码,并使用相同的数据拆分和格式重新训练了他们的模型。我们训练每个模型,直到它收敛,并在测试集中报告它们的最佳结果。

Learning with paired data.

在成对学习设置下,我们将我们的方法与最新的成对照片增强方法进行比较,这些方法的源代码可用: HDRNet [2],DPE [7],Dis-Rec [8] 和UPE [10]。HDRNet学习双边空间中的像素级变换系数,DPE使用U-Net体系结构学习像素到像素的映射,Dis-Rec使用强化学习来执行迭代增强,UPE使用相同的体系结构来估计像素级照明HDRNet。

如第4.1节所述,我们在两种分辨率上训练和评估每种方法: 480p和图像原始分辨率 (约12兆像素)。我们分别在480p和原始分辨率上随机裁剪了256 × 256和1024 × 1024个补丁,以训练竞争模型。PSNR、SSIM和 e ∗ 索引如表3所示。DPE在原始分辨率上的结果不可用,因为DPE方法对内存的要求太高,无法使用我们的Titan RTX GPU在该分辨率上具有24 GB内存。从表3中可以看出,就所有三个指标而言,我们的方法在两种分辨率上都明显优于所有竞争方法。具体来说,我们的方法在PSNR中比480p上的第二好的方法HDRNet [2] 具有 ≥ 0.9 dB的优势。在原始图像分辨率上工作时,优势变得更高 (1.1dB),表明使用3D LUT处理高分辨率照片的鲁棒性。DPE还可以在480p分辨率上获得合理的性能。但是,U-Net体系结构的沉重计算成本严重限制了其在处理高分辨率图像中的应用。Dis-rec和UPE的性能都不太令人满意,这可能分别是由于强化学习的不稳定和光照估计不准确。

图7给出了不同配对学习方法的定性比较。人们可以有以下观察结果。UPE [7] 仅适度增强输入图像,生成饱和度和对比度不足的输出。Dis-Rec [8] 不够健壮,无法处理不同的场景,导致过度曝光区域或不自然的色彩投射。DPE [7] 可能会产生光晕伪影或不自然的色彩。HDRNet [2] 和我们的方法都能够更可靠地增强不同场景中的图像。图8显示了HDRNet和我们的方法在图像上的更详细的比较。可以看出,通过HDRNet增强的某些天空区域偏向紫色。一个可能的原因是HDRNet模型过于适合训练数据,其中大多数天空内容是蓝色或红色。结果,HDRNet在天空区域的R和B通道上比G通道增强更多,导致紫色 (R和B明显大于G) 偏色。相比之下,我们的模型不会过度拟合训练数据,具有比HDRNet更好的泛化性能。这归因于我们方法的紧凑模型设计以及模型训练中的平滑和单调性正则化。

Learning with unpaired data.

在不成对学习设置下,我们将我们的方法与Pix2Pix [49],CycleGAN [50],DPE [7],白盒 [9] 和UIE [11] 进行了比较。Pix2Pix和CycleGAN是两种代表性的图像到图像转换方法,DPE学习像素到像素转换与u-net架构精心调整照片增强,白盒和UIE学习使用一组基本操作以迭代方式增强输入图像。我们还报告了在Photoshop中自动调整相机Raw获得的结果作为参考。所有模型都使用相同的训练和测试拆分进行重新训练和评估。我们方法的所有参数 (例如CNN模型,3D lut,正则化项) 均与配对学习中的参数相同。

表4中报告了所有竞争方法的定量结果。请注意,Pix2Pix,cyclean和DPE在原始分辨率上的结果不可用,因为内存不足的问题。同样,我们的方法在两种分辨率上都获得了比其他方法更好的PSNR,SSIM和 e ∗ 索引。具体来说,我们的模型在PSNR,SSIM和 e * 上分别0.75 dB,0.016和1.04,从而优于第二好的UIE。一个有趣的观察是,在这些客观指标上,除我们的之外,大多数未配对的增强方法相对于相机Raw的自动调整没有明显的优势,相机Raw不会利用FiveK数据集的任何训练数据。主要原因是大多数未配对的方法不够稳定,导致某些故障情况下的指数较低。图9展示了两个典型场景上竞争方法的视觉比较。可以看到Pix2Pix [49] 仅略微增强了输入图像。CycleGAN [50],White-Box [9],DPE [10] 和UIE [11] 在不同场景中并不稳定。它们可能会导致图像过度增强或增强不足,产生不自然的颜色或图像内容失真。相比之下,我们的方法可以稳定,适当地增强不同场景下的图像。

4.4 Experiment on imaging pipeline enhancement

。。。

4.5 User study

。。。

4.6 Running speed

除了与最先进的照片增强模型相比具有出色的增强质量外,我们方法的另一个重要优势在于其高效率。在本节中,我们评估竞争方法的运行速度。测试一下图像被调整为三种标准分辨率: 1920 × 1080、3840 × 2160和6000 × 4000。所有模型都使用一个具有24 gb内存的Titan RTX GPU在同一图像集上测试100次。表7中报告了以毫秒 (ms) 测量的所有方法的平均运行时间。可以看出,当在同一GPU设备上进行测试时,我们的方法的速度至少比所有竞争方法快两个数量级,并且我们的方法的速度优势随着图像分辨率的提高而不断提高。特别是,我们的模型在处理具有4k分辨率的图像时花费不到2 ms,从而满足了实际应用的实时性要求。值得一提的是,使用定制的OpenGL着色器可以显著加速HDRNet。

我们方法的高效率主要来自以下事实: CNN权重预测器的计算成本在我们的模型中是固定的,并且其内存成本远低于所有竞争方法。尽管HDRNet,White-Box,DisRec和UIE中的CNN模型也具有固定的输入大小,但是HDRNet消耗中间的计算和内存成本来计算高分辨率输入图像上的逐像素变换系数,以及比率 (%) White-Box,dis-Rec和UIE需要多次迭代来生成增强图像。相比之下,我们的模型在一个向前的步骤中直接将输入RGB值映射到输出RGB值,并且通过3D LUTs的转换可以使用GPU高度并行。

4.7 Limitation and discussion

尽管我们的模型可以在各种场景中实现稳定且高效的照片增强,但它具有从3D LUT继承的两个局限性。首先,我们的3D LUT可以根据其内容适应不同的图像; 但是,一旦为输入图像确定了3D LUT,则对于图像内的不同局部区域,它是相同的。因此,在某些需要局部增强的区域,3D LUT可能会产生不太令人满意的结果。图12示出了这样的示例,其中输入图像的场景具有非常高的动态范围。可以看出,尽管我们的模型适当地增强了输入图像的全局色彩和色调,但阴影区域中的局部对比度并未得到充分增强。

 解决此限制的一种可能的解决方案是将某些局部对比度增强方法 (例如局部色调映射算法 [51]) 与我们的3D LUT结合使用。在这里,我们举一个例子,将 [51] 中使用的双边滤波器替换为 [52] 中的引导滤波器,以提高其在边缘保护方面的性能。我们首先将局部色调映射应用于输入图像,然后将建议的3D LUT应用于色调映射输出。从图12可以看出,在这个具有挑战性的情况下,将局部色调映射与我们的3D LUT结合在全局和局部增强上实现了良好的视觉质量。但是,应该注意的是,对于高分辨率图像而言,局部色调映射方法仍然很耗时,并且如何将局部增强操作有效地嵌入到3D LUT中将是我们未来的工作。

其次,作为紧凑且高效的运算符,3D LUT独立地转换每个输入RGB值,但是这限制了其在细节增强方面的能力。图13中示出了一个具有挑战性的示例,其中输入图像是在夜间拍摄的,噪声很大。与Google的图像处理管道 [45] 产生的结果相比,其中有一些去噪操作,我们的3D LUT模型有效地增强了黑暗区域,但也放大了这些区域的噪声。在实践中,解决此限制的一种可能的解决方案是将3D LUT变换与某些去噪模块相结合,就像在相机成像管道中通常完成的那样 [1],[45]。我们也把这个留给我们今后的工作。

5 CONCLUSION

我们提出了一种有效的图像自适应照片增强学习方法。结合轻量级CNN权重预测器学习了几个基础3D LUT,以便对于每个输入图像,可以通过根据图像内容融合基础3D LUT来生成自适应3D LUT。在学习过程中引入了平滑和单调性正则化术语,以使我们的模型对各种场景稳定且健壮。在成对学习和不成对学习设置下,我们在两个照片增强应用程序 (照片修饰和成像流水线增强) 上评估了所提出的方法。结果表明,在定量和定性比较方面,我们的模型始终优于最新的深度图像增强方法。特别是,我们的模型在处理具有4k或更高分辨率的图像时比以前的模型快100倍以上,并且消耗的内存要低得多。它为实用的,尤其是高分辨率的照片增强应用提供了一种有前途的解决方案。

3D表面重建中,适应性条纹投影用于避免图像饱和。饱和是指当投影的光线过亮时,图像中的某些区域会出现过曝或过暗的现象。为了解决这个问题,适应性条纹投影技术被引入。 适应性条纹投影技术根据场景的亮度情况调整投影光线的亮度,并在图像中生成相应的条纹纹理。这些条纹纹理具有不同的亮度和颜色,可以在图像中创建一个光照变化的效应。通过这种方式,适应性条纹投影技术可以在不同亮度的区域中保持图像的细节和清晰度,避免了图像饱和现象的发生。 在3D表面重建中,适应性条纹投影技术非常有用。当使用投影仪投影条纹图案到三维表面上进行重建时,不同区域的亮度可能有所不同。一些区域可能非常亮,而另一些区域可能非常暗。如果不处理好这些亮度差异,就会出现图像饱和现象,导致重建结果不准确。 适应性条纹投影技术通过实时调整投影光线的亮度,使得不同区域的亮度更加均衡。这样,被投影区域的光照变化就可以更好地还原,从而获得更准确的三维表面重建结果。同时,适应性条纹投影技术还可以根据场景的亮度变化自动调整投影光线的亮度,提高了系统的稳定性和适应性。 总之,适应性条纹投影技术是一种用于避免图像饱和的重要技术。在3D表面重建中,它通过实时调整投影光线的亮度,保持图像区域亮度的均衡,从而获得更准确的重建结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值