主要思想
目前的SISR(单图像超分辨率)领域已经有了很多模型。但是现有的这些模型大多是确定的,一旦模型训练结束,无论输入什么图像,对于整副图像的每个部分,计算卷积的深度都是确定的。
但是作者考虑了以下两点:
在一幅图像中,不同区域的纹理复杂度不一样,为达到所需效果而需要的模型深度也不一样。全都采用同样的深度,会浪费计算资源。比如下图,纹理光滑的patch,即使使用深度教小的网络,也能达到很好的效果;
图 1
在很多实际应用条件下,会存在很多的性能约束(比如硬件平台的性能,机器的计算负载等)。应该把这些约束考虑进去。
这两点综合起来,可以在给定性能限制的前提下,超分辨率的整体效果更好(峰值信噪比更高)。
基于以上思想,作者将一些经典SISR模型进行改进(比如EDSR、RCAN)增加了适配器,形成了本文的工作成果——AdaDSR。
主要方法
空域上可变的网络深度
由图1所述思想,想让图像的不同位置上,跑不同的模型深度(这里表现为残差块的深度)。也就是建立一个空间坐标到网络深度的映射
直观来看,这个函数就是每一层残差的模块对每个像素进行筛别,判断其是否需要在本层进行计算。
根据残差网络的性质,容易得到以下公式:
本质就是对每层残差块做了一个mask操作。
基于im2col的稀疏卷积
如果只是单纯的在原有的卷积运算上加mask,并不能减小运算次数,于是这里引入的一个广泛应用的im2col操作,把卷积的转换为矩阵乘积的过程。
如上图所示,可以在计算矩阵乘积之前就进行mask操作,大大减小了运算量。
考虑性能约束的适配器网络
为了根据图片的特征构建上述的网络深度的映射
最终的模型结构
依据训练好的适配器网络,输入原始图像及性能约束,构造出网络深度的映射
v1.5.2