Skip to content

Flux.1 上的 ControlNet

FluxControlNetPipeline 是 Flux.1 上 ControlNet 的实现。

ControlNet 由 Lvmin Zhang、Anyi Rao 和 Maneesh Agrawala 在 为文本到图像扩散模型添加条件控制 中提出。

使用 ControlNet 模型,你可以提供额外的控制图像来调节和控制 Stable Diffusion 生成。例如,如果你提供深度图,ControlNet 模型将生成一个保留深度图空间信息的图像。这是一种更灵活、更准确的控制图像生成过程的方法。

论文摘要:

我们提出了 ControlNet,这是一种神经网络架构,用于为大型预训练文本到图像扩散模型添加空间条件控制。ControlNet 锁定生产就绪的大型扩散模型,并重用其使用数十亿张图像预训练的深度且强大的编码层作为强大的主干来学习各种条件控制。神经架构与“零卷积”(零初始化卷积层)相连,这些卷积层从零开始逐渐增长参数,并确保没有有害噪声会影响微调。我们使用 Stable Diffusion 测试了各种条件控制,例如边缘、深度、分割、人体姿势等,使用单个或多个条件,有或没有提示。我们表明,ControlNet 的训练对小型(<50k)和大型(>1m)数据集具有鲁棒性。大量结果表明,ControlNet 可以促进更广泛的应用来控制图像扩散模型。

此 ControlNet 代码由 InstantX 团队 实现。你可以在下表中找到 Flux-ControlNet 的预训练检查点:

ControlNet typeDeveloperLink
CannyThe InstantX TeamLink
DepthThe InstantX TeamLink
UnionThe InstantX TeamLink

FluxControlNetPipeline

[[autodoc]] FluxControlNetPipeline - all - call

FluxPipelineOutput

[[autodoc]] pipelines.flux.pipeline_output.FluxPipelineOutput

ControlNet typeDeveloperLink
CannyThe XLabs TeamLink
DepthThe XLabs TeamLink
HEDThe XLabs TeamLink