《Practical Deep Raw Image Denoising on Mobile Devices》论文详解

简介:个人学习分享,如有错误,欢迎批评指正。

论文:Practical Deep Raw Image Denoising on Mobile Devices

引言
在数字摄影领域,噪声是影响图像质量的主要因素之一,特别是在弱光条件下拍摄时更为明显。移动设备由于其便携性和普及性,已成为人们日常摄影的主要工具。然而,受限于传感器尺寸和光学元件质量,移动设备在低照度环境下拍摄的图像噪声较为严重。传统的图像去噪方法在移动设备上存在性能瓶颈,而深度学习方法虽然效果显著,但其高计算复杂度限制了在移动设备上的应用。

一、研究背景与问题定义

  1. 低光噪声的来源:低光下图像传感器更容易产生高斯噪声和泊松噪声,噪声与信号强度成比例关系。

  2. RAW图像去噪的优势

    • 数据完整性RAW图像保留了传感器采集的原始数据,未经过压缩或处理,包含更多的细节和动态范围。
    • 避免信息损失在ISP(图像信号处理器)处理之前进行去噪,避免了后续处理放大噪声的问题。
    • 更好的去噪效果:直接处理RAW数据,可以针对传感器特性进行优化,取得更好的去噪效果。
  3. 移动设备的限制

    • 计算资源受限移动设备的CPU、GPU性能相对于桌面设备较弱,无法支撑大型深度学习模型的实时运行。
    • 存储和内存有限:模型的大小和运行时的内存占用需要严格控制,以适应移动设备的存储空间和RAM限制。
    • 功耗要求:高计算负载会导致电池消耗过快,影响用户体验。

二、相关工作与挑战

  1. 传统去噪方法
    • 空域滤波(如均值滤波和中值滤波):这些方法通常会模糊图像,导致细节丢失。
    • 频域滤波:如维纳滤波,虽然可以抑制噪声,但假设的噪声模型简单,难以应对复杂噪声
    • 非局部均值滤波(Non-local Means):利用图像的自相似性去噪效果较好,但计算复杂度高

这些方法中的大多数都是针对一般噪声而设计的,没有利用已知的传感器噪声特性。它们的算法复杂度通常很高,因此很难在智能手机上全面实现。

  1. 深度学习去噪方法
    • 卷积神经网络(CNN):如DnCNN,利用多层卷积进行去噪,取得了显著效果,但其计算量较大
    • 变分自编码器(VAE)和GAN:这些生成模型通过学习噪声图像的分布去噪,然而计算复杂度较高。

这些工作主要侧重于新颖的网络结构以提高准确性,而没有过多关注它们对移动设备的适应性。

  1. 多帧融合方法

    • 目前移动设备上原始图像去噪的最佳实践是捕获并合并多帧。这些方法通常需要准确快速的图像对齐,而当场景中存在移动物体时,这一点很难实现。此外,当噪声水平较高时,对多帧进行平均可以降低噪声,但不能完全消除噪声,导致结果不令人满意。
  2. 合成真实噪声图像的难点

    • 用干净和噪声的图像对构建高质量的真实数据集是一项非常繁琐的工作。
  3. 移动端部署的难点

    • 实时性要求:需要在拍摄的瞬间完成去噪,以适应用户预览和拍照体验。
    • 模型压缩与轻量化需求深度学习模型需要在保证去噪效果的同时减少模型大小

三、本文工作

本文的工作重点是去噪raw image,即在去马赛克和其他 ISP 处理之前以原始拜耳格式从传感器读取的图像。本文提出了一种轻量级、高效的基于神经网络的 raw image 去噪器,它可以在主流移动设备上流畅运行,并产生高质量的去噪结果。

关键见解:

  1. 特定传感器模型的噪声特性是一致的,并且可以足够准确地测量通过捕获和建模传感器噪声,可以生成包含干净和噪声图像对的合成数据集,并在其上训练轻量级神经网络。 训练后的模型对同一传感器(即同一智能手机型号)捕获的真实图像仍然非常有效。并且在合成传感器特定数据上训练的小型网络可以胜过在一般数据上训练的大型网络

  2. 基于参数传感器噪声模型,在亮度空间中推导出一种独特的线性变换,称为 k-Sigma 变换,它将在不同 ISO 设置下捕获的噪声图像映射到 ISO 不变的信号噪声空间中,从而允许单个网络处理不同场景中的不同噪声水平。该方法在实践中比为每个 ISO 设置训练单独的模型或使用一个大型模型对具有不同噪声水平的图像进行训练更有效

主要贡献

  1. 一种系统方法,用于估计传感器噪声并使用适当构建的合成数据训练特定于传感器的去噪神经网络。
  2. 一种新颖的 k-Sigma 变换,用于将不同 ISO 设置下的噪声图像映射到 ISO 不变的信号噪声空间。所提出的变换不是针对每个 ISO 训练单独的模型或更大的模型来覆盖变化,而是允许在此空间中训练的单个小型网络处理具有不同噪声水平的图像。
  3. 一种移动友好的网络架构,可实现高效的图像去噪。对不同的网络架构和去噪方法进行了深入的分析和比较,证明该方法具有与最先进的方法兼容的性能,并且计算资源明显更少。

四、方法介绍

从以下三个方面介绍了本文的方法:
1.对相机传感器的通用ISO相关噪声模型(general ISO-dependent noise model)进行了回顾,并描述了如何在给定新传感器的情况下估计噪声参数
2.对提出的k-Sigma变换进行了介绍,并指出如何使用k-Sigma变换合成与ISO无关的训练数据
3.对提出的可以处理各种噪声水平的小型神经网络进行了介绍,并且用合成数据集对该网络进行训练。

1.噪声模型

在这里插入图片描述
图2:光子传输管道:相机管道中涉及多种噪声源,如散粒噪声、读出噪声和热噪声。

相机传感器将曝光时间内撞击像素区域的光子转换为数字化亮度图。如图 2 所示的光子传输管道所示,此过程包含多个阶段,每个阶段都会引入特定的噪声。首先考虑一个没有噪声的理想系统。在线性相机模型下,在每个像素处,传感器转换都是线性放大:
x ∗ = g α u ∗ x^* = g \alpha u^* x=u

其中 u ∗ u^* u预期到达像素区域的光子数量 α \alpha α量子效率因子 g g g模拟增益。现在考虑图 2 中管道每一步中的系统噪声,我们有:

x = g ( α u + n d ) + n r x = g(\alpha u + n_d) + n_r x=g(αu+nd)+nr

其中 u u u 表示实际收集到的光子数量 n d ∼ N ( 0 , σ d 2 ) n_d \sim \mathcal{N}(0, \sigma_d^2) ndN(0,σd2) n r ∼ N ( 0 , σ r 2 ) n_r \sim \mathcal{N}(0, \sigma_r^2) nrN(0,σr2) 分别是应用模拟增益之​​前和之后的高斯噪声。 此外, u u u 服从 u ∗ u^* u 的泊松分布,由下式给出

u ∼ P ( u ∗ ) u \sim \mathcal{P}(u^*) uP(u)

结合公式 x ∗ = g α u ∗ x^* = g \alpha u^* x=u 和公式 x = g ( α u + n d ) + n r x = g(\alpha u + n_d) + n_r x=g(αu+nd)+nr ,我们得到:

x ∼ ( g α ) P ( x ∗ g α ) + N ( 0 , g 2 σ d 2 + σ r 2 ) x \sim (g \alpha) \mathcal{P}\left(\frac{x^*}{g \alpha}\right) + \mathcal{N}\left(0, g^2 \sigma_d^2 + \sigma_r^2\right) x()P(x)+N(0,g2σd2+σr2)

该公式可以通过替换 k = g α k = g \alpha k= σ 2 = g 2 σ d 2 + σ r 2 \sigma^2 = g^2 \sigma_d^2 + \sigma_r^2 σ2=g2σd2+σr2 ,进一步简化:

x ∼ k P ( x ∗ k ) + N ( 0 , σ 2 ) x \sim k \mathcal{P}\left(\frac{x^*}{k}\right) + \mathcal{N}\left(0, \sigma^2\right) xkP(kx)+N(0,σ2)

请注意, k k k σ d 2 \sigma_d^2 σd2 都与 g g g 相关,由相机的 ISO 设置决定。

2.参数估计

在这里插入图片描述

图 3:使用静态灰度图的一系列原始图像进行噪声参数估计。
为了对 x ∼ k P ( x ∗ k ) + N ( 0 , σ 2 ) x \sim k \mathcal{P}\left(\frac{x^*}{k}\right) + \mathcal{N}\left(0, \sigma^2\right) xkP(kx)+N(0,σ2)中描述的分布进行采样,我们需要在特定传感器的特定 ISO 设置下准确估计 k k k σ \sigma σ 。我们可以将 x x x 的平均值和方差转化为以下线性回归问题:

{ E ( x ) = x ∗ , Var ⁡ ( x ) = k x ∗ + σ 2 . \begin{cases} \mathbb{E}(x) = x^*, \\ \operatorname{Var}(x) = k x^* + \sigma^2. \end{cases} {E(x)=x,Var(x)=kx+σ2.

我们在连拍模式下捕获一系列静态灰度图表的原始图像(如图 3a 所示),并从同一像素位置的一系列亮度值计算均值 E ( x ) \mathbb{E}(x) E(x)。接下来,如图 3b 所示,我们将所有具有相同估计亮度的像素括起来,并从中计算方差 V a r ( x ) Var(x) Var(x)。 然后应用线性回归来找到 k k k σ 2 \sigma^2 σ2最佳估计值(如图 3c 所示)。

3.k-Sigma 变换

在实际应用中,相机会根据场景照明自动调整 ISO 设置,因此在训练去噪神经网络时必须考虑不同的噪声水平。一种直接的解决方案是训练单个网络以覆盖广泛的 ISO 设置,但由于训练数据中的噪声变化变得非常大,这会给网络本身带来额外的负担。受方差稳定变换的启发,本文提出了一种 k-Sigma 变换来避免这个问题。 具体来说,本文定义了一个线性变换

f ( x ) = x k + σ 2 k 2 f(x) = \frac{x}{k} + \frac{\sigma^2}{k^2} f(x)=kx+k2σ2

根据我们的噪声模型 x ∼ k P ( x ∗ k ) + N ( 0 , σ 2 ) x \sim k \mathcal{P}\left(\frac{x^*}{k}\right) + \mathcal{N}\left(0, \sigma^2\right) xkP(kx)+N(0,σ2)

f ( x ) ∼ P ( x ∗ k ) + N ( σ 2 k 2 , σ 2 k 2 ) f(x) \sim \mathcal{P}\left(\frac{x^*}{k}\right) + \mathcal{N}\left(\frac{\sigma^2}{k^2}, \frac{\sigma^2}{k^2}\right) f(x)P(kx)+N(k2σ2,k2σ2)

为了分析该分布,通常的简化方法是将泊松分布 P ( λ ) \mathcal{P}(\lambda) P(λ) 视为 N ( λ , λ ) \mathcal{N}(\lambda, \lambda) N(λ,λ) 的高斯分布。因此:

P ( x ∗ k ) + N ( σ 2 k 2 , σ 2 k 2 ) ≈ N ( x ∗ k , x ∗ k ) + N ( σ 2 k 2 , σ 2 k 2 ) = N ( x ∗ k + σ 2 k 2 , x ∗ k + σ 2 k 2 ) = N [ f ( x ∗ ) , f ( x ∗ ) ] . P\left(\frac{x^*}{k}\right) + \mathcal{N}\left(\frac{\sigma^2}{k^2}, \frac{\sigma^2}{k^2}\right) \\ \approx \mathcal{N}\left(\frac{x^*}{k}, \frac{x^*}{k}\right) + \mathcal{N}\left(\frac{\sigma^2}{k^2}, \frac{\sigma^2}{k^2}\right) \\ = \mathcal{N}\left(\frac{x^*}{k} + \frac{\sigma^2}{k^2}, \frac{x^*}{k} + \frac{\sigma^2}{k^2}\right) \\ = \mathcal{N}\left[f(x^*), f(x^*)\right]. P(kx)+N(k2σ2,k2σ2)N(kx,kx)+N(k2σ2,k2σ2)=N(kx+k2σ2,kx+k2σ2)=N[f(x),f(x)].

结合上面两个公式, f ( x ) f(x) f(x) 的近似分布为:

f ( x ) ∼ N [ f ( x ∗ ) , f ( x ∗ ) ] f(x) \sim \mathcal{N}[f(x^*), f(x^*)] f(x)N[f(x),f(x)]

等式 f ( x ) ∼ N [ f ( x ∗ ) , f ( x ∗ ) ] f(x) \sim \mathcal{N}[f(x^*), f(x^*)] f(x)N[f(x),f(x)]表明 f ( x ) f(x) f(x) 的分布仅取决于 f ( x ∗ ) f(x^*) f(x) 。如图 4 所示,我们可以训练一个以 f ( x ) f(x) f(x) 作为输入并输出 f ( x ^ ∗ ) f(\hat{x}^*) f(x^) 作为 f ( x ∗ ) f(x^*) f(x) 估计值的单个网络。然后可以通过将逆 k-Sigma 变换 f − 1 ( ⋅ ) f^{-1}(\cdot) f1() 应用于 f ( x ^ ∗ ) f(\hat{x}^*) f(x^) 来计算估计的真实图像值 x ∗ x^* x 。 换句话说,我们对神经网络的输入和输出应用 ISO 依赖变换,这样就可以使用标准化数据训练网络,而无需考虑 ISO 设置
在这里插入图片描述

4.去噪网络

4.1. 移动友好的(Mobile-friendly)的网络架构
本文提出了一种用于图像去噪的移动友好的(Mobile-friendly)卷积神经网络,如图 5 所示。本文使用类似 U-Net 的架构,该架构具有 4 个编码器4 个解码器阶段,并带有跳过连接,如图 5a 所示。

在这里插入图片描述
在这里插入图片描述
图 5:所提出的去噪网络的架构。

图 5b 描述了网络块的详细结构。具体来说,为了在移动设备上运行,本文在所有编码器和解码器阶段都使用了可分离卷积来降低计算成本,而正常的密集卷积层只用在输入和输出阶段。在编码器中,我们使用 5×5 的核大小来增加感受野并减少网络深度,并使用步幅为 2 的卷积对特征图进行下采样。在解码器中,本文只使用 3×3-speconv 并使用 2×2 反卷积对特征图进行上采样。每个编码器阶段的输入通过逐元素相加组合到其相应的解码器阶段,在跳过连接中采用 3×3-speconv 来匹配通道形状。最后,最后一个卷积层输出一个加到输入图像的残差作为去噪结果。

5.数据集处理

为了训练去噪网络,我们需要成对的噪声和干净的 RAW 图像。 本文使用 See-in-the-Dark (SID) 数据集的子集作为真实干净图像。 根据噪声模型,如果有干净的 RAW 图像,我们可以通过从泊松高斯分布中采样来合成噪声图像其中估计的噪声参数是从目标传感器测得的。(在每个 ISO 设置下,以连续模式捕获 64 张 RAW 图像,并将平均图像视为干净图像。使用第2部分的参数估计方法可以估计每个指定 ISO 设置下的噪声参数 k k k σ 2 \sigma^2 σ2 。通过良好拟合的ISO-k和ISO- σ 2 \sigma^2 σ2曲线,可以轻松计算出任何ISO设置下的噪声参数,从而满足合成训练数据和应用k-Sigma变换的要求。)

具体的,为了生成训练样本,本文从原始数据集中随机裁剪 1024×1024 大小的拜耳图像块。并采用拜耳增强方法,随机水平和垂直翻转,并确保输入拜耳模式为 R-G-G-B 顺序。然后,我们将拜耳图像打包为 512×512×4 形状的 RGGB 张量。我们还随机调整裁剪图像的亮度和对比度以进行数据增强。然后根据噪声模型合成噪声图像,噪声参数为随机选择的 ISO 值。最后,我们对噪声图像和干净图像应用 k-Sigma 变换,以便在 ISO 独立空间中训练去噪网络

总结
本文提出了一种专为移动设备设计的新型原始图像去噪器。通过精确的传感器噪声估计,我们可以利用在特定于传感器的合成数据上训练的轻量级网络,该网络可以很好地推广到真实噪声。还提出了一种 k-Sigma 变换来处理输入和输出数据,以便可以在与 ISO 无关的空间中学习去噪。这使得网络能够处理各种噪声水平而不会增加网络复杂性。


结~~~

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

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

相关文章

戴尔电脑 Bios 如何进入?Dell Bios 进入 Bios 快捷键是什么?

BIOS(基本输入输出系统)是计算机启动时运行的第一个程序,它负责初始化硬件并加载操作系统。对于戴尔电脑用户来说,有时可能需要进入 BIOS 进行一些特定的设置调整,比如更改启动顺序、调整性能选项或解决硬件兼容性问题…

【AD】3-2 原理图绘制格点的调整与推荐设置

1.点击工具,选择原理图优先项,如图设置 2.画原理图之前,选中原理图,也可以快捷键vgs,设置栅格为100mil,并画原理图是元器件管脚放置在格点上 3.通过改选项设置格点显示与不显示

I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作

I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作 一、I.MX6U 芯片介绍1. 基本介绍2. 架构图如下:3. I.MX6U 管脚定义规则 : 二、GPIO资源介绍1. 原理图2. 寄存器控制(1) 使能时钟,CCGR0~CCGR7(2) 设置引脚复用(3) 设置电气属性(4) 配…

DNS配置

1.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 2.配置从DNS服务器,对主dns服务器进行数据备份。 options {listen-on port 53 { 192.168.111.130; };directory "/var/named";allow-query { any;};zone "openlab.com&qu…

day-81 打家劫舍 II

思路 与LCR 089. 打家劫舍相比,本题所有房屋围成了一圈,那么第一间房子和最后一间房子不能同时打劫,那么就可以分为两种情况:1.选第一间房打劫;2.选最后一间房打劫 解题过程 然后依次计算出以上两种情况的最大金额&am…

什么是进销存?进销存系统都有哪些类型?

进销存管理和企业运营之间的利害关系大家应该都已经听的不少了。上次给大家说明白了进销存系统是什么,但是进销存系统到底有哪几种?把今天这篇文章耐心读完你就懂了! 随着市场竞争的加剧和消费者需求的多样化,企业亟需灵活高效的…

spark的学习-03

RDD的创建的两种方式: 方式一:并行化一个已存在的集合 方法:parallelize 并行的意思 将一个集合转换为RDD 方式二:读取外部共享存储系统 方法:textFile、wholeTextFile、newAPIHadoopRDD等 读取外部存储系统的数…

Python练习10

Python日常练习 题目: 编写程序,输出如下所示图案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 要求: 使用for循环的方式完成 --------------------------------------------------------- 注意: …

【云原生开发】K8S多集群资源管理平台架构设计

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

「iOS」——知乎日报一二周总结

知乎日报仿写 前言效果Manager封装网络请求线程冲突问题下拉刷新添加网络请求的图片通过时间戳和日期格式化获取时间 总结 前言 前两周内容的仿写,主要完成了首页的仿写,进度稍慢。 效果 Manager封装网络请求 知乎日报的仿写需要频繁的申请网络请求&am…

【ArcGISPro】汉化嵌入的NoteBook界面

效果展示 下载Notebook汉化包 pip install jupyterlab-language-pack-zh-CN 添加环境变量 LANG zh_CN.UTF8 汉化结果

长亭那个检测能力超强的 WAF,出免费版啦

告诉你们一个震撼人心的消息,那个检测能力超强的 WAF——长亭雷池,他推出免费社区版啦,体验地址见文末。 八年前我刚从学校毕业,在腾讯做安全研究,看到宇森在 BlackHat 上演讲的议题 《永别了,SQL 注入》 …

了解bootstrap改造asp.net core MVC的样式模板

我们都知道,在使用默认的asp.net core MVC模板建立项目的时候,里面的样式是已经事先被写好了的。一般来说都在css目录下的site.css和bootstrap.css及下面的bootstrap.min.css中。我们打开bootstrap这些样式文件,里面有大量的样式类的定义&…

scratch计算台阶 2024年9月scratch四级真题 中国电子学会 图形化编程 scratch四级真题和答案解析

目录 scratch计算台阶 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、p…

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言,因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历

mysql死锁查看和解决

文章目录 一、MySQL死锁排查1、查看正在进行中的事务2、查看正在锁的事务3、查看等待锁的事务4、查询是否锁表5、查看最近死锁的日志6、杀死死锁 本文是基于Mysql8.0进行讲解。 本文只讲解如何查询数据库中是否有死锁及死锁的解决,若想了解更多关于死锁的信息&…

【STM32笔记】定时器(TIM1)无法工作

目录 项目场景: 问题描述 原因分析: 解决方案: 项目场景: 编译环境:keil uverison5 初次学习stm32(stm32f103xx)控制舵机(mg90s)时,舵机不转动&#xf…

Spark 程序开发与提交:本地与集群模式全解析

Spark 的介绍与搭建:从理论到实践-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 目录 一、本地开发与远程提交测试 (一)问题背景 (二)解决方案 集群环境准…

利用亚马逊AWS IoT核心和MQTT进行数据采集的综合指南

论文标题:A Comprehensive Guide on Data Acquisition Utilizing Amazon AWS IOT Core and MQTT 中文标题:利用亚马逊AWS IoT核心和MQTT进行数据采集的综合指南 作者信息: Tanishq. I. KohliPradip R. Selokar 两位作者均来自印度那格浦尔…

鸿萌数据迁移服务: 企业服务器整机在线热迁移, 实现不停机业务转移

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据存储、数据恢复、数据备份、数据迁移等解决方案与服务,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。 鸿萌数据迁移业务为众多企业顺利高效…