UNO是什么?
UNO 是一个由字节跳动(ByteDance)研究团队开发的多主体条件图像生成模型。它通过扩散变换器的上下文生成能力,生成高一致性的多主体配对数据。
UNO 的核心特点是:
- 多图像条件生成:支持单主体和多主体驱动的图像生成。
- 渐进式跨模态对齐:通过逐步对齐不同模态(如文本和图像)来提高生成一致性。
- 通用旋转位置嵌入:支持多种分辨率和长宽比的图像生成。
UNO快速入门
环境配置
- 创建虚拟环境并安装依赖:
python -m venv uno_env
source uno_env/bin/activate
pip install -r requirements.txt
2.下载模型权重:自动下载:运行推理脚本时,代码会自动下载权重。手动下载:使用 huggingface-cli 下载权重到指定目录。
推理示例
运行以下命令生成图像:
python inference.py --prompt "A clock on the beach is under a red sun umbrella" --image_paths "assets/clock.png" --width 704 --height 704
训练
运行训练脚本:
accelerate launch train.py
应用场景
UNO 可以用于以下场景:
- 单主体生成:根据一张参考图像生成图像。
- 多主体生成:根据多张参考图像生成图像。
- 上下文生成:通过上下文提示生成高一致性的图像。
应用限制
- UNO 在单主体和多主体生成中表现出色,但在泛化能力上仍有提升空间。
- 模型训练数据集的限制可能导致某些场景的生成效果不佳。
开源计划
项目已开源,包括:
- 推理代码
- 训练代码
- 模型权重
- arXiv 论文
- Hugging Face 空间演示
- 上下文数据生成管道
引用
如果您使用 UNO,请引用以下论文:
@article{wu2025less,
title={Less-to-More Generalization: Unlocking More Controllability by In-Context Generation},
author={Wu, Shaojin and Huang, Mengqi and Wu, Wenxu and Cheng, Yufeng and Ding, Fei and He, Qian},
journal={arXiv preprint arXiv:2504.02160},
year={2025}
}
项目页面:https://bytedance.github.io/UNO
代码:https://github.com/bytedance/UNO