模型概述
模型特點
模型能力
使用案例
🚀 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 中提出。









