Press "Enter" to skip to content

底层任务超详细解读 (一):模糊核迭代校正盲超分方法 IKC

作者丨科技猛兽

 

本文目录

 

1 模糊核迭代校正盲超分方法 IKC

 

1.1 盲超分任务介绍

 

1.2 退化核的迭代校正方法 IKC

 

1.3 IKC 框架

 

1.4 模型架构

 

1.5 预测器和校正器架构

 

1.6 IKC 训练过程

 

1.7 IKC 实验结果

 

1 退化核迭代校正盲超分方法 IKC

 

论文名称:Blind Super-Resolution With Iterative Kernel Correction (CVPR 2019)

 

论文地址:

 

https://arxiv.org/pdf/1904.03377.pdf

 

1.1 盲超分任务介绍

 

作为基本的 low-level 视觉问题,单图像超分辨率 (SISR) 越来越受到人们的关注。SISR 的目标是从其低分辨率观测中重建高分辨率图像。目前已经提出了基于深度学习的方法的多种网络架构和超分网络的训练策略来改善 SISR 的性能。顾名思义,SISR 任务需要两张图片,一张高分辨率的 HR 图和一张低分辨率的 LR 图。超分模型的目的是根据后者生成前者,而退化模型的目的是根据前者生成后者。经典超分任务 SISR 认为: 低分辨率的 LR 图是由高分辨率的 HR 图经过某种退化作用得到的,这种退化核预设为一个双三次下采样的模糊核 (downsampling blur kernel)。 也就是说,这个下采样的模糊核是预先定义好的。但是,在实际应用中,这种退化作用十分复杂,不但表达式未知,而且难以简单建模。双三次下采样的训练样本和真实图像之间存在一个域差。以双三次下采样为模糊核训练得到的网络在实际应用时,这种域差距将导致比较糟糕的性能。这种 退化核未知的超分任务我们称之为盲超分任务 (Blind Super Resolution) 。

 

一种简单直接的方式是我们把这种退化作用假设为一种具体的下采样模糊核,不管它真实的退化作用是什幺,一律按照我们假设的下采样模糊核来计算和求解。这样的做法十分方便,但是明显是不完美的,因为 图片真实的退化核和我们假设的退化核是不匹配的 (kernel mismatch) 。这种 kernel mismatch 现象的直接结果如下图1所示。

 

下图1展示了 kernel mismatch 的 SISR 结果。其中为真实图片的模糊核,为我们预设的 模糊核。可以发现:

 

当我们预设的模糊核比图片真实的模糊核更锐利的时候, 超分的结果明显是过 平滑的 (over-smoothing), 且高频纹理部分出现了明显的模糊 ( significantly blurred)。

 

当我们预设的模糊核比图片真实的模糊核更平滑的时候, 超分的结果显示出过 度增强的高频边缘 (over-enhancing high-frequency edges), 使得结果出现非常不自然的振铃 伪影 (unnatural ringing artifacts)。

 

只有当我们预设的模糊核与图片真实的模糊核相差不大的时候, 超分的结果才 显得自然, 没有伪影和模糊。

 

图1:kernel mismatch 现象的结果

遗憾的是,现有的大多数 SISR 模型对于盲超分任务都是束手无策的,这在很大程度上限制了它们在现实应用中的使用。

 

下面我们首先公式定义盲超分任务: 令和分别代表和图片, 退化模型为:

 

式中,代表卷积操作, 模型主要由 3 部分组成: 模糊核, 下采样操作和附加噪声。前 人工作中最广泛采用的模糊核是各向同性高斯模糊核 (isotropic Gaussian blur kernel)。

 

1.2 退化核的迭代校正方法 IKC

 

在理想状态时, HR 图片首先通过各向同性高斯模糊核进行模糊化, 再通过 bicubic interpolation 进行下采样, 得到图片。我们假设是个训练好的超分模型, 输 入 LR 图片和核信息, 输出没有伪影的图片。盲超分的问题其实就是找到这个能够 产生视觉效果较好的 HR 图片的模糊核。

 

问:如何设计预设的模糊核, 使得输出的超分结果显得真实, 自然, 且没有伪影呢?

 

答:一种直接的解决方案是设计一个预测器 Predictor从 LR 图片中直接预测 得到模糊核。这个预测器可以通过下面的方式进行优化:

 

式中,是预测器的超参数。通过将预测函数和 SISR 模型结合起来, 我们能够建立一个端到 端的盲超分模型。

 

然而, 准确地估计是不可能的。对于单个输入图片存在多个。同时, SISR 模型对估计的误差 非常敏感。如果模糊核估计得不够准确, 则最终的盲超分结果将包含明显的伪影现象。再结合上图 1的发现, 我们认为模糊核的估计误差会被盲超分模型显着放大, 导致输出的图像不够自然。为 了解决模糊核的估计不匹配的问题, 作者提出了一种退化核的迭代校正方法 IKC。

 

IKC 的主要思路是:

 

为了准确地估计模糊核, 设计一个校正函数, 它测量估计的模糊核和真值之间的差异。这 个校正器可以通过下面的方式进行优化:

 

式中,是校正器的超参数。校正器的输入是超分得到的图片, 输出是当前模糊核和 真值之间的差距。经过校正之后, 当前模糊核和真值之间的差距应该会更小。我们也就能够得到新 的超分结果图片。

 

然而, 如果我们只使用一次校正来训练超分模型, 校正器可能会提供不充分的校正或过度校 正, 从而导致不令人满意的盲超分结果。所以作者采用迭代校正的思路, 当超分辨率结果出现严重 的过平滑 (over-smoothing) 或过锐化 (over-sharpening) 效应时, 校正器将对估计的核进行很小的 改变以确保收敛。这样, 通过迭代应用核校正来获得高质量的超分辨率结果。算法如下:

 

图2:IKC 算法

1.3 IKC 框架

 

IKC 框架由下面几个部分组成:超分模型, 模糊核的预测器以及模糊核校正器。设 LR 图 片的维度是。假设模糊核的维度是, 则核空间是一个维度的线性空 间。为了节省计算量, 首先对核空间进行降维。核通过降维矩阵投影到一个维的线 性空间。因此, 我们只需要在这个低维空间中执行估计, 这样可以有效地节约计算量。降维后的 核用表示, 且满足。

 

根据图2中的算法, 第一步通过预测器得到第一次估计的核, 并通过它得到第一次超分结果:

 

。接下来进入迭代校正阶段:

 

次循环之后, 得到最终的超分结果。

 

1.4 超分模型架构

 

经典盲超分模型架构,比如 SRMD。

 

Learning a single convolutional super-resolution network for multiple degradations (CVPR 2018)

 

SRMD 提出了一种简单而有效的拉伸策略 (Stretching Strategy), 用于 CNN 直接处理非图像输入。SRMD 的做法是: 把退化核拉伸成为的第个 channel 的所有值均等于的第个值。SRMD 将 LR 图像与concat 在一起作为输入, 其维度是。之后通过多个卷积层和 upsampling 层完成超分任务。

 

但是这种输入方式可能不是最好的选择:一方面,拉伸之后的退化核实际上并不包含图像的信 息。用卷积运算同时处理退化核和图像会引入与图像无关的干扰。对残差块使用这种拼接策略会干扰图像处理, 使得难以使用残差结构来提高性能。另一方面, 退化核的信息只在第一层考虑, 当网络做得很深的时候, 更深的层很难受到在第一层输入的内核信息的影响。

 

为了解决上述问题, 作者利用空间特征变换 (SFT) 层提出了一种新的盲超分模型, 即 SFTMD。在 SFTMD 中, 退化核通过 SFT 层对每个中间层的 Feature 以仿射变换的形式来影响网络的输出。这种仿射变换不直接参与输入图像的处理, 因此提供了更好的性能。

 

如下图3所示就是 SFTMD 的结构。模型 High-level 的设计与 SRResNet 相同, 只是 Residual Block 内部使用了 SFT 层。SFT层通过缩放和移位操作为退化核特征提供仿射变换:

 

式中,和分别代表 scaling 和 shifting 参数,代表 Hardmard 积。scaling 和 shifting 参数 由一个小的 CNN 得到。

 

假设特征的维度是, 式中是特征的通道数, 退化核的维度是。小的 CNN 将特征与concat 在一起作为输入, 其维度是, 并输出和。

 

SFT 层添加的位置是在一个 Residual Block 的所有卷积层之后,如图3中粉色块所示。

 

图3:超分模型架构

1.5 预测器和校正器架构

 

如下图4所示就是预测器和校正器架构, 所有激活函数都使用 Leaky ReLU activation。预测器就是四个卷积层和一个 Global Average Pooling, 得到模糊核的估计。

 

模糊核校正器的输入是当前超分结果和当前模糊核。当前超分结果通过5个卷积层得到特征, 注意到上一次迭代的结果可能包含由内核不匹配导致的伪影, 这些伪影可以通过卷积层提取。当前模糊核通过2个卷积层得到特征。之后把和concat 在一起之后通过3个卷积层和一个 Global Average Pooling, 得到模糊核偏差的估计。

 

图4:预测器和校正器架构

1.6 IKC 训练过程

 

采用的模糊核是各向同性高斯模糊核 (isotropic Gaussian blur kernel), 核的宽度对于 scale的超分任务分别是, [0.2,4.0]。核的尺寸固定为, 当应用 于真实世界图像时, 再添加的高斯噪声。HR 的训练图片来自 DIV2K 和 Flickr2K, 共包含 3450张高质量分辨率图片。训练集采用的数据增强方式是随机水平翻转和旋转。根据以上 实验设置和 HR 图合成 LR 图,并形成成对的训练集,用于训练超分模型 SFTMD 和 IKC。

 

超分模型 SFTMD 和 IKC 都是用以上的合成数据集及其对应的模糊核来训练的:首先利用 MSE Loss 对 SFTMD 超分模型进行预训练, 然后交替训练模糊核的预测器以及模糊核校正器

 

首先预训练超分模型 SFTMD, 之后交替训练模糊核的预测器以及模糊核校正器。在交替训 练的过程中超分模型 SFTMD 的参数是固定的。对于每个 Batch 的训练数据,作者首先根据2式更新预测器的参数, 再根据3式更新校正器的参数, 迭代7次。训练的具 体流程就是 Algorithm 1 (图2)。优化器使用 Adam,。

 

图5:IKC 训练过程

1.7 IKC 实验结果

 

不同测试集使用的模糊核如下图6所示。作者把 SFTMD 与先进的 SRCNN-CAB 和 SRMD 进行了对比。与全部使用 SRResNet 作为主网络的另外两个基线模型相比,SFTMD 可以获得最佳结果。

 

图6:IKC 实验结果

作者在合成的测试图像上评估了 IKC 的性能。图7显示了校正过程中的中间结果。可以看出,随着迭代校正次数的增加,伪影和模糊逐渐减轻。在第四次迭代中,超分的结果视觉质量已经很好。

 

图7:校正过程中的中间结果

与 SOTA 超分方法和盲超分方法的对比

 

作者对比了一些 SOTA 非盲超分方法和盲超分方法,可以看到当 downsampling kernel 不是 bicubic downsampling kernel 时,普通非盲超分方法出现了严重的性能下降。

 

图8:与 SOTA 超分方法和盲超分方法的对比

图9:与 SOTA 超分方法和盲超分方法的对比

不同模糊核上不同方法的 PSNR 值如图10所示。可以看出,当 kernel width 变大时,之前方法的超分性能会下降。但是所提出的 IKC 方法在所有模糊核下都取得了优异的性能。

 

图10:BSD100 数据集不同模糊核上不同方法的 PSNR 值,SR factor=3

Real Images Set 实验结果

 

除了上述在合成测试图像上的实验之外,作者还在真实图像上进行了实验,以验证所提出的 IKC 和 SFTMD 的有效性。真实图像 (Real Images Set) 没有 GT 的 HR 图片,因此只提供视觉对比。对于真实图像,退化核是未知的且比较复杂,因此 Blind SISR 的性能会受到严重影响。SOTA 的 Blind SISR 方法 ZSSR 也未能提供令人满意的结果。相比之下,IKC 提供了边缘清晰的无伪影超分结果。

 

图10:Real Images Set 实验结果

总结

 

经典超分任务 SISR 认为:低分辨率的 LR 图是由高分辨率的 HR 图经过某种退化作用得到的,这种退化核预设为一个下采样的模糊核 (downsampling blur kernel)。也就是说,这个下采样的模糊核是预先定义好的。但是,在实际应用中,这种退化作用十分复杂,不但表达式未知,而且难以简单建模。这种退化核未知的超分任务我们称之为盲超分任务 (Blind Super Resolution)。IKC 提出了一种退化核的迭代校正方法。它的每次迭代都可以分成2步:

 

第1步: 从 LR 图片中估计模糊核。

 

第2步:根据估计得到的模糊核复原 SR 图片。

 

这样做的缺点是: 第1步带来的微小偏差或者错误将会对第2步的结果带来较大的影响。所以, IKC 为了准确地估计模糊核, 设计一个校正函数, 它测量估计的模糊核和真值之间的差异。先 训练好超分模型, 之后迭代训练预测器和校正器若干次, 得到模糊核的一个较为准确的估计。最后 借助这个模糊核完成超分的任务。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注