ECCV2018超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network

本文提出一种轻量级级联残差网络,速度快,性能也还不错。

提出问题

尽管深度学习方法提高了SR图像的质量,但速度慢,并不适用于真实场景。从这个角度来看,设计适合实际应用的轻量级深度学习模型非常重要。
一种方法是减少参数的数量,实现这一目标的方法有很多,但最简单和有效的方法是使用递归网络。例如,DRCN使用递归网络来减少冗余参数,而DRRN通过向DRCN添加残差体系结构来改进DRCN。与标准CNN相比,这些模型有效地减少了模型参数的数量,表现出良好的性能。
然而,这些模型有两个缺点:
(1)在将输入图像输入CNN模型之前,先对其进行上采样;
(2)增加网络的深度或宽度,以补偿由于使用递归网络而造成的损失。这些点使模型能够在重构时维持图像的细节,但增加了操作次数和时间。

解决方法

提出了一种级联剩余网络(CARN)及其变体移动网络(CARN-M)。
模型的中间部分是基于ResNet设计,除此之外,还在局部和全局级别使用级联机制来集成来自多个层的特性,这可以反映不同级别的输入表示,以便接收更多信息。除了CARN模型,我们还提供了CARN- m模型,性能稍有下降,但是速度更快。
关于轻量级网络文献:
(1)Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding.
(2)Squeezenet: Alexnet-level accuracy with 50x fewer parameters and 0.5 mb model size.论文构建一个基于alexnet的体系结构,使用50×更少的参数就可以达到类似的性能水平。
(3)Mobilenets: Efficient convolutional neural networks for mobile vision applications
应用深度可分卷积建立高效的网络(出自Rigid-motion scattering for image classification这篇文章)

网络架构

可以看到,CARN就是对残差块进行了局部(级联块内,残差块间)和全局的融合(级联块间)。详细来说,总共有9个残差块,三个为一组,共有三组,也就是图中的三个级联块。三级联块间,进入每一个级联块前,都要对之前的级联块的输出利用1x1的卷积核进行融合压缩;每个级联块内又有三个残差块,三个残差块间也是同样的结构。
级联结构类似于在残差块间进行密集连接,但由于densenet有点区别,他利用1x1,RDN中用3x3。

ECCV2018超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network_第1张图片
它具有以下三个特征:

  • 全局和局部级联连接
  • 中间特征是级联的,且被组合在1×1大小的卷积块中
  • 使多级表示和快捷连接,让信息传递更高效

高效的CARN

为了提升CARN的效率,作者提出了一种残差-E模块。
ECCV2018超分辨率CARN:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network_第2张图片这种方法和MobileNet类似,但是深度卷积被替换为了分组卷积。因为分组卷积中间必然有trade-off,因此在用户可以选择合适的分组大小。
为了进一步降低参数,论文中用到了一种与递归神经网络相似的技巧,就是将级联模块的参数共享,让模块高效递归。
在这里插入图片描述

除了分组卷积这个策略之外,另一种减少参数的策略归残差块,类似于DRRN和MemNet。实验表明,分组卷积似乎优于递归结构。

你可能感兴趣的:(Super)