单图像超分辨率从SRCNN开始,网络模型深度从原来的3层,到后来的60层,到现在的一百多层,验证了VDSR中提出的定律,层数越深,效果越好,对于超分辨率这种生成模型来说,深度的增加意味着感受野的扩大,局部与整体的关系被放大,同时,多层的非线性**层给了网络更强的拟合能力。
近年来,其实变化的不仅是超分辨率的网络模型,训练集也在悄悄发生变化,从91,291,到现在的DIV2K,数据增广的方式也越来越多,这都是为了应对不断加深的网络而做出的改变。提一个小tip,如果你的超分辨率网络效果不行,超参数等没有问题的话,增加训练集吧。
应对不断加深的网络模型,变化的同样也包括网络结构,由于链式法则的原因,深层神经网络的梯度消失问题是一个很大的挑战(当然,现在已经不是了),以残差网络(resnet)为代表的跳跃型连接开始接入到超分辨率网络模型(VDSR)中。残差思想在VDSR中被应用的简直完美。基于这个思路,逐级放大的金字塔结构(LAPSRN)也被提出,这是一个很棒的思路,在多倍数的超分辨率中,一次性放大4倍和经过两次2倍放大,网络学习的困难度自然不同。(这种思想一般被运用到8倍左右的网络中)。随后,以Densenet为代表的稠密网络被提出,通过将前面层的所有特征图作为输入,到当前层中,网络不再只是与它的前一层与后一层有联系,而是与所有的隐藏层都有交流,其实,dense连接和残差连接,本质上都是加强网络信息交流,梯度流将通过多支路进行传递,自然,梯度消失的问题解决了。
然而,模型压缩的有效性告诉我们,网络是存在冗余的,另一个角度来说,就是有大量的参数并没有起到它该有的作用,或者说并没有物尽其用。首先,对超分辨率网络进行压缩明显是一个不明智之举,分类网络这种特征不敏感型网络才能使用模型压缩,而超分辨率这种生成模型,属于特征敏感型网络。因此,如何加强网络的特征提取能力也是现在需要思考的问题。
基于此,我们融合了残差网络和稠密连接,在模型参数只有10多MB的情况下,设计了一个超过60层的模型,模型结构如下:
融合残差和稠密网络的模型结构现在也成为了主流,最近有多篇CVPR文章,采用这种融合思想,在超分辨率方面有一定的效果提升。当然,网络层数也到了100多层。。。。。
结果如下: