本文译自2018CVPR Fast and Accurate Single Image Super-Resolution via Information Distillation Networkgit
代码: github (in caffe)github
特色:结构简洁、实时速度,更好精度算法
结果:state-of-the-art网络
近来深度卷积网络在单图像超分辨上取得明显成果。然而随着网络的深度和宽度增长,基于CNN的超分辨方法面临着计算和内存的问题。为解决这个问题,咱们提出一个深但简洁的卷积网络直接从原始的的低分辨图像来重建高分辨图像。本文所提出的网络模型包含三个部分,即特征提取模块、堆叠的信息蒸馏(information distillation)模块、重建模块。经过结合一个提高单元(enhancement unit)和一个压缩单元(compression unit)在信息蒸馏模块里,局部 long and short-path features特征可被有效提取。特别的,提出的enhancement unit混合两种不一样类型的特征,而压缩单元compression unit提取更有用的信息。此外,所提出的网络执行快速,由于每一层有相对较少的滤波器数目,而且使用了分组卷积(group convolution)。实验证实了该方法是优于state-of-the-art的,尤为在时间表现上。函数
1. Introduction性能
单图像超分辨Single image super-resolution(SISR)是一个经典的low-level问题,须要从一个低分辨图像重建高分辨图像。事实上,无穷多数量的HR图像能够经过下采样获得相同的LR图像。所以SR问题是一个病态问题,没有惟一解。目前已有大量的SISR方法被提出,包括基于插值的方法(interpolation-based methods),基于重构的方法(reconstruction-based methods)和基于实例的方法( example-based methods)。因为前两种方法常常在大尺度因子上的表现不好,近来SR方法基本都为第三种,即从LR和HR图像对学习先验知识。学习
近来因为CNN的强势表现,许多基于CNN的SR方法试着用更深的网络来学习更好的重建表现。Kim等人提出20层的CNN模型即VDSR,它采用了残差学习和自适应梯度截断来更好训练。为了控制模型参数,做者利用递归层构建了一个深度递归网络DRCN。为减轻训练难度,Mao等人提出一个很是深的编解码残差网络(RED),包含了一系列卷积和转置卷积来端到端的学习LR图像到真值的映射。Tai等人提出一种深度递归残差网络DRRN,利用了参数共享策略来缓解深度网络带来的大量参数。测试
尽管实现了显著的表现,大多数深度网络仍然含有许多缺点。首先为了实现更好的性能,加深或者加宽网络变成了一个设计趋势。可是结果是这些方法须要大量的计算和内存消耗,这在实际中是不可直接应用的。此外传统的卷积方法一般采用拓扑级联网络,例如VDSR和DRCN。这种方法每层的特征图都无区别的被送入网络。然而,Hu等人实验性的证实自适应再校准channel-wise 特征响应能够提高网络的表示能力。优化
为了解决这一问题,咱们提出一个新奇的方法:信息蒸馏网络information distillation network(IDN)。如图2,有着轻量级参数和计算复杂度。在所提出的IDN中,一个特征提取模块FBlock首先从LR图像中提取特征,而后多个信息蒸馏模块DBlocks堆叠来进一个提取残差信息。最后一个重建模块RBlock汇集所得到的HR残差表示来生成残差图。为了获得HR图像,咱们实现了残差图与上采样LR图元素间的相加操做。spa
IDN的关键部信息蒸馏模块,包含了一个提高单元enhancement unit和压缩单元 compression unit。提高单元主要包括两个浅层卷积网络,如图3。每一个网络都是一个三层结构。第一个模块的特征图经过一个短连接(3层)来提取。所以他们能够视为局部短路径lshort-path特征。考虑到深度网络更有好的表现,咱们将局部短连接特征部分发送到另外一个模块。和【9】中的方法不一样,咱们划分特征图为两部分。第一部分表明表明保留的short-path特征而另外一部分表征将要被提高的short-path特征。获得长-短路径特征图后,咱们汇集这两种类型特征来得到更多的有效信息。简而言之,提升单元主要提升网络的表示能力。至于压缩单元,咱们采起了一个简单的卷积层来压缩提升单元中特征的冗余信息。
本文主要贡献以下:
单图像超分辨近年来被普遍研究。在本节咱们将关注于近来基于实例(example-based)的神经网络方法。
2.1 Self-example based methods
基于实例的方法开发自类似性的特性而且从LR图像以不一样尺度提取样本对。这种方法一般在包含重复模式或者文本,但在输入图像外缺乏图像结构丰富度的状况下表现较好。Huang等人扩展了基于SR的自类似性来处理仿射和透视形变。
2.2 External-example based methods
基于实例的外部方法从外部的数据集学习从LR到HR的一种映射。这种类型的方法一般关注于怎样学习一种压缩字典和流型空间来使LR/HR相关,例如最近邻、流型embedding、随机森林进而空间表示。虽然这些方法是有效的,提取的特征和映射函数是不自适应的,这对于生成高质量SR图像而言不是最优的。
2.3 Convolutional neural networks based methods
近来,受许多计算机视觉任务的启发,深度网络在SR领域取得了很大突破。Dong等人率先利用一个三层卷积网络SRCNN以端到端的方式联合特征提取、非线性映射、图像重构。以后Shi等人提出一种高效子像素卷积神经网络ESPCN来在LR空间提取特征图并利用高效的子像素卷积取代双三次采样操做。Dong等人采起反卷积结合更小的滤波器和更多的卷积层来加速SRCNN。Kim等人提出一种很是深的全局残差CNN模型来得到更好表现,这种方法利用了大图像区域的文本信息。另外一个由Kim等设计的网络是含有跳跃链接的递归卷积网络来避免深度加深时引入额外的参数。Mao等人利用对称的跳跃结构和编解码器来解决通常图像的恢复问题。Lai等人提出一种拉普拉斯金字塔超分辨网络来解决SR的速度与精度问题,以原始LR图像为输入渐进构建HR图像的sub-band残差。Tai等人提出一种深度递归网络来有效创建一种很是深的网络,使网络得到精度。该做者也提出了一个很是深的端到端持久性记忆网络(MenNet)对于图像恢复任务,解决以前CNN结构的长期依赖性问题。Sajjadi等人提出一种新奇的方法,结合自动纹理合成和感知损失来关注于构建4倍率高的真实纹理。
3. ProposedMethod
在本节咱们首先描述了提出的网络结构,而后介绍提升单元 enhancement unit和压缩单元 compression unit,这是该方法的核心。
3.1 Network structure
如图2,IDN网络含有三部分:一个特征提取模块(FBlock)、多个堆叠的信息蒸馏模块(DBlock)和一个重构模块(RBlock)。这里咱们令x和y为IDN的输入与输出。至于FBlock,两个3*3的卷积网络用来提取原始LR图像的特征图。这个过程描述为:
f指的是特征提取函数,B0为提取到的特征,且是以后的输入。下一部分由多个信息蒸馏模块组成。每一个模块包含一个堆叠形式的提升单元和压缩单元。这一过程可公式化为:
为第k个DBlock函数,
分别为第k个DBlock的输入与输出。最后咱们利用一种不含激活函数的转置卷积来做为RBlock,所以IDN能够表示为:
R,U分别表示RBlock和双三次线性插值。
3.1.1 Loss function
咱们考虑两个损失函数来度量预测的HR图像和对应的真实图像I。第一个为MSE均方偏差,这是通常的图像重建最经常使用的损失函数:
然而Lim等人实验性的验证了利用MSE来训练不是一个好的选择。第二个损失函数为平均绝对偏差:
咱们实验发现利用MSE损失能够提高利用MAE损失训练的网络,因此咱们先用MAE损失训练,再用MSE损失微调。
3.2.Enhancement unit
正如图3所示,提升单元可大体分为两部分,第一个是上面的三个卷积,另外一个是下面的三个卷积。上面的模块为3x3大小卷积,伴有LReLU激活函数。假设第i层的特征图维度为Di,(i=1,..,6)。那么卷积层的关系能够描述为:
d为第一、2层或者一、3层的差别。相似的,下面模块的维度特色为:
,上面的模块是含有LReLU的级联的卷积层,第三个卷积层为输出分为两部分。假定这个模块的输入为
,咱们有
,
是以前block的输出,也是当前block的输入。
为链式卷积操做,
为上面模块中第k个提高单元的输出。
中维度为
的特征图和第一个卷积层的输入在通道维度上进行连接:
C,S分别表明链接concatenate操做和切片slice操做。特别的,咱们知道的维度为D3,所以
表示
维特征提取自
。此外,
与
在通道维度上链接特征。目的是为告终合以前的信息与当前的信息。它能够被看做是局部保留的短路径信息localshort-path information。咱们采起剩余的localshort-path information做为下面模块的输入,主要进一步提取长路径特征图 long-path feature maps。
分别为输出和下面模块的堆叠卷积操做。最后如图3所示,输入信息、保留的局部短路径信息和局部长路径信息合并。所以,提升单元能够公式化为:
是提升单元的输出。局部长路径特征
与局部短路径特征和未处理的特征
的结合都被压缩单元所利用。
3.3 Compression unit
咱们利用1x1卷积来实现压缩机制。具体来讲,提升单元的输出被送至1x1卷积层,其目的为维度缩减或为以后网络提取相关信息。所以,压缩单元可公式化为:
为1x1卷积的操做,
为激活函数,
为权重参数。
4. Experiments
4.1 Datasets
4.1.1 Training datasets
和以前的惯例同样,咱们利用Yang等人的91张图像,来自伯克利分割数据集Berkeley Segmentation Dataset(BSD)的200张图像做为训练数据。为了充分利用训练数据,咱们使用3种数据加强方法:(1)旋转图像角度为90,180和270度。(2)水平翻转图像。(3)downscale降尺度图像,因子分别为0.9,0.8,0.7和0.6。
4.1.2 Testing datasets
所提出的方法在普遍使用的数据集上评估:Set5、Set14、BSD100和Urban100。在这些数据中,Set5,Set14和BSD100包含了天然景色,Urban100包含了具挑战性的urban景色,具备不一样频带的细节。对真实图像利用双三次插值进行降尺度能够获得LR/HR图像对,以获得训练和测试数据集。咱们转换每张彩图为YCbCr颜色空间,并仅处理Y通道。而颜色成分仅简单使用双三次插值来扩充。
4.2 Implementation details
为了准备训练样本,咱们首先对原始HR图像进行下采样,升尺度因子upsacling为m。(m=2,3,4),利用双三次线性插值来生成对应的LR图像,而后裁剪LR训练图像为一系列子图像集。对应的HR训练图像被划分为
大小的子图像集。利用Caffe来训练该模型,其转置卷积的滤波器产生的输出尺寸为
而不是
。因此咱们应当在HR子图像上裁剪(m-1)像素边界。由于有291张图象的那个数据集里的一张名为“t20”的图像尺寸为78*78。
当尺度因子为3时,为保持数据完整性,能够在LR图像上裁剪的最大尺寸为26x26。然鹅,训练过程将会不稳定,由于大的训练样本在Cffe中有更大的学习率。所以,训练数据将在训练阶段生成,
LR/HR子图象集在微调阶段使用。学习率初始设置为1e-4,在微调阶段除以10。以这种方法,训练和微调的样本如表1所示。
考虑到执行时间和重构表现的折衷,咱们构建了一个31层的网络为IDN。这个模型有4个DBlocks,提高模型中每一个block的参数分别设置为64,16和4。为减小网络参数,咱们在每一个提高单元的第二个和第四个层利用4个分组卷积。此外转置卷积采用17x17大小的滤波器为全部的尺度因子。LReLU的negative scope 设为0.05。咱们初始化权重经过何凯明的文章Delving deep into rectifiers: surpassing human-level performance on imagenet classification,偏置都设为0.利用Adam优化,mini-batch大小为64,权重衰减为1e-4。为了获得更好的初始化参数,咱们经验性的预训练10^5个iter,并以此为IDN网络的初始值。在2X模型上利用一块TITAN X GPU训练一个IDN大约须要1天。
4.3 .Network analysis
含有残差结构的模型主要学习一个残差图像,如图4(a)所示,真实残差图主要含有细节和文本信息,其正则像素值范围为-0.4到0.5。从图4(b)能够发如今残差图中有正值和负值,其数量的大体相等。显然0值的数量和其邻居最多,意味着残差图中的平滑区域几乎被消除了。所以,咱们网络的任务是逐渐减去原图中的平滑区域。为了证实咱们的直觉,咱们须要检查提升单元和压缩单元的输出。具体分析参考图5。
...
4.4 Comparisions with state-of-the-arts
咱们与已有的方法对比:包括bicubic, SRCNN [3, 4], VDSR [12], DRCN [13], LapSRN [15], DRRN [22] and MemNet [23]。表2显示了峰值信噪比PSNR( peak signal-to-noise ratio)和SSIM结构类似性( structural similarity )。该方法有利的显示了state-of-the-arts结果。此外,咱们对全部方法作了information fidelity criterion (IFC) metric。表3显示了所提出方法的最好表现并超出MemNet一大截。
图6,7,8显示了视觉对比。“barbara”图像因为高频信息的缺失有严重的artifacts在红框内,这能够看做是双三次插值。仅仅本方法recovers roughly the outline of several stacked books。从图7能够看到本方法所获的清晰的轮廓,而其余方法有不一样程度的假信息。在图8,本方法表现的相对清晰。
从表2看到,IDN的表现比MemNet在Urban100上的3x和4x要差,而咱们的方法在其余数据上更好一些。主要缘由是MemNet将LR图像插值后做为输入,因此网络得到更多的信息,SR的过程仅须要修正插值后的图像。算法以原始的LR图像为输入,预测更多的像素,尤为是更大的图像和更大的magnification factors。
在作iference的时候,咱们利用对比算法的开源代码在32G上的i7 CPU, NVIDIA TITAN X(Pascal)GPU 12G内存。由于官方的MemNet和DRRN的实现溢出GPU内存,咱们在每一划分100幅图像为几个部分而后分别作评估,而后收集两组数据。表4展现了benchmark数据上的运行时间,值得注意的是IDN大约500倍快于MemNet(2x magnification在Urban100数据集上)。
5. Conclutions
在本文,咱们提出了一个新奇的网络结构,利用蒸馏模块逐渐提取大量有效特征来重建HR图像。在PSNR、SSIM和IFC评价指标中都实现了有竞争力的结果。而inference时间远小于当下最好方法如DRRN和MemNet。这个简洁的网络能够在实践中普遍利用。在将来,这个方法将促进解决其余重建问题例如去噪和compression artifacts reduction。
相关资料: