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

【图像恢复算法】 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环境配置-ZEEKLOG博客

1.ESRGAN

Python 3PyTorch >= 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 

Read more

openclaw喂饭教程!在 Linux 环境下快速完成安装、初始化与 Web UI 配置

openclaw喂饭教程!在 Linux 环境下快速完成安装、初始化与 Web UI 配置

前言 OpenClaw 是一款开源的 AI Agent 工具,但对第一次接触的用户来说,完整跑通流程并不直观。本文以 Linux 环境为例,详细记录了 OpenClaw 的安装、初始化流程、模型选择、TUI 使用方式,以及 TUI 与 Web UI 认证不一致导致的常见问题与解决方法,帮助你最快速度把 OpenClaw 真正跑起来 环境准备 1)安装nodejs curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs > node

By Ne0inhk
cpolar远程辅助Open-Lovable实现随时随地克隆网页超实用

cpolar远程辅助Open-Lovable实现随时随地克隆网页超实用

Open-Lovable 是一款面向前端开发者的开源工具,核心功能是将任意网页克隆为可编辑的 React 应用,还支持多类 AI 模型辅助生成代码,适配新手学习、中小企业原型开发等场景。它的优点很贴合实际需求:拆分代码组件清晰,保留完整 CSS 样式,能大幅减少手动搭建页面框架的时间,比如新手学习电商网站布局时,不用再逐行拆解复杂的源代码,直接克隆后就能看清 header、footer 等组件的逻辑,中小企业做产品原型时,克隆同类网页后稍作修改就能快速出效果。 使用这款工具时也有一些实用的小提醒💡:克隆的网页仅能还原静态布局和样式,像登录态、动态交互这类内容无法完整复刻,而且使用前需要准备好 E2B、Firecrawl 等平台的 API 密钥,密钥保管要注意隐私,避免外泄造成不必要的损失。 不过 Open-Lovable 默认只能在本地局域网内使用,这会带来不少不便:比如开发者在家调试的克隆项目,想让公司的设计师远程查看效果,只能通过传文件、远程协助的方式,不仅耗时,还可能出现版本不一致的问题;要是出差在外需要修改克隆的代码,没法直接访问本地的工具,只能等回到电脑前操作,耽误工作

By Ne0inhk
ollama 模型管理、删除模型 、open-webui 开启大模型交互

ollama 模型管理、删除模型 、open-webui 开启大模型交互

文章目录 * ollama 基本信息 * ollama 运行模型 * ollama 模型管理 * 🔧 **方法一:使用命令行删除单个模型** * ⚙️ **方法二:批量删除所有模型** * 🗑️ **方法三:彻底卸载 Ollama(含所有数据)** * ⚠️ **注意事项** * ✅ **验证是否删除成功** * open-webui 安装 开启大模型交互 * open-webui pip 安装 * open-webui 启动服务 * 浏览器访问 http://IP:8082/ : * ❤️ 时不我待,一起学AI ollama 基本信息 * https://ollama.com/ ollama 运行模型 命令行执行即可 0.6B parameter model ollama run qwen3:0.6b 1.7B

By Ne0inhk
他到底喜欢我吗?赛博塔罗Java+前端实现,一键解答!

他到底喜欢我吗?赛博塔罗Java+前端实现,一键解答!

个人主页-爱因斯晨 文章专栏-赛博算命 原来我们在已往的赛博算命系列文章中的源码已经传到我的Github仓库中,有兴趣的家人们可以自己运行查看。 Github 源码中的一些不足,还恳请业界大佬们批评指正! 本文章的源码已经打包至资源绑定,仓库中也同步更新。 一、引言 在数字化浪潮席卷全球的当下,传统塔罗牌占卜这一古老智慧也迎来了新的表达形式 ——“赛博塔罗”。本文档旨在深入剖析塔罗牌的核心原理,并详细介绍如何利用 Java 语言实现一个简易的塔罗牌预测程序,展现传统神秘学与现代编程技术的融合。 二、塔罗牌原理 (一)集体潜意识与原型理论 瑞士心理学家卡尔・荣格提出的 “集体潜意识” 理论,为塔罗牌的运作提供了重要的心理学支撑。该理论认为,人类拥有超越个体经验的共同心理结构,其中蕴含着 “原型”—— 即普遍存在的、象征性的模式或形象。 塔罗牌的 22 张大阿尔卡那牌恰好与这些基本原型相对应。例如,“愚人” 代表着天真与新开始的原型,“魔术师” 象征着创造力与潜能的原型,“女祭司” 则体现了智慧与直觉的原型。这些原型是全人类共通的心理元素,这也正是不同文化背景的人都能

By Ne0inhk