OmniGen-v1项目介绍
OmniGen是一个多模态统一图像生成模型,能够从多种输入形式生成多样化的图像。该项目的核心理念是简化和灵活化图像生成过程,使其如同 GPT 在语言生成中的作用一般,不需要额外的插件或操作,即可通过多模态指令直接生成图像。
项目背景
目前已有的图像生成模型通常需要加载多个额外的网络模块,如 ControlNet、IP-Adapter、Reference-Net 等,并进行繁琐的预处理步骤,例如人脸检测、姿态估计、图像裁剪等。这些繁琐的步骤往往提高了用户的使用门槛,并限制了模型的应用范围。因此,OmniGen的设计理念是打造一个更简单、灵活的图像生成范式,降低图像生成的复杂性。
项目特色
- 多任务能力: OmniGen 能够执行多种任务,包括文本到图像生成、主题驱动生成、身份保持生成、图像编辑以及图像条件生成等。
- 无需插件: 不需要额外的插件或操作即可自动识别输入图像中的特征,例如所需对象、人类姿势、深度映射等。
- 易于微调: 用户可以轻松对OmniGen进行微调,只需准备相应的数据并运行提供的脚本,无需为特定任务设计复杂的网络。
- 开放讨论: 项目团队鼓励用户提出问题、分享想法或者提供反馈,以帮助改进模型。
开发计划与新闻
- 2024年10月22日,OmniGen首次版本发布,并开放模型代码以供推理和训练。
- 用户可以通过GitHub和Huggingface平台获取和测试模型。
快速开始
用户可以通过克隆GitHub仓库,或从pypi安装OmniGen进行使用。以下是一些使用例子:
from OmniGen import OmniGenPipeline
pipe = OmniGenPipeline.from_pretrained("Shitao/OmniGen-v1")
# 文本到图像生成
images = pipe(
prompt="A curly-haired man in a red shirt is drinking tea.",
height=1024,
width=1024,
guidance_scale=2.5,
seed=0,
)
images[0].save("example_t2i.png") # 保存生成的图像
# 多模态到图像生成
images = pipe(
prompt="A man in a black shirt is reading a book. The man is the right man in <img><|image_1|></img>.",
input_images=["./imgs/test_cases/two_man.jpg"],
height=1024,
width=1024,
guideance_scale=3,
img_guidance_scale=1.6
)
images[0].save("example_ti2i.png") # 保存生成的图像
更多的使用细节和参数说明,可以参考OmniGen GitHub仓库中的文档。
微调指南
OmniGen提供了一个训练脚本 train.py
,用户可以通过该脚本进行模型的微调。这个灵活的设计使用户可以根据自己的需求调整模型性能,以实现特定的任务。
使用许可
OmniGen项目使用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}
}
以上就是对OmniGen-v1项目的详细介绍,希望能帮助您更好地理解和使用该模型。