Skip to content

A_ESRGAN

yubo105139 edited this page Dec 5, 2024 · 1 revision

[TOC]

# 💻 A-ESRGAN: training Real-world blind super-resolution with attention U-NET discriminators

测试示例

  • 作者直接展示的结果

Compare.png

  • A-ESRGAN和自训练模型在部分图片上的结果展示
输入图 A-ESRGAN our-model
114 114.jpg 114jpg

虽然A-ESRGAN 的部分结果表现较好,尤其是海洋上的云朵处理比自训练的模型好,但生成图部分区域依旧是较为模糊,在下面两张图中均能体现出来。

相关链接

paper

code

论文新意

  • 唯一的新意便是加入注意力的Unet网络判别器;并且还引入了多尺度注意力Unet网络判别器;其中生成网络结构依旧是使用的RRDBNet;
  • 加入网络详细分析与可视化;消融实验的附带功能

网络体系结构

网络整体用的RRDBNet

单注意U-net鉴别器的体系结构:

**attention block(AB)**由3D注意U-net的注意门改造而来:

论文方法与相关实验设置

1、使用realESRGAN的高阶退化模型做LR图,认为高阶退化模型更能符合实际生活中多次退化压缩方式

2、采用单一鉴别器和多尺度鉴别器,鉴别器D1以原始尺度图像作为输入;鉴别器D2以2倍下采样图像作为输入。

3、判别器损失详细讲解:

​ $\begin{aligned} L_{D}=& \sum_{w=1}^{W} \sum_{h=1}^{H}\left(-E_{x_{r}}\left[\log \left(D_{(} x_{r}, x_{f}\right)[w, h]\right)\right] \ &\left.-E_{x_{f}}\left[1-\log \left(D\left(x_{f}, x_{r}\right)[w, h]\right)\right]\right) \end{aligned}$

W×H的矩阵,每个元素代表真实的可能性,假设C为输出矩阵,定义D = σ(C), xr为真实数据,xf为假数据;

$\begin{aligned} L_{G}=& \sum_{w=1}^{W} \sum_{h=1}^{H}\left(-E_{x_{r}}\left[1-\log \left(D_{(} x_{r}, x_{f}\right)[w, h]\right)\right] \ &-E_{x_{f}}\left[\log \left(D\left(x_{f}, x_{r}\right)[w, h]\right)\right] \end{aligned}$

4、损失包括判别器损失,L1损失 和 纹理损失;

$l_{G}=L_{\text {precep }}+\lambda_{1} L_{G_{\text {normal }}}+\lambda_{2} L_{G_{\text {sampled }}}+\eta L_{1}$

其中 $\lambda_{1}、\lambda_2、\eta$等系数都是需要调整的;试验中权重分别设置为1,1,0.1;而多头注意力的采用正常图和两倍下采样的图作为输入,其中对抗loss权重为1:1。

5、其他设置如下

训练数据集:DIV2K
预训练模型:RealESRGAN
HR_patch_size:256
batchsize:48
优化器:adamoptimizer
环境:nvidiaA100+3×nvidiaA40

5、A-ESRGAN-single 在学习率为10-4下迭代400K iterations;A-ESRGAN-Multi 在学习率为10-4下迭代200K iterations

测试数据集

数据集:set5,set14,BSD100,SunHays80,Urban100

因为其包含多种类型的图片,包括风景、肖像和建筑

作者说是使用的真实图片resize 4次作为测试集,resize4次的具体方法还需要看源码,ps:源码中也未找到其中方案。

作者训练过程中的总结

1、作者观察到作者的方法可以重新覆盖更尖锐的边缘,并恢复更好的纹理细节。

2、随着训练过程的进行,作者认为可以看到注意权值逐渐更新,并开始聚焦于“特定区域”,即颜色突变的边缘。

3、较高的注意层是细粒度的,例如点和线

4、注意力是均匀分布的。然后注意力逐渐更新,开始关注边缘。

5、普通鉴别器的输出图像判断边缘,而下采样鉴别器判断较厚的块,例如树的树枝上的纹理

6、结果图像将给出更清晰的细节,如8a所示。当上采样过程是基于图像的主要边缘时,失真的概率会更小,如8b所示。

7、A-ESRGAN-single在重建树枝和海洋生物的纹理时表现不佳。下采样鉴别器聚焦于小块,可以重建纹理,并给出形状边缘细节。

其他介绍

引入niqe表示图像的感知质量。其中niqe值越低,感知质量越好;

自然图像质量评价,全盲,无失真,无参考,图像质量评价指标

作者readme.md中有具体使用方式:

cd NIQE_Script
python niqe.py --path=../results

其他需要补充的

1.单尺度鉴别器

  • 单尺度鉴别器,也就是改了Unet网络,在其中加入了AB和CB模块,其中AB采用的是门机制;

2.主要关注的是使用多尺度鉴别器的时候,如何做的

  • 多尺度就是加了一个均值池化,将特征图大小缩小两倍。

视频算法分析介绍PSNR、NIQE、VMAF、MS-SSIM, SSIM and DMOS、JND

全篇看完,感觉像是水经验的,看论文模型是以RealESRGAN为预训练模型的,可能RealESRGAN再训练400K iterations也能有如此效果;且论文改变了衡量方式,以前都是PSNR和SSIM值,可能效果差才换了一个衡量方式。

Clone this wiki locally