本文将尝试在ComfyUI中使用Flux.1进行生产,实现图生图、区域重绘的工作流。
实践发现就算不使用提示词和ControlNet,Flux.1在重绘时会”很容易“保持原图的姿态并且不容易生成杂乱的手指,而在指定生成英文字母时几乎能做到完全跟随。
示例工作流分享:https://share.weiyun.com/0ZX9jq3m
Part 1
Flux.1
FLUX.1 is a new open-source image generation model. It was developed by Black Forest Labs, the team behind Stable Diffusion. FLUX.1 is now available on BasedLabs. Click below to try FLUX.1 now.
据黑森林官方报告,在基准测试中, Flux.1 在各种指标上都表现出卓越的性能,其拥有以下特性:
容易生成复杂的构图 、逼真的有机纹理 、多样化的艺术风格Exceptional language comprehension:卓越的语言理解能力快速图像生成(在实验室测试中比 Midjourney V6 标准速度快 10 倍)Flux.1的突出特点之一是其出色的即时依附性。
无论是使用简单提示还是复杂提示,该模型都能始终如一地提供与输入描述非常匹配的高质量图像。例如,一个简单的提示,如“一只猫看着相机,鱼眼镜头”产生的结果与 Midjourney V6 的结果相当。更复杂的提示依然可以准确地指导场景中对象的位置和细节。
体验地址:https://huggingface.co/black-forest-labs/FLUX.1-dev
Part 2
环境准备&开始
以下工作所使用的配置为:
GPU:NVIDIA-A100-PCIE-40GB * 1RAM:64GBCPU:10CoreComfyUI: 2489[7f9612] (2024-08-06)Manager: V2.48.4在这里不再讨论ComfyUI的准备过程,仅说明必须准备的项目。
名称
链接
安装位置
flux1-dev.safetensors (23.8GB)
https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/flux1-dev.safetensors%EF%BC%9A%E4%B8%8B%E8%BD%BD
ComfyUI\models\unet
t5xxl_fp16.safetensors 或者t5xxl_fp8_e4m3fn.safetensors
https://huggingface.co/camenduru/FLUX.1-dev/tree/main%EF%BC%9A%E4%B8%8B%E8%BD%BD%3Ccode%3Eclip_l.safetensors%3C/code%3E%E3%80%81
ComfyUI/models/clip
diffusion_pytorch_model.safetensors
https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/flux1-dev.safetensors%EF%BC%9A%E4%B8%8B%E8%BD%BD
ComfyUI/models/vae
最后重新加载ComfyUI。
Part 3
With ComfyUI
在ComfyUI中使用Flux.1,只需要Flux.1作为unet进行加载,使用双Clip加载节点并指定其type为flux。接下来笔者将提供简单的图生图和蒙版修复的示例。
3.1 image to image
工作流总览:
提示词准备:
在这里,使用WD14对原图进行反推,直接使用了一个翻译节点将中文句翻译为朴素的英文句作为提示,不需要在使用SD时常用的短语式提示。
原提示:一张女孩拿着扇子的真实摄影照片,扇子上面写着"kohinata_mika"
补充提示:quality details,cinematic
使用一个“魔法连接”节点连接两套关键词。
对正反提示词进行编码之后,使用FluxGuidance节点优化指导,并将其值设定为2.8
参数设置:
UNET:flux1-dev.safetensorsCLIP:t5xxl_fp16.safetensors&clip_l.safetensorsVAE:diffusion_pytorch_model.safetensors调度:ddim_uniform采样:ddim引导生成&采样器:
这里使用CFG引导节点去生成引导,设置步数为6。将上述节点用于一个自定义采样器节点,加载diffusion_pytorch_model.safetensors作为vae,最后经过vae解码之后生成结果。
结果生成:
下图左侧为原图,右侧为结果图。
可以看到Flux.1在”关键词跟随“上完成得非常优秀,基本是一字不落地写出了”kohinata_mika“,同时整体姿势和风格得到了良好的保留。
多批次结果略缩图:
手部:
提示词跟随(kohinata_mika):
3.2 inpainting with SAM
除了实现图片重绘,还可以结合segment_anything、Inpaint Crop、内部绘制模型进行局部重绘。
工作流总览:
其中提示词准备与参数设置与节3.1基本一致,相比节3.1中的工作,在输入图像的时候使用SAM对主体进行了分割,并且利用Inpaint Crop进行蒙版优化。
SAM相关设置:
给定提示词:character and fan。将主体和扇子通过SAM分割出来。
Inpaint Crop相关设置:
在使用SAM取得了主体和扇子的蒙版后,对蒙版进行反转,实现背景的替换。
结果生成:
Part 4
摸石头过河式的探索
以下是笔者在探索Flux.1时多次实践得到的现象:
CFG = 1时,负面提示”几乎“不发挥作用。慎用高CFG,在超越12之后很容易就会造成超高饱和度和全是噪点的输出。FluxGuidance的”最优值“不是固定的,笔者认为每种风格的图像(仅提示词差异)都具有自己的 最优FluxGuidance 值。Flux虽然拥有非常优秀的文本理解能力,但在使用英文提示时,”是否大写“的单词生成的结果有时候差异很大。Schnell模型不利于风格化转绘不需要使用过于”强势“的短语式提示,口语化的描述也能取得很好的效果。另外,根据笔者不严谨的对比后( Flux.1、Abominable Spaghetti、Midjourney 6.1 ),笔者认为:
Flux 的快速理解几乎和 Midjourney 一样好Flux在皮肤平滑方面过于激进,AS(Abominable Spaghetti)的皮肤质量和纹理生成比Flux更具细节,Midjourney 则更好Flux在追随提示词和肢体控制(特别是手和脚趾)方面是三者中最好的此外,Flux模型也有可使用的ControlNet(https://github.com/XLabs-AI/x-flux%EF%BC%89 但转绘效果堪忧,对脸型和大场景的控制力较弱,有时候还不如只使用Flux进行转绘(怀疑与训练尺寸有关)。
Part 5
参考
https://www.basedlabs.ai/tools/flux1https://www.reddit.com/r/StableDiffusion/comments/1ekf1mw/flux_dev_fluxguidance_node_guidance_value_tests/#lightboxhttps://huggingface.co/black-forest-labshttps://www.reddit.com/r/StableDiffusion/comments/1ekf1mw/flux_dev_fluxguidance_node_guidance_value_tests/#lightboxhttps://github.com/XLabs-AI/x-fluxhttps://www.reddit.com/r/StableDiffusion/comments/1ekf1mw/comment/lgkibyh/?share_id=MPuHCkGLAVyw5LDBFD0Vk作者:凌瀚远
来源-微信公众号:LitGate
出处:https://mp.weixin.qq.com/s/IufUwIM_cSt2sWSMlerTBQ