Learning Multi-Scale Photo Exposure Correction

Abstract

用错误的曝光捕捉照片仍然是相机成像的主要错误来源。曝光问题可分为以下两类:(i)曝光过度,即相机曝光时间过长,导致图像区域明亮和褪色;(ii)曝光不足,即曝光时间过短,导致图像区域变暗。曝光不足和曝光过度都会大大降低图像的对比度和视觉吸引力。先前的工作主要集中在曝光不足的图像或一般图像增强。相比之下,我们提出的方法针对照片中的过度曝光和曝光不足错误。我们将曝光校正问题表述为两个主要子问题:(i)色彩增强和(ii)细节增强。因此,我们提出了一个从粗到精的深度神经网络(DNN)模型,可以端到端训练,分别解决每个子问题。我们的解决方案的一个关键方面是一个超过24,000张图像的新数据集,展示了迄今为止最广泛的曝光值范围和相应的正确曝光图像。我们的方法在曝光不足的图像上取得了与现有最先进的方法相当的结果,并且对遭受过度曝光错误的图像产生了显着改善。

1. Introduction

拍摄时使用的曝光直接影响最终渲染照片的整体亮度。数码相机使用三个主要因素来控制曝光:(i)捕捉快门速度,(ii) f值,即焦距与相机光圈直径的比率,以及(iii)控制接收像素信号放大系数的ISO值。在摄影中,曝光设置由曝光值(EV)表示,其中每个EV指的是产生相同曝光效果的相机快门速度和f值的不同组合,在摄影中也被称为“等效曝光”。

数码相机可以调整所摄图像的曝光值,以达到改变亮度水平的目的。这种调整可以由用户手动控制,也可以在自动曝光(AE)模式下自动进行。当使用AE时,相机调整EV以补偿拍摄场景中的低/高亮度,使用通过镜头(TTL)测光来测量从场景接收的光量[49]。曝光错误可能由以下几个因素引起,例如TTL测光测量错误、强光条件(例如,非常低的照明和背光)、场景亮度水平的剧烈变化以及用户在手动模式下的错误。这种曝光误差是在拍摄过程的早期引入的,因此在渲染最终的8位图像后很难纠正。这是由于相机图像信号处理器(ISP)在渲染最终的8位标准RGB (sRGB)图像[31]时应用了高度非线性的操作。

图显示了带有曝光误差的图像的典型例子。在图1中,曝光误差导致最终渲染图像中要么由于过度曝光导致图像区域非常亮,要么由于曝光不足导致图像区域非常暗。即使对于完善的图像增强软件包,纠正具有此类错误的图像也是一项具有挑战性的任务,参见图。虽然曝光过曝和曝光不足都是摄影中常见的错误,但大多数先前的工作主要集中在纠正曝光不足错误[23,56,58,65,66]或一般的图像质量增强[11,18]。

我们提出了一种从粗到精的深度学习方法,用于过度曝光和曝光不足的sRGB图像的曝光误差校正。我们的方法将曝光校正问题表述为两个主要的子问题:(i)颜色和(ii)细节增强。我们提出了一个从粗到细的深度神经网络(DNN)模型,可以端到端方式进行训练,该模型首先校正全局颜色信息,然后细化图像细节。除了我们的DNN模型之外,曝光校正问题的一个关键贡献是一个包含超过24,000张图像的新数据集1,这些图像从原始rgb渲染到sRGB,具有不同的曝光设置,曝光范围比以前的数据集更广。我们数据集中的每张图像都提供了相应的适当曝光的参考图像。最后,我们提出了一套广泛的评估和消融我们提出的方法与比较的艺术状态。我们证明,我们的方法达到了与以前的方法相当的结果,致力于曝光不足的图像和产生显着改善曝光过度的图像。此外,我们的模型可以很好地泛化到数据集之外的图像。

2. Related Work

我们的论文的重点是校正相机渲染的8位sRGB图像中的曝光误差。我们请读者参考[9,24,25,38],以获得渲染在低光或曝光误差下捕获的线性原始RGB图像的代表性示例。

曝光校正曝光校正和对比度增强的传统方法依赖于图像直方图来调整图像强度值[8,19,36,50,69]。或者,使用色调曲线调整来校正具有曝光误差的图像。该过程仅依赖于输入图像信息[63]或训练的深度学习模型[21,46,48,62]来执行。大多数先前的工作采用Retinex理论[34],假设曝光不当的图像可以用公式表示为目标图像的逐像素乘法,用正确的曝光设置捕获,通过照明图。因此,这些方法的目标是预测照明图以恢复曝光良好的目标图像。代表性的基于Retinex的方法包括[23,29,34,44,57,64,65]和最新的深度学习方法[56,58,66]。然而,这些方法中的大多数仅限于纠正欠显误差[23,56,58 - 60,65,66,68]。与之前的大多数工作相比,我们的工作是第一个使用单个模型明确纠正曝光过度和曝光不足照片的深度学习方法。

HDR 恢复和图像增强 HDR 恢复是从一幅或多幅低动态范围 (LDR) 输入图像重建场景辐射度 HDR 值的过程。 先前的工作要么需要访问多个 LDR 图像 [16, 30, 43],要么使用单个 LDR 输入图像,通过幻觉缺失信息将其转换为 HDR 图像 [15, 47]。 最终,这些重建的 HDR 图像被映射回 LDR 以进行感知可视化。 这种映射可以直接从输入多 LDR 图像 [7,13]、重建的 HDR 图像 [61] 执行,或者直接从单输入 LDR 图像执行,无需辐射 HDR 重建 [11, 18]。 还有一些专注于一般图像增强的方法,可用于增强曝光不良的图像。 特别是,[26, 27] 的工作主要是为了通过将捕获的图像映射为 DSLR 捕获的高质量图像来增强智能手机相机捕获的图像。 我们的工作并不寻求重建 HDR 图像或一般增强,而是经过训练以明确解决曝光错误。

配对数据集配对数据集对于图像增强任务的监督学习至关重要。 现有的曝光校正配对数据集仅关注低光曝光不足的图像。 代表性的例子包括 Wang 等人的数据集 [56] 和低光(LOL)配对数据集 [58]。 与现有的曝光校正数据集不同,我们引入了一个使用各种曝光错误渲染的大型图像数据集。 图 2 显示了我们的数据集和 LOL 数据集在图像数量和每个数据集中的曝光错误种类方面的比较。 与我们介绍的数据集相比,LOL 数据集涵盖了可能暴露水平的相对较小的一部分。 我们的数据集基于 MIT-Adobe FiveK 数据集 [6],并通过调整相机传感器原始 RGB 图像中提供的高色调值来准确渲染,以真实地模拟相机曝光错误。 另一种值得注意的方法是使用大型 HDR 数据集来生成训练数据,例如 Google HDR+ 数据集 [24]。 然而,一个缺点是该数据集是由不同数量的智能手机捕获的原始 RGB 图像组成的,这些图像首先与复合原始 RGB 图像对齐。 目标地面真实图像基于应用于该复合原始 RGB 图像的 HDR 到 LDR 算法 [18,24]。 我们选择使用 FiveK 数据集,因为它从单个高质量原始 RGB 图像开始,并且地面真实结果由专业摄影师生成。

3. Our Dataset

为了训练我们的模型,我们需要大量渲染有真实的过度曝光和曝光不足错误的训练图像以及相应的正确曝光的地面实况图像。 正如第 2 节中所讨论的。 2、目前此类数据集尚未公开以支持曝光校正研究。 因此,我们的首要任务是创建一个新的数据集。 我们的数据集是从 MIT-Adobe FiveK 数据集 [6] 渲染的,该数据集包含 5,000 个原始 RGB 图像以及由五位专业摄影师手动渲染的相应 sRGB 图像 [6]。 对于每个原始 RGB 图像,我们使用 Adob​​e Camera Raw SDK [1] 来模拟相机 [53] 应用的不同 EV。 Adobe Camera Raw 使用每个 DNG Raw 文件中嵌入的元数据准确模拟非线性相机渲染过程 [2, 53]。 我们使用不同的数字 EV 渲染每个原始 RGB 图像,以模拟真实的曝光错误。 具体来说,我们使用相对 EV -1.5、-1、+0、+1 和 +1.5 分别渲染具有曝光不足错误、原始 EV 零增益和过度曝光错误的图像。 零增益相对 EV 相当于拍摄期间相机上应用的原始曝光设置。

作为地面实况图像,我们使用由专家摄影师(在[6]中称为专家C)手动修饰的图像作为我们的目标正确曝光图像,而不是使用相对EV为+0的渲染图像。 这种选择背后的原因是,大量图像在原始曝光捕捉设置中包含背光或部分曝光错误。 专家调整的图像是在 ProPhoto RGB 色彩空间 [6](而不是原始 RGB)中执行的,我们将其转换为标准 8 位 sRGB 色彩空间编码。 我们的数据集总共包含 24,330 张具有不同数字曝光设置的 8 位 sRGB 图像。 我们丢弃了少量与其相应的地面真实图像不一致的图像。 这些错位是由于 Adob​​e Camera Raw SDK 和专家对 DNG 裁剪区域元数据的不同使用造成的。 我们的数据集分为三组:(i) 17,675 张图像的训练集,(ii) 750 张图像的验证集,以及 (iii) 5,905 张图像的测试集。 训练、验证和测试集不共享任何共同场景。 图 2 显示了我们生成的 8 位 sRGB 图像和相应的正确曝光的 8 位 sRGB 参考图像的示例。

4. Our Method

给定一个 8 位 sRGB 输入图像 I,使用不正确的曝光设置渲染,我们的方法旨在生成一个输出图像 Y,其曝光错误比 I 中的曝光错误更少。当我们同时针对曝光过度和曝光不足错误时,我们的方法的目标 输入图像 I 预计包含接近过饱和或欠饱和值的区域,且颜色和细节信息已损坏。 我们建议按顺序纠正 I 的颜色和细节错误。 具体来说,我们处理 I 的多分辨率表示,而不是直接处理 I 的原始形式。我们使用拉普拉斯金字塔 [4] 作为我们的多分辨率分解,它源自 I 的高斯金字塔 [5]。

4.1. Coarse-to-Fine Exposure Correction

令 X 表示 I 的 n 层拉普拉斯金字塔,使得 X(l) 是 X 的第 l 层。该金字塔的最后一层(即 X(n))捕获 I 的低频信息,而第一层捕获 I 的低频信息。 level(即 X(1))捕获高频信息。 这些频率级别可以分为:(i)存储在低频级别中的I的全局颜色信息和(ii)存储在中高频级别中的图像从粗到细的细节。 这些级别稍后可用于重建全色图像 I。

图3激发了我们从粗到精的曝光校正方法。图3-(A)和(B)分别显示了一个示例过曝图像及其相应的曝光良好的目标。可以看出,在拉普拉斯金字塔重建过程中,仅使用目标图像的低频层(即全局颜色信息)即可获得显著的曝光校正,如图图-(C)所示。然后,我们可以通过纠正拉普拉斯金字塔的每个层次,以顺序的方式增强细节,从而改善最终图像,如图图-(D)所示。实际上,在推理阶段,我们无法访问图-(B)中正确曝光的图像,因此我们的目标是预测拉普拉斯金字塔中每一层缺失的颜色/细节信息。

受这一观察结果和其他各种计算机视觉任务(例如[14,33,41,54])的粗精架构的成功启发,我们设计了一个DNN,该DNN使用拉普拉斯金字塔分解以顺序的方式校正I的全局颜色和细节信息。本节的其余部分解释了我们模型的技术细节(第4.2节),包括损失(第4.3节)、推理阶段(第4.4节)和训练(第4.5节)的细节。

4.2. Coarse-to-Fine Network

我们的图像曝光校正架构顺序地处理输入图像I的n级拉普拉斯金字塔X,以产生最终的校正图像Y。该模型由n个子网络组成。这些子网络中的每一个都是一个类似于U网的架构[52],具有不受约束的权重。我们基于每个子问题(即,全局颜色校正和细节增强)有助于我们的最终结果。图4提供了我们网络的概述。如图所示,我们的架构中最大的(就权重而言)子网络专用于处理I中的全局颜色信息(即,X(n))。该子网络(图4中黄色所示)处理低频电平X(n)并产生放大图像Y(n)。放大过程使用具有可训练权重的跨步转置卷积将我们的子网络的输出放大两倍。接下来,我们将第一个中频电平X(n−1)添加到Y(n),由模型中的第二个子网处理。这个子网络增强了当前层的相应细节,并产生一个残差层,然后将其添加到Y(n)+X(n-1)以重建图像Y(n-1),这相当于相应的高斯金字塔层n-1。该细化上采样过程继续进行,直到产生最终输出图像Y。我们的网络是完全可区分的,因此可以以端到端的方式进行训练。补充材料中提供了我们网络的其他详细信息。

4.3. Losses

我们对模型进行端到端训练,以最小化以下损失函数:

Pyramid Loss 为了引导每个子网络遵循拉普拉斯金字塔重建程序,我们在每个金字塔级别引入了专门的损失。令T(l)表示参考图像T的高斯金字塔的第l层,经过二倍的上采样。我们使用简单的插值过程进行上采样操作[43]。我们的金字塔损失计算如下:

其中hl和wl分别是训练图像的拉普拉斯金字塔中的第l级的高度和宽度的两倍,并且p分别是在第l级Y(l)处的我们的校正图像和在相同级T(l)处的适当曝光的参考图像中的每个像素的索引。金字塔损失不仅给出了每个子网络任务的原则性解释,而且与仅使用重建损失的训练相比,还导致更少的视觉伪影,如图5所示。请注意,如果没有中间金字塔损失,与使用每个尺度的金字塔损失相比,图5(顶部)所示的每个子网络的输出与中间高斯目标偏离很大,如图5(底部)所示。我们在补充材料中通过消融研究提供了该损失的支持性依据。

Adversarial Loss

为了在感知上增强校正图像输出的重建的真实性和吸引力,我们还考虑将对抗性损失作为正则化器。这个对抗性损失项可以用下面的等式[20]来描述:

其中 S 是 sigmoid 函数,D 是与我们的主网络一起训练的判别器 DNN。 我们在补充材料中提供了鉴别器网络的详细信息以及使用非对抗性和对抗性训练的结果之间的视觉比较。

4.4. Inference Stage

我们的网络是完全卷积的,可以处理不同分辨率的输入图像。 虽然我们的模型需要合理的内存大小(∼7M 参数),但处理高分辨率图像需要高计算能力,而这可能并不总是可用。 此外,处理比训练过程中使用的分辨率范围高得多的分辨率(例如 16 兆像素)的图像可能会影响我们的模型对大的均匀图像区域的鲁棒性。 出现这个问题的原因是我们的网络是在一定范围的有效感受野上进行训练的,与高分辨率图像所需的感受野相比,该范围非常低。 为此,我们使用双边引导上采样方法[10]来处理高分辨率图像。 首先,我们调整输入测试图像的大小,使其最大尺寸为 512 像素。 然后,我们使用我们的模型处理输入图像的下采样版本,然后应用快速上采样技术 [10] 和 22×22×8 单元的双边网格。 这个过程使我们能够在平均 4.5 秒内处理 16 兆像素的图像。 该时间包括在 NVIDIA GeForce GTX 1080TM GPU 上运行我们的网络所需的 0.5 秒,以及在 Intel Xeon E5-1607 @ 3.10 GHz 机器上运行网络的 4 秒,用于引导上采样过程。 请注意,使用 Halide 实现 [51] 可以显着改善引导上采样步骤的运行时间。

4.5. Training Details

在我们的实现中,我们使用具有四个级别(即 n = 4)的拉普拉斯金字塔,因此我们的模型中有四个子网络 - 一项消融研究,评估对拉普拉斯级别数量的影响,包括与普通模型的比较 U-Net 架构在补充材料中介绍。 我们在从不同维度的训练图像中随机提取的补丁上训练我们的模型。 我们首先在 128×128 像素大小的块上进行训练。 接下来,我们继续在 256×256 个 patch 上进行训练,然后在 512×512 个 patch 上进行训练。 我们使用 Adam 优化器 [32] 来最小化方程式中的损失函数。 1. 受之前工作 [40] 的启发,我们最初在没有对抗性损失项 Ladv 的情况下进行训练,以加速主网络的收敛。 收敛后,我们添加对抗性损失项 Ladv 并微调我们的网络以增强我们的初始结果。 补充材料中提供了其他培训详细信息。

5. Empirical Evaluation

6. Concluding Remarks

我们提出了一种从粗到精的深度学习模型,用于曝光过度和曝光不足的图像校正。 我们采用拉普拉斯金字塔分解来处理不同频段的输入图像。 我们的方法旨在以多尺度方式顺序校正每个拉普拉斯金字塔级别,从图像中的全局颜色开始并逐步解决图像细节。 我们的方法由包含超过 24,000 张图像的新数据集启用,这些图像使用迄今为止最广泛的曝光错误进行渲染。 我们引入的数据集中的每个图像都有一个由训练有素的摄影师通过良好的曝光补偿正确渲染的参考图像。 通过广泛的评估,我们表明,与校正曝光错误渲染的图像的可用解决方案相比,我们的方法产生了令人信服的结果,并且它具有良好的概括性。 我们相信我们的数据集将有助于未来改进照片曝光校正的工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945466.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python】matplotlib(moon cake)

文章目录 1、Style12、Style23、Style34、Style45、Style56、Style67、Style78、参考的库函数matplotlib.patches.Arcmatplotlib.patches.Wedge 9、参考 1、Style1 """ author: tyran """from numpy import sin, cos, pi import matplotlib.pyp…

node.js卸载并重新安装(超详细图文步骤)

卸载node.js 重新安装nodejs 一、卸载 1、首先进入控制面板卸载程序 2、卸载后 到文件夹中进行进一步的删除 删除上述的几个文件夹 每个人可能不一样,总之是找到自己的nodejs安装路径,下面是我的 ①删除C:UsersAdminAppDataRoaming路径下的npm相关文件…

每天40分玩转Django:Django表单集

Django表单集 一、知识要点概览表 类别知识点掌握程度要求基础概念FormSet、ModelFormSet深入理解内联表单集InlineFormSet、BaseInlineFormSet熟练应用表单集验证clean方法、验证规则熟练应用自定义配置extra、max_num、can_delete理解应用动态管理JavaScript动态添加/删除表…

抽奖2(信奥)

【问题描述】 公司举办年会,为了活跃气氛,设置了摇奖环节。参加聚会的每位员工都有一张带有号码的抽奖券。现在,主持人从小到依次公布了n个不同的获奖号码,小谢看着自己抽奖券上的号码win,无比紧张。请编写一个程序&am…

JWT包中的源码分析【Golang】

前言 最近在学web编程的途中,经过学长提醒,在进行登陆(Login)操作之后,识别是否登陆的标识应该要放入authorization中,正好最近也在学鉴权,就顺便来看看源码了。 正文 1. 代码示例 在进行分…

Airbnb/Booking 系统设计(high level architecture)

原文地址 CodeKarle: Airbnb System Design | Booking.com System Design B站搜 “Airbnb System Design” 有视频版本 需求: 功能性需求 系统用户包括商家和客人。 Hotel - 商家(拥有hotel的人) onboarding - 商家可以入住系统。 update…

windows系统安装完Anaconda之后怎么激活自己的虚拟环境并打开jupyter

1.在win主菜单中找到Anaconda安装文件夹并打开终端 文件夹内有所有安装后的Anaconda的应用软件和终端窗口启动窗口 点击Anaconda Prompt(Anaconda)就会打开类似cmd的命令终端窗口,默认打开的路径是用户名下的路径 2.激活虚拟环境 使用命令…

C++进阶(三)--多态

目录 一、多态的基本概念 1.什么是多态 二、多态的定义及实现 1.虚函数 2.虚函数的重写 3.虚函数重写的⼀些其他问题 协变(了解) 析构函数的重写 C11 override和final 4.重载、覆盖(重写)、隐藏(重定义)的对比 三、抽象类 1.纯虚函数 2.接口继承和实现继承 四、多…

2025经典的软件测试面试题(答案+文档)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 以下是软件测试相关的面试题及答案,希望对各位能有帮助! 1、测试分为哪几个阶段? 一般来说分为5个阶段:单元测试、集成测试…

海南省首套数据资产化系列团体标准正式发布

近日,首套数据资产化系列团体标准正式发布。本次系列涵盖《数据资产 数据治理规范》、《数据资产数据质量评价规范》、《数据资产 数据评估定价办法》和《数据资产 入表流程规范化标准》四项团体标准,通过海南省人工智能学会面向行业发布,自2…

突发!GitLab(国际版)将停止对中国区用户提供 GitLab.com 账号服务

消息称: 目前,为了更加严格的遵循中国网络数据安全管理的相关要求,GitLab SaaS(国际版)已逐步停止向国内用户提供服务与支持,国内用户亦无法注册或使用 GitLab SaaS(国际版)。自您的…

LLaVA模型讲解与总结

系列文章目录 第一章:LoRA微调系列笔记 第二章:Llama系列关键知识总结 第三章:LLaVA模型讲解与总结 文章目录 系列文章目录LLaVA(Large Language and Vision Assistant)Q: 这篇论文试图解决什么问题?Q: 论…

【linux内核分析-存储】EXT4源码分析之“创建文件”原理

EXT4源码分析之“文件创建”原理,详细的介绍文件创建的核心流程,并对EXT4中关于文件创建的关键函数进行了分析。 文章目录 0.前言1.创建文件概览1.1关键流程1.2 关键步骤说明 2.源码分析2.1 入口函数ext4_create2.2 分配inode关键函数 ext4_new_inode_st…

自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection

骨骼点检测技术是一项强大的AI能力,能够从图片中识别出人体的关键骨骼点位置,如头部、肩部、手肘等。这些信息在人体姿态分析、动作捕捉、健身指导等场景中有着广泛应用。我决定深入学习HarmonyOS Next最新版本API 13中的Skeleton Detection API&#xf…

使用ArcGIS Pro自带的Notebook计算多个遥感指数

在之前的分享中,我们介绍了如何使用ArcPy将GEE下载的遥感影像转为单波段文件。基于前面创建的单波段文件,我们可以一次性计算多种遥感指数,例如NDVI、EVI、NDSI等。我这里直接在ArcGIS Pro中自带的Notebook进行的运行。如下图所示&#xff0c…

XGPT用户帮助手册

文章目录 2024 更新日志2024.12.272024.12.29 摘要 本文详细介绍了XGPT软件的功能及发展历程。XGPT是一款融合了当前最先进人工智能技术的多模态智能软件,专为国内用户优化设计。除了强大的智能问答功能外,XGPT还结合日常办公和科学研究的需求&#xff0…

面试提问:Redis为什么快?

Redis为什么快? 引言 Redis是一个高性能的开源内存数据库,以其快速的读写速度和丰富的数据结构支持而闻名。本文将探讨Redis快速处理数据的原因,帮助大家更好地理解Redis的内部机制和性能优化技术。 目录 完全基于内存高效的内存数据结构…

强化学习——贝尔曼公式

文章目录 前言一、Return的重要性二、State Value三、贝尔曼公式总结 前言 一、Return的重要性 在不同策略下,最终得到的return都会有所不同。因此,return可以用来评估策略。 return的计算公式在基础概念中已经给出,通过包含 γ {\gamma} γ与…

使用MFC编写一个paddleclas预测软件

目录 写作目的 环境准备 下载编译环境 解压预编译库 准备训练文件 模型文件 图像文件 路径整理 准备预测代码 创建预测应用 新建mfc应用 拷贝文档 配置环境 界面布局 添加回cpp文件 修改函数 报错1解决 报错2未解决 修改infer代码 修改MFCPaddleClasDlg.cp…

CSS特效032:2025庆新春,孔明灯向上旋转飘移效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…