DSRN——Image Super-Resolution via Dual-State Recurrent Network


Image Super-Resolution via Dual-State Recurrent Network

CVPR(2018)

代码网址:https://github.com/WeiHan3/dsrn

论文下载:https://arxiv.org/pdf/1805.02704.pdf

1. 摘要:

因为深度学习的超分辨率算法近年来的蓬勃发展,我们注意到许多最先进的深SR架构可以被重新表述为单状态递归神经网络(RNN)的有限展开,在这片论文中,基于RNN的紧凑结构,作者提出了一个两种状态的设计,dual-state designs,即Dual-State Recurrent Network(DSRN)。相对于Single-State的超分辨率算法,我们的操作在两种空间中一块操作,HR和LR空间同时操作。循环信号就是这样通过一个delayed feedback在HR空间和LR空间中交换。实验表明,该方法在针对内存消耗和预测精度上来说,达到了非常好的效果。

2. 介绍:

在SISR的问题上,目的就是将一个LR的图片恢复成为一个HR的图片,近几年,SR问题在DNNS上取得了非常好的效果,特别是卷积神经网络和残差学习已经广泛地应用到了最近的SR工作之中。

在这些方法中,两大原则是一直被遵从的。第一个原则就是增加CNN的深度来提高SR的效果,模型越深,就会拥有更多的参数,从而可以从LR到HR表现出更大的映射关系。并且,增加网络的深度可以提高感受野的尺寸,提供更加复杂的上下文信息,这些信息可以被挖掘出来去重建失去的HR组成部分。第二个原则就是提供残差连接(全局的残差或者局部的残差)来阻止梯度消失或者梯度爆炸的问题,促进深度网络模型的训练。

尽管这些模型已经被证明能够产生非常好的效果,但是一个主要的争论就是增加网络模型的深度会导致更多的参数,从而导致过拟合的产生,同时,更大的模型需要更大的存储空间,这样很难部署到有限资源环境之中(例如:移动系统中)。因此,DRNN受到DRCN中不同残差单元共享权重的影响,从而使用更少的参数达到了更好的效果。

在神经结构设计中,使用诸如RNN这样紧凑的模型已经很普遍了,有人证明,权重共享的残差神经网络就等价于浅层的RNN,受到他们的发现的鼓舞 ,我们首次探索了现存的SR算法的神经结构和紧凑的RNN之间的关系,我们注意到,之前的具备递归计算和权重共享的SR模型DRRN和DRCN都是工作在一个单一的空间分辨率中,这使得他们的模型结构表现的有点像统一的单状态的RNN。所以可以把DRRN和DRCN看做是同一RNN结构的有限时间展开,但是状态方程不一样。值得一提的是,我们遵从其他文献,将这里的“state”和常规的RNN中的“layer”可以看做一样。

基于这个紧凑的RNN模型,在这片论文中,我们摸索了一个新的结构。这第一种提升传统的RNN模型的方法就是使得他变成多个层,所以我们根据经验通过添加一个额外的状态,设计了一个紧凑的RNN,即为Dual-State Recurrent Network,其中两个状态分别作用在两个空间之中。底层的状态在LR空间中获取信息,而顶层的状态在HR空间中获取信息,其中底层和顶层之间我们通过反卷积来进行联系。此外,我们还允许信息从前一层预测的HR特征中流动到下一层的LR空间中,我们使用了一种延时反馈机制来使信息从顶层(HR)到底层(LR)。

3. 相关工作

主要介绍的一些超分辨率相关的工作,主要就是介绍近期SR方向的发展,他们的优势,特点,缺陷等。

Shi et al. used a compact network model to conductconvolutions on LR images directly and learned upscaling filters in the last layer, which considerably reduces the computation cost. Similarly, Dong et al. adopted deconvolution layers to accelerate SRCNN in combination with smaller filter sizes and more convolution layers. However, these networks are relatively small and have difficulty capturing complicated mappings owing to limited network capacity. The Laplacian Pyramid SuperResolution Network (LapSRN) works on LR images directly and progressively predicts sub-band residuals on various scales. Lim et al. proposed the Enhanced Deep Super-Resolution (EDSR) network and a multi-scale variant, which learns different scaled mapping functions in parallel via weight sharing.

It is noteworthy that most SR algorithms minimize the mean squared reconstruction error (i.e. via ℓ2 loss). They often suffer from regression-to-the-mean due to the illposed nature of single image SR, resulting in blurry predictions and poor subjective scores. To overcome this drawback, Generative Adversarial Networks have been used along with perceptual loss for SR. Subjective evaluation by mean-opinion-score showed huge improvement over other regression-based methods.

4. Single-State Recurrent Networks

image

从(a)中可以看出,input,output,recurrent状态分别表示为x,s,y。箭头表示为状态转换函数。其中,这个黑色的方形表示recurrent function,意义就是将循环向下一层进行了一步。 图(b)为展开的图,其中,一个状态的表示如下:

其中,t表示为第t个展开, f i n p u t f_{input} , f o u t p u t f_{output} f r e c u r r e n t f_{recurrent} 中的参数与时间无关(即与 t t 无关),这意味着这些参数在在每一次展开过程中都是可以重用的。这允许我们统一ResNet,DRCN和DRRN这些具有相同递归结构但具有不同的递归实现和不同的参数共享规则的展开网络。

像ResNet,DRCN,DRRN都可以套用这样一个模型,只是处理方式不同,这里不具体展开,主要讲解下面的DSRN。

  • ResNet:
  • DRCN:
  • DRRN:

5. Double-State Recurrent Networks

Dual-state design:不像单状态模型那样在一个相同的空间分辨率中,DSRN融合了LR信息和HR信息,如下图所示,四种颜色的箭头代表四种不同的状态方程,其中蓝线( f l r f_{lr} ),橘黄线( f u p f_{up} ),红线( f h r f_{hr} )在传统的RNN中就已经有的,我们这里加了一个绿线( f d o w n f_{down} ), 这是受传统的多层RNN总共的 delayed feedback mechanism 所写的,整个的动态过程可以用以下公式来表示:

image

S t h = f u p ( S l t ) + f h r ( s h t 1 ) S^h_t = f_{up}(S^t_l)+f_{hr}(s^{t-1}_h)

S t h = f i n p u t ( x t ) + f l r ( s l t 1 ) + f d o w n ( s h t 1 ) S^h_t = f_{input}(x^t)+f_{lr}(s^{t-1}_l) + f_{down}(s^{t-1}_h)

Transition function:上面的四种颜色的线条就代表着四种不同的转换方程, f u p f_{up} 使用的就是常见的反卷积操作, f d o w n f_{down} 就是使用的卷积操作(论文中使用的均值池化的操作)。

Unfolding details:这里我们设置 x t = 0 x^t = 0 ( c h o o s e   x t = 0 ,     t choose\ x^t = 0,\ \forall\ t )。此外,我们还设置了 S l 0 = 0 S_l^0 = 0 的值为拥有skip connection的卷积操作。它会吧LR图片转换到期望的特征空间内。另外,设置 S h 0 = 0 S^0_h = 0 ,最终,我们会使用Deep supvervision来做出HR的预测,下面会进行讨论。
f i n p u t ( x t ) = 0 f_{input}(x^t)=0

Deep supervision:DSRN有能力在每一个时间 t t 内做出预测,记为:
y ^ t = f o u t p u t ( s h t ) \widehat{y}^t = f_{output}(s_h^t)
所以,最终的预测即为:
I ^ h = 1 T t = 1 T y ^ t \widehat{I}_h = \frac{1}{T}\sum_{t=1}^{T}\widehat{y}^t
因此,每一个展开层会直接连接到每一个 l o s s loss 层来促进训练,此外,该模型会预测残差图片,并且会使得 M S E MSE 最小化。
ζ ( I ^ h , I h ) = 1 2 I ^ h r i 2 \zeta(\widehat{I}_h,I_h) = \frac{1}{2}\parallel {\widehat{I}_h} -r_i\parallel ^2
其中, I h I_h g r o u n d   t r u t h ground\ truth ,并且 r i = I h b i c u b i c ( I l ) r_i = I_h - bicubic(I_l) g r o u n d t r u t h ground truth 和三线性插值 b i c u b i c ( I l ) bicubic(I_l) 之间的残差。

6. 实验

7. 总结

在这篇论文中,我们提供了一种独特的公式,将许多最先进的SR模型表示为具有各种递归函数的单态RNN的有限展开。基于此,我们通过考虑一个双状态的设计来拓展已经存在的方法。我们提出的DSRN中的两个隐状态在两个不同的空间分辨率中进行操作。一个用来获取LR信息,另外一个获取HR域的信息。为了确保这两种状态之间的信息交流,我们融入了一种delayed feedback(反馈延迟机制)。因此,从LR状态和HR状态中获取的预测特征就可以共同的挖掘出来,进而做最终的预测。

发布了29 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/HaoTheAnswer/article/details/87877448
今日推荐