UNO是什么
UNO是字节跳动推出创新的框架,突破传统模型在多主体生成中的局限。通过“少到多”的泛化方法,能高质量地生成单主体和多主体图像,解决了多主体场景下的一致性难题。UNO基于扩散变换器生成高一致性的多主体数据,采用渐进式跨模态对齐技术,分阶段训练模型,逐步提升生成效果。引入了通用旋转位置嵌入(UnoPE),支持多种分辨率和长宽比的图像生成。
UNO的主要功能
- 单主体定制生成:UNO能根据一张参考图像生成保持同一主体特征但处于不同场景、姿势或风格的图像。
- 多主体组合生成:UNO可以接收多个参考图像作为输入,生成包含所有参考主体的新图像。
- 虚拟试穿与产品展示:UNO支持虚拟试穿功能,可以将特定的产品(如服装、饰品等)放置在不同的人物模型上,展示其效果。可以将产品放置在各种场景中,保持产品的原始特征。
- 风格化生成:UNO能对参考主体进行风格转换,生成不同风格的图像。
- 强大的泛化能力:UNO在多个任务中展现了强大的泛化能力,能适应多种应用场景,如单主体和多主体驱动的图像生成,能泛化到id、tryon、style等场景。
UNO的技术原理
- 高一致性数据合成管道:UNO 利用扩散变换器(Diffusion Transformers)的内在上下文生成能力,生成高一致性的多主体配对数据。能自动创建大规模、高质量的训练数据,解决了数据获取的难题。
- 渐进式跨模态对齐:UNO 采用渐进式跨模态对齐策略,将训练过程分为两个阶段:
- 第一阶段:使用单主体上下文生成的数据对预训练的文本到图像(T2I)模型进行微调,使其具备处理单主体驱动生成任务的能力。
- 第二阶段:引入多主体数据继续训练,增强模型处理复杂场景的能力。通过这种逐步对齐的方式,模型能更好地适应从单主体到多主体的生成任务。
- 通用旋转位置嵌入(UnoPE):UNO 引入了通用旋转位置嵌入(UnoPE),有效解决了在扩展视觉主体控制时的属性混淆问题。UnoPE 通过为文本和图像标记分配特定的位置索引,调控多模态标记之间的交互,使模型专注于从文本特征中获取布局信息,在保持良好文本可控性的同时,提高主体相似性。
- 模型架构:UNO 以开源模型 FLUX.1 dev 为基础,继承了其文生图基础能力和多模态注意力机制,采用了通用定制化模型框架。使模型能从文本到图像模型迭代训练而来,通过其独特的渐进式跨模态对齐和通用旋转位置嵌入等机制,实现了在单主体和多主体驱动生成中既能保持高一致性又能确保可控性。
- 数据管理与模型进化:UNO 采用“模型-数据共同进化”的新范式,核心思想是用较弱的模型生成训练数据,训练更强的模型。让模型在训练过程中逐渐适应多样化场景,能有效应对实际应用中可能遇到的复杂情况。
UNO的项目地址
- 项目官网:https://bytedance.github.io/UNO/
- Github仓库:https://github.com/bytedance/UNO
- HuggingFace模型:https://huggingface.co/bytedance-research/UNO
- arXiv技术论文:https://arxiv.org/pdf/2504.02160
UNO的应用场景
- 虚拟试穿:UNO 可以将不同的服装、饰品等产品放置在虚拟人物模型上,生成不同场景下的试穿效果。
- 产品设计:在产品设计中,UNO 可以将产品放置在各种背景和场景中,保持产品的原始特征,为设计师提供更灵活的设计思路。
- 创意设计:UNO 能接收多个参考图像作为输入,生成包含所有参考主体的新图像。
- 个性化内容生成:UNO 可以根据一张参考图像生成保持同一主体特征但处于不同场景、姿势或风格的图像。
- 角色和场景设计:UNO 可以为游戏开发提供强大的图像生成支持,帮助开发者快速生成角色和场景,激发创意。