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 张图像的新数据集启用,这些图像使用迄今为止最广泛的曝光错误进行渲染。 我们引入的数据集中的每个图像都有一个由训练有素的摄影师通过良好的曝光补偿正确渲染的参考图像。 通过广泛的评估,我们表明,与校正曝光错误渲染的图像的可用解决方案相比,我们的方法产生了令人信服的结果,并且它具有良好的概括性。 我们相信我们的数据集将有助于未来改进照片曝光校正的工作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

湖南引力:低代码助力实现智慧养老管理系统

“低代码开发宛如一座神奇的桥梁,它以简洁高效的方式连接起创意与应用,降低了开发门槛,为企业和开发者带来前所未有的便捷与可能,开启了快速实现软件梦想的新征程。” ——王港,湖南引力科技有限公司 湖南引力科技有…

uniapp中wx.getFuzzyLocation报错如何解决

一、用wx.getLocation接口审核不通过 用uniapp开发小程序时难免需要获取当前地理位置。 代码如下: uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度: res.longitude);console.log(当前位置的纬度: r…

【探花交友】day03—MongoDB基础

目录 课程介绍 1、通用设置 1.1 需求分析 1.2 查询通用设置 1.2 陌生人问题 1.3 通知设置 1.4 黑名单管理 2、MongoDB简介 1.1、MongoDB简介 1.2、MongoDB的特点 1.3 数据类型 3、MongoDB入门 2.1、数据库以及表的操作 2.2、新增数据 2.3、更新数据 2.4、删除数…

编程考古-传奇的开始Delphi(下)含所有版本.iso

概览 Delphi 的最新版本,即 Delphi 12,勾勒出了自公司创立以来的一条进化之路。该平台不断通过提升开发者生产力、扩展其支持的平台范围以及引入前沿技术来实现自我完善。作为 Embarcadero 提供的主要快速应用开发(RAD)环境&…

Debian安装配置RocketMQ

安装配置 本次安装在/tools/rocket目录下 下载 wget https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip 解压缩 unzip rocketmq-all-5.3.1-bin-release.zip 如果出现以下报错 -bash: unzip: command not found可安装unzip工具后执…

MyBatis知识点笔记

目录 mybatis mapper-locations的作用? mybatis configuration log-impl 作用? resultType和resultMap的区别? 参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法 取值方式#和$区别 动态标签有哪些 MyBat…

20241218-信息安全理论与技术复习题

20241218-信息安全理论与技术复习题 一、习题1 信息安全的基本属性是(D )。 A、机密性 B、可用性 C、完整性 D、上面 3 项都是 “会话侦听和劫持技术” 是属于(B)的技术。 A、 密码分析还原 B、 协议漏洞渗透 C、 应用漏洞分析与渗透 D、 D…

顶顶通呼叫中心中间件的三种呼叫方式(mod_cti基于FreeSWITCH)

顶顶通呼叫中心共有三种呼叫方式: 手拨呼叫点击呼叫自动外呼 联系我们 有意向了解呼叫中心中间件的用户,可以点击该链接添加工作人员:https://blog.csdn.net/H4_9Y/article/details/136148229 手拨呼叫 手拨呼叫属于常规的呼叫方式&…

C 语言中 strlen 函数的深入剖析

目录 一、strlen 函数的基本介绍 二、strlen 函数的工作原理 三、strlen 函数的使用注意事项 四、strlen 与其他字符串处理函数的结合使用 五、strlen 在实际编程中的应用场景 六、总结 在 C 语言的编程世界里,strlen函数是一个经常被使用但又容易被误解的重要…

Redis 实战篇 ——《黑马点评》(上)

《引言》 在进行了前面关于 Redis 基础篇及其客户端的学习之后,开始着手进行实战篇的学习。因内容很多,所以将会分为【 上 中 下 】三篇记录学习的内容与在学习的过程中解决问题的方法。Redis 实战篇的内容我写的很详细,为了能写的更好也付出…

文档解析丨高效准确的PDF解析工具,赋能企业非结构化数据治理

在数据为王的时代浪潮中,企业数据治理已成为组织优化运营、提高竞争力的关键。随着数字化进程的加速,企业所积累的数据量呈爆炸式增长,数据类型也愈发多样化,这些数据构成了现代企业数据资产的重要组成部分。 然而,传…

支持最新 mysql9的workbench8.0.39 中文汉化教程来了

之前在 B 站上发布了 mysql8 workbench 汉化教程,一年多来帮助很多初学者解决了不熟悉英文的烦恼。 汉化视频可以访问: 2024最新版mysql8.0.39中文版mysql workbench汉化 中文升级 旧版汉化报错解决_哔哩哔哩_bilibili MySql Workbench汉化_哔哩哔哩_…

02-18.python入门基础一基础算法

(一)排序算法 简述: 在 Python 中,有多种常用的排序算法,下面为你详细介绍几种常见的排序算法及其原理、实现代码、时间复杂度以及稳定性等特点,并对比它们适用的场景。 冒泡排序(Bubble Sor…

机器学习详解(11):分类任务的模型评估标准

模型评估是利用不同的评估指标来了解机器学习模型的性能,以及其优势和劣势的过程。评估对于确保机器学习模型的可靠性、泛化能力以及在新数据上的准确预测能力至关重要。 文章目录 1 介绍2 评估准则3 分类指标3.1 准确率 (Accuracy)3.2 精确率 (Precision)3.3 召回率…

【Mac】终端改色-让用户名和主机名有颜色

效果图 配置zsh 1.打开终端,进入.zshrc配置 cd ~ vim .zshrc2.添加如下配置并保存 # 启用命令行颜色显示 export CLICOLOR1 ## 加载颜色支持 autoload -U colors && colors # 配置 zsh 提示符 PROMPT"%{$fg_bold[red]%}%n%{$reset_color%}%{$fg_bol…

【Artificial Intelligence篇】智行未来:AI 在日常出行领域的崛起征程

目录 ​编辑 一、引言: 二、AI 在日常出行中的关键技术应用: 2.1自动驾驶技术: 2.2智能交通管理: 2.3出行辅助系统: 三、AI 在日常出行领域的发展现状: 四、AI 在日常出行领域的未来前景&#xff…

指针之矢:C 语言内存幽境的精准飞梭

一、内存和编码 指针理解的2个要点: 指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常指的是指针变量。…

springboot478基于vue全家桶的pc端仿淘宝系统(论文+源码)_kaic

摘 要 随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,网上购物系统展现了其蓬勃生命力和广阔的前景。与此同时,为解…

Html——12. 定义样式和引入样式

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>定义样式和引入样式文件&#xff08;CSS文件&#xff09;</title><style type"text/css">body{font-size: 40px;}</style><link rel"s…

Gitlab17.7+Jenkins2.4.91实现Fastapi/Django项目持续发布版本详细操作(亲测可用)

一、gitlab设置&#xff1a; 1、进入gitlab选择主页在左侧菜单的下面点击管理员按钮。 2、选择左侧菜单的设置&#xff0c;选择网络&#xff0c;在右侧选择出站请求后选择允许来自webhooks和集成对本地网络的请求 3、webhook设置 进入你自己的项目选择左侧菜单的设置&#xff…