Learning to See in the Dark 论文阅读

发布于:2025-06-25 ⋅ 阅读:(23) ⋅ 点赞:(0)

摘要 (Abstract)

在弱光环境下成像具有挑战性,原因在于光子数量少且信噪比(SNR)低。短曝光图像会受到噪声影响,而长曝光则可能引入模糊且通常不切实际。虽然已经提出了各种去噪、去模糊和增强技术,但它们在极端条件(如夜间视频速率成像)下的有效性有限。为了支持基于学习的弱光图像处理流程的开发,我们引入了一个包含原始短曝光弱光图像及相应长曝光参考图像的数据集。利用该数据集,我们开发了一个基于端到端训练的全卷积网络的弱光图像处理流程。该网络直接在原始传感器数据上运行,取代了传统图像处理流程的大部分环节,后者在此类数据上往往表现不佳。我们在新数据集上报告了令人鼓舞的结果,分析了影响性能的因素,并指出了未来的研究方向。

1. 引言 (Introduction)

噪声存在于任何成像系统中,但它使得弱光成像尤其具有挑战性。高ISO可用于增加亮度,但也会放大噪声。可以应用后处理(如缩放或直方图拉伸),但这并不能解决因光子数量少导致的低信噪比(SNR)问题。有一些物理方法可以在弱光下提高SNR,包括开大光圈、延长曝光时间和使用闪光灯。但这些方法各有其特有的缺点。例如,增加曝光时间可能因相机抖动或物体运动而引入模糊。

低信噪比(SNR) 是指信号与噪声的比值较低,即信号中噪声成分较多,导致信号质量下降的现象。

在弱光下进行快速成像的挑战在计算摄影领域众所周知,但尚未得到解决。研究人员提出了弱光图像的去噪、去模糊和增强技术[34, 16, 42]。这些技术通常假设图像是在具有一定昏暗程度和中等噪声水平的环境中捕获的。相反,我们关注的是光照严重受限(例如月光)且曝光时间短(理想情况下为视频速率)的极端弱光成像。在这种条件下,传统的相机处理流程失效,必须从原始传感器数据重建图像。
在这里插入图片描述
图1展示了我们的设定场景。环境极其黑暗:相机处的照度小于0.1勒克斯(lux)。曝光时间设置为1/30秒,光圈为f/5.6。在通常被认为很高的ISO 8,000下,尽管索尼全画幅传感器具有高感光性,相机产生的图像基本是黑色的。在远超大多数相机能力的ISO 409,600下,场景内容勉强可辨,但图像暗淡、充满噪声且色彩失真。正如我们将要展示的,即使是最先进的去噪技术[32]也无法去除此类噪声,也无法解决色彩偏差问题。另一种方法是使用连拍图像[24, 14],但在极端弱光条件下,连拍对齐算法可能失效,且连拍流程并非为视频捕获设计(例如,由于在连拍中使用“幸运成像”技术)。

我们提出了一种新的图像处理流程,通过数据驱动的方法应对极端弱光摄影的挑战。具体来说,我们训练深度神经网络来学习针对弱光原始数据的图像处理流程,包括色彩变换、去马赛克、降噪和图像增强。该流程经过端到端训练,以避免传统相机处理流程在此条件下特有的噪声放大和误差累积问题。

大多数现有的弱光图像处理方法是在合成数据上或在没有真实参考(ground truth)的真实弱光图像上进行评估的。据我们所知,目前没有公开的数据集可用于训练和测试处理具有多样化真实世界数据和真实参考的快速弱光图像的技术。因此,**我们收集了一个新的数据集,包含在弱光条件下快速曝光捕获的原始图像。每张弱光图像都有对应的长曝光高质量参考图像。**我们在新数据集上展示了令人鼓舞的结果:弱光图像被放大高达300倍,同时成功降噪并进行了正确的色彩变换。我们系统地分析了该流程的关键要素,并讨论了未来的研究方向。

2. 相关工作 (Related Work)

弱光图像的计算处理已在文献中得到广泛研究。我们对现有方法进行简要回顾。

  • 图像去噪 (Image denoising): 图像去噪是底层视觉中一个发展成熟的主题。已提出了许多方法,使用技术如全变分[36]、小波域处理[33]、稀疏编码[9, 28]、核范数最小化[12]和3D变换域滤波(BM3D)[7]。这些方法通常基于特定的图像先验,如平滑性、稀疏性、低秩性或自相似性。研究人员也探索了深度网络在去噪中的应用,包括堆叠稀疏去噪自编码器(SSDA)[39, 1]、可训练非线性反应扩散(TNRD)[6]、多层感知器[3]、深度自编码器[26]和卷积网络[17, 41]。当在特定噪声水平上训练时,这些数据驱动的方法可以与最先进的经典技术(如BM3D和稀疏编码)相媲美。不幸的是,大多数现有方法是在合成数据(如添加了高斯噪声或椒盐噪声的图像)上进行评估的。最近一项使用真实数据的仔细评估发现,在真实图像上BM3D优于更新的技术[32]。联合去噪和去马赛克也得到了研究,包括最近使用深度网络的工作[15, 10],但这些方法是在合成的拜耳(Bayer)模式和合成噪声上进行评估的,而不是在极端弱光条件下收集的真实图像上。
  • 弱光图像增强 (Low-light image enhancement): 已应用各种技术来增强弱光图像的对比度。一个经典的选择是直方图均衡化(Histogram Equalization),它平衡整个图像的直方图。另一种广泛使用的技术是伽马校正(Gamma Correction),它在压缩亮像素的同时增加暗区域的亮度。更先进的方法执行更全局的分析和处理,例如使用逆暗通道先验(Inverse Dark Channel Prior)[8, 29]、小波变换[27]、Retinex模型[30]和光照图估计[13]。然而,这些方法通常假设图像已经包含了场景内容的良好表示。它们没有显式地建模图像噪声,并且通常应用现成的去噪作为后处理。相比之下,我们考虑的是极端弱光成像,其严重的噪声和色彩失真超出了现有增强流程的操作条件。
  • 含噪图像数据集 (Noisy image datasets): 尽管有许多关于图像去噪的研究,但大多数现有方法是在合成数据上评估的,例如添加了高斯噪声或椒盐噪声的干净图像。RENOIR数据集[2]被提出来用于使用真实噪声图像对去噪进行基准测试。然而,如文献[32]所述,RENOIR数据集中的图像对存在空间错位(misalignment)。连拍图像已被用于在弱光条件下降低噪声[24],但相关数据集不包含可靠的参考数据。Google HDR+数据集[14]的目标并非极端弱光成像:该数据集中的大多数图像是在白天拍摄的。最近的Darmstadt噪声数据集(DND)[32]旨在满足去噪社区对真实数据的需求,但这些图像也是在白天捕获的,不适合评估弱光图像处理。据我们所知,目前没有包含原始弱光图像和相应真实参考的公开数据集。因此,我们收集了这样一个数据集,以支持在该领域进行系统化、可复现的研究。

3. See-in-the-Dark 数据集 (See-in-the-Dark Dataset)

我们收集了一个新的数据集,用于训练和基准测试原始弱光图像的单帧处理。See-in-the-Dark (SID) 数据集包含5094张原始短曝光图像,每张图像都有对应的长曝光参考图像。请注意,多个短曝光图像可以对应于同一个长曝光参考图像。例如,我们收集了短曝光图像序列来评估连拍去噪方法。序列中的每张图像都被计为一张独立的弱光图像,因为每张这样的图像都包含真实的成像伪影,对训练和测试很有用。SID中独立的长曝光参考图像数量为424张。

数据集包含室内和室外图像。室外图像通常在夜间、月光或路灯下捕获。室外场景中相机处的照度通常在0.2勒克斯(lux)到5勒克斯之间。室内图像更暗,是在关闭常规灯光、仅设置微弱间接照明的封闭房间内捕获的。室内场景中相机处的照度通常在0.03勒克斯到0.3勒克斯之间。

输入图像的曝光时间设置在1/30秒到1/10秒之间。相应的参考(真实参考)图像的曝光时间要长100到300倍:即10秒到30秒。由于参考图像的曝光时间必然很长,数据集中的所有场景都是静态的。数据集概况总结在表1中。图2展示了一小部分参考图像样本。每种条件下大约20%的图像被随机选择组成测试集,另外10%用于验证集。
在这里插入图片描述
在这里插入图片描述

图像使用两台相机捕获:索尼α7S II(Sony α7S II)和富士X-T2(Fujifilm X-T2)。这些相机具有不同的传感器:索尼相机配备全画幅拜耳(Bayer)传感器,富士相机配备APS-C X-Trans传感器。这支持了在不同滤色阵列(filter array)产生的图像上评估弱光图像处理流程。分辨率方面,索尼图像为4240×2832像素,富士图像为6000×4000像素。索尼图像集使用两种不同的镜头收集。

相机安装在坚固的三脚架上。我们使用无反相机以避免反光板翻动引起的振动。在每个场景中,调整相机设置(如光圈、ISO、对焦和焦距)以最大化参考(长曝光)图像的质量。拍摄完长曝光参考图像后,使用远程智能手机应用程序将曝光时间减少100到300倍,拍摄一系列短曝光图像。在拍摄长曝光和短曝光图像之间没有触碰相机。我们收集了短曝光图像序列,以支持与受益于完美对齐的理想化连拍成像流程进行比较。

长曝光参考图像可能仍包含一些噪声,但其感知质量足够高,可以作为真实参考。我们的目标应用旨在弱光条件下产生感知良好的图像,而不是彻底去除所有噪声或最大化图像对比度。

4. 方法 (Method)

流程 (Pipeline)

从成像传感器获取原始数据后,传统的图像处理流程应用一系列模块,如白平衡、去马赛克、去噪、锐化、色彩空间转换、伽马校正等。这些模块通常针对特定相机进行调整。Jiang等人[18]提出使用大量局部的、线性的、学习到的(L3)滤波器来近似现代消费成像系统中的复杂非线性流程。然而,无论是传统流程还是L3流程都无法成功处理快速弱光成像,因为它们无法处理极低的SNR。Hasinoff等人[14]描述了一种用于智能手机相机的连拍成像流程。该方法通过对齐和融合多张图像可以产生良好效果,但引入了相当的复杂性(例如,需要密集对应关系估计),并且可能不易扩展到视频捕获(例如,由于使用了“幸运成像”)。

我们提出使用端到端学习直接对快速弱光图像进行单帧处理。具体来说,我们训练一个全卷积网络(FCN)[22, 25]来执行整个图像处理流程。最近的工作表明,纯FCN可以有效地表示许多图像处理算法[40, 5]。我们受此启发,研究将这种方法应用于极端弱光成像。与在传统相机处理流程产生的正常sRGB图像上操作不同,我们在原始传感器数据上操作。
在这里插入图片描述
图3(b)展示了所提出流程的结构。对于拜耳阵列(Bayer arrays),我们将输入打包成四个通道,并相应地在每个维度上将空间分辨率降低两倍。对于X-Trans阵列(图中未显示),原始数据排列在6×6块中;我们通过交换相邻元素将其打包成9个通道,而不是36个通道。我们减去黑电平(black level)并按所需的放大比(例如×100或×300)缩放数据。打包并放大后的数据被送入一个全卷积网络。输出是一个具有一半空间分辨率的12通道图像。这个半尺寸的输出通过一个子像素层(sub-pixel layer)处理以恢复原始分辨率[37]。

经过初步探索,我们专注于两种用于构成我们流程核心的全卷积网络通用结构:最近用于快速图像处理的多尺度上下文聚合网络(CAN)[5]和U-net[35]。其他工作探索了残差连接[20, 34, 41],但我们发现在我们的设定中这些连接并无益处,可能是因为我们的输入和输出表示在不同的色彩空间中。影响我们架构选择的另一个考虑因素是内存消耗:我们选择了可以在GPU内存中处理全分辨率图像(例如4240×2832或6000×4000分辨率)的架构。因此我们避免了需要处理小图像块并重新组装的[26]全连接层(fully-connected layers)。我们的默认架构是U-net[35]。
在这里插入图片描述
放大比决定了输出的亮度。在我们的流程中,放大比由外部设置,并作为输入提供给流程,类似于相机中的ISO设置。图4展示了不同放大比的效果。用户可以通过设置不同的放大因子来调整输出图像的亮度。在测试时,该流程执行盲噪声抑制(blind noise suppression)和色彩变换。网络直接在sRGB空间中输出处理后的图像。

训练 (Training)

我们使用L1损失和Adam优化器[21]从头开始训练网络。训练期间,网络的输入是短曝光图像的原始数据,真实参考(ground truth)是对应的长曝光图像在sRGB空间中的版本(使用原始图像处理库libraw处理)。我们为每台相机训练一个网络。放大比在训练和测试中都设置为输入图像和参考图像之间的曝光差异(例如×100、×250或×300)。在每次迭代中,我们随机裁剪一个512×512的块进行训练,并应用随机翻转和旋转进行数据增强(data augmentation)。学习率初始设置为 10 − 4 10^{-4} 104,2000个epoch后降至 10 − 5 10^{-5} 105。训练共进行4000个epoch。

5. 实验 (Experiments)

定性结果与感知实验 (Qualitative results and perceptual experiments)

  • 与传统流程比较 (Comparison to traditional pipeline): 我们最初的基线是传统的相机处理流程,在量化之前进行放大(使用与我们流程相同的放大比)。与该基线的定性比较见图5、6和7。在极端弱光条件下,传统流程产生的图像存在严重的噪声和色彩失真。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 与去噪和连拍处理的比较 (Comparison to denoising and burst processing): 自然的下一步是将现有的去噪算法后处理地应用到传统流程的输出上。最近一项在真实数据上的仔细评估表明,BM3D[7]在真实图像上优于更新的去噪模型[32]。因此,我们使用BM3D作为参考去噪算法。图7展示了结果。请注意,BM3D是一种非盲去噪方法(non-blind denoising method),需要外部指定噪声水平作为参数。小的噪声水平设置可能会在图像中留下感知显著的噪声,而大的水平可能导致过度平滑。如图7所示,这两种效应可能在同一图像中共存,因为均匀加性噪声并非真实弱光图像的合适模型。相比之下,我们的流程执行盲噪声抑制,可以局部适应数据。此外,后处理去噪无法解决传统流程输出中存在的其他伪影,如色彩失真。

  • 与连拍去噪的比较 (Comparison to burst denoising [24, 14]): 由于我们数据集中的图像序列已经对齐,我们比较的连拍成像流程是理想化的:它受益于完美的对齐,而这在实践中并不存在。既然对齐问题已经解决,我们通过取8张图像序列的逐像素中值(per-pixel median)来执行连拍去噪。

  • 感知实验 (Perceptual experiment): 使用参考长曝光图像在PSNR/SSIM方面进行比较对BM3D和连拍处理不公平,因为这些基线必须使用经过不同处理的输入图像。为了公平比较,我们使用参考图像的白平衡系数来减少色彩偏差。此外,我们逐通道地将提供给基线的图像缩放到与参考图像相同的均值。这些调整使基线产生的图像在色彩和亮度上更接近参考图像。请注意,这相当于使用特权信息(privileged information)来帮助基线。

为了评估我们的流程、BM3D去噪和连拍去噪产生的图像的相对质量,我们在亚马逊土耳其机器人(Amazon Mechanical Turk)平台[4]上部署了基于盲随机A/B测试(blind randomized A/B tests)的感知实验。每次比较向一位MTurk工作者展示由两种不同流程产生的相应图像,工作者必须判断哪张图像质量更高。图像对以随机顺序(随机左右顺序)呈现,没有指明不同图像的来源。10位MTurk工作者共进行了1180次比较。表2显示了工作者选择我们流程产生的图像优于基线对应图像的比率。我们在测试集的两个子集上进行了实验:索尼×300(具有挑战性)和索尼×100(较容易)。我们的流程在具有挑战性的×300集上显著优于基线,在较容易的×100集上与基线相当。回顾一下,由于提供给基线的数据经过了预言机预处理(oracle preprocessing),该实验偏向于基线。还要注意,连拍去噪使用了来自8张完美对齐图像的信息。
在这里插入图片描述

  • 在智能手机图像上的定性结果 (Qualitative results on smartphone images): 我们期望在为特定相机传感器训练专用网络时获得最佳结果。然而,我们在跨传感器泛化(cross-sensor generalization)上的初步实验表明,这可能并非总是必要的。我们将一个在SID的索尼子集上训练的模型应用于由iPhone 6s智能手机捕获的图像,该手机也具有拜耳滤色阵列(Bayer filter array)和14位原始数据。我们使用一个应用程序手动设置ISO和其他参数,并导出原始数据进行处理。图6展示了一个代表性结果。经过传统流程处理的弱光数据存在严重的噪声和色彩偏移(color shift)。我们的网络(在来自不同相机的图像上训练)的结果具有良好的对比度、低噪声和良好调整的色彩。

对照实验 (Controlled experiments)

表3(第一行)报告了所提出流程在峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和结构相似性(Structural SIMilarity, SSIM)[38]方面的准确性。我们现在描述一系列评估流程中不同要素影响的对照实验。

  • 网络结构 (Network structure): 我们首先比较不同的网络架构。表3(第2行)报告了用CAN[5]替换U-net[35](我们的默认架构)的结果。U-net在两个子集上都有更高的PSNR。尽管CAN产生的图像具有更高的SSIM,但它们有时会遭受色彩丢失。图8显示了来自富士×300集的一个图像块。这里,CAN未能正确恢复色彩。
    在这里插入图片描述
    在这里插入图片描述

  • 输入色彩空间 (Input color space): 大多数现有的去噪方法在已经被传统图像处理流程处理过的sRGB图像上操作。我们发现,在极端弱光条件下,直接在原始传感器数据上操作要有效得多。表3(第3行)显示了当所提出的流程应用于传统流程产生的sRGB图像时的结果。

  • 损失函数 (Loss functions): 我们默认使用L1损失,但评估了许多替代损失函数。如表3(第4和5行)所示,用L2或SSIM[43]损失替换L1损失会产生相当的结果。我们没有观察到任何一种损失函数带来系统性的感知优势。添加总变分损失(total variation loss)没有提高准确性。添加GAN损失[11]显著降低了准确性。

  • 数据排列 (Data arrangement): 原始传感器数据将所有颜色放在一个通道中。为卷积网络排列原始数据的常见选择包括:将颜色值打包到不同通道中并相应降低空间分辨率,或者复制和掩码(masking)不同颜色[10]。我们默认使用打包(packing)。如表3(第6行)所示,掩码拜耳数据(索尼子集)比打包产生更低的PSNR/SSIM;掩码方法的一个典型感知伪影是输出中丢失某些色调(hues)。

    • X-Trans数据在结构上与拜耳数据非常不同,排列在6×6块中。一种选择是将其打包为36个通道。相反,我们在相邻元素之间交换一些值以创建3×3模式,然后打包成9个通道。如表3(第7行)所示,6×6打包会产生较低的PSNR/SSIM;一个典型的感知伪影是色彩和细节的丢失。
  • 后处理 (Postprocessing): 在初步实验中,我们在参考图像的处理流程中包含了直方图拉伸(histogram stretching)。因此,网络除了学习其余处理流程外,还必须学习直方图拉伸。尽管尝试了许多网络架构和损失函数,我们未能成功训练网络来执行此任务。如表3(第8行)所示,当对参考图像应用直方图拉伸(因此网络必须学习直方图拉伸)时,网络的准确性显著下降。我们的实验表明,我们的流程不容易学习建模和操作整个图像的全局直方图统计信息,并且在面对此任务时容易过拟合训练数据。因此,我们将直方图拉伸排除在流程之外,并可选地将其作为后处理应用。图9展示了一个典型结果,试图学习直方图拉伸在测试时会产生可见伪影。在未拉伸的参考图像上训练的结果较暗但更干净。
    在这里插入图片描述

6. 讨论 (Discussion)

快速弱光成像是一项艰巨的挑战,源于光子数量少和SNR低。在黑暗、视频速率、低于1勒克斯的条件下进行成像,使用传统的信号处理技术被认为是不切实际的。在本文中,我们提出了See-in-the-Dark (SID) 数据集,旨在支持开发可能实现这种极端成像的数据驱动方法。利用SID,我们开发了一个简单的流程,改进了传统的弱光图像处理。所提出的流程基于全卷积网络的端到端训练。实验展示了令人鼓舞的结果,在SID数据上成功抑制了噪声并进行了正确的色彩变换。

所提出的工作为未来的研究开辟了许多机会。我们的工作没有解决HDR色调映射(HDR tone mapping)问题(注意图1©中的饱和区域)。SID数据集的局限性在于它不包含人物和动态物体。所提出流程的结果并不完美,可以在未来的工作中改进;×300子集尤其具有挑战性。图10(d)展示了所提出方法输出中的一些伪影。
在这里插入图片描述
所提出流程的另一个局限是放大比必须由外部选择。能够从输入推断出合适的放大比(类似于自动ISO)会很有用。此外,我们目前假设为给定的相机传感器训练一个专用网络。我们在跨传感器泛化上的初步实验是令人鼓舞的,未来的工作可以进一步研究弱光成像网络的泛化能力。

未来工作的另一个机会是运行时优化。所提出的流程处理全分辨率索尼和富士图像分别需要0.38秒和0.66秒;这对于全分辨率的实时处理来说还不够快,尽管可以实时生成低分辨率预览图像。

我们期望未来的工作能在图像质量上带来进一步改进,例如通过系统地优化网络架构和训练过程。我们希望SID数据集和我们的实验发现能够激发并支持此类系统性的研究。



网站公告

今日签到

点亮在社区的每一天
去签到