读《Multi-level Wavelet-CNN for Image Restoration》

Multi-level Wavelet-CNN for Image Restoration:MWCNN

摘要

存在的问题:

  • 在低级视觉任务中,对于感受野尺寸与效率之间的平衡是一个关键的问题;
  • 普通卷积网络通常以牺牲计算成本去扩大感受野;

解决办法:

  • 使用膨胀卷积代理普通卷积方式,以此扩大感受野;此方式缺点:其使用棋盘模式对输入图像进行稀疏采样,导致处理结果会存在网格效应;

本文提出的方法MWCNN:

  • 在改进的U-Net架构之上,引入小波变换去减少压缩子网络中的特征尺寸;
  • 使用一个单独的卷积层去减少特征的通道数目;
  • 在扩大子网络中使用小波逆变换重构高分辨率特征;

效果:

  • 可应用于许多图像恢复任务,比如去噪、单一图像超分辨任务等;
  • 可将MWCNN视为膨胀滤波和子采样的泛化形式;

原文链接:《Multi-level Wavelet-CNN for Image Restoration》

一. 介绍

图像恢复:

  • 目的是从质量退化的图像y中恢复出干净图像x;
  • 传统方法有基于先验建模和鉴别学习的,近些年卷积神经网络(CNNs)广泛应用于许多具有代表性的图像恢复任务,并展现出了优越的性能;

为什么CNN在图像恢复领域比较受欢迎?

  • 基于CNN的方法在一些图像恢复任务上的表现比传统方法好,且有很大的超越;
  • 研究表明可将现有的基于CNN的去噪器插入基于模型的优化方法,以此解决更复杂的图像恢复任务;

基于CNN进行研究:

  • 感受野越大,对于图像的空间上下文则考虑的越多,因此更大的感受野有助于提升网络性能;

  • 由于输入图像和输出图像通常需保持一样的尺寸,所以一个经典方案是使用移除池化层的全卷积网络(FCN);

  • FCN可通过加深网络或者使用尺寸更大的卷积核,以此扩大模型感受野,但显而易见的是这种方式会带来更大的计算成本消耗;

  • 使用膨胀卷积代理普通卷积方式,以此扩大感受野;此方式缺点:其使用棋盘模式对输入图像进行稀疏采样,导致处理结果会存在网格效应;

  • 在这里插入图片描述
    通常随着感受野的扩大,网络模型的性能也会随之提升,但可看出这种推论也可能存在特殊情况(FSRCNN)。所以在进行感受野增大时,需要考虑如何避免增加计算成本以及性能提升的潜在牺牲。

Multi-level Wavelet-CNN for Image Restoration:MWCNN

  • 目的:扩大感受野,对网络性能和效率之间做一个更好的平衡;
  • 采用改进的U-Net,U-Net中包含一个压缩子网络、一个扩大子网络:MWCNN采用小波变化替换压缩子网络中的池化操作;
  • DWT可逆,故可保证在下采样过程中保留所有信息;DWT可捕捉特征的所有频率信息和位置信息,故有助于保存细节纹理信息;
  • 在扩大子网络中使用小波逆变换对低分辨率特征进行上采样, 重构高分辨率特征;
  • 为了丰富特征表示以及减少计算成本,在连接同层压缩-扩大子网络的特征图时,使用元素级加法;
  • 可将MWCNN视为膨胀滤波和子采样的泛化形式,MWCNN在扩大感受野方面更有效;

本文贡献:

  1. 提出MWCNN用于扩大感受野,对网络性能和网络效率做了更好的均衡;
  2. 由于DWT良好的空间-频域定位能力,该网络可以保存更好的纹理细节信息;
  3. MWCNN在许多图像恢复任务上展现出良好的性能;

二.相关工作

  • 之前的研究比如WaveResNet、DWSR表明将DWT应用于CNN有利于CNN学习;
  • 之前的工作通常只考虑一级小波变换,而忽略了子带之间的依赖影响;
  • 本文提出的MWCNN考虑了多级小波变换,再扩大感受野的同时保证无信息损失;MWCNN可以将DWT嵌入到任何具有池化的CNN中,更有效地对空间上下文和子带之间的依赖进行建模。

三.方法

WPT VS MWCNN:

  • MWCNN受多级小波变换(WPT)的启发,引入CNN搭建;

  • WPT采用二级小波变换,MWCNN在WPT基础上引入CNN块;

  • 在每级小波变换后引入CNN块,将其分解的子带作为CNN块的输入,进而将CNN块的输出作为下一级小波变换的输入;
    MWCNN可视为WPT的通用模式,当CNN块变为一致性映射时,MWCNN则退化为WPT了; 骨干网络采用改进的U-Net:

    分解阶段使用DWT进行下采样,实现池化的功能; 重构阶段使用IWT+卷积实现重构操作;

在这里插入图片描述
网络结构:

  • CNN块为无池化的4层FCN;
  • 每次完整的卷积过程包括:卷积核为3*3的卷积层、BatchNormalization层以及ReLU层;
  • 需要注意的是,扩张子网络中最后一个卷积块的最后一个卷积过程只有卷积操作,丢弃了BatchNormalization层以及ReLU层;
  • 整个网络共涉及24个网络层,图中可看到最终MWCNN借助三级小波变换/逆变换实现下采样、上采样操作;
  • MWCNN默认采用哈尔小波进行小波变换/逆变换;

在这里插入图片描述

MWCNN对U-Net做的改进:

  • U-Net中的下采样、上采样操作分别被DWT和IWT代替;
  • MWCNN中除了第一个卷积块对特征图通道进行了增加,其他的卷积块都是减少特征图通道,以此学习压缩表示;
  • 采用元素级加法连接同层的压缩子网与扩张子网的特征图;

损失函数:
在这里插入图片描述
其中xi为真实干净图像(标签),yi为退化图像(网络输入),F(yi,θ)为网络输出,θ为网络参数。
这里我不知道他右下角这个F表示F范数还是啥意思?

DWT为啥可以实现下采样,实现池化:
以2维哈尔小波为例,有四个滤波核分别为:
在这里插入图片描述
在这里插入图片描述
以fLL为例,类似卷积操作,对应位置求和,一个大小为4*4的特征即可变为2*2,实现下采样,IWT反向操作,实现上采样,将低分辨率图像重构为高分辨率图像。

DWT为啥可以近似膨胀滤波,扩大感受野:
原文中这么描述二者的关系,我举个例子:
3*3卷积核在膨胀率为2的膨胀卷积中,可看做一个5*5的卷积核,所以在进行隔点采样,如果原始特征大小为5*5,则膨胀卷积结果为1*1;
而使用DWT先对5*5特征进行滤波会得到3*3特征,再对其进行3*3卷积即可得到1*1结果;
在这里插入图片描述
上图中的公式可按照下图的例子进行理解,区别在于作者对于特征图的下标从1开始计算,我这里是从0开始,x1为对x进行fLL滤波后的结果,其中一个像素点对应原图中的4领域像素。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43665602/article/details/129721390
今日推荐