文章目录
1. 论文简介
该论文介绍了一个注意力引导的降噪卷积神经网络(ADNet)。该网络主要包括4个模块,分别是稀疏模块(sparse block,SB),特征提升模块(feature enhancement block, FEB),注意力模块( attention block,AB),重构模块(reconstruction
block,RB)。其中,SB模块通过将空洞卷积和普通卷积结合的方式删除噪声,平衡输出图片效果和运行效率。FEB模块通过集成全局和局部的特征信息优化模型。AB模块用来提取隐藏在复杂背景中的噪声,该模块对于处理复杂噪声图片(如真实噪声图片)是十分有效的。RB模块通过求得的噪声和原始图片重构出无噪声的图片。多重实验证明该模型在合成噪声图片、真实噪声图片和盲去噪任务下都能得到较好的定量和定性结果。
2. 模型结构分析
1) 网络架构
上图清晰地显示了模型中的四个模块。可以看到该模型一共有17层卷积,其中SB中12层,FEB中4层,AB中1层。设 IN 为输入的噪声图片,IR 为预测的残差图片(也可以称为噪声映射图片),则该模型关系如下:
OSB = fSB(IN)
其中OSB是SB模块的输出,fSB是SB模块的函数,IN是输入的噪声图片。
OFEB = fFEB(IN, OSB)
其中OFEB是FEB模块的输出,fFEB是FEB模块的函数。这里就可以看出来FEB模块处理时,不仅使用了上一个模块输出的结果,还使用了原始含噪图像的信息。上一个模块输出的结果是局部信息,而原始图片信息其实就是全局信息。这就和概述中FEB的作用对应上了。
IR = fAB(OFEB)
fAB是AB模块的函数。
ILC = IN - IR = IN - fAB(fFEB(IN, fSB(IN))) = IN - fADNet(IN)
*ILC是预测的去噪图片。
2) 损失函数
ADNet模型应用了退化方程 y = x + v ,经过上面的介绍我们知道,ADNet其实是一个预测残差图片的模型。那么这里就使用 v = y - x 来计算真实残差。也就是 INi - ICi ,即输入的第 i 个含噪的原始图片减去第 i 个不含噪的对应图片,得到真实的残差图片。再使用 fADNet(INi) 计算得出预测的第i个图片的残差图片。预测值减去真实值,计算L2损失函数。
3) Sparse block(SB)模块分析
OSB = R(B(D(CBR(CBR(R(B(D(CBR(CBR(CBR(R(B(D(CBR(CBR(R(B(D(CBR(IN )))))))))))))))))))).
OSB代表SB模块的输出,R代表ReLU激活函数,B代表BN,D代表空洞卷积,DBR代表Conv+BN+ReLU。
作用:利用稀疏性,解决利用过深的网络训练模型,计算量过大的问题。
分析:
作者引用论文指出稀疏性有助于图片分析。因此提出建立一个稀疏模块SB。这里的稀疏性就体现在该模块的卷积并不单一,而是将空洞卷积和普通卷积结合,按照一定顺序排列。
该模块一共有12层卷积,其中只有2种卷积类型,分别是: dilated Conv+BN+ReLU 和
Conv+BN+ReLU。其中空洞卷积在第2、5、9、12层,其他层是普通卷积。普通卷积层数大于空洞卷积层数,是因为这样排列能提高性能还能降低模型的复杂性。
这里作者做了实验判断了空洞卷积层处在不同位置或应用不同数量时取得的噪声率峰值。
上面表格中变量 | 解释 |
---|---|
PSNR | 表示噪声率的峰值信号(peak signal to noise ratio),值越大,效果越好。 |
SB with extended layers | 表示文中的SB模块,空洞卷积在2、5、9、12层。 |
EHE with extended layers | 空洞卷积在2、5、8、11层,刚好每2个空洞卷积间隔3层普通卷积层。 |
SHE with extended layers | 空洞卷积在2、3、4、5层,是连续的空洞卷积。 |
ADC with extended layers | 所有12层都是空洞卷积层。 |
CB | 所有12层都是常规卷积层 |
可以看到SB的卷积层分布方式是效果最好的。这里我感觉作者也是一个一个试出来的,因为他也没说出个所以然为什么这种分布是最好的。
此外作者也比较了SB with extended layers和ADC with extended layers两种情况下不同大小噪声图片的运行时间,结果如下表所示,SB模块各种情况下运行时间都更短。
由于空洞卷积有更大的感受野,因此这些空洞卷积层被认为是high energy points。而其他的普通卷积层被认为是low energy points。high energy points和low energy points结合就可以认为是表现了稀疏性。
12个卷积层的卷积核大小都是 3 × 3,第1个卷积层的输入通道数是c,也就是说,输入图片是彩色图片时c=3,否则c=1。2 - 12层的输入和输出都是64。
3) Feature enhancement block(FEB)模块分析
OFEB = T (Cat(C(CBR(CBR(CBR(OSB)))), IN ))
OFEB代表FEB模块的输出,T代表Tanh激活函数,Cat代表拼接操作,C代表Conv,IN是输入图片。
作用:提升模型表达效果。
构成:
FEB模块有4层卷积,分别是3层 Conv+BN+ReLU和1层Conv。13-15层是Conv+BN+ReLU卷积层,过滤器大小是 64 × 3 × 3 × 64。16层是普通卷积,过滤器大小是 64 × 3 × 3 × c(c值和SB中的c值一样)。
FEB中的Cat不是下面那个"Cat",而是拼接操作。该操作是将16层的输出结果和最开始输入模型的含噪图片拼接起来,从而提升该模型的效果。
Tanh为激活函数。
3) Attention block(AB)模块分析
作用:利用注意力机制,解决图片背景过于复杂隐藏图片本身特征的问题。
当图片有复杂的背景时,背景会掩盖图像的特征,给训练造成困难。文中作者提出AB模块来解决该问题。
AB模块中卷积为2c × 1 × 1 × c。
AB通过以下两步实现注意力机制:
1 使用 1 × 1的卷积将提取的特征压缩成一个向量,向量的值作为调整前面步骤的权重,从而提升降噪效率。
2 利用获取的权重乘以第16层(也就是FEB模块的Conv层)输出的结果,从而提取更主要的噪声信息。
3) Reconstruction block(RB)模块分析
利用残差重构去噪图像。
ILC = IN - IR = IN - fAB(fFEB(IN, fSB(IN))) = IN - fADNet(IN)
3. 实验
实验使用了多种数据集,下面贴出对应定性、部分定量结果。