0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对于极暗场景RAW图像去噪,你是否还在被标定折磨?

CVer 来源:CVer 2023-08-11 15:47 次阅读

本文为 [ICCV 2023]LightingEveryDarkness in Two Pairs: A Calibration-Free Pipeline for RAW Denosing 的简要介绍

7b3321ee-3805-11ee-9e74-dac502259ad0.png

Github:https://github.com/Srameo/LED

Homepage:https://srameo.github.io/projects/led-iccv23/

Paper:http://arxiv.org/abs/2308.03448

TL; DR;

基于标定的方法在极低光照环境下的 RAW 图像去噪中占主导地位。然而,这些方法存在几个主要缺陷:

噪声参数标定过程费力且耗时,

不同相机的降噪网络难以相互转换,

合成噪声和真实噪声之间的差异被高倍数字增益放大。

为了克服上述缺点,我们提出了一种无需标定的pipeline来照亮LighingEveryDarkness(LED),无论数字增益或相机传感器的种类。我们的方法无需标定噪声参数和重复训练,只需少量配对数据和快速微调即可适应目标相机。此外,简单的结构变化可以缩小合成噪声和真实噪声之间的domain gap,而无需任何额外的计算成本。在SID[1]上仅需总共6 对配对数据、和 0.5% 的迭代次数以及0.2%的训练时间,LED便表现出SOTA的性能!

Introduction

使用真实配对数据进行训练

SID[1]首先提出一套完整的 benchmark 以及 dataset 进行RAW图像低光增强或去噪。为什么要从RAW图像出发进行去噪和低光增强呢?因为其具有更高的上限,具体可以参考 SID[1]的文章。

那么它具体的做法是什么呢?很简单,如图1左,使用相机拍摄大量配对的真实数据,之后直接堆到网络里进行训练。

7b44e1cc-3805-11ee-9e74-dac502259ad0.jpg

图1: 基于真实配对数据进行训练流程(左)以及基于噪声模型标定进行训练流程(右)

但是有一个很重要的问题,不同的传感器,噪声模型以及参数都是不同的。那么按照这种流程,难道我们对每种相机都需要重新收集大量数据并重新训练?是不是有点太繁琐了?

基于噪声模型标定的算法流程

对于上述提到的问题,近期的paper[2][3][4][5]统一告诉我们:是的。现在,大家主要卷的,包括在各种工业场景(手机、边缘设备上),去噪任务都已经开始采用基于标定的手段。

那么什么是标定呢?具体的标定流程大家可以参考

@Wang Hawk

的文章Wang Hawk:60. 数码相机成像时的噪声模型与标定。当然,基于深度学习+噪声模型标定的算法大概就分为如下三步(可以参考图1右):

1. 设计噪声模型,收集标定用数据,

2.使用 1. 中的标定的数据对对噪声模型进行参数估计埋个伏笔,增益(或者说iso)和噪声方差有着log域的线性关系

3. 使用 2. 中标定好的噪声模型合成配对数据并训练神经网络

这样,对于不同的相机,我们只需使用不同的标定数据(收集难度相对于大规模配对数据集来讲少了很多),便可以训练出对应该相机的专用去噪网络。

但是,标定算法真的好吗?

标定缺陷以及 LED

7b5feff8-3805-11ee-9e74-dac502259ad0.jpg

图2: 基于噪声模型标定的算法缺陷

那么我们喜欢什么呢?

简化标定[6][7],甚至无需标定,

快速部署到新相机上,

强大的“泛化”能力:很好的泛化到真实场景,克服合成噪声到真实噪声之间的domain gap。

So here comes LED!

7baea6c0-3805-11ee-9e74-dac502259ad0.jpg

图3: 标定算法与LED的对比

无需标定:相比于标定算法需要使用真实相机的噪声参数,我们采用虚拟相机噪声参数进行数据合成,

快速部署:采用 Pretrain-Finetune 的训练策略,对于新相机仅需少量数据对网络部分参数进行微调,

克服 Domain Gap:通过少量真实数据进行 finetune 以获得去除真实噪声的能力。

LED 能做到什么?

7bc81042-3805-11ee-9e74-dac502259ad0.jpg

图4: 6对数据 + 1.5K iteration = SOTA Performance!

7bdcc80c-3805-11ee-9e74-dac502259ad0.jpg

图5: 更直观的log对比

Method

LED大概分为一下几步:

预定义噪声模型Φ,从参数空间中随机采集 N 组 “虚拟相机” 噪声参数,

使用 1. 中的 N 组 “虚拟相机” 噪声参数合成并 Pretrain 神经网络,

使用目标相机收集少量配对数据,

使用 3. 中的少量数据 Finetune 2. 中预训练的神经网络。

当然,一个普通的 UNet 并不能很好的完成我们前文说的3个“需要”。因此结构上也需要做少量更改:

7c05df62-3805-11ee-9e74-dac502259ad0.jpg

图6: UNet 结构中的 RepNR Block

首先,我们把 UNet 里所有的 Conv3 配上一组CSA (Camera Specific Alignment),CSA 指一个简单的 channel-wise weight 和一组 channel-wise 的 bias,用于 feature space 上的对齐。

Pretrain 时,对于第 k个相机合成的数据,我们只训练第 k 个CSA以及 Conv3。

Finetune 时,先将 Pretrain 时的CSA组进行 Average 得到初始化的CSA^T (for target camera),然后先将其训练收敛;之后添加一个额外分枝,继续微调,额外分枝用于学习合成噪声和真实噪声之间的 Domain Gap。

当然,由于CSA以及卷积都是线性操作,所以我们在部署时候可以将他们全部都重参数化到一起,因此最终不会引入任何额外计算量!

7c293b38-3805-11ee-9e74-dac502259ad0.jpg

图7: 重参数化

Visual Result

下图表现出了 LED 对于 Out-of-model 噪声的去除能力(克服合成噪声与真实噪声之间 Domain Gap 的能力)。

Out-Of-Model Noise 指不被预定义在噪声模型中的噪声,如图8中由镜头所引起的噪声或图9中由 Dark Shading 所引起的噪声

7c4ad5fe-3805-11ee-9e74-dac502259ad0.jpg

图8: Out-Of-Model Pattern 去除能力(镜头引发的 Artifact)

7c5a4b7e-3805-11ee-9e74-dac502259ad0.jpg

图9: Out-of-model 噪声去除能力(Dark Shading)

Discussion on “为什么需要两对数据?”

7ca2d2b8-3805-11ee-9e74-dac502259ad0.jpg

图10

不知道大家记不记得之前埋的一个伏笔:增益和噪声方差之间保持对数线性关系。

线性关系意味着什么呢?两点确定一条直线!也就是说两对数据(每对数据都能提供在某增益下噪声方差的值)就可以确定这个线性关系。但是,由于存在误差[2],所以我们需要增益差距尽可能大的两对数据以完成网络对线性关系的学习。

从图10右也能看出,当我们无论使用增益相同的 1、2、4 对数据,性能并不会有太大的差距。而使用增益差距很大的两对数据(差异很大指 ISO<500 与 ISO>5000)时,性能有巨大提升。这也能验证我们的假设,即两对数据便可以学习到线性关系。

后记:关于开源

我们的训练测试包括对ELD的复现代码都已经开源到 Github 上了,如果大家感兴趣的话可以帮我们点个 star。

当然不仅是代码,我们还一口气开源了 配对数据、ELD、PG(泊松-高斯)噪声模型在多款相机上、不同训练策略、不同阶段(指 LED 的 Pre-train 和 Fine-tune 阶段)的一共15个模型,详见 pretrained-model.md。

此外,由于 RepNR block 目前只在 UNet 上进行了测试,不过我们相信其在别的模型上的潜力。于是,我们提供了快速将 RepNR block 用于别的模型上的代码,仅需一行代码,便可在你自己的网络结构上使用 RepNR block,配合我们的 Noisy-Clean 生成器,可以快速验证 RepNR block 在其他结构上的有效性。相关讲解以及代码可以在 develop.md 中找到。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 噪声
    +关注

    关注

    13

    文章

    1070

    浏览量

    47063
  • 图像
    +关注

    关注

    2

    文章

    1063

    浏览量

    40042
  • GitHub
    +关注

    关注

    3

    文章

    457

    浏览量

    15926

原文标题:ICCV 2023 | 对于极暗场景RAW图像去噪,你是否还在被标定折磨?来试试LED!少量数据、快速部署!

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求基于fpga的图像去噪的设计

    求用vrilog语言的用双边滤波算法的图像去噪程序代码。谢谢,急!!!
    发表于 05-12 21:36

    图像多小波域算法分析与实现

    图像多小波阈值方法具体有哪些?哪位能给点相关资料啊,感激不尽、
    发表于 05-14 22:39

    求四种图像噪声处理的MATLAB程序

    数模题目:图像去噪中几类稀疏变换的矩阵表示求帮助离散余弦变换,离散小波变换,主成分分析 和奇异值分解这四种的MATLAB编程程序
    发表于 05-15 18:34

    哪位大神有基于高阶统计量的图像去噪源程序??请您帮帮忙,在线急等!

    哪位大神有基于高阶统计量的图像去噪源程序??请您帮帮忙,在线急等!
    发表于 04-28 14:37

    3D 中 vnflink中去强度是否可以开到最强,有什么负效果吗??

    ,          NF_STRENGTH_HIGH,          NF_STRENGTH_MAXNUM        ] UI_NF_STRENGTH; 如果一直是开到最大nf是否有坏的效果,影响
    发表于 06-21 12:36

    有关于matlab医学图像去噪,请问怎么把小波和均值或中值结合?

    请问怎么把小波和均值或中值结合啊?方便给个简单的编码吗?,谢谢
    发表于 03-25 20:22

    源码交流=图像处理 实现图像去噪、滤波、锐化、边缘检测

    本帖最后由 乂统天下 于 2020-4-2 11:54 编辑 新手学习,多多关照,互相交流,共同进步^-^【实现功能】数字图像处理基本操作 [Matlab2016b]实现图像去噪、滤波、直方图
    发表于 04-01 19:03

    基于稀疏分解的图像去噪

    基于稀疏分解的图像去噪处理是将被噪声污染的图像分解成图像的稀疏成分和其他成分。稀疏成分对应于图像中的有用信息,其他成分对应于图像中的噪声。由
    发表于 12-03 12:59 39次下载

    基于小波变换气动光学效应模糊图像去噪

    采用小波变换算法用于气动光学效应图像去噪研究。结合气动光学效应的复杂性和小波变换的特性,小波变换算法可以有效地应用于气动光学效应图像去噪。去噪图像对于原图
    发表于 08-06 11:45 14次下载

    基于提升小波的图像去噪算法的FPGA设计

    图像处理中,基于离散小波变换的提升算法比传统的卷积算法运算简单、实时性好、易于实现,因而被图像去噪所采用。本文介绍了提升小波的基本原理,以及把提升小波应用
    发表于 12-26 16:57 25次下载

    基于提升小波的图像去噪算法的FPGA设计

    图像处理中,基于离散小波变换的提升算法比传统的卷积算法运算简单、实时性好、易于实现,因而被图像去噪所采用。本文介绍了提升小波的基本原理,以及把提升小波应用于图像
    发表于 07-21 17:32 18次下载

    免疫机理的图像去噪方法研究

    免疫机理的图像去噪方法研究_刘欢
    发表于 01-03 15:24 0次下载

    一种基于压缩感知的改进全变分图像去噪方法

    一种基于压缩感知的改进全变分图像去噪方法_徐立军
    发表于 01-07 19:08 2次下载

    基于数据驱动紧框架图像去噪模型

    图像去噪图像处理中的基本问题之一。现如今,已经存在了大量的算法能够解决含高斯噪声的图像去噪问题。但是,含泊松噪声的图像去噪问题依然很少被研究。泊松噪声,一般会在由数量少的光子产生的
    发表于 11-05 15:27 9次下载
    基于数据驱动紧框架<b class='flag-5'>图像去噪</b>模型

    浅谈图像调试之raw图像问题分析

    图像调试过程,当发现一个问题时,很多时候都要通过 dump raw 图像来分析,如果raw图像上有,那就排除了是 ISP的处理导致。 下
    的头像 发表于 11-27 10:35 471次阅读
    浅谈<b class='flag-5'>图像</b>调试之<b class='flag-5'>raw</b><b class='flag-5'>图像</b>问题分析