这是2018年cvpr一篇做single image deblur的论文,其参考了基于coarse to fine的去模糊算法,提出一个尺度递归神经网络,在保持简单结构和更少参数的同时,取得了更好的效果。
目前的scale-recurrent Structure去模糊网络存在以下的一些问题:每个scale的网络参数是独立的,这导致网络很难训练,而且会导致参数过于无限大。另一个问题是如果将每个scale的参数分别设定,那么网络只能固定的处理一个scale的尺度。这个问题可以通过权重在不同尺度网络上共享的方式解决。文章同时将resblock嵌入到了编解码网络中,从而获得较大的感受野。最后,论文在加快四倍速度,使用三分之一的参数量的情况下,获得了更好的效果。
Scale-recurrent Network (SRN)
遵循coarse to fine的思想,这里将获得每一个scale的的去模糊图像作为deblur的一个子任务。对于每一个scale,其输入是一个下采样后的对应scale的模糊图像和上一个尺度去模糊图像上采样之后的图像。这里不同scale的网络共享权重,对隐藏特征和图像的上采样都是使用双线性插值,其简单有效。同时循环网络使用LSTM,网络的整体结构图如下所示:
Encoder-decoder with ResBlocks
直接使用encoder decoder结构并不能获得较好的效果,这里需要较大的感受野,直接堆很多层是不合理的,首先其会使中间层的特征太小。其次,其会使网络变得难以收敛。所以这里在encoder和decoder里加入残差模块,每个模块里有三个resblock,每个resblock有两个层。同时网络的中间有一个conlstm层,用于获取网络的状态并将其传递给下一个scale。每个卷积使用5x5的卷积核。
Loss
损失函数为:
其中$k_i$是每个scale的权重,$N_i$是图像中像素的数量,起到归一化的作用。
Experiment
略