论文链接:Multi-level Wavelet-CNN for Image Restoration | IEEE Conference Publication | IEEE Xplorexx
论文来源:CVPRW2018
项目地址:GitHub - lpj0/MWCNN: Multi-level Wavelet-CNN for Image Restoration(matlab)GitHub - lpj-github-io/MWCNNv2: Multi-level Wavelet Convolutional Neural Networks(python)
作者团队:哈工大
Abstract
在低水平视觉中,感受野大小和效率之间的权衡是一个至关重要的问题。普通卷积网络(CNN)通常以牺牲计算成本为代价来扩大感受野。最近,扩张滤波被用来解决这个问题。但它受到网格效应的影响,产生的感受野只是带有棋盘格图案的输入图像的稀疏采样。在本文中,我们提出了一种新的多层小波CNN(MWCNN)模型,以更好地权衡感受野大小和计算效率。在改进的U-Net结构下,引入小波变换来减小收缩子网中特征图的大小。此外,进一步使用另一卷积层来减少特征图的通道。在扩展的子网络中,利用小波逆变换重构高分辨率特征图。我们的MWCNN也可以解释为扩展滤波和下采样的推广,并且可以应用于许多图像恢复任务。实验结果清楚地表明了MWCNN在图像去噪、单图像超分辨率和JPEG图像伪影去除方面的有效性。
1. Introduction
balabala
我们应该小心地扩大感受野,同时避免计算负担的增加和性能改进的潜在牺牲。以SISR为例,图1显示了几种典型CNN模型的感受野、运行时间和PSNR值。可以看出,FSRCNN[14]具有相对较大的感受野,但实现的PSNR值低于VDSR[29]和DnCNN[57]。
在本文中,我们提出了一种多级小波CNN(MWCNN)模型来扩大感受野,以更好地权衡性能和效率。我们的MWCNN基于U-Net[41]架构,由收缩子网和扩展子网组成。在收缩子网中,引入离散小波变换(DWT)来代替每个池化操作。由于DWT是可逆的,因此可以保证所有信息都可以通过这种降采样方案保持。此外,DWT可以捕获特征图的频率和位置信息[12,13],这可能有助于保留细节纹理。在扩展子网中,利用小波逆变换(IWT)将低分辨率特征图向高分辨率特征图进行上采样。为了丰富特征表示并减少计算负担,采用元素求和的方法来组合收缩和扩展子网的特征映射。此外,扩张滤波也可以解释为MWCNN的一个特例,我们的方法在扩大感受野方面更为普遍和有效。图像去噪、SISR和JPEG图像伪影消除实验验证了我们的MWCNN的有效性和效率。如图1所示,就运行时间而言,MWCNN比LapSRN[31]、DnCNN[57]和VDSR[29]稍慢,但可以具有更大的感受野和更高的PSNR值。综上所述,这项工作的贡献包括:
- 一种新的MWCNN模型,用于扩大感受野,并在效率和恢复性能之间进行更好的权衡。
- 由于DWT具有良好的时频局部化特性,因此具有很好的细节保持能力。
- 图像去噪、SISR和JPEG图像去块的最新性能。
2. Related work
balabala
一些研究也给出了将小波变换与CNN相结合的方法。Bae等人[5]发现在小波子带上学习CNN有利于CNN学习,并建议使用小波残差网络(WavResNet)进行图像去噪和SISR。类似地,Guo等人[20]提出了一种深度小波超分辨率(DWSR)方法来恢复子带上缺失的细节。随后,开发了深卷积框架[21,54],以扩展low-dose CT的卷积框架。然而,WavResNet和DWSR都只考虑一级小波分解。深度卷积框架从分解角度独立处理每个子带,忽略了这些子带之间的依赖关系。相比之下,我们的MWCNN认为多级小波变换可以在不丢失信息的情况下扩大感受野。我们的MWCNN在每次变换后都将所有子带作为输入,可以通过池将DWT嵌入到任何CNN中,并且具有更强的建模空间上下文和子带间依赖性的能力。
3. Method
3.1. From multi-level WPT to MWCNN
在二维离散小波变换(DWT)中,四个滤波器,即,用于与图像x进行卷积[36]。然后对卷积结果进行下采样以获得四个子带图像x1、x2、x3和x4。例如,x1被定义为.即使部署了下采样操作,由于DWT的双正交特性,原始图像x也可以通过小波逆变换(IWT)精确地重建,即。
在多级小波包变换(WPT)[4,13]中,子带图像X1、x2、x3和X4用DWT进一步处理以产生分解结果。对于二级WPT,每个子带图像分解成四个子带图像。递归地,可以获得三个或更高级别WPT的结果。图2(a)说明了使用WPT对图像进行分解和重建。实际上,WPT是FCN的一个特例,没有非线性层。在分解阶段,对每个(子带)图像部署四个预定义的滤波器,并采用下采样作为池化操作符。在重建阶段,首先对四个子带图像进行上采样,然后使用相应的滤波器进行卷积,以产生当前级别的重建结果。最后,利用逆WPT可以精确地重建原始图像x。
在图像去噪和压缩中,处理分解结果通常需要一些操作,例如软阈值和量化[9,33]。这些操作可以被视为针对特定任务而定制的某种非线性。在这项工作中,我们通过在任意两层DWT之间添加CNN块,进一步将WPT扩展到多级小波CNN(MWCNN),如图2(b)所示。在每一级变换之后,将所有子带图像作为CNN块的输入,以学习紧凑表示作为后续变换级的输入。很明显,MWCNN是多级WPT的推广,当每个CNN块成为恒等映射时,它将退化为WPT。由于WPT的双正交特性,我们的MWCNN可以在不丢失信息的情况下安全地使用下采样操作。此外,与传统的CNN相比,DWT的频率和位置特征也有利于细节纹理的保存。
3.2. Network architecture
MWCNN体系结构的关键是在每一级DWT之后设计CNN块。如图3所示,每个CNN块是一个没有池化的4层FCN,并将所有子带图像作为输入。相反,不同的CNN部署在深度卷积小框架中的低频和高频段[21,54]。我们注意到,DWT后的子带图像仍然是依赖的,忽略它们的依赖性可能对恢复性能有害。CNN块的每一层由3×3滤波器卷积(Conv)、批量归一化(BN)和校正线性单元(ReLU)操作组成。对于最后一个CNN块的最后一层,采用不含BN和ReLU的Conv对残差图像进行预测。
图3显示了MWCNN的总体架构,该架构由收缩子网和扩展子网组成。通常,MWCNN从三个方面修改U-Net。(i) 对于下采样和上采样,传统U-Net[41]中使用了最大池化和上卷积,而MWCNN中使用了DWT和IWT。(ii)对于MWCNN,下采样导致特征图通道的增加。除第一个块外,其他CNN块被部署以减少特征图通道,从而实现紧凑的表示。相比之下,对于传统的U-Net,下采样对特征映射通道没有影响,随后的卷积层用于增加特征图通道。(iii)在MWCNN中,元素求和用于组合收缩和扩展子网的特征图。而在传统的U-Net中,采用了级联。然后,我们的最终网络包含24层。有关MWCNN设置的更多详细信息,请参阅图3。在我们的实现中,MWCNN采用了Haar小波作为默认小波。我们的实验中还考虑了其他小波,例如Daubechies 2(DB2)。
用Θ表示MWCNN的网络参数,F(y;Θ)为网络输出。设为训练集,其中yi是第i个输入图像,xi是相应的地面真值图像。学习MWCNN的目标函数如下所示:
采用ADAM算法[30]通过最小化目标函数来训练MWCNN。与VDSR[29]和DnCNN[57]不同,我们不采用残差学习公式,因为它可以自然嵌入MWCNN中。
3.3. Discussion
MWCNN中的DWT与池化运算和扩张滤波密切相关。我们以Haar小波为例来解释DWT与和池化的关系。在2D Haar小波中,低通滤波器定义为:
可以看出实际上是sum-pooling操作。当只考虑低频子带时,DWT和IWT将分别在MWCNN中起池化和上卷积的作用。当考虑所有子带时,MWCNN可以避免传统的下采样带来的信息丢失,有利于恢复结果。
为了说明MWCNN和因子为2的扩张滤波之间的联系,我们首先给出了fLH、fHL和fHH的定义,
其中k是3×3卷积核。实际上,它也可以通过对子带图像进行3×3卷积得到,
与扩张滤波相比,MWCNN还可以避免网格效应。经过几层扩展过滤后,它只考虑使用棋盘格模式对位置进行稀疏采样,导致大部分信息丢失(见图4(a))。扩张滤波的另一个问题是,两个相邻像素可能基于来自完全不重叠位置的信息(见图4(b)),并可能导致局部信息不一致。相反,图4(c)显示了MWCNN的感受野。可以看出,MWCNN能够很好地解决稀疏采样和局部信息不一致的问题,并有望在定量和定性上提高恢复性能。
4. Experiments