入门 11 分钟图像

Real-ESRGAN:用于图像放大 本地

直接回答

Real-ESRGAN是一个开源模型(BSD-3-Clause许可),可将图像放大至4倍,并重建看似合理的细节。最简单的方案是无需CUDA或PyTorch的便携式可执行文件ncnn-vulkan,适用于Intel、AMD或NVIDIA显卡。根据图像类型选择模型:realesrgan-x4plus适用于照片,anime变体适用于插画。该项目自2022年9月以来未再发布新版本,且添加的细节是虚构的:绝不要用于文字图像或证据。

Real-ESRGAN 通过重建看似合理的细节来放大图像,而不是拉伸像素。它是一个开源、小巧且快速的模型,已成为本地图像生成流程末端常用的模块,也可用于修复老照片。本指南更新至 2026 年 9 月 28 日,说明应选择哪个模型、如何在不安装 PyTorch 的情况下运行、它会凭空生成哪些内容、可能出现哪些错误,以及面对近期替代方案时该项目目前处于什么状态。

作者: Mohamed Meguedmi·更新于 2026-09-29·已在 Windows、macOS 和 Linux 上测试

#AI图像放大工具的功能

传统的图像放大采用插值:根据相邻像素计算中间像素,得到更大、也更模糊的图像。基于机器学习的图像放大工具则采用另一种方法。它经过训练,能够从质量退化的版本中恢复清晰图像,并重建最像原图的纹理、边缘和颗粒感。两者的区别可以用一句话概括:插值不会创造信息,而模型会编造信息。这正是我们要求它做的事,因此必须知道哪些场合不该使用它。

Real-ESRGAN 源自 Xintao Wang、Liangbin Xie、Chao Dong 和 Ying Shan(腾讯 ARC 实验室)的一篇论文,该论文于 2021 年 7 月提交至 arXiv,并在 ICCV Workshops 上介绍,标题为《Training Real-World Blind Super-Resolution with Pure Synthetic Data》。论文摘要描述了其思路:模型仅使用合成数据训练,通过“高阶”退化建模更好地模拟真实缺陷(模糊、噪声、压缩),并使用 U-Net 判别器。“Blind”表示模型无需知道图像经历了哪种退化。该代码仓库获得了超过 36,000 个星标。

#有哪些模型,该选哪一个

AI 图像套件

在本地无限制地生成 AI 图像与视频:在你的 GPU 或 Mac 上使用 ComfyUI、Flux、Z-Image、Wan 2.2——提供可直接加载的工作流,并介绍相关法律框架。

  • 在线空间,终身可用
  • PDF + 文件
  • 终身更新
官方仓库中的模型,依据其模型库(Model Zoo)
模型放大倍数项目描述适用于
RealESRGAN_x4plus×4用于通用图像的 4 倍放大模型照片、生成图像:默认选择
RealESRGAN_x2plus×2用于一般图像的 2 倍放大模型当 ×4 放大倍数过高时使用,无需再调整图像尺寸
RealESRNet_x4plus×4模型 ×4,带 MSE 损失和过度平滑效应很少使用:效果过于平滑、显得平淡
realesr-general-x4v3×4,支持 ×1、×2、×3 模式小模型,占用的 GPU 显存和耗时都少得多,去噪能力较弱配置较低的设备、批量图像处理;-dn 选项用于调节去噪
RealESRGAN_x4plus_anime_6B×4针对动漫图像优化,网络规模更小(6 个 RRDB 块)插图、图纸、2D 绘画
realesr-animevideov3×4,支持 ×1、×2、×3 模式用于动画视频的 XS 小型模型动画序列

该项目的模型目录将照片模型与插画模型分开,而这一选择对结果的影响最大。项目介绍称,anime 变体针对这类图像进行了优化,采用更小的网络,并将其与 waifu2x 作比较。处理绘画图像时,请优先尝试这一变体:照片模型可能会给本应保持平滑的纯色区域添加纹理,需要在您的图像上检查实际效果。

!
便携版程序的默认模型并不是您以为的那个
主README文件称便携版可执行程序的默认模型为realesrgan-x4plus,但程序的帮助文本标明默认模型是动画模型realesr-animevideov3。处理照片时,这个模型会产生不合适的结果。请始终通过-n选项明确指定模型,不要依赖默认设置。

#三种启动方式

README 介绍了三种方式:在线演示、便携式 ncnn 可执行文件和 Python 脚本。对于日常本地使用,只有后两种方式值得考虑。

README 中介绍的两种本地运行方式
路径所需条件优势限制
便携式可执行文件(ncnn-vulkan)需要一块兼容 Vulkan 的 Intel、AMD 或 NVIDIA GPU。提供适用于 Windows、Linux 和 macOS 的压缩包。无需 CUDA,也无需 PyTorch。无需安装,模型已内置不支持 Python 脚本中的所有功能,如 --outscale,可能导致不同区块之间出现不一致
Python 脚本 (inference_realesrgan.py)Python 3.7或更高版本,PyTorch 1.7或更高版本,basicsr,facexlib和gfpgan(用于人脸处理)任意缩放比例、人脸处理、分块处理,以及带 alpha 通道的图像、灰度图像或 16 位图像依赖项容易出问题,参见故障排除

#具体命令

便携版可执行文件通过命令行使用。帮助文本列出了各项选项:-i 指定输入(文件或文件夹),-o 指定输出,-s 指定缩放倍数(2、3 或 4),-n 指定模型,-t 指定图块大小,-g 选择 GPU,-f 指定输出格式。

终端
# Exécutable portable : photo agrandie ×4 avec le modèle généraliste
./realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n realesrgan-x4plus

# Script Python : échelle arbitraire (ici ×3,5) avec amélioration des visages
python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --outscale 3.5 --face_enhance

Python 脚本提供了 --outscale 选项:模型始终进行 ×4 的放大,然后程序以低成本的重采样方式将结果缩放到所需尺寸。此外还有 --tile 选项用于分割图像以节省内存,以及 --fp32 选项用于全精度,该选项在处理器上成为必需(详见下文)

在 ComfyUI 中,放大模型存放于 ComfyUI/models/upscale_models 目录下,通过加载节点,再接基于模型的放大节点来应用。如果需要桌面界面,README 列出了多个集成 Real-ESRGAN 的项目,其中包括 Upscayl:这是一款适用于 Linux、macOS 和 Windows 的自由软件,拥有约 50,000 颗星,并在最近几天进行了更新。

#正确使用

  1. 01
    根据图像类型选择模型
    照片还是插图:这一设置对结果的影响最大,远大于放大倍数。请始终在命令中添加 -n。
  2. 02
    不要连续进行多次放大处理
    连续进行两次 ×4 放大会产生塑料感,而不会增加细节。用合适的倍率处理一次即可;如果 ×4 太大,请选择 ×2 模型或使用缩放选项。
  3. 03
    放大前先清理
    轻量级预处理去噪可避免模型将噪声误认为需要重建的细节。使用 realesr-general-x4v3 时,-dn 参数可调节去噪强度,以防止输出过于平滑。
  4. 04
    仅对真实人脸使用face_enhance
    face_enhance选项基于GFPGAN,仅适用于真实人脸:项目FAQ建议不要将其用于动画,否则会浪费GPU内存。
  5. 05
    在 100% 缩放比例下比较
    放大效果应逐像素查看,不能只看缩略图。许多在小尺寸下看起来很出色的结果,近看却显得平滑而不自然。

#目标图像尺寸怎么选:运行前先算一算

放大 ×4 仅在最终尺寸用于特定用途时才有意义。根据简单计算,所需倍率如下:像素 = 厘米 ÷ 2.54 × 每英寸点数,然后倍率 = 目标长边 ÷ 原始长边。

从长边为 1 024 像素的图像放大至目标尺寸所需的倍数(按 300 ppi 打印计算)
用途目标长边长度所需放大倍数
4K全屏显示3840 像素×3.75:进行一次 ×4 放大即可
300 ppi A4 打印3508像素×3.4:一次运行×4,或使用--outscale 3.4
A3幅面,300 dpi打印4961 像素×4.8:超过单次 ×4 放大的范围;宁可接受稍小一些的印刷尺寸,也不要连续放大两次
网页或缩略图1600至2000像素×1.6 至 ×2:使用 ×2 模型或 --outscale 即可

记住这个原则:选择实际需要的尺寸,而不是最大尺寸。一张 1 024 × 1 024 的图像放大 4 倍后会变成 4 096 × 4 096,约有 1 680 万像素,是原来像素数量的十六倍:需要存储、加载和修图的文件也随之变大,但在屏幕上往往看不出效果提升。使用 Python 脚本的 --outscale 选项,可以选择确切的缩放比例,而无需先过度放大再缩小。

#在图像生成流程中

在本地生成图像时,图像放大工具用于最后一步:先以显卡支持的分辨率生成,再进行放大,这比直接生成大尺寸图像消耗的内存更少。图像模型的原生尺寸,例如 SD 1.5 的 512 × 512 或 SDXL 的 1024 × 1024,在 Stable Diffusion 指南中有详细介绍。随后,将一张 1024 × 1024 的 SDXL 图像放大 ×2,即可得到 2048 × 2048 的图像,无需再次经过扩散模型。

#它凭空补出的内容

文本
放大后的小字体会变成看似合理却错误的字符。对于文档而言,应使用光学字符识别(OCR),而非放大功能。
人脸
模糊的人脸放大后会变得清晰,但与原本那个人的面貌并不完全一致。任何身份识别用途都不可接受。
精细细节
布料图案、枝叶、头发:模型生成的是看起来可信的纹理,而不是原始纹理。
缺陷
明显的压缩伪影有时反而会被一丝不苟地放大,而不是被消除。
!
放大后的图像不能作为证据
在法律、医疗或识别场景中,模型添加的细节并不存在于原图中。放大能让图像更便于查看,但不会增加任何可用作证据的信息。

#故障排除:常见错误

根据项目 FAQ 和缺陷报告整理的已知错误
问题表现原因修复措施
错误“slow_conv2d_cpu not implemented for Half”Real-ESRGAN 默认使用半精度(fp16),但某些算子在 CPU 上不支持这种精度在命令行中添加 --fp32 选项
ModuleNotFoundError : torchvision.transforms.functional_tensorbasicsr 导入了一个自 torchvision 0.17 版本起被移除的模块(2024 年 8 月 28 日的报告;BasicSR 仓库的一项合并请求提出了修复方案)安装兼容的torchvision版本,或使用不依赖torchvision的便携式ncnn可执行文件
图像中出现明显的块状区域或拼接痕迹可执行文件将图像分割为图像块再进行拼接,README中已指出这可能引发不一致性通过 -t 参数设置瓦片大小(0 表示自动):在内存允许的情况下,较大的瓦片会减少接缝
输出为黑色图像ncnn仓库的待办事项指出,部分PC会生成黑色图像尝试另一种方案(Python 或 ncnn),或用 -g 参数指定另一张显卡进行测试
插图中人物面部变形非照片类内容启用了 face_enhance 选项移除它:它是为真实人脸设计的

#2026年项目进展如何?

必须如实说明它已有些年头。最新发布的版本 v0.3.0 发布于 2022 年 9 月 20 日;主仓库的最后一次提交是在 2024 年 4 月 2 日,内容是删除一个持续集成配置文件。ncnn 实现的 README 注明采用 MIT 许可证,该实现自 2024 年 5 月以来没有更新。这并不意味着模型不好:它能完成自己的任务,体积小,也能在配置不高的显卡上运行。但不能指望会有补丁来修复近期出现的兼容性问题,例如与 torchvision 的不兼容。

至于替代方案,ComfyUI 的 README 将 SeedVR2 和 SUPIR 列为受支持的模型。SeedVR2 将自身定位为通过扩散模型的对抗式后训练实现的一步视频修复方案,而 SUPIR 则面向真实场景图像的照片级逼真修复。这些方法都基于扩散模型:我们没有它们与 Real-ESRGAN 之间可靠的量化对比,而且它们产生虚构细节的风险至少同样高。在商业使用前,请阅读 SUPIR 的许可证,GitHub 将其归类为“Other”。对于大多数日常照片和插图,Real-ESRGAN 仍能在易用性、速度和硬件需求之间提供良好的平衡。

#FAQ

FAQ
Real-ESRGAN免费吗?+
可以。代码库遵循 BSD-3-Clause 许可,ncnn-vulkan 实现遵循 MIT 许可,运行完全本地化,无使用成本或账户要求。但请注意,您放大图像时需遵守图像版权,并核查每个第三方模型或集成 Real-ESRGAN 的桌面应用的许可证,例如采用 AGPL-3.0 许可证的 Upscayl。
需要显卡吗?+
不一定。Python脚本可通过--fp32选项在CPU上运行,但速度慢得多。ncnn可执行文件需要兼容Vulkan的GPU,可以是Intel、AMD或NVIDIA的产品,既不需要CUDA,也不需要PyTorch。小模型realesr-general-x4v3旨在大幅降低显存占用和耗时,因此适合配置较低的设备。
可以放大扫描的文本吗?+
技术上可以,但不应这样做:重建的字符看似合理,有时却是错的。对于扫描文档,应使用光学字符识别(OCR),它读取文字,而不是重新绘制文字。图像放大工具可以在 OCR 前使用,但仅用于让图像看起来更清楚,绝不能用于确认识别出的文字是否正确。
为什么我的插画放大后会出现颗粒感?+
您可能使用了面向照片的模型。对于绘画作品,请使用 RealESRGAN_x4plus_anime_6B,它针对动漫图像进行了优化,网络规模也更小。使用便携式可执行文件时,也要留意默认模型:请用 -n 明确指定模型,因为帮助文本将 realesr-animevideov3 列为默认模型。
能否用于视频处理?+
可以,逐帧处理。对于动画,项目提供了 realesr-animevideov3 模型和一个视频脚本。使用 ncnn 可执行文件时,文档介绍的方法是先用 ffmpeg 提取视频帧,处理后再重新合成为视频。由于各帧独立处理,连续画面可能会闪烁:请播放视频检查效果,不要只查看静止画面。
Real-ESRGAN 还在维护吗?+
目前维护很少。其最新版本 v0.3.0 发布于 2022 年 9 月,最后一次提交是在 2024 年 4 月,仅涉及持续集成。该模型仍然可用,但项目并未修复 torchvision 等依赖项的兼容性问题。为避免这些问题,使用 ncnn 便携版可执行程序是最稳定的选择。
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。