【EDSR】《Enhanced Deep Residual Networks for Single Image Super-Resolution》

news2025/1/22 16:07:14

在这里插入图片描述

CVPR workshops-2017

code:

  • https://github.com/limbee/NTIRE2017/tree/master
  • https://github.com/sanghyun-son/EDSR-PyTorch

文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
    • 4.1 Residual blocks
    • 4.2 Single-scale model
    • 4.3 Multi-scale model
  • 5 Experiments
    • 5.1 Datasets and Metrics
    • 5.2 Geometric Self-ensemble
    • 5.3 Evaluation on DIV2K Dataset
    • 5.4 Benchmark Results
    • 5.5 NTIRE2017 SR Challenge
  • 6 Conclusion(own)


1 Background and Motivation

single image super-resolution(SISR)aims to reconstruct a high-resolution image I S R I^{SR} ISR from a single low-resolution image I L R I^{LR} ILR

I L R I^{LR} ILR I S R I^{SR} ISR 的关系因应用场景而异,比如 bicubic downsampled 关系,blur,decimation(抽取) or noise

现有方法要么网络结构设计的不太稳定,要么 treat super-resolution of different scale factors as independent problems

作者设计了 single-scale SR model——enhanced deep super-resolution network(EDSR),和 multi-scale deep super-resolution system (MDSR)

2 Related Work

learn mapping functions between I L R I^{LR} ILR and I H R I^{HR} IHR image pairs

learning methods from neighbor embedding to sparse coding

第一篇用 DCNN 做 SR 的《Learning a deep convolutional network for image super-resolution》(ICCV-2014)

encoder

3 Advantages / Contributions

提出 single-scale SR model EDSR(改进了 residual block)和 multi-scale SR model MDSR(新结构)

Our proposed single-scale and multi-scale models have achieved the top ranks in both the standard benchmark datasets and the DIV2K dataset.

在这里插入图片描述

4 Method

4.1 Residual blocks

applying ResNet architecture directly to low-level vision problems like super-resolution can be suboptimal.

在这里插入图片描述
作者学习 SRResNet 去掉了 skip connection 后的 ReLU,在此基础上,又去掉了 BN,去掉 BN 的理由如下:

they get rid of range flexibility from networks by normalizing the features, it is better to remove them

4.2 Single-scale model

在这里插入图片描述

upsample 是 x2 or x3 or x4,根据任务要求来


深度为 B 宽度为 F 的网络 occupy O ( B F ) O(BF) O(BF) memory with O ( B F 2 ) O(BF^2) O(BF2)

提升宽度可以显著提升 model capacity,但是 inception-v4 中观察到 if filters number(width) 超过 1000,网络迭代后会慢慢死掉(average pooling 之前的 layer的输出为0),作者加大宽度的时候也会遇到这个问题,解决办法, Scaling of the Residuals——【Inception-v4】《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》

在这里插入图片描述
factor 0.1


作者用 x2 的模型作为预训练,来训练 x4 的,效果比直接从头开始训练 x4 的要好
在这里插入图片描述

4.3 Multi-scale model

在这里插入图片描述
不知道 Single-scale model 的基础上直接多尺度输出,效果 OK 不

这样多少有点冗余的感觉

训练的时候,对应任务部分才训练,其余部分都冻住,例如训练 x2 SR 的时候,x3 和 x4 相关 resblock 被冻结

construct the minibatch with a randomly selected scale among ×2, ×3 and ×4.

Only the modules that correspond to the selected scale are enabled and updated

在这里插入图片描述
Baseline 参数量比较小,MDSR 中等,EDSR 设计的比较大

单个 MDSR 网络肯定是大的,但比起 3个同等规模的 EDSR 来说,会省下一些参数量

5 Experiments

we use the RGB input patches of size 48×48 from LR image with the corresponding HR patches.

5.1 Datasets and Metrics

Datasets

  • DIV2K:2K resolution
  • Set5
  • Set14
  • B100
  • Urban100
  • NTIRE 2017 Super-Resolution Challenge

评价指标

  • peak signal-to-noise ratio (PSNR)
  • SSIM

5.2 Geometric Self-ensemble

就是 TTA——test time augmentation 吧

在这里插入图片描述
作者用 flip 和 rotation 产生另外 7 种包含原始输入共 8 种 inputs,推理后, inverse transform to those output images,最后 8个结果平均

eg 顺时针旋转 30 度的图 SR 后,逆时针转 30 回来

在这里插入图片描述
上面表达式中 n n n 表示输入图片的索引,i 是 transformation 的索引

LR = low resolution

SR = super resolution

论文中如果用了 Geometric Self-ensemble,模型名称后面会有个 +

5.3 Evaluation on DIV2K Dataset

在这里插入图片描述
作者用 L1 loss 替换 L2 loss,从第一列和第二列结果对比来看,L1 要好

其实抛开参数量谈效果,很流氓,但作者也说了这篇文章的 motivation,this work is initially proposed for the purpose of participating in the NTIRE2017 Super-Resolution Challenge——技术报告

5.4 Benchmark Results

在这里插入图片描述
在这里插入图片描述

效果对比起来看,确实 OK

5.5 NTIRE2017 SR Challenge

在这里插入图片描述

在这里插入图片描述

6 Conclusion(own)

  • applying ResNet architecture directly to low-level vision problems like super-resolution can be suboptimal.
  • geometric self-ensemble is valid only for symmetric downsampling methods such as bicubic downsampling

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive 数据迁移与备份

迁移类型 同时迁移表及其数据(使用import和export) 迁移步骤 将表和数据从 Hive 导出到 HDFS将表和数据从 HDFS 导出到本地服务器将表和数据从本地服务器复制到目标服务器将表和数据从目标服务器上传到目标 HDFS将表和数据从目标 HDFS 上传到目标 Hiv…

王老吉药业开拓数字经济“新蓝海”,成立数字经济研究所,科技赋能新品压片糖

3月12日,广州王老吉药业股份有限公司(以下简称“王老吉药业”)召开第十一届312感恩活动新闻发布会,宣告王老吉数字经济研究所成立,并发布王老吉压片糖新品。一系列重要重要举措,无一不标志着王老吉药业正以…

基于python的变配电室运行状态评估与预警系统flask-django-nodejs-php

近年来,随着我国工业化、城镇化步伐的不断加快,城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心,在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段,如有一日遭遇突发情…

Sentinel(熔断规则)

慢调用比例 慢调用比例( SLOM_REQUEST_RATTo ):选择以慢调用比例作为阈值,需要设置允许的慢调用RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,…

【web前端】CSS语法

CSS语法 1. CSS语法格式 通常情况下语法格式如下: 选择器{属性名:属性值;属性名:属性值;属性名:属性值;... }2. CSS添加方式 2.1 行内样式 直接将样式写在本行的标签内。 <h1><p style"font-size: 48px; color:red;";>行内样式测试</p></…

es 集群安全认证

参考文档&#xff1a;Configure security for the Elastic Stack | Elasticsearch Guide [7.17] | Elastic ES敏感信息泄露的原因 Elasticsearch在默认安装后&#xff0c;不提供任何形式的安全防护不合理的配置导致公网可以访问ES集群。比如在elasticsearch.yml文件中,server…

【Godot4.2】2D导航03 - NavigationRegion2D及其使用方法

概述 Godot4.0改进了2D部分的导航&#xff0c;NavigationRegion2D基本可以看做是3.X的Navigation2D的进化版本。 它的基本用法就是先绘制navigation_polygon&#xff0c;也就是导航网格&#xff0c;或者直白点就是“可通行区域”。然后将带有碰撞形状和NavigationAgent2D子节点…

蓝桥杯前端Web赛道-输入搜索联想

蓝桥杯前端Web赛道-输入搜索联想 题目链接&#xff1a;1.输入搜索联想 - 蓝桥云课 (lanqiao.cn) 题目要求&#xff1a; 题目中还包含effect.gif 更详细的说明了需求 那么观察这道题需要做两件事情 把表头的每一个字母进行大写进行模糊查询 这里我们会用到几个js函数&#…

如何用VR全景讲述产品、企业的故事

请记住&#xff0c;你的全景不只是全景&#xff01;使用VR全景来讲述企业或产品的故事是一种创新且互动性强的方法&#xff0c;可以吸引观众并提供沉浸式体验。 运用720云漫游编辑工具的导览功能和数字人功能&#xff0c;您可以创造一个既视觉吸引又能情感连结的故事。 1. 规划…

OpenCV学习笔记(十)——利用腐蚀和膨胀进行梯度计算以及礼帽和黑帽

梯度计算 在OpenCV中&#xff0c;梯度计算是图像处理中的一个基本操作&#xff0c;用于分析图像中像素值的变化速率的方向&#xff0c;其中梯度的方向是函数变化最快的方向&#xff0c;因此在图像中&#xff0c;沿着梯度方向可以找到灰度值变化最大的区域&#xff0c;这通常是…

golang面试题总结

零、go与其他语言 0、什么是面向对象 在了解 Go 语言是不是面向对象&#xff08;简称&#xff1a;OOP&#xff09; 之前&#xff0c;我们必须先知道 OOP 是啥&#xff0c;得先给他 “下定义” 根据 Wikipedia 的定义&#xff0c;我们梳理出 OOP 的几个基本认知&#xff1a; …

Springboot+Redis:实现缓存 减少对数据库的压力

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

期权波动率是什么?怎么计算?

期权波动率 历史波动率&#xff1a;基于历史行情计算出来的历史波动率 我们现在站在现实时点B回顾过去&#xff0c;从A到B这段时间的历史行情我们是知道的&#xff0c;但是基于过去一段时间&#xff0c;标的价格的历史数据计算出来的波动率&#xff0c;就是历史波动率&#x…

c++类和对象(中)类的6个默认成员函数及const成员函数

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;类和对象 主厨&#xff1a;邪王真眼 所属专栏&#xff1a;c专栏 主厨的主页&#xff1a;Chef‘s blog 前言&#xff1a; 咱们之前也是…

字符分类函数

字符分类函数 文章目录 前言1. 字符分类函数1.2.使用例子 2.2.字符操作函数 前言 在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了⽅便操作字符和字符串&#xff0c;C语⾔标准库中提供了⼀系列库函数&#xff0c;接下来我们就学习⼀下这些函数。 1. 字…

搭建项目后台系统基础架构

任务描述 1、了解搭建民航后端框架 2、使用IDEA创建基于SpringBoot、MyBatis、MySQL、Redis的Java项目 3、以原项目为参照搭建项目所涉及到的各个业务和底层服务 4、以原项目为例&#xff0c;具体介绍各个目录情况并参照创建相关文件夹 1、创建项目后端 BigData-KongGuan …

Linux发布项目(包括前端和后端)到OpenEuler虚拟机上

后端&#xff1a;SpringBoot 前端&#xff1a;VUE3 操作系统&#xff1a;Linux 虚拟机&#xff1a;OpenEuler 发布项目是需要关闭虚拟机上的防火墙 systemctl stop firewalld 一、发布后端项目到虚拟机 1打包后端项目为jar包 2将打包后的jar包放到虚拟机 /opt 目录下 3 运行项…

接口自动化测试流程、工具及实践(完整版)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、接口自动化测试简介 接口自动化测试是指通过编写脚本或使用自动化工具&#xff0c;对软件系…

小朋友排队(蓝桥杯,acwing,归并)

题目描述&#xff1a; n 个小朋友站成一排。 现在要把他们按身高从低到高的顺序排列&#xff0c;但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。 开始的时候&#xff0c;所有小朋友的不高兴程度都是 0。 如果某个小朋友第一次被要求交换&#…

算法之前缀和

题目1: 【模板】一维前缀和&#xff08;easy&#xff09; 方法一: 暴力解法, 时间复杂度O(n*q), 当n10^5, q 10^5, 时间复杂度为O(10^10), 会超时. 方法二: 前缀和: 快速求出数组中某一段连续区间的和. 第一步: 预处理出来一个前缀和数组dp: 1. dp[i]表示区间[1,i]里所有元…