SRGAN 使用指南:将低分辨率图像转换为高分辨率图像

2023-11-29 10:52

本文主要是介绍SRGAN 使用指南:将低分辨率图像转换为高分辨率图像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SRGAN、ESRGAN、Real-ESRGAN 使用指南

    • SRGAN
      • 网络结构
      • 优化目标
    • ESRGAN
    • Real-ESRGAN

 


SRGAN

超分辨率:从低分辨率(LR)图像来估计其对应高分辨率(HR)图像的任务,被称作超分辨率(SR)。

SRGAN 图像超分辨率的深度学习模型,通过生成对抗网络(GAN)的训练,将低分辨率图像转换为高分辨率图像。

SRGAN 项目代码:https://github.com/tensorlayer/srgan

网络结构

分为 2 部分:

  • 生成器:残差模块(不改特征分辨率,图中的 B 个残差块)+ 上采样模块(提高分辨率,图中的反卷积层、重建层)
  • 判别器:卷积层(通道数不断增加,通道数增加一倍,特征分辨率减一半)

    上采样模块是,亚像素卷积上采样模块,通过卷积和像素重排操作实现上采样,可以保持图像的细节信息。

不是普通的上采样层,通过插值算法实现上采样,简单但可能会导致图像的细节信息丢失。

优化目标

分为 3 部分:感知损失、内容损失、对抗损失。

  • 感知损失 是基于感知质量评价指标(使用预训练的感知质量评价网络(如VGG网络)中的特征提取器来提取生成图像和真实图像的特征,并计算它们之间的欧氏距离)计算的。测量生成图像与真实高分辨率图像之间的感知差异。具体而言,通过计算生成图像和真实图像在特征空间中的距离,可以评估它们的相似性。感知损失帮助生成器学习到更接近真实图像的内容和结构

  • 内容损失 是基于均方误差(MSE)计算的。它测量生成图像与真实高分辨率图像之间的像素级差异。内容损失帮助生成器学习到更接近真实图像的细节和颜色

  • 对抗损失 是对抗性损失是通过判别器网络来评估生成图像的真实性,用于指导生成图像更逼真的外观和纹理

 


感知损失:内容损失 + 对抗性损失 × 权重

l S R l^{SR} lSR l X S R l_{\mathbf{X}}^{SR} lXSR 是同一个损失函数 l 的不同形式或表示。

l S R l^{SR} lSR 是总体损失函数,包括了两个部分: l X S R l_{\mathbf{X}}^{SR} lXSR 1 0 − 3 l G e n S R 10^{-3}l_{Gen}^{SR} 103lGenSR

  • 表示生成器网络的整体损失,用于优化生成器网络的训练。

l X S R l_{\mathbf{X}}^{SR} lXSR 是生成图像与真实高分辨率图像之间的差异损失函数。

  • 用于度量生成图像与真实图像之间的差异,并作为总体损失的一部分,目标是使生成图像尽可能接近真实高分辨率图像。

l X S R l_{\mathbf{X}}^{SR} lXSR 1 0 − 3 l G e n S R 10^{-3}l_{Gen}^{SR} 103lGenSR 是分别计算两个部分的损失函数,并根据一定的权重进行加权求和,得到总体损失函数 l S R l^{SR} lSR

  • 目的是平衡两个部分的重要性,使得生成器网络能够同时优化生成图像与真实图像之间的差异,并通过判别器网络的误分类来提高生成器的性能。

 


内容损失(基于VGG特征空间):将生成器得到ISR图像与IHR图像输入VGG-19网络,对每一层的特征映射计算欧式距离。

 


对抗损失:通过添加Gan生成网络损失,鼓励网络欺骗鉴别器。

 


ESRGAN

 


Real-ESRGAN

这篇关于SRGAN 使用指南:将低分辨率图像转换为高分辨率图像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/432546

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c