前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ECCV 2020 | SADNet:用于单图像去噪的空间自适应网络

ECCV 2020 | SADNet:用于单图像去噪的空间自适应网络

作者头像
Amusi
发布2020-09-23 16:56:06
2K0
发布2020-09-23 16:56:06
举报
文章被收录于专栏:CVerCVer

本文作者:Whn丶nnnnn https://zhuanlan.zhihu.com/p/219766818 本文已由原作者授权,不得擅自二次转载

论文:https://arxiv.org/abs/2001.10291

代码:https://github.com/JimmyChame/SADNet

Title:Spatial-Adaptive Network for Single ImageDenoising(SADNet):用于单张图像去噪的空间自适应网络

Keywords:image denoising,image restoration,image processing

Abstract

先前的工作表明CNN已可以在image denoising上取得良好的效果,但是很可能会导致图像过于光滑,以额外的计算开销为代价使用较深的网络结构可以缓解这类问题。在本文中,作者提出了一种新的空间自适应去噪网络(spatial-adaptive denoising network,SADNet)来有效地去除单张图像的盲噪声(blind noise)。为了适应空间纹理和边缘的变化,设计了一个残差空间自适应块(residual spatial-adaptive block)。引入可变形卷积(Deformable convolution)对空间相关特征进行采样。引入具有上下文快的encoder-decoder来捕获多尺度信息(multiscale information)。通过从粗到细的噪声去除,得到高质量的noise-free image。该方法可以用于synthetic noisy image和real-world noisy image的去噪。

1. Introduction

Image Denoising是计算机视觉以及图像处理领域中的关键任务。许多早期的基于模型的方法(model-based methods)先找到图像的先验信息(priors)然后再应用优化算法迭代求解模型,这样的方法十分耗时而且效果不佳。随着深度学习的兴起,CNN被广泛应用于Denoising而且取得了不错的效果。

早期工作中大多假设噪声是独立且均匀分布的,加性高斯白噪声常被用于建模生成噪声图像。而现在人们意识到实际上噪声是以更复杂的形式出现的,在空间上可变(spatially variant)且与信道相关(channel dependent)。虽然人们已经在real-world noisy image的去噪上取得了很大的进展,但仍有一些问题有待解决。传统的CNN只能使用features in local fixed-location neighborhoods,但是这些特征可能是irrelevant or exclusive to the current location的。由于无法适应纹理和边缘(textures and edges),基于CNN的方法很容易导致图像过于平滑、细节丢失。此外传统CNN的感受野(receptive field)相对较小,通过加深网络结构来扩展感受野又会导致较高的资源消耗。

在本文中,使用SADNet来解决以上问题。作者设计了一个残差空间自适应块(residual spatial-adaptive block,RSAB)来适应空间纹理和边缘的变化。将RSAB和残差块(ResBlock)合并到encoder-decoder结构中,从粗到细地去除噪声。在最粗尺度(coarsest scale)使用context block来扩大receptive field,可以在小的计算开销下获得良好的性能。

贡献总结:

  • 提出一种新型的空间自适应去噪网络SADNet,从复杂的图像中捕获特征,从噪声中恢复细节和纹理以有效地去除噪声。
  • 提出了残差空间自适应块RSAB,引入deformable convolution来适应空间纹理和边缘。使用带有上下文块的encoder-decoder结构来捕获多尺度信息,从粗到细地去除噪声。
  • SADNet可以在多个synthetic noisy image datasets和real noisy image datasets的去噪上取得良好的效果。

2. Related works

总的来说,image denoising包括model-based和learning-based两类。Model-based的方法使用建模的分布作为先验信息,尝试使用优化算法获得noisy-free的图像。常见先验信息包括local smoothing(局部平滑)、sparsity(稀疏性)、non-local self-similarity(非局部自相似)和external statistical prior(外部统计先验)。Non-local self-similarity是denoising task的显著先验,相关的算法有NLM、BM3D、WNNM等,都已得到广泛应用。随着DNN的普及,learning-based的denoising方法发展迅速,这里只简单提一下作者对比的几种算法:FFDNet、N3N、DnCNN、FFDNet、CBDNet、RIDNet等。可以参考原文和Refernces部分自主学习,后两篇文章的解读我也会在自己的专栏中陆续写出,此处为专栏已有图像去噪/修复文章做一波引流。

https://zhuanlan.zhihu.com/p/205024389

https://zhuanlan.zhihu.com/p/183698399

3. Framework

SADNet 结构框架

SADNet的网络结构如上图所示,令

为输入的噪声图像,

为对应的去噪输出图像,那么模型即可表示为

使用1层Conv层从噪声输入中提取初始特征(initial features),将这些特征输入到multiscale encoder-decoder结构中。在encoder部分使用ResbBlocks提取不同尺度的特征,不同于原始的ResBlock,在使用时删去了BN层(Batch Normalization)而且使用leaky ReLU作为激活函数,为了避免损坏图像结构,限制了下采样的操作次数,并使用一个context block来进一步扩大感受野(receptive field)并捕获多尺度信息;在decoder部分,设计了residual spatial-adaptive blocks(RSABs)来对相关特征进行采样和加权以消除噪声并重构纹理。此外还估计了偏移量(offset),这对于获得更精确的特征位置很有帮助。最后将重构的特征输入到最后一个Conv层来还原去噪后的图像。

除了网络结构以外,损失函数也至关重要,denoising task常用的损失包括

、perceptual loss、asymmetric loss。

对于Gaussian noise有很好的置信度;

对异常值(outliers)有更好的容忍度(tolerance)。在本文中,使用

训练synthetic noisy image datasets;使用

训练real-world noisy image datasets。

3.1. Residual spatial-adaptive block

首先介绍deformable convolution(可变形卷积)再细致地介绍RSAB。

为输入特征图

中位置

处的特征,对于传统的卷积操作,对应的输出特征

可以通过

得到,其中

代表位置

的neighborhood,它的大小和卷积核相同,

为卷积核中位置

处的权重,

中的位置。传统卷积严格地采用

周围固定位置的特征来计算输出特征,因此有一些不需要或是不相关的特征可能会干涉输出的计算。所以作者引用了deformable convolution来适应空间纹理的变化。

Deformable convolution可以改变卷积核的形状,它首先为每个位置学习一个偏移图(offset map)然后将所得偏移图应用于特征图,对相应特征进行重采样来进行加权。使用可调制的deformable convolution,它提供了另一个自由度来调整空间支撑区域(spatial support regions):

,其中

为位置

的可学习偏移(learnable offset),

为可学习的调制标量(learnable mod-ulation scalar)范围在

。它反映了采样特征

与当前位置的特征之间的相关程度,因此调制后的deformable convolution可以调整输入特征幅度(feature amplitudes)来进一步调整spatial support regions。

都来自于先前的特征。

RSAB 结构图

在每个RSAB中,首先将提取的特征(extracted features)和上一尺度的重构特征(reconstructed features)融合(fuse)后作为输入。RSAB由一个调制可变形卷积(modulated deformable convolution)跟着一个带有短跳跃连接(short skip connection)的传统卷积组成。与ResBlock类似,使用局部残差学习(local residual learning)来增强信息流并提高网络的表达能力,不同的是,将第一个Conv替换为modulated deformable convolution并且使用leaky ReLU作为激活函数,所以RSAB可以记为

。其中

分别为调制可变形卷积和传统卷积,

为激活函数(此处为leaky ReLU),RSAB的结构图如上图所示。

此外,为了更好地估计偏置,将last-scale的offsets

和modulation scalars

转移到current scale

,同时使用

和输入特征

来估计

。偏移转移可以表示为:

,其中

分别代表offset transfer和upsampling。如上图所示,offset transfer涉及多个卷积,从输入中提取特征并将其与先前的偏移融合有,以估计current scale的offset,实验中采用双线性插值(bilinear interpolation)来进行上采样。

3.2. Context block

Multiscale information对于denoising task十分重要,所以网络经常会采取下采样(downsampling),但是当图像分辨率较低时,这样会导致图像结构被破坏,信息丢失。为了扩大感受野(receptive field)并且在不进一步降低分辨率的情况下捕捉multiscale information,作者在encoder和decoder之间的最小尺寸(minimum scale)引入了一个上下文块(context block),它使用几种具有不同扩张率(dilation rates)的空洞卷积(dilated convolutions),而不是下采样。可以在扩展感受野的同时不增加参数数量或破坏结构,将在从不同感受野提取的不同特征融合后用来估计输出(如下图所示)。

Context block 结构图

在本文中,移除了BN层,仅使用了设置为1、2、3、4的dilation rates,为了进一步简化操作缩短时间,首先使用1×1 Conv来压缩特征通道。compression ratio设置为4,在融合(fusion)部分使用1×1卷积,类似地,在输入和输出特征之间使用local skip connection来防止信息阻塞。

3.3. Implementation

在模型中,使用4个尺度(scale)的encoder-decoder,通道数分别设置为32、64、128、256,第一个和最后一个Conv层的核大小设置为1×1,最后的输出根据输入设置为1或3通道。此外,在up/down-convolutional layers使用2×2 filters,其他Conv层的核大小为3×3。

4. Experiments

这部分还是主要以测试结果对比为主,其他部分比如训练的细节不详细说明,可以进一步参考论文和开源代码进行学习。

模型使用synthetic noisy images和real-world noisy images共同训练,使用包括800张图的DIV2K dataset添加不同强度的噪声来生成synthetic noise datasets;对于real noisy images,使用SIDD、RENOIR和Poly,并通过旋转等方法进行数据增强。使用ADAM optimizer(

)进行训练,学习率等训练细节在此不赘述,请参考原文。

4.1. Abaltion study

通过消融实验验证模型的关键部分的确发挥作用,这里直接放结果:

Ablation study result

4.4.2. Analyses of the spatial adaptability

这部分主要是为了分析模型学习到了空间适应性,从粗到细对图像进行去噪,多尺度结构使网络能够获取不同感受野的信息进行图像重建。(论文这里有附一张图来说明,篇幅原因这里不贴了,可以参考文中的Fig.4)。

4.3. Comparisons

使用BSD68、Kodak24、DND、SIDD、Nam datasets与多个SOTA(state-of-the-art)算法进行去噪效果对比,这里主要放一些对比图和简单的分析:

SADNet与多种算法在不同噪声强度的synthetic grayscale/color noisy images进行去噪测试的PSNR值对比

使用BSD68和Kodak24测试集,噪声强度σ=50的条件下生成synthetic noisy image进行去噪效果对比

使用DND测试集中的real-world noisy image进行去噪效果对比

SADNet和多种算法在DND、SIDD测试集上去噪结果的PSNR、SIMM值对比

在SIDD测试集的real-world noisy image上去噪效果的对比

文章中还有几个其他的对比样例以及在使用Nam测试集在JPEG压缩的real-world noisy images上进行的去噪效果对比,这里就不一一附图了,详细可以参考论文,从上面的多张对比图中可以看出SADNet的确在各个方面由于CBDNet、RIDNet等SOTA去噪算法,是值得尝试和学习的。此外文章在Experiments的最后部分对比了SADNet和其他算法的参数和运行速度,虽然SADNet的参数很多,但是因为floating point operations(FLOPs)更少,所以运行速度要优于其他算法。

5. Conclusion

在本文中,作者提出了一种新的空间自适应去噪网络(spatial-adaptive denoising network),可以有效地去除图片中的噪声。SADNet由多尺度残差空间自适应块(multiscale residual spatial-adaptive block,RSAB)构成,还引入了上下文块(context block)捕获多尺度的信息并实现偏移量的传递。SADNet可以在复杂的场景中去除噪声并保存更多的细节,在synthetic images和real-world noisy images均表现出色达到SOTA级,而且有着不错的运行速度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CVer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档