- Details or artifacts: A locally discriminative learning approach to realistic image super-resolution.
- 细节或伪影:一种实现逼真图像超分辨率的局部判别学习方法
- Liang, Jie, Hui Zeng, and Lei Zhang.
- Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
文章目录
摘要
- 首先指出,GAN-SR的优点与缺点:
- 现在基于GAN的SISR技术(GAN-SR)由于可以生成丰富的纹理细节,得到越来越多的关注。
- 然而,GAN的训练并不稳定,它经常会在生成细节的同时引入许多伪影。
- 然后说明,本论文的主要工作:
- 证明了训练GAN-SR 模型是可能的,该模型可以稳定地生成感知逼真的细节,同时抑制视觉伪影。
- 通过对伪影区域的局部统计数据(例如残差方差)与感知友好细节区域的观察,开发了一个框架来区分 GAN 生成的伪影和现实细节,从而生成伪影图规范和稳定模型训练过程。
- 最后说明,本文的SOTA:
- 提出的局部判别学习(Locally Discriminative Learning,LDL)方法简单而有效,可以轻松插入现成的 SISR 方法并提高其性能。
- LDL 实现了SOTA,不仅实现了更高的重建精度,而且在合成数据集和真实数据集上都实现了卓越的感知质量。
1. 引言
-
介绍,
- SISR技术的一系列发展,
- 以及以SSIM、PSNR作为评价指标,所带来的弊端:很难产生丰富的伪影细节。
-
介绍:
- GAN-SR可以恢复具有丰富细节的清晰图像,而产生了一些列的发展。
- GAN-SR的弊端:对抗性训练不稳定,并且经常引入令人不快的视觉伪影。
- 细节与伪影:如何在不影响真实细节的情况下抑制 GAN-SR 的视觉伪影成为一个关键问题。不幸的是,细节和伪影通常纠缠在图像的高频成分中。因此,现有框架优化其中一个往往会损害另一个。
-
分析了GAN-SR图像,将GAN-SR生成的图像分成了三种区域:
- A型补丁(平坦的天空、长边缘):
- 图像是光滑的或仅包含大型结构;
- 很容易重建。
- B型补丁(动物毛皮、远处的树叶):
- 原始图像具有很多精细尺度的细节,并且在退化过程中会遭受信号混叠,大多数高频分量都会丢失。
- 但是图像像素是随机分布的,因此 SR 图像和真实图像之间的差异对人类感知不敏感。
- GAN-SR 方法生成的丰富细节可以在这些区域带来更好的感知质量。
- C型补丁(建筑物中的细树枝、密集窗户):
- 图像包含许多精细尺度的规则结构或相邻像素之间的尖锐过渡。
- GAN-SR 方法生成的扭曲结构和过冲像素很容易被观察者视为令人不快的伪影。
- A型补丁(平坦的天空、长边缘):
-
介绍LDL的设计思想以及实现过程:
- A型补丁和B型补丁:应该保留生成图像的真实细节。
- C型补丁:抑制生成图像的视觉伪影。
- 生成SR图像和真实HR 图像之间残差的局部方差可以作为区分伪影和现实细节的有效特征。
- 实现过程:
- 通过基于局部和块级残差方差构建了一个像素级映射,表示每个像素是伪影的概率;
- 通过模型集成策略进一步细化判别图,以鼓励稳定且准确的优化方向实现高保真重建。
- 基于细化的判别图,我们设计了一个局部判别学习(LDL)框架来惩罚伪影而不影响现实细节。
-
总结:
- 分析了,GAN-SR的训练结果以及训练模型的不稳定性。
- 提出了,区分视觉伪影和现实细节,并设计一个 LDL 框架来规范对抗性训练。
- 说明了,LDL的方法简单而有效,并且可以轻松插入现成的 GAN-SR 方法。
- 强调了,LDL的方法,即可以抑制 GAN-SR 中的伪影,同时生成丰富的真实细节,并通过实验证明了SOTA。
2. 相关工作
- 列举了基于CNN的SISR模型,根据采用的损失和训练策略分为面向信号保真度(signal fidelity)的模型和面向感知质量(perceptual quality)的模型。
- 面向信号保真度(signal fidelity)的模型:普遍以SSIM 作为损失函数,可以更好地保留图像局部结构,但很难重现精细的细节。
- 面向感知质量(perceptual quality)的模型:普遍采用GAN 技术,因为它们能够通过区分图像分布来生成所需的图像。如SRGAN、ESRGAN、RRDB、USRGAN。
- 但是现有的GAN-SR技术有一个关键问题:由于训练对抗的不稳定性,生成图像会产生许多视觉伪影。
- Remark。
- 信号保真度和感知质量导向的 SISR 方法都属于感知失真权衡:提高感知质量或信号保真度都会影响另一个,如抑制伪影会限制细节的生成。
- 本文提出通过明确区分伪影和真实细节来规范对抗训练,从而有效地解决了这一困境。
- 本文提出的方法也可以轻松扩展到BSRGAN和RealESRGAN的Real-SR任务。
- 实验结果表明,LDL在抑制伪影的同时生成真实细节方面具有很高的泛化性能。
3. 方法论
3.1 GAN-SR引入视觉伪影
现有的GAN-SR方法,都是使用三种损失的加权和进行训练:
L
G
A
N
=
λ
1
L
r
e
c
o
n
s
+
λ
2
L
p
e
r
c
e
p
+
λ
3
L
a
d
v
\mathcal{L}_{GAN} = \lambda_1\mathcal{L}_{recons}+\lambda_2\mathcal{L}_{percep}+\lambda_3\mathcal{L}_{adv}
LGAN=λ1Lrecons+λ2Lpercep+λ3Ladv
其中:
-
L
r
e
c
o
n
s
\mathcal{L}_{recons}
Lrecons:
- 像素级损失,如 l 1 、 l 2 l_1、l_2 l1、l2 距离。
- 仅使用 L r e c o n s \mathcal{L}_{recons} Lrecons损失,将导致所有可能的HR图像的平均值模糊
- L p e r c e p \mathcal{L}_{percep} Lpercep:感知损失,用于测量VGG特征空间中的特征距离。
-
L
a
d
v
\mathcal{L}_{adv}
Ladv:
- 对抗损失,GAN网络中的对抗损失。
- L a d v \mathcal{L}_{adv} Ladv损失可以使生成的SR图像产生更多细节,但是同时还会产生许多感知伪影。
- L a d v \mathcal{L}_{adv} Ladv损失可以沿着许多可能的方位对其进行更新。
SISR 是一项不适定任务(ill-posed task),一个 LR 输入对应于高维图像空间中散布的许多可能的 HR 输出。
-
三种补丁的简单示例:
- A patch:
- 其 LR 版本保留了大规模结构,
- 而 HR 补丁可以轻松以良好的保真度和感知质量再现。
- B patch:
- 类似纹理的补丁中的像素通常随机分布在相对较小的范围内,因此人眼很难感知到像素级的差异。
- 对于类似纹理的 B 类补丁,虽然它不是逐像素忠实重建的,但 GAN-SR 输出的感知质量还不错。
- C patch:
- 具有规则且尖锐的过渡,而 LR 补丁在退化后会丢失局部模式。
- 变化很大甚至相互矛盾的 HR 目标导致对抗训练不稳定,并且 GAN-SR 结果中的不规则和不自然的模式很容易被观察者视为伪影。
- A patch:
-
进一步研究了GAN-SR的训练稳定性:
- 计算两次不同迭代中GAN-SR输出的平均绝对误差(mean absolute difference,MAD):
- M A D = ∣ I S R ( k ) − I S R ( k + p ) ∣ MAD = |I_{SR}^{(k)} - I_{SR}^{(k+p)}| MAD=∣ISR(k)−ISR(k+p)∣
- 其中:k:迭代轮次 p:增加的迭代轮次,p=5000
3.2 区别伪影与现实细节
目标:抑制C patch中的伪影生成,同时保留A ptach 和 B patch中的真实细节。
- 伪影的判别:
- 假设 I S R I_{SR} ISR的分辨率为H×W×3,目标是找到一个像素级映射 M ∈ R H × W × 1 M\in \mathbb{R}^{H×W×1} M∈RH×W×1, M ( i , j ) ∈ [ 0 , 1 ] M(i, j)\in[0, 1] M(i,j)∈[0,1]:表示 I S R ( i , j ) I_{SR}(i,j) ISR(i,j)为伪影像素的概率。
- 计算真实图像
I
H
R
与生成图像
I
S
R
I_{HR}与生成图像I_{SR}
IHR与生成图像ISR的残差,以提取高频成分:
R = I H R − I S R R = I_{HR} - I_{SR} R=IHR−ISR
- 第三列:
- A patch:平滑区域的大多数像素的残差都很小。
- B patch和C patch:残差很大,但是B patch的残差分布更加随机。
- 计算残差图R的局部方差,作为指示伪影像素的主要图:
M ( i , j ) = v a r ( R ( i − n − 1 2 : i + n − 1 2 , j − n − 1 2 : j + n − 1 2 ) ) M(i, j) = var(R(i-\frac{n-1}{2}:i+\frac{n-1}{2}, j - \frac{n-1}{2}:j+\frac{n-1}{2})) M(i,j)=var(R(i−2n−1:i+2n−1,j−2n−1:j+2n−1))
- var:方差, n:局部窗口大小,(默认n=7)
- 第四列:
- 可以有效检测出 C patch中的伪影像素。
- 但是局部方差是用很小的接受场计算的,因此区分伪影与边缘和纹理是不稳定的。
- 同时, A patch 和 B patch的一些像素也会有较大的响应,导致对生成真实细节的错误惩罚。
- 进一步残差图R中计算出一个稳定的块级方差
σ
\sigma
σ:
σ = ( v a r ( R ) ) 1 α \sigma = (var(R))^{\frac{1}{\alpha}} σ=(var(R))α1
- ( ⋅ ) 1 α (·)^{\frac{1}{\alpha}} (⋅)α1:将全局方差 var® 缩放到适当的比例,默认将 α \alpha α=5。
- A patch 中的
σ
\sigma
σ值<B patch 和C patch,且C patch中的
σ
\sigma
σ值最大,因此进一步使用
σ
\sigma
σ将残差图M缩放为:
σ ⋅ M \sigma·M σ⋅M - 第五列:
- A patch 和B patch中的过度惩罚问题已经基本解决,且C patch中的伪影仍然可以识别。
- 稳定化和精细化:
- 尽管图 σ·M 可以区分不同类型的patch中的伪影,但它仍然可能过度惩罚补丁 C 中的真实细节,并略微惩罚补丁 A 和 B 中高保真细节的生成,尤其是在早期训练阶段。
- 为了缓解这个问题,我们进一步稳定训练过程并细化伪影图。
- 使用指数平均移动(exponential moving average, EMA)技术从Ψ(GAN-SR模型)中暂时集成一个更稳定的模型
Ψ
E
M
A
Ψ_{EMA}
ΨEMA:
ψ E M A k = α ⋅ ψ E M A k − 1 + ( 1 − α ) ⋅ ψ ( k ) \psi^{k}_{EMA} = \alpha · \psi^{k-1}_{EMA} + (1 - \alpha)·\psi^(k) ψEMAk=α⋅ψEMAk−1+(1−α)⋅ψ(k)
- ψ \psi ψ:GAN-SR的模型, α \alpha α:加权参数,默认 α = 0.999 \alpha = 0.999 α=0.999。
- 利用 Ψ E M A Ψ_{EMA} ΨEMA,我们可以进一步细化伪影图 σ ·M,以减轻优化过程中对生成真实细节的惩罚。
- 进一步细化伪影图:
![[Pasted image 20240606184352.png]]
其中:
- R 1 = I H R − I S R 1 R_1=I_{HR} - I_{SR_1} R1=IHR−ISR1,其中 I S R 1 = ψ ( I L R ) I_{SR_1} =\psi(I_{LR}) ISR1=ψ(ILR),且 I S R 1 I_{SR_1} ISR1包含更多的细节和伪影
- R 2 = I H R − I S R 2 R_2=I_{HR}-I_{SR_2} R2=IHR−ISR2, 其中 I S R 2 = ψ E M A ( I L R ) I_{SR2} = \psi_{EMA}(I_{LR}) ISR2=ψEMA(ILR),且 I S R 2 I_{SR_2} ISR2几乎没有伪影
- 精炼图
M
r
e
f
i
n
e
M_{refine}
Mrefine只会惩罚
∣
R
1
≥
R
2
∣
|R1≥ R2|
∣R1≥R2∣的像素。在
∣
R
1
<
R
2
∣
|R1< R2|
∣R1<R2∣的位置,模型
Ψ
Ψ
Ψ会朝着正确的方向更新,不应受到惩罚。
第六列: - 精炼图中删除了精细纹理和理想边缘的位置,因此可以更精确地对伪影像素施加惩罚。
3.3 损失函数与学习策略
- 伪影判别损失
L
\mathcal{L}
L:
L a r t i f = ∣ ∣ M r e f i n e ⋅ ( I H R − I S R 1 ) ∣ ∣ 1 \mathcal{L}_{artif} = ||M_{refine}·(I_{HR} - I_{SR_1})||_1 Lartif=∣∣Mrefine⋅(IHR−ISR1)∣∣1 - LDL的损失函数
L
L
D
L
\mathcal{L}_{LDL}
LLDL:
L L D L = L G A N + β L a r t i f \mathcal{L}_{LDL} = \mathcal{L}_{GAN} + \beta\mathcal{L}_{artif} LLDL=LGAN+βLartif - β \beta β:加权参数,本文 β \beta β=1。
学习策略如下:
- 输入 I L R I_{LR} ILR 被输入到两个模型 Ψ Ψ Ψ 和 Ψ E M A Ψ_{EMA} ΨEMA 中,分别输出 I S R 1 和 I S R 2 I_{SR_1}和I_{SR_2} ISR1和ISR2。然后使用真实图像 I H R 以及 I S R 1 和 I S R 2 构建伪影图 M r e f i n e I_{HR} 以及 I_{SR_1} 和 I_{SR_2}构建伪影图 M_{refine} IHR以及ISR1和ISR2构建伪影图Mrefine。之后,基于 I H R 、 I S R 1 和 M r e f i n e I_{HR}、I_{SR_1} 和 M_{refine} IHR、ISR1和Mrefine计算损失 L a r t i f L_{artif} Lartif。最后,使用 L L D L L_{LDL} LLDL优化模型 Ψ,并将 Ψ 的参数在时间上集成到 ΨEMA。该过程不断迭代,直至收敛。
4. 实验
4.1 实验设置
- Backbones和比较方法:
- SSResNet、RRDB、SwinIR
- SSResNet+LDL、RRDB+LDL、SwinIR+LDL
- 训练数据集设置:
- 训练集:DIV2K(800)、DF2K(3450)
- HR patch 的大小是128*128。
- 使用MATLAB双三次下采样,4倍缩放。
- 4 个NVIDIA GTX 2080Ti GPUs, batch size = 16
- 初始学习率为: 1 e − 4 1e^{-4} 1e−4,迭代次数300k。
- 验证数据集和评价指标:
- Set5、Set14、Manga109、General100、Urban100 和 DIV2K100。
- 感知质量指标:LPIPS、DISTS 和 FID。
- LPIPS 和 DISTS 已被证明可有效评估 GAN-SR 结果。
- 而 FID 则被广泛用于评估图像生成任务中的图像感知质量。
- 重建精度:计算 YCbCr 空间中 Y 通道的 PSNR 和 SSIM 指标。
4.2 SOTA比较
-
定量分析:
-
定性分析:
-
与 ESRGAN、USRGAN 和 SPSR 相比,LDL 产生的视觉伪影要少得多,尤其是在具有细尺度混叠结构的区域。此外,通过规范对抗训练过程,LDL 能够以高保真度重建更多细节,例如具有规则图案的区域(例如,窗户上的线条和桥梁上的网格)
4.3 Real-world SISR的应用
- 从密集窗口区域可以看出,RealESRGAN 引入了令人不快的伪影,而 BSRGAN 产生了相对平滑的结构。相比之下,我们的 LDL 抑制了伪影的产生并鼓励了清晰的细节。在树枝区域,所提出的 LDL 改进了精细细节的生成,得益于对伪影和真实细节的明确和准确区分。
4.4 消融实验
4.5 局限性
- 尽管所提出的 LDL 能够有效提高 SISR 输出的感知质量和重建精度,但它在区分严重混叠区域中的视觉伪影方面仍然存在一些局限性。(密集窗口周围仍然存在一些伪影)
- 我们讨论了 GAN-SR 方法如何生成伪影,并提出了一种解决此问题的简单尝试,同时我们相信存在更有效的伪影区分和细节生成设计。
5. 结论
- 分析GAN-SR:在本文中,我们分析了基于 GAN 的 SISR 方法中视觉伪影的产生方式,并提出了一种局部判别学习 (LDL) 策略来解决此问题。
- LDL框架:精心设计了一个在 GAN-SR 模型训练过程中区分视觉伪影和现实细节的框架,并生成了一个伪影图以明确惩罚伪影而不牺牲现实细节。
- 可插入性:所提出的 LDL 方法可以轻松插入到不同的现成 GAN-SR 模型中,用于合成和现实世界的 SISR 任务。
- SOTA:在广泛使用的数据集上进行的大量实验表明,LDL 在定性分析和感知质量上都优于现有的 GAN-SR 方法。