去噪论文——[Noise2Void,CVPR19]Noise2Void-Learning Denoising from Single Noisy Images

参考文献:(CVPR19)Noise2Void-Learning Denoising from Single Noisy Images

知乎同名账号同步发布

一、基础和背景介绍

在noise2noise的基础上,甚至不需要pair就能训练。作者说虽然不能期望所提方法优于在训练期间具有额外可用信息的方法,但去噪性能仅略有下降,且仍然优于BM3D。用于3个生物医学数据集时,发现由于缺乏ground-truth,传统方法无法训练;noise2noise只适用于一些情况。作者证明了N2V具有巨大的实用性。

二、所提方法和架构

方法的核心思想是patch-based view和噪声独立性假设(给定信号s,不同position的噪声 n i n_i ni n j n_j nj之间相互独立)。

2.1,☆patch-based view

2.1.1,patch-based有监督学习

给定一个全卷积网络FCN,传统的观点认为网络在做的事情是:
f ( x ; θ ) = s ^ f(x;\theta)=\hat{s} f(x;θ)=s^
即输入noisy image x,输出去噪结果(也就是预测的原始图像信号) s ^ \hat{s} s^ θ \theta θ是网络的参数。

现在作者给了一个新的观点,作者认为输出结果s中的每一个像素,由于感受野的限制,其实只取决于输入x中的一部分区域。所以作者用了一个新的公式:
f ( x R F ( i ) ; θ ) = s i ^ f(x_{RF(i)};\theta)=\hat{s_i} f(xRF(i);θ)=si^
上式右端的 s i ^ \hat{s_i} si^表示预测的去噪结果中第i个像素,受限于感受野大小,这个像素其实取决于输入x中的一个patch x R F ( i ) x_{RF(i)} xRF(i),这个patch是以位置i为中心的。

这样一来,传统的监督学习就可以表示为:给定一堆训练的pairs ( x j , s j ) (x^j,s^j) (xj,sj),可以将pairs重新视为 ( x R F ( i ) j , s i j ) (x^j_{RF(i)},s^j_i) (xRF(i)j,sij)。上标表示这是第j个样本,下标表示这是第i个位置的像素。然后传统的监督学习就可以表示为:
在这里插入图片描述

2.2.2,patch-based noise2noise

同样地,noise2noise也能用上述观点来阐述,本来训练的pairs是 ( x j , x ′ j ) (x^j, x^{'j}) (xj,xj),其中:
x j = s j + n j   a n d   x ′ j = s j + n ′ j x^j=s^j+n^j\ and\ x^{'j}=s^j+n^{'j} xj=sj+nj and xj=sj+nj
即同一场景下的两次noisy observation。

现在可以将pairs视为 ( x R F ( i ) j , x i ′ j ) (x^j_{RF(i)},x^{'j}_i) (xRF(i)j,xij),也就是说target是原目标中位置i的像素,input是原输入中以位置i为中心的patch(patch大小取决于网络感受野)。

2.2.3,patch-based view in single image

现在,带着patch view的观点,noise2void要横空出世了。作者认为,如果对于一个single image,以其中的一个patch作为网络的input,以这个patch中心位置的像素作为target,那么网络将会学习到直接将输入patch中心的像素映射到网络的输出。作者认为可以在这个基础上改进一点,将输入的patch的中心像素抹去,那么网络说不定会表现得更好,如下图所示:
在这里插入图片描述
上图左边是将一个patch作为输入,target是这个patch中心位置的像素,这时感受野是整个patch;右边是将patch的中心像素先抹去再输入,这样感受野就缺失了中心位置的像素。现在需要思考的就是,抹掉中心位置的像素后,网络会怎么进行学习呢?

⚠️接下来要先讲述作者说的噪声独立假设,才能思考上述问题

2.2,噪声独立假设和其他假设

所谓噪声独立假设,作者给出了一个公式来说明:
p ( n ∣ s ) = ∏ i p ( n i ∣ s i ) p(n|s)=\prod_i p(n_i|s_i) p(ns)=ip(nisi)
也就是说,给定信号s(s指的就是clean target),不同位置的噪声像素之间是相互独立的

作者对信号也做了假设,也就是不同位置的信号像素不是相互独立的:
p ( s i ∣ s j ) ≠ p ( s i ) p(s_i|s_j)\neq p(s_i) p(sisj)=p(si)

当然也和noise2noise一样,作者也做了噪声零均值假设:
E [ n i ] = 0 E[n_i]=0 E[ni]=0
即:
E [ x i ] = s i E[x_i]=s_i E[xi]=si
意义自明,如有不理解建议先学习noise2noise。

有了这几个假设,就可以开始愉快的分析了。

2.3,noise2void

现在,我们重新开始考虑一个问题:
在这里插入图片描述
这是刚才没有讨论的架构,即输入的patch抹去中心位置的像素,网络的target为这个patch中心位置的像素。

换句话说,输入缺失了中心位置的信息,但要求预测中心位置的信息

⚠️中心位置i的信息指的是:i位置的信号像素 s i s_i si和i位置的噪声像素 n i n_i ni

还记得刚才的假设吗?不同位置的噪声像素是独立的,不同位置的信号像素不是独立的。也就是说,input缺失了中心位置的噪声像素,那么它不可能通过i位置周围的像素来预测中心位置的噪声像素;input缺失了中心位置的信号像素,由于信号不是相互独立,所以它可以通过i周围的像素预测中心位置的信号像素。

上面这句话十分令人眼熟,还记得noise2noise的思想:由于网络不可能学到将一个随机噪声观测映射到另一个随机噪声观测,所以随着训练的进行,网络会倾向去输出“随机的期望”,如果噪声是零均值的,那么随机的期望就是clean target,即信号本身。那么noise2void也同理,网络不可能学会将输入的patch(缺失了中心像素的信息)映射到输出(中心像素),因为噪声是相互独立的,i周围的像素没有i位置的噪声信息,换句话说,输入和输出都可视为随机且相互独立的noise observation,它们的noise是相互独立的,那么在这种情况下,网络会倾向于输出什么呢?

聪明的你可能想到了,网络会输出中心像素的期望,也就是:
E ( x i ) E(x_i) E(xi)
而它在满足之前所说的噪声零均值假设的时候,就等于信号的第i个像素 s i s_i si,等于这个clean target。

三、实现细节和实验结果

3.1,实验细节

在这里插入图片描述
实现细节大概是这样:随机选取一个64×64的patch(这个大小是大于网络感受野的)。然后从中随机选取N个点,对于每一个点,以它为中心、以网络感受野为大小的小patch,即上图的(b),用随机一个pixel(上图b的蓝色块)替换掉中心的pixel(上图b的红色块),然后这个小patch就是网络的input(它已经被抹掉了中心位置的像素信息)。然后以上图©为对应的target,它只保留了中心位置的像素信息。这样一来,输入一个64×64的patch做训练,一次就能够计算N个点对应的梯度,作者说这句话是想表达:如果不用这个trick,那么就需要处理整个patch才能计算一个点的梯度,计算成本就比较高。
(注意采样N个点的时候采用stratified sampling以避免clustering)

3.2,实验结果

在这里插入图片描述

以下部分内容参考:
知乎用户seniusen的回答(https://zhuanlan.zhihu.com/p/133961768)

比如下图所示,红色箭头所指的位置是一个孤立的亮点,而其周围比较暗,这样 N2V 就不能从周围像素中正确地预测出中间像素:
在这里插入图片描述
如果噪声不满足相互独立的假设,那么也不能获得良好的效果:
在这里插入图片描述

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Noise2Void是一种模型训练的条件要求,旨在从单个噪声图像中学习去噪。根据所提出的要求,有一系列相关文章,例如《Probabilistic Noise2Void: Unsupervised Content-Aware Denoising》、《Noise2Void - Learning Denoising from Single Noisy Images》、《SELF-SUPERVISED DEEP IMAGE DENOISING》、《Noise2Self: Blind Denoising by Self-Supervision》等。这些文章中,《Noise2Void - Learning Denoising from Single Noisy Images》被引用作为基础来解释Noise2Void方法。 从结果来看,当损失函数与噪声不匹配时,使用这种方法训练的模型会有较大误差。然而,当损失函数与噪声匹配时,使用Noise2Void方法可以接近使用(噪声,干净图像)对模型进行训练的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [去噪论文——[Noise2Void,CVPR19]Noise2Void-Learning Denoising from Single Noisy Images](https://blog.csdn.net/umbrellalalalala/article/details/121959347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [图像去噪Noise2NoiseNoise2Void](https://blog.csdn.net/qq_37614597/article/details/114964757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值