该论文发表在2019年IEEE TPAMI。
PDF:Deep learning for Image Super-resolution:A Survey
文章目录
1 Introduction
图像超分辨率适用于将低分辨率的图像恢复至高分辨率,在医疗图像、监控安全系统中应用十分广泛。这篇文章介绍内容的主要框架如下:
2 Problem Setting And Terminology
2.1 Problem Definitions
多数情况下,低分辨率图片LR被建模为由高分辨率图片HR经过向下采样所得到的。
I
x
=
D
(
I
y
;
δ
)
I_x=\mathcal{D}(I_y;\delta)
Ix=D(Iy;δ)
其中
D
\mathcal{D}
D代表下采样方法,最为常用的是双三次插值,
δ
\delta
δ为参数。
然后我们再通过训练SR模型,将LR图片(
I
x
I_x
Ix)作为输入,得到高分辨率图片HR(
I
^
y
\hat I_y
I^y)。
I
^
y
=
F
(
I
x
;
θ
)
\hat I_y=\mathcal{F}(I_x;\theta)
I^y=F(Ix;θ)
其中
F
\mathcal{F}
F代表超分模型,
δ
\delta
δ为参数。
最后,通过计算损失函数
L
(
I
^
y
,
I
y
)
\mathcal{L}(\hat I_y,I_y)
L(I^y,Iy),正则化
Φ
(
θ
)
\Phi(\theta)
Φ(θ)计算调整参数,公式如下。
θ
^
=
a
r
g
θ
m
i
n
L
(
I
^
y
,
I
y
)
+
λ
Φ
(
θ
)
\hat \theta=arg_\theta min \mathcal{L}(\hat I_y,I_y)+\lambda \Phi(\theta)
θ^=argθminL(I^y,Iy)+λΦ(θ)
2.2 Datasets for Super-resolution
超分问题中的常用数据集如下:
2.3 Image Quality Assessment
图像质量指的是视觉属性,侧重于观看者的评价,主要包括基于测评者感受的主观评价和客观计算方法。前者更符合我们的需求,但更耗时费力,因此,后者为目前的主流方法。然而,客观的计算方法也无法准确抓住观看者的主观视觉感受。以下为目前的常用的IQA方法。
峰值信号比(Peak Signal-to-Noise Ratio PSNR)
PSNR通过最大像素值
L
\mathrm{L}
L(一般取255)和图片之间的均方误差(Mean Squared Error)进行计算,公式如下。
此方法仅仅只关注了像素之间的差异而忽略了视觉感知,在真实场景中表现结果可能不好。但是由于缺乏准确的感知指标,PSNR目前仍然是最广泛的IQA评估方法。
结构相似性(Structural Similarity)
基于图片之间的亮度(luminance)、对比度(contrast)和结构(structures)进行图片结构相似性的计算与比较。
对于一张N像素的图片I,亮度(
μ
I
\mu_I
μI)和对比度(
σ
I
\sigma_I
σI)的计算公式如下:
C
l
(
I
,
I
^
)
=
2
μ
I
μ
I
^
+
C
1
μ
I
2
+
μ
I
^
2
+
C
1
\mathcal{C}_l(I,\hat I)= \frac{2\mu_I \mu_{\hat I}+\mathcal{C}_1}{\mu_I^2+\mu_{\hat I}^2+\mathcal{C}_1}
Cl(I,I^)=μI2+μI^2+C12μIμI^+C1
C
c
(
I
,
I
^
)
=
2
σ
I
σ
I
^
+
C
1
σ
I
2
+
σ
I
^
2
+
C
1
\mathcal{C}_c(I,\hat I)= \frac{2\sigma_I \sigma_{\hat I}+\mathcal{C}_1}{\sigma_I^2+\sigma_{\hat I}^2+\mathcal{C}_1}
Cc(I,I^)=σI2+σI^2+C12σIσI^+C1
SSIM的计算公式为:
Mean Opinion Score
MOS是最为常用的主观IQA方法。评测分数从1至5,最后的评测结果取评测者评估分数的均值。
不过这种方式存在固有的缺陷,例如评估标准存在偏差。
Learning-based Perceptual Quality
为了更好的评估图像感知质量,研究员通过在较大的数据集上进行训练,学习如何评估。
基于其他任务进行评估
超分模型通常可以帮助其他视觉任务的进行,基于其他任务进行评估重构质量也是一种高效的方式,包括物体识别、人脸识别等。
2.4 Operating Channels
- RGB
- YCbCr
较早的模型有利于在YCbYr空间操作,最近的模型倾向于RGB通道
2.5 Super-resolution Challenges
- NTIRE Challenge
- PIRM Challenge
3 Supervised Super-resolution
有监督的超分即指在成对的LR和HR图片下进行训练。模型之间存在着较大的差异,但是主要组成部分为模型框架、向上采样的方法、网络设计以及学习策略。
3.1 Super-resolution Frameworks
Pre-upsampling Super-resolution
先使用传统的上采样方法(双三次插值方法较为常用)获得粗HR图像,再将其作为输入采用深度学习的方法重构HR图像细节。
优缺点:需要更大的空间及时间但输入大小可以任意(因为先通过传统方法实现上采样)。
Post-upsampling Super-resolution
为了提高计算效率,充分利用深度学习技术,将LR图片作为输入放入深度学习网络提取特征,然后将上采样层(可带有学习参数)放在最后一层。
优缺点:空间和计算的复杂程度降低,但每一种规模对应单独的模型,需要重新训练。
Progressive Upsampling Super-resolution
为解决后上采样的缺点,基于串联的CNN逐步细化,得到更高的分辨率。
优缺点:将困难的任务简化,降低了学习难度;但是复杂模型训练的稳定性需要先进的训练策略。
Iterative Up-and-down Sampling Super-resolution
目的:更好的捕获LR与HR图像之间的相互依赖关系
方法:融合back-projection(反向投影),计算重构的错误率然后以此调整HR图片
优点:更好的挖掘LR与HR之间的深度关系
缺点:back-projection模型的标准尚不明确
3.2 Upsampling Methods
除了上采样在模型中的位置,上采样的方法也很重要。上采样方法包括传统的插值算法以及基于深度学习的上采样方法。
Interpolation-based Upsampling
- 最近邻插值(Nearest-neighbor Interpolation)
方法:每个要插入像素值的位置选择最近像素值插入
优点:速度较快
缺点:块状结果,结果质量差 - 双线性插值(Bilinear Interpolation)
方法:先在初始像素(蓝色点)的一个轴上执行线性插值(黄色点),然后在另一个轴上执行线性插值(绿色点)
需保证接受场为2*2
优点:比最近邻插值效果好且能保持较快速度 - 双三次插值(Bicubic Interpolation)
方法:在两个维度上进行立方插值
优点:效果更平滑,速度更慢,广泛用于SR数据集的构建
Learning-based Upsampling
- 转置卷积层(Transposed Convolution Layer)
通过插入0像素值并执行卷积操作扩展图片
- 亚像素层(Sub-pixel Layer):对卷积所产生的多个通道进行reshape
优点:较反卷积而言,有更大的感受区域,提供了更多的上下文信息
缺点:不同块的边缘可能会出现相似区域,可能造成不平滑输出 - Meta Upscale Module
目的:解决不同规模的上采样模型需要对应不同参数,训练低效问题。
方法:基于元学习解决任意比例的SR模型-对于HR图像的任意位置,将其投放到LR对应位置,预测卷积权重并执行卷积操作。
优点:可以获得较好的训练效果 缺点:面对较大放大倍数时,效果不佳。
3.3 Network Design
残差学习(Residual Learning)
- 全局残差学习
通过学习残差映射修复高频细节,复杂度滴,学习难度小,广泛应用 - 局部残差学习
用于减轻因不断加深而导致的梯度问题,减轻训练难度,提高学习能力
递归学习(Recursive Learning)
以递归的形式对同一模块应用多次,参数量大大减少。
计算量增大,容易带来梯度爆炸,梯度消失等问题
往往需要结合残差学习和递归学习
多路径学习(Multi-path Learning)
-
全局多路径学习
利用多条路径提取图片不同方面的特征,这些路径可以交叉传播(增强学习能力)。 -
局部多路径学习
MSRN-两个不同的卷积层的输出作为输入连接,然后经过相同的操作,再经过卷积操作得到结果。 -
特殊规模多路径学习
共享中间的特征提取层,不同的路径对应不同的预处理和上采样层,训练时只启动相应路径。
密集连接(Dense Connections)
前面层的特征映射作为输入,该层的特征映射作为后一层的输入
优点:减轻梯度消失,增强信号传播
注意力机制(Attention Mechanism)
-
通道注意力
每一个通道通过全局平均池化(global average pooling)生成一个值,然后经过两个密集层生成特征纬度因素 -
非局部注意力:抓取像素间的长距离依赖
最新的卷积方法
-
空洞卷积(Dilated Convolution):增大感受区域,实现更好的效果
-
分组卷积(Group Convolution):以极小的效果损失为代价减少参数(轻量化CNN)
-
深度可分离卷积(Depthwise Separable Convolution):更高效,减少参数,精度有所损失
逐像素学习(Pixel-recursive Learning)
利用两个网络捕获全局上下文信息以及序列生成依赖关系,再逐像素合成。
优缺点:效果较好,但耗时且训练困难
金字塔池化(Pyramid Pooling)
更好的利用全局和局部上下文关系
小波变换(Wavelet Transformation)
将图片分解为包含上下文细节的高频亚波段以及包含全局拓扑信息的低频亚波段。
优点:减小模型大小以及计算量,并可获得更有竞争力的表现
逆亚像素(Desubpixel)
对亚像素层进行逆操作。
在模型的最开始,采样逆亚像素对输入图片进行下采样,在低维空间进行特征学习,然后再上采样至目标大小。
xUnit
目的:为了使结合空间特征进程和非线性激活函数更高效
方法:一种带有学习参数的激活函数
优点:大大减小模型规模
3.4 Learning Strategies
损失函数
用于测量重构错误率,指导模型优化。通常结合几种损失函数一起使用。
- 像素损失(逐像素的计算差别)
缺点:结果可能缺少高频细节,过于平滑 - Content Loss
目的:计算图片语义质量
方法:采用已训练好的图片分类网络计算语义区别 - Texture Loss
但目前需要匹配纹理的patch大小仍需要经验
- 对抗损失(Adversarial Loss)
将SR模型视为一个生成网络,重新定义一个对抗网络,采用GAN的思想进行训练。
缺点:目前训练较为困难,且不稳定。
- 循环一致性损失(Cycle Consistency Loss)
将重构得到的HR图像通过另一个CNN网络得到LR图像,判断其与最初所输入的LR是否相同。
- 全变分损失(Total Vaviation Loss)
目的:为了降低噪声
方法:
批标准化(Batch Normalization)
目的:稳定快速地训练CNNs,解决内部协方差平移(internal covariate shift)问题。
(深度神经网络涉及到很多层的叠加,而每一层的参数更新会导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不断去重新适应底层的参数更新。为了训好模型,我们需要非常谨慎地去设定学习率、初始化权重、以及尽可能细致的参数更新策略。
Google 将这一现象总结为 Internal Covariate Shift,简称 ICS.)
通过校准内部特征分布,减轻梯度消失,可以使用更高的学习率,减少对初始化的担心。
课程式学习(Curriculum Learning)
从一个简单的任务开始,逐步增加难度。例如将放大八倍的任务划分为三个子问题(1-2,2-4,4-8),如果设定比较困难,可以再划分出降噪,降模糊等子问题。
优点:大大降低训练难度和时间
多监督(Multi-supervision)
在模型中加入多个监督信号,避免梯度消失/爆炸等问题。
实际操作中,多监督技术往往是在通过在损失函数中加入一些项目实现。
3.5 Other Improvements
Content-wise Network Fusion
分别训练多个不同结构的SR模型,然后将预测结果输入到一个单独的卷积层,得到最终结果。
数据增强(Data augmentation)
裁剪,翻转,缩放,回转,颜色抖动
多任务学习
通过其他相关任务的数据集中的特定信息进行训练,提高模型泛化能力。
网络插值
无意义的噪音可能使得图片更加真实。
为了平衡噪声和真实性,将具有相同结构的网络参数进行线性组合,通过调整权重可以实现平滑连续的效果。
集成学习(Self-Ensemble)
将LR图片以不同的角度旋转,水平翻转,形成八张图,然后进行重构,最后的结果取这八张图所的的HR图像均值或中间数。
3.6 State-of-the-art Super-resolution Models
4 Unsupervised Super-resolution
HR-LR成对存在的数据集比较少,一般都是人工的对HR图片进行降级处理得到LR图像,与真实世界有较大的出入,因此无监督学习方法有很大研究意义。
4.1 Zero-shot Super-resolution
在测试时,针对一张图像进行不同规模的缩放,并对其进行增强,最后得到一个数据集。在这个数据集的基础上,对CNN进行训练,从而得到最后的HR图像。
4.2 Weakly-supervised Super-resolution
学习退化函数(Learned Degradation)
1 通过不成对的LR-HR图像训练一个用于学习退化函数的GAN模型;
2 基于前面所训练的GAN模型所得到的LR-HR数据集,对用于SR的GAN模型进行训练。
Cycle-in-cycle Super-resolution
分别建立noisy LR与clean LR,clean LR与clean HR两个映射
4.3 Deep Images Prior
利用任意初始化的CNN,训练一个生成器,将任意输入的向量生成一个HR图像,目标是找到一个HR图像,其下采样结果与LR相同。
5 Domain-specific Application
- 景深图的超分
- 人脸图像的超分
- 高光谱图像的超分
- 对于真实世界图片的超分
- 视频中的超分
6 Conclusion And Future Directions
6.1 Network Design
- 结合全局和局部信息
- 结合高层(物体本身)和低层信息(颜色)
- 关注内容的注意力机制(草-更关注颜色和纹理;动物-更关注物种及毛发细节)
- 更高效的网络结构
- 上采样方法(寻找更为有用且高效的方法,尤其是针对于大规模因素)
目前在第一点和第四点的研究上较多。
6.2 Learning Strategies
- 损失函数(最优的损失函数尚未可知)
- 规一化方法(BN被证明是次优的加速训练提高效果的方法)
6.3 Evaluation Metrics
- 更准确的评估指标(PSNR会导致结果过于平滑,针对相同的图像结果差别过大;SSIM无法评估语义上的质量,MOS需要耗费过多资源且无法再生)
- Blind IQA Methods(现在评估需要HR与LR成对的数据集,但是现在很难在真实情况下获取这样的数据集。)
6.4 Unsupervised Super-resolution
收集针对于同一场景不同分辨率的图片较为困难,因此常通过人工合成的方式构建SR数据集。然而,这样训练得到的模型结果只学习到了如何将提前进行下采样后得到的LR图片进行重构,因此,无监督的超分仍然是有前景的研究方向。
6.5 Towards Real-world Scenarios
在真实生活场景中的应用受到很大的限制,如遭受未知的退化(真实世界的图像可能会有模糊、噪声等退化,因此,在人工合成的数据集上训练的模型在真实情景中往往表现不佳),缺少成对的LR-HR图像。这个问题亟待解决。
此外,超分对其它任务也有很大的帮助,如视频监控、目标跟踪、医疗成像和场景渲染等。
(recorded by zk)