大数跨境
0
0

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

底层任务超详细解读 (一):模糊核迭代校正盲超分方法 IKC 极市平台
2022-08-20
2
导读:新的解读系列开启~
↑ 点击蓝字 关注极市平台

作者丨科技猛兽
编辑丨极市平台

极市导读

 

本文是对超分辨方向经典工作的解读,本文提出一种迭代核估计方法用于盲超分中的模糊核估计,它比直接核估计获得了更好的结果。作者们进一步提出了一种有效的 SR 网络架构,使用空间特征变换 (SFT) 层来处理多个模糊内核,称为 SFTMD。对合成图像和真实世界图像的大量实验表明,所提出的带有 SFTMD 的 IKC 方法可以提供视觉上有利的 SR 结果和盲 SR 问题的最新性能。 >>【极市平台 x VALSE2022 CV开发者之夜】非正式交流晚宴向您发出邀请!🌟🌟🌟来现场朋友请戳此报名:https://sourl.cn/eiRQ84

本文目录

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 为了准确地估计模糊核 , 设计一个校正函数 , 它测量估计的模糊核 和真值之间的差异。先 训练好超分模型, 之后迭代训练预测器和校正器若干次, 得到模糊核的一个较为准确的估计。最后 借助这个模糊核完成超分的任务。


公众号后台回复“数据集”获取100+深度学习数据集下载~

△点击卡片关注极市平台,获取最新CV干货
极市干货
数据集资源汇总:10个开源工业检测数据集汇总21个深度学习开源数据集分类汇总
算法trick目标检测比赛中的tricks集锦从39个kaggle竞赛中总结出来的图像分割的Tips和Tricks
技术综述:一文弄懂各种loss function工业图像异常检测最新研究总结(2019-2020)


极市平台签约作者#


科技猛兽

知乎:科技猛兽


清华大学自动化系19级硕士

研究领域:AI边缘计算 (Efficient AI with Tiny Resource):专注模型压缩,搜索,量化,加速,加法网络,以及它们与其他任务的结合,更好地服务于端侧设备。


作品精选

搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了
用Pytorch轻松实现28个视觉Transformer,开源库 timm 了解一下!(附代码解读)
轻量高效!清华智能计算实验室开源基于PyTorch的视频 (图片) 去模糊框架SimDeblur



投稿方式:
添加小编微信Fengcall(微信号:fengcall19),备注:姓名-投稿
△长按添加极市平台小编

觉得有用麻烦给个在看啦~  


【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读9.6k
粉丝0
内容8.2k