0
点赞
收藏
分享

微信扫一扫

【论文翻译】Image Super-Resolution Using Deep Convolutional Networks

Image Super-Resolution Using Deep Convolutional Networks

INTRODUCTION

单一图像的超分辨率(SR,super-resolution ),旨在从单一的低分辨率图像中恢复出高分辨率的图像,是计算机视觉中的一个经典问题。这个问题本质上是不成立的(ill-posed),因为对于任何给定的低分辨率像素,都存在多种解决方案。

换句话说,这是一个欠定的(underdetermined)逆向问题,其解决方案不是唯一的。这样的问题通常是通过强有力的先验信息来约束解空间来缓解的。为了学习先验信息,目前最先进的方法大多采用基于实例(example-based)的策略[44]。这些方法要么利用同一图像的内部相似性,要么基于外部低分辨率图像和高分辨率图像组成的样本对(exemplar pairs)之间的映射函数(mapping functions)。基于外部实例的方法可以为一般的图像超分辨率而制定,也可以根据提供的训练样本,设计成适合特定领域的任务,例如:人脸幻想(face hallucination)。

基于稀疏编码(sparse-coding-based, SC)方法,是基于外部实例的SR方法中具有代表性的方法之一。此方法涉及其解决流程中的几个步骤。首先,从输入图像中密集裁剪出重叠的小块并进行预处理(减去均值和归一化)。然后用一个低分辨字典对这些图像块进行编码。得到稀疏系数,再利用高分辨率字典重建对应的高分辨率图像块,最后对这些重叠的重构图像块(reconstructed patches)进行组合(例如权值平均)得到最终的输出。这个流程(pipeline)被大多数外部基于实例的方法共享,它们特别注意学习和优化字典,或者构建高效的映射函数。然而,这个流程中的其他步骤很少被优化或者在一个统一的优化框架中考虑。

在本文中,我们证明了上述处理流程等价于深度卷积神经网络。基于这一事实,我们考虑一种卷积神经网络,它可以直接学习低分辨率和高分辨率图像之间的端到端映射。我们的方法与现有的基于外部例子的方法有很大的不同,我们的方法没有明确地学习字典或为图片空间(patch space)建模。这些都是通过隐藏层隐含实现的。此外,图像(patch)的提取和聚集也被表述为卷积层,所以也参与了优化。在我们的方法中。 整个SR解决流程完全通过学习获得,几乎没有前/后处理。我们将提出的模型命名为超分辨率卷积神经网络(SRCNN,super-resolution convolutional neural network)

SRCNN有几个特点:首先,它的结构被有意地设计得简单,但与最先进的基于实例的方法相比,它提供了更高的准确性。其次,适度数量的filter和layer,我们的方法达到快速的实际在线使用,即使在CPU上。我们的方法比许多基于实例的方法更快,因为它是完全前馈的(fully feed-forward),在使用上不需要解决任何优化问题。第三,实验表明,(i)数据集更大、更多样化时,(ii)使用更大、更深入的模型时,网络的恢复质量可以进一步提高。相反,更大的数据集/模型会给现有的基于实例的方法带来挑战。此外,该网络可以同时处理三通道彩色图像,以提高超分辨率性能。总体而言,本研究的贡献主要体现在三个方面:

(1)我们提出了一个全卷积神经网络的图像超分辨率。该网络直接学习低分辨率和高分辨率图像之间的端到端映射,除了优化外,几乎没有预处理/后处理。(2)我们建立了基于深度学习的SR方法与传统的基于稀疏编码的SR方法之间的关系。这种关系为网络结构的设计提供了指导。(3)我们证明了深度学习在经典的超分辨率计算机视觉问题中是有用的,并且可以获得良好的质量和速度。

这项工作的早期版本已经发布,我们这次在之前的基础上做了改动:首先,我们通过在非线性映射层中引入更大的滤波器(filter)尺寸来改进SRCNN,并通过添加非线性映射层来探索更深层次的结构。其次,扩展了SRCNN,能同时处理三个颜色通道(YCbCr或RGB颜色空间);实验表明,与单通道网络相比,该网络的性能得到了改善。第三,在最初的结果中加入了大量新的分析和直观的解释。我们也扩充了原始实验的数据集。此外,我们比较了一些最近发布的方法,并确认我们的模型仍然优于使用不同评估指标的现有方法。
在这里插入图片描述
三种方法的对比。所提出的超分辨率卷积神经网络仅经过少量的训练迭代就超过了Bicubic,在适度训练的情况下,其性能优于sparse-coding-based方法。更多的训练迭代可以进一步提高性能。

RELATED WORK

2.1 Image Super-Resolution

According to the image priors, single-image super resolution algorithms can be categorized into four types—prediction models, edge based methods, image statistical methods and patch based (or example-based) methods.

根据图像的先验知识,单图像超分辨率算法可分为四种类型:预测模型、基于边缘的方法、图像统计方法和基于patch(或基于实例)的方法。

2.1这一节主要就是介绍了一些现有的研究成果以及方法的局限性。

2.2 Convolutional Neural Networks (CNN)

卷积神经网络的广泛应用得益于三个因素:(1)GPU的加速(2)ReLU的提出(3)丰富的数据集

2.3 Deep Learning for Image Restoration

介绍了一些深度学习用来图像恢复的研究

CONVOLUTIONAL NEURAL NETWORKS FOR SUPER-RESOLUTION

3.1 Formulation

考虑一个低分辨率的图像,我们首先使用bicubic插值将其提升到所需的大小,这是我们执行的唯一预处理。得到的图像我们用Y表示,我们的目标是从Y重建一幅高分辨图像F(Y),使其尽可能于高分率真值图像X相似。为了便于表达,我们仍然称Y为“低分辨率”图像,尽管它与x的大小相同。我们希望学习映射F,它在概念上包含三个操作:

(1)图像块( Patch)的提取和表示:该操作从低分辨率图像Y中提取(重叠的)patch,并将每个patch表示为高维向量。这些向量构成一组特征图,特征图的个数等于向量的维数。(2)非线性映射:这个操作将每个高维向量非线性地映射到另一个高维向量上。每个映射向量在概念上表示一个高分辨率的patch。这些向量构成了另一组特征图。(3)重建:该操作将上述高分辨率的patch-wise表示集合起来,生成最终的高分辨率图像。这个图像被期望与真值X相似。

这三个操作构成一个卷积神经网络。如图所示:


给定一个低分辨率的图像Y, SRCNN的第一卷积层提取一组特征图。第二层将这些特征映射非线性地映射到高分辨率的patch表示。最后一层结合了一个空间区域内的预测,生成最终的高分辨率图像F(Y)。

3.1.1 Patch Extraction and Representation

一种流行的图像恢复策略是密集提取小块,然后用一组预先训练的基(如PCA、DCT、Haar等)表示它们。这相当于用一组滤波器对图像进行卷积,每个滤波器都是一组基。在我们的公式中,我们将这些基的优化纳入到网络的优化中。形式上,我们的第一层被表示为一个操作 F 1 F_1 F1:
F 1 ( Y ) = m a x ( 0 , W 1 ∗ Y + B 1 ) F_1(Y)=max(0,W_1*Y+B_1) F1(Y)=max(0,W1Y+B1)
其中,W1和B1分别表示滤波器和偏置,*表示卷积。这里 W 1 W_1 W1对应 n 1 n_1 n1个filter,每个filter是 c × f 1 × f 1 c \times f_1 \times f_1 c×f1×f1,c是通道数, f 1 f_1 f1是滤波器尺寸。经过卷积之后我们就得到 n 1 n_1 n1个特征图。接着我们对卷积结果应用ReLU( m a x ( 0 , x ) max(0,x) max(0,x))。

3.1.2 Non-Linear Mapping

第一层为每个patch提取一个 n 1 n_1 n1维的特征。在第二个运算中,我们将每个 n 1 n_1 n1维的向量映射为一个 n 2 n_2 n2维的向量。这等价于使用 n 2 n_2 n2个滤波器,其中每个滤波器只对应 1 × 1 1 \times 1 1×1的空间位置。当然这种解释只适用于尺寸 1 × 1 1 \times 1 1×1的滤波器。但是对于大的滤波器, 3 × 3 3 \times 3 3×3 5 × 5 5 \times 5 5×5,非线性映射不是对应图像块,而是对应特征图中的 3 × 3 3 \times 3 3×3 , 5 × 5 5 \times 5 5×5“块”。这一步可以看做下面的卷积
F 2 ( Y ) = m a x ( 0 , W 2 ∗ F 1 ( Y ) + B 2 ) F_2(Y)=max(0,W_2*F_1(Y)+B_2) F2(Y)=max(0,W2F1(Y)+B2)
其中 W 2 W_2 W2包含 n 2 n_2 n2个滤波器,每个尺寸是 n 1 × f 2 × f 2 n_1 \times f_2 \times f_2 n1×f2×f2。这样就得到了一个 n 2 n_2 n2维向量,对应高分辨率图像块。我们可以添加更多的卷积层来增加非线性。但这可能会增加模型的复杂性(一层的参数是 n 2 × f 2 × f 2 × n 2 n_2 \times f_2\times f_2 \times n_2 n2×f2×f2×n2),因此需要更多的训练时间。

3.1.3 Reconstruction

在传统的方法中,通常将预测的重叠高分辨率图像块进行平均,得到最终的完整图像。这个平均操作你可以看作是对一组特征图( feature maps)的一个预先定义的滤波器(predefined filter )。(每个位置都是高分辨图像块的展平(flattened)形式),基于此,我们定义了一个卷积层来生成最终的高分辨率图像:
F ( Y ) = W 3 ∗ F 2 ( Y ) + B 3 F(Y)=W_3*F_2(Y)+B_3 F(Y)=W3F2(Y)+B3
这里的 W 3 W_3 W3对应的是 c c c个filter大小为 n 2 × f 3 × f 3 n_2\times f_3 \times f_3 n2×f3×f3 B 3 B_3 B3是一个c维的vector。

我们将这三种操作放在一起,形成一个卷积神经网络。在这个模型中,我们将对所有的滤波权值和偏差进行优化。

3.2 Relationship to Sparse-Coding-Based Methods

这一节将的是,基于稀疏编码(sparse-coding-based)的方法可以被证明等价于一个卷积神经网络。

3.3 Training

Loss函数采用MSE(Mean Squared Error ,均方差)。利用随机梯度下降(stochastic gradient descent)和标准反向传播(standard backpropagation)来最小化Loss。

4.EXPERIMENTS

4.1 Training Data
作为对比,我们使用了一个较小的训练集(91张图),和一个较大的训练集(来自ILSVRC2013 ImageNet detection partition的395909张图)。性能对比如下:
在这里插入图片描述

4.2 Learned Filters for Super-Resolution

举报

相关推荐

0 条评论