0%

读论文:应用于单图像超分辨率的深度自适应网络

主要思想

目前的SISR(单图像超分辨率)领域已经有了很多模型。但是现有的这些模型大多是确定的,一旦模型训练结束,无论输入什么图像,对于整副图像的每个部分,计算卷积的深度都是确定的。

但是作者考虑了以下两点:

  1. 在一幅图像中,不同区域的纹理复杂度不一样,为达到所需效果而需要的模型深度也不一样。全都采用同样的深度,会浪费计算资源。比如下图,纹理光滑的patch,即使使用深度教小的网络,也能达到很好的效果;

    image-20200317153901125

    ​ 图 1

  2. 在很多实际应用条件下,会存在很多的性能约束(比如硬件平台的性能,机器的计算负载等)。应该把这些约束考虑进去。

这两点综合起来,可以在给定性能限制的前提下,超分辨率的整体效果更好(峰值信噪比更高)。

基于以上思想,作者将一些经典SISR模型进行改进(比如EDSR、RCAN)增加了适配器,形成了本文的工作成果——AdaDSR。

主要方法

空域上可变的网络深度

由图1所述思想,想让图像的不同位置上,跑不同的模型深度(这里表现为残差块的深度)。也就是建立一个空间坐标到网络深度的映射dRG×H×W。由这个深度映射,可以为每一层的残差块,建立一个如下的函数,l代表残差块层数。一共有D层,那么就有D个下列函数:

image-20200317160151113

直观来看,这个函数就是每一层残差的模块对每个像素进行筛别,判断其是否需要在本层进行计算。

根据残差网络的性质,容易得到以下公式:

image-20200317160558094

本质就是对每层残差块做了一个mask操作。

基于im2col的稀疏卷积

如果只是单纯的在原有的卷积运算上加mask,并不能减小运算次数,于是这里引入的一个广泛应用的im2col操作,把卷积的转换为矩阵乘积的过程。

image-20200317160956786

如上图所示,可以在计算矩阵乘积之前就进行mask操作,大大减小了运算量。

考虑性能约束的适配器网络

为了根据图片的特征构建上述的网络深度的映射d,作者构建了一个模型,输入是原图像特征z0和性能约束d,输出就是网络深度的映射d。作者对这个网络的训练目标有两个,定性来说,一是使超分辨率后的图像与原始高分辨率图像更接近;二是使输出的网络深度的映射d更接近于性能约束d。从而构造了如下的损失函数进行训练:

image-20200317162123984image-20200317162133876image-20200317162148920

最终的模型结构

依据训练好的适配器网络,输入原始图像及性能约束,构造出网络深度的映射d,添加到现有SISR模型的各层残差块中去,使得一幅图像的不同位置依据其纹理复杂度的不同,而运行不同的模型深度。在有限的计算资源下达到更好的整体效果。

image-20200317162509296

Powered By Valine
v1.5.2