FLUX | 超越SD3、媲美Midjourney的顶级AI绘图模型

本文包含大量AI干货

阅读完大约需要8分钟

1.引言

在过去的两年中,第一个公开发布且功能齐全的图像合成模型 Stable Diffusion 完全占据了主导地位,一大批竞争对手(PixArt Alpha/Sigma/AuraFlow)试图效仿SD的成功,最终也未能撼动。

不过随着FLUX.1模型的发布,这个最强开源文生图模型的头衔,可能要易主了。

Flux 号称是迄今为止最大的 SOTA 开源文本转图像模型,由Black Forest Labs(黑森林实验室,Stable Diffusion 的原始核心团队)开发,现已在Fal上发布,获得众多AI开发者好评。

Flux 凭借令人印象深刻的12B参数突破了创造力和性能的界限,其效果呈现出让人联想到Midjourney 的美感。FLUX 代表了图像合成技术在快速理解、对象识别、词汇、写作能力等方面的显著进步, 标志着 AI 生成艺术领域的重大进步。

2. FLUX.1 有何特别之处?

FLUX.1 采用了类似 Stable Diffusion 3 的架构,并新引入了 DoubleStreamBlock 结构,生成质量超越了 Stable Diffusion 3,甚至不逊色于闭源的 Midjourney V6。

与多数依赖扩散的文本到图像模型不同,FLUX.1 运用了名为“流匹配”的升级技术。扩散模型从随机起点逐步消除噪声来创建图像,而流匹配则采用更直接的方式,学习将噪声精确变换为真实图像所需的操作。这种方法差异造就了独特美感,在速度和控制方面独具优势。

FLUX.1 模型在快速响应、视觉质量、图像细节及输出多样性上表现卓越。它能高精度处理文本,忠实遵循复杂的场景构图指令,生成手部也比以往模型更准确。

FLUX.1 重新定义了 AI 生成艺术的可能性,其显著特点如下:

(1)卓越的文本理解能力:能够轻松应对复杂的单词和重复字母。

(2)先进的人体解剖学与照片真实感:生成高度逼真且符合解剖学的图像。

(3)出色的复杂构图能力:善于解读和执行对象放置及场景构图的详细说明,能依据精心设计的提示准确生成场景。

(4)逼真的手部生成:以往生成逼真的手是AI绘图模型的难题,FLUX 在此取得重大突破,能生成手指数量和位置较准确的手,虽非尽善尽美,但相比以往模型有显著进步。

(5)高效性:dev 和 schnell 版本在保证与专业版相似质量的同时,体积更小、速度更快,利于加快迭代和实验。

(6)丰富的多样性:能够创造从照片写实到绘画再到插图等多种艺术风格,为艺术表达拓展新途径。

3. 一些令人印象深刻的特定领域

3.1卓越的文本理解能力

与经常弄乱相似字母的AI绘画旧模型(SD1.5/SDXL/SD3)不同,Flux 可以处理带有重复字母的棘手单词,使得它非常适应需要准确文本的设计。看看这款 “Black Forest Flux Schnell ”蛋糕:

3.2 复杂的构图

Flux非常擅长遵循复杂的指令,确定图像中事物的位置。例如,给出提示“三个魔法师站在黄色桌子上,每个人都拿着一个标志。左边,一个穿着黑色长袍的巫师拿着一个标志,上面写着‘AI’;中间,一个穿着红色长袍的女巫拿着一个标志,上面写着‘is’;右边,一个穿着蓝色长袍的巫师拿着一个标志,上面写着‘cool’”,Flux 完美地创造了这个场景:

3.3 逼真的手部生成

手部对于各大AI绘图模型来说很难识别,但 Flux 做得相当不错。通常,你会在正确的位置看到正确数量的手指。它并不完美,但这是一个很大的进步——它始终比我们尝试过的任何其他开放文本转图像模型都要好。

3.4 “流”:一种新的视觉语言

FLUX.1 最引人注目的方面或许是它的“流动”美学,这是底层流动匹配技术的结果。这赋予图像一种独特的有机运动感和流动性,几乎就像像素本身在运动一样。

例:带有梵高风格漩涡状皮毛图案的狗

这只狗的皮毛中蕴含的能量几乎是可以触摸到的,并与让人联想到星夜的油漆漩涡融为一体。

“流动”美学很难定义,但一眼就能辨认出来。它让人联想到油画和喷笔等传统艺术技巧,赋予图像梦幻般的质感,让 FLUX.1 与众不同。

以下是更多示例

4. 如何在ComfyUI上使用 FLUX

你可以亲眼看看这些模型有多么棒

ComfyUI FLUX 由comfyanonymous发布,感谢他们对社区的贡献,FLUX 模型可以无缝集成到 ComfyUI 框架中,以实现直观的 AI 生成艺术创作。

4.1 官方模型介绍

  BFL 已发布三种模型版本:

(1)FLUX.1 [pro]:,FLUX.1 系列的巅峰之作,最先进的图像生成模型,仅通过 API 提供的闭源版本 。 Fal-ai | Replicate

(2)FLUX.1 [dev]:基础模型,开源且拥有非商业许可,供社区在此基础上进行构建。Fal-aiReplicate

(3)FLUX.1 [schnell]:基础模型的精简版本,运行速度最高可提高 10 倍。Apache 2 许可。Fal-aiReplicate

4.2 下载模型

使用 FLUX 不仅需要使用 FLUX 模型,还需要下载 CLIP 以及对应的 VAE;

大家可以根据下方的官方地址下载,本文末尾也附有夸克网盘的下载链接,网盘中有本文用到的所有模型、工作流等内容。

(1)下载 Flux 模型:

模型存放位置:ComfyUI/models/unet/目录。

FLUX 模型有四个可选,FLUX.1 [dev] 、FLUX.1 [dev] fp8、FLUX.1 [schnell]、FLUX.1 [schnell] fp8;

① FLUX.1 [dev] :官方基础模型, fp16精度,开源最强模型,如果你的 RAM 超过 32GB,则推荐使用这个。

下载地址: https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main

② FLUX.1 [dev] fp8:官方基础模型的 fp8精度版本,最低 12G 显存可跑,如果RAM较低 ,可以用这个

下载地址: https://huggingface.co/Comfy-Org/flux1-dev/tree/main

③ FLUX.1 [schnell]:官方基础模型4 步蒸馏模型, fp16精度,大多数显卡可跑, 适用于快速本地开发。

下载地址: https://huggingface.co/black-forest-labs/FLUX.1-schnell

④ FLUX.1 [schnell] fp8:官方基础模型4 步蒸馏模型的 fp8精度版本,但能适应更低的显卡配置。

下载地址: https://huggingface.co/Kijai/flux-fp8/blob/main/flux1-schnell-fp8.safetensors

(2)下载 CLIP 模型:

模型存放目录: ComfyUI/models/clip/

需下载 clip_l.safetensors和t5xxl_fp16.safetensors,如果你的显存不足 32GB,则建议使用 可以用fp8精度的t5xxl_fp8_e4m3fn.safetensors替换掉 t5xxl_fp8_e4m3fn.safetensors,这两个模型和 SD3 使用的是一样的,如果文件夹中已有,可以不用下载

下载地址: https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main

(3)下载 VAE 模型:

模型存放目录:ComfyUI/models/vae

下载地址:

https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main

https://huggingface.co/black-forest-labs/FLUX.1-schnell/tree/main

4.3 ComfyUI FLUX 工作流程

4.3.1 通用快速工程

与之前的扩散模型相比,FLUX 的使用极为直观。即便与 Ideogram 或 MidJourney 相比,它也能很好地理解我们的提示,几乎无需进行机器对文本的理解工作。不过,我们确实有一些获取最佳结果的技巧。

首先,建议按提示中的术语顺序排列并使用逗号。提示中的单词顺序与生成最终图像时的权重直接对应,所以主要主题应始终靠近提示开头。若想添加更多细节,使用逗号可将术语分开,便于模型读取。就像人类一样,它需要这个标点符号来确定子句在句子中的起始位置。在 FLUX 中,逗号似乎比在 Stable Diffusion 中更为重要。

此外,本提示中的细节(单词)数量、图像中相应的细节数量以及最终场景构图质量之间存在明显的权衡关系。更多的单词似乎能提高提示准确度,但会阻碍模型在原始主题之上生成更多对象或特征。例如,仅改变一个单词就能改变人的头发颜色,但要改变其整个装扮,就需要在提示中添加一个包含大量细节的短语或句子。然而,这个短语可能会破坏看不见的扩散过程,使模型难以正确重现所需场景。

4.3.2长宽比

FLUX 针对多种宽高比和不同分辨率的图像进行了训练,图像尺寸在 0.2 到 2 兆像素之间。虽然如此,但它在某些特定领域和特定分辨率下的表现确实更为出色。根据使用经验来看,在 1024 x 1024 及更大分辨率下它的表现良好,而 512 x 512 的图像整体细节较少。此外,经过大量测试,发现以下分辨率出图效果十分理想。

  • 674 x 1462(iPhone/常见智能手机宽高比为 9:19.5)

  • 768 x 1360(默认)

  • 896 x 1152

  • 1024 x 1280

  • 1080 x 1920(常见壁纸比例)

5. 结束语

本文中,我们详细阐述了Flux部分功能,在研究了已发布的成果并亲自体验该模型后,可以确定地说,FLUX 是目前最为强大、最具能力的图像生成模型。它代表着这些技术的显著进步,也让我们看到这些模型未来可能实现的功能愈发无限。

☞加入AI知识星球【AIGC(文本图像视频)特训营】,一起修炼AI

☞关注公众号【AIGC前沿洞察】,回复“FLUX”获取Flux工作流,发送"AI"更可获取超多免费AI资源包

05-30
在Reactor库中,`Flux`是一种异步执行的多个结果的数据流,它类似于Java中的`Stream`。`Flux`可以让您更轻松地处理和转换数据流,以及处理来自外部数据源的事件。 `Flux`可以使用多个方式创建,例如使用静态方法、使用`Iterable`或`Stream`、从`Mono`转换等。以下是一个使用静态方法创建`Flux`的示例: ```java import reactor.core.publisher.Flux; public class FluxExample { public static void main(String[] args) { Flux.just("Hello", "World") // 创建一个包含两个字符串的Flux .subscribe(System.out::println); // 订阅Flux并在元素可用时打印它们 } } ``` 在上面的代码中,我们使用`Flux.just`方法创建了一个包含两个字符串的`Flux`,然后使用`subscribe`方法来订阅它并在元素可用时打印它们。 `Flux`还提供了许多其他方法,可以用于创建、转换和组合`Flux`。例如,您可以使用`map`方法将`Flux`中的元素转换为另一种类型,或使用`merge`方法将多个`Flux`合并为一个。以下是一个使用`map`和`merge`的示例: ```java Flux<String> flux1 = Flux.just("Hello", "World"); Flux<String> flux2 = Flux.just("Reactor", "Flux"); Flux<String> result = Flux.merge(flux1.map(String::toUpperCase), flux2.map(String::toLowerCase)); result.subscribe(System.out::println); // 输出 "HELLO", "WORLD", "reactor", "flux" ``` 在上面的代码中,我们首先使用`map`方法将`flux1`和`flux2`中的字符串转换为大写和小写,然后使用`merge`方法将它们合并为一个`Flux`。最后,我们订阅了`result`并打印了它。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值