模型简介
模型特点
模型能力
使用案例
🚀 UniWorld:用于统一视觉理解和生成的高分辨率语义编码器
UniWorld 是一个用于视觉理解、生成和编辑的统一框架。它在 20 多个视觉任务中表现出色,且所有数据、模型、训练代码和评估代码均已开源,有助于社区快速探索统一架构。
🚀 快速开始
环境准备
克隆仓库并进入 UniWorld 文件夹:
git clone https://github.com/PKU-YuanGroup/UniWorld
cd UniWorld
创建并激活虚拟环境,安装所需依赖:
conda create -n univa python=3.10 -y
conda activate univa
pip install -r requirements.txt
运行演示
Gradio Web UI
强烈建议通过以下命令尝试我们的 Web 演示:
MODEL_PATH="path/to/model"
FLUX_PATH="path/to/flux"
SIGLIP_PATH="path/to/siglip"
CUDA_VISIBLE_DEVICES=0 python -m univa.serve.gradio_web_server \
--model_path ${MODEL_PATH} \
--flux_path ${FLUX_PATH} \
--siglip_path ${SIGLIP_PATH}
CLI 推理
MODEL_PATH="path/to/model"
FLUX_PATH="path/to/flux"
SIGLIP_PATH="path/to/siglip"
CUDA_VISIBLE_DEVICES=1 python -m univa.serve.cli \
--model_path ${MODEL_PATH} \
--flux_path ${FLUX_PATH} \
--siglip_path ${SIGLIP_PATH}
ComfyUI
即将推出...
✨ 主要特性
1. 所有资源完全开源
- 我们将模型、数据、训练和评估代码完全开源,以方便社区快速探索统一架构。
- 我们精心策划了 10 多个计算机视觉下游任务,包括边缘检测、深度估计、草图绘制、线段检测、图像分割等。
- 我们使用 Qwen2-VL-72B 标注了 286K 个长描述样本。使用 GPT - 4o 对 ImgEdit 进行筛选,得到 724K 个高质量编辑样本(所有短边 ≥ 1024 像素)。此外,我们还对现有的开源数据集进行了整理和筛选。详细信息可查看 此处。
2. 对比语义编码器作为参考控制信号
- 与以往使用变分自编码器(VAE)编码的参考图像进行低级控制的方法不同,我们主张使用对比视觉编码器作为参考图像的控制信号。
- 对于这类编码器,我们观察到随着分辨率的提高,全局特征趋于饱和,模型能力转向保留精细细节,这对于保持未编辑区域的保真度至关重要。
3. 通过无学习令牌的视觉语言模型(VLM)编码获取图像先验
- 我们发现,由视觉语言模型编码的多模态特征可以在保留图像先验的同时解释指令。由于因果注意力机制,
<指令><图像>
的格式尤为重要。
📦 安装指南
克隆仓库
git clone https://github.com/PKU-YuanGroup/UniWorld
cd UniWorld
创建并激活虚拟环境
conda create -n univa python=3.10 -y
conda activate univa
安装依赖
pip install -r requirements.txt
💻 使用示例
基础用法
Gradio Web UI 演示
MODEL_PATH="path/to/model"
FLUX_PATH="path/to/flux"
SIGLIP_PATH="path/to/siglip"
CUDA_VISIBLE_DEVICES=0 python -m univa.serve.gradio_web_server \
--model_path ${MODEL_PATH} \
--flux_path ${FLUX_PATH} \
--siglip_path ${SIGLIP_PATH}
CLI 推理
MODEL_PATH="path/to/model"
FLUX_PATH="path/to/flux"
SIGLIP_PATH="path/to/siglip"
CUDA_VISIBLE_DEVICES=1 python -m univa.serve.cli \
--model_path ${MODEL_PATH} \
--flux_path ${FLUX_PATH} \
--siglip_path ${SIGLIP_PATH}
📚 详细文档
新闻动态
- [2025.06.03] 我们发布了 UniWorld,这是一个用于理解、生成和编辑的统一框架。所有 数据、模型、训练代码 和 评估代码 均已开源。查看我们的 报告 以获取更多详细信息。欢迎 关注 此仓库以获取最新更新。
效果展示
UniWorld 在 20 多个任务中表现出色。仅在 270 万个样本上训练的 UniWorld,在图像编辑基准测试 ImgEdit - Bench 上始终优于在 26.65 亿个样本上训练的 BAGEL。它还在多个维度上超越了专业图像编辑模型 Step1X - Edit,包括在 ImgEdit - Bench 上的添加、调整和提取任务。
点击播放演示视频:
训练流程
数据准备
从 LanguageBind/UniWorld-V1 下载数据。数据集由两部分组成:源图像和标注 JSON 文件。
准备一个 data.txt
文件,格式如下:
- 第一列是图像的根路径。
- 第二列是对应的标注 JSON 文件。
- 第三列表示是否启用区域加权策略。我们建议对编辑数据设置为 True,其他数据设置为 False。
data/BLIP3o-60k,json/blip3o_t2i_58859.json,false
data/coco2017_caption_canny-236k,coco2017_canny_236574.json,false
data/imgedit,json/imgedit/laion_add_part0_edit.json,true
我们提供了一个简单的在线验证工具,用于检查 data.txt
中的路径设置是否正确:
python univa/serve/check_data.py
数据详情
文本到图像生成
- [BLIP3o - 60k](https://huggingface.co/datasets/BLIP3o/BLIP3o-60k):我们为一半的数据添加了文本到图像的指令。[占用 108 GB 存储空间] - [OSP1024 - 286k](https://huggingface.co/datasets/LanguageBind/UniWorld-V1/tree/main/data/OSP1024-286k):源自 [Open - Sora 计划](https://github.com/PKU-YuanGroup/Open-Sora-Plan) 的内部数据,使用 [Qwen2-VL-72B](https://huggingface.co/Qwen/Qwen2-VL-72B-Instruct) 生成描述。图像的宽高比在 3:4 到 4:3 之间,美学得分 ≥ 6,短边 ≥ 1024 像素。[占用 326 GB 存储空间]
图像编辑
- [imgedit - 724k](https://huggingface.co/datasets/sysuyy/ImgEdit/tree/main):使用 GPT - 4o 过滤数据,保留约一半。[占用 2.1T 存储空间] - [OmniEdit - 368k](https://huggingface.co/datasets/TIGER-Lab/OmniEdit-Filtered-1.2M):对于图像编辑数据,过滤掉编辑区域小于 1/100 的样本;图像短边 ≥ 1024 像素。[占用 204 GB 存储空间] - [SEED - Data - Edit - Part1 - Openimages - 65k](https://huggingface.co/datasets/AILab-CVC/SEED-Data-Edit-Part1-Openimages):对于图像编辑数据,过滤掉编辑区域小于 1/100 的样本。图像短边 ≥ 1024 像素。[占用 10 GB 存储空间] - [SEED - Data - Edit - Part2 - 3 - 12k](https://huggingface.co/datasets/AILab-CVC/SEED-Data-Edit-Part2-3):对于图像编辑数据,过滤掉编辑区域小于 1/100 的样本。图像短边 ≥ 1024 像素。[占用 10 GB 存储空间] - [PromptfixData - 18k](https://huggingface.co/datasets/yeates/PromptfixData):对于图像修复数据和一些编辑数据,过滤掉编辑区域小于 1/100 的样本。图像短边 ≥ 1024 像素。[占用 9 GB 存储空间] - [StyleBooth - 11k](https://huggingface.co/scepter-studio/stylebooth):对于风格迁移数据,图像短边 ≥ 1024 像素。[占用 4 GB 存储空间] - [Ghibli - 36k](https://huggingface.co/datasets/LanguageBind/UniWorld-V1/tree/main/data/Ghibli-36k):对于风格迁移数据,图像短边 ≥ 1024 像素。**警告:此数据未经过质量过滤。** [占用 170 GB 存储空间]
提取与试穿
- [viton_hd - 23k](https://huggingface.co/datasets/forgeml/viton_hd):从源数据转换为用于产品提取的指令数据集。[占用 1 GB 存储空间] - [deepfashion - 27k](https://huggingface.co/datasets/lirus18/deepfashion):从源数据转换为用于产品提取的指令数据集。[占用 1 GB 存储空间] - [shop_product - 23k](https://huggingface.co/datasets/LanguageBind/UniWorld-V1/tree/main/data/shop_product-23k):源自 [Open - Sora 计划](https://github.com/PKU-YuanGroup/Open-Sora-Plan) 的内部数据,专注于产品提取和虚拟试穿,图像短边 ≥ 1024 像素。[占用 12 GB 存储空间]
图像感知
- [coco2017_caption_canny - 236k](https://huggingface.co/datasets/gebinhui/coco2017_caption_canny):图像到边缘图及边缘图到图像 [占用 25 GB 存储空间] - [coco2017_caption_depth - 236k](https://huggingface.co/datasets/gebinhui/coco2017_caption_depth):图像到深度图及深度图到图像 [占用 8 GB 存储空间] - [coco2017_caption_hed - 236k](https://huggingface.co/datasets/gebinhui/coco2017_caption_hed):图像到 HED 边缘图及 HED 边缘图到图像 [占用 13 GB 存储空间] - [coco2017_caption_mlsd - 236k](https://huggingface.co/datasets/gebinhui/coco2017_caption_mlsd):图像到线段图及线段图到图像 [占用 存储空间] - [coco2017_caption_normal - 236k](https://huggingface.co/datasets/gebinhui/coco2017_caption_normal):图像到法线图及法线图到图像 [占用 10 GB 存储空间] - [coco2017_caption_openpose - 62k](https://huggingface.co/datasets/wangherr/coco2017_caption_openpose):图像到姿态图及姿态图到图像 [占用 2 GB 存储空间] - [coco2017_caption_sketch - 236k](https://huggingface.co/datasets/wangherr/coco2017_caption_sketch):图像到草图及草图到图像 [占用 15 GB 存储空间] - [unsplash_canny - 20k](https://huggingface.co/datasets/wtcherr/unsplash_10k_canny):图像到边缘图及边缘图到图像 [占用 2 GB 存储空间] - [open_pose - 40k](https://huggingface.co/datasets/raulc0399/open_pose_controlnet):图像到姿态图及姿态图到图像 [占用 4 GB 存储空间] - [mscoco - controlnet - canny - less - colors - 236k](https://huggingface.co/datasets/hazal-karakus/mscoco-controlnet-canny-less-colors):图像到边缘图及边缘图到图像 [占用 13 GB 存储空间] - [coco2017_seg_box - 448k](https://huggingface.co/datasets/LanguageBind/UniWorld-V1/tree/main/data/coco2017_seg_box-448k):图像到目标检测及图像到分割(掩码),过滤掉区域小于 1/100 的实例。我们将掩码可视化在原始图像上作为真实标签图像。[占用 39 GB 存储空间] - [viton_hd - 11k](https://huggingface.co/datasets/forgeml/viton_hd):图像到姿态图 [占用 1 GB 存储空间] - [deepfashion - 13k](https://huggingface.co/datasets/lirus18/deepfashion):图像到姿态图 [占用 1 GB 存储空间]
训练步骤
准备预训练权重
下载 black - forest - labs/FLUX.1 - dev 到 $FLUX_PATH
。
下载 Qwen/Qwen2.5 - VL - 7B - Instruct 到 $QWENVL_PATH
。我们也支持其他尺寸的 Qwen2.5 - VL。
SAVE_PATH="path/to/save/UniWorld-Qwen2.5-VL-7B-Instruct-FLUX.1-dev-fp32"
python scripts/make_univa_qwen2p5vl_weight.py \
--origin_flux_ckpt_path $FLUX_PATH \
--origin_qwenvl_ckpt_path $QWENVL_PATH \
--save_path ${SAVE_PATH}
# 阶段 1
bash scripts/denoiser/flux_qwen2p5vl_7b_vlm_stage1_512.sh
下载 flux - redux - siglipv2 - 512.bin 并将其路径设置为 stage2.yaml
中的 pretrained_siglip_mlp_path
。该权重源自 ostris/Flex.1 - alpha - Redux,我们只是重新组织了权重。
# 阶段 2
bash scripts/denoiser/flux_qwen2p5vl_7b_vlm_stage2_512.sh
评估流程
文本到图像生成
GenEval
```bash cd univa/eval/geneval # 遵循 univa/eval/geneval/README.md 中的说明 ```
WISE
```bash cd univa/eval/wise # 遵循 univa/eval/wise/README.md 中的说明 ```
GenAI - Bench
```bash cd univa/eval/genai # 遵循 univa/eval/genai/README.md 中的说明 ```
DPG - Bench
```bash cd univa/eval/dpgbench # 遵循 univa/eval/dpgbench/README.md 中的说明 ```
图像编辑
ImgEdit
```bash cd univa/eval/imgedit # 遵循 univa/eval/imgedit/README.md 中的说明 ```
GEdit
```bash cd univa/eval/gdit # 遵循 univa/eval/gdit/README.md 中的说明 ```
相关工作
- ImgEdit:ImgEdit 是一个大规模、高质量的图像编辑数据集,包含 120 万个精心策划的编辑对。
- Open - Sora 计划:一个开源的文本到图像/视频基础模型,提供了大量的描述数据。
- SEED - Data - Edit:一个用于指令引导图像编辑的混合数据集。
- Qwen2.5 - VL:Qwen 的新旗舰视觉语言模型。
- FLUX.1 - Redux - dev:给定输入图像,FLUX.1 Redux 可以以轻微变化重现图像,允许对给定图像进行细化。
- SigLIP 2:新的多语言视觉语言编码器。
- Step1X - Edit:一个先进的图像编辑模型。
- BLIP3 - o:一个统一的多模态模型,结合了自回归模型的推理和指令遵循能力与扩散模型的生成能力。
- BAGEL:一个开源的多模态基础模型,有 70 亿个活跃参数(总共 140 亿个),在大规模交错多模态数据上训练。
🔧 技术细节
对比语义编码器
与以往使用 VAE 编码的参考图像进行低级控制的方法不同,我们使用对比视觉编码器作为参考图像的控制信号。随着分辨率的提高,全局特征趋于饱和,模型能力转向保留精细细节,这对于保持未编辑区域的保真度至关重要。
图像先验获取
通过无学习令牌的视觉语言模型编码获取图像先验。由视觉语言模型编码的多模态特征可以在保留图像先验的同时解释指令,<指令><图像>
的格式由于因果注意力机制尤为重要。
📄 许可证
请查看 LICENSE 以获取详细信息。FLUX 权重遵循 FLUX.1 [dev] 非商业许可证。
🌟 引用
@misc{lin2025uniworldhighresolutionsemanticencoders,
title={UniWorld: High-Resolution Semantic Encoders for Unified Visual Understanding and Generation},
author={Bin Lin and Zongjian Li and Xinhua Cheng and Yuwei Niu and Yang Ye and Xianyi He and Shenghai Yuan and Wangbo Yu and Shaodong Wang and Yunyang Ge and Yatian Pang and Li Yuan},
year={2025},
eprint={2506.03147},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2506.03147},
}
@article{niu2025wise,
title={Wise: A world knowledge-informed semantic evaluation for text-to-image generation},
author={Niu, Yuwei and Ning, Munan and Zheng, Mengren and Lin, Bin and Jin, Peng and Liao, Jiaqi and Ning, Kunpeng and Zhu, Bin and Yuan, Li},
journal={arXiv preprint arXiv:2503.07265},
year={2025}
}
@article{lin2024open,
title={Open-Sora Plan: Open-Source Large Video Generation Model},
author={Lin, Bin and Ge, Yunyang and Cheng, Xinhua and Li, Zongjian and Zhu, Bin and Wang, Shaodong and He, Xianyi and Ye, Yang and Yuan, Shenghai and Chen, Liuhan and others},
journal={arXiv preprint arXiv:2412.00131},
year={2024}
}
👥 社区贡献者
该模型在论文 UniWorld: High - Resolution Semantic Encoders for Unified Visual Understanding and Generation 中提出。









