论文笔记之DCSCN
Posted Ton10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记之DCSCN相关的知识,希望对你有一定的参考价值。
这篇文章介绍了一种轻量级全CNN网络的Super-Revolution(超分)算法。
单幅图像的超分辨率重建方法可分为三类:
①基于插值的方法:简单高效但图像质量有限。
②基于先验知识的方法:可以得到更好的重建结果,但优化模型也需要很长时间。
③基于深度学习的方法。可以获取高质量的结果,同时模型的训练时间也有很大空间去优化。
参考文档:
①DCSCN论文阅读笔记
Fast and Accurate Image Super Resolution by Deep CNN with Skip Connection and Network in Network
Abstract
文章推出了一种具备快速训练以及更轻量特性的模型,其用于实现单张图片超分(SISR)——DCSCN。
- DCSCN整体模型分为特征提取子网络、重建子网络以及上采样三部分,内部使用残差连接、NiN网络结构实现最佳表现的同时拥有更低的计算复杂度。
- 其中,特征提取子网络用于抽取输入图像的局部和全局特征并作为重建子网络的输入;而重建子网络使用NiN结构。
- DCSCN采用直接对原始图像上采样(双三次插值)的方式和重建子网络的输出相结合实现低分辨率(LR)到高分辨率(HR)的转换。
- 值得一提的是,DCSCN还对网络的层数进行了优化,使得计算复杂度得到进一步降低。
总结起来就一句话:DCSCN在当时取得SOAT表现力的同时,还实现了网络快速训练以及轻量的特点。
1 Introduction
作者首先提出了研究超分的意义:
- 那个时候单张图片高分辨的需求被广泛用于电视、网站,但现有的技术只能保证2~8倍的低分辨率。
- 如果直接去提高图片的分辨率,会造成网络带宽的增加。
鉴于前人用深度学习在超分上的贡献,作者提出了一种全CNN的神经网络模型来实现低分辨率到高分辨率的转变。CNN的方法固然可以提取到输入图像的局部和全局特征,但是其本身对资源的消耗过多以及训练和inference的时间较长。
因此,作者提出一种轻量级的网络模型,具体如下:
从全局来看,整个网络模型使用的都是
3
×
3
、
1
×
1
3\\times 3、1\\times 1
3×3、1×1的卷积层,且层数不多。其一共分为三部分:
- 特征提取网络。首先,如下图所示:
之前的CNN方法之所以训练时间长,是因为卷积层数多,参数空间大导致的,他们将输入图像直接进行上采样,虽然简单直观但是带来的参数两也会增加。其次,当缩放系数(低分辨率到高分辨率的缩放比例)大于3之后,通过上采样然后提取特征的方式显得很多余,没有这个必要,也就是说,我低分辨率就能提取出来的特征,没必要去花更大的资源去对上采样之后的大图像进行特征提取。因此本文中,作者直接对原始图像进行特征提取,而不是对上采样之后的图像进行feature extraction,提取的特征通过skip connection
直接输送给重建网络,通过这种方式,可以大大减少网络的层数。为了进一步实现轻量级网络,作者进一步对网络层数进行优化。 - 图像细节重建网络。重建网络其实是一个反卷积(转置卷积)的过程,它是一个还原feature map到图像级的过程,因此反卷积也可以看成是一个上采样过程,它和卷积过程很类似,都需要用到卷积层。作者指出先前算法的重建过程能力受限的主要原因在于网络深度不够。因此结合轻量级网络的特点,作者提出使用NiN(Network in Network)模型来做重建网络部分,这样做的一个重要原因在于 1 × 1 1\\times1 1×1的卷积核可以很大程度上降低训练复杂度,比如说 3 × 3 3\\times 3 3×3的卷积核的计算量比 1 × 1 1\\times 1 1×1的9倍。
- 双三次插值上采样:对图像进行一定倍数(
scale factor
)的扩展。
2 Related Work
略
3 Proposed Method
作者给出了一种通用的网络设计思路。当你要设计一个新的网络时,要先从最简单的模型开始,让它在小的数据集上进行训练。然后慢慢将模型复杂化,不断增大数据集,直到模型的表现力无法上升时,就可以采用一些技巧,比如dropout、BN、正则化、改变batch大小等等的调试手段去做进一步优化</font。
3.1 Model Overview
第三节介绍作者提出的DCSCN模型,overview部分列举了总体的设计架构,主要包含以下几个方面:
- DCSCN是一个全CNN网络,由特征提取子网络、图像重建网络、图像上采样组成。
- 为了同时捕获图像的局部和全局特征,DCSCN将用残差连接(即文章中的skip connection)将每一层网络的输出直接连接到重建网络的输入端进行合并。
- 重建网络读取来自特征提取子网络的feature map进行反卷积操作,最后通过 1 × 1 1\\times 1 1×1的卷积层来改变输出通道为4(或者可以看出是图像缩减因子的平方,比如scale-factor=2,那么输出通道数为4)。
- 重建子网络的输出和来自双三次插值的结果进行相加,最后输出高分辨率图像。在整个过程中,双三次插值会迫使网络去让2个子网络学习到 L R → H R LR\\to HR LR→HR的差异,从而减小差距,让网络达到超分的目的。
3.2 Feature Extraction Network
①在特征提取网络中,DCSCN使用了7个
3
×
3
3\\times 3
3×3CNN网络进行特征提取输出feature map。每一份feature map都表征不同深度的图像特征,最后都通过skip connection
连接到重建网络。
②作者提出,在SISR问题上,图像的局部特征往往比全局特征更有用,也就是说网络越深处的feature map比浅层的信息更有用,因此如下图所示的c-DCSCN中:
改用较少的滤波器数目(即输出图像的通道数)也会实现不错的结果,甚至较小的输出通道会带来计算速度的提升。
③DCSCN使用何凯明提出的Parametric ReLU作为激活层,来避免太多负值输出导致网络坏死的问题。这个Parametric ReLU(PReLU)也可进一步结合注意力机制发展为APReLU。
3.3 Image Reconstruction Network
①本文中的图像重建网络是一个利用转置卷积组成的网络,DCSCN用了个并行连接的结构来连接NiN块以及一个 1 × 1 1\\times 1 1×1层。其中,NiN块是为了加深网络深度,采用 3 × 3 3\\times 3 3×3卷积层连接 1 × 1 1\\times 1 1×1卷积层的方式搭建;与之并联的 1 × 1 1\\times 1 1×1卷积层是为了减小输入段大量concat的feature map带来的高维度输入导致计算量增加的问题。
②重建网络的末端用了一个 1 × 1 1\\times 1 1×1的卷积层来输出缩减因子平方个数的通道图像,并且与来自网络外的双三次插值结果进行相加,从而最终输出重建后的高分辨率图像。特别一提的是,双三次插值相当于作为正则化项会迫使网络去让2个子网络学习到 L R → H R LR\\to HR LR→HR的差异,从而减小差距,让网络达到超分的目的。
Note:
- 反卷积过程其实就相当于是个上采样过程:反卷积过程可以看成是个从feature map到图像的过程,但它和上池化不同,上池化是必须要保持feature map的相对位置不变:
4 Experiments
实验部分以下几块:
- 数据集的预处理。
- 实验配置。
- DCSCN和SOAT的比较(在网络复杂度和图像失真程度的比较)。
4.1 Datasets for Training and Testing
就是做一些数据增强的操作。
4.2 Training Setup
一些技巧的使用,如dropout、BN等以及超参数的设置。
此外,文章给出了DCSCN的使用的可视化效果:
4.3 Comparisons with State-of-the-Art Methods
主要是图像评价,使用PSNR/SSIM作为失真指标;以及计算复杂度的比较。
①算法表现力
作者也很实诚,表明DCSCN只达到了接近SOAT的表现,并没有过分夸赞DCSCN全方位达到SOAT。
②计算复杂度
如上图所示,c-DCSCN是DCSCN的网络简化版本,他们二者都达到了较低的计算复杂度。
③总结
综合算法表现力以及计算复杂度来看,文章推出的DCSCN可以实现超越SOAT的结果,如上图所示,越靠近左上角表明算法越好,意味着既可以实现较低的图像失真,又可以有不大的计算复杂度。
5 Conclusion and Future works
文章的主要贡献内容如下:
- DCSCN是一种拥有较低复杂度,可实现快速训练并且较低失真度的轻量级超分方法。在当时综合来看,可以说在SISR上达到了SOAT的水平,可以作为一个通用的超分框架。
- DCSCN包括三部分:特征提取网络、图像重建网络、双三次插值操作。其中特征提取网络使用了直接对原图进行特征提取,并采用较轻量的CNN结构,通过skip connection输出到图像重建网络;图像重建网络使用并行结构来实现较深的网络以及降低输出维度的作用,最后联合双三次插值来重建高分辨率图像。
- DCSCN在某种程度上也是集成学习的一种成功案例。
以上是关于论文笔记之DCSCN的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow学习笔记之 PReLU激活函数原理和代码
论文推荐| 王密:高分辨率光学卫星影像高精度在轨实时云检测的流式计算
事件相机与计算机视觉论文分享--Event-based Vision meets Deep Learning on Steering Prediction for Self-driving Car