Pytorch-RealSR超分模型

1.前言

        RealSR 是一种基于学习的单图像超分辨率(SISR)模型,专门针对真实世界的图像。它由腾讯 AI 实验室于 2020 年提出。

        RealSR 的核心创新是提出了一种新的退化模型,该模型能够更好地模拟真实世界的退化过程。该模型考虑了真实世界图像中存在的多种退化因素,包括模糊、噪声和色彩失真。

        RealSR 还提出了一种新的网络架构,该架构能够更好地学习真实世界的退化模型。该网络架构采用了一种递归结构,能够逐渐恢复高分辨率图像的细节。

        RealSR 在多个真实世界图像超分辨率数据集上进行了测试,并取得了优异的性能。例如,在 Set5 数据集上,RealSR 的 PSNR 比传统的 SISR 模型高出约 0.5 dB。

REALSR算法分析

        RealSR 生成的图像

        RealSR 的优势包括:

  • 能够更好地模拟真实世界的退化过程,从而生成更逼真的高分辨率图像。
  • 具有较高的性能,在多个真实世界图像超分辨率数据集上都取得了优异的结果。

        RealSR 的应用包括:

  • 图像增强:将低分辨率图像增强为高分辨率图像,以提高图像的清晰度和细节。
  • 图像修复:修复低分辨率图像中的噪声、模糊和其他缺陷。
  • 图像分割:提高图像分割的准确性。

2.模型下载

        文中的源代码是jixiaozhong的github博主的链接在这里RealSR

        如果访问github比较慢的话,可以下载我上传的百度链接:          

https://pan.baidu.com/s/1gpa_J3cTbVbW05Hk22vRvQ 提取码: ypuh 

文件目录:

 下载百度链接文件

修改codes/options/df2k目录下的test_df2k.yml

根据自己的路径修改:dataroot_LR和pretrain_model_G

name: Track1
suffix: ~  # add suffix to saved images
model: srgan
distortion: sr
scale: 4
crop_border: ~  # crop border when evaluation. If None(~), crop the scale pixels
gpu_ids: [0]

datasets:
  test_1:  # the 1st test dataset
    name: DIV2K
    mode: LR
    dataroot_LR: /home/usrname/data/Internal_testing/deep-learning-for-image-processing/RealSR/codes/ntire20/Corrupted-te-x

#### network structures
network_G:
  which_model_G: RRDBNet
  in_nc: 3
  out_nc: 3
  nf: 64
  nb: 23
  upscale: 4

#### path
path:
  pretrain_model_G: /home/usrname/data/Internal_testing/deep-learning-for-image-processing/RealSR/codes/pretrained_model/DF2K.pth
  results_root: ./results/

执行: python3 test.py -opt options/df2k/test_df2k.yml

        如果没有GPU:

        (1)修改codes/models目录下的base_model.py,修改self.device ="cpu"

        (2)修改codes/models目录下的networks.py,修改device ="cpu"

3.执行结果

        输入模型的图片是510*388,超分了16倍变成2040*1352,下面是运行的结果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多臂老虎机算法步骤

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

毅速:3D打印随形冷却水路助力模具行业降本、提质、增效

随着模具行业的不断发展,模具制造的精度和效率已经成为企业核心竞争力的重要组成部分。为了满足市场需求,模具行业一直在寻求新的制造技术和方法。3D打印技术的出现,为模具行业带来了革命性的变革。其中,3D打印随形冷却水路的应用…

Ubuntu 常用命令之 clear 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 clear命令在Ubuntu系统下用于清除终端屏幕的内容。这个命令没有任何参数,它的主要作用就是清理终端屏幕上的所有信息,使得屏幕看起来像是新打开的一样。 使用clear命令非常简单,只需要在终端中…

Day68力扣打卡

打卡记录 得到山形数组的最少删除次数&#xff08;线性DP 前后缀分解&#xff09; 链接 class Solution:def minimumMountainRemovals(self, nums: List[int]) -> int:n len(nums)pre, suf [1] * n, [1] * nfor i in range(n):for j in range(i):if nums[j] < nums[…

Liteos移植_STM32_HAL库

0 开发环境 STM32CubeMX(HAL库)keil 5正点原子探索者STM32F4ZET6LiteOS-develop分支 1 STM32CubeMX创建工程 如果有自己的工程&#xff0c;直接从LiteOS源码获取开始 关于STM32CubeMX的安装&#xff0c;看我另一篇博客STM32CubeMX安装 工程配置 创建新工程 选择芯片【STM32F…

16 寻找特定高度的地点

搜索二维数组 #include <iostream> using namespace::std; using std::cout; using std::cin; int main() {int n,m,target;cin >> n >> m;int matrix[n][m];for(int i0; i<n; i){for(int j0; j<m; j){cin >> matrix[i][j];}}cin >> tar…

求职方略-倒金字塔型自我介绍

第一步,开头第一句话提纲挈领,点出你的主要“卖点” 自我介绍的第一句话很重要,要有足够的吸引力,有足够的信息量,还要有足够的说服力,能产生先声夺人的效果。 一般的自我介绍喜欢按照时间线索依次介绍自己的经历,例如:“我大学毕业后就进入一家大公司的研发中心,工…

Ubuntu环境下使用Livox mid 360

参考文章&#xff1a; Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO-CSDN博客 一&#xff1a;Livox mid 360驱动安装与测试 前言&#xff1a; Livox mid360需要使用Livox-SDK2&#xff0c;而非Livox-SDK&#xff0c;以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部…

「Verilog学习笔记」自动售卖机

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule sale(input clk ,input rst_n ,input sel ,//sel0,5$dranks,sel1,10&$drinksinput …

PostgreSQL PG的多版本并发控制

本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。【PostgreSQL】PG的缓存管理器原理 - 课程体系 - 云贝教育 并发是一种当多个事务在数据库中并发运行时维护原子性和隔离性的机制&#x…

基于vue-advanced-chat组件自义定聊天(socket.io+vue2)

通过上一篇文章https://blog.csdn.net/beekim/article/details/134176752?spm=1001.2014.3001.5501, 我们已经在vue-advanced-chat中替换掉原有的firebase,用socket.io简单的实现了聊天功能。 现在需要自义定该组件,改造成我们想要的样子: 先将比较重要的几块提取出来 …

【C++】可变参数模板使用总结(简洁易懂,详细,含代码演示)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》…

[微服务 ]微服务集成中的3个常见缺陷,以及如何避免它们

微服务风靡一时。他们有一个有趣的价值主张&#xff0c;即在与多个软件开发团队共同开发的同时&#xff0c;将软件快速推向市场。因此&#xff0c;微服务是在扩展您的开发力量的同时保持高敏捷性和快速的开发速度。 简而言之&#xff0c;您将系统分解为微服务。分解并不是什么新…

机器学习 | 聚类Clustering 算法

物以类聚人以群分。 什么是聚类呢&#xff1f; 1、核心思想和原理 聚类的目的 同簇高相似度 不同簇高相异度 同类尽量相聚 不同类尽量分离 聚类和分类的区别 分类 classification 监督学习 训练获得分类器 预测未知数据 聚类 clustering 无监督学习&#xff0c;不关心类别标签 …

『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值

概览 在某些场景下,我们需要用代码动态去探查 SwiftUI 视图的信息。比如任意视图的 id 或 tag 值: 如上图所示:我们通过动态探查技术在运行时将 SwiftUI 特定视图的 tag 和 id 值显示在了屏幕上。 这是如何做到的呢? 在本篇博文,您将学到如下内容: 概览1. “如意如意,…

【C语言】指针详解(三)

1.指针运算 指针的基本运算有三种&#xff0c;分别是:⭐指针-整数 ⭐指针-指针 ⭐指针的关系运算 1.1指针 - 整数 因为数组在内存中是连续存放的&#xff0c;只要知道第一个元素的地址&#xff0c;顺藤摸瓜就能找到后面的所有元素。 int arr[10]{1,2,3,4,5,6,7,8,9,10} #inc…

Python to_numeric函数参数解读与最佳实践!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Python中的to_numeric函数是pandas库提供的一个强大而灵活的工具&#xff0c;用于将数据转换为数字类型。本文将深入探讨to_numeric函数的各种参数和用法&#xff0c;通过丰富的示例代码帮助大家更全面地理解和运…

Web自动化测试工具的优势分析

Web自动化测试工具在现代软件开发中扮演着关键的角色&#xff0c;帮助团队确保Web应用程序的质量和稳定性。然而&#xff0c;选择合适的Web自动化测试工具对项目的成功至关重要。本文将介绍Web自动化测试工具优势是什么! 1. 自动化执行 Web自动化测试工具能够模拟用户的行为&am…

算法通关村-番外篇排序算法

大家好我是苏麟 , 今天带来番外篇 . 冒泡排序 BubbleSort 最基本的排序算法&#xff0c;最常用的排序算法 . 我们以关键字序列{26,53,48,11,13,48,32,15}看一下排序过程: 代码如下 : (基础版) class Solution {public int[] sortArray(int[] nums) {for(int i 0;i < n…

接口测试学习笔记

文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化requ…