1、介绍
在本期文章中,我将详细介绍如何通过 Checkpoints 和 Flux 两种方式,进行图像扩展。你将了解每种方法的原理、优缺点,并学习如何高效地应用它们来扩展图像,提升你的创作效果。
我们的课程是为了你更好的理解和学习图像扩展的原理,并且在实战操作中更加深刻,所以接下来的文章我将更加细致的讲解每一个重要的步骤和步骤对应的意义。
接下来的操作我只会通过比较少的steps(步数)来生成图片,先找到合适的图片扩展方式,后面可以增加steps进行图片的更加清晰生成。
2、准备
正向提示词:
(best quality, masterpiece),indoor负向提示词:
(human),EasyNegative,naked,nsfw,text,paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (outdoor:1.6), manboobs, backlight bad_prompt_version2 bad-hands-5, EasyNegative,worst quality,low quality,, (worst quality, low quality:1.4), (fuze:1.4), (worst quality:1.1), (low quality:1.4:1.1), lowres, bad anatomy, bad hands, text,(deformed:1.3),(malformed hands:1.4),(poorly drawn hands:1.4),(mutated fingers:1.4),(bad anatomy:1.3),(extra limbs:1.35),(poorly drawn face:1.4),(signature:1.2),(artist name:1.2),(watermark:1.2), bad-artist, bad-hands-5,((((wrong shoes, bad-shoes))))文章中用到的模型:
| 风景/物品Checkpoints模型 | https://huggingface.co//annh/general/resolve/main/dvarchMultiPrompt_dvarchExterior.safetensors |
| 局部重绘ControlNet模型 | https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint.pth |
| IpAdapter模型 | https://huggingface.co//InvokeAI/ip_adapter_plus_sd15/resolve/main/ip-adapter-plus_sd15.safetensors |
| Clip视觉模型CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors | https://huggingface.co//h94/IP-Adapter/resolve/main/models/image_encoder/model.safetensors |
待扩展的图片:

3、图像扩张
3.1、通过与图像匹配的 Checkpoints 模型进行扩展处理
3.1.1、首先创建一个文生图的工作流
下面是我文生图的工作流,工作流的截图如下:

生成的图片:

3.1.2、对图片进行扩展
这里对我们上面准备中提供的图片进行图像扩展,对于图生图的工作流搭建我们前面已经讲解过了,在 comfyui图生图和3中局部重绘的方式 这篇文章中我们讲解过图生图,我还是先把工作流贴出来吧

这里用到的节点 外部画板 将图像进行左右各扩展256像素,需要了解更多外部画板的知识,可以点进去看看,这里的关键是设置Latent噪波遮罩,这个是专门进行局部重绘的节点,在 comfyui图生图和3中局部重绘的方式 这篇文章中曾多次提到。
生成的图片:

这里可以看出图片扩展部分和原图部分颜色稍微有一些差异,不过要求不严格还是可以,当然为了更好的扩图效果我们还可以继续优化。
3.1.3、结合ControlNet 更加细致的控制图像生成
在上面的基础上我准备加入ControlNet,ControlNet 通过引入额外的控制信息,使得用户能够在生成图像时对细节进行精确控制。
节点介绍:
Inpaint Preprocessor : 通过原始图像和掩码图像得到掩码区域替换为指定像素值的图像(局部修复的预处理后图像),根据某些模型要求black_pixel_for_xinsir_cn是否设置为true,一般默认就行了
Apply ControlNet:通过对输入图像或掩码图像的精确控制来生成或修复图像内容。应用Inpaint Preprocessor预处理后的图像,生成的新的正面条件和负面条件。
下载模型到controlnet文件夹:
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint.pth 
生成的图片:

现在可以看出来生成的图片画质和原图保持的比较相似了,光度也和窗外的比较匹配。
3.1.4、加入IpAdapter引用原图的风格
通过加入IPAdapter将原图的风格细节引用到生成的扩展图上,生成的图片不过我在上面的方式已经做的更好了,如果你有更高的要求可以加入风格迁移,IPAdapter Advanced 更多介绍可以点进去看看
IpAdapter可以前往IpAdapter的github项目介绍页去看下载的模型信息,在 ComfyUI_IPAdapter_plus 上可以看到github地址
IPAdapter Advanced 通过引入风格适配、图像细节控制和更强大的图像生成调整功能
这里我用到的模型:
在ipadapter文件夹下:
wget https://huggingface.co//InvokeAI/ip_adapter_plus_sd15/resolve/main/ip-adapter-plus_sd15.safetensors在clip_vision文件夹下:
wget https://huggingface.co/h94/IP-Adapter/resolve/main/models/image_encoder/model.safetensors -O CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors
生成结果图:

好了,这里通过Checkpoints扩图已经完成了,效果如何就看自己微调了,不过我的工作流已经能满足部分要求,需要工作流的自己将我文章中的图片导入工作台就行了
3.2、Flux图像扩展
这里的核心是用到内部模型条件,而内部模型条件的功能就是对图像修复、局部重绘,下面的工作流可以看出flux非常强大。
正向提示词:
high quality
生成图像:

差异扩散DifferentialDiffusion:利用图像中各区域的“差异”来进行扩散,从而增强或提取图像的细节和结构。
内补模型条件:用于图像修复、局部重绘、图像扩展、风格迁移场景的复合节点