提到图生图,可能很多同学首先想到的是使用 ControlNet,但除此之外也有不少其它图生图功能和模型值得去了解和应用。
现在网上不少分享各种效果很好但结构复杂的图生图工作流程,节点数百个,其文件能达到大几百K。看着有种高级感,但其实都是一个个普通的图生图工作流程融合而成,没有什么高深的知识在内。ComfyUI 没有三维软件和特效软件那么难学,它是一个很基础的工具,只是需要更灵活的去运用。对于初学者来讲,开始就直接去套用那些复杂的工作流,对学习没有任何益处。
本文介绍包括 ContrlNet 在内的多种图生图的基本用法,旨在帮助新同学尽可能的掌握 ComfyUI 图生图功能的使用,内容也会随着相关技术的更新和本人认知的跟进而不定期更新。
文中所用案例均使用 SD1.5 和 SDXL 等早期模型,这些模型比较快速和基础,掌握了这些,Flux 等其它模型的图生图用法也就自然而然的会运用了。
文中会放上部分所有涉及到的工作流,建议新同学根据截图手动连节点,我的截图又大又清晰,这是个很好的学习和熟练的过程。
本文部分非人物图片素材源自网络,侵删。
原生图生图功能
工作流分享:
https://www.alipan.com/s/BFtSjHEw9XV
https://pan.quark.cn/s/5c6af5dae790
1. 基础图生图
![图片[1]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic2.zhimg.com/v2-2031d85c1e5646fd651b30667a27a803_1440w.jpg)
在文生图工作流中,有一个 Empty Latent Image 节点,它相当于向采样器提供了一个只有尺寸信息的空图像。当我们把它替换为带有像素的普通图像时,就相当于将文生图转为图生图了:
![图片[2]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic3.zhimg.com/v2-dc351bcd559f1cad9be857104566424a_1440w.jpg)
需要在图片和采样器之间加一个编码器节点 VAE Encode,它的作用是将图像转换为 Latent Image 传递给采样器。记得连接 VAE,靠 VAE 来编码的。
然后根据图像内容写几个简单的提示词,跑张图试试。
![图片[3]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic4.zhimg.com/v2-766ac55a4514fe6533e563904dfd3f41_1440w.jpg)
右边为生成的图像,这结果,好像跟左边的原图没啥关系。现在我们把采样器的 denoise 值从原默认的 1 降到 0.7 看看。
![图片[4]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic1.zhimg.com/v2-9c7b9315bf51e43e45881c44eb523148_1440w.jpg)
现在结果与原图关联度已经很高,构图相近。
denoise 的本意是降噪,它在此处的作用是擦除 Latent Image 的信息,最大值为 1,值越低,代表擦除的输入图像信息越少,生成的图片也就与其关联度越高。
你也可以用不同风格的模型或提示词来进行图生图,会得到一些有意思的效果。
2. 基础内部重绘
将图生图中的 VAE Encode 改为 VAE Encode for inpainting 节点,就成了一个基础的内部重绘工作流程。
![图片[5]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pica.zhimg.com/v2-d9f4bf522e146cd15b945d547564cc78_1440w.jpg)
grow_mask_by 的值越低,重绘部分与原图的结合部会越明显。
![图片[6]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://picx.zhimg.com/v2-fd5dc08498fb1cebbd7f47b8d4393737_1440w.jpg)
右键点击输入的图片,Open in MaskEditor 打开图片。
![图片[7]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pica.zhimg.com/v2-e0be0895ef6d36fd32b3a552b6c2abaa_1440w.jpg)
在输入图片上右键选择 Open in MakeEditor,将要重绘的部分给完全涂抹,然后保存。
![图片[8]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic2.zhimg.com/v2-facebd17e53dd5a6a698e08c47385015_1440w.jpg)
采样器的 denoise 设置为 0.7,提示词:wearing sunglasses,给人物戴上太阳眼镜。
![图片[9]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic2.zhimg.com/v2-907f3a783de47cd246f68e9f5f716aa1_1440w.jpg)
注意基础模型需要用 Inpaint 模型,平常使用的文生图模型用于内部重绘的话效果并不好,提示词也要尽可能的简洁。
3. 基础外部扩展
其实图像外部扩展的本质也是内部重绘,它是先增加原图片的尺寸,然后再以扩充的空白区域为蒙版进行内部绘制。需要在输入图片和编码器间加一个 Pad Image for Outpainting 节点。
![图片[10]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://picx.zhimg.com/v2-df3969dbf7abc1c3dce95f089504b893_1440w.jpg)
left、top、right、bottom 表示向四个方向扩展图像尺寸,以 8 为单位增减。feathering 表示羽化度,好将重绘的内容与原图更好的融合。采样器的 denoise 设为 1,因为不需要保留扩展区域的空白内容。
![图片[11]-ComfyUI_图生图方法不完全讲解-聚豪云创](https://pic2.zhimg.com/v2-d042e5b61f16423bd376b7a35dde3a49_1440w.jpg)
将图片四周扩展 40 像素,简单提示词:Beautiful night view。例图的结果还算可以了,内部重绘需要多尝试、碰运气。
4. unCLIP图片概念
unCLIP 模型用以从输入的图像中随机选取元素重新生成图片。可以输入单张图,也可以多张图片融合。它选取的内容可以是输入图片中的具体事物,也可能是色彩信息。另外,生成的图片尺寸与原图尺寸无关,可以直接输入大图。