【版权严正声明】
本文系作者 [编程界的小学生] 原创,并拥有完整、独立的著作权。
未经本人 书面授权 ,任何单位、平台或个人, 严禁 以任何形式(包括但不限于转载、复制、摘编、修改、链接、转贴、建立镜像等)使用本文的全部或部分内容。
任何无视本声明的侵权行为,本人将依据《中华人民共和国著作权法》等相关法律法规,采取一切必要的法律手段,追究其侵权责任,要求其 立即停止侵权、赔礼道歉、消除影响,并赔偿因此造成的一切经济损失及维权成本(包括但不限于律师费、诉讼费、公证费等)。
侵权必究,切勿以身试法!
1. 插件简介
插件地址: https://github.com/kijai/ComfyUI-SUPIR
这个插件就像一个超级强力的"图片放大镜"!它能把模糊、低清的照片变成超级清晰的高清大图。简单来说:
你有一张小图或者模糊的照片
插件就能把它变成大图,而且还特别清晰
就像CSI电影里那种"增强画质"的黑科技一样!
主要功能:
图片超分辨率放大(让小图变大图,模糊变清晰)
支持多种放大倍数(2倍、4倍甚至更高)
可以修复老照片、压缩损坏的图片
支持视频逐帧处理
内置多种优化算法,效果比传统放大好很多
能带来什么效果:
让手机拍的模糊照片变得超清晰
把小头像放大成高清大图
修复压缩过度的图片
让老照片重新焕发生机
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
打开ComfyUI
点击"Manager"按钮
搜索"SUPIR"
点击安装
方法二:手动安装
打开ComfyUI的安装文件夹
进入custom_nodes文件夹
在这里打开命令行,输入:
git clone https://github.com/kijai/ComfyUI-SUPIR.gitcd ComfyUI-SUPIRpip install -r requirements.txt
重启ComfyUI
注意事项:
需要下载SUPIR模型文件(几GB大小)
需要一个SDXL模型文件
建议显存8GB以上,内存32GB以上
3. 节点详细解析
本插件总共包含10个节点,本教程将逐一详细解析所有节点。
3.1 SUPIR_Upscale 节点(传统版本)
这个节点是干嘛的? 这是插件的"一键式放大器",就像一个全自动洗衣机,把所有步骤都打包在一起。你只需要放入图片,它就能自动完成所有放大处理。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
supir_model | supir_model | 模型文件列表 | - | 选择SUPIR放大模型 | SUPIR模型文件选择 | 选择下载的SUPIR-v0Q.ckpt文件 |
sdxl_model | sdxl_model | 模型文件列表 | - | 选择SDXL基础模型 | SDXL基础模型选择 | 选择任意SDXL模型如sd_xl_base_1.0.safetensors |
image | image | IMAGE | - | 要放大的图片 | 输入图像 | 连接Load Image节点 |
seed | seed | 0-无限大 | 123 | 随机种子,控制结果的随机性 | 随机数种子 | 相同种子产生相同结果,-1为随机 |
resize_method | resize_method | nearest-exact/bilinear等 | lanczos | 图片缩放方法 | 图像插值方法 | lanczos质量最好但速度慢 |
scale_by | scale_by | 0.01-20.0 | 1.0 | 放大倍数 | 缩放倍数 | 2.0表示放大2倍,4.0表示放大4倍 |
steps | steps | 3-4096 | 45 | 处理步数,越多质量越好但越慢 | 扩散步数 | 新手用45,追求质量用100+ |
restoration_scale | restoration_scale | -1.0-6.0 | -1.0 | 修复强度,控制保留原图细节程度 | 修复缩放系数 | -1自动,数值越大修复越强 |
cfg_scale | cfg_scale | 0-100 | 4.0 | 提示词遵循度 | 分类器自由引导缩放 | 数值越高越听话,但可能过度 |
a_prompt | a_prompt | 文本 | high quality, detailed | 正面提示词,描述想要的效果 | 正向提示词 | 写"清晰、高质量、详细"等词 |
n_prompt | n_prompt | 文本 | bad quality, blurry, messy | 负面提示词,描述不想要的效果 | 负向提示词 | 写"模糊、低质量、噪点"等词 |
s_churn | s_churn | 0-40 | 5 | 噪声扰动强度 | 随机性控制参数 | 数值越大结果越随机 |
s_noise | s_noise | 1.0-1.1 | 1.003 | 噪声添加量 | 噪声缩放因子 | 轻微调整即可,不建议大改 |
control_scale | control_scale | 0-10.0 | 1.0 | 控制强度,影响对原图的保持程度 | 控制网络强度 | 1.0标准,0.5更自由,2.0更保守 |
cfg_scale_start | cfg_scale_start | 0.0-100.0 | 4.0 | 开始时的提示词遵循度 | 起始CFG值 | 配合cfg_scale使用,实现渐变 |
control_scale_start | control_scale_start | 0-1.0 | 0.0 | 开始时的控制强度 | 起始控制强度 | 通常设为0,让开始更自由 |
color_fix_type | color_fix_type | None/AdaIn/Wavelet | Wavelet | 颜色修正方式 | 颜色校正算法 | Wavelet效果最好,None不修正 |
keep_model_loaded | keep_model_loaded | true/false | true | 是否保持模型在内存中 | 模型缓存控制 | true更快但占内存,false省内存 |
use_tiled_vae | use_tiled_vae | true/false | true | 是否使用分块处理,省显存 | 分块VAE处理 | 显存不够必须开启 |
encoder_tile_size_pixels | encoder_tile_size_pixels | 64-8192 | 512 | 编码器分块大小 | 编码器瓦片尺寸 | 显存小用256,显存大用1024 |
decoder_tile_size_latent | decoder_tile_size_latent | 32-8192 | 64 | 解码器分块大小 | 解码器瓦片尺寸 | 通常是encoder的1/8 |
captions | captions | 文本 | - | 可选的图片描述 | 图像标题 | 描述图片内容,如"一个女孩的肖像" |
diffusion_dtype | diffusion_dtype | fp16/bf16/fp32/auto | auto | 扩散模型精度 | 扩散模型数据类型 | auto自动选择,fp16省显存 |
encoder_dtype | encoder_dtype | bf16/fp32/auto | auto | 编码器精度 | 编码器数据类型 | auto自动选择 |
batch_size | batch_size | 1-128 | 1 | 批处理大小 | 批次大小 | 显存够可以设大一点加速 |
use_tiled_sampling | use_tiled_sampling | true/false | false | 是否使用分块采样 | 分块采样开关 | 处理超大图时开启 |
sampler_tile_size | sampler_tile_size | 64-4096 | 1024 | 采样器分块大小 | 采样器瓦片尺寸 | 配合分块采样使用 |
sampler_tile_stride | sampler_tile_stride | 32-2048 | 512 | 采样器分块步长 | 采样器瓦片步长 | 控制分块重叠程度 |
fp8_unet | fp8_unet | true/false | false | 是否使用FP8精度的UNet | UNet FP8量化 | 极度省显存但可能影响质量 |
fp8_vae | fp8_vae | true/false | false | 是否使用FP8精度的VAE | VAE FP8量化 | 可能产生伪影,不推荐 |
sampler | sampler | RestoreDPMPP2MSampler/RestoreEDMSampler | RestoreEDMSampler | 采样器类型 | 采样算法选择 | EDM质量好,DPMPP速度快 |
3.2 SUPIR_model_loader_v2 节点
这个节点是干嘛的? 这是"模型装载工",负责把SUPIR模型和SDXL模型组合在一起。就像组装电脑一样,把CPU和显卡装到一起才能工作。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
model | model | MODEL | - | SDXL基础模型 | SDXL模型输入 | 连接Load Checkpoint节点的MODEL输出 |
clip | clip | CLIP | - | CLIP文本编码器 | CLIP模型输入 | 连接Load Checkpoint节点的CLIP输出 |
vae | vae | VAE | - | VAE编码解码器 | VAE模型输入 | 连接Load Checkpoint节点的VAE输出 |
supir_model | supir_model | 模型文件列表 | - | SUPIR专用模型 | SUPIR模型文件 | 选择SUPIR-v0Q.ckpt |
fp8_unet | fp8_unet | true/false | false | UNet是否使用FP8精度 | UNet量化开关 | 显存不够时开启 |
diffusion_dtype | diffusion_dtype | fp16/bf16/fp32/auto | auto | 扩散模型计算精度 | 扩散模型数据类型 | auto让系统自动选择 |
high_vram | high_vram | true/false | false | 是否使用高显存模式 | 高显存优化 | 显存充足时开启,加载更快 |
3.3 SUPIR_model_loader_v2_clip 节点
这个节点是干嘛的? 这是"高级模型装载工",可以分别控制两个CLIP模型。就像有两个翻译官,一个负责理解简单语言,一个负责理解复杂语言。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
model | model | MODEL | - | SDXL基础模型 | SDXL模型输入 | 连接Load Checkpoint节点的MODEL输出 |
clip_l | clip_l | CLIP | - | CLIP-L文本编码器 | CLIP-L模型输入 | 连接专门的CLIP-L加载器 |
clip_g | clip_g | CLIP | - | CLIP-G文本编码器 | CLIP-G模型输入 | 连接专门的CLIP-G加载器 |
vae | vae | VAE | - | VAE编码解码器 | VAE模型输入 | 连接Load VAE节点 |
supir_model | supir_model | 模型文件列表 | - | SUPIR专用模型 | SUPIR模型文件 | 选择SUPIR-v0Q.ckpt |
fp8_unet | fp8_unet | true/false | false | UNet是否使用FP8精度 | UNet量化开关 | 显存不够时开启 |
diffusion_dtype | diffusion_dtype | fp16/bf16/fp32/auto | auto | 扩散模型计算精度 | 扩散模型数据类型 | auto让系统自动选择 |
high_vram | high_vram | true/false | false | 是否使用高显存模式 | 高显存优化 | 显存充足时开启,加载更快 |
3.4 SUPIR_encode 节点
这个节点是干嘛的? 这是"图片压缩器",把普通图片压缩成AI能理解的特殊格式。就像把中文翻译成英文,让外国人能理解一样。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
SUPIR_VAE | SUPIR_VAE | SUPIRVAE | - | SUPIR的VAE编码器 | SUPIR VAE模型 | 连接模型加载器的VAE输出 |
image | image | IMAGE | - | 要编码的图片 | 输入图像 | 连接Load Image节点 |
use_tiled_vae | use_tiled_vae | true/false | true | 是否分块处理 | 分块VAE处理 | 显存不够必须开启 |
encoder_tile_size | encoder_tile_size | 64-8192 | 512 | 编码分块大小 | 编码器瓦片尺寸 | 显存小用256,显存大用1024 |
encoder_dtype | encoder_dtype | bf16/fp32/auto | auto | 编码器计算精度 | 编码器数据类型 | auto自动选择最佳精度 |
3.5 SUPIR_decode 节点
这个节点是干嘛的? 这是"图片解压器",把AI处理过的特殊格式还原成普通图片。就像把英文翻译回中文,让我们能看懂。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
SUPIR_VAE | SUPIR_VAE | SUPIRVAE | - | SUPIR的VAE解码器 | SUPIR VAE模型 | 连接模型加载器的VAE输出 |
latents | latents | LATENT | - | 要解码的潜在表示 | 潜在空间数据 | 连接采样器或编码器的输出 |
use_tiled_vae | use_tiled_vae | true/false | true | 是否分块处理 | 分块VAE处理 | 显存不够必须开启 |
decoder_tile_size | decoder_tile_size | 64-8192 | 512 | 解码分块大小 | 解码器瓦片尺寸 | 通常比编码器小一些 |
3.6 SUPIR_first_stage 节点
这个节点是干嘛的? 这是"图片预处理器",专门负责清理图片上的压缩痕迹和噪点。就像洗照片前先把照片擦干净一样。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
SUPIR_VAE | SUPIR_VAE | SUPIRVAE | - | SUPIR的VAE处理器 | SUPIR VAE模型 | 连接模型加载器的VAE输出 |
image | image | IMAGE | - | 要预处理的图片 | 输入图像 | 连接Load Image节点 |
use_tiled_vae | use_tiled_vae | true/false | true | 是否分块处理 | 分块VAE处理 | 显存不够必须开启 |
encoder_tile_size | encoder_tile_size | 64-8192 | 512 | 编码分块大小 | 编码器瓦片尺寸 | 显存小用256,显存大用1024 |
decoder_tile_size | decoder_tile_size | 64-8192 | 512 | 解码分块大小 | 解码器瓦片尺寸 | 通常和编码器一样 |
encoder_dtype | encoder_dtype | bf16/fp32/auto | auto | 编码器计算精度 | 编码器数据类型 | auto自动选择最佳精度 |
3.7 SUPIR_conditioner 节点
这个节点是干嘛的? 这是"指令翻译官",把你写的文字描述翻译成AI能理解的指令。就像把"我要一张清晰的照片"翻译成AI语言。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
SUPIR_model | SUPIR_model | SUPIRMODEL | - | SUPIR完整模型 | SUPIR模型实例 | 连接模型加载器的输出 |
latents | latents | LATENT | - | 图片的潜在表示 | 潜在空间数据 | 连接编码器的输出 |
positive_prompt | positive_prompt | 文本 | high quality, detailed | 正面描述,想要的效果 | 正向提示词 | 写"高质量、清晰、详细"等 |
negative_prompt | negative_prompt | 文本 | bad quality, blurry, messy | 负面描述,不想要的效果 | 负向提示词 | 写"低质量、模糊、杂乱"等 |
captions | captions | 文本 | - | 可选的图片内容描述 | 图像标题 | 描述图片内容,如"女孩肖像" |
3.8 SUPIR_sample 节点
这个节点是干嘛的? 这是"图片生成器",根据指令和原图生成新的高清图片。就像一个画家,按照你的要求把模糊画变成清晰画。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
SUPIR_model | SUPIR_model | SUPIRMODEL | - | SUPIR完整模型 | SUPIR模型实例 | 连接模型加载器的输出 |
latents | latents | LATENT | - | 图片的潜在表示 | 潜在空间数据 | 连接编码器的输出 |
positive | positive | SUPIR_cond_pos | - | 正面指令 | 正向条件 | 连接conditioner的positive输出 |
negative | negative | SUPIR_cond_neg | - | 负面指令 | 负向条件 | 连接conditioner的negative输出 |
seed | seed | 0-无限大 | 123 | 随机种子 | 随机数种子 | 控制结果的随机性 |
steps | steps | 3-4096 | 45 | 生成步数 | 扩散步数 | 越多质量越好但越慢 |
cfg_scale_start | cfg_scale_start | 0.0-100.0 | 4.0 | 开始时的指令遵循度 | 起始CFG值 | 控制开始时听话程度 |
cfg_scale_end | cfg_scale_end | 0-100.0 | 4.0 | 结束时的指令遵循度 | 结束CFG值 | 控制结束时听话程度 |
EDM_s_churn | EDM_s_churn | 0-40 | 5 | EDM采样器的随机性 | EDM随机性参数 | 数值越大越随机 |
s_noise | s_noise | 1.0-1.1 | 1.003 | 噪声添加量 | 噪声缩放因子 | 轻微调整即可 |
DPMPP_eta | DPMPP_eta | 0-10.0 | 1.0 | DPMPP采样器参数 | DPMPP eta参数 | 影响DPMPP采样器行为 |
control_scale_start | control_scale_start | 0-10.0 | 1.0 | 开始时的控制强度 | 起始控制强度 | 控制对原图的保持程度 |
control_scale_end | control_scale_end | 0-10.0 | 1.0 | 结束时的控制强度 | 结束控制强度 | 控制对原图的保持程度 |
restore_cfg | restore_cfg | -1.0-20.0 | -1.0 | 修复配置 | 修复参数 | -1自动,其他值手动控制 |
keep_model_loaded | keep_model_loaded | true/false | false | 是否保持模型在内存 | 模型缓存控制 | true更快但占内存 |
sampler | sampler | 多种采样器 | RestoreEDMSampler | 采样器类型 | 采样算法 | EDM质量好,DPMPP速度快 |
sampler_tile_size | sampler_tile_size | 64-4096 | 1024 | 分块采样大小 | 采样器瓦片尺寸 | 配合分块采样使用 |
sampler_tile_stride | sampler_tile_stride | 32-2048 | 512 | 分块采样步长 | 采样器瓦片步长 | 控制分块重叠程度 |
3.9 SUPIR_tiles 节点
这个节点是干嘛的? 这是"图片切片器",把大图切成小块来处理。就像切蛋糕一样,把大蛋糕切成小块,每块单独处理。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
image | image | IMAGE | - | 要切片的图片 | 输入图像 | 连接Load Image节点 |
tile_size | tile_size | 64-8192 | 512 | 每个切片的大小 | 瓦片尺寸 | 512是标准大小 |
tile_stride | tile_stride | 64-8192 | 256 | 切片之间的间距 | 瓦片步长 | 控制切片重叠程度 |
3.10 SUPIR_model_loader 节点(传统版本)
这个节点是干嘛的? 这是"老式模型装载工",功能和v2版本类似,但是使用方式比较老旧。现在主要用来兼容老的工作流程。
参数详解:
参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|
supir_model | supir_model | 模型文件列表 | - | SUPIR模型文件 | SUPIR模型选择 | 选择SUPIR-v0Q.ckpt |
sdxl_model | sdxl_model | 模型文件列表 | - | SDXL模型文件 | SDXL模型选择 | 选择任意SDXL模型 |
fp8_unet | fp8_unet | true/false | false | UNet是否使用FP8精度 | UNet量化开关 | 显存不够时开启 |
diffusion_dtype | diffusion_dtype | fp16/bf16/fp32/auto | auto | 扩散模型计算精度 | 扩散模型数据类型 | auto让系统自动选择 |
4. 使用技巧和建议
4.1 新手推荐工作流程
简单一键流程:使用SUPIR_Upscale节点,所有参数保持默认
进阶分步流程:
4.2 参数调优建议
追求质量:steps设为100+,cfg_scale设为6-8
追求速度:steps设为20-30,使用DPMPP采样器
显存不够:开启所有tiled选项,降低tile_size
处理大图:必须使用分块处理,tile_size根据显存调整
4.3 模型选择建议
4.4 提示词技巧
正面提示词:high quality, detailed, sharp, clear, professional
负面提示词:blurry, low quality, artifacts, noise, distorted
具体描述:加入图片内容描述,如"portrait of a woman"
5. 常见问题解答
Q1:显存不够用怎么办?
A:
Q2:处理速度太慢怎么办?
A:
减少steps到20-30
使用RestoreDPMPP2MSampler
开启keep_model_loaded
使用较小的scale_by倍数
Q3:结果不够清晰怎么办?
A:
增加steps到80-100
调高cfg_scale到6-8
使用RestoreEDMSampler
在提示词中强调"sharp, detailed"
Q4:颜色不对怎么办?
A:
Q5:出现伪影怎么办?
A:
降低cfg_scale
关闭fp8_vae选项
调整s_noise参数
使用更保守的control_scale
Q6:内存溢出怎么办?
A:
重启ComfyUI释放内存
减小图片尺寸
使用更小的tile_size
关闭keep_model_loaded
6. 高级使用技巧
6.1 批量处理
可以输入多张图片进行批量处理
调整batch_size参数控制并行数量
注意显存限制
6.2 视频处理
将视频拆分成帧
逐帧处理后重新合成
注意保持时间一致性
6.3 与其他节点配合
可以与其他放大节点串联使用
可以配合修复节点处理特定问题
可以与ControlNet结合实现更精确控制
7. 总结
ComfyUI-SUPIR插件是一个功能强大的图像超分辨率工具,通过10个专业节点的组合,可以实现从简单的一键放大到复杂的分步处理。
节点总数统计:
本插件共包含 10个节点
本教程已详细解析 10个节点
覆盖率:100%
节点分类:
每个节点都有其特定的功能,合理组合使用可以获得最佳的图像放大效果。建议新手从SUPIR_Upscale节点开始,熟悉后再尝试分步处理流程。
记住:这个插件就像一个专业的照片修复工作室,需要一些练习才能熟练掌握,但一旦上手,就能让你的模糊照片重获新生!