license: mit
pipeline_tag: text-to-image
tags:
OmniGen:统一图像生成模型
最新动态 |
方法原理 |
功能展示 |
快速开始 |
模型微调 |
许可协议 |
引用说明
更多信息请访问GitHub仓库:https://github.com/VectorSpaceLab/OmniGen
1. 项目概述
OmniGen是一个统一的多模态图像生成模型,能够根据多样化指令生成各类图像。我们致力于打造简洁灵活、开箱即用的生成工具,并提供了推理代码供开发者探索更多可能性。
当前主流图像生成模型往往需要加载多个附加模块(如ControlNet、IP-Adapter等)和执行繁琐的预处理步骤(如人脸检测、姿态估计等)。我们坚信未来的图像生成范式应该如同GPT处理文本那样简洁——仅需任意多模态指令即可直接生成目标图像,无需额外插件和操作。
受限于资源,当前版本仍有提升空间。我们将持续优化模型,并期待它能启发更通用的生成架构。您可以通过微调脚本轻松扩展模型能力——只需准备对应数据即可构建任意图像生成任务,无需担心网络设计问题。想象力不应受限,让我们共同探索创意可能!
如有疑问、建议或有趣的任务构想,欢迎通过2906698981@qq.com、wangyueze@tju.edu.cn或zhengliu1026@gmail.com联系我们,您的反馈将助力模型进化。
2. 最新动态
- 2024-10-22: :fire: 正式开源OmniGen代码库:推理指南 | 微调教程
- 2024-10-22: :fire: 发布OmniGen首个版本:模型权重 | 在线演示
3. 方法原理
技术细节详见我们的论文。
4. 功能展示

OmniGen作为统一生成框架,可执行包括但不限于以下任务:
- 文生图
- 主体驱动生成
- 身份保持生成
- 图像编辑
- 条件图像生成
模型能自动识别输入图像特征(如目标物体、人体姿态、深度图等),无需额外插件。具体示例参见inference.ipynb,inference_demo.ipynb则展示了有趣的图像生成-编辑流程。
若现有功能未达预期或需扩展能力,可尝试模型微调。
5. 快速开始
安装使用
推荐通过GitHub安装:
git clone https://github.com/staoxiao/OmniGen.git
cd OmniGen
pip install -e .
或使用pip:
pip install OmniGen
基础使用示例:
from OmniGen import OmniGenPipeline
pipe = OmniGenPipeline.from_pretrained("Shitao/OmniGen-v1")
images = pipe(
prompt="穿红衬衫的卷发男子正在喝茶",
height=1024,
width=1024,
guidance_scale=2.5,
seed=0,
)
images[0].save("example_t2i.png")
images = pipe(
prompt="穿黑衬衫的男子正在读书,该男子是<img><|image_1|></img>中右侧人物",
input_images=["./imgs/test_cases/two_man.jpg"],
height=1024,
width=1024,
separate_cfg_infer=False,
guidance_scale=3,
img_guidance_scale=1.6
)
images[0].save("example_ti2i.png")
参数详情参见推理指南,更多案例参考inference.ipynb和inference_demo.ipynb。
Diffusers支持
即将推出。
在线演示
访问Huggingface空间体验在线版,或本地运行:
python app.py
6. 模型微调
我们提供train.py
脚本支持模型微调,以下为LoRA微调示例:
accelerate launch --num_processes=1 train.py \
--model_name_or_path Shitao/OmniGen-v1 \
--batch_size_per_device 2 \
--condition_dropout_prob 0.01 \
--lr 1e-3 \
--use_lora \
--lora_rank 8 \
--json_file ./toy_data/toy_subject_data.jsonl \
--image_path ./toy_data/images \
--max_input_length_limit 18000 \
--keep_raw_resolution \
--max_image_size 1024 \
--gradient_accumulation_steps 1 \
--ckpt_every 10 \
--epochs 200 \
--log_every 1 \
--results_dir ./results/toy_finetune_lora
完整微调指南详见文档。
许可协议
本项目采用MIT许可证。
引用说明
如果本项目对您的研究有所帮助,请考虑引用:
@article{xiao2024omnigen,
title={Omnigen: Unified image generation},
author={Xiao, Shitao and Wang, Yueze and Zhou, Junjie and Yuan, Huaying and Xing, Xingrun and Yan, Ruiran and Wang, Shuting and Huang, Tiejun and Liu, Zheng},
journal={arXiv preprint arXiv:2409.11340},
year={2024}
}