IMDN:基于信息多蒸馏网络的轻量级图像超分辨率
IMDN:基于信息多蒸馏网络的轻量级图像超分辨率
Lightweight Image Super-Resolution with Information Multi-distillation Network
基于信息多蒸馏网络的轻量级图像超分辨率
https://github.com/Zheng222/IMDN
ACM MM 2019
Abstract
- 问题:过度的卷积将限制超分辨率技术在低计算能力设备中的应用,任意比例因子的超分辨率是实际应用中的关键问题
- 方法:通过构建包含蒸馏(distillation)和选择性融合部分(selective fusion parts)的级联信息多蒸馏块(information multi-distillation blocks IMDB)提出了一种轻量级信息多蒸馏网络(information multi-distillation network IMDN)
- 蒸馏模块逐步提取层次特征,融合模块根据候选特征的重要性对其进行聚合,并通过所提出的对比感知通道注意力机制进行评估
- 为了处理任何尺寸的真实图像,我们开发了一种自适应裁剪策略 (adaptive cropping strategy ACS),以使用相同的训练有素的模型对块级图像补丁进行超分辨率
- 结果:大量的实验表明,所提出的方法在视觉质量、内存占用和推理时间方面优于最先进的SR算法
- 主要贡献:
-
我们提出了一种轻量级信息多蒸馏网络 (information multi-distillation network IMDN),以实现快速准确的图像超分辨率。得益于我们的信息多蒸馏块 (information multi-distillation block IMDB) 和对比感知注意力 (contrast-aware attention CCA) 层,我们以适量的参数获得了有竞争力的结果。
-
我们提出了自适应裁剪策略 (adapttive cropping strategy ACS),它允许网络包含下采样操作(例如,步幅为 2 的卷积层)来处理任意大小的图像。通过采用该方案,在处理无限放大倍率SR的情况下,计算成本、内存占用和推理时间可以大大减少。
-
通过实验探究影响实际推理时间的因素,发现网络深度与执行速度有关。它可以作为指导轻量级网络设计的指南。我们的模型在视觉质量、推理速度和内存占用之间实现了出色的平衡。
-
1. 引言
影响推理速度的另一个因素是网络的深度。在测试阶段,上一层和下一层具有依赖关系。简单地说,进行当前层的计算必须等待之前的计算完成。但是每层的多个卷积运算可以并行处理。因此,模型架构的深度是影响时间性能的重要因素。
为了解决上述问题,我们提出了一种轻量级信息多蒸馏网络(IMDN),以更好地平衡性能与适用性。所提出的IMDB在粒度级别上提取特征,保留部分信息,并在每个步骤(层)进一步处理其他特征,如图2所示。为了聚合所有步骤提炼的特征,我们设计了一个对比度感知通道注意层,特别是与低级视觉任务相关的,以增强收集到的各种精炼信息。具体来说,我们利用更有用的特征(边缘、角落、纹理等)进行图像恢复。为了用单个模型处理任意比例因子的SR,我们需要将输入图像缩放到目标大小,然后采用所提出的自适应裁剪策略(见图4)来获得适合具有下采样层的轻量级SR模型的图像块。
2. 相关工作
2.1 单图像超分辨率
对于轻量级网络,《通过信息蒸馏网络实现快速准确的单图像超分辨率》开发了信息蒸馏网络,通过对当前特征图的分离处理来更好地利用分层特征。《具有级联残差网络的快速、准确、轻量级超分辨率》设计了一种架构,在残差网络上实现级联机制以提高性能。
2.2 注意力机制
3. 方法

图1:信息多蒸馏网络(IMDN)的架构。(a)橙色方框表示 LeakyReLU 激活函数,IMDB的详细信息如图2所示。(b)S 表示上采样系数
3.1 框架
给定一个输入的LR图像 \(\mathbf{I}^{LR}\) ,其对应的目标HR图像 \(\mathbf{I}^{HR}\)。超分辨率图像 \(\mathbf{I}^{SR}\) 可以通过以下方式生成:
损失函数 平均损失误差 MAE(mean absolute error):
-
特征提取
- 由输出通道为 64 的 \(3\times 3\) 卷积实现
-
特征蒸馏
- 利用多个堆叠信息多蒸馏块(IMDB),并将所有中间特征组装起来,通过 \(1\times 1\) 卷积层进行融合
- 这种方案,即中间信息收集(intermediate information collection IIC),有利于保证所收集信息的完整性,并且通过增加很少的参数来进一步提高SR性能。
-
上采样模块
- 上采样器包含一个输出通道为 \(3\times s^2\) 的 \(3\times 3\) 卷积和一个亚像素卷积。

图2:提出的信息多蒸馏块(IMDB)的架构,这里的64,48,16表示卷积层的输出通道。”Conv-3“表示 \(3\times 3\) 卷积层,”CCA层“ 表示对比度感知通道注意力。每个卷积之后跟着一个 LeakyReLU 激活函数,最后一个 \(1\times 1\) 卷积除外。
3.2 信息多蒸馏块
如图(2)所示,我们的信息多蒸馏块(IMDB)由 渐进细化模块、对比度感知通道注意力(CCA)层和用于减少特征通道数量的 \(1\times 1\) 卷积构建。整个模块采用残差连接。
3.2.1 渐进式细化模块(progressive refiement module)
如图2中的灰色框所示,渐进式精炼模块首先采用 \(3\times 3\) 卷积层来提取特征,用于多个后续蒸馏(精炼)步骤。对于每个步骤,我们对上述特征采用通道分割操作(channel split operation),这将产生两部分特征。一个被保留,一个被输入到下一个计算单元中。保留的部分可以看作是精细化的特征。给定输入特征 \(F_{in}\),渐进细化模块可以表示为:
- \(CL^n_j\) : 表示第 j 个卷积层,包括 LeakyReLU
- \(Split^n_j\) : 表示第 j 个通道分割层
- \(F^n_{refine\_j}\) : 表示第 j 个精细化特征
- \(F^n_{coarse\_j}\) : 表示第 j 个有待进一步处理的粗略特征
下一个阶段是连接每个步骤中的精细化特征:
- \(Concat\) : 表示沿特征通道维度的串联运算
3.2.2 对比度感知通道注意层(Contrast-aware channel attention layer)

通道注意力最开始用于图像分类任务,被称为挤压和激励(squeeze-and-excitation)。在高级领域,特征图的重要性取决于激活的高价值区域,因为这些区域有利于分类或检测。因此,利用全局平均/最大池化来捕获高级和中级视觉中的全局信息。尽管平均池化确实可以提高 PSNR 值,但它缺乏有关结构、纹理和边缘的信息,这些信息有利于增强图像细节(与SSIM相关)。如图3所示,对比感知通道注意力模块专门用于低级视觉。
具体来说,我们用 标准差(代码中也是标准差,但是公式中是方差)和均值的总和(评估特征图的对比度)代替了全局平均池化。对比度信息值可以通过以下公式计算:
- \(X=[x_1,\cdots,x_c,\cdots,x_C]\) 表示输入,具有 \(C\times H\times W\) 的特征图
- \(z_c\) 是输出的第 \(c\) 个元素
- \(H_{GC}(\cdot)\) : 表示全局对比度(global contrast GC)信息评估函数
在CCA模块的协助下,我们的网络可以稳步提高SISR的准确性。
3.3 自适应裁剪策略(Adaptive cropping strategy)

图4:自适应裁剪策略的示意图。绿色虚线框中的裁剪图像图块

图5:IMDN_AS的网络结构。”S2“ 代表步幅为2。
自适应裁剪策略(ACS)适用于任何任意大小的超分辨率图像。同时,它还可以使用单个模型处理任何比例因子的SR问题。我们通过引入两个下采样层来略微修改原始 IMDN,并构建当前 IMDN_AS(任何尺度的IMDN)。在这里,LR 和 HR 图像具有相同的空间大小(高度和宽度)。为了处理高度和宽度不能被 4 整除的图像。我们首先将整个图像切割成4个部分,然后将它们输入到我们的IMDN_AS中。如图4所示,我们可以通过ACS获得 4个部分中重叠的图像补丁。
以左上角的第一个补丁为例,我们给出 ACS 的详细信息。图像补丁必须满足以下公式:
- \(\bigtriangleup l_H\) : 高度的额外增量
- \(\bigtriangleup l_W\) : 宽度的额外增量
- 它们可以通过以下方式计算
- \(padding_H,padding_W\) : 是预设的附加长度。
- 通常,它们的值由以下公式确定
- \(k\) : 是一个大于或等于 1 的整数
这四个补丁可以并行处理(它们具有相同的大小),之后将输出粘贴到其原始位置,并丢弃额外的增量(\(\bigtriangleup l_H\) 和 \(\bigtriangleup l_W\))。
4. 实验
4.1 数据集和指标
-
训练集:DIV2K
-
测试集:Set5、Set14、BSD100、Urban100、Manga109
-
评估指标:峰值信噪比(PSNR)和结构相似性指数(SSIM)
- 计算亮度通道上的值,这样计算的结果比较高
- 从RGB通道转换而来的YCbCr通道的Y通道
4.2 实施细节
-
输入HR:\(16\times 3\times 192\times 192\)
-
数据增强:随机水平翻转和90°旋转
-
优化器:
- Adam, \(\beta_1=0.9\)
- 初始学习率:\(2\times 10^5\)
- 每迭代 \(2\times 10^{-4}\) 次学习率减半
4.3 模型分析
4.3.1 模型参数

图6:Set5 X4数据集上性能和参数数量之间的权衡
图 6 中可视化了性能和模型大小之间的权衡分析。IMDN 在性能和模型大小之间实现了更好的权衡。
4.3.2 CCA模块和IIC方案的消融研究
表2:CCA模块和IIC方案的调查

表3:原始通道注意力(CA)和所提出的对比感知通道注意力(CCA)的比较


图7:IMDN_basic_B4的结构
为了快速验证对比感知注意力(CCA)模块和中间信息收集(IIC)方案的有效性,我们采用 4 个IMDB进行以下消融研究实验,命名为 IMDB_B4。当移除CCA模块和IIC方案时,IMDN_B4变成 IMDN_basic_B4,如图7所示。从表 2 中,我们可以发现 CCA 模块仅通过增加 2K 参数(即增加 0.4 % )即可实现性能改进(PSNR:+0.09dB,SSIM:Manga109 为 +0.0012 × 4 )。与CA模块的比较结果如表3所示。为了研究IMDB中PRM的效率,我们将其替换为三个级 3 × 3 联卷积层(64个通道),并删除了最终 1 × 1 卷积(用于融合)。比较结果如表2所示。尽管该网络具有更多参数(510K),但其性能远低于我们的IMDN_basic_B4(480K),尤其是在Urban100和Manga109数据集上。
4.3.3 ACS的调查
表4:VDSR的定量评估以及我们在PSNR、SSIM、LPIPS、运行时间和内存占用方面的IMDN_AS

4.4 与最先进的技术比较
表5:比例因子 x2 x3 x4 数据集Set5、Set14、BSD100、Urban100 和 Managa109的平均PSNR/SSIM。最佳和次优结果突出显示并加下划线。

表6:内存消耗(MB)和平均推理时间(秒)

4.5 运行时间

4.5.1 复杂度分析
4.5.2 运行时间

图9:Set5 X4数据集上性能和运行时间之间的权衡
5. 结论
在本文中,我们提出了一种用于轻量级和精确单图像超分辨率的信息多蒸馏网络。我们构建了一个渐进式细化模块来逐步提取分层特征。通过与所提出的对比度感知通道注意力模块配合使用,SR性能得到了显著而稳定的提高。此外,我们提出了自适应裁剪策略来解决任意比例因子的SR问题,这对于SR算法在实际场景中的应用至关重要。大量实验表明,所提出的方法在影响实际使用的因素(包括视觉质量、执行速度和内存消耗)之间取得了值得称道的平衡。未来,将探索这种方法,以促进其他图像恢复任务,例如图像去噪和增强。

我们通过构建包含**蒸馏(distillation)**和**选择性融合部分(selective fusion parts)**的**级联信息多蒸馏块(information multi-distillation blocks IMDB)**提出了一种轻量级**信息多蒸馏网络(information multi-distillation network IMDN)**。具体而言,**蒸馏模块逐步提取层次特征**,**融合模块根据候选特征的重要性对其进行聚合**,并通过所提出的**对比感知通道注意力机制进行评估**。为了处理任何尺寸的真实图像,我们开发了一种**自适应裁剪策略 (adaptive cropping strategy ACS)**,以使用相同的训练有素的模型对块级图像补丁进行超分辨率。大量的实验表明,所提出的方法在视觉质量、内存占用和推理时间方面优于最先进的SR算法。代码可在 https://github.com/Zheng222/IMDN 获得。
浙公网安备 33010602011771号