大家好,我是三石。
这篇文章我准备了比较长的时间,因为我发现用好这个节点非常重要,希望能给大家带来帮助。
今天给大家带来的是另一个核心节点的梳理和讲解,那就是 Latent,经过我不断尝试和研究,发现这个节点有点意思,用好了能收到意想不到的神奇效果,下面我们开始吧。
各个Latent
另外,本篇文章所有的工作流都已经梳理好,大家需要的可以联系我哦。
Latent工作流
1. Latent 理解
相信大家最开始接触的应该是“空 Latent”,其实我跟大家一样,刚接触 comfyui 的时候,我就很纳闷,这个“latent”到底是什么意思,随着后面地不断探索,我逐渐摸清了里面的道道。
首先,传统地理解 latent 就是“潜空间”的意思,它是把具有相同像素分布规律的点集合在一起,然后通过“VAE 解码器”进行解码,最后输出一张完整图像,我们可以把“Latent”想象成一堆数字的集合,或者也可以想象成“数亿个马赛克小点”。
2. Latent 和 denoise(降噪)的关系
denoise 大家应该也不陌生了,他粗浅的理解就是“重绘幅度”,在“图生图”中,denoise 越高,重绘幅度越大,denoise 越低,重绘幅度越低,跟原图也就越像。
我给大家举个图生图的例子:
这是重绘幅度 1.0 的时候,输出的面包跟原来的面包基本已经没有任何关系了。
这是重绘幅度 0.64 的时候,可以看到跟原图是比较相似的。
但是,到这里还不够,我想帮助大家更好地理解 latent 和重绘幅度到底是怎么个关系,只有我们理解地越深刻,我们后面自由创作的可能性才越高。
现在我们可以这么理解 latent,他就是一片草地,prompt 这些词汇组成的画面是树上飘下的花瓣,降噪是“拿走花瓣的多少”。
所以,当我们输入一段描述词之后,就好像在一块草地上(Latent)铺了一层新的花瓣,这些新的花瓣组合成了一幅全新的图像,而 denoise 就好像上帝的那只手,他负责去拿走一些花瓣,花瓣拿的越多,底部的草地就露出的越多,也就更接近于原来的草地,也就相当于重绘幅度越低,反之,花瓣拿走地越少,重绘幅度就越高。
但是,我觉得这样还是有理解成本,站在设计师的角度上思考,我觉得可以把“latent”直接理解成“画布”或者“图层”,这么一来,后面所有的各种类型的 latent,包括“复制 latent 批次”、“Latent 组合批次”、“Latent 旋转、翻转、裁剪”、“Latent 缩放”等就基本上都能更好地理解了。
说完了 Latent 的基本含义,我们可以再稍微详细的梳理下各种不同类型的 Latent,我们可以看到 Comfyui 中已经做了大致的分类,如下:
在这里,我把上述 80%的 Latent 分成了 6 类,分别是
- 局部重绘:替换画布中的某些元素
- 缩放:放大/缩小画布
- 图层切换:两张画布上下摆放位置切换
- 高级(图层叠加):类似 photoshop 中的两个画布之间的叠加效果
- 图层变换:画布的旋转、翻转等
- 批处理:一次生成多张图片
其他的 Latent 我们在遇到具体问题时候再进行分析即可,下面开始我们的关键章节,看看我们这 6 类 Latent 到底是有什么用。
1. 局部重绘
我帮助大家总结下“VAE 内补编码器”和“设置 Latent 噪波遮罩”这两种局部重绘的区别。
VAE 内补编码器
这种局部重新绘制相当于是在遮罩的地方重新生成一张新的图片,生成的图片跟原来的图片没有关系,比如下面这张图,新出的猫的羽毛颜色跟原来的麻雀的颜色没有关系,所以适合生成那种跟原图没太大关联的新元素。
设置 Latent 噪波遮罩
跟上面的不一样,设置 Latent 噪波遮罩会参考原来图片中的场景进行绘制,也就是在原图的基础上进行重绘,所以出来的图片会更加柔和,过渡更加自然,适合局部微小调整。可以看下面这张图。
2. 缩放
Latent 缩放
Latent 缩放也是一个比较实用的功能,我们可以把它理解成“画布缩放”,也就是调整出图的尺寸大小,经常用在图生图的工作流中,看下面的案例,我们把“Latent 缩放”的宽度和高度都调整成 512 像素,这样出来的面包就变成了正方形,但是会压缩掉。
其中“裁剪-center(中心)”的这个参数是确定裁剪的定位区域的,这里就是从中心区域开始进行裁剪,所以面包的的上下部分就看不到了。
这里有同学可能会问到,为什么模糊了呢?那是因为原图尺寸是 912*1296,现在变成了 512*512,自然就模糊了。
而上面的“缩放方法”是不同的缩放模型,简单理解就是如果这个缩放模型不好,就换一个,下面的第二张图我做了 5 种不同缩放方法的效果对比。
5 种不同缩放方法的效果对比:
Latent 按系数缩放
“Latent 按系数缩放”的意思其实就是图片等比缩放,他能自动获取原图片尺寸大小,然后进行放大或者缩小。
这个缩放功能有什么用呢?可以用在“超分”上,也就是提高画面清晰度,下图是整个放大的工作流,大家如果需要,也可以找我获得哈。
当然,这是最最简单的放大超分工作流,网上还有很多“高科技”,都可以进行图片的超分,这里也是想要告诉大家“万变不离其宗”,本质都是差不多的。因为这张原图本身就已经很清晰了,所以放大之后看的对比不是很明显,建议大家自己找张图试一下,另外,细心的伙伴会发现放大之后的图片跟原来有细微的差别,这是因为我们是最简单的超分手段,所以会有瑕疵,后面我会跟大家详细出一期专门讲怎么超分的工作流,比图模型超分法等,这里先知道原理即可。
3. Latent 图层切换
Latent 复合
接下来是 Latent 图层切换,这个就更简单了,其实就是两个图层,哪个在上,哪个在下。
可以看下图的示例,“源 latent”在上方,“目标 latent”在下方,非常好理解,这里有三个参数,帮大家解释下:
X:源 Latent 的横向位置
Y:源 Latent 的纵向位置
注意:xy 的其实位置是左上角(0,0)
羽化:源 Latent 的边缘模糊程度
这是把羽化设置成 144 的效果,可以看出矿泉水的图片周围已经被羽化了。
Latent 遮罩复合
那 Latent 遮罩复合又是什么意思呢?其实就是多了个“蒙版”,我这里把矿泉水用“遮罩编辑器”打开,然后涂抹需要的部分,再连接到“Latent 遮罩复合”的“遮罩”,就能得到右边的效果图,这就类似于 photoshop 的 P 图。
其中的第三个参数“拉伸原 Latent”,就是把蒙版出的图案拉伸到“目标 latent”的尺寸大小。
那这个有什么用呢?通过“Latent 复合”,我们可以生出一张跟原来图片类似布局的效果图,大家可以看下面这个简单的案例,新生的图跟原图在构图上是十分类似的。
4. 高级(图层叠加)
了解了复合节点,我们继续学习 Latent 图层叠加,这里包括四个,分别是相加,相减,相乘和插值,其实这个也很好理解,就是 photoshop 中的图层之间的叠加等效果,我们一起来探究下吧。
Latent 相加
首先是相加,是不是跟 ps 差不多效果,是把 Latent2 中最亮的部分融合到 Latent1 中。
Latent 相减
这是 Latent 相减,是在 Latent1 中减去 Latent2 中最亮的区域 。
Latent 相乘
Latent 相乘就是调整相加和相减的程度,这里我在“Latent 相减”中调高“Latent 相乘”的系数,可以发现暗部区域变强了。
那这有什么用呢?其实我也不是很清楚,但是我发现,这个东西可以出“惊喜”,我把刚刚的“Latent 相减”连到采样器中,输入提示词“sunset”如果,发现没有,就能得到一张很有意境的图片,画面的整个色调就是参考了我们的 Latent。
再比如下面这张,也不错!
Latent 插值
最后一个是 “Latent 插值”,这个其实就类似透明度,但不是真正的透明度,他更像是把两张图做了融合处理,大家自己可以试一下。
这是插值出来的效果,还不错吧。
5. 变换
接下来是最好理解的三个 Latent 节点,分别是旋转、翻转和裁剪,这个相信大家都不陌生,这里就通过案例直接看效果就行。
Latent 旋转
分别可以顺时针旋转 90 度、180 度、和 270 度。
Latent 翻转
分别可以水平翻转和垂直翻转
Latent 裁剪
可以把原图裁剪成任意尺寸图片:
6. Latent 批处理
空 Latent
这个节点非常好用,可以一次出好多张图片,大大减少我们出图的时间,我们来看下。
在问生图的工作流当中,如果想同时生成多张图,我们在“空 Latent”中增加批次来解决,比如下面设置“批次大小”为 5,就可以一口气出 5 张不一样的图,这个还是非常有用的。
复制 Latent 批次
那么在图生图的工作流中,怎么一口气生成多张呢?这里就要用到“复制 Latent 批次”节点了,在“次数”中设置数量为 4,就能出 4 张图了。
Latent 组合批次
这个就是输入 2 张图,再分别输出 2 张图。
从批次获取 Latent
这个需要讲一下,他的作用是在出图之后进行“挑图”,2 个参数的意思是:
批次索引:从第几张开始挑
长度:挑几张
比如下面这个,出了 6 张图,然后从第 3 张图开始挑,挑后面的 2 张,所以得到了 4 和 5.
重设 Latent 批次
这个节点的意思,我理解是“一批一批地出图”,像之前我们把“Latent 批次”次数设置为 4,那就是出 4 张图,这 4 张图是一张一张出的,但是如果用了“重设 Latent 批次”,就变成了“批次出图”。
看下图,我出了 5 张图,“重设 Latent 批次”为 2,那他的出图是(2 张,2 张,1 张),最后加起来等于 5 张,如果出图为 20,“重设 Latent 批次”为 6,那出图是(6、6、6、2)。而且网上说这种出图的速度会快些,大家可以自己尝试下哦。
好啦,今天的分享到这里就结束了,这篇文章主要是为了帮助大家梳理各个 Latent 的用途和用法,而且我发现,用好这个节点非常重要,因为它是图生图的关键流程,希望大家可以自己尝试下,有时候会生出特别好看的图片,就像文章中的案例还是很有意思的。
此外,Latent 内补、Latent 批处理和 Latent 缩放这三个的使用频率是比较高的,需要重点了解下哦。
最后,依然祝大家出图愉快,收获惊喜!
喜欢地可以点个关注哦,让我们互相学习,共同成长,我们评论区见!
复制本文链接 文章为作者独立观点不代表优设网立场,未经允许不得转载。
发评论!每天赢奖品
点击 登录 后,在评论区留言,系统会随机派送奖品
2012年成立至今,是国内备受欢迎的设计师平台,提供奖品赞助 联系我们
DeepSeek实用操作手册
已累计诞生 744 位幸运星
发表评论 为下方 6 条评论点赞,解锁好运彩蛋
↓ 下方为您推荐了一些精彩有趣的文章热评 ↓