当前位置: 首页 > ops >正文

【LLIE专题】SIED:看穿0.0001lux的极致黑暗

在这里插入图片描述


SIED:看穿0.0001lux的极致黑暗(2025)

  • 专题介绍
  • 一、研究背景
  • 二、方法细节
    • 2.1 See-in-the-Extremely-Dark Dataset
    • 2.2 模型方法
    • 2.3 网络训练
  • 三、实验论证
  • 四、总结和思考

本文将对《Learning to See in the Extremely Dark》这篇文章进行解读。该论文提出了一种配对到配对的数据合成方案,组成一个名为“See-in-the-Extremely-Dark, SIED”的大规模配对数据集。并提出了一种基于扩散模型的框架,能够从极低信噪比的RAW输入中恢复视觉上令人满意的结果。
参考资料如下:
[1]. SIED论文地址
[2]. 源码地址


专题介绍

在低光照环境下,传统成像设备往往因画面昏暗、细节丢失而受限。LLIE(低照度暗光增强)技术应运而生,它通过提升图像亮度、对比度,减少噪点并恢复色彩细节,让暗夜变得清晰可见。

LLIE技术从传统方法如直方图均衡化、Retinex模型等起步,近年来借助深度学习,尤其是卷积神经网络(CNN),GAN模型,扩散模型实现了质的飞跃。这些算法能自动学习图像特征,精准处理低光照图像,效果显著优于传统技术。

本专题将聚焦LLIE技术的核心原理、应用案例及最新进展,让我们一起见证LLIE如何点亮暗夜,开启视觉新视界!欢迎一起探讨交流!

系列文章如下
【1】ZeroDCE
【2】HVI
【3】CLIP-LIT
【4】GLARE
【5】Retinexformer
【6】SG-LLIE
【7】GPP-LLIE
【8】FusionNet
【9】EnligtenGAN
【10】PTG
【11】CSNorm
【12】SG-LLIE结构提取方案
【13】SAIGFormer
【14】BEM
【15】语义感知知识引导的LLIE

一、研究背景

从低光观察中恢复高质量清晰图像是一项具有挑战性的任务,因为它即要提高全局和局部亮度对比度,还需要抑制放大的噪声并保证细节和颜色准确性。

现有的低光RAW图像增强方法在极暗场景(环境照度低至0.0001勒克斯)下的表现仍有待探索,这主要是由于缺乏相应的数据集。现有数据集通常只提供粗略的照度水平(SID数据集中,室内0.2-5.0lux,室外0.03-0.3lux),缺乏在更暗场景下捕获的数据。同时,在真正极端的黑暗条件下,通过长时间曝光获得GT图像不太现实,会导致残余噪声和运动模糊。

另一方面,大部分LLIE方案都是在RGB域做处理,比较方便,应用更广泛,但会损失不少原始信息;Raw-based的方案相比之下就少很多了,但该路径更有利于实现极暗场景效果的效果突破,因为raw数据具备更多信息。

该论文在数据集和raw-based模型上均做出了一些创新,其关键点可提炼如下:

  1. 新型数据合成管道:提出了一种"配对到配对"的数据合成pipeline,能够生成三个精确照度范围(0.01-0.1lux、0.001-0.01lux和0.0001-0.001lux)的极低光RAW图像,以及对应的高质量sRGB参考图像,形成了大规模SIED数据集。

  2. 基于扩散的框架:提出了一种基于扩散模型的多阶段框架,利用扩散模型的生成能力和内在去噪特性,从极低信噪比的RAW输入中恢复视觉上令人满意的结果。

  3. 自适应光照校正模块(AICM):设计了一个简单而有效的自适应光照校正模块,能够从低光RAW特征中估计放大系数,在潜在空间中进行光照校正,避免扩散过程中的曝光偏差,获得更好的恢复结果。

  4. 颜色一致性损失:提出了一种基于颜色直方图的颜色一致性损失,优化生成sRGB特征的颜色直方图与编码参考sRGB特征的对齐,促进扩散模型生成具有准确颜色映射的重建sRGB特征。

二、方法细节

2.1 See-in-the-Extremely-Dark Dataset

巧妇难为无米之炊,众所周知,要想模型训练好,高质数据不能少。

既然要做extremely dark增强,就得先有extremely dark dataset。这数据集采集制作难度不小,而该论文提出了一种数据仿真新方案。
总共分为三大步:

step1——专业光学实验室extremely dark数据采集

使用Sony α7RIII和Canon EOS R相机,在具有可控光源和专业照度计(PHOTO-2000μ)的光学实验室中进行标准extremely dark数据采集以作为基准,共捕获了三个精确照度范围的低光RAW图像(0.01-0.1 lux、0.001-0.01 lux、0.0001-0.001 lux)

在这里插入图片描述

step2——真实场景的成对数据采集

主要收集成对的lowlight raw数据和normal light sRGB数据,两者曝光差覆盖20-200倍之间。每个场景都会调整光圈、ISO、焦距等参数,并配合三脚架和远程控制,使得sRGB数据的质量尽量高。并对原分辨率进行裁剪,最终每个照度子集有1680对数据。

step3——数据对合成

首先做光照对齐,由于RAW图像中的光照信息与光子强度线性相关。于是可以使用实验室标准数据的曝光量IstI_{\text{st}}Ist来调整实景中的低光数据IcapI_{\text{cap}}Icap,得到合成后的低光数据IsynI_{\text{syn}}Isyn,调整公式如下:
Isyn=Icap⋅(Expo⁡(Ist)Expo⁡(Icap)+η)I_{\text{syn}} = I_{\text{cap}} \cdot (\frac{\operatorname{Expo}(I_{\text{st}})}{\operatorname{Expo}(I_{\text{cap}})} + \eta)Isyn=Icap(Expo(Icap)Expo(Ist)+η)
其中,Expo⁡(.)\operatorname{Expo}(.)Expo(.)是计算Bayer通道的平均值,用来表征照度信息,η\etaη是手动调整的因子。

通过这种方式来模拟真实的光照退化,使合成图像与实验室标准数据的三个照度范围上保持一致。

这里乍一看没啥问题,但实际光照条件很多事不均匀的,单靠一个全局曝光量难以衡量真实局部照度水平。且这种处理方式可能会导致过曝区域发灰

然后做噪声添加,先估计两款相机传感器的噪声模型,拟合不同ISO值下的高斯和泊松噪声分布。但作者认为极低照度下,噪声分布不应是纯P+G模型(这点表示认同),于是采集黑帧来校正高斯噪声,用于补充难以显示建模的噪声类型,以更好地满足现实噪声分布特点。

所以,最终噪声模型是高斯、泊松和黑帧分布的组合。

实际添加噪声过程中,还需要考虑ISO大小,

  • 对于0.01-0.1 lux和0.001-0.01 lux:ISO设置范围100-20,000
  • 对于0.0001-0.001 lux:ISO设置范围100-40,000

为了进一步细化光照,采用固定的ISP pipeline将生成的RAW图像和标准图像转换到YUV空间,手动微调ηηη参数,使两幅图像在Y通道(代表图像光照信息)的光照直方图匹配。如下表所示,生成图像与标准实验室图像的直方图分布的平均KL散度在三个照度水平上都小于0.06,说明分布很接近。

在这里插入图片描述
总之,一顿操作后(可以配合下图进行理解),三个照度下都有了相匹配的合成低照度含噪raw图和正常光照sRGB图的数据对,由它们组成了SIED数据集,作者将1500对用于训练,180对用于评估。
在这里插入图片描述

2.2 模型方法

Raw域增强需要关注几个点:对比度增强,噪声抑制,细节重建和颜色复原准确性。

在这里插入图片描述

该方案的框架如上图所示,可以分为以下几个关键部分

  1. 使用RAW编码器Eraw(⋅)\mathcal{E}_{\text{raw}}(\cdot)Eraw()和sRGB编码器Ergb(⋅)\mathcal{E}_{\text{rgb}}(\cdot)Ergb()将输入的噪声RAW图像Iraw​I_{raw}​Iraw和参考GT图像Irgb​I_{rgb}​Irgb转换为潜在空间,分别表示为Fraw​​{\mathcal{F}}_{raw}​​Fraw​​Frgb​{\mathcal{F}}_{rgb}​Frgb

  2. 将特征Frgb​{\mathcal{F}}_{rgb}​Frgb作为扩散模型的输入执行前向扩散过程,同时将特征Fraw​​{\mathcal{F}}_{raw}​​Fraw​​给到自适应光照校正模块(AICM)生成对比度改进的特征F^raw​\hat{\mathcal{F}}_{\text{raw}}​F^raw

  3. 在反向扩散过程中,精炼的RAW特征F^raw​\hat{\mathcal{F}}_{\text{raw}}​F^raw作为指导,确保从噪声张量xt​x_t​xt生成的sRGB特征F^rgb​\hat{\mathcal{F}}_{\text{rgb}}​F^rgb的内容一致性。

  4. 最后,F^rgb​\hat{\mathcal{F}}_{\text{rgb}}​F^rgb送到sRGB解码器Drgb(⋅)\mathcal{D}_{rgb}(\cdot)Drgb()重建出最终结果I^rgb​\hat{I}_{\text{rgb}}​I^rgb

AICM模块

许多方案已表明,对lowlight图像做亮度预增强有助于提升最终效果,通常是参考正常光照的曝光量作为放大系数。但现实中,缺乏标准参考。另外,diffusion容易出现低频生成偏差,特别是在曝光方面。

因此,作者设计了AICM模块,用于从Fraw​​{\mathcal{F}}_{raw}​​Fraw​​中估计放大系数,并在潜空间中进行光照校正。结构非常简单,需要注意的一点是,三个通道采用了不同放大系数。

为了确保预增强的F^raw​\hat{\mathcal{F}}_{\text{raw}}​F^raw与输入的Fraw​​{\mathcal{F}}_{raw}​​Fraw​​具有内容一致性,提出了基于retinex理论的光照校正损失:
Licl=∥LF^raw−LF~raw∥1+∥RF^raw−RFraw∥1\mathcal{L}_{icl} = \| \mathbf{L}_{\hat{\mathcal{F}}_{raw}} - \mathbf{L}_{\tilde{\mathcal{F}}_{raw}} \|_1 + \| \mathbf{R}_{\hat{\mathcal{F}}_{raw}} - \mathbf{R}_{\mathcal{F}_{raw}} \|_1Licl=LF^rawLF~raw1+RF^rawRFraw1

其中GT用的是常规照度Raw的编码特征(图中并未画出),L和R分别为照度图和反射率图。

Diffusion-based Raw2sRGB 重构

第二阶段采用了扩散模型,看重了其生成能力和去噪能力。包括两个部分,前向扩散和反向扩散。

  1. 前向扩散
    编码的sRGB特征Frgb​{\mathcal{F}}_{rgb}​Frgb作为扩散模型的输入,表示为x0​x_0​x0,执行前向扩散过程,其实就是一个不断加噪的过程,通过参数重归一化,可以直接从输入x0​x_0​x0获得xt​x_t​xt,实际公式可简化为:
    xt=αˉtx0+1−αˉtϵt\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \boldsymbol{\epsilon}_txt=αˉtx0+1αˉtϵt
  2. 反向扩散
    学习将随机噪声逐渐复原成符合目标sRGB分布的清晰结果。为了提高可控性,将预增强的F^raw​\hat{\mathcal{F}}_{\text{raw}}​F^raw作为条件,来提升生成保真度。
    在训练阶段,目标不是让模型能够准确预估标准高斯噪声,而是使用内容扩散损失Lcdl​L_{cdl}​Lcdl进行优化,让模型以复原为主避免创造内容。确保增强后的图像与原始场景在内容上保持一致,而不是生成"看起来不错但内容错误"的图像。
    Lcdl=Ex0∼q(x0∣x~),t∼[1,T][∥x^0−x0∥1]\mathcal{L}_{cdl} = \mathbb{E}_{\mathbf{x}_0 \sim q(\mathbf{x}_0|\tilde{\mathbf{x}}), t \sim [1,T]} \left[ \left\| \hat{\mathbf{x}}_0 - \mathbf{x}_0 \right\|_1 \right]Lcdl=Ex0q(x0x~),t[1,T][x^0x01]

进一步,为了保证颜色一致性,将生成sRGB特征的颜色直方图HF^rgb​​\mathcal{H}_{\hat{\mathcal{F}}_{rgb}}​​HF^rgb​​与编码参考sRGB特征的颜色直方图HFrgb​​\mathcal{H}_{{\mathcal{F}}_{rgb}}​​HFrgb​​对齐,公式如下
Lccl=∑c∈[0,C)HF^rgbclog⁡(HF^rgbcHFrgbc+τ)\mathcal{L}_{ccl} = \sum_{c \in [0,C)} \mathcal{H}_{\hat{\mathcal{F}}^c_{rgb}} \log \left( \frac{\mathcal{H}_{\hat{\mathcal{F}}^c_{rgb}}}{\mathcal{H}_{\mathcal{F}^c_{rgb}} + \tau} \right)Lccl=c[0,C)HF^rgbclog(HFrgbc+τHF^rgbc)
使用KL散度量化分布差异,因为颜色直方图主要捕捉整个图像中各种颜色的比例,不考虑空间排列。最后将生成的特征送给sRGB解码器,得到最终增强的图像。

2.3 网络训练

采用两阶段训练策略:

  1. 第一阶段:使用配对的低光RAW图像和参考正常光RAW/sRGB图像优化RAW编码器-解码器、sRGB编码器-解码器和AICM,同时冻结扩散模型的参数。优化目标为Lstage1=Lcon+Licl​\mathcal{L}_{\text{stage1}} = \mathcal{L}_{\text{con}} + \mathcal{L}_{\text{icl}}​Lstage1=Lcon+Licl
    Lcon=∑i={raw,rgb}∥Ii−Di(Ei(Ii))∥1\mathcal{L}_{\text{con}} = \sum_{i=\{\text{raw}, \text{rgb}\}} \left\| I_i - \mathcal{D}_i(\mathcal{E}_i(I_i)) \right\|_1Lcon=i={raw,rgb}IiDi(Ei(Ii))1
    其中Di(⋅)\mathcal{D}_i(\cdot)Di()是针对RAW数据的解码器,框图中未展示出Draw,主要是用于计算内容重建损失用的,保证raw特征的内容一致性。
  2. 第二阶段:通过Lstage2=Lcdl+λLccl​\mathcal{L}_{\text{stage2}} = \mathcal{L}_{\text{cdl}} + \lambda \mathcal{L}_{\text{ccl}}​Lstage2=Lcdl+λLccl优化扩散模型,同时冻结其他模块的参数。扩散模型采用U-Net架构作为噪声估计网络,时间步长和采样步长分别设置为1000和20。

三、实验论证

实验方面,主要在提出的SIED数据集的Canon和Sony子集上进行实验,包含三种不同光照条件下的低光RAW图像(0.01-0.1lux、0.001-0.01lux和0.0001-0.001lux)。此外,也在SID数据集上进行了补充实验。

与现有的基于RAW的LLIE方法进行比较,包括单阶段方法(SID、DID、SGN、LLPackNet、RRT)和多阶段方法(LDC、MCR、DNF、RAWMamba)。采用两种常规指标(PSNR和SSIM)和一种感知指标(LPIPS)进行评估。

定量比较

  • 在SIED数据集上,所提方法在各种光照条件下在失真指标和感知指标方面都达到了最先进的性能。
  • 在SID数据集上,所提方法也在所有指标上优于之前的方案。
    在这里插入图片描述

在这里插入图片描述
定性比较

  • 单阶段方法存在颜色失真和意外伪影的问题。
  • 其他多阶段模型呈现模糊细节、颜色偏差或噪声放大的问题。
  • 相比之下,所提方法适当提高对比度、重建更清晰的细节、呈现生动的颜色并抑制噪声,产生视觉上令人满意的结果。

在这里插入图片描述
在这里插入图片描述
消融实验

  • 训练策略:多阶段训练策略优于单阶段训练策略,因为早期训练阶段的编码特征不利于扩散模型学习目标分布,如表所示。不过在这个框架下,即使单阶段训练,效果也不赖。
    在这里插入图片描述

  • AICM有效性:提出的AICM通过自适应曝光改进,相比固定放大因子实现了显著的PSNR性能提升,因为现实场景中的光照退化是多样且未知的。

  • 颜色一致性损失:提出的Lccl​L_{ccl}​Lccl有助于实现准确的颜色映射,特别是在结构相似性和感知质量方面。
    在这里插入图片描述

四、总结和思考

最后做下总结,该论文提出了一种配对到配对的数据合成管道,准备了一个更具挑战性的SIED数据集,用于极暗光RAW图像增强,包含三个校准良好的照度水平(低至0.0001勒克斯)的低光RAW图像,以及高质量的参考sRGB图像。

此外,还提出了一种基于扩散的多阶段框架,利用扩散模型的生成能力和去噪特性,从极暗光输入中恢复视觉上令人满意的结果。

这套数据集值得参考,不过博主觉得可以考虑加入非均匀亮度退化,来进一步模拟实际光照条件。
另外,第二阶段是否一定要用扩散模型呢?论文中未做论证。感兴趣的朋友可以去试试,有结论的话也可以回来评论一下哦。


感谢阅读,欢迎留言或私信,一起探讨和交流。
如果对你有帮助的话,也希望可以给博主点一个关注,感谢。

http://www.xdnf.cn/news/20224.html

相关文章:

  • NPU边缘推理识物系统
  • 懒加载的概念
  • 新能源风口正劲,“充电第一股”能链智电为何掉队?
  • 操作系统启动过程详解
  • Coze源码分析-资源库-删除插件-前端源码-核心组件实现
  • 03-生产问题-慢SQL-20250926
  • 机器人控制器开发(导航算法——导航栈关联坐标系)
  • 创客匠人:什么是“好的创始人IP”
  • 2025年本体论:公理与规则的挑战与趋势
  • CentOS系统停服,系统迁移Ubuntu LTS
  • 【CSS,DaisyUI】自定义选取内容的颜色主题
  • Android开发——初步了解AndroidManifest.xml
  • 零基础入门深度学习:从理论到实战,GitHub+开源资源全指南(2025最新版)
  • C++ 条件变量 通知 cv.notify_all() 先释放锁再通知
  • [光学原理与应用-428]:非线性光学 - 为什么要改变光的波长/频率,获得特点波长/频率的光?
  • RocketMQ如何处理消息堆积
  • 云某惠旧案再审可能性与商业创新实践:积分运营的边界与实体商家机遇
  • 【设计模式】 工厂方法模式
  • 【YOLOv11】2.安装Anaconda3
  • 机器人控制器开发(定位算法——map、odom、baselink关联与差异)
  • JavaScript的库简介
  • 离散数学学习指导与习题解析
  • react生命周期,详细版本
  • 运筹学——求解线性规划的单纯形法
  • solidity的高阶语法2
  • AI工程师对于AI的突发奇想
  • Docker Desktop 安装 Linux(告别传统的虚拟机VMware)
  • Date、BigDecimal类型值转换
  • 残差去噪扩散模型
  • 字节跳动OmniHuman-1.5发布:单图+音频秒变超真实视频,AI数字人技术再升级