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

【图像恢复算法】 ESRGAN Real-ESRGAN的配置和应用

目录

一、什么是ESRGAN?什么是Real-ESRGAN?

1.ESRGAN

2.Real-ESRGAN

二、环境配置

1.ESRGAN

2.Real-ESRGAN

三、修复实战

1.ESRGAN

2.Real-ESRGAN

四、常见问题

1.CUDA out of memory

2.Error: No module named 'torchvision.transforms.functional_tensor'


一、什么是ESRGAN?什么是Real-ESRGAN?

1.ESRGAN

        ESRGAN 由 Xintao Wang 等人于 2018 年提出,旨在通过对抗生成网络(GAN)进一步提升图像超分辨率重建的视觉效果。它是在 SRGAN(Super‑Resolution GAN)的基础上改进而来,重点解决了高频细节表现不足和生成结果偏“平滑”的问题。

  • 优点:生成的细节更丰富、纹理更自然;在多项基准测试(如 DIV2K)上视觉效果显著提升。
  • 局限:主要针对“理想降采样”场景(bicubic 降采样);对真实世界的噪声、模糊等退化情况适应性较差。

2.Real-ESRGAN

        真实场景中的低分图像通常包含各种不可预知的退化:相机噪声、压缩伪影、镜头模糊等。Real‑ESRGAN 在 ESRGAN 的基础上,引入更贴近真实退化的训练策略,使模型对多种劣化情况具备鲁棒性。

  • 对各种真实低质图像(监控、老照片、网络截图等)具有更好恢复能力。
  • 在公开的“RealSR”数据集上,相比 ESRGAN、SRGAN 等传统方法,主观和客观指标均有显著提升。

二、环境配置

CUDA和CUDNN的配置不过多赘述,需要的可以参考之前的记录YOLO系列环境配置及训练_yolo环境配置-CSDN博客

1.ESRGAN

  • Python 3
  • PyTorch >= 1.0 (CUDA version >= 7.5 if installing with CUDA. )
  • Python packages: pip install numpy opencv-python 
  •  创建虚拟环境
# 创建conda虚拟环境
conda create -n esrgan python=3.9# 激活并进入环境
conda activate esrgan
  •  torch安装 及其他库安装(以ubuntu系统和CUDA11.8为例)
# torch安装
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118# 其他
pip install numpy opencv-python
  • 克隆代码至本地,下载预训练模型
git clone https://github.com/xinntao/ESRGAN
cd ESRGAN

模型下载:ESRGAN_models_免费高速下载|百度网盘-分享无限制 

2.Real-ESRGAN

环境创建及torch安装同ESRGAN

  • 项目克隆到本地
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
  • 安装各种依赖
# 安装 basicsr - https://github.com/xinntao/BasicSR
# 使用BasicSR来训练以及推断
pip install basicsr
# facexlib和gfpgan是用来增强人脸的
pip install facexlib
pip install gfpgan
pip install -r requirements.txt
python setup.py develop
  • 预训练模型下载  
# RealESRGAN_x4plus.pth
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P weights# RealESRGAN_x4plus_anime_6B
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P weights

RealESRGAN_x4plus.pth 和 RealESRGAN_x4plus_anime_6B 的区别在于,后者anime针对模型尺寸小得多的动漫图像进行了优化。

三、修复实战

1.ESRGAN

        在ESRGAN项目文件夹中找到 test.py 文件,将参数test_img_folder的内容改为自己需要处理图片的文件夹路径(或者我们把图片直接放入项目默认的LR文件夹中),直接运行即可

        修复后的图片会在ESRGAN项目的results 文件夹中,可以看到效果还是很不错的

2.Real-ESRGAN

        直接在命令窗口执行,注意:先cd至Real-ESRGAN项目所在目录

python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --face_enhance

命令各参数如下:

-h                   show this help
-i --input           Input image or folder. Default: inputs
-o --output          Output folder. Default: results
-n --model_name      Model name. Default: RealESRGAN_x4plus
-s, --outscale       The final upsampling scale of the image. Default: 4
--suffix             Suffix of the restored image. Default: out
-t, --tile           Tile size, 0 for no tile during testing. Default: 0
--face_enhance       Whether to use GFPGAN to enhance face. Default: False
--fp32               Whether to use half precision during inference. Default: False
--ext                Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto

效果如下:(可以看到明显清晰了很多) 

四、常见问题

1.CUDA out of memory

        修改参数tile,根据情况设置即可

python inference_realesrgan.py -n RealESRGAN_x4plus -i input --tile 200

2.Error: No module named 'torchvision.transforms.functional_tensor'

高版本pytorch的torchvision.transforms._functional_tensor名字改了,在前面加了一个下划线,但是torchvision.transforms.augmentation里面的import没把名字改过来,所以会找不到

import torchvision.transforms._functional_tensor as F_t

相关文章:

  • 【Pytorch】(1)Pytorch环境安装-①创建虚拟环境
  • Spring AI Chat Memory 指南
  • transformer demo
  • 东土科技参与国家重点研发计划 ,共同研发工业智控创新技术
  • 【Linux】进程创建、终止、等待、替换
  • 《单光子成像》第四章 预习2025.6.13
  • Vue里面的映射方法
  • python+django/flask厨房达人美食分享系统
  • 英语—四级CET4考试—规律篇—从历年真题中找规律—仔细阅读题—汇总
  • 秘籍分享:如何让ZIP下载的源码拥有Git“身份证”
  • Kubernetes安全机制深度解析(三):准入控制器
  • Cilium动手实验室: 精通之旅---26.Cilium Host Firewall
  • ffmpeg覆盖区域
  • 准确--使用 ThinBackup 插件执行备份和恢复
  • 泰国草药保健电商平台开发|泰式草药知识科普 + 跨境直邮,聚焦健康养生
  • codeforces 274D. Lovely Matrix
  • 【RAG+读代码】学术文档解析工具Nougat
  • ReentrantLock和RLock
  • 图数据库如何构筑 Web3 风控防线 | 聚焦批量注册与链上盗转
  • PRUD币将于6月16日正式上线欧易Web3交易所,市场热度持续飙升
  • 周口哪家做网站好/引流用什么话术更吸引人
  • 网页制作多少钱一个月/网站是怎么优化的
  • 如何做网站seo韩小培/网站优化 推广
  • 做淘客的网站有哪些/友情链接的网站
  • 国家企业年审营业执照官网/百度seo排名优化软件
  • 网络维护协议/网店seo是什么意思