基于核估计和噪声注入的真实世界超分辨率
作者:Xiaozhong Ji,Yun Cao, Ying Tai, Chengjie Wang,Jilin Li,Feiyue Huang
论文CVPR2020链接
开源代码
摘要
最近,先进的超分辨率方法在忽略模糊和噪声的理想数据集上已经取得了令人印象深刻的性能。但是,这些方法在实际的超分辨率图像中都失败了,因为它们大多采用简单的高质量图像的双三次下采样来构造低分辨率(LR)和高分辨率(HR)图像对进行训练,可能会丢失与频率相关的细节。为了解决这一问题,作者设计了一种新的图像退化框架,通过估计各种模糊核和真实的噪声分布。基于作者的新退化框架,可以获得与真实世界图像共享一个共同域的LR图像。然后,作者提出了一个真实世界的超分辨率模型,以获得更好的感知效果。在合成噪声数据和真实世界图像上的广泛实验表明,作者的方法优于最先进的方法,能过获得更低的噪声和更好的视觉质量。此外,作者的方法获得了NTIRE 2020超分双赛道的冠军,大大优于其他竞争对手。
1. Introduction
超分辨率(SR)任务是提高低质量图像的分辨率,并增强其清晰度[2]。近年来,基于深度学习的方法[9,35,7,34,20,19,23]在保真性能方面取得了显著的成绩,他们主要集中在设计网络结构,进一步提高特定数据集的性能。它们大多采用固定的双三次下行采样操作来构造训练数据对。同样,在测试阶段,将双三次核向下采样的输入图像输入到设计的网络中。然后将生成的结果与Ground Truth (GT)进行比较,计算PSNR、SSIM等指标。
虽然提高了保真度,但是这些方法忽略了一个问题,即采用理想的双三次抽样是不合理的。以往的方法都是采用理想向下采样的方法来构造数据:
I
L
R
=
I
H
R
↓
s
,
(
1
)
I_{LR}=I_{HR}\downarrow_s\ ,(1)
ILR=IHR↓s ,(1)
式中,
I
L
R
I_{LR}
ILR和
I
H
R
I_{HR}
IHR分别表示LR和HR图像,s为尺度因子。这样很容易为训练模型获得配对数据。但是,有了这样一个已知的固定的下采样核,退化后的图像可能会失去高频的细节,但低频的内容会更加清晰。基于构建的配对数据,训练SR模型f(·)使n幅图像的平均误差最小:
a
r
g
min
f
∑
∣
∣
f
(
I
L
R
i
)
−
I
H
R
i
∣
∣
,
i
∈
1
,
2
,
.
.
.
n
.
(
2
)
arg\min_f\sum||f(I_{LR}^i)-I_{HR}^i||,i\in{1,2,...n}.\quad(2)
argfmin∑∣∣f(ILRi)−IHRi∣∣,i∈1,2,...n.(2)
如果在相同的下采样数据集上测试,生成的结果与预期的一样。然而,当我们直接对原始图像进行测试时,由于大量的噪声,结果非常模糊。主要原因是双三次下采样图像与原始图像不属于同一域。由于域的差异,这些方法会产生令人不快的工件,并在真实的图像上失败。例如,EDSR/ZSSR对图1中的真实图像产生不满意的结果。因此,现实世界超分辨率的关键问题是引入一种精确的退化方法,以确保生成的低分辨率图像与原始图像具有相同的域属性。
作者首先分析不同内核对下采样图像的影响[42,49,11]。在分析之前,将原始真实图像定义为源域
χ
\chi
χ,将清晰的高分辨率(HR)图像作为目标域
γ
\gamma
γ。作者发现不同程度的模糊核直接影响下采样图像的模糊。双三次采样可以看作是一种理想的下采样方式,因为它尽可能地保留了来自
χ
\chi
χ的信息。然而,这些下采样图像的频率已经改变到另一个域
χ
′
\chi'
χ′。在
{
χ
′
,
γ
}
\{\chi',\gamma\}
{χ′,γ}上进行训练时,模型会尝试恢复所有的细节,因为所有的信息在
χ
′
\chi'
χ′领域中都很重要。该模型在
I
L
R
I_{LR}
ILR上效果很好,但在
I
S
R
C
∈
χ
I_{SRC}\in\chi
ISRC∈χ上通常失效,
I
S
R
C
∈
χ
I_{SRC}\in\chi
ISRC∈χ是未处理的真实图像。另一个问题是,下采样图像几乎没有噪声,而
χ
\chi
χ中的真实世界图像通常有很多噪声。仅仅对模糊核的估计不能准确地模拟退化过程。
在本文中作者提出了一个新的真实的超分辨率退化框架,它包含核估计和噪声注入以保持原始域属性。一方面,作者首先使用现有的核估计方法[3]来生成更真实的LR图像。另一方面,作者提出了一种简单有效的方法,从原始图像中直接采集噪声并将其添加到下采样图像中。此外,作者还为RealSR引入了patch discriminator[17],以避免生成artifacts。为了验证该方法的有效性,作者在合成数据集和真实数据集上进行了实验。实验结果表明,与现有的方法相比,论文的方法产生了更清晰的结果。最后,分别对SR生成器的核估计、噪声注入和贴片鉴别器的有效性进行了烧蚀实验验证。该方法还参加了NTIRE 2020挑战赛,挑战真实世界的超分辨率,并在双赛道上都比其他竞争对手表现得更好。
论文的整体贡献总结有三个方面:
基于真实世界情景,提出了一个新的退化框架RealSR,它提供了真实的图像超分辨率学习。
通过对核和噪声的估计,探讨了模糊和噪声图像的具体退化问题。
作者证明了提出的RealSR在视觉质量方面达到了最先进的效果
2. Related Work
超分辨率:最近,许多基于卷积神经网络(CNN)的SR网络[23,30,13,14,22,31,41]在双三次下采样图像上取得了很好的性能。其中有代表性的是EDSR[23],它使用一个深度残差网络来训练SR模型。Zhang等人[46]提出了残差结构中的残差,形成了比EDSR性能更好的极深网络。Dai等人[8]提出了一个二阶通道注意模块,通过使用二阶特征统计来自适应地调整通道上的特征,以获得更有区别的表示。Haris等人[12]提出深度反向投影网络,利用迭代的上、下采样层,为每一阶段的投影误差提供误差反馈机制。虽然作者在保真度方面取得了较好的成绩,但生成的图像视觉效果较差,图像模糊。为了解决这个问题,一些研究者通过空间特征变换增强了真实感纹理[47,48,38]。Soh等人提出了一种自然流形鉴别方法对模糊或有噪声的HR图像进行分类,用于监督生成图像的质量。此外,一些生成的基于对抗网络(GAN)的方法[21,44,39]更加注重视觉效果,引入了对抗损失和感知损失。
但是,这些基于双三次核生成的数据训练的SR模型只能在干净的HR数据上工作,因为模型在训练过程中从未见过模糊/嘈杂的数据。这与现实世界的需要是不一致的,真实的LR图像经常带有噪声和模糊。为了解决这一冲突,Xu等人[40,5,4,45]使用特定的相机设备直接从自然场景中收集原始照片对。但是收集这种配对数据需要严格的条件和大量的人工成本。在本文中,作者通过分析真实图像中的退化问题,重点研究了SR网络在真实数据中的训练策略。
现实世界的超分辨率:为了克服现实世界超分辨率的这些挑战,最近的工作[42,49]结合去噪或去模糊被提了出来。这些方法在人工构建的模糊和加噪数据上进行训练,进一步增强了SR模型的鲁棒性。然而,这些显式建模方法需要对模糊/噪声有充分的先验知识,因此适用范围有限。
最近,一系列真实世界的超分辨率挑战[25,26]吸引了许多参与者。许多新的方法被提出来解决这个问题。例如,Fritsche等人[10]提出了DSGAN模型来生成退化图像。Lugmayr[24]等人提出了一种真实世界超分辨率的无监督学习方法。ZSSR[32]放弃大数据的训练过程,针对每一幅测试图像训练一个小模型,使特定的模型更加关注图像的内部信息。但付出的代价是,推理的时间大大增加,难以应用于真实场景。与这些方法不同的是,作者在真实图像中明确地估计核退化,这对于产生清晰和清晰的结果是非常重要的。
3. The Proposed RealSR
本节将介绍如图2所示的降级方法。论文方法主要分为两个阶段。第一步是从真实数据中估计退化情况,并生成真实的LR图像。第二阶段是基于构建的数据对SR模型进行训练。
3.1. Realistic Degradation for Super-Resolution
本文提出了一种基于核估计和噪声注入的真实图像退化方法。假设LR图像通过以下退化方法得到:
I
L
R
=
(
I
H
R
∗
k
↓
s
)
+
n
,
(
3
)
I_{LR}=(I_{HR}*k\downarrow_s)+n\quad,(3)
ILR=(IHR∗k↓s)+n,(3)
其中k和n分别表示模糊核和噪声。
I
H
R
I_{HR}
IHR未知,表明k和n也未知。为了更准确地估计退化方法,作者明确地从图像中估计核和噪声。在得到估计的核和噪声patch之后,建立一个退化池,用来将干净的HR图像降级为模糊和有噪声的图像,从而生成图像对用于训练SR模型。为了更精确地描述该方法,作者将这个数据构造管道形式化为算法1所示的算法。
3.2. Kernel Estimation and Downsampling
作者使用核估计算法显式估计核从真实图像。受KernelGAN[3]的启发,作者采用类似的核估计方法,并根据真实图像设置合适的参数。KernelGAN的生成器是一个没有任何激活层的线性模型,因此,所有层的参数可以组合成一个固定的内核。估计的内核需要满足以下约束条件:
a
r
g
min
k
∣
∣
(
I
s
r
c
∗
k
)
↓
s
−
I
s
r
c
↓
s
∣
∣
1
+
∣
1
−
∑
k
i
,
j
∣
.
(
4
)
arg\min_k||(I_{src}*k)\downarrow_s-I_{src}\downarrow_s||_1+|1-\sum k_{i,j}|.\quad(4)
argkmin∣∣(Isrc∗k)↓s−Isrc↓s∣∣1+∣1−∑ki,j∣.(4)
(
I
s
r
c
∗
k
)
↓
s
(I_{src}*k)\downarrow_s
(Isrc∗k)↓s为核函数为k的下采样LR图像,而
I
s
r
c
↓
s
I_{src}\downarrow_s
Isrc↓s为核函数为理想的下采样图像,为了最大限度地减少这种误差,就是鼓励下采样图像保留源图像的重要低频信息。上式的第二项是约束k的和为1,第三项是k的惩罚边界。最后鉴别器D(·)是保证源域的一致性。
Clean-Up:为了得到更多的HR图像,尝试从
χ
\chi
χ中生成无噪图像,具体来说,在源域中对真实图像采用双三次下采样,去除噪声,使图像更清晰。设
I
s
r
c
∈
χ
I_{src}\in\chi
Isrc∈χ为来自真实源图像集的图像,
k
b
i
c
k_{bic}
kbic为理想的双三次核。然后,利用clean-up尺度因子sc对图像进行下采样。
i
H
R
=
(
I
s
r
c
∗
k
b
i
c
)
↓
s
,
(
5
)
i_{HR}=(I_{src}*k_{bic})\downarrow_s,\ (5)
iHR=(Isrc∗kbic)↓s, (5)
退化与模糊核:将降采样后的图像视为干净的HR图像。然后通过从退化池中随机选择一个模糊内核来对这些HR图像进行退化。下采样过程为步长s采样后的互相关操作,可表示为:
i
D
=
(
I
H
R
∗
k
i
)
↓
s
,
i
∈
{
1
,
2
,
.
.
.
m
}
(
6
)
i_D=(I_{HR}*k_i)\downarrow_s,i\in\{1,2,...m\}\ (6)
iD=(IHR∗ki)↓s,i∈{1,2,...m} (6)
其中,
I
D
I_D
ID为下采样图像,
k
i
k_i
ki为从
{
k
1
,
k
2
⋅
⋅
k
m
}
\{k_1, k_2··k_m\}
{k1,k2⋅⋅km}中选取的特定模糊核。
3.3. Noise Injection
对于有噪声的图像,明确地将噪声注入到下采样的图像中,以生成真实的LR图像。由于降噪过程中高频信息的丢失,降噪噪声的分布也随之发生变化。为了使降噪后的图像具有与源图像相似的噪声分布,直接从源数据集
χ
\chi
χ中采集噪声patch。观察到,patches的内容越丰富,方差越大。基于这一观察,并受到[6,49]的启发,作者设计了一个滤波规则来收集方差在一定范围内的patch。简单而有效地,作者通过下面的规则解耦噪音和内容:
σ
(
n
i
)
<
v
,
(
7
)
\sigma(n_i)<v,\ (7)
σ(ni)<v, (7)
其中
σ
(
⋅
)
\sigma(\cdot)
σ(⋅)表示方差计算函数,v为方差的最大值。
注入噪声的退化:假设收集一系列噪声patch
{
n
1
,
n
2
⋅
⋅
⋅
n
l
}
\{n_1, n_2···n_l\}
{n1,n2⋅⋅⋅nl}并加入到退化池中。噪声注入过程是通过随机裁剪噪声池中的patch来实现的。类似地,作者将这个过程形式化为
I
L
R
=
I
D
+
n
i
,
i
∈
{
1
,
2
⋅
⋅
⋅
l
}
,
(
8
)
I_{LR}=I_D+n_i,i\in\{1,2···l\},\ (8)
ILR=ID+ni,i∈{1,2⋅⋅⋅l}, (8)
其中
n
i
n_i
ni是噪声池{
k
1
,
k
2
⋅
⋅
⋅
k
l
k_1, k_2···k_l
k1,k2⋅⋅⋅kl}中裁剪的噪声块。在训练阶段,我们采用了内容和噪声相结合的在线噪声注入方法。这使得噪声更加多样化,并使SR模型规范化,以区别噪声和内容。在使用模糊核和注入噪声进行降解后,我们得到
I
L
R
∈
χ
I_{LR}\in\chi
ILR∈χ。
3.4. Super Resolution Model
基于ESRGAN[39],作者实现了一个SR模型,并对构造的成对数据
{
I
L
R
,
I
H
R
}
∈
{
χ
,
γ
}
\{I_{LR}, I_{HR}\}\in\{\chi, \gamma\}
{ILR,IHR}∈{χ,γ}进行训练。生成器采用RRDB[39]结构,生成的图像分辨率将提高4倍。用于训练的损失包括pixel loss、perceptual loss[18]和adversarial loss。像素损失L1使用L1距离。感知丢失
L
p
e
r
L_{per}
Lper使用了VGG-19[33]的inactive特性,有助于增强边缘等低频特性的视觉效果。对抗损失
L
a
d
v
L_{adv}
Ladv是用来增强纹理细节的生成图像,使它看起来更真实。最后的损失函数是这三种损失的加权和:
L
t
o
t
a
l
=
λ
1
⋅
L
1
+
λ
p
e
r
⋅
L
p
e
r
+
λ
a
d
v
⋅
L
a
d
v
,
(
9
)
L_{total}=\lambda_1\cdot L_1+\lambda_{per}\cdot L_{per}+\lambda_{adv}\cdot L_{adv},\ (9)
Ltotal=λ1⋅L1+λper⋅Lper+λadv⋅Ladv, (9)
其中
λ
1
,
λ
p
e
r
,
λ
a
d
v
\lambda_1,\lambda_{per},\lambda_{adv}
λ1,λper,λadv按经验设为0.01,1,0.005
3.5. Patch Discriminator in RealSR
此外,作者观察到ESRGAN[39]鉴别器可能引入许多artifacts。与默认的ESRGAN设置不同,我们使用patch discriminator[17,50]来代替VGG-128[33],这有两个方便之处:1)VGG-128将生成的图像尺寸限制在128,多尺度训练不方便。2) vga -128包含一个更深层次的网络,其固定的全连接层使鉴别器更加关注全局特征而忽略局部特征。相比之下,作者采用了具有固定感受野的全卷积结构的patch discriminator。例如,一个三层网络相当于一个 70 × 70 70\times70 70×70patch。即鉴别器的每个输出值只与局部固定区域的patch有关。patch的损失会反馈到生成器,以优化局部细节的梯度。注意,最终误差是保证全局一致性的所有局部误差的平均值。
4. Experiments
4.1. Datasets
DF2K:DF2K数据集合并DIV2K[36]和Flikr2K[1]数据集,共包含3450张图像。在这些图像中人工添加高斯噪声来模拟传感器噪声。验证集包含100幅与ground truth相对应的图像,因此可以计算基于参考的度量值
DPED:DPED[15]数据集包含5614张由iPhone3相机拍摄的图片。这个数据集中的图像是未经处理的真实图像,含有噪声、模糊、暗光和其他低质量问题,更具挑战性。验证集中的100张图像是从原始真实图像中裁剪出来的。由于没有对应的ground truth,只能提供一个直观的对比。
4.2. Evaluation Metrics
对于合成数据,论文计算不同方法产生的结果的PSNR、SSIM和LPIPS[43]。其中PSNR和SSIM是图像恢复中常用的评价指标。这两个指标更关注的是图像的保真度,而不是视觉质量。相比之下,LPIPS更关注图像的视觉特征是否相似。它使用预先训练好的Alexnet提取图像特征,然后计算两个特征之间的距离。因此,LPIPS越小,生成的图像越接近ground truth。
4.3. Evaluation on Corrupted Images
首先,作者在损坏的DF2K数据集上将RealSR与最先进的SR方法做对比。对包含100张图像的验证集进行性能评估。用这些方法生成结果后,我们根据ground truth计算PSNR、SSIM和LPIPS。由于LPIPS能更好地反映视觉质量,所以我们主要关注这个度量。比较方法有EDSR[23]、ESRGAN[39]、ZSSR[32]、K-ZSSR。论文使用各对比方法的作者发布的预训练模型来评估EDSR和ESRGAN方法。由于ZSSR不需要训练过程,我们只需在验证图像上运行它的测试代码。具体来说,K-ZSSR是KernelGAN[3]和ZSSR的结合。在ZSSR训练中,使用kernel - gan估计的核对图像patch进行降采样,ZSSR采用默认的双三次准则进行退化。
DF2K的定量结果:如表1所示,RealSR获得了最佳的LPIPS性能,说明作者的结果在视觉特征方面更接近ground truth。该方法的PSNR比EDSR低,这是因为作者使用感知损失,更注重视觉质量。一般情况下,PSNR和LPIPS指标之间并不存在正相关关系,甚至在一定范围内呈现相反的关系。
DF2K的定性结果:从图3中,可以看到同一幅图像上不同方法的局部细节,其中RealSR产生的噪声要少得多。一方面,与EDSR和ZSSR相比,论文结果更加清晰,纹理细节更加丰富。另一方面,与ESRGAN和K-ZSSR相比,我们的结果几乎没有artifacts,这得益于从真实的噪声分布估计的精确退化。特别是K-ZSSR使用的核比bicubic更加模糊,因此用于训练的图像几乎没有噪声,这导致在输入有噪声的图像时产生许多artifacts。该模型在测试时将噪声误当作输入图像的内容。
4.4. Evaluation on Real-World Images
论文提出的方法最关心的问题是真实世界的超分辨率,所以在DPED数据集评估RealSR,这些照片遭受了退化问题,如模糊,噪声等。就像真实图像的SR训练中遇到的问题一样,在验证阶段没有可以参考的ground truth。因此,我们只显示视觉比较的结果。为了使细节更清晰,我们扩大了局部区域。
DPED的定性结果:如图4所示,EDSR、ESRGAN和ZSSR方法不能正确区分树枝和天空的噪声,导致结果模糊。在作者的结果中,树干和树枝更清晰,物体和背景之间的分界线更清晰。对于K-ZSSR,由于对噪声的错误处理,导致产生不必要的纹理细节。如果放大看,这个结果是不可接受的,不能被认为是一个HR图像。当处理一些实体背景时,作者的方法的优点更加明显。从第三幅图可以看出,屋檐下的噪声被消除,只留下重要的低频特征。
与现有方法相比,RealSR方法产生的噪声和伪影较少,表明噪声注入估计的噪声更接近真实噪声。与EDSR、ESRGAN和ZSSR相比,RealSR结果更加清晰,没有歧义。这是因为他们的方法都是在双三次数据上训练的,没有从真实图像中估计模糊的核。此外,作者使用感知损失,更多地关注图像的视觉特征。与使用像素损失的EDSR相比,论文的结果细节更清晰。此外,训练一个新的ZSSR或K-ZSSR模型的代价比inference.要高得多,而我们的方法只花费inference.过程中的forward时间。
4.5. NTIRE 2020 Challenge
RealSR是NTIRE 2020挑战赛的赢家,在真实世界的超分辨率[26]的两条轨道上,轨道1是通过图像处理artifacts合成的被破坏的数据,而轨道2是智能手机图像的真实数据。每个轨道提供的数据包括两个域。一个是包含噪声和模糊的源域数据集,另一个是定义干净的HR目标数据集。任务是将LR图像的分辨率放大4倍,并保持生成的SR图像的清晰度和锐度与给定的目标数据集一致。由于没有给定的训练数据对,参与者需要使用这两组图像来构建训练数据。作者应用了所提出的方法,在两个轨迹上都取得了最好的结果,如表2和表3所示。最终的决定是基于人类研究,即轨迹1的平均意见得分(MOS)和轨迹2[26]的平均意见排名(MOR)。作者的方法优于其他方法,产生的SR图像锐度和清晰度都很好。
4.6. Ablation Study
为了进一步验证在退化过程中估计核、注入噪声以及在SR训练中使用patch识别器的必要性,作者对DPED数据集进行了消融实验。首先介绍每个实验的设置。
双三次:在此设置下,作者采用双三次核向下采样HR图像,然后直接使用这些配对的数据训练SR模型。在没有核估计和噪声注入的情况下,该设置将其他参数保留为默认值,这可以理解为对真实数据集进行ESRGAN微调,以验证其鲁棒性。
噪声:此设置是在添加噪声注入双三次的基础上进行的。由于没有使用核估计方法,因此可以通过观察这个设置来验证核估计与所提出的完全方法的有效性。
核:这个设置只使用了核估计的方法,没有添加显式的噪声,可以用来观察注入噪声对结果的影响。
VGG-128:如3.5节所述,此设置使用默认的VGG-128鉴别器。
Patch:此设置使用了较轻的Patch discriminator,并与前四个设置进行对比,验证我们的结论。
接下来,作者进行了三次比较分析,以验证提出的三个组成部分的有效性。
核估计的影响:从图5可以看出,与“Noise”相比,“Patch”生成的结果更加清晰。这证明了核估计对SR训练的重要性,有助于SR模型产生更锐利的边缘。
噪声注入的影响:在这个对比实验中,作者设置了噪声注入作为一个选项来验证是否需要噪声注入。从图5可以看出,在没有显式噪声注入的情况下,Kernel的结果会有很多伪像,这与在干净数据上训练的ESRGAN结果非常相似。注入的噪声与原始噪声分布一致,从而保证了SR模型在测试过程中对噪声的鲁棒性。
Patch Discriminator的影响:在真实数据上,作者使用patch discriminator来代替VGG -128。通过与VGG -128的比较,作者发现,VGG -128鉴别器感受野过大,会导致纹理不真实,与原始图像存在部分冲突。相比之下,patch discriminator恢复了重要的边缘特征,避免了令人不快的伪影,从而产生更真实的细节。
5. Conclusion
本文提出了一种新的基于核估计和噪声注入的退化框架。通过使用不同的退化组合(例如,模糊和噪声),作者获得了与真实图像共享一个共同域的LR图像。利用这些领域一致的数据,用patch discriminator训练一个真实的超分辨率GAN,可以产生更好的感知HR结果。对合成噪音数据和真实世界图像的实验表明,论文的RealSR优于最先进的方法,从而降低噪音和更好的视觉质量。此外,RealSR在真实世界超分辨率的两个轨道上也是NTIRE 2020挑战赛的赢家,它在人类感知方面显著优于其他方法。