简介:个人学习分享,如有错误,欢迎批评指正。
论文:Practical Deep Raw Image Denoising on Mobile Devices
引言
在数字摄影领域,噪声是影响图像质量的主要因素之一,特别是在弱光条件下拍摄时更为明显。移动设备由于其便携性和普及性,已成为人们日常摄影的主要工具。然而,受限于传感器尺寸和光学元件质量,移动设备在低照度环境下拍摄的图像噪声较为严重。传统的图像去噪方法在移动设备上存在性能瓶颈,而深度学习方法虽然效果显著,但其高计算复杂度限制了在移动设备上的应用。
一、研究背景与问题定义
-
低光噪声的来源:低光下图像传感器更容易产生高斯噪声和泊松噪声,噪声与信号强度成比例关系。
-
RAW图像去噪的优势
- 数据完整性:
RAW图像保留了传感器采集的原始数据
,未经过压缩或处理,包含更多的细节和动态范围。 - 避免信息损失:
在ISP(图像信号处理器)处理之前进行去噪
,避免了后续处理放大噪声的问题。 - 更好的去噪效果:直接处理RAW数据,
可以针对传感器特性进行优化
,取得更好的去噪效果。
- 数据完整性:
-
移动设备的限制
- 计算资源受限:
移动设备的CPU、GPU性能相对于桌面设备较弱
,无法支撑大型深度学习模型的实时运行。 - 存储和内存有限:模型的大小和运行时的内存占用需要严格控制,以适应移动设备的存储空间和RAM限制。
- 功耗要求:高计算负载会导致电池消耗过快,影响用户体验。
- 计算资源受限:
二、相关工作与挑战
- 传统去噪方法
- 空域滤波(如均值滤波和中值滤波):这些方法通常会
模糊图像
,导致细节丢失。 - 频域滤波:如维纳滤波,虽然可以抑制噪声,但假设的噪声模型简单,
难以应对复杂噪声
。 - 非局部均值滤波(Non-local Means):利用图像的自相似性去噪效果较好,但计算
复杂度高
。
- 空域滤波(如均值滤波和中值滤波):这些方法通常会
这些方法中的大多数都是针对一般噪声而设计的,没有利用已知的传感器噪声特性。它们的算法复杂度通常很高
,因此很难在智能手机上全面实现。
- 深度学习去噪方法
- 卷积神经网络(CNN):如DnCNN,利用多层卷积进行去噪,取得了显著效果,但其
计算量较大
。 - 变分自编码器(VAE)和GAN:这些生成模型通过学习噪声图像的分布去噪,然而计算复杂度较高。
- 卷积神经网络(CNN):如DnCNN,利用多层卷积进行去噪,取得了显著效果,但其
这些工作主要侧重于新颖的网络结构以提高准确性,而没有过多关注它们对移动设备的适应性。
-
多帧融合方法
- 目前移动设备上原始图像去噪的最佳实践是捕获并合并多帧。这些方法通常需要准确快速的
图像对齐
,而当场景中存在移动物体时,这一点很难实现
。此外,当噪声水平较高时,对多帧进行平均可以降低噪声,但不能完全消除噪声
,导致结果不令人满意。
- 目前移动设备上原始图像去噪的最佳实践是捕获并合并多帧。这些方法通常需要准确快速的
-
合成真实噪声图像的难点
- 用干净和噪声的图像对构建高质量的真实数据集是一项非常繁琐的工作。
-
移动端部署的难点
- 实时性要求:需要在
拍摄的瞬间完成去噪
,以适应用户预览和拍照体验。 - 模型压缩与轻量化需求:
深度学习模型需要在保证去噪效果的同时减少模型大小
。
- 实时性要求:需要在
三、本文工作
本文的工作重点是去噪raw image
,即在去马赛克和其他 ISP 处理之前以原始拜耳格式从传感器读取的图像。本文提出了一种轻量级、高效的基于神经网络的 raw image 去噪器,它可以在主流移动设备上流畅运行,并产生高质量的去噪结果。
关键见解:
-
特定传感器模型的噪声特性是一致的,并且可以足够准确地测量
。通过捕获和建模传感器噪声,可以生成包含干净和噪声图像对的合成数据集
,并在其上训练轻量级神经网络。 训练后的模型对同一传感器(即同一智能手机型号)捕获的真实图像仍然非常有效。并且在合成传感器特定数据上训练的小型网络可以胜过在一般数据上训练的大型网络
; -
基于参数传感器噪声模型,在亮度空间中推导出一种独特的线性变换,称为
k-Sigma 变换
,它将在不同 ISO 设置下捕获的噪声图像映射到 ISO 不变的信号噪声空间
中,从而允许单个网络处理不同场景中的不同噪声水平
。该方法在实践中比为每个 ISO 设置训练单独的模型或使用一个大型模型对具有不同噪声水平的图像进行训练更有效
主要贡献
- 一种系统方法,用于估计传感器噪声并使用适当构建的合成数据训练特定于传感器的去噪神经网络。
- 一种新颖的 k-Sigma 变换,用于将不同 ISO 设置下的噪声图像映射到 ISO 不变的信号噪声空间。所提出的变换不是针对每个 ISO 训练单独的模型或更大的模型来覆盖变化,而是允许在此空间中训练的单个小型网络处理具有不同噪声水平的图像。
- 一种移动友好的网络架构,可实现高效的图像去噪。对不同的网络架构和去噪方法进行了深入的分析和比较,证明该方法具有与最先进的方法兼容的性能,并且计算资源明显更少。
四、方法介绍
从以下三个方面介绍了本文的方法:
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∗=gα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) nd∼N(0,σd2) 和 n r ∼ N ( 0 , σ r 2 ) n_r \sim \mathcal{N}(0, \sigma_r^2) nr∼N(0,σr2) 分别是应用模拟增益之前和之后的高斯噪声
。 此外, u u u 服从 u ∗ u^* u∗ 的泊松分布,由下式给出
u ∼ P ( u ∗ ) u \sim \mathcal{P}(u^*) u∼P(u∗)
结合公式 x ∗ = g α u ∗ x^* = g \alpha u^* x∗=gαu∗ 和公式 x = g ( α u + n d ) + n r x = g(\alpha u + n_d) + n_r x=g(αu+nd)+n