RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记

RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第1张图片

  • JVCIR(CCF 3区SCI期刊)18年的文章,主要内容是低光图像去噪
  • 几大贡献:
    • 提出了一个成对图像的图片数据集,其中一张为黑暗自然噪声图像,另一张为黑暗低噪图像,获取这样的图片对的方法是重点
    • 提出了一种评估噪声等级的方法,并用该方法评估了自然噪声和人工加噪(包括泊松-高斯 噪声模型),以及六个现有去噪模型的去噪效果
  • 黑暗图像中的噪声主要是由于传感器的尺寸太小以及曝光时间不充分。核磁共振、CT、X-ray图像中都会出现类似的噪声,原因也大致相同。
  • 现有的去噪方法多数是针对人工加噪如高斯 、泊松、椒盐噪声等,但自然图像的噪声往往要复杂得多。
  • 不同相机的噪声类型是不同的,当然可以在应用中为某个相机专门打造一个该相机的数据集区训练这个相机的模型,但如果是为了普适应该有一个各种类型相机的图片对从而可以评估模型的泛化程度,但这样反过来又无法评估算法对某一个相机的噪声的适应能力。个人觉得这个看目的吧,看你是想看模型的泛化能力还是拟合能力。原文两者想兼顾,所以对三个相机采集了三个数量相同的数据集。
  • 低光带来的噪声并非高斯噪声,而是更复杂的方差依赖于亮度的泊松-高斯混合分布

A. Foi, M. Trimeche, V. Katkovnik, K. Egiazarian, Practical poissonian-gaussian noise modeling and fitting for single-image raw-data, Image Processing, IEEE Transactions on 17 (10) (2008) 1737–1754.

F. Luisier, B. Thierry, M. Unser, Image denoising in mixed poisson-gaussian noise, Image Processing, IEEE Transactions on 20 (2011) 696–708.


数据集获取方法:

  • 数据集包含120个低光场景的图片,每个场景有四张图片,是按顺序这样得到的:
    • 先拍一张低ISO(100) 长曝光时间得到 reference image
    • 然后拍两张高ISO短曝光时间得到 noise image
    • 然后再拍一张和reference image一样的作为 clean image
  • 之所以拍了refernece image后还要再拍一张一样的clean image以及两张一样的noise image,文章的解释是:This is done to evaluate the quality of the whole acquisition process for that particular scene. 我猜测意思是,可以通过比较reference image 和 clean image 之间的差别来得到随机噪声的强度,同样也可以比较两张noise image 来得到低光下随机噪声的强度。
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第2张图片
  • 下面这篇论文提到了,图片上的噪声具有空间上的短程相关性:

C. Liu, R. Szeliski, S. B. Kang, C. L. Zitnick, W. T. Freeman, Automatic estimation and removal of noise from a single image 30 (2008) 299–314.

  • 而本文没有采取上述假设,而是采取下述假设:
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第3张图片
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第4张图片

RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第5张图片

  • 首先将 reference 的 16bit 的 raw image 转为 8bit 的无压缩图片格式,为此先对 raw image 进行累计分布的统计,然后取第99%顺位的值映射至0-255之间的230这个像素值,从而进行总体的线性映射,即高于99%的将被映射到230以上,为的是避免太多饱和值(映射后高于255的会被置为255,因此称这些为饱和值)。换句话说,这个线性映射即乘以一个 α \alpha α α \alpha α 通过230除以第99%的raw值进行估计,乘以 α \alpha α 后还将0-255之外的剪切为0和255.
  • 然后是将其它三张图片同样进行映射,但这时不再通过 99%->230的映射关系找 α \alpha α,而是希望与 reference 进行亮度的对齐(希望使得低曝光时间的图片与高曝光时间的图片映射成相同亮度),具体是首先将两张图片(reference 8bit R R R 以及 其它三张 raw image I I I)都进行高斯滤波降噪得到 I ~ \tilde{I} I~ R ~ \tilde{R} R~,然后再按以下公式求 α \alpha α,然后再求 8bit 的图片 α I \alpha I αI
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第6张图片
  • 解释下上面这个公式,其实就是希望映射后(剪切到0-255之间)的图片与 R ~ \tilde{R} R~的差最小,但并不对所有位置上的像素计算差,而只对 R ~ \tilde{R} R~上与周围的像素的值相同的位置上的像素计算差。
  • 上述最优化采取 Golden section search (黄金分割搜索)实现
  • 为了说明上述的映射是有效的,给了几张可视化的图:
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第7张图片
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第8张图片
  • 可见确实是存在一个线性映射关系,并且映射后误差较小

噪声强度评估方法:

  • 由于对每一个场景都同时获取了 reference image 和 clear image 的图像对,因此可以利用这样的图像对来评估独立同分布的噪声的方差:
    在这里插入图片描述
    即:
    在这里插入图片描述
    而对于noise image 则有类似的公式:
    在这里插入图片描述
    将上面求得的 ϵ r ( x ) \epsilon_r(x) ϵr(x)代入可得
    在这里插入图片描述
    如果想更精确,可以用reference image 和 clear image的平均 I a ( x ) = ( I r ( x ) + I c ( x ) ) / 2 I^a(x) =( I^r(x) + I^c(x) )/ 2 Ia(x)=(Ir(x)+Ic(x))/2 来作为 I G T I^{GT} IGT,则得到下式:

在这里插入图片描述
当然,上述计算可以对图片的局部或全局进行。


人工合成噪声评估

RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第9张图片
从之前拍摄的16-bit reference image选出几张,作为上图的 ground truth 16-bit,然后用 99%->230 的映射方法得到 γ \gamma γ 和 ground truth 8-bit;然后对ground truth 16-bit 加高斯噪声,方差如图所示分别为 3 γ \frac{3}{\gamma} γ3 10 γ \frac{10}{\gamma} γ10 3 γ \frac{3}{\gamma} γ3,得到 reference 16-bit,noisy 16-bit 以及 clean 16-bit。效仿之前的亮度对齐方法,首先对reference 16-bit 采取 99%->230 的映射方法得到 γ ′ \gamma' γ 然后用对齐的公式找到 α 1 \alpha_1 α1 α 2 \alpha_2 α2,得到 reference 8-bit,noisy 8-bit 以及 clean 8-bit.

  • 只要计算 clean 8-bit、noisy 8-bit 与 ground truth 8-bit 之间的标准差即可得到真实的noise level。还有常用的noise level 计算方法 σ ( I c − I r ) \sigma(I_c - I_r) σ(IcIr) σ ( I n − I r ) \sigma(I_n-I_r) σ(InIr),可以得到一个noise level。以及上面该论文提出的noise level 计算方法,可以得到一个 noise level。通过比较论文提出的方法得到的noise level与 真实的noise level的相对误差 和 常用的方法得到的noise level 与真实的noise level的相对误差可以得知,我们的方法对人工合成的高斯噪声的noise level的评估更加准确,如下图:
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第10张图片
    横坐标,std的意思是常用的噪声评估方法,our是论文提出的噪声评估方法。纵坐标相对误差指的是得到的噪声标准差与真实标准差的差除以真实标准差。可以看到论文提出的噪声评估方法的相对误差对于noisy image在0.5以内,而常用的噪声评估方法相对误差在4.5左右。

真实场景下的噪声评估

  • 首先选取特殊场景进行拍摄,这些场景为低光场景下的单色统一强度表面,也就是说如果没有噪声,拍出来的图片应该所有像素值都相同。然后用获取数据集时同样的拍摄方法获取reference,noisy 和clean image。reference的映射则修改为 50%->128,其它的映射同样使用黄金分割搜索的优化方法进行线性映射。
  • 然后对获得的三张8-bit图片进行分布统计:
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第11张图片
  • 由于我们已知GT就是单色的图片,所以对计算图片的方差可以直接得到噪声的强度。但考虑到场景中可能仍然存在缓慢变化的光照强度,我们对每张图片进行大尺度的高斯模糊得到它的GT版本而不是直接构建单色图作为GT。通过计算每张图与其GT版本的图片的差可以得到纯的噪声,再计算方差得到真实的噪声强度。
  • 然后仍然是进行与上面人工合成噪声相同的评估方法进行 常用方法 和 论文提出的方法 的评估和比较:
    RENOIR - A Dataset for Real Low-Light Image Noise Reduction 论文阅读笔记_第12张图片

泊松-高斯分布噪声的评估

  • 首先,低光图片的噪声可以用泊松-高斯分布来建模:
    I n ( x ) = α p ( x ) + n ( x ) I^n(x) = \alpha p(x)+n(x) In(x)=αp(x)+n(x)
    其中 I n ( x ) I^n(x) In(x) 为受噪声影响的低光图片, n ( x ) n(x) n(x) 为均值为0方差为 τ 2 \tau^2 τ2的高斯分布, p ( x ) p(x) p(x)为泊松随机变量,均值为 I G T ( x ) / α I^{GT}(x)/\alpha IGT(x)/α,因此噪声为:
    ϵ n ( x ) = α p ( x ) + n ( x ) − I G T ( x ) \epsilon_n(x) = \alpha p(x)+n(x) - I^{GT}(x) ϵn(x)=αp(x)+n(x)IGT(x)
    均值为0
    标准差为 σ ( ϵ n ( x ) ) = α I G T ( x ) + τ 2 \sigma(\epsilon_n(x)) =\sqrt{\alpha I^{GT}(x)+\tau^2} σ(ϵn(x))=αIGT(x)+τ2

未完待续。。。

你可能感兴趣的:(论文阅读笔记,计算机视觉,深度学习)