再来!Kontext指定区域局部重绘,处理图片更自由了!
西安/UI设计师/121天前/345浏览
版权
再来!Kontext指定区域局部重绘,处理图片更自由了!
大家好,我是叁石。
继上次发布的文章
干货分享|Kontext工作流搭建+提示词技巧,彻底解决出图困难,大家发现kontext能通过自然语言进行图片处理,如风格迁移、文字替换、角色一致等,所以有好多的小伙伴问我要工作流,我也一一分享给了大家。
但是,在和大家沟通的时候,我发现kontext的这个工作流还存在一些缺陷,就是描述很费劲,
尤其是遇到一张图中有多个相似元素的情况,
大家可以看下面两个工作流的案例。
第一个是画面元素比较简单的,所以kontext会比较好理解我们的输入“change hair to silver”,把头发变成银色。
如果是下面这张图呢?我给到的提示词是“Change the hair color of the girl wearing green clothes to red”,把穿绿色衣服的女孩的头发颜色变成红色。显然,kontext理解起来是有难度的,
没有正确按照提示词的内容进行修改
。
所以,有没有办法能通过遮罩来涂抹出自己想要改变的区域,再让kontext进行修改呢?就类似于sdxl中图生图中的局部重绘?大家可以看下这篇文章:
经过不断地探索和学习,我发现还真的可以,只需要插入
【Kontext Inpainting Conditioning】
节点,就能实现在kontext中,
用画笔画出遮罩,然后针对遮罩区域进行单独的重新绘制
,如下图:
我们看下视频实操:
ok,那我们今天就一起学习下怎么实现这种效果及工作流的搭建吧,本篇的目录如下:
- kontext粉丝答疑解惑
- kontext单图局部重绘工作流
- kontext双图局部替换工作流(重点)
- 总结
1.kontext粉丝答疑解惑
1.1 kontext模型哪里下载?
我们可以去Flux官方网站上下载kontext模型。
这里要注意的是,kontext模型有三个版本,
分别是“max”、“pro”和“dev”
。这三者的区别是:
max:参数最大,训练数据量最丰富,性能最佳。
pro:统一模型,提供 FLUX.1 质量的局部编辑、生成式修改和文本转图像生成功能,性能中等。
dev:开发者测试,速度最快。
或者也可以去huggingface上下载。我给大家也下载好了,大家也可以联系我获取模型。
1.2 为什么我的工作流老是报错不出图?
如下图1,出现这个报错可能是因为我们没有将kontext模型下载到本地运行,而是直接调用了API接口,由于网络不稳定,所以有时候会出图,有时候就不会出图,所以我不建议大家用“Flux.1 Kontext [pro] Image(提示词输入)”这个节点,
最好用常规的工作流进行搭建,然后加载模型即可。如下图3
。
下面这种常规的工作流虽然搭建起来比较复杂,但是运行稳定,不容易报错。
1.3 为什么我的工作流出图没有重绘?
这个问题应该是粗心了,我们要在【UNET加载器】中选择kontext模型才可以,记住,它是一个模型,可不是一个节点哈,如下图。
2.kontext单图局部重绘工作流
现在我们进入正题,如何在kontext中进行单图的遮罩区域局部重绘制,正如文章开头所说的,我们插入一个【Kontext Inpainting Conditioning】节点,连接在【K采样器】之前就可以了,如下图。
然后上传一张图片,右击选择“在遮罩编辑器中打开”,涂抹自己需要去掉的区域。接着在【CLIP文本编码器】中输入自己想替换的元素就行,比如“Replace the bottle in your hand with a glass of water”,将手中的瓶子替换成玻璃水杯。
可以看到,效果还是很不错的。再回到开头那张多个女孩的照片的案例,我们再试一下,也是不错的。有了遮罩重绘的kontext,
最方便的是不同再费尽心思地去写提示词,就像这里的提示词“turn hair silver”,非常简单,因为此时的工作流只对遮罩区域有效
。
3.kontext双图局部替换(重点)
重点来啦,既然单图可以局部替换,那将一张图替换到另一张图上去,能通过kontext实现么?如果能实现,那kontext是不是实现了万物替换?经过尝试和思考,发现是可以的。我们只需要插入【Image Stitch】节点,将结合之后的图片VAE编码给到【ReferenceLatent】节点,再连接到【Kontext Inpainting Conditioning】即可,如下图。
我们看下完整的工作流。需要的可以在文章底部获取。
这个工作流其实原理也非常简单,我们先将2张图片通过【Image Stitch】组合在一起,然后VAE编码给到【ReferenceLatent】节点,如下图。这个kontext双图元素替换的逻辑是一样的。
然后将涂抹形成遮罩的图片通过【Grow Mask With Blur】(遮罩模糊生长),将遮罩的边缘进行柔和处理,然后给到【Kontext Inpainting Conditioning】的“mask输入”,还有将原图也给到该节点的“pixels输入”,如下图,就能跑通整个工作流了。
4.总结
本篇文章主要是再次延伸了kontext的重绘功能,之前大家只能通过各种提示词描述来让kontext理解我们的想法,所以比较“费脑子”。现在kontext有了局部重绘,就大大提高了提示词描述的精准程度了。尤其是还可以将一张图替换到另一张被涂抹的区域,可以说是非常便捷。
另外也在平时和大家的讨论中把一些共性问题跟大家分享下,希望大家可以少报错,快速跑图,
最后,关于工作流和模型大家有什么需求和疑问的,也可以联系我,我会尽力帮助大家解决跑图中的各类报错问题,谢谢!
12
Report
声明
12
Share
相关推荐
in to comment
Add emoji
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
You may like
相关收藏夹
Log in
12Log in and synchronize recommended records
12Log in and add to My Favorites
评论Log in and comment your thoughts
分享Share



























































































