字节UNO模型:多主体驱动图像生成能力达SOTA

字节UNO模型在多主体图像生成中达SOTA,通过“模型-数据共同进化”提升图像质量和多样性。教程已上线HyperAI超神经。

原文标题:多主体驱动生成能力达SOTA,字节UNO模型可处理多种图像生成任务

原文作者:数据派THU

冷月清谈:

字节跳动Intelligent Creation团队提出的UNO模型,通过扩散Transformer模型和“模型-数据共同进化”范式,有效提升了多主体图像生成任务中的数据可扩展性和主体扩展性。该模型以FLUX为基础,能够处理图像生成任务中的不同输入条件,并在DreamBench和多主体驱动生成的基准测试中取得了SOTA级别的DINO和CLIP-I分数,表明其在主体相似性和文本可控性方面表现出色。用户可以通过HyperAI超神经官网的教程体验UNO模型,上传图片并输入文本描述,即可生成定制化图像。

怜星夜思:

1、UNO模型采用的“模型-数据共同进化”范式,相较于传统图像生成模型,有哪些优势和潜在的局限性?
2、文章提到UNO模型在多主体驱动生成方面表现出色,那么在处理更复杂场景,例如包含大量主体、复杂光照条件或艺术风格迁移时,UNO模型会面临哪些挑战?
3、文章中展示了UNO模型将Logo印在杯子上的例子,如果我想用UNO模型生成更具有创意的图像,比如让猫咪穿上宇航服在月球上漫步,需要注意哪些Prompt的技巧?

原文内容

本文共1300字,建议阅读5分钟

本文介绍了UNO:通用定制化图像生成的教程。



「UNO:通用定制化图像生成」教程已上线至 HyperAI超神经官网的教程板块中,欢迎体验!

如今,主体驱动生成 (subject-driven generation) 已经广泛应用于图像生成领域,但其在数据可扩展性和主体扩展性方面仍面临诸多挑战,例如从单主体数据集转向多主体并对其进行扩展尤为困难;目前的热门研究方向是单主体,在面对多主体生成任务时表现欠佳。

针对于此,字节跳动 Intelligent Creation 团队利用扩散 Transformer 模型本身具备的上下文生成能力,生成了具有高度一致性的多主体配对数据,并以 FLUX 为基础模型提出了 UNO 模型,能够处理图像生成任务中的不同输入条件。其借助「模型-数据共同进化」的新范式,在优化模型性能的同时,丰富训练数据,提高生成图像的质量和多样性。

研究人员在 DreamBench 和多主体驱动生成的基准测试上进行了大量实验。UNO 在这两项任务中均取得了最高的 DINO 和 CLIP-I 分数,表明其在主体相似性和文本可控性方面表现出色,能力达 SOTA 级别。

多主体驱动生成评测结果,UNO 达 SOTA

目前,「UNO:通用定制化图像生成」教程已上线至 HyperAI超神经官网的教程板块中,点击下方链接即可快速体验 ⬇️

教程链接:https://go.hyper.ai/XELg5

Demo 运行

1. 登录 hyper.ai,在「教程」页面,选择「UNO:通用定制化图像生成」,点击「在线运行此教程」。



2. 页面跳转后,点击右上角「克隆」,将该教程克隆至自己的容器中。


3. 选择「NVIDIA GeForce RTX 4090」以及「PyTorch」镜像。OpenBayes 平台提供了 4 种计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。新用户使用下方邀请链接注册,可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费时长!

HyperAI超神经专属邀请链接(直接复制到浏览器打开):
https://openbayes.com/console/signup?r=Ada0322_NR0n



4. 等待分配资源,首次克隆需等待 2 分钟左右的时间。当状态变为「运行中」后,点击「API 地址」旁边的跳转箭头,即可跳转至 Demo 页面。请注意,用户需在实名认证后才能使用 API 地址访问功能。



效果展示

在「Prompt」中输入描述生成图片的文本,然后在「Ref Img」中上传生成图片的图片内容。调整「Gneration Width/Height」以选择生成图片的长/宽,最后点击「Generate」生成。

参数调整简介:

* Number of steps: 表示模型的迭代次数或推理过程中的步数,代表模型用于生成结果的优化步数。更高的步数通常会生成更精细的结果,但可能增加计算时间。

* Guidance: 它用于控制生成模型中条件输入(如文本或图像)对生成结果的影响程度。较高的指导值会让生成结果更加贴近输入条件,而较低的值会保留更多随机性。

* Seed: 是随机数种子,用于控制生成过程中的随机性。相同的 Seed 值可以生成相同的结果(前提是其他参数相同),这在结果复现中非常重要。


这里我们上传了一张 logo 和一张杯子的图片,文本描述为:The logo is printed on the cup(把 logo 印在杯子上)。可以看到模型很准确地为我们处理了图片。

教程还为大家提供了多类 Examples,欢迎感兴趣的读者通过下方链接体验 ⬇️

教程链接:https://go.hyper.ai/XELg5


编辑:王菁



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

我觉得这个“模型-数据共同进化”有点像AI自己给自己当老师啊!好处就是不用人工干预太多,坏处就是万一AI老师教错了,学生(模型)也跟着学坏了。所以还是需要人来监督,确保AI老师在认真备课,别教一些乱七八糟的东西。

这个问题很有意思!要生成更具创意的图像,我觉得Prompt的技巧主要在于描述的精细度和场景的合理性。

首先,要尽量详细地描述猫咪穿宇航服的细节,比如宇航服的颜色、材质,猫咪的表情等等。其次,要确保场景的合理性,比如月球表面的特征、光照方向等等。可以参考一些科幻绘画作品的Prompt,学习一下他们的描述方式。

另外,还可以尝试一些“负面Prompt”,告诉模型哪些东西不要生成,比如“模糊的背景”、“扭曲的猫咪”等等。

如果从技术的角度考虑,复杂场景意味着更高的维度和更稀疏的数据空间。UNO模型可能需要更复杂的transformer结构来捕捉长距离依赖关系,同时需要更有效的注意力机制来区分不同主体之间的关系。在光照和风格迁移方面,可能需要引入额外的模块来解耦内容和风格,并进行精细的控制。

简单来说,prompt就是要尽可能的细致!你可以把猫咪想象成你的模特,告诉它“宝贝,你要穿一套银色的、带NASA标志的宇航服,头盔要大一点,露出你充满好奇的眼神,背景是荒凉的月球表面,记得摆个pose!” 这样AI才能更好地理解你的想法。

这个问题很有深度!我认为最大的挑战在于模型的泛化能力。当主体数量增加,场景变得复杂时,模型需要学习到更多更细致的特征表示,同时还要保证生成图像的连贯性和真实性。这无疑对模型的架构设计和训练策略提出了更高的要求。

另一个潜在的挑战是计算复杂度。处理大量主体和复杂场景会显著增加计算负担,需要更高效的算法和硬件支持。

这个问题问得好!“模型-数据共同进化”的优势在于,模型性能的提升反过来可以用于生成更高质量、更具多样性的训练数据,形成正向循环。这有点像滚雪球,一开始可能比较慢,但随着数据和模型互相促进,效果会越来越明显。

局限性方面,我个人觉得有两个:一是初始阶段的数据质量非常关键,如果一开始数据就存在偏差,可能会导致模型学习到错误的模式,越学越歪;二是这种方式对计算资源的要求很高,需要大量的GPU算力来训练模型和生成数据,小团队可能玩不起。

从Prompt工程的角度来看,可以尝试以下几个方法:

1. 使用修饰词:例如“一只穿着反光银色宇航服的、毛茸茸的波斯猫”。
2. 添加艺术风格:例如“一只穿着宇航服的猫,水彩画风格”。
3. 指定艺术家:例如“一只穿着宇航服的猫,by Greg Rutkowski”。

此外,还可以使用一些Prompt生成工具来辅助生成更复杂的描述。

从学术角度看,这种范式本质上是一种自监督学习的策略。它避免了对大规模标注数据的依赖,降低了数据获取的成本。但同时,正如楼上所说,初始数据的质量和模型的稳定性至关重要。如果模型在早期就陷入局部最优解,那么自我迭代可能会加剧这种偏差。此外,如何有效地评估生成数据的质量,并将其纳入模型训练的反馈环路,也是一个需要深入研究的问题。

我觉得吧,这就像画画一样,画一个苹果很简单,画一群人跳舞就难了。主体越多,细节越多,光影越复杂,就越容易崩。AI也一样,要让它记住那么多东西,还要协调好它们之间的关系,肯定压力山大!