【comfyui教程】Flux官方最新王炸模型,7合1工作流 (ControlNet+局部重绘+扩图+风格迁移)

前言

黑森林实验室(Black Forest Lab),作为革命性 Flux 模型的创造者,最近推出了一套强大的新工具,旨在重新定义我们在 ComfyUI 中处理图像生成和编辑的方式。这些尖端模型——Fill, Canny, Depth 和 Redux——带来了诸如局部重绘(inpainting)和扩图(outpainting)、精确边缘检测 (Canny)、深度映射 (Depth) (Depth)以及创意风格迁移等高级功能。

然而,真正让 Flux 工具脱颖而出的是它的性能。在一对一的基准测试中,Flux 模型始终优于类似的专有解决方案,如 Midjourney ReTextureIdeogram V2。例如,Flux.1 Fill [pro] 模型目前被认为是最先进的局部重绘模型,在质量和效率上都无出其右。同时,Flux.1 Depth [pro] 模型在深度感知任务的多样性和可靠性上超越了 Midjourney ReTexture。

本文将深入解析这些模型的独特功能,并为您提供一个高效的工作流,帮助您快速上手。


# 功能与工具概述

全新 Flux 模型套件——Fill, Canny, Depth 和 Redux 提供了顶级的性能和多功能性。以下是每个模型的功能以及它们如何超越竞争对手的简要介绍。

1. Fill 模型:局部重绘与扩图的强大引擎

img

Fill 模型为局部重绘与扩图设立了新的标杆,呈现出卓越的细节和无缝的过渡效果。

img

  • 主要特点:

  • 将局部重绘和扩图任务集成到一个模型中。

  • 在编辑区域与原始图像之间提供完美的过渡,使修改难以察觉。

  • 即使在复杂的编辑或图像扩图中,也能保持高效可靠。

  • 相比竞争对手的优势:

  • 提供更高的准确性和一致性,优于如 Ideogram V2 等专有工具。

  • 比传统解决方案更高效,是追求高质量结果而不牺牲速度的理想选择。

img


2. 结构化控制:Canny 和 Depth

结构化控制(Structural Conditioning)在图像变换工作流中是一项强大的功能,它通过 Canny 边缘检测深度映射 (Depth) (Depth) 来保持原始图像的结构完整性。此过程允许用户在保持构图和关键细节(如轮廓、形状和空间深度)的同时进行精确的文本指导编辑。

  • 主要应用:

  • 适用于需要保留原始结构的重绘纹理或风格迁移任务。

  • 使纹理、材质或细节更改变得无缝,同时保持对象的形状完整。

  • Flux 的结构化控制优势:

  • Canny 边缘(Canny)图:专注于边缘精度,确保轮廓的清晰度和准确性,以实现高度可控的编辑。

  • 深度映射 (Depth):通过保留光影和空间关系,增强变换的维度感,确保变换的真实性。

img

Flux 如何超越竞争对手

  1. Canny 边缘检测:
  • Flux.1 Canny [pro] 模型提供了市场上最精确、高质量的边缘检测,非常适合需要精确结构控制的工作流。

  • Dev 版本提供了一个可靠且高效的替代方案,输出一致性依然优秀。

  1. 深度映射 (Depth):
  • Flux.1 Depth [pro] 模型在输出的多样性上表现优异,非常适合创意任务,如重绘纹理或生成新构图。

  • Dev 版本优先考虑一致性,是需要精确深度感知任务的可靠选择。

  • 与 Midjourney ReTexture 等专有工具相比,Flux.1 Depth 提供了更细腻的结果,尤其是在保留光影和空间细节方面。

img


3. Redux 模型:革新风格迁移

Redux 模型为 Flux 带来了高级的风格迁移功能,类似于 SDXL 中的 IP-Adapter,但有显著改进。

  • 主要特点:

  • 应用艺术风格,同时保留参考图像的结构完整性。

  • 与微调模型兼容,支持更具创意的定制。

  • 相比竞争对手的优势:

  • 将效率与质量相结合,在不牺牲性能的情况下提供创作灵活性。

  • 与其他 Flux 模型无缝协作,提高了其在多样化工作流中的可用性。

img


# 工作流设置

为了充分发挥 Flux.1 Dev 模型的潜力,我开发了一套集成工作流,用于在 ComfyUI 中高效使用这些模型。此工作流结合了所有六种模型——Flux.1-Canny-DevFlux.1-Canny-Dev-LoRAFlux.1-Depth-DevFlux.1-Depth-Dev-LoRAFLUX.1-Fill-DevFLUX.1-Redux-Dev,从而实现了多种任务的高效处理。

为什么只使用 Dev 版本?

Pro 版本仅通过 Black Forest Lab 的 API 提供,具备更高的多样性和增强的精度。

Dev 版本则针对 ComfyUI 的本地工作流进行了优化,设计轻量化且对显存更友好,同时仍能提供卓越的结果。


工作流结构

工作流以模块化结构组织,用户可根据需要混合搭配模型组。以下是工作流布局的细分:

  1. 基本设置与图像预处理

  2. 结构化控制节点组

  • Canny 组

  • Depth 组

  1. Fill 模型节点组
  • 局部重绘组

  • 扩图组

  1. Redux 模型节点组

# 模型安装

所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


# 节点组 1:基本设置

基本设置节点组是整个工作流的基础。它在将输入传递给其他模型组之前,确保所有必要的配置到位。此组负责标准化图像预处理,并为后续阶段准备关键数据,例如边缘(Canny)图和深度(Depth)图。以下是详细的分步解析:

1. 基本设置组的核心组件

此组负责处理以下任务:

  • 全局设置(例如 Clip 和 VAE 模型的加载)。

  • 图像预处理以确保模型组之间的一致性。

  • 通过边缘检测(Canny)和深度映射 (Depth)生成初始结构化数据。


2. Clip 和 VAE 设置

在此组的核心是 “Anything Everywhere 3” 节点,它负责管理 Clip 和 VAE 模型的分发。这些模型对于在所有节点组中生成一致且高质量的输出至关重要:

  • Clip 模型:

  • fp8 版本:针对更低显存使用量和磁盘空间进行了优化。

  • fp16 版本:提供更高的精度,但需要稍多的 VRAM。

  • 负责理解和处理文本提示词。

  • 可选择两种 t5xxl Clip 模型:

  • VAE 模型:

  • 负责将图像数据编码和解码为潜在空间。

  • 确保工作流中的所有模型接收兼容的数据格式。


3. 图像预处理

适当的图像预处理对于在整个工作流中保持一致的结果至关重要。此步骤包括:

  • 图像调整大小节点:

  • 确保输入图像的比例适当,以避免 GPU 负载过重。

  • 有助于标准化模型组的图像维度。


4. Canny 边缘处理

Canny 边缘处理生成精确的边缘(Canny)图,供 Flux.1-Canny-Dev 模型在工作流的后续阶段使用:

  • 步骤:
  1. 将预处理后的图像输入到 Canny Edge 节点。

  2. 调整最小和最大阈值参数以控制边缘敏感度。

  3. 将生成的边缘(Canny)图输出到结构化控制工作流中的相应节点。

  • 目的:

  • 创建清晰的图像结构轮廓,在变换中保持形状和轮廓的完整性。

  • 尤其适用于诸如重绘纹理等任务,需要严格保留原始形状。


5. 深度(Depth)图处理

深度(Depth)图处理生成深度数据,这是 Flux.1-Depth-Dev 模型进行空间感知图像变换的关键:

  • 步骤:
  1. 输入预处理后的图像。

  2. 将深度(Depth)图传递给深度模型的节点组进行进一步处理。

  • 目的:

  • 提供图像的三维视角,捕捉光影和空间关系。

  • 支持现实主义的变换,例如材质更改或深度感知的重绘纹理。


# 节点组 2:Canny 边缘检测

Canny 节点组是工作流的第一个结构化控制组件。它使用 Flux.1-Canny-Dev 模型生成边缘(Canny)图,并将精确的结构约束应用于图像,以确保原始构图和形状保持不变。此功能尤其适合需要保留原始图像形式的重绘纹理任务。

img

节点设置和工作流程

以下是 Canny 节点组的结构:

  1. 加载扩散模型节点:
  • 加载 Flux.1-Canny-Dev 模型到工作流中。

  • 模型文件必须存储在 models 文件夹下的 diffusion_models 目录中。

  1. 边缘(Canny)图输入:
  • 基本设置组生成的边缘(Canny)图被作为输入传递到此组。
  1. InstructPixToPixConditioning 节点:
  • 调整条件权重,以平衡边缘(Canny)图与文本提示词的影响。

  • 微调此值以在结构保持和创意灵活性之间达到理想平衡。

  • 此节点将边缘(Canny)图与文本提示词整合,条件化图像变换。

  • 关键参数:

  1. FluxGuidance 节点:
  • 目的:优化提示词对图像生成过程的影响。此节点调整“引导”参数,确定文本提示词与结构数据(边缘Canny图)的权重比例。

  • 推荐值:通常推荐将引导值设置为 30.0,可以在结构保持和提示词驱动的创意之间提供良好的平衡。

img


# 节点组 3:Canny LoRA

Canny LoRA 节点组是标准 Canny 节点组的变体,使用 Flux.1-Canny-Dev-LoRA 模型。尽管 LoRA(低秩自适应)技术增强了边缘控制的灵活性,但其输出通常比标准 Canny 节点组稍低一些。不过,LoRA 组在某些特定场景中提供了独特的灵活性。

img


标准 Canny 与 LoRA 节点组的关键区别
特性标准 Canny 节点组Canny LoRA 节点组
使用的模型Flux.1-Canny-DevFlux.1-Canny-Dev-LoRA
条件化方法直接边缘基础条件化LoRA 增强的边缘条件化
输出质量高结构保真结构保真稍低
适用场景需要精确细节的任务有灵活性需求的特定任务

img


# 节点组 4:深度处理

深度节点组使用 Flux.1-Depth-Dev 模型生成深度感知的图像变换。通过引入深度映射 (Depth)的空间真实感,此组能够保留和操作光照、阴影以及空间关系,非常适合需要逼真效果或深度引导编辑的任务。

img

节点设置与工作流程

深度节点组的结构与 Canny 节点组类似,但使用深度数据而非边缘(Canny)图:

  1. 加载扩散模型节点:
  • 加载 Flux.1-Depth-Dev 模型。

  • 模型文件必须存储在 models 文件夹下的 diffusion_models 目录中。

  1. 深度(Depth)图输入:
  • 在基本设置组中生成的深度(Depth)图被传递到此组。

  • 深度(Depth)图表示图像中对象之间的距离或空间关系,确保变换的真实性。

img


# 节点组 5:Depth LoRA

Depth LoRA 节点组采用了 Flux.1-Depth-Dev-LoRA 模型,利用 LoRA(低秩自适应)技术实现深度感知条件化。这种方法虽然在效率和灵活性上有所提升,但其输出质量和一致性可能不如标准 Depth 节点组。这使得它成为实验性工作流或需要轻量化处理和微调的场景中的一个备选方案。

img

标准 Depth 与 LoRA 节点组的关键区别
特性标准 Depth 节点组Depth LoRA 节点组
使用的模型Flux.1-Depth-DevFlux.1-Depth-Dev-LoRA
条件化方法直接深度条件化LoRA 增强的深度条件化
输出质量高一致性和真实性稍低的质量,偶尔会出现不一致
灵活性适用于严格的空间保持场景更适合需要创意调整的场景

img


# 节点组 6:局部重绘(Inpainting)

局部重绘节点组使用 FLUX.1-Fill-Dev 模型,通过蒙版对图像的特定区域进行精确编辑。此组围绕 InpaintModelConditioningDifferential Diffusion 节点构建,这些节点专为优化局部重绘过程而设计,确保生成高质量的结果,并增强编辑区域与周围上下文的融合效果。

img

节点设置与工作流程

以下是局部重绘节点组的配置:

  1. 蒙版输入:
  • 输入包括原始图像和定义需要编辑区域的蒙版。

  • 蒙版区域是需要修改的部分,未遮盖的部分将被保留。

  1. Load Diffusion Model (加载扩散模型节点):
  • 加载 FLUX.1-Fill-Dev 模型,专为局部重绘任务设计。

  • 确保模型文件位于 models 文件夹下的 diffusion_models 目录中。

  1. InpaintModelConditioning 节点
  • 编码的条件数据确保编辑内容与图像其余部分自然融合,从而实现更平滑的过渡和更一致的结果。

  • 对输入图像的未遮盖部分进行编码以保留上下文。

  • 引导模型填充蒙版区域,同时确保与周围图像对齐。

  • 此节点使用变分自编码器(VAE)将输入图像编码为潜在表示,准备局部重绘所需的条件数据。

  • 关键功能:

  • 重要性:

  1. Differential Diffusion 节点:
  • 避免了在蒙版边缘产生硬性过渡或不匹配,使局部重绘更自然。

  • 应用差分去噪蒙版,以改进编辑区域与未编辑区域的融合。

  • 实现软局部重绘,对蒙版区域的边界进行细微调整,以确保无缝过渡。

  • 注意遮盖边缘与未遮盖区域的平滑衔接,减少伪影和可见边缘。

  • 连接在 加载扩散模型 节点和 K采样器之间,此节点增强了局部重绘过程中的去噪处理。

  • 关键功能:

  • 重要性:

img


# 节点组 7:扩图(Outpainting)

img

扩图节点组用于扩图图像的边界,同时保持图像的风格、上下文和整体构图。通过结合 FLUX.1-Fill-Dev 模型以及 InpaintModelConditioningDifferential Diffusion 节点,此组能够确保新生成区域与原始内容无缝融合。扩图特别适合于创建扩图场景、在主体周围生成额外背景或通过图像扩图增强创意叙事。

节点设置与工作流程

以下是扩图节点组的配置:

  1. Pad Image for Outpainting (扩图图像画布):
  • 此节点通过在图像周围增加空白区域来增加画布大小,空白区域即为扩图目标。

  • 画布的大小和位置决定了扩图区域的范围和方向。

  • 在将图像传递到此组之前,使用 Pad Image for Outpainting 节点定义需要扩图的区域。

  • 功能:

  1. 加载扩散模型节点:
  • 加载 FLUX.1-Fill-Dev 模型以执行扩图。

  • 与其他节点组类似,模型文件必须位于 models 文件夹下的 diffusion_models 目录中。

img


# 节点组 8:Redux 风格迁移

Redux 节点组为工作流引入了风格迁移功能,使用户能够在保持图像原始结构和上下文完整性的同时,应用艺术或美学上的变化。通过 FLUX.1-Redux-Dev 模型,此组结合了 Apply Style Model 节点和提示词条件化处理,为图像提供风格整合。

img

节点设置与工作流程
  1. Load Style Model (加载风格模型节点)
  • 加载 FLUX.1-Redux-Dev 风格模型到工作流中。

  • 风格模型文件必须放置在 models 文件夹下的 style_models 目录中。

  • 此模型提供了用于修改图像美学的风格参考数据。

  1. 加载 CLIP Vision 节点
  • 加载 CLIP Vision 模型sigclip_vision_patch14_384_safesensors)以处理视觉信息。

  • 此节点将输入图像编码为潜在空间,使其与风格模型兼容。

  1. Apply Style Model (应用风格模型节点)
  • 将风格模型与视觉编码(来自 CLIP Vision 节点)结合,生成风格条件。

  • 此条件被传递到工作流的其余部分,以引导风格迁移过程。

  1. Load Diffusion Model (加载扩散模型节点)
  • 加载主 FLUX.1-Redux-Dev 模型,处理结合的风格和文本条件化数据。

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

在这里插入图片描述

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

在这里插入图片描述

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

在这里插入图片描述

在这里插入图片描述

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

### 配置与使用多个ControlNet进行工作流处理 在FLUX模型中支持多种类型的ControlNet模块,这些模块可以被组起来用于增强像生成的效果。当涉及到配置并使用多个ControlNet时,主要通过定义不同ControlNet的功能角色来完成特定的任务需求。 对于想要利用`Flux ControlNet Depth`以及其他类型的ControlNets构建一个多ControlNet工作流来说,可以通过设置参数指定各个ControlNet的作用范围及其权[^2]。具体操作如下: #### 定义多ControlNet架构 首先,在初始化阶段就要明确哪些ControlNet会被加载到网络结构之中。这通常是在创建实例的时候完成的,比如下面这段Python代码展示了如何同时引入两个不同的ControlNet——一个是负责深度感知(`Depth`),另一个可能是边缘检测(`Canny Edge Detection`)。 ```python from flux_model import FluxModel, ControlNetWrapper depth_controlnet = ControlNetWrapper('controlnet_depth') edge_detection_controlnet = ControlNetWrapper('controlnet_canny') model = FluxModel(control_nets=[depth_controlnet, edge_detection_controlnet]) ``` 这里假设`FluxModel`类接受一个名为`control_nets`的列表作为输入之一,该列表包含了所有要使用的ControlNet对象。 #### 调整各ControlNet的影响程度 接着就是调整每一个ControlNet在整个成过程中的影响力大小。这种调节通常是通过对每个ControlNet分配相应的比例因子实现的;也就是说,可以让某些ControlNet对最终输出有更大的贡献度而让其他的相对次要一些。这部分逻辑可能体现在训练过程中动态改变或是静态设定好固定的比例关系。 ```python # 假设set_weight方法用来给定某个ControlNet要性系数 depth_controlnet.set_weight(0.7) # 更视深度信息 edge_detection_controlnet.set_weight(0.3) # 边缘特征辅助作用 ``` 上述例子表明了给予深度控制网更高的优先级(即更大影响),而在一定程度上也保留了一些来自边缘检测的信息以帮助改善细节表现。 #### 执行带有多个ControlNet工作流 最后一步则是执行这个已经配置好的含有多个ControlNet工作流。一旦所有的准备工作都完成了之后,只需要调用相应的方法即可启动整个流程,并获得预期的结果片或其他形式的数据输出。 ```python output_image = model.process(input_image) ``` 综上所述,就是在FLUX框架内实现多ControlNet协同工作的基本方式[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值