cvpr2018 Scale-recurrent Network
Abstract
在单图像去模糊中,“粗到细”方案,即在金字塔中的不同分辨率上逐渐恢复清晰图像,在传统的基于优化的方法和最近的基于神经网络的方法中都是非常成功的。 在本文中,我们研究了这种策略,并为此去模糊任务提出了SRN-DeblurNet。 与[25]中最近的许多基于学习的方法相比,它具有更简单的网络结构,更少的参数并且更容易训练。 我们在具有复杂运动的大规模去模糊数据集上评估我们的方法。 结果表明,我们的方法可以在数量和质量上产生比现有技术更好的质量结果。
1. Introduction
- Introduction
基于学习的方法也被提出用于去模糊。 早期方法用传统框架中的一些模块或步骤替换学习参数以利用外部数据。 最近的工作开始使用端到端的可训练网络进行图像和视频去模糊。 其中,Nah等人使用多尺度卷积神经网络(CNN)获得了最先进的结果。 他们的方法从模糊图像的非常粗糙的比例开始,并且以更高的分辨率逐渐恢复潜像,直到达到全分辨率。 该框架遵循传统方法中的多尺度机制,其中粗到细管道在处理大模糊内核时是常见的。
在本文中,我们探索了一种更有效的多尺度图像去模糊网络结构。 我们提出SRN,它讨论并解决了基于CNN的去模糊系统中的两个重要和一般问题。
Scale-recurrent Structure:在成熟的多尺度方法中,每个尺度下的求解器及其参数通常是相同的。 这在直觉上是一种自然的选择,因为在每个尺度中我们都旨在解决相同的问题。 还发现,在每个尺度上变化的参数可能引入不稳定性并导致不受限制的解空间的额外问题。 另一个问题是输入图像可能具有不同的分辨率和运动比例。 如果允许每个比例中的参数调整,则解决方案可能过度拟合到特定的图像分辨率或运动比例。
出于同样的原因,我们认为该方案也应该应用于基于CNN的方法。 然而,最近的级联网络仍然为它们的每个尺度使用独立的参数。 在这项工作中,我们建议跨尺度共享网络权重,以显着降低训练难度,并引入明显的稳定性好处。
优点是双重的。 首先,它明显减少了可训练参数的数量。 即使使用相同的训练数据,共享权重的重复利用也会以类似于多次使用数据来学习参数的方式工作,这实际上相当于关于比例的数据增加。 其次,我们提出的结构可以包含循环模块,其隐藏状态隐含地捕获有用信息并有利于跨规模恢复。
Encoder-decoder ResBlock Network
最近成功的编码器 - 解码器结构对于各种计算机视觉任务的启发,我们探索了使其适应图像去模糊任务的有效方法。 在本文中,我们将展示直接应用现有的编码器 - 解码器结构不能产生最佳结果。 相反,我们的编码器 - 解码器ResBlock网络放大了各种CNN结构的优点,并为训练提供了可行性。 它还产生一个非常大的感受野,这对于大动作去模糊是至关重要的。
我们的实验表明,通过循环结构并结合上述优点,我们的端到端深度图像去模糊框架可以极大地提高训练效率(≈1/ 4训练时间[25]来完成类似的恢复)。 我们只使用不到1/3的可训练参数,测试时间更快。 除了训练效率之外,我们的方法还可以在数量上和质量上产生比现有方法更高质量的结果,如图1所示,并在后面详细说明。 我们将此框架命名为scale-recurrent network(SRN)。 -
Related Work
在本节中,我们将简要回顾图像去模糊方法和最近用于图像处理的CNN结构。
Image/Video Deblurring:在Fergus等人的开创性工作之后。 [12]和Shan等人。 [29],提出了许多去模糊方法,以恢复质量和对不同情况的适应性。 自然图像先验被设计用于抑制伪影并提高质量。 它们包括总变差(TV)[3],稀疏图像先验[22],重尾梯度先验[29],超拉普拉斯先验[21],l 0 - 范数梯度先验[38]等。其中大多数 传统方法遵循粗到精的框架。 例外情况包括频域方法[8,14],它们仅适用于有限的情况。
图像去模糊也受益于深度CNN的最新进展。 Sun等人使用该网络来预测模糊方向。 Schuler等人以粗到精的方式堆叠多个CNN以模拟迭代优化。 Chakrabarti预测了频域中的反卷积核。 这些方法遵循传统框架,将几个部分替换为CNN版本。 苏等人。 使用具有跳过连接的编码器 - 解码器网络来学习视频去模糊。 Nah等人训练了一个多尺度的深度网络来逐步恢复清晰的图像。 这些端到端方法通过不同的结构使用多尺度信息。
CNNs for Image Processing
与分类任务不同,图像处理网络需要特殊设计。 作为最早的方法之一,SRCNN使用3个扁平卷积层(具有相同的特征映射大小)来实现超分辨率。 U-net产生了改进(如图2(a)所示),也称为编码器 - 解码器网络,它大大提高了回归能力,并广泛应用于最近的FlowNet工作,视频去模糊视频超分辨率,帧合成等。多尺度 CNN和级联细化网络(CRN)[4](图2(b))通过从非常小的规模逐步改进输出来简化训练。 它们分别在图像去模糊和图像合成方面是成功的。 图2(c)显示了一种不同的结构[5],它使用扩张的卷积层,其速率增加,近似于增加的核尺寸。
模型 -
Network Architecture
我们称之为SRN-DeblurNet的所提出网络的整体架构如图3所示。它将从输入图像以不同比例下采样的一系列模糊图像作为输入,并产生一组相应的清晰图像。 全分辨率的尖锐图像是最终输出。
figure3
图片.png
其中i是比例指数,i = 1代表最精细的比例。 Bi,Ii是分别在第i级的模糊和估计的潜像。 Net SR是我们提出的规模递归网络,其训练参数表示为θSR。
由于网络是循环的,因此隐藏状态特征hi会跨越尺度。 隐藏状态捕获来自先前较粗尺度的图像结构和内核信息。(·)↑是从第(i-1)尺度到第i尺度调整特征或图像的算子。
方程(1)给出了网络的详细定义。 实践中,网络设计具有极大的灵活性。 首先,循环网络可以采用不同的形式,如香草RNN,长短期记忆(LSTM)[16,36]和门控复发单位(GRU)[7]。 我们选择ConvLSTM [36],因为我们发现它在我们的实验中表现更好,将在Sec。 4.其次,运算符(·)↑的可能选择包括反卷积层,子像素卷积[30]和图像大小调整。 我们在所有实验中都使用双线性插值来实现其充分性和简单性。 第三,需要适当地设计每个规模的网络,以便在恢复清晰图像时获得最佳效果。 我们的方法将在以下部分详述。
3.2. Encoder-decoder with ResBlocks
Encoder-decoder Network:编码器 - 解码器网络指的是那些首先逐渐将输入数据变换为具有较小空间大小和更多信道(编码器)的特征映射的对称CNN结构,然后将它们变换回输入(解码器)的形状。 编码器解码器中的相应特征映射之间的跳过连接被广泛用于组合不同级别的信息。 它们还有利于梯度传播并加速收敛。 通常,编码器模块包含具有步幅的若干级卷积层,并且解码器模块使用一系列去卷积层或调整大小来实现。 在每个级别之后插入附加的卷积层以进一步增加深度。
已经证明编码器 - 解码器结构在许多视觉任务中是有效的。 但是,出于以下考虑,直接使用编码器 - 解码器网络不是我们任务的最佳选择。
首先,对于去模糊的任务,感受野需要很大以处理严重的运动,导致编码器/解码器模块堆叠更多级别。 但是,在实践中不推荐使用此策略,因为它会使用大量中间要素通道快速增加参数数量。 此外,中间特征图的空间大小太小,无法保留重建的空间信息。 其次,在编码器/解码器模块的每个级别添加更多卷积层将使网络收敛缓慢(在每个级别具有平坦卷积)。 最后,我们提出的结构需要内部隐藏状态的循环模块。
Encoder/decoder ResBlock 我们进行了一些修改以使编码器 - 解码器网络适应我们的框架。 首先,我们通过引入残差学习块来改进编码器/解码器模块[15]。 根据[25]的结果以及我们的大量实验,我们选择使用ResBlocks而不是ResNet [15]中的原始构建块(没有批量规范化)。 如图3所示,我们提出的编码器重新锁定(EBlocks)包含一个卷积层,后跟几个ResBlock。卷积层的步幅是2.它将前一层的内核数量加倍,并将特征映射下采样到一半。 以下每个ResBlock包含2个卷积层。 此外,所有卷积层都具有相同数量的内核。 解码器ResBlock(DBlocks)与EBlock对称。 它包含几个ResBlocks,后跟1个反卷积层。 解卷积层用于使特征图的空间大小加倍并使通道减半。
图片.png
其中NetE和Net D是具有参数θE和θD的编码器和解码器CNN。 EBlock和DBlock的3个阶段分别用于Net E和Net D. θLSTM是ConvLSTM中的参数。 隐藏状态h我可能包含有关中间结果和模糊模式的有用信息,这些信息将传递到下一个比例并有益于精细问题。
此处指定模型参数的详细信息。 我们的SRN包含3个阶段。 第(i + 1)标度是第i标度的一半。 对于编码器/解码器ResBlock网络,有1个InBlock,2个EBlock,接着是1个卷积LSTM块,2个DBlock和1个OutBlock,如图3所示.InBlock产生32通道特征映射。 OutBlock将先前的特征图作为输入并生成输出图像。 每个EBlock / DBlock内的所有卷积层的内核数量是相同的。 对于EBlock,内核的数量分别为64和128。 对于DBlock,它们是128和64.EBlocks和反卷积层中卷积层的步幅大小是2,而所有其他层都是1.整流线性单位(ReLU)用作所有层的激活函数,以及所有内核大小 设置为5。
3.3. Losses
我们对网络输出和地面实况之间的每个尺度使用欧几里德损失(使用双线性插值下采样到相同尺寸)
图片.png
4.1. Multi-scale Strategy
5.Conclusion