生成基础模型彻底改变了自然语言处理(NLP),大型语言模型(LLM)在各种任务中都出色。但是,视觉生成领域仍然缺乏能够在单个框架内处理多个任务的统一模型。现有的模型在特定域中稳定扩散,dall-e和成像人都表现出色,但依赖于特定于任务的扩展(例如ControlNet或Contractpix2pix),它们限制了它们的多功能性和可扩展性。
Omnigen通过引入一个统一的图像生成框架来解决这一差距。与传统的扩散模型不同,Amnigen具有一个简洁的体系结构,其中仅包括变异自动编码器(VAE)和变压器模型,从而消除了对外部任务特定组件的需求。该设计允许Amnigen处理任意交织的文本和图像输入,从而实现了各种任务,例如文本到图像生成,图像编辑和可控生成,并在单个模型中可控。
Omnigen不仅在基准中擅长文本对图像生成,而且还展示了跨看不见的任务和领域的强大转移学习,新兴能力和推理。
在本节中,我们将研究“综合框架”框架,重点介绍其模型设计原理,体系结构和创新培训策略。
当前的扩散模型通常面临局限性,将其可用性限制为特定任务,例如文本对图像生成。扩展其功能通常涉及集成其他特定于任务的网络,这些网络很麻烦,并且在各种任务中缺乏可重复使用性。 Omnigen通过遵守两个核心设计原则来应对这些挑战:
Omnigen采用了一种创新的体系结构,该体系结构集成了变异自动编码器(VAE)和预训练的大型变压器模型:
与依靠单独的编码器(例如剪辑或图像编码器)进行预处理输入条件的传统扩散模型不同,Omnigen固有地编码所有条件信息,从而大大简化了管道。它还在单个框架中共同建模文本和图像,从而增强了方式之间的相互作用。
Omnigen接受自由形式的多模式提示,交织的文本和图像:
注意机制是AI中的游戏改变者,使模型可以在处理复杂任务时专注于最相关的数据。从驱动变压器到革新NLP和计算机视觉,此概念在机器学习系统中重新定义了效率和精度。
Omnigen修改标准因果注意机制以增强图像建模:
推论过程是AI模型将学习模式应用于新数据,将培训转换为可行的预测。这是将模型培训与现实世界应用,推动跨行业的见解和自动化的最后一步。
Omnigen使用流动匹配方法进行推理:
Omnigen采用整流的流量方法进行优化,这与传统的DDPM方法不同。它在噪声和数据之间进行线性插值,训练模型以基于噪声数据,时间步长和条件信息直接回归目标速度。
训练目标最大程度地减少了加权平方误差损失,强调了图像编辑任务中发生变化以防止模型过度拟合到不变区域的区域。
杂种逐渐以增加图像分辨率的训练,将数据效率与美学质量平衡。
培训细节,包括分辨率,步骤,批量规模和学习率,如下:
阶段 | 图像分辨率 | 训练步骤(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为实现统一和聪明的图像生成能力设定了基准,弥合了各种任务之间的差距,并为开创性的应用铺平了道路。
无论您是在本地环境中工作还是使用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用于多模式生成,其中包含文本和图像。这是一个示例,其中包含图像作为输入的一部分:
#生成带有文本和提供的图像的图像 图像=管道( 提示=“ <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875770560.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" > <img src="/static/imghwm/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的高级计算机视觉(CV)功能,特别是其从图像输入中检测和渲染人骨架的能力。此任务将文本指令与图像结合在一起,以产生准确的骨骼检测结果。
从PIL导入图像 #定义骨架检测的提示 提示=“在此图像中检测人的骨架:<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226875978150.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" > <img src="/static/imghwm/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()
该示例演示了Amnigen的受试者驱动的能力,可以从多个输入图像提示中描述的个体识别个人,并生成这些主题的组图像。该过程是端到端的,不需要外部识别或细分,展示了无所物在处理复杂的多源场景方面的灵活性。
从PIL导入图像 #定义主题驱动一代的提示 提示=(( “一个教授和一个男孩一起读书。” “教授是<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174226876123951.jpg" class="lazy" alt="Omnigen:统一的图像生成方法" > 的中间人。” “男孩是拿着书<img src="/static/imghwm/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是一种革命性的图像生成模型,将文本和图像输入结合到一个统一的框架中,克服了稳定扩散和DALL-E等现有模型的局限性。通过集成变量自动编码器(VAE)和变压器模型,它简化了工作流程,同时启用了多功能任务,例如文本到图像生成和图像编辑。凭借多模式生成,主题驱动的定制和少数学习的能力,Omnigen在生成艺术和数据增强等领域开辟了新的可能性。尽管有一些局限性,例如长期文本输入和细节的挑战,Omnigen仍将塑造视觉内容创建的未来,为各种应用程序提供强大,灵活的工具。
A. Omnigen是一种统一的图像生成模型,旨在处理各种任务,包括文本对图像生成,图像编辑和多模式生成(结合文本和图像)。与传统模型不同,Omnigen不依赖于特定于任务的扩展,提供了更广泛和可扩展的解决方案。
Q2。是什么使Amnigen与其他图像生成模型不同?A. Omnigen由于其简单的体系结构而脱颖而出,该体系结构结合了变异自动编码器(VAE)和变压器模型。这使其可以在统一的框架中处理文本和图像输入,从而无需其他组件或修改即可实现多种任务。
Q3。运行无金的系统要求是什么?答:为了有效地运行Allnigen,建议使用具有CUDA启用GPU的系统。该模型已在A800 GPU上进行了培训,并且使用键值缓存机制受益于GPU加速度的推理过程。
本文所示的媒体不由Analytics Vidhya拥有,并由作者酌情使用。
以上是Omnigen:统一的图像生成方法的详细内容。更多信息请关注PHP中文网其他相关文章!