文献阅读与想法笔记13 Unprocessing Images for Learned Raw Denoising

Posted 呆呆象呆呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文献阅读与想法笔记13 Unprocessing Images for Learned Raw Denoising相关的知识,希望对你有一定的参考价值。

想法核心

  • 通过对相机图像处理管道的每一步进行建模和反转,将普通图像“未处理”成类似于真实相机传感器捕获的原始测量值的数据

“unprocessing” generic images into data that resembles the raw measurements captured by real camera sensors, by modeling and inverting each step of a camera’s image processing pipeline

  • 从大量可用的互联网图像中合成了大量真实的噪声/干净的成对训练数据

synthesized large amounts of realistic noisy/clean paired training data from abundantly available Internet images.

  • 将标准图像处理操作纳入学习过程本身

incorporating standard image processing operations into the learning procedure itself

  • Darmstadt Noise Dataset 14%-38% lower error rates and 9×-18× faster runtimes

方法比较

传统方法 – 已知噪声和图像特性

现代方法 – 神经网络完成有噪声到没有噪声的映射,通过网络表达图像和噪声的复杂特性

数据集的问题和方法的对应关系

常用方法均为在合成数据集进行测试训练。朴素认为噪声为加性、白噪声、高斯噪声,均不考虑这些噪声在实际传输管道中的许多步骤

替代方法 – 使用去噪算法所针对的同一个摄像头捕获噪声和无噪声的图像对,捕获有噪声和无噪声的图像对很困难,需要长时间曝光或大量图像,并进行后处理以对抗相机运动和光线变化。

此外,由于不同的摄像机传感器表现出不同的噪声特性,因此将学习到的去噪算法适应新的摄像机传感器可能需要捕获新的数据集。

本文的替代方法

理解数字传感器的物理特性和成像管道的步骤

使用有关目标摄像机传感器的基本信息 用于对图像处理管道的关键组件进行建模

“Unprocessing” (我理解为退化)通用互联网图像以生成真实的原始数据

将图像处理操作集成到神经网络的训练中

传感器噪声主要来自两个来源

光子到达统计(“散粒”噪声) 泊松随机变量,其平均值为真实光强度(以光电子测量)。

读出电路中的不精确(“读取”噪声) 具有零均值和固定方差的近似高斯随机变量。近似为一个异方差高斯函数,并将每个观测到的强度y视为一个随机变量,其方差是真实信号x的函数:
y ∼ N ( μ = x , σ 2 = λ read  + λ shot  x ) y \\sim \\mathcalN\\left(\\mu=x, \\sigma^2=\\lambda_\\text read +\\lambda_\\text shot x\\right) yN(μ=x,σ2=λread +λshot x)

Parameters λ read  \\lambda_\\text read λread  and λ shot \\lambda_\\text shot λshot are determined by sensor’s analog and digital gains. For some digital gain g d g_d gd, analog gain g a g_a ga, and fixed sensor readout variance σ r 2 \\sigma_r^2 σr2, we have
λ read  = g d 2 σ r 2 , λ s h o t = g d g a \\lambda_\\text read =g_d^2 \\sigma_r^2, \\quad \\lambda_s h o t=g_d g_a λread =gd2σr2,λshot=gdga
这几个东西都是通过设置可调的(光圈,曝光,自动曝光算法)

原始pipline

  • 散粒噪声和读取噪声的建模

    log ⁡ ( λ shot  ) ∼ U ( a = log ⁡ ( 0.0001 ) , b = log ⁡ ( 0.012 ) ) log ⁡ ( λ read  ) ∣ log ⁡ ( λ shot  ) ∼ N ( μ = 2.18 log ⁡ ( λ shot  ) + 1.2 , σ = 0.26 ) \\beginaligned \\log \\left(\\lambda_\\text shot \\right) &\\sim \\mathcalU(a=\\log (0.0001), b=\\log (0.012)) \\\\ \\log \\left(\\lambda_\\text read \\right) \\mid \\log \\left(\\lambda_\\text shot \\right) &\\sim \\mathcalN\\left(\\mu=2.18 \\log \\left(\\lambda_\\text shot \\right)+1.2, \\sigma=0.26\\right) \\endaligned log(λshot )log(λread )log(λshot )U(a=log(0.0001),b=log(0.012))N(μ=2.18log(λshot )+1.2,σ=0.26)

  • 去马赛克(但是这个没有源码我还是浮现不出来)

    针对拜耳模式的去马赛克

    将Bayer Pattern的格式转换为RGB,那就需要通过插值的方式将每个像素点中丢失的两个颜色找回来。有几种插值的方式可以使用,但是最常用的方法是线性插值的修正调节版本。对红色(R)和蓝色(B)分量进行插值。

    Bayer Pattern——RGGB - 梅长苏枫笑 - 博客园

  • 数字增益

    相机通常会对所有图像强度应用数字增益,其中每个图像的特定增益由相机的自动曝光算法选择。这些自动曝光算法通常是专有的“黑匣子”,很难对任何单个图像进行反向工程。

    难以逆推的替代方法:

    通过合成数据对中的数据集的对应比例(逆推这个比例参数)然后再对这个比例参数 做均值方差正态分布之后,得到实际过程中的数字增益分布

  • 白平衡

    相机记录的图像可以理解为一个乘积。

    照亮场景的灯光颜色*场景中对象的材质颜色的乘积

    摄影机管道的一个目标是消除一些照明效果,生成一个在“中性”照明下似乎被照亮的图像。

    通过采样逆推出来的反向增益1/g几乎总是小于1

    这意味着我们的合成图像的x/g自然增益将导致数据集系统性地缺乏高光,几乎不包含no clipped pixels

    这是有问题的,因为在去噪时正确处理饱和图像强度至关重要。为了说明这一点,我们没有用简单的乘法将逆增益1/g应用于某个强度x,

    个人理解本来横线会延伸出去然后导致x实际很亮的区域(也就是高光部分都会被这个增益压制)

    现在通过立方的形式进行了一次明度强度拉伸

  • 颜色校正

    相机传感器的滤色器与sRGB颜色空间预期的光谱不匹配。为了解决这个问题,相机将应用3×3颜色校正矩阵(CCM)将其自身的“相机空间”RGB颜色测量值转换为sRGB值。

    测试数据集由四个摄像头组成,每个摄像头在执行颜色校正时使用自己的固定CCM。为了生成合成数据,从而将其推广到数据集中的所有相机,我们对这四个CCM的随机凸组合进行采样,对于每个合成图像,我们应用采样CCM的倒数来撤销颜色校正的效果。

    8.3 Convex combinations (凸组合)_连理o的博客-CSDN博客_凸组合

  • 伽马压缩

    由于人类对图像暗区的梯度更敏感,伽马压缩通常用于将更多的动态范围比特分配给低强度像素。

    标准伽马曲线,同时用 ϵ = 1 0 − 8 \\epsilon=10^-8 ϵ=108钳制伽马曲线的输入。为了防止训练期间数值不稳定

  • 色调映射

    高动态范围图像需要极端色调映射,但即使是标准的低动态范围图像,通常也会使用S形曲线进行处理,以匹配胶片的“特征曲线”。

    假设色调映射是用一条简单的“平滑步”曲线来执行的,我们在生成合成数据时使用该曲线的倒数。

    3、Tone Mapping色调映射(Advanced High Dynamic Range Imaging )_岁月蹉跎的一杯酒的博客-CSDN博客

    补充知识点1

    色调映射是调整HDR内容的动态范围以适合给定显示器上可用的较低动态范围的操作。 范围的减小试图保持原始内容的某些特性,例如局部和全局对比度,细节等。此外,通常希望色调映射图像的感知应该与真实场景的感知相匹配。

    补充知识点2

    tone Mapping原是摄影学中的一个术语,因为打印相片所能表现的亮度范围不足以表现现实世界中的亮度域,而如果简单的将真实世界的整个亮度域线性压缩到照片所能表现的亮度域内,则会在明暗两端同时丢失很多细节,这显然不是所希望的效果,Tone Mapping就是为了克服这一情况而存在的,既然相片所能呈现的亮度域有限则我们可以根据所拍摄场景内的整体亮度通过光圈与曝光时间的长短来控制一个合适的亮度域,这样既保证细节不丢失,也可以不使照片失真。人的眼睛也是相同的原理,这就是为什么当我们从一个明亮的环境突然到一个黑暗的环境时,可以从什么都看不见到慢慢可以适应周围的亮度,所不同的是人眼是通过瞳孔来调节亮度域的。

网络模型

数据集[23]的sRGB图像未经处理,添加真实的快照和读取噪声以合成有噪声的原始输入图像。

噪声图像通过我们的去噪神经网络输入

然后该网络和无噪声原始图像的输出在计算L1损失之前进行原始处理。

(按道理来说噪声等级应该是一张高斯的)

后处理也会加入,为了使指导网络模型有更好去适应整个去噪过程

输入特点

将Bayer域中的噪声原始图像作为输入,并在同一域中输出降噪图像。

据输入图像的快照和读取噪声参数,向网络传递输入图像中噪声标准偏差的每像素估计值。

模型预测的不是直接预测去噪后的图像,而是添加回输入图像的残差。

输出特点

也是bayer域

训练细节

P100 3-4Days

random 128 × 128 crops of each image, with random horizontal and vertical flips for data augmentation.

batch size of 16

结果

We report baseline techniques that use either raw or sRGB data as input, and because this benchmark does not evaluate sRGB-input techniques in terms of raw output, the raw error metrics are missing for those techniques.

Darmstadt数据集将其评估分为多个类别:

使用差稳定变换的算法

不使用方差稳定变换的算法

同时

使用线性拜耳传感器读数作为输入

使用双线性化sRGB图像作为输入

每一种对原始图像进行处理的算法都会被通过两种方式进行评估

The Darmstadt dataset as presented by [31] separates its evaluation into multiple categories: algorithms that do and do not use a variance stabilizing transformation, and algorithms that use linear Bayer sensor readings or that use bilinearly demosaiced sRGB images as input. Each algorithm that operates on raw input is evaluated both on raw Bayer images, and on their denoised Bayer outputs after conversion to sRGB space.

(Variance Stabilizing Transform算法指将高斯泊松噪声转化为高斯噪声的一系列算法)有无VST均包含

网络变体的两个标注一个以sRGB为目标,另一个以raw为目标

PSNR和SSIM的相对改善很难判断,因为这两个指标都被设计为随着误差变小而饱和。为了帮助解决这个问题,除了每个错误,我们在括号中报告了性能最佳的模型相对于该模型的相对误差减少情况。RMSE 和DSSIM

消融

“Noise-blind” indicates that the noise level was not provided as input to the network.

  • 退化处理效果很有价值
  • 增加网络结构效果一般
  • 残差图片补充有价值
  • 任何模组有价值

个人的一些想法

  • 网络结构很简单复现应该不困难
  • 实际效果提升具体所带来的原因是因为更加符合真实数据分布的数据下训练得来还是实际网络针对图像去噪有更好的价值
  • 他人的方法如果使用这种方式进行数据集扩充之后是否有更好的表现
  • 速度方面的优化可以实现的方法有哪些

以上是关于文献阅读与想法笔记13 Unprocessing Images for Learned Raw Denoising的主要内容,如果未能解决你的问题,请参考以下文章

文献阅读与想法笔记13Pre-Trained Image Processing Transformer

文献阅读与想法笔记13Pre-Trained Image Processing Transformer

文献阅读与想法笔记14Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

文献阅读与想法笔记14Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

深度学习文献阅读笔记

文献阅读笔记图像识别与分类