超分辨率重建测试(DASR)

2023-11-17

测试链接:GitHub - LongguangWang/DASR: [CVPR 2021] Unsupervised Degradation Representation Learning for Blind Super-Resolutionhttps://github.com/LongguangWang/DASR

 0.环境

windows10系统,python3.7.0,我这个是pytorch的虚拟环境,我这边基环境是CUDA11.1,python3.7.3,为了不破坏原有环境,建议你们也装虚拟环境

这个环境有点老了,但请务必保持一致,新版本跑不了,尤其pytorch的版本不能大于1.1.0,至少我测试的是这个版本,在问答里原作者也说了版本号,在虚拟环境安装好以后,最好通过:

conda install pytorch==1.1.0 torchvision==0.3.0 -c pytorch -c conda-forge  的方式安装训练环境,这样会自动为你配置CUDA10.0。

1.数据准备

我的数据是人脸,我框出来的部分是代码识别的标识,最好一致,不然要去改代码,反正图片放自己的就行了。数据准备好基本就可以训练了。

2.训练

python .\main.py --dir_data=./datasets/ --model=blindsr --scale=4 --blur_type=aniso_gaussian --noise=25.0 --lambda_min=0.2 --lambda_max=4.0

参数的意义在option.py文件里面已经有说明了,这里就不多说了,这里再次强调下,如果不想改代码,数据的路径./datasets(这是我的存放位置)里面文件必须是DF2K/HR

scale 这里4的意思就是最后模型预测的时候你给256的图像,输出的是1024大小的图像

blur_type的意思是你给的数据集会处理成对应的低质量图像,并且和你的数据集一起放进模型训练,这也是这篇文章无监督的体现,只需要给训练图,标签自动生成,生成方式给了几种在option.py中也有说明的

另外训练结果如模型、参数配置等文件都会自动创建,在./experiment中

训练过程的样子:

 3.预测

python quick_test.py ----img_dir=./datasets/test_lr/0.png --scale=4 --resume=197 --blur_type=aniso_gaussian

这里采用quick_test.py快速测试单张图片的效果,输出位置自动存到训练时创建的文件中,resume给的是epoch值,也就是用哪一个epoch的模型做预测,其它参数和训练时保持一致

            

                                                         原图(1024*1024)

                                            

                                                          测试图(256*256)

                

                                                       测试图resize(1024*1024)

                

                                                         预测输出图(1024*1024) 

                               

                             256低质量的测试图(左)与输出结果resize成256后(右)的对比

说明:测试图用的是欧美人脸,训练图用的是亚洲人脸,测试图是加了高斯噪声变模糊的,测试图生成的代码为

import os
import cv2
import numpy as np
 
path = './DASR-main/datasets/test/'
save = './DASR-main/datasets/test_lr/'
imgs = os.listdir(path)

for im in imgs:
    name = im.split('.')[0]
    im_full = os.path.join(path, im)
    img = cv2.imread(im_full)
    im_resize = cv2.resize(img, (256,256), interpolation=cv2.INTER_NEAREST)
    re_path = os.path.join(save,im)
    # cv2.imwrite(re_path,im_resize)
    save_full = os.path.join(save,im)
    im_ga = cv2.GaussianBlur(im_resize, (5, 5), 0)
    cv2.imwrite(save_full, im_ga)

结束:其实对比resize以后的图和预测输出图就很明显的看到,小图放大了肯定变模糊,而重建却基本能保证足够的清晰,多少还是有点效果的。和上一篇博客一样,这里用的也只是标准的高清正面照,而作者无监督的方式也是通过用高清训练数据人为降低了图像质量产生了对应的标签来训练模型,和自然状态下比如摄像头拍摄出的模糊图像还是有区别,后面再探索。

补充:如果训练遇到以下错误,直接找到data文件夹下的multiscalesrdata.py第153行,改为hr = np.load(_f, allow_pickle=True)[0]['image'], 也就是增加了allow_pickle=True

File "D:\BaiduNetdiskDownload\DASR-main\data\multiscalesrdata.py", line 153, in _load_file
    hr = np.load(_f)[0]['image']
  File "C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\numpy\lib\npyio.py", line 444, in load
    raise ValueError("Cannot load file containing pickled data "
ValueError: Cannot load file containing pickled data when allow_pickle=False

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超分辨率重建测试(DASR) 的相关文章

随机推荐

  • Java 中的 Restful Web 服务教程

    欢迎来到 Java 中的 Restful Web 服务教程 REST是缩写代表性状态转移 休息是一个建筑风格用于开发可通过网络访问的应用程序 Roy Fielding 在 2000 年的博士论文中提出了 REST 架构风格 宁静的网络服务
  • 如何在 Ubuntu 18.04 上安装和保护 Grafana

    笔者精选 dev 颜色接受捐赠作为为捐款而写程序 介绍 Grafana是一个开源数据可视化和监控工具 集成了来自以下来源的复杂数据普罗米修斯 InfluxDB Graphite and 弹性搜索 Grafana 允许您为数据创建警报 通知和
  • Mockito 模拟静态方法 - PowerMock

    Mockito 允许我们创建模拟对象 由于静态方法属于类 因此 Mockito 中无法模拟静态方法 但是 我们可以使用 PowerMock 和 Mockito 框架来模拟静态方法 使用 PowerMock 的 Mockito 模拟静态方法
  • 如何在 Ubuntu 22.04 上使用 Nginx-RTMP 设置视频流服务器

    介绍 流媒体视频有很多用例 服务提供商如Twitch在处理流媒体的网络发现和社区管理方面非常受欢迎 并且免费软件 例如OBS工作室广泛用于实时组合来自多个不同流源的视频叠加 虽然这些平台非常强大 但在某些情况下 您可能希望能够托管不依赖其他
  • 如何在 Debian 11 上安装 MariaDB

    介绍 MariaDB是一个开源关系数据库管理系统 通常用作 MySQL 的替代品 作为流行的数据库部分LAMP Linux Apache MySQL PHP Python Perl 堆栈 它旨在成为 MySQL 的直接替代品 本安装指南的简
  • 如何在 Ubuntu 18.04 上使用 LEMP 安装 WordPress

    介绍 WordPress 是互联网上最流行的 CMS 内容管理系统 它允许您在具有 PHP 处理功能的 MySQL 后端上轻松设置灵活的博客和网站 WordPress 得到了令人难以置信的采用 是快速启动和运行网站的绝佳选择 设置完成后 几
  • 从 Python 列表中获取唯一值

    在这篇文章中 我们将了解从 Python 列表中获取唯一值的 3 种方法 在处理大量原始数据时 我们经常遇到需要从原始输入数据集中提取唯一且不重复的数据集的情况 下面列出的方法将帮助您解决这个问题 让我们开始吧 在 Python 中从列表中
  • 如何在 Ubuntu 14.04 上安装 MySQL

    介绍 MySQL是一个开源数据库管理系统 通常作为流行的一部分安装LAMP Linux Apache MySQL PHP Python Perl 堆栈 它使用关系数据库和 SQL 结构化查询语言 来管理其数据 简短版本的安装很简单 更新您的
  • 如何在 Ubuntu 12.04 上设置 vsftpd

    Status 已弃用 本文介绍不再受支持的 Ubuntu 版本 如果您当前运行的服务器运行 Ubuntu 12 04 我们强烈建议您升级或迁移到受支持的 Ubuntu 版本 升级到Ubuntu 14 04 从 Ubuntu 14 04 升级
  • 图像处理第 5 部分:算术、按位和掩码

    在图像处理系列的第五部分中 我们将详细讨论 Python 中的算术和位运算以及图像掩码 建议以前的文章在开始您的蒙面学习冒险之前 请先完成一遍 设置环境 以下代码行用于下面给出的所有应用程序 我们将把它们包含在这里 这样您就不必阅读大量代码
  • 计算机网络(五)传输层详解

    目录 第五章 传输层 5 1 传输层概述 进程之间的通信 网络层与传输层的区别 传输层的两个主要协议 传输层的端口 TCP IP传输层端口 5 2 UDP UDP需要实现的功能 UDP提供的服务 UDP适合哪些应用 UDP协议的特点 UDP
  • 华为OD机试真题(Java),吃到最多的刚好合适的菜(100%通过+复盘思路)

    一 题目描述 入职后 导师会请你吃饭 你选择了火锅 火锅里会在不同时间下很多菜 不同食材要煮不同的时间 才能变得刚好合适 你希望吃到最多的刚好合适的菜 但你的手速不够快 用m代表手速 每次下手捞菜后至少要过m庙才能在捞 每次只能捞一个 那么
  • umijs + dva + request + js-cookie实现登录

    umijs dva umi request js cookie实现登录 一 在src下创建models文件夹 创建user ts 二 在pages下创建login文件下 组件使用函数创建 三 创建cookie管理文件 和request ts
  • 阿里云dataworks就是个半成品!

    用hadoop EMR 不要用dataworks 不要用dataworks 不要用dataworks 重要的事情说三遍 各种莫名其妙的坑 ip黑盒 工程师无法干涉 傻瓜式无限的提交 发布 点来点去浪费时间 各种bug fuxi错误 完全没有
  • (2023,网络修剪)探索 few-shot 图像生成中的不相容知识迁移

    Exploring Incompatible Knowledge Transfer in Few shot Image Generation 公众号 EDPJ 目录 0 摘要 1 简介 2 相关工作 3 基础 4 FSIG 中不兼容的知识转
  • Mac之zip unzip 命令(压缩)

    https blog csdn net yxys01 article details 73848720 最通俗的用法 zip q r e m o myfile zip someThing 1 q 表示不显示压缩进度状态 r 表示子目录子文件
  • 记录自己开发入职第一天需要干的事情

    拉取代码前的准备工作 安装JDK 数据库本地可视化客户端 如Navicat SQLyog DBeaver Workbench Windows连接linux终端工具 Xshell SecureCRT Putty 下载IDEA 配置IDEA开发
  • adb shell 获取手机分辨率

    使用adb修改屏幕像素密度 此命令针对全志开发板子 adb shell am display density 120 以下命令针对高通的开发板子 获取Android设备屏幕分辨率 adb shell wm size获取android设备屏幕
  • Tomcat简介及优化思路

    Tomcat 处理请求大致流程和架构 请求流程 1 HTTP服务器会把请求信息使 ServletRequest对象封装起来 2 进 步去调 Servlet容器中某个具体的Servlet 3 在 2中 Servlet容器拿到请求后 根据URL
  • 超分辨率重建测试(DASR)

    测试链接 GitHub LongguangWang DASR CVPR 2021 Unsupervised Degradation Representation Learning for Blind Super Resolutionhttp