首页 文章详情

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

公众号CVer | 1451 2020-09-16 22:45 0 0 0
UniSMS (合一短信)

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文者: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、CBDNetRIDNet等。可以参考原文和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级,而且有着不错的运行速度。

下载1:动手学深度学习


在CVer公众号后台回复动手学深度学习,即可下载547页《动手学深度学习》电子书和源码。该书是面向中文读者的能运行、可讨论的深度学习教科书,它将文字、公式、图像、代码和运行结果结合在一起。本书将全面介绍深度学习从模型构造到模型训练,以及它们在计算机视觉和自然语言处理中的应用。



下载2:CVPR /  ECCV 2020开源代码


在CVer公众号后台回复:CVPR2020,即可下载CVPR 2020代码开源的论文合集

在CVer公众号后台回复:ECCV2020,即可下载ECCV 2020代码开源的论文合集


重磅!CVer-去噪交流群成立


扫码添加CVer助手,可申请加入CVer-去噪 微信交流群,目前已满100+人,旨在交流图像、视频去噪等。


同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。


一定要备注:研究方向+地点+学校/公司+昵称(如去噪+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群


▲长按加微信群


▲长按关注CVer公众号

整理不易,请给CVer点赞和在看

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter