今天给大家介绍一个北京市人工智能研究院 提出的统一的图像生成模型OmniGen,可以使用它来执行各种任务,包括但不限于文本到图像生成、主题驱动生成、身份保留生成、图像编辑和图像条件生成。OmniGen不需要额外的插件或操作,它可以根据文本提示自动识别输入图像中的特征(例如所需对象、人体姿势、深度映射)。
相关链接
• 论文:https://arxiv.org/pdf/2409.11340
• 代码:https://github.com/VectorSpaceLab/OmniGen
• 试用:https://huggingface.co/spaces/Shitao/OmniGen
概述
OmniGen 是一个统一的图像生成模型,可以根据多模态提示生成各种图像。它设计简单、灵活且易于使用。作者已经提供了推理代码,以便每个人都可以探索 OmniGen 的更多功能。
现有的图像生成模型往往需要加载多个额外的网络模块(如 ControlNet、IP-Adapter、Reference-Net 等)并执行额外的预处理步骤(例如人脸检测、姿势估计、裁剪等)才能生成令人满意的图像。但我们认为未来的图像生成范式应该更加简单灵活,即直接通过任意多模态指令生成各种图像,而无需额外的插件和操作,类似于 GPT 在语言生成中的工作方式。
由于资源有限,OmniGen 仍有改进空间。该模型会继续进行优化,希望它能启发更多通用的图像生成模型。你也可以轻松地微调 OmniGen,而不必担心为特定任务设计网络;你只需要准备好相应的数据,然后运行脚本即可。想象力不再受限;每个人都可以构造任何图像生成任务,也许我们可以实现非常有趣、奇妙和富有创意的事情。
OmniGen 能做什么?
OmniGen 是一个统一的图像生成模型,可以使用它来执行各种任务,包括但不限于文本到图像生成、主题驱动生成、身份保留生成、图像编辑和图像条件生成。OmniGen不需要额外的插件或操作,它可以根据文本提示自动识别输入图像中的特征(例如所需对象、人体姿势、深度映射)。
以下是 OmniGen 功能的说明:可以通过 OmniGen 灵活控制图像生成 演示
引用表情生成
可以输入多幅图像,并使用简单、通用的语言来引用图像中的对象。OmniGen 可以自动识别每幅图像中的必要对象,并根据这些对象生成新图像。无需进行图像裁剪或人脸检测等额外操作。
方法
OmniGen 的框架。文本被标记为 token,而输入图像通过 VAE 转换为嵌入。OmniGen 可以接受自由形式的多模态提示并通过整流方法生成图像。
OmniGen 模型训练数据示例。将所有任务的输入标准化为任意交错的图像文本序列格式,用作模型的提示。占位符 |image_i| 表示提示中第 i 个图像的位置。
(a)GRIT-Entity 数据集的构建过程说明。我们使用实例分割和重绘方法来获取大量数据。(b)构建我们的网络图像数据集时使用的交叉验证策略说明。对于人物 A 和人物 B 的合影,我们从人物 A 和人物 B 的单张照片中抽取了几张图像,并询问 MLLM 他们是否出现在合影中。只有当人物 A 和人物 B 的“是”比例都达到特定阈值时,才会保留合影。然后使用标记为“是”的单张图像与相应的组图像构建数据对。
更多结果展示
文本生成图像的结果。
主题驱动生成的结果。OmniGen 可以根据参考图像中的对象生成新图像。当参考图像包含多个对象时,OmniGen 可以根据文本指令自动识别所需对象。
OmniGen 在不同图像生成任务中的结果。
OmniGen在传统各种视觉任务中的结果。
感谢你看到这里,也欢迎点击关注下方公众号并添加公众号小助手加入官方读者交流群,一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion、Sora等相关技术,欢迎一起交流学习💗~