购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 基于卷积神经网络的图像超分辨率方法

基于卷积神经网络的图像超分辨率(Super-Resolution CNN, SRCNN)方法是深度学习在图像超分辨率任务上的开山之作,它表明深度学习在图像超分辨率上的应用能够超越传统的插值方法等。

2.4.1 研究背景

单图像超分辨率是计算机视觉中的一个经典问题。目前,最先进的单图像超分辨率方法大多基于实例。这些方法基本利用同一图像的内部相似性或从外部低分辨率和高分辨率样本中学习映射函数。基于外部实例的方法通常具有丰富的样本,但难以对数据进行有效且紧凑的建模。

稀疏编码是基于外部实例的图像超分辨率方法之一。该方法涉及以下步骤:首先,从图像中密集提取重叠图像块并进行预处理;其次,用低分辨率字典对这些图像块进行编码;再次,将稀疏系数传递到高分辨率字典中,用于重构高分辨率补丁;最后,聚合(或平均)重叠的重构块以产生输出。以前的图像超分辨率方法专注于对字典的学习和优化。然而,该流程中的其他步骤很少能在统一的优化框架中得到充分考虑和优化。

以上述内容为出发点,SRCNN可以直接学习低分辨率图像和高分辨率图像之间的端到端映射。SRCNN与现有的基于外部实例的方法有根本区别,它不明确地学习字典或流形,而通过隐层隐式地对图像块空间进行建模。此外,可以根据像素映射方式获得高分辨像素,完成高质量图像重建。

2.4.2 网络结构

首先,使用双三次差值对低分辨率图像进行扩大倍数操作。然后,SRCNN从插值后的图像 Y 中恢复图像 F Y ),使得图像 F Y )尽可能与真实高分辨率图像 X 相似。尽管 Y X 具有相同的尺寸,为了便于表示,仍然称 Y 为低分辨率图像,尽管它与 X 具有相同的尺寸。待学习映射 F 由以下3个操作组成。

(1) 图像块的提取 。该操作从低分辨率图像 Y 中提取(重叠)图像块,并将每个图像块表示为高维向量。这些向量由一组特征映射组成,特征映射的数量等于向量维数。

(2) 非线性映射 。该操作将每个高维向量非线性映射到另一个高维向量。每个映射向量都代表一个高分辨率图像块的表示,这些向量构成了另一组特征映射。

(3) 重构 。该操作将上述高分辨率图像块的表示进行聚合,生成最终的高分辨率图像,该图像与真实高分辨率图像 X 接近。

这些操作被整合成一个卷积神经网络,深度网络的图像超分辨率方法如图2-18所示。下面详细介绍各操作。给定一幅低分辨率图像 Y ,SRCNN的第一层提取一组特征映射,第二层通过非线性映射将这些特征映射成高分辨率图像块,最后一层结合空间邻域内的预测生成最终的高分辨率图像 F Y )。

图2-18 深度网络的图像超分辨率方法

图像块的提取 :流行的图像复原策略是密集地提取图像块,并用一组预训练的基来表示这些图像块,相当于用一组滤波器对图像进行卷积操作,每个滤波器都是一个基。其中,第一层操作可以表示为

式中, W 1 B 1 分别表示滤波器与偏置项。 W 1 的大小为 c × f 1 × f 1 × n 1 c 为输入图像通道数, f 1 为卷积核空间大小, n 1 为卷积核个数。 W 1 在图像上应用 n 1 次卷积,每次卷积由一个大小为 c × f 1 × f 1 的卷积核完成,其输出由 n 1 个特征映射组成。 B 1 是一个 n 1 维向量,它的每个元素都与一个卷积核相关。此外,还需要通过ReLU进行非线性特征提取。

非线性映射 :网络第一层为每个图像块提取了一个 n 1 维特征( n 1 维向量)。第二层将 n 1 维向量映射到 n 2 维向量。这相当于应用 n 2 个大小仅为1×1的卷积核。第二层操作可以表示为

式中, W 2 的大小为 n 1 ×1×1× n 2 B 2 是一个 n 2 维向量。每个输出的 n 2 维向量都表示用于重构的高分辨率图像块。可添加更多的卷积层(卷积核大小为1×1)来提高网络的非线性能力,但这会使模型的复杂度大大提高。

重构 :传统方法通常需要对预测的重叠高分辨率图像块进行均值处理以产生最终的完整图像。均值处理可以被认为是一组特征映射上的预定义滤波器(其中每个位置都是高分辨率图像块的“扁平”向量形式)。受此启发,定义一个卷积层生成的最终的高分辨率图像

式中, W 3 的大小是 n 2 × f 3 × f 3 × c B 2 n 2 维向量; B 3 c 维向量。

如果将高分辨率图像块表示在图像域中(简单地重构每个高分辨率图像块的表示形式),则期望 W 3 的行为更类似于平均滤波器;如果将高分辨率图像块表示在其他域中(一些基的系数),则期望 W 3 的行为类似于先将系数投影到图像域再进行平均。无论采用哪种方式, W 3 都是一组线性滤波器。

尽管上述3个操作分别是在不同直觉的驱使下完成的,但都不约而同地导致了与卷积层相同的形式。将这3个操作组合起来就形成了一个卷积神经网络,在SRCNN网络中,所有卷积核的权重和偏置值都需要进行优化。使用PyTorch实现SRCNN的示例代码如算法2-8所示。

2.4.3 实验结果

在不同的上采样因子下,各类方法在Set5和Set14数据集上的PSNR与运行时间分别如表2-4与表2-5所示。这些方法包括BiCubic、稀疏编码(Sparse coding, SC)、K-奇异值分解(K-Singular Value Decomposition, K-SVD)、邻近嵌入+非局部线性嵌入(Neighbour Embedding+Non-Negative Least Squares, NE+NNLS)、邻近嵌入+局部线性嵌入(Neighbour Embedding+Locally Linear Embedding, NE+LLE)、锚定邻域回归(Anchored Neighbourhood Regression, ANR)和SRCNN。由表2-4和表2-5可知,SRCNN在所有实验中都取得了最高的PSNR。如表2-4所示,SRCNN相较于ANR的增益分别为0.51dB、0.47dB和0.4dB,即在上采样因子为2、3、4时都高于次优方法ANR。由于测试样本数量有限,所以Set5数据集可能不是一个能下定论的测试集,但结果表明,在更大的Set14数据集上,SRCNN相较于其他方法更有竞争力,如表2-5所示。当将SSIM作为性能指标时,可以观察到类似的结果。此外,在适度的训练下,SRCNN的性能优于现有最先进的方法,但是其还没有收敛,因此推测:训练时间越长,效果越好。在ImageNet上训练的SRCNN和其他方法在Set5数据集上的平均PSNR如图2-19所示。

表2-4 各类方法在Set5数据集上的PSNR(dB)与运行时间(s)

续表

表2-5 各类方法在Set14数据集上的PSNR(dB)与运行时间(s)

图2-19 在ImageNet上训练的SRCNN和其他方法在Set5数据集上的平均PSNR值

图2-20~图2-23显示了不同方法在上采样因子为3时对不同图像的超分辨率效果。可以观察到,与其他方法相比,SRCNN能够产生更清晰的边缘,且在图像上没有明显的伪影。虽然SRCNN具有最高的平均PSNR,但在处理来自Set5数据集的婴儿图像时没有达到最高的PSNR。尽管如此,SRCNN在视觉上具有竞争力,如图2-23所示。

图2-20 不同方法在3倍下对Set14数据集的辣椒图像进行处理的超分辨率效果

图2-21 不同方法在3倍下对Set5数据集的蝴蝶图像进行处理的超分辨率效果

图2-22 不同方法在3倍下对Set5数据集的鸟图像进行处理的超分辨率效果

图2-23 不同方法在3倍下对Set5数据集的婴儿图像进行处理的超分辨率效果

2.4.4 研究意义

SRCNN是图像超分辨率领域的开创性深度学习方法。该方法引入了一种新的单图像超分辨率深度学习技术,并指出传统的稀疏编码方法可以被重新表述为深度卷积神经网络的形式。SRCNN通过学习低分辨率图像和高分辨率图像之间的端到端映射来实现目标。SRCNN具有轻量化结构,通过探索网络中更多的隐层/滤波器,以及采用不同的训练策略,可进一步提升其性能。此外,SRCNN的结构还具有简洁和鲁棒性强的优点,可用于处理其他底层视觉问题,如图像去模糊或SR+去噪等,还有助于研究一个网络,以应对不同的上采样因子。 Zj7NT8akCqx5YN2Ax/RS0+jn/WsQD5Xjd2gnY0/G54jO85v0ct7HZj4NBw+5PVGj

点击中间区域
呼出菜单
上一章
目录
下一章
×