SRGAN超分辨率网络

简介: SRGAN超分辨率网络

前言

论文:http://arxiv.org/abs/1609.04802

参考:超分辨率论文阅读—SRGAN - 知乎


一、SRGAN主要介绍

1、超分辨率问题

由低清图像恢复的高清图像采用的是MSE(Mean Square Error)作为损失函数,该损失函数会造成恢复出来的图像高频信息不足,视觉感知不佳。

使用MSE训练的网络恢复出的图像高频信息不足,整体图像趋于模糊。基于此问题,SRGAN提出使用GAN将恢复的图像拟合到真实数据集的分布上。

论文中有一幅图很好的解释了区别:

 

超分辨率是一个病态问题(ill-posed),一个低清图像块可以对应多个高清图像块。而MSE得到的结果就像是这多个高清图像块(红色框框的图像块)的一个平均,这样所得图像很模糊,不符合真实高清图像(有高中低频信息)的分布,而GAN可以将其拉向真实高清图像的分布(黄色框框的图像块)。

2、解决问题的方法

       1、网络层面:使用更深的网络去拟合更复杂的映射关系,论文找你采用4x采样,退化更加明显,从低清到高清的映射更加复杂。

       2、损失层面:加入perceptual loss. perceptual loss = content loss + adversarial loss

       3、评价指标层面:使用更符合人眼感知的MOS分(mean-opinion-score)评价生成结果。

二、SRGAN主要内容

研究背景:单图像超分辨率(SISR)的准确性和速度取得了突破性进展,但仍然存在一个问题:当我们在大的放大因子下进行超分辨率时,如何恢复更细腻的纹理细节。

研究目的:提出一种生成对抗网络(GAN)用于图像超分辨率(SR),它能够推断出4倍放大因子下的照片级自然图像。为了实现这一目标,作者提出了一种感知损失函数,它由对抗损失和内容损失组成。

1、三个解决问题的方法层面论述

(1)网络层面

因为采用GAN的方式,所以有生成器和判别器。

生成器就是SR通常使用的网络。判别器同样是一个网络结构,其目的是为了判别生成的图像和真实的高清图像。通常判别器的输出一个是一个概率值,表示输入是真实图像的概率。一个好的判别器可以将生成的图像判别为假,真实的高清图像判别为真。

生成器和判别器交替训练。

小tip:为什么判别器要交替训练,为什么不能直接训练一个分类器,然后它有良好的分类性能,直接用这个分类损失做监督不就好了么?

答:不可以,因为并不知道真实的SR的结果是什么,也就是我们没有真实负样本的分布,所以要交替训练。直到判别器判别不出生成图像和真实图像,此时表示生成图像的分布拟合了真实高清图像的分布。

SRGAN由于要解决4x退化的问题,从低清到高清图像有更复杂的映射。所以它采用更深的网络来拟合这种映射。但是更深的网络有一个问题:不容易训练。

针对该问题,论文采用了两个方法缓解:1)添加BN层(Batch Normalization);2)建立跳跃链接(skip-connection) + residual block.

生成器的网络结构:

 

每一个block有Conv-BN-PReLU-Conv-BN-Sum的结构。

跳跃连接有两个地方:1)在block内部有skip-connection; 2) 多个block也由skip-connection进行连接。

生成器一共有16个blocks。

判别器的网络结构:


判别器含有8个卷积层,从第2个卷积层开始,每一个卷积层后面加一个BN层来归一化中间层feature map的分布。判别器采用stride=2来降低分辨率。

注:BN层的引入可加速网络的训练,但是BN层测试时采用的是训练集数据均值和方差的统计量。当测试数据和训练数据分布不一致时,结果会产生artifacts(所以ESRGAN的时候作者去掉了BN层)。

(2)损失层面

使用perceptual loss来提升图像真实度。

perceptual loss= content loss + adversarial loss

问:前面说到在像素层面计算损失容易使图像模糊,缺乏高频信息。那在特征层面进行损失计算呢?

答:比像素层面好。特征层面会各种结构化信息,例如边缘、形状等,当在特征层面约束生成图像和真实图像一致可以避免生成的图像模糊,提升视觉感知。

content loss便采用VGG19网络进行特征提取,在特征层面对生成图像和真实图像进行约束。

其中, φi,j表示第i个max-pooling层前的第j个卷积并经过激活层后的feature map.

论文发现:vgg损失所计算的feature map越由高层网络得到,网络越生成更好的纹理细节

adversarial loss采用公式如下:

其中, , DθD(GθG(ILR))表示的是判别器认为生成图像为真的概率。对抗损失没有采用原生GAN的loss,而是使用−logDθD(GθG(ILR))是为了给生成器提供更好的梯度。

(3)评价指标方面

评价指标不单纯使用PSNR,还使用了MOS分。

PSNR(Peak Signal to Noise Ratio):峰值信噪比

峰值信噪比经常用作图像压缩等领域中信号重建质量的测量方法,它常简单地通过均方差(MSE)进行定义。两个m×n单色图像IK,如果一个为另外一个的噪声近似,那么它们的的均方差定义为:

MOS分则是让用户看图像并从1-5进行打分,1为最差,5为最好,然后统计分值。该评价指标所得结果可以说明人的视觉感知。当MOS分高时表示图像符合人的视觉感知,否则不符合。

从上图可观察道HR MOS分最高,因为其本身就是高清图像;SRGAN其次,说明了SRGAN在提升图像真实度上是可信的。

三、结论

我们已经描述了深度残差网络SRResNet,当使用广泛使用的PSNR度量进行评估时,该深度残差网络SRResNet在公共基准数据集上设置了新的技术状态。我们已经强调了这种PSNR聚焦图像超分辨率的一些限制,并引入了SRGAN,它通过训练GAN来增强具有对抗性损失的内容损失函数。使用广泛的MOS测试,我们已经证实,SRGAN重建的大放大因子(4×),通过相当大的余量,比用现有技术的参考方法获得的重建更照片逼真。



目录
相关文章
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
1341 1
|
机器学习/深度学习 编解码 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
854 11
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
|
机器学习/深度学习 编解码 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
443 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 ICCV 2023的EfficientViT 用于高分辨率密集预测的多尺度线性关注
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
1351 2
|
机器学习/深度学习 编解码 异构计算
ELAN:用于图像超分辨率的高效远程注意力网络
ELAN:用于图像超分辨率的高效远程注意力网络
690 1
|
机器学习/深度学习 编解码 移动开发
CVPR2020丨UDVD:用于可变退化的统一动态卷积超分辨率网络
近些年,基于CNN的方法在图像超分辨率问题上表现出出色的性能。然而大多数方法基于一种退化或者是多种退化的组合,甚至去训练特定的模型以适应特定的退化过程。因此更加实际的方法是训练单独的模型以适用多样可变的退化。
CVPR2020丨UDVD:用于可变退化的统一动态卷积超分辨率网络
|
机器学习/深度学习 编解码 算法
CVPR2020丨DRN:用于单图像超分辨率的对偶回归网络
论文针对这两个主要的问题进行改进,提出了对偶回归策略,通过引入对 LR 图像额外的约束,从而减小解空间的大小。也就是说,模型除了学习LR到HR图像的映射外,还学习了额外的对偶回归映射,用于估计下采样内核并重建LR图像,从而形成一个闭环以提供额外的监督。
CVPR2020丨DRN:用于单图像超分辨率的对偶回归网络
|
存储 机器学习/深度学习 编解码
使用训练分类网络预处理多分辨率图像
说明如何准备用于读取和预处理可能不适合内存的多分辨率全玻片图像 (WSI) 的数据存储。肿瘤分类的深度学习方法依赖于数字病理学,其中整个组织切片被成像和数字化。生成的 WSI 具有高分辨率,大约为 200,000 x 100,000 像素。WSI 通常以多分辨率格式存储,以促进图像的高效显示、导航和处理。 读取和处理WSI数据。这些对象有助于使用多个分辨率级别,并且不需要将图像加载到核心内存中。此示例演示如何使用较低分辨率的图像数据从较精细的级别有效地准备数据。可以使用处理后的数据来训练分类深度学习网络。
792 0
|
机器学习/深度学习 编解码 数据可视化
不是每张图都要高清,华为诺亚动态分辨率网络入选NeurIPS 2021
华为诺亚实验室联合浙江大学、中国科学院大学等高校提出一种新型视觉神经网络加速技术 Dynamic Resolution Network(DRNet),不仅有效地节省了推理时间,还显著地提高了识别准确度。相关论文已中稿 NeurIPS 2021。
383 0
不是每张图都要高清,华为诺亚动态分辨率网络入选NeurIPS 2021
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
390 17