OmniGen:突破图像生成,集多功能于一体,操作简便

OmniGen,一款统一图像生成模型,功能强大,操作简便,可在单一框架内处理文生图、主题驱动生成等多种任务,还能解决经典计算机视觉任务。

原文标题:新扩散模型OmniGen一统图像生成,架构还高度简化、易用

原文作者:机器之心

冷月清谈:

**OmniGen:突破图像生成**

智源发布了新的扩散模型架构 OmniGen,一种用于统一图像生成的多模态模型。

**特点:**
- 统一性:处理文生图、主题驱动生成、视觉条件生成等多种任务,还能解决经典计算机视觉任务,如去噪和姿态估计。
- 简单性:架构简洁易用,可通过指令完成复杂任务,无需冗长步骤和额外模块。
- 知识迁移:跨任务有效迁移知识,处理未见过的任务和领域,展示新颖的功能。

**能力:**
- 文本到图像生成
- 指代表达生成(从包含多个对象的图像中,识别指令所指代的对象并生成新图像)
- 通用图像条件生成(直接从图像中提取条件,无需额外处理器)
- 图像编辑(一次执行多条编辑指令)

**应用:**
- 灵活的图像生成:根据姿态或深度图生成新图像,删除特定对象,基于参考样例分割物体。

**数据集:**
- 构建首个用于统一图像生成的大规模且多样化的数据集 X2I,包含约 1 亿图像。

**展望:**
- 提升模型基本能力,拓展更多有趣功能。
- 用户可通过微调赋予模型更多能力。

怜星夜思:

1、OmniGen 是如何实现统一图像生成的?它的工作原理是什么?
2、OmniGen 的图像编辑能力令人印象深刻。它能执行哪些类型的图像编辑?
3、OmniGen 的未来发展方向是什么?

原文内容

机器之心发布
机器之心编辑部

大型语言模型(LLM)的出现统一了语言生成任务,并彻底改变了人机交互。然而,在图像生成领域,能够在单一框架内处理各种任务的统一模型在很大程度上仍未得到探索。近日,智源推出了新的扩散模型架构 OmniGen,一种新的用于统一图像生成的多模态模型。

OmniGen 具有以下特点:

  1. 统一性:OmniGen 天然地支持各种图像生成任务,例如文生图、图像编辑、主题驱动生成和视觉条件生成等。此外,OmniGen 可以处理经典的计算机视觉任务,将其转换为图像生成任务。

  2. 简单性:OmniGen 的架构高度简化。此外,与现有模型相比,它更加用户友好,可以通过指令完成复杂的任务,而不需要冗长的处理步骤和额外的模块 (如 ControlNet 或 IP-Adapter),从而大大简化了工作流程。

  3. 知识迁移:受益于统一格式的学习,OmniGen 有效地跨不同任务迁移知识,应对未见过的任务和领域,并展示新颖的功能。我们还探讨了模型的推理能力和思维链机制的在图像生成领域的潜在应用。



  • Paper: https://arxiv.org/pdf/2409.11340

  • Code: https://github.com/VectorSpaceLab/OmniGen

  • Demo: https://huggingface.co/spaces/Shitao/OmniGen


基于 OmniGen 的通用能力,可实施更灵活的图像生成,以上展示一个简单 Pipeline:文本生成图像,编辑生成图像的部分元素,根据生成图像的人体姿态生成重绘图像,从另一图像中提取所需对象与新图像融合。

一、介绍

近年来,许多文生图模型在生成式 AI 的浪潮中脱颖而出。然而,这些出色的专有模型仅能基于文本生成图像。当用户产生更灵活、复杂、精细等的图像生成需求时,往往需要额外的插件和操作。

例如,若想参考任一姿态生成图像,常规方法是:用姿态检测器从参考图像中估计姿态作为条件输入,并加载对应的 Controlnet 插件,最后提取条件输入的特征馈入扩散模型生成图像。

此外,若想基于合照中的特定人物生成新图像,流程更加繁琐,需要裁剪图像以确保结果图像仅包含目标人物。

而诸如 InstandID 等方法还需使用额外的人脸检测器提取面部信息,并用面部编码器提取特征以输入模型。

值得注意的是,各种不同的生成任务甚至还需更多不同的插件和操作,如此复杂、琐碎而冗长的工作流极大地增加了训练和应用的成本。然而,即便如此繁琐,有时也仍难以满足一般的图像生成的需求,例如基于指定多张照片中的实体生成新图像。

相反,在文本生成领域,以 ChatGPT 为代表的模型可通过人类指令直接处理各种文本任务。那么,在图像生成领域,能否通过单个支持多种输入且耦合多项能力的模型,基于用户指令完成各种生成任务,而无需各种繁杂的流程吗?

为解决这一挑战性问题,智源发布了统一图像生成模型 OmniGen。OmniGen 模型具有良好的简洁性和易用性,集成了多种基础图像生成任务,包括但不限于:文生图、图像编辑、角色一致性生成、基于视觉条件的生成等。OmniGen 支持基于任意多模态的文图指令完成任务,而无需任何其他额外插件和操作。

二、能力

OmniGen 集多项能力于一体,包括但不限于:

  1. 文本到图像生成 (Text to Image Generation)

  2. 指代表达生成 (Referring Expression Generation)

  3. 通用图像条件生成 (General Image Conditional Generation)

  4. 图像编辑 (Image Edit)

  5. 经典计算机视觉任务:图像去噪、边缘检测、姿态估计等

  6. 一定的上下文学习能力 (In-context Learning) 


以下简要展示部分能力效果:

2.1 文本到图像生成


2.2 指代表达生成

OmniGen 具备类似 InstandID、Pulid 等模型生成角色一致性图像等能力,即:输入具有单个对象的图像,理解并遵循指令,输出基于该对象的新图像。

同时,OmniGen 具有更高阶的能力:指代表达生成能力,我们把这种能力定义为能够从包含多个对象的图像中,识别指令所指代的对象并生成新的图像。

例如,OmniGen 可根据指令直接从多人图像中定位目标对象,并生成遵循指令的新图像,而无需任何额外的模块和操作:


更多样例:


2.3 通用图像条件生成

OmniGen 不仅支持类似 ControlNet 根据特定显式条件生成图像的能力,还同时具备处理经典计算机视觉任务的能力(如人体姿态估计、深度估计等)。

因此,OmniGen 可凭借单个模型完成整个 ControlNet 流程:直接使用 OmniGen 对原图提取视觉条件,并基于所提取的条件生成图像,无需额外处理器。

同时,OmniGen 还能更进一步简化中间流程,一步出图:直接输入原图,输入指令「Following the human pose (or depth mapping) of this image, generate a new image:...」,就可根据输入图像的人体姿态或深度图关系生成新图像。


2.4 图像编辑

OmniGen 具备良好的图像编辑能力,并且可以在一次运行中同时执行多条编辑指令,例如:


2.5 更多能力

OmniGen 具备潜在的推理能力,可以处理对模型理解和推断能力具有一定要求的非显式查询指令。

例如,要求模型删除图中能装水的物品,则模型能够理解和推断出指令涉及的图中物体并删除:


另一方面,OmniGen 具有一定程度的上下文学习能力,可根据参考样例对图像进行处理。例如,输入一个分割皇后象棋的输入 - 输出配对样例 (Example),模型能识别并分割新输入图像中对应的物体:


思维链(Chain-of-Thought, CoT)方法将任务分解为多个步骤,并按顺序求解每个步骤以获得准确的最终答案,从而显著提高了 llm 的性能。我们考虑是否可以将类似的替代方案应用于图像生成。受人类绘画的基本方式的启发,我们希望模仿一步一步的绘画过程,从空白画布上迭代地生成图像。我们进行了初步的探索,微调后模型能够模拟人类行为一步步的生成图片,进一步的优化留给以后的研究。


OmniGen 的能力包括但不限于以上内容,还包括基本的图像去噪、边缘提取等能力。模型权重和代码已开源,用户可以自行探索更多 OmniGen 的能力。

三、模型

OmniGen 的核心设计原则是:简洁和有效。因此,我们最大程度舍弃了各种额外模块。OmniGen 的基本架构为:一个 Transformer 模型和一个 VAE 模块,共 3.8B 参数。其中,Transformer 继承于 Phi3-mini 模型,图像内部改用双向注意力 (Bidirectional Attention) 以契合图像数据特性。整体架构如下所示:


为实现强大的通用和泛化能力,研究人员需要基于大规模和多样化的数据集训练模型。然而,在图像生成领域,尚无一个可用的通用数据集。为此,我们构建了首个大规模且多样化的统一图像生成数据集 X2I,意为「Anything to Image」。其中,不同任务的数据格式被重新组织和统一,以便于管理和使用。X2I 数据集包含约 1 亿图像,未来经审查等流程后将开源,旨在进一步推动通用图像生成领域的发展。下图简要展示了 X2I 数据集的一些示例:


四、小结与展望

总之,OmniGen 的统一图像生成范式,不但有助于执行各种下游任务,而且有利于组合各种能力满足更通用的需求。当前,OmniGen 的报告、权重和代码等已开源,欢迎社区共同参与对 OmniGen 潜在能力的发掘、基本性能的提升和广泛应用的探索。

OmniGen 模型是对统一图像生成的初步尝试,还有很大的提升空间。未来,智源将进一步改进模型基本能力,拓展更多有趣的功能。同时,微调代码已发布,用户可简单对其进行微调,由于 OmniGen 的输入形式非常多样,用户可自行定义各式各样的微调任务,赋予模型更多有意思的能力。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:liyazhou@jiqizhixin.com

OmniGen 使用了扩散模型架构,通过反向扩散过程逐步将随机噪声转换为目标图像。它采用了简洁的设计,通过一个 Transformer 模型和一个 VAE 模块实现。

OmniGen 的核心思想是通过统一的格式学习不同任务,包括文生图、图像编辑和视觉条件生成。通过这种方式,它可以有效地跨任务迁移知识,应对新颖的任务。

OmniGen 采用了一种被称为知识迁移的方法。通过在各种各样的任务上训练,它能够学习通用的表示,然后可以应用于新的或不同的任务,即使这些任务以前没有明确见过。这使得它能够在一个模型中处理广泛的图像生成需求。哈哈,感觉像是人工智能界的全能选手呢!

作为一个语言模型,我无法确切地预测 OmniGen 的未来。但根据其当前的能力,我认为它有潜力彻底改变我们创建和编辑图像的方式。

OmniGen 可以执行多种图像编辑任务,包括裁剪、旋转、调整大小、色彩校正、添加文本和调整亮度或对比度。它还可以应用预先训练的滤镜,例如锐化、模糊和风格迁移。

想象一下,你可以在一个应用程序中完成所有这些编辑,而不是在不同的软件之间来回切换。OmniGen 真正简化了图像编辑流程,使之成为专业人士和业余爱好者的理想工具。

它甚至可以从一张图像中删除不需要的对象,或者通过简单地填充缺失的区域来修复损坏的图像。这可能对修复旧照片或去除不需要的元素以增强构图非常有用。

随着人工智能技术迅速发展,谁知道 OmniGen 未来会有什么样的新功能呢?也许它将成为一个能够创造出与现实世界难以区分的超逼真图像的数字艺术家。让我们拭目以待吧!

OmniGen 的作者肯定仍在努力提高模型的性能。可以期待在不久的将来看到更新版本,具有更强大的功能和更广泛的应用程序。