当前位置: 首页 > news >正文

【论文阅读】ESRGAN+

学习资料

  • 论文题目:进一步改进增强型超分辨率生成对抗网络(ESRGAN+ : FURTHER IMPROVING ENHANCED SUPER-RESOLUTION GENERATIVE ADVERSARIAL NETWORK)
  • 论文地址:2001.08073
  • 代码:ncarraz/ESRGANplus: ICASSP 2020 - ESRGAN+: 进一步改进增强型超分辨率生成对抗网络 - ICPR 2020 - Tarsier: 超分辨率 GAN 中不断发展的噪声注入

1. WHY

尽管 ESRGAN 能够生成视觉质量较好的图像,但仍有提升空间。作者旨在进一步提高 ESRGAN 生成图像的感知质量,缩小生成图像与真实图像之间的差距。

2. WHAT

2.1. ESRGAN +

ESRGAN 的基本块使得网络易于训练且容量较高。本文保持 ESRGAN 的整体架构不变,但将其中的 Dense 块替换为新提出的块。

新块名为 Residual - in - Residual Dense Residual Block(RRDRB),它在 RRDB(Residual - in - Residual Dense Block)的基础上进行了改进。RRDB 原本具有残差 - 残差结构且主路径中有 Dense 块,新块在 Dense 块内部又增加了一个层次的残差学习,也就是每两层就添加一个残差。这样做的好处是,在不增加网络复杂度的情况下提升了网络容量。

例如,原来的 Dense 块在处理图像特征时可能能力有限,新的结构可以让网络更好地学习和利用图像特征,就像给网络增加了更多的 “工具” 来处理图像信息,从而使生成图像的视觉质量比使用简单 Dense 块时更好。

从特征利用角度看,新架构结合了 ResNet 能重用特征和 DenseNet 能发现新特征的优点,所以能生成感知质量更高的图像,使用这种新架构的模型被命名为 ESRGAN +。

上:密集块是ESRGAN的RRDB中使用的主要路径。下:在密集块中,每两个层添加一个残差。

2.2. nESRGAN +

引入噪声的目的和方式:在人脸生成领域已经有将噪声添加到生成器的做法,且效果较好,但在超分辨率领域尚未应用。本文为了让生成的图像具有随机细节,在生成器架构中引入噪声输入。具体来说,在每个残差密集块的输出添加高斯噪声,同时还有学习到的每个特征的缩放因子。例如,网络在处理图像时,每经过一个残差密集块,就会给输出的图像特征加上一些随机的噪声,这些噪声会根据学习到的缩放因子进行调整。

噪声对图像的影响:这种随机变化只会影响图像的某些局部方面,不会改变我们对图像的整体感知。比如,对于一幅风景图像,添加噪声后,图像的整体形状、主要物体的布局等大的方面不会改变,但像树叶、草地等局部细节会变得更加随机和丰富。这样做的好处是,网络不需要专门生成空间变化的伪随机数来提供细节,从而可以将原本用于生成随机数的网络容量高效利用起来,在高级方面(如整体结构和高层次信息保持不变的情况下)提供更精细的细节。同时使用新块和噪声输入的模型被称为 nESRGAN +。

2.3. 实验

训练集

DIV2K:包含 2K 分辨率的图像;数据集原本有 800 张图像,实验中通过随机水平翻转和旋转进行数据增强,以扩充训练数据量

测试集

BSD100、Urban100、OST300、Set5、Set14、PIRM 

图像预处理

低分辨率(LR)图像通过对高分辨率(HR)图像使用双三次核(bicubic kernel)下采样得到,缩放因子为\times 4

并且裁剪出128\times 128的 HR 子图像用于训练。

训练参数设置

小批量设置(mini - batch)16(每次训练时使用16张图像进行计算和参数更新)
模型初始化利用一个以 PSNR(峰值信噪比)为导向的预训练模型来初始化生成器,为后续训练提供一个较好的初始参数状态。
损失函数参数损失函数保持不变,其中\lambda =5\times 10^{-3}\eta =1\times 10^{-2},这些参数用于平衡不同损失项在总损失中的比重。
学习率策略初始学习率设置为1\times 10^{-4},并且在训练过程中的50k100k200k300k次迭代时将学习率减半,以逐步调整模型的学习步长,使模型在训练后期能够更精细地收敛。
优化器设置采用 Adam 优化器来优化模型参数,其中\beta _{1}=0.9\beta _{2}=0.999,这些超参数控制着优化器对梯度的估计和权重更新的方式。

训练硬件

训练过程在 NVIDIA Tesla K80 GPUs 上进行,利用其强大的计算能力加速训练过程。

模型结构

训练所使用的生成器具有23个块,模型的实现基于 Pytorch 框架,该框架提供了高效的深度学习模型构建和训练功能。

3. HOW

3.1. 定量评估

在 PIRM 数据集上评估模型,在 YCbCr 颜色空间中,仅测量亮度通道上的 PSNR(峰值信噪比),同时使用 PIRM - SR 挑战赛中的感知指数(基于 Ma's scoreNIQE,计算方式为$\frac{1}{2}\left ( \left ( 10-Ma \right ) +NIQE\right )$)进行评估。

结果显示,ESRGAN + 和 nESRGAN + 模型在感知质量方面始终优于 ESRGAN,nESRGAN + 在 PIRM 数据集上的感知分数更好,突出了噪声输入在生成器网络中的优势,但噪声注入的泛化存在局限性,如在 Urban100 和 OST300 数据集上,添加噪声对某些图像类别(如建筑物图像)的感知质量提升不明显。

最佳和第二最佳结果分别用高亮和下划线标出。

我们使用感知指数(右侧的数值)进行评估,但也提供了PSNR(左侧的数值)作为参考。

3.2. 定性评估

通过对比基于 PSNR 和感知质量的模型(如 SRCNN、EnhanceNet、SRGAN、ESRGAN 等),使用 Set14 数据集图像进行定性比较。结果表明,作者提出的模型重建的图像具有更详细的结构,与真实图像更难区分,并且能较好地保留原始图像的大部分纹理,如男孩的肤色等。

相关文章:

【论文阅读】ESRGAN+

学习资料 论文题目:进一步改进增强型超分辨率生成对抗网络(ESRGAN : FURTHER IMPROVING ENHANCED SUPER-RESOLUTION GENERATIVE ADVERSARIAL NETWORK)论文地址:2001.08073代码:ncarraz/ESRGANplus: ICASSP …...

北京市首发教育领域人工智能应用指南,力推个性化教育新篇章

近年来,人工智能在全球教育领域的应用呈现蓬勃发展之势,各国都在探索如何将其更好的融入教育体系,在这一背景下,北京市于10月26日发布《北京市教育领域人工智能应用指南》(以下简称《指南》),推…...

【Java并发编程】信号量Semaphore详解

一、简介 Semaphore(信号量):是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。 Semaphore 一般用于流量的控制,特别是公共资源有限的应用场景。例如数据库的连接&am…...

window11使用wsl2安装Ubuntu22.04

目录 1、快速了解wsl2 安装子系统linux流程(B站视频) 2、wsl2常用命令 3、windows与子系统Linux文件访问方法 4、子系统linux使用windows网络代理、网络配置(镜像网络,非NAT) 5、wsl2 Ubuntu miniconda 安装 6、…...

虚拟滚动 - 从基本实现到 Angular CDK

简介 在大数据列表的处理上,虚拟滚动是一种优化性能的有效方式。本篇文章将详细介绍两种常见的虚拟滚动实现方式:使用 transform 属性和 Intersection Observer。重点讲解如何通过 transform 属性实现高效的虚拟滚动,并对比Angular CDK中的实…...

Spring WebFlux学习笔记(一)

核心思想 WebFlux主要是异步 例子 参考一个源码&#xff1a; https://blog.csdn.net/qq_43923045/article/details/106309432?spm1001.2014.3001.5506 GetMapping("/delay1")public Mono<RestResult> delayResult() {long l System.currentTimeMillis();…...

富格林:正确追损思维安全交易

富格林指出&#xff0c;对于如何正确追损的这个问题是需要持续付出时间和精力的&#xff0c;发现具备耐心的投资者往往在正确追损的路上更加游刃有余。他们总是可以保持较为平和的心态&#xff0c;不急不躁地分析原因并通过自身掌握的安全应对措施来进行交易。富格林在以下分享…...

前端vue2迁移至uni-app

1.确定文件存放位置 components: 继续沿用 pages: views内容移动到pages static: assets内容移动到static uni_modules: uni-app的插件存放位置 迁移前 src├─assets│ └─less├─components│ ├─common│ │ ├─CommentPart│ │ └─MessDetail│ ├─home│…...

恋爱脑学Rust之闭包三Traits:Fn,FnOnce,FnMut

在Rust中&#xff0c;FnOnce、FnMut和Fn是三个用于表示闭包&#xff08;closure&#xff09;类型的trait。闭包是一种特殊的函数&#xff0c;它可以捕获其环境变量&#xff0c;即在其定义时所处的作用域中的变量。以下是关于这三个trait的详细介绍&#xff1a; 1. FnOnce&#…...

区块链介绍

区块链&#xff08;英文名&#xff1a;blockchain或block chain&#xff09;是一种块链式存储、不可篡改、安全可信的去中心化分布式账本&#xff0c;它结合了分布式存储、点对点传输、共识机制、密码学等技术&#xff0c;通过不断增长的数据块链&#xff08;Blocks&#xff09…...

git回滚间隔的提交

如果你需要回滚几个非连续的提交&#xff0c;可以使用 git revert 来选择性地撤销这些提交。这样做不会改变提交历史&#xff0c;只是会在当前分支上创建新的提交来反转指定的更改。 ### 使用 git revert 回滚间隔的提交 1. **查看提交历史**&#xff1a; 首先&#xff0c…...

Map和Set(数据结构)

一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字&#xff08; Key &#xff09;&#xff0c;和关键字对应的称为值&#xff0…...

vue3uniapp实现自定义拱形底部导航栏,解决首次闪烁问题

前言&#xff1a; 我最初在网上翻阅查找了很多方法&#xff0c;发现大家都是说在page.json中tabbar中添加&#xff1a;"custom": true,即可解决首次闪烁的问题&#xff0c;可是添加了我这边还是会闪烁&#xff0c;因此我这边改变了思路&#xff0c;使用了虚拟页面来解…...

新需求编码如何注意低级错误代码

1. 日常开发常见错误问题 变量拷贝未修改变量定义的值刚开始是随意写的一个值&#xff0c;想等到上线的时候再改成正确的&#xff0c;但是上线的时候忘记改了程序常量配置的错误逻辑关系判断错误 常见的如都不为null、都不为空集合判断不为空逻辑取反了多个关系的 && …...

系统架构图设计(行业领域架构)

物联网 感知层&#xff1a;主要功能是感知和收集信息。感知层通过各种传感器、RFID标签等设备来识别物体、采集信息&#xff0c;并对这些信息进行初步处理。这一层的作用是实现对物理世界的感知和初步处理&#xff0c;为上层提供数据基础网络层&#xff1a;网络层负责处理和传输…...

windows 文件监控 c++ 11及以上版本可用

在该版本上稍微改了一下https://blog.csdn.net/weixin_50964512/article/details/125002563 #include<iostream> #include<string> #include<Windows.h> #include<list> #include<locale> using namespace std;class WatchFolder {HANDLE m_hFi…...

jsMind:炸裂项目,用JavaScript构建的思维导图库,GitHub上的热门开源项目

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和工作学习方法 jsMind 是一个基于 JavaScript 的思维导图库&#xff0c;它利用 HTML5 Canvas 和 SVG 技术构建&#xff0c;可以轻松地在网页中嵌入和编辑思维导图。它以 …...

postman的脚本设置接口关联

pm常用的对象 变量基础知识 postman获取响应结果的脚本的编写 下面是购物场景存在接口信息的关联 登录进入---搜索商品---进入商品详情---加入购物车 资源在附件中&#xff0c;可以私聊单独发送 postman的SHA256加密 var CryptoJS require(crypto-js);// 需要加密的字符串 …...

【python】OpenCV—Tracking(10.3)—GOTURN

文章目录 1、功能描述2、模型介绍3、代码实现4、完整代码5、结果展示6、优缺点分析7、参考 1、功能描述 基于 Generic Object Tracking using Regression Networks 方法&#xff0c;实现单目标跟踪 2、模型介绍 &#xff08;1&#xff09;发表来自 Held D, Thrun S, Savarese…...

git pull遇到一个问题

shell request failed on channel 0 需要修改服务器配置[rootadmin ~]# cat /etc/security/limits.d/20-nproc.conf # Default limit for number of users processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning.* soft nproc 409…...

书生-第四期闯关:完成SSH连接与端口映射并运行hello_world.py

端口映射完成后&#xff0c;访问127.0.0.1&#xff1a;7860成功展示如下界面&#xff1a; 书生浦语大模型实战营 项目地址&#xff1a;https://github.com/InternLM/Tutorial/...

【CSS3】css开篇基础(5)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

AI产品独立开发变现实战营,炒掉老板做自由职业赚大钱

课程背景 在经济下行和外部就业压力增大的背景下&#xff0c;为解决程序员的焦虑、失业和被裁员&#xff0c;我们开始了这门课程&#xff0c;课程基于3个真实已经盈利的商业项目&#xff0c;从0到1带你实践AI产品的设计、开发、运营和盈利模式的全流程开发。 课程特色 增加‘…...

【UE5.3 Cesium for Unreal】编译GlobePawn

目录 前言 效果 步骤 一、下载所需文件 二、下载CesiumForUnreal插件 三、处理下载的文件 四、修改代码 “CesiumForUnreal.uplugin”部分 “CesiumEditor.cpp”部分 “CesiumEditor.h”部分 “CesiumPanel.cpp”部分 “IonQuickAddPanel.cpp”部分 “IonQuickAd…...

idea连接数据库出现错误的解决方式

在使用idea连接数据库时&#xff0c;出现错误&#xff1a; The server has terminated the handshake. The protocol list option (enabledTLSProtocols) is set, this option might cause connection issues with some versions of MySQL. Consider removing the protocol li…...

数据分级分类工具:敏感数据识别中的AI智能化转型之路

背景 在现代数字化和信息化飞速发展的背景下&#xff0c;数据安全愈发成为企业与组织的重要课题&#xff0c;尤其是敏感数据的保护更是重中之重。敏感数据的泄露不仅会导致商业损失和法律责任&#xff0c;还会直接影响客户信任和企业声誉。为此&#xff0c;数据分级分类工具逐…...

乘云而上,OceanBase再越山峰

一座山峰都是一个挑战&#xff0c;每一次攀登都是一次超越。 商业数据库时代&#xff0c;面对国外数据库巨头这座大山&#xff0c;实现市场突破一直都是中国数据库产业多年夙愿&#xff0c;而OceanBase在金融核心系统等领域的攻坚克难&#xff0c;为产业突破交出一副令人信服的…...

设计模式4-工厂模式策略模式

目录 一 工厂模式 1.1 思想 1.2 案例 1.2.1 接口 1.2.2 实现类 1.2.3 工厂类 1.2.4 调用 二 策略模式 2.1 思想 2.2 案例 2.2.1 接口 2.2.2 实现类 2.2.3 策略类 2.2.4 调用 三 工厂模式策略模式 3.1 思想 3.2 案例 3.2.1 接口 3.2.2 实现类 3.2.3 定义F…...

使用Html5基本标签实现“时空电影网”案例步骤及详细代码

根据您的需求&#xff0c;我为您实现了对“时空电影网”电影节页面的美化。以下是详细的步骤&#xff1a; 设置一级标题“电影节”文字的颜色&#xff1a;将一级标题的颜色设置为深蓝色&#xff08;#0000FF&#xff09;。 <h1><font color"darkblue">电…...

Servlet 3.0 新特性全解

文章目录 Servlet3.0新特性全解Servlet 3.0 新增特性Servlet3.0的注解Servlet3.0的Web模块支持servlet3.0提供的异步处理提供异步原因实现异步原理配置servlet类成为异步的servlet类具体实现异步监听器改进的ServletAPI(上传文件) Servlet3.0新特性全解 tomcat 7以上的版本都支…...

外贸网站做流量/武汉网站推广公司

这篇文章主要为大家详细介绍了python忽略警告(warning) 错误实现方法&#xff0c;具有一定的参考价值&#xff0c;可以用来参考一下。对python这个高级语言感兴趣的小伙伴&#xff0c;下面一起跟随512笔记的小编两巴掌来看看吧&#xff01;运行一个python文件&#xff0c;一直报…...

建设部网站危房鉴定标准规定/免费网站模板网

时间同步: 首先需了解linux内一任务计划工具crontabcrontab可以定时去执行你要做的动作直接用crontab命令编辑crontab -u //设定某个用户的cron服务&#xff0c;一般root用户在执行这个命令的时候需要此参数crontab -l //列出某个用户cron服务的详细内容crontab -r //删除某个用…...

加国无忧51工作网/网络营销推广seo

使用css实现任意大小&#xff0c;任意方向&#xff0c; 任意角度的箭头网页开发中&#xff0c;经常会使用到 下拉箭头&#xff0c;右侧箭头 这样的箭头。 一般用css来实现&#xff1a;{display: inline-block;margin: 72px;border-top: 24px solid;border-right: 24px solid;wi…...

网站投票页面怎么做/广西网站建设

数据详解&#xff1a;$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<1>UTC 时间&#xff0c;hhmmss(时分秒)格式<2> 定位状态&#xff0c;A有效定位&#xff0c;V无效定…...

池州最好的网站建设/seo服务外包价格

一直非常不愿意指名道姓地叙述往事&#xff0c;但上周末一篇刷遍微信朋友圈的文章&#xff08;《陈年&#xff1a;凑热闹的公司都会烟消云散》&#xff09;&#xff0c;终于使我忍不住&#xff0c;决定也是时候实话实说。 本文尽量客观地记录事实及个人的想法&#xff0c;但因为…...

做网站类型/缅甸新闻最新消息

满意答案chowjack推荐于 2019.10.23采纳率&#xff1a;57% 等级&#xff1a;10已帮助&#xff1a;3269人1、意思是&#xff1a;在 xxx 之前 应输入表达式。2、下面为C语言的错误大全及中文解释&#xff1a;1: Ambiguous operators need parentheses — 不明确的运算需要用括…...