计算机系统应用教程网站

网站首页 > 技术文章 正文

comfyui图生图及衍生的进阶工作流,从底层逻辑解析搭建逻辑!

btikc 2024-12-26 12:02:30 技术文章 19 ℃ 0 评论

玩过stable diffusion的同学都知道图生图这个模式,那你有没有想过在comfyui里图生图是怎么实现的?图生图工作流有什么进阶工作流!今天就小小总结一下,以指导我更好地理解复杂一点的工作流,当然也供各位读者参考!

1.基础图生图工作流及noise 解读!

其实只需要用到一个节点即vae encode,我对这个节点的理解是将图片信息编码传到一个文生图工作流中,只需要将vae encode连接到latent如图所示!

这里的noise很重要,中文翻译噪声!这个名词我一直不太理解,只知道其大概规律,例如在这个工作流中noise为零时图像不做改变,noise为1时图像会完全根据提示词和模型去改变,如下图图像几乎和参考图不相干!

为了弄清楚noise的规律,我查阅了gpt-4omini及相关资料终于明白何为噪声!

想象一下你在一个光线优质,镜头清晰的房间拍照片,这个时候只要设备没问题,拍出的照片非常清晰。如果此时房间光线昏暗或者镜头上有污点这个时候你在拍照片时就会收到干扰,拍出的照片就会有各种颗粒或者模糊区域,这些干扰就称为噪声!

在K-Sample中,“噪声”就像是摄影中的干扰,它可以影响生成图像的清晰度和细节。通过控制噪声的量,你可以调整图像的最终效果,确保它符合你的期望。噪声可以用来增强细节或创造艺术效果,但过多的噪声会导致图像质量下降。

所以图生图noise为1 的解释为:

在图生图(Image-to-Image)过程中,如果 noise 的值设置为 1,意思是说noise的噪声强度为1,但这并不代表噪点铺满了原始图像,它只是代表噪声的影响强度!

在图生图过程中,noise 值为 1 时,噪声对图像的干扰达到极致,图像几乎完全被噪声覆盖,这使得生成的新图像与原始图像几乎无关。生成的新图像主要受到提示词的影响,而不是原始图像的内容。这种方法可以用来创建与提示词相匹配的全新图像,尽管原始图像的信息基本不被保留。

所以噪声强度的应用在风格迁移(style transfer)的应用方法通常是将noise的强度改为0.2-0.5之间,这样既最大程度的保留原图的细节又有迁移风格的元素!

2.图生图对局部重绘

谈到局部重绘就会牵扯到遮罩,也就是通过制作遮罩的方式对图像的特点部分进行处理。制作遮罩的工具有maskeditor(遮罩编辑器),或者segment anything(语义分割)等等!

遮罩的编码方式有vae encode (for inpainting ),翻译成中文就是对遮罩部分进行编码处理,通俗的讲就是把图像遮罩部分的高维图像数据(编码成低维的潜在空间表示。这一步将图像数据压缩成潜在表示,包含了图像的主要特征和结构信息,并进行局部重绘。

这种把图像进行编码成低纬的潜在空间表示,并重绘的过程也可以用更高级的方式表达,即是vae encode+set latent noise mask!

set latent noise mask可以翻译为设置潜在的设置潜在空间的噪声掩码,作用是:

  • 噪声掩码的应用:在潜在空间中应用噪声掩码,可以使某些区域的噪声减少,从而在生成过程中还原更多细节。这类似于在图像处理中应用锐化滤镜,使图像的边缘和细节更清晰。

  • 细节度的提升:通过合理设置噪声掩码,可以使原本经过 VAE 编码后可能变得模糊的细节在解码过程中得到更好的恢复和增强。

总结来看就是可以让图像从高维数据编码到低维潜在表示的时候保留原始图像更多的细节!

3.如何更好地控制原图像的细节呢

当我们为了更好的在图生图过程中保留或参考原图像的细节,我们就可以用到controlnet,用openpose控制姿势,用canny控制线条细节,用depth控制图像的深度关系!

所以看到这里你会发现很多纷杂的工作流实际理论,说穿了就是图生图和图生图的扩展,例如ipadapter face ID的本质就是在图生图的过程中对面部进行局部重绘,并用特点面部进行替换!


下面我们看几个图生图的几个高级用法

1.改变人物衣服颜色

这个工作流主要的部分其实也就三部分,文生图、语义分割、CN

2.改变建筑物风格

这个工作流主要的部分其实也就三部分,文生图、语义分割、CN,这个和上面的工作流其实是一个道理只需要,改变提示词或者加lora即可,之前的粘土风格,其实都是这一类工作流!

3.一键换背景工作流

这个工作流的底层逻辑也就是文生图、语义分割、CN,只不过是用了要给invert mask把抠出来的主体作为非遮罩部分进行创作!

发现很多工作流万变不离其宗,作为小白的我,一直认为学习comfyui的最佳方法就是拆解他人的工作流,之后举一反三!最后感谢您的收看!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表