首页 > 科技周边 > 人工智能 > Omnigen:统一的图像生成方法

Omnigen:统一的图像生成方法

Joseph Gordon-Levitt
发布: 2025-03-18 11:32:22
原创
322 人浏览过

生成基础模型彻底改变了自然语言处理(NLP),大型语言模型(LLM)在各种任务中都出色。但是,视觉生成领域仍然缺乏能够在单个框架内处理多个任务的统一模型。现有的模型在特定域中稳定扩散,dall-e和成像人都表现出色,但依赖于特定于任务的扩展(例如ControlNet或Contractpix2pix),它们限制了它们的多功能性和可扩展性。

Omnigen通过引入一个统一的图像生成框架来解决这一差距。与传统的扩散模型不同,Amnigen具有一个简洁的体系结构,其中仅包括变异自动编码器(VAE)和变压器模型,从而消除了对外部任务特定组件的需求。该设计允许Amnigen处理任意交织的文本和图像输入,从而实现了各种任务,例如文本到图像生成,图像编辑和可控生成,并在单个模型中可控。

Omnigen不仅在基准中擅长文本对图像生成,而且还展示了跨看不见的任务和领域的强大转移学习,新兴能力和推理。

学习目标

  • 掌握综合剂的结构和设计原理,包括其将变异自动编码器(VAE)的集成和统一图像生成的变压器模型。
  • 了解所有人如何处理交织的文本和图像输入以处理各种任务,例如文本到图像生成,图像编辑和主题驱动的自定义。
  • 分析Omnigen的基于流动的优化和进行性分辨率培训,以了解其对生成性能和效率的影响。
  • 发现Omnigen的现实世界应用,包括生成艺术,数据增强和交互式设计,同时确认其在处理复杂的细节和看不见的图像类型时的约束。

目录

  • 学习目标
  • 综合模型架构和培训方法
  • 了解注意机制
  • 了解推理过程
  • 有效的培训策略
  • 推进统一的图像生成
  • 使用全基
  • 综合剂的局限性
  • 申请和未来方向
  • 结论
  • 常见问题

综合模型架构和培训方法

在本节中,我们将研究“综合框架”框架,重点介绍其模型设计原理,体系结构和创新培训策略。

模型设计原理

当前的扩散模型通常面临局限性,将其可用性限制为特定任务,例如文本对图像生成。扩展其功能通常涉及集成其他特定于任务的网络,这些网络很麻烦,并且在各种任务中缺乏可重复使用性。 Omnigen通过遵守两个核心设计原则来应对这些挑战:

  • 通用性:接受多种任务的各种形式的图像和文本输入的能力。
  • 简洁性:避免过度复杂的设计或需要许多其他组件。

网络架构

Omnigen采用了一种创新的体系结构,该体系结构集成了变异自动编码器(VAE)和预训练的大型变压器模型:

  • VAE:从输入图像中提取了连续的潜在视觉特征。 Omnigen使用SDXL VAE,该VAE在训练过程中保持冷冻。
  • 变压器模型:使用PHI-3初始化,以利用其强大的文本处理功能,它基于多模式输入生成图像。

与依靠单独的编码器(例如剪辑或图像编码器)进行预处理输入条件的传统扩散模型不同,Omnigen固有地编码所有条件信息,从而大大简化了管道。它还在单个框架中共同建模文本和图像,从而增强了方式之间的相互作用。

Omnigen:统一的图像生成方法

输入格式和集成

Omnigen接受自由形式的多模式提示,交织的文本和图像:

  • 文本:使用PHI-3令牌的令牌化。
  • 图像:通过VAE处理,并使用简单的线性层转换为一系列视觉令牌。将位置嵌入应用于这些令牌以更好地表示。
  • 图像文本集成:每个图像序列都用特殊令牌(“ Omnigen:统一的图像生成方法”和“ ”)封装,并与序列中的文本令牌结合使用。

了解注意机制

注意机制是AI中的游戏改变者,使模型可以在处理复杂任务时专注于最相关的数据。从驱动变压器到革新NLP和计算机视觉,此概念在机器学习系统中重新定义了效率和精度。

Omnigen修改标准因果注意机制以增强图像建模:

  • 在所有序列元素上都应用因果注意力。
  • 在单个图像序列中使用双向注意,从而使图像中的补丁在确保仅参与先前序列(文本或更早图像)的同时相互作用。

了解推理过程

推论过程是AI模型将学习模式应用于新数据,将培训转换为可行的预测。这是将模型培训与现实世界应用,推动跨行业的见解和自动化的最后一步。

Omnigen使用流动匹配方法进行推理:

  • 对高斯噪声进行采样并迭代以预测目标速度。
  • 潜在表示使用VAE解码为图像。
  • 通过默认的50个推理步骤,Omnigen通过将键值态储存在GPU上,以减少冗余计算来利用KV-CACHE机制来加速该过程。

有效的培训策略

Omnigen采用整流的流量方法进行优化,这与传统的DDPM方法不同。它在噪声和数据之间进行线性插值,训练模型以基于噪声数据,时间步长和条件信息直接回归目标速度。

训练目标最大程度地减少了加权平方误差损失,强调了图像编辑任务中发生变化以防止模型过度拟合到不变区域的区域。

管道

杂种逐渐以增加图像分辨率的训练,将数据效率与美学质量平衡。

  • 优化器
    • ADAMW为β=(0.9,0.999)。
  • 硬件
    • 所有实验均在104 A800 GPU上进行。
  • 阶段

培训细节,包括分辨率,步骤,批量规模和学习率,如下:

阶段 图像分辨率 训练步骤(K) 批量大小 学习率
1 256×256 500 1040 1E-4
2 512×512 300 520 1E-4
3 1024×1024 100 208 4E-5
4 2240×2240 30 104 2E-5
5 多种的 80 104 2E-5

通过其创新的体系结构和高效的培训方法,Omnigen在扩散模型中设定了新的基准测试,从而为广泛的应用提供了多功能和高质量的图像生成。

推进统一的图像生成

为了在图像生成中启用强大的多任务处理,构建大规模和多样化的基础是必不可少的。 Omnigen通过重新定义模型如何在各种任务中使用多功能性和适应性来实现这一目标。

关键创新包括

  • 文本到图像生成:
    • 利用广泛的数据集捕获广泛的图像文本关系。
    • 通过合成注释和高分辨率图像收集来提高输出质量。

Omnigen:统一的图像生成方法

  • 多模式功能:
    • 启用文本和图像的灵活输入组合,以进行编辑,虚拟尝试和样式转移等任务。
    • 在发电期间结合了高级视觉条件,以进行精确的空间控制。

Omnigen:统一的图像生成方法

  • 主题驱动的自定义:
    • 介绍集中的数据集和技术,以生成以特定对象或实体为中心的图像。
    • 利用新颖的过滤和注释方法来增强相关性和质量。

Omnigen:统一的图像生成方法

  • 整合视觉任务:
    • 结合了传统的计算机视觉任务,例如细分,深度映射和与图像生成的介入。
    • 促进知识转移,以提高新型情况下的生成性能。

Omnigen:统一的图像生成方法

  • 几次学习:
    • 通过示例驱动的培训方法来赋予文章中的内在学习。
    • 在保持效率的同时,增强了模型的适应性。

Omnigen:统一的图像生成方法

通过这些进步,Omnigen为实现统一和聪明的图像生成能力设定了基准,弥合了各种任务之间的差距,并为开创性的应用铺平了道路。

使用全基

无论您是在本地环境中工作还是使用Google Colab,Omnigen都​​很容易开始。请按照下面的说明安装和使用Amnigen来生成文本或多模式输入的图像。

安装和设置

要安装Omnigen,请首先克隆GitHub存储库并安装软件包:

克隆综合存储库:

 git克隆https://github.com/vectorspacelab/omnigen.git
CD Omnigen
PIP安装-e 
PIP安装全材
登录后复制

可选:如果您愿意避免冲突,请创建一个专门的环境:

 #创建Python 3.10.13 Conda环境(您也可以使用Virtualenv)
conda create -n omnigen python = 3.10.13
conda激活综合剂

#安装具有适当CUDA版本的Pytorch(例如,CU118)
PIP安装火炬== 2.3.1 Cu118 Torchvision -extra-index-url https://download.pytorch.org/whl/cu118
!
#克隆并安装综合剂
git克隆https://github.com/vectorspacelab/omnigen.git
CD Omnigen
PIP安装-e。
登录后复制

安装综合剂后,您可以开始生成图像。以下是如何使用综合管道的示例。

文字到图像生成

Omnigen允许您从文本提示中生成图像。这是一个简单的例子,可以生成一个男人喝茶的图像:

来自Amnigen进口AmnigenPipeline

pipe = omnigenpipeline.from_pretrataining(“ shitao/omnigen-v1”)

#从文本中生成图像
图像=管道(
    提示='''现实照片。一个年轻女子坐在沙发上, 
    拿着书并面对相机。她穿着精致 
    银箍耳环装饰有微小的闪闪发光钻石 
    这抓住了光,她长长的栗色头发级联 
    在她的肩膀上。她的眼睛专注而温柔,构造了 
    长长的黑睫毛。她穿着舒适的奶油毛衣, 
    这补充了她温暖,诱人的微笑。在她身后,那里 
    是一张桌子,上面放着一杯水,上面有一杯,极简的蓝色杯子。 
    背景是一个宁静的室内环境,具有柔和的自然光
     通过窗户过滤,装饰有高雅的艺术和花朵, 
     创造舒适和和平的氛围。 4K,高清'', 
    高度= 1024, 
    宽度= 1024, 
    gudance_scale = 2.5,
    种子= 0,
)
图像[0] .save(“ example_t2i.png”)#保存生成的图像
图像[0] .show()
登录后复制

Omnigen:统一的图像生成方法

多模式到图像生成

您也可以将Omnigen用于多模式生成,其中包含文本和图像。这是一个示例,其中包含图像作为输入的一部分:

 #生成带有文本和提供的图像的图像
图像=管道(
    提示=“ <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" >  <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" > \ n卸下女士的耳环。用充满闪闪发光的冰川的透明玻璃替换杯子。
。”,
    input_images = [“ ./ imgs/demo_cases/edit.png
”],,
    高度= 1024, 
    宽度= 1024,
    gudance_scale = 2.5, 
    img_guidance_scale = 1.6,
    种子= 0
)
图像[0] .save(“ example_ti2i.png”)#保存生成的图像
登录后复制

Omnigen:统一的图像生成方法

计算机视觉功能

下面的示例演示了Omnigen的高级计算机视觉(CV)功能,特别是其从图像输入中检测和渲染人骨架的能力。此任务将文本指令与图像结合在一起,以产生准确的骨骼检测结果。

从PIL导入图像

#定义骨架检测的提示
提示=“在此图像中检测人的骨架:<img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" >  <img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" >”
input_images = [“ ./imgs/demo_cases/edit.png”]

#使用骨架检测生成输出图像
图像=管道(
    提示=提示, 
    input_images = input_images, 
    高度= 1024, 
    宽度= 1024,
    gudance_scale = 2, 
    img_guidance_scale = 1.6,
    种子= 333
)

#保存并显示输出
图像[0] .save(“ ./ imgs/demo_cases/skeletal.png”)

#显示输入图像
打印(“输入图像:”)
对于Input_images中的IMG:
    image.open(img).show()

#显示输出图像
打印(“输出:”)
图像[0] .show()
登录后复制

Omnigen:统一的图像生成方法

主题驱动的一代

该示例演示了Amnigen的受试者驱动的能力,可以从多个输入图像提示中描述的个体识别个人,并生成这些主题的组图像。该过程是端到端的,不需要外部识别或细分,展示了无所物在处理复杂的多源场景方面的灵活性。

从PIL导入图像

#定义主题驱动一代的提示
提示=((
    “一个教授和一个男孩一起读书。”
    “教授是<img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226876123951.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" >  的中间人。”
    “男孩是拿着书<img  src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226876123951.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" >  的男孩。”
)
input_images = [[

#用描述的主题生成输出图像
图像=管道(
    提示=提示, 
    input_images = input_images, 
    高度= 1024, 
    宽度= 1024,
    gudance_scale = 2.5, 
    img_guidance_scale = 1.6,
    syte_cfg_infer = true,
    种子= 0
)

#保存并显示生成的图像
图像[0] .save(“ ./ imgs/demo_cases/entity.png”)

#显示输入图像
打印(“输入图像:”)
对于Input_images中的IMG:
    image.open(img).show()

#显示输出图像
打印(“输出:”)
图像[0] .show()
登录后复制

主题驱动的能力:我们的模型可以在多人图像中识别所描述的主题,并从多个来源生成个体的组图像。此端到端过程不需要额外的识别或细分,强调了无非的灵活性和多功能性。

Omnigen:统一的图像生成方法

综合剂的局限性

  • 文本渲染:有效处理短文本段,但要为更长的文本生成准确的输出而努力。
  • 训练约束:由于资源限制,训练期间最多只能进行三个输入图像,从而阻碍了模型管理长图像序列的能力。
  • 细节精度:生成的图像可能包括不准确的,尤其是在小或复杂的细节中。
  • 看不见的图像类型:无法处理未经训练的图像类型,例如用于表面正常估计的图像类型。

申请和未来方向

Omnigen的多功能性在不同领域开辟了许多应用:

  • 生成艺术:艺术家可以利用Amnigen从文本提示或粗略的草图中创建艺术品。
  • 数据增强:研究人员可以生成用于培训计算机视觉模型的不同数据集。
  • 交互式设计工具:设计人员可以利用工具中的综合剂,这些工具允许根据用户输入进行实时图像编辑和生成。

随着综合剂的不断发展,未来的迭代可能会进一步扩展其功能,有可能融合更先进的推理机制并提高其在复杂任务上的性能。

结论

Omnigen是一种革命性的图像生成模型,将文本和图像输入结合到一个统一的框架中,克服了稳定扩散和DALL-E等现有模型的局限性。通过集成变量自动编码器(VAE)和变压器模型,它简化了工作流程,同时启用了多功能任务,例如文本到图像生成和图像编辑。凭借多模式生成,主题驱动的定制和少数学习的能力,Omnigen在生成艺术和数据增强等领域开辟了新的可能性。尽管有一些局限性,例如长期文本输入和细节的挑战,Omnigen仍将塑造视觉内容创建的未来,为各种应用程序提供强大,灵活的工具。

关键要点

  • Omnigen结合了差异自动编码器(VAE)和变压器模型来简化图像生成任务,从而消除了对特定于任务的扩展的需求,例如ControlNet或Conternpix2Pix。
  • 该模型有效地集成了文本和图像输入,可以实现多功能任务,例如文本到图像生成,图像编辑和主题驱动的组图像创建,而无需外部识别或分段。
  • 通过创新的培训策略,例如整流的流动优化和渐进的分辨率缩放,Omnigen在保持效率的同时,可以实现跨任务的稳健性能和适应性。
  • 虽然Omnigen在生成艺术,数据增强和交互式设计工具方面表现出色,但它在提供复杂的细节和处理未经训练的图像类型方面面临挑战,为将来的进步留出了空间。

常见问题

Q1。什么是杂种?

A. Omnigen是一种统一的图像生成模型,旨在处理各种任务,包括文本对图像生成,图像编辑和多模式生成(结合文本和图像)。与传统模型不同,Omnigen不依赖于特定于任务的扩展,提供了更广泛和可扩展的解决方案。

Q2。是什么使Amnigen与其他图像生成模型不同?

A. Omnigen由于其简单的体系结构而脱颖而出,该体系结构结合了变异自动编码器(VAE)和变压器模型。这使其可以在统一的框架中处理文本和图像输入,从而无需其他组件或修改即可实现多种任务。

Q3。运行无金的系统要求是什么?

答:为了有效地运行Allnigen,建议使用具有CUDA启用GPU的系统。该模型已在A800 GPU上进行了培训,并且使用键值缓存机制受益于GPU加速度的推理过程。

本文所示的媒体不由Analytics Vidhya拥有,并由作者酌情使用。

以上是Omnigen:统一的图像生成方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板