ICCV2021:一种基于小波变换的直线型扩张网络图像去模糊方法

论文地址:https://arxiv.org/abs/2110.05803https://arxiv.org/abs/2110.05803

代码:GitHub - FlyEgle/SDWNet: An Straight Dilated Network with Wavelet for image Deblurring

 摘要

现有的方法大多采用重复的上采样和下采样结构来增大感受野,导致采样过程中纹理信息丢失,其中一些设计多阶段从而导致收敛困难。本文使用空洞卷积来获得具有高空间分辨率的大的感受野。通过利用不同的感受野,实现了较好的性能。在此基础上,作者减少了上采样和降采样的数量,并设计了一个简单的网络结构。作者,提出小波变换模块,帮助网络恢复高频的纹理信息。

单图像去模糊存在的挑战

  1. 如图1(a)所示,大多数方法都采用了编码-解码结构来学习不同感受野的特征。然而,编码解码器结构中包含的重复上采样和下采样会导致纹理细节的丢失,这严重影响了图像的恢复。
  2. 目前的一些图像去模糊方法使用GAN结构来获得真实的纹理细节,如图1(b)所示。由于GAN结构需要一个联合生成器和鉴别器来进行训练,因此会导致网络性能不稳定。
  3. 目前的大多数图像去模糊方法都倾向于设计一个粗到细的结构,以实现优越的PSNR性能,如图1(c)所示。然而,粗到细的结构往往是非常复杂和计算密集型的,导致收敛过程缓慢。

这篇文章中,作者使用空洞卷积小波变换解决上述问题!

本文提出了一种新的图像去模糊方法,通过空洞卷积模型利用不同感受野的去模糊线索。此外在小波域中提出了一个简单而有效的端到端CNN模型,称为带有小波变换的直线性扩张网络(straight dilated network with wavelet transformation)(SDWNet),如图1(d)所示。由空洞卷积模块和小波重构模块组成。空洞卷积模块使用空洞卷积获得更大的感受野。这有助于模型在远距离捕获类似的特征,从而促进图像恢复。

小波重构模块通过利用小波变换的频域特性为空域重构提供了额外的信息。

本文贡献:

  1. 提出了一个扩展的卷积模块。与之前使用重复上采样和下采样来获得大的感受野的去模糊网络不同,作者使用不同扩张率的空洞卷积来获得不同感受野的特征。该模块有助于网络捕获非局部相似特征,从而恢复清晰图像。
  2. 提出了一个小波重建模块。不是在单个的空间/频域中执行去模糊,而是使用在频域中恢复的信息来补充空间域,以便恢复的图像包含更多的高频细节。
  3. 提出了一种新的基于CNN的图像去模糊方法。与以前使用粗到细结构的去模糊方法不同,作者使用简单和流线型的结构来实现与最先进的方法竞争的结果。有效的解决了训练困难和收敛缓慢的问题。

相关工作

交替上采样下采样会导致信息丢失;

小波变换由于能将图像中的高频信息和低频信息中分离出来,并且是可逆的,因此在图像处理任务中得到了广泛的应用。

 本文方法

由于复杂的模型会带来不稳定的训练和收敛缓慢等问题,因此本文使用了一个简单的网络结构 。如图2所示,网络主要有三部分组成:the shallow feature extraction layer(浅层特征提取层),

the dilated convolution (DC) module(扩张卷积模块), the reconstruction module(重构模块).

为了获得更大的感受野,首先使用7x7的卷积核提取浅层特征。提出了扩展卷积块,通过使用不同的扩张率来融合多感受野信息。本文中的网络使用级联多个直流块来学习广泛的上下文信息。

由于小波变换是恢复高频信息的有效工具,作者提出了一个小波重建模块作为并行重建分支,从而在最终输出图像中保留了所需的精细纹理。本文的方法不是像其他直接预测四个子带的小波变换方法,而是使用共享网络分别恢复四个子带,从而有效地避免了不同子带相互作用引起的伪影 。

给定一个模糊图像I_blur,所提出的模型预测出一个残差图R,

X为清晰图像。

SDWNet的损失函数

Dilated Convolution Module
DC 模块 由多个DCB(如图3所示)组成。

图3 的表示形式:

在浅层上,采用1、2、4、8的规则扩张率。在最后一层,采用1、3、5、7的非重叠扩张率,以避免图像去模糊任务中的网格效应。然后,使用扩张率为1的空洞卷积来融合来自不同感受野的特征。 最后,将融合的特征叠加到输入特征上,以得到输出。

表现形式:

Wavelet Reconstruction Module

小波重建模块(WRM)主要利用小波变换将空间域信息转换为小波域进行恢复。

如图4所示,通过离散小波变换可以将输入特征小波变换分为四个不同的频率子带。表示为:

其中DWT(·)表示离散小波变换的操作。

为了避免不同频带之间的干扰,四个子带都被输入一个3层卷积网络进行恢复。可以表示为:

最后利用离散小波逆变换将恢复的频率子带重构为输出特征Fout。表示为:

实验

数据集:GoPro 、HIDE、RealBlur 

数据处理:Dataset Sliding Crop

实现细节:

对比实验:

【图像去模糊】SDWNet: A Straight Dilated Network with Wavelet Transformation for image Deblurring相关推荐

  1. 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊

    现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...

  2. 【图像去模糊】Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring论文笔记

    一.论文概述 一般因动态场景造成的非均匀模糊是图像去模糊中一个具有挑战性的问题,这类模糊由相机抖动.场景深度以及多个对象运动造成. 消除这类复杂运动模糊,传统的基于简单假设的方法不在适用 在本文中,作 ...

  3. CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向

    CVPR2022论文速递系列: CVPR 2022 3月3日论文速递(22 篇打包下载)涵盖网络架构设计.姿态估计.三维视觉.动作检测.语义分割等方向 CVPR 2022 3月4日论文速递(29 篇打 ...

  4. 图像去模糊:MSSNet 模型详解

      本内容主要介绍实现单图像去模糊的 MSSNet 模型. 论文:MSSNet: Multi-Scale-Stage Network for Single Image Deblurring 代码(官方 ...

  5. DeblurGAN-v2: Deblurring (Orders-of-Magnitude) Faster and Better 图像去模糊

    目录 Abstract 1.Introduction 2.Related work 2.1.Image Deblurring 2.2.Generative adversarial networks 3 ...

  6. CVPR 2018 | 使用CNN生成图像先验,实现更广泛场景的盲图像去模糊

    现有的最优方法在文本.人脸以及低光照图像上的盲图像去模糊效果并不佳,主要受限于图像先验的手工设计属性.本文研究者将图像先验表示为二值分类器,训练 CNN 来分类模糊和清晰图像.实验表明,该图像先验比目 ...

  7. 图像去模糊(逆滤波)

    引言 图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过.这里不再详述,只给出物理模型,这里我们仍在频率域表示 G(u,v)=H(u,v)F(u,v)+N(u,v)(1) 其中提到最简 ...

  8. 图像去模糊之初探--Single Image Motion Deblurring

    曾经很长一段时间, 对图像去模糊都有一种偏见, 认为这是一个灌水的领域, 没有什么实用价值,要到这样的文章,不管是多高的档次, 直接pass. 最近在调研最近几年的关于Computational Ph ...

  9. 【深度学习】图像去模糊算法代码实践!

    作者:陈信达,上海科技大学,Datawhale成员 1.起源:GAN 结构与原理 在介绍DeblurGANv2之前,我们需要大概了解一下GAN,GAN最初的应用是图片生成,即根据训练集生成图片,如生成 ...

  10. 怎么p出模糊的照片_36. 盲去卷积 - 更加实用的图像去模糊方法

    本文同步发表在我的微信公众号和知乎专栏"计算摄影学",欢迎扫码关注, 上一篇文章35. 去卷积:怎么把模糊的图像变清晰?吸引了很多朋友的关注.在这篇文章里面,我给大家讲了一种叫做& ...

最新文章

  1. INSTALL_FAILED_TEST_ONLY
  2. DB-MySQL:MySQL 事务
  3. tomcat及负载均衡
  4. JSP+JavaBean+Servlet技术(MVC模型)
  5. Volcano:带你体验容器与批量计算的碰撞的火花
  6. 图解 利用vue-cli 脚手架创建项目
  7. php在linux中执行外部命令
  8. 地图点击区域高亮 vue_这个Excel技巧很强大,鼠标点击即高亮显示数据区域
  9. java创建gitlab账户_GitLab不会创建新的存储库
  10. 打造自己的数据访问层(一)
  11. java invokevirtual_Java | 深入理解方法调用的本质(含重载与重写区别)
  12. 直方图规定化的编程实现
  13. Tuxera2022Mac系统读写NTFS磁盘工具装机必备
  14. Direcshow之视频捕捉
  15. 生日悖论分析python_Python数据分析养成记4——预测泰坦尼克号生存概率
  16. 黑马优购uni-app
  17. 戴尔科技 赢在“边缘”
  18. PocketGamer专访Adrealm:数字广告将迎来全新解决方案
  19. lm35温度转换c语言,Arduino基础入门篇29—模拟温度传感器LM35
  20. CSS隐藏浏览器滚动条

热门文章

  1. IllegalStateException: Only fullscreen opaque activities can request orientation
  2. idea、webstorm使用过程出现问题
  3. 生鲜电商纷纷传上市,但赛道并不性感
  4. Linux常见错误 “cp: omitting directory”解决办法
  5. matlab-微分方程求解方法汇总
  6. win7自动锁定计算机快捷键,两种方法教你锁定Win7系统电脑计算机快捷键
  7. C# 读取网卡、设置网上、自动连接Wifi
  8. 基于优化LSTM 模型的股票预测
  9. 郁金香搜索引擎的方案(2017版)
  10. Linux中离线安装R语言程序包