木子素材 首页 大神 AIGC 查看内容

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

2024-1-8 06:35| 发布者: admin| 查看: 1179| 评论: 0

摘要: 往期回顾: 超详细的 Stable Diffusion ComfyUI 基础教程(五):局部重绘+智能扩图前言: 我们上一节讲了图生图,也提到了“遮罩”这个节点; 我们想一下在使用 Web UI 进行局部重绘的时候都用到了那些功能?阅读文 ...
二维码1

扫一扫
官方手机版

AI创作助手小程序

扫一扫
AI创作程序

木子官方公众号

扫一扫
木子公众号

木子AI官方公众号

扫一扫
AI公众号

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

往期回顾:

超详细的 Stable Diffusion ComfyUI 基础教程(五):局部重绘+智能扩图

前言: 我们上一节讲了图生图,也提到了“遮罩”这个节点; 我们想一下在使用 Web UI 进行局部重绘的时候都用到了那些功能?

阅读文章 >

补充:

①在开始之前推荐一个插件,ComfyUI-Manager(ComfyUI 管理器),下载地址: https://github.com/ltdrdata/ComfyUI-Manager.git

②安装方式除了可以使用我们第一节课上讲的 “git 拉取”外( 不要使用压缩包解压安装),还可以把“install-manager-for-portable-version.bat”文件放入"ComfyUI_windows_portable"目录双击安装(“install-manager-for-portable-version.bat”文件我会放在这节课的文件链接里面);

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

③安装好之后会在右侧菜单上显示一个“管理器”的按钮,点击就可以打开操作弹窗;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

④我们可以通过这个插件安装、删除、禁用其他插件,也可以下载放大模型,更新 ComfyUI 等功能;

⑤最主要的还是“安装节点”、“安装缺失节点”

a. 单击“安装节点”搜索我们需要安装的节点名字后点击“Install”等待安装成功就可以了;

b. 我们在使用别人分享的流程图时发现缺少插件(节点变成红色块),就可以点击“安装缺失节点”进行安装;

⑥采用“管理器”安装比 git 拉取更简单,也会解决插件需要手动配置环境的操作(部分插件不可以,具体需要看插件安装要求)

前言:

前几节课我们学习了文生图、图生图、局部重绘,但是生成的图片分辨率太小,我们可以通过模型放大、潜在放大、非潜在放大、分块放大多种方式对图像进行放大。

一、放大工作流

我们以文生图后的图片进行放大,在开始之前我们打开之前搭建的文生图基础流程。

1. 模型放大:

①模型放大是最简单,也是效果最差的放大方式,他就和我们在 Web UI 上使用后期处理进行放大一样,只是通过放大算法对图像直接放大(也就是图像空间放大),这也会导致我们放大的图片损失细节,甚至看起来会很腻很假;

②虽然上面说的一无是处,但是使用他搭配在其他的放大方式上效果就大大增强,我们先看一下怎么使用模型放大吧;

③“右键-新建节点-图像-放大-图像通过模型放大”

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

④左侧的“放大模型”通过拖拽连接“放大模型加载器”(“右键-新建节点-加载器-放大模型加载器”进行连接也可以);

⑤选择自己需要的放大模型,我给大家准备好的 17 个放大模型,都放在网盘里面了(管理器的安装模型也可以下载放大模型),其中 BSRGAN、ESRGAN、SwinIR_4K、RealESRGAN_x4plus 效果不错;

⑥左侧的“图像”连接“VAE 解码”输出的图像,右侧直接连接保存图像就可以了;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

⑦有没有发现我们没有设置图片放大的倍数,其实模型放大是直接根据所选放大模型进行放大的,一般都是放大 4 倍。

2. 潜在放大:

①这时候我们插个知识点,在 Web UI 上我们进行高分辨率修复的时候,我们会看到在选择放大算法时,有 Latent 开头的几个算法可选择,这其实就是我们进行潜在放大所需要用到的流程;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

②潜在放大就是在原图上进行缩放,然后对缩放后的图像进行重新采样,进而增加细节达到放大的目的;

③由于我们对图片放大还需要进行“VAE 解码、图片放大、VAE 内补编码”这三个步骤,所以,,,,我们可以直接对 Latent 进行放大;

④ “右键-新建节点-Latent-Latent 缩放/Latent 按系数缩放”,可以看到我这边放了两个节点,这两个节点一个是需要设置宽高、一个是根据倍数放大,根据自己的需要选择就好;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

⑤如果前几节课学明白了,后面的就不用我多说了吧,再串联一个采样器就可以了;

⑥下方是我连接好的工作流,这里我选择的是“Latent 按系数缩放”,这个比较方便一些,大家也可以选择“Latent 缩放”

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

注意:降噪数值一定要在 0.5 左右,数值过低会有崩坏的情况。放大倍数也不要太大,太大同样会有崩坏的情况

3. 非潜在放大:

①非潜在放大可以理解成模型放大和潜在放大的结合,先进行模型放大后对模型放大的图片进行重新采样;

②是不是有思路了?不过不要忘了对模型放大后的图片进行缩放(因为直接对放大 4 倍的图片进行重新采样会占用太多显存并且添加的细节不够);

③我们想要得到更高像素的图像可以多次叠加“非潜在放大”流程,只要你的显存够大,你想要多大的图都可以。

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

4. 分块放大:

①非潜在放大要得到一张 4K 图需要很高的显存,但是我们可以通过分块放大,使用较小的显存出更大的图。

②分块放大其实就是把一张图切成 n 个块,然后对小块进行重新采样,最后把小块拼接在一起。他的好处是可以使用更小的显存得到一张更大分辨率的图;

③分块放大是需要用到一个插件的: https://github.com/BlenderNeko/ComfyUI_TiledKSampler.git (压缩包解压安装、git 拉取、管理器安装都可以)

④我们需要用到这个插件中的“分块采样器”,“右键-新建节点-采样器-K 采样器(分块)”,他同样有一个高级采样器,这个我们要进行 refiner 模型细化的时候可以使用。

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

⑤来看一下和我们的普通采样器有什么区别吧,只多了三个操作,分块宽度、分块高度、无缝分块策略

a. 分块宽度、分块高度:是指我们放大时每一次进行分块采样时绘制的宽高;

  1. 数值不要太小(根据你放的后图片的大小决定,比如我要放大成 2048*2048,我是设置为 1024*1024 的)
  2. 数值越小分的块越多,分的块越多也就越慢;也会增加出现伪影的几率(比如你生成猫,你会在某些小区域得到猫的影子,即使你降噪数值小也会出现不同程度的伪影)

b. 无缝分块策略:是指在我们分块采样的每一块相接处会出现明显的拼接痕迹,而无缝分块策略就是通过不同的方式减少拼接痕迹的,有四种可选策略,random(随机)、random strict(随机严格)、padded(填充)、simple(简单),我建议使用 random 和 random strict。

  1. random(随机):也是默认策略,它是通过在平和垂直的分块图像之间随机交替采样来消除拼接痕迹(效果最好,与 uni 采样器不兼容);
  2. random strict(随机严格):因为 random 很有可能会对有边框的图像产生不好的效果,所以 random strict 使用遮罩来确保不裁剪边框图块(效果和 random 类似,但不适用于 SDE 采样器)。
  3. padded(填充):为每块图像在四周提供一定的范围进行叠加来减少拼接缝隙,正因为这样,他需要对多达 4 倍的图块进行采样(效果不如 random,速度慢,支持 uni 采样器)。
    iv. simple(简单):看名字就知道,最简单的策略,就是直接一块块的去燥(效果最差,速度最快,不建议使用)

⑥是不是以为当成普通采样器连接就可以了,,,,那当然不是,在“正面条件”中间要把 ControlNet 的 tile 连接进去;

⑦ “右键-新建节点-加载器-ControlNet 加载器”,加载器选择“tile”的(tile 模型我会放在网盘里面,其他的 ControlNet 使用方法我会在第八节课讲给大家)

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

⑧ “ControlNet 加载器”连接“ControlNet 应用”,直接拖拽连接就可以(或:右键-新建节点-条件-ControlNet 应用)

⑨我们“ControlNet 应用”两边的“条件”连接“正面条件/提示词”,图像连接“VAE 解码”输出的图像;大模型连接“K 采样器(分块)”上的模型;

⑩这时候我们就剩下设置出图大小了,我们可以在“VAE 解码的图像”连接过来一个“图像缩放/按系数放大”(或:模型放大流程,我个人测试下来,模型放大效果最好);

⑪然后对图像进行“VAE 编码”然后连接到“K 采样器(分块)”上,这不用细说了吧,图生图的流程;

⑫注意:降噪同样不要太低,分块宽高根据情况设置,如果出现伪影就增大数值

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

5. UltimateSDUpscale(终极 SD 放大):

①我们使用时每次都要搭建一遍“非潜在放大或分块放大”等流程会很麻烦,使用“ComfyUI_UltimateSDUpscale”插件会更简单。

②下载地址: https://github.com/ssitu/ComfyUI_UltimateSDUpscale.git (压缩包解压安装、git 拉取、管理器安装都可以)

③“右键-新建节点-图像-放大-SD 放大”,这个插件有两个功能,一个是细节修复+放大(SD 放大),一个是细节修复(SD 放大(不放大))。我们主要用到的是 SD(放大),他们的区别只是是否连接放大模型;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

④这个放大插件可以说是把上方的“模型放大+分块放大”进行了一个组合;

⑤我们可以看到这个节点和我们上面用的“K 采样器(分块)”很相似对吧,这个地方我们主要去关注几个操作就可以了

a. mode_type(模式类型):有两个可选择

  1. Linear(直线):逐行进行拼接(更快,但是会有几率出现伪影,我们默认使用这个)
  2. Chess:棋盘拼接 ,可以理解成“X”形状的拼接样式(慢一些,出现伪影的几率小)

b. mask_blur(模糊):拼接区域的羽化程度,默认 8 就可以,融合不好的情况下适当调高

c. Tile_padding(分块区域):相邻融合像素,和我们上面说的 padded(填充)策略一样,不过这个插件我们可以设置融合像素的值

d. seam_fix_mode(接缝修复模式):有三种模式选择,Band Pass(速度快)、Half Tile(质量好)、Band Pass+Half Tile(速度和质量做一个折中)

⑥连接就更简单了,连接一个“放大模型加载器”,其他的就按照名字连接就可以;

Stable Diffusion ComfyUI 基础教程(六):图片放大与细节修复

总结

  1. “模型放大”最快也是效果最差,最不推荐的。我常用的是“非潜在放大”和“UltimateSDUpscale 插件放大”;
  2. 每个放大方式都有利弊,我们完全可以多种方式一起进行放大,比如:潜在放大/非潜在放大 + UltimateSDUpscale 插件放大,这样我们放大后的图片效果更好,细节更丰富;
  3. 我们 refiner 模型细化、图生图、还有我们以后要学习的 文/图生视频 等都可以用这几种方式进行放大;
  4. 我把这几种放大方法整合在一个工作流中,大家可以对比一下不同方式下的放大效果

手机扫一扫,阅读下载更方便˃ʍ˂

@版权声明

1、本网站文章、帖子等仅代表作者本人的观点,与本站立场无关。
2、转载或引用本网版权所有之内容须注明“转自(或引自)网”字样,并标明本网网址。
3、本站所有图片和资源来源于用户上传和网络,仅用作展示,如有侵权请联系站长!QQ: 13671295。


路过

雷人

握手

鲜花

鸡蛋

最新评论

广告图片
悬浮图片
×