新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这篇具有很好参考价值的文章主要介绍了新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介:

Stability AI与它的多模式AI研究实验室DeepFloyd共同宣布研究版本DeepFloyd IF的发布,这是一款强大的文text-to-image级联像素扩散模型(cascaded pixel diffusion model),复现了Google的Imagen(Text-to-Image Diffusion Models)。

对比Stable Diffusion(可以看我以前的文章:北方的郎:深入浅出讲解Stable Diffusion原理,新手也能看明白),Imagen也依赖于一个冻结的文本编码器:先将文本提示转换为嵌入,然后由扩散模型解码成图像。但不同的是,Imagen并没有使用多模态训练的CLIP,而是使用了大型T5-XXL语言模型。而StabilityAI推出的DeepFloyd IF复刻的正是这一架构。同时DeepFloyd IF在像素空间工作,与Stable Diffusion不同,扩散是在像素级实现的。

这些特点使它可以更精确的生成图像,例如生成带有特定文本的图片。在测试中,DeepFloyd IF直接超越了谷歌的Imagen,以及一众竞品(包括兄弟产品Stable Diffusion)。

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

照例还是先列出所有资源链接:

GitHub:GitHub - deep-floyd/IF

博客:

Stability AI releases DeepFloyd IF, a powerful text-to-image model that can smartly integrate text into images — Stability AI

Running IF with diffusers on a Free Tier Google Colab

Imagen:Text-to-Image Diffusion Models

论文灵感:https://arxiv.org/pdf/2205.11487.pdf

官网: https://deepfloyd.ai/deepfloyd-if

模型下载: https://github.com/deep-floyd/IF

HuggingFace Space: https://huggingface.co/DeepFloyd

Demo试验: https://huggingface.co/spaces/DeepFloyd/IF

参与讨论: https://linktr.ee/deepfloyd

整体介绍:

DeepFloyd IF是StablilityAI在非商业研究许可证下发布的最先进的文本到图像模型。与StablilityAI的其他模型一样,StablilityAI打算在未来发布完全开源的DeepFloyd IF模型。

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

DeepFloyd IF,具有高度的照片级真实感和语言理解。DeepFloyd IF 是一个由冻结的文本编码器和三个级联像素扩散模块组成的模块:

一个基于文本提示(Text Prompt)生成 64x64 像素图像的基本模型和两个超分辨率模型,每个模型都旨在生成分辨率不断提高的图像:256x256 像素和 1024x1024 像素。该模型的所有阶段都利用基于 T5 转换器的冻结文本编码器来提取文本嵌入,然后将其馈送到通过交叉注意力和注意力池增强的 UNet 架构中。

结果是一个高效的模型,优于当前最先进的模型,在COCO数据集上实现了6.66的 zero-shot FID分数。研究者的工作体现了更大的UNet架构在级联扩散模型第一阶段的潜力,并描绘了文本到图像合成的光明未来。

描述和特征

深度文本提示(text prompt)理解:

利用大型语言模型T5-XXL-1.1作为文本编码器。大量的文本-图像交叉注意力层(text-image cross-attention layers)也提供了更好的提示和图像联盟。

将文本描述应用于图像:

结合T5模型的智能性,DeepFloyd IF生成连贯清晰的文本以及出现在各种空间关系中的不同属性的对象。到目前为止,这些用例对大多数文本到图像模型来说都是具有挑战性的。

高度写真性:

这一特点反映在令人印象深刻的 zero-shot FID得分6.66上,该得分是在COCO dataset上获得的(FID是评估文本到图像模型性能的主要指标;分数越低,性能越好)。

宽高比转换:

生成非标准宽高比的图像的能力,垂直或水平的,以及标准的方形宽高比。

zero-shot图像到图像转换:

图像修改是通过(1)将原始图像调整到64个像素,(2)通过正向扩散添加噪音,以及(3)使用带有新提示的反向扩散去除图像的噪音(在填补模式下,该过程发生在图像的局部区域内)实现的。样式可以通过超分辨率模块进一步改变提示文本描述。这种方法提供了在保持源图像的基本形式的同时修改输出的风格、模式和细节的机会 - 而所有这些都无需微调。

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

模型定义

DeepFloyd IF是一个模块化的、级联的、像素扩散模型。这里详细说明每个描述符的定义:

模块化:

DeepFloyd IF由几个神经模块组成(可以独立解决任务的神经网络,如从文本提示生成图像和超分辨率),这些模块在一个体系结构中相互作用,产生协同效应。

级联:

DeepFloyd IF以级联方式对高分辨率数据进行建模,使用不同分辨率下单独训练的一系列模型。该过程从生成唯一低分辨率样本的基本模型(“player”)开始,然后由连续的超分辨率模型(“amplifiers”)上采样以产生高分辨率图像。

扩散:

DeepFloyd IF的基本模型和超分辨率模型是扩散模型,其中使用一系列步骤的马尔科夫链向数据中注入随机噪声,然后反转该过程以从噪声中生成新数据样本。

像素:

DeepFloyd IF在像素空间工作。与使用潜在表示的潜在扩散模型(如Stable Diffusion)不同,扩散是在像素级实现的。

总之,DeepFloyd IF是一个模块化的、级联的、基于像素的扩散模型,它由多个神经模块组成,可以独立地生成和提高图像分辨率。它使用一系列单独训练的模型在不同分辨率下以级联方式对高分辨率数据进行建模。该模型是一种扩散模型,可以在像素级注入和删除随机噪声。这使得DeepFloyd IF在保留源内容的同时生成新样式和细节方面表现出色。

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这幅生成流程图代表三个阶段的工作:文本提示通过冻结的T5-XXL语言模型传递,将其转换为定性文本表示。

第一阶段:基本扩散模型将定性文本转换为64x64图像。DeepFloyd团队已训练三个版本的基本模型,每个模型的参数都不同:IF-I 400M、IF-I 900M和IF-I 4.3B。

第二阶段:为了“放大”图像,应用两个文本条件超分辨率模型(Efficient U-Net)对基本模型的输出。第一个模型将64x64图像放大到256x256图像。同样,该模型也有几个版本可用:IF-II 400M和IF-II 1.2B。

第三阶段:应用第二个超分辨率扩散模型产生生动的1024x1024图像。最终的第三阶段模型IF-III有700M个参数。注意:研究者还没有发布这个第三阶段模型;然而,IF模型的模块化特性允许他们在第三阶段使用其他放大模型 - 如Stable Diffusion x4 Upscaler。

数据集训练

DeepFloyd IF在定制的LAION-A数据集上训练,该数据集由10亿对高质量图像和文本组成。LAION-A是LAION-5B数据集英语部分的优化后的子集,包括基于相似性哈希进行去重、额外清理以及对原始数据集的其他修改。DeepFloyd的定制过滤器用于删除带水印的、不适合工作环境的和其他不恰当的内容。

Model 列表

Name Cascade Params FID Batch size Steps
IF-I-M I 400M 8.86 3072 2.5M
IF-I-L I 900M 8.06 3200 3.0M
IF-I-XL* I 4.3B 6.66 3072 2.42M
IF-II-M II 450M - 1536 2.5M
IF-II-L* II 1.2B - 1536 2.5M
IF-III-L* (soon) III 700M - 3072 1.25M

*best modules

模型评估

下面是不同大小的DeepFloyd IF模型在COCO数据集上的评测效果,可以看到模型参数越大,FID越低,最大的模型IF-4.3B的FID为6.6。

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

模型应用

使用所有IF模型的最低要求:

  • 16GB vRAM,用于 IF-I-XL(4.3B 文本到 64x64 基本模块)和 IF-II-L(1.2B 到 256x256 升频模块)
  • 24GB vRAM,用于IF-I-XL(4.3B文本到64x64基本模块)和IF-II-L(1.2B到256x256升频模块)和稳定的x4(到1024x1024升频器)
  • xformers并设置环境变量FORCE_MEM_EFFICIENT_ATTN=1

运行

目前DeepFloyd IF模型也已经集成到了diffusers库 FaceDiffusers library.

diffusers默认试用model cpu offloading运行IF pipeline,这样只需要14 GB VRAM就可以了。

from diffusers import DiffusionPipeline
from diffusers.utils import pt_to_pil
import torch

# stage 1
stage_1 = DiffusionPipeline.from_pretrained("DeepFloyd/IF-I-XL-v1.0", variant="fp16", torch_dtype=torch.float16)
stage_1.enable_xformers_memory_efficient_attention()  # remove line if torch.__version__ >= 2.0.0
stage_1.enable_model_cpu_offload()

# stage 2
stage_2 = DiffusionPipeline.from_pretrained(
    "DeepFloyd/IF-II-L-v1.0", text_encoder=None, variant="fp16", torch_dtype=torch.float16
)
stage_2.enable_xformers_memory_efficient_attention()  # remove line if torch.__version__ >= 2.0.0
stage_2.enable_model_cpu_offload()

# stage 3
safety_modules = {"feature_extractor": stage_1.feature_extractor, "safety_checker": stage_1.safety_checker, "watermarker": stage_1.watermarker}
stage_3 = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-x4-upscaler", **safety_modules, torch_dtype=torch.float16)
stage_3.enable_xformers_memory_efficient_attention()  # remove line if torch.__version__ >= 2.0.0
stage_3.enable_model_cpu_offload()

prompt = 'a photo of a kangaroo wearing an orange hoodie and blue sunglasses standing in front of the eiffel tower holding a sign that says "very deep learning"'

# text embeds
prompt_embeds, negative_embeds = stage_1.encode_prompt(prompt)

generator = torch.manual_seed(0)

# stage 1
image = stage_1(prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, generator=generator, output_type="pt").images
pt_to_pil(image)[0].save("./if_stage_I.png")

# stage 2
image = stage_2(
    image=image, prompt_embeds=prompt_embeds, negative_prompt_embeds=negative_embeds, generator=generator, output_type="pt"
).images
pt_to_pil(image)[0].save("./if_stage_II.png")

# stage 3
image = stage_3(prompt=prompt, image=image, generator=generator, noise_level=100).images
image[0].save("./if_stage_III.png")

I. Dream

Dream is the text-to-image mode of the IF model

from deepfloyd_if.pipelines import dream

prompt = 'ultra close-up color photo portrait of rainbow owl with deer horns in the woods'
count = 4

result = dream(
    t5=t5, if_I=if_I, if_II=if_II, if_III=if_III,
    prompt=[prompt]*count,
    seed=42,
    if_I_kwargs={
        "guidance_scale": 7.0,
        "sample_timestep_respacing": "smart100",
    },
    if_II_kwargs={
        "guidance_scale": 4.0,
        "sample_timestep_respacing": "smart50",
    },
    if_III_kwargs={
        "guidance_scale": 9.0,
        "noise_level": 20,
        "sample_timestep_respacing": "75",
    },
)

if_III.show(result['III'], size=14)

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

II. Zero-shot Image-to-Image Translation

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

In Style Transfer mode, the output of your prompt comes out at the style of the support_pil_img

from deepfloyd_if.pipelines import style_transfer

result = style_transfer(
    t5=t5, if_I=if_I, if_II=if_II,
    support_pil_img=raw_pil_image,
    style_prompt=[
        'in style of professional origami',
        'in style of oil art, Tate modern',
        'in style of plastic building bricks',
        'in style of classic anime from 1990',
    ],
    seed=42,
    if_I_kwargs={
        "guidance_scale": 10.0,
        "sample_timestep_respacing": "10,10,10,10,10,10,10,10,0,0",
        'support_noise_less_qsample_steps': 5,
    },
    if_II_kwargs={
        "guidance_scale": 4.0,
        "sample_timestep_respacing": 'smart50',
        "support_noise_less_qsample_steps": 5,
    },
)
if_I.show(result['II'], 1, 20)

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

III. Super Resolution

For super-resolution, users can run IF-II and IF-III or 'Stable x4' on an image that was not necessarely generated by IF (two cascades):

from deepfloyd_if.pipelines import super_resolution

middle_res = super_resolution(
    t5,
    if_III=if_II,
    prompt=['woman with a blue headscarf and a blue sweaterp, detailed picture, 4k dslr, best quality'],
    support_pil_img=raw_pil_image,
    img_scale=4.,
    img_size=64,
    if_III_kwargs={
        'sample_timestep_respacing': 'smart100',
        'aug_level': 0.5,
        'guidance_scale': 6.0,
    },
)
high_res = super_resolution(
    t5,
    if_III=if_III,
    prompt=[''],
    support_pil_img=middle_res['III'][0],
    img_scale=4.,
    img_size=256,
    if_III_kwargs={
        "guidance_scale": 9.0,
        "noise_level": 20,
        "sample_timestep_respacing": "75",
    },
)
show_superres(raw_pil_image, high_res['III'][0])

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

IV. Zero-shot Inpainting

from deepfloyd_if.pipelines import inpainting

result = inpainting(
    t5=t5, if_I=if_I,
    if_II=if_II,
    if_III=if_III,
    support_pil_img=raw_pil_image,
    inpainting_mask=inpainting_mask,
    prompt=[
        'oil art, a man in a hat',
    ],
    seed=42,
    if_I_kwargs={
        "guidance_scale": 7.0,
        "sample_timestep_respacing": "10,10,10,10,10,0,0,0,0,0",
        'support_noise_less_qsample_steps': 0,
    },
    if_II_kwargs={
        "guidance_scale": 4.0,
        'aug_level': 0.0,
        "sample_timestep_respacing": '100',
    },
    if_III_kwargs={
        "guidance_scale": 9.0,
        "noise_level": 20,
        "sample_timestep_respacing": "75",
    },
)
if_I.show(result['I'], 2, 3)
if_I.show(result['II'], 2, 6)
if_I.show(result['III'], 2, 14)

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

效果测试:

prompt:landscape of newyork with words "hello"

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

Midjourney

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

Stable Diffusion

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这个实验只有DeepFloyd IF正确显示了文字。

Prompt:a man holding a cardboard with words "let's dance"

DeepFloyd IF

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

MidJourney

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

Stable Diffusion

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这个实验只有DeepFloyd IF比较正确显示了文字(4张图就1张图多了一个t)。

Prompt: a neon sign says "It's Saturday"

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

Midjourney:

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

StableDiffusion:

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这个实验只有DeepFloyd IF正确显示了文字,看起来DeepFloyd IF在正确显示文字方面的确是有着巨大的优势。

Prompt: an old lady looking at a mirror and seeing a beautiful young girl

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

这个效果其实是试了好几次的结果。

Stable Diffusion

新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?

感觉有帮助的朋友,欢迎赞同、关注、分享三连。^-^文章来源地址https://www.toymoban.com/news/detail-506992.html

到了这里,关于新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AIGC大模型之——以文生图介绍

    一、什么是以文生图?        以文生图是AIGC ( AI Generated Content )框架中的一个关键技术,通过文字描述,将文字转化为图像并展示出来。以文生图具有白动化程度高、精度高、可扩展性强、可定制化等优势,具有广泛的应用前景,可以为人们提供更便捷高效的绘图解决方案

    2024年02月08日
    浏览(40)
  • AI文本生图模型Stable Diffusion部分模型叠加效果

    兄弟们,最近有个烦恼,就是找图有点费事,干脆自己部署个文本生图模型Stable Diffusion,虽然机器性能慢,但是效果还可以,先和大家截图分享下,后面将映射ai.shenjian.online供大家免费使用 1. 效果预览 2. 主模型及插件安装 下载模型icerealistic_v21.safetensors放到./models/Stable-diffusion/下 下载

    2024年01月20日
    浏览(41)
  • VUE 中的 v-for 和 v-if 是否可以共存

    要成功,先发疯,头脑简单往前冲! 三金四银,金九银十,多学知识,也不能埋头苦干, 要成功,先发疯,头脑简单往前冲! 最近发现很多人也在问我 v-for 和 v-if 的面试问题,那么下面我就个大家分析一下! 但是其实很多人都是背的,具体为啥会这样,很多人都没搞清楚

    2024年01月18日
    浏览(37)
  • ChatGPT APP来了,还可以直接订阅Plus账号,操作流程都这篇里面

    大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 OpenAI宣布推出聊天机器人ChatGPT的APP,目前已上架苹果App Store,这是该软件首次发布手机APP。官方还承诺未来也将推出安卓版。除此之外,还提供了支付宝

    2024年02月08日
    浏览(115)
  • 区块链技术与AI技术的融合可以为多个领域带来新的机遇和变革

    区块链技术与AI技术融合起来,有什么值得遐想的空间吗 区块链技术与AI技术的融合可以为多个领域带来新的机遇和变革。以下是一些值得遐想的空间: 数据隐私保护:区块链技术可以提供去中心化的数据存储,保护数据隐私;AI技术可以通过对数据的分析和学习提高预测和

    2024年02月06日
    浏览(48)
  • 大模型学习笔记04——新的模型架构

    核心思想:创建一组专家,每个输入只激活一小部分专家 混合专家模型方法: 注意 通过门控控制使用不同种类和数量的专家 所有专家的概率分布和为1,可以取其中概率较大的几个专家,而忽略概率较小的专家 需要确保所有专家都能被输入使用,如果只有一个专家活跃既是

    2024年01月20日
    浏览(44)
  • UniverSeg:通用医学图像分割模型来了!

    自从今年以来ChatGPT爆火和GPT-4的发布,一时间在大模型的潮流下,通用人工智能(AGI)也呼之欲出。随着本月初SAM和SegGPT等通用的CV大模型的提出,大模型和通用模型这把火也逐渐烧到的CV领域,特别是图像分割领域。很多做分割方向的小伙伴自我调侃说一觉醒来,自己的方向

    2024年02月08日
    浏览(42)
  • Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例

    用了很久的Stable Diffusion,但从来没有好好解析过它内部的结构,写个博客记录一下,嘿嘿。 https://github.com/bubbliiiing/stable-diffusion 喜欢的可以点个star噢。 Stable Diffusion是比较新的一个扩散模型,翻译过来是稳定扩散,虽然名字叫稳定扩散,但实际上换个seed生成的结果就完全不

    2024年02月15日
    浏览(65)
  • Mistral 7B v0.2 基础模型开源,大模型微调实践来了

    Mistral AI在3月24日突然发布并开源了 Mistral 7B v0.2模型,有如下几个特点: 和上一代Mistral v0.1版本相比, 上下文窗口长度从8k提升到32k ,上下文窗口(context window)是指语言模型在进行预测或生成文本时,所考虑的前一个token或文本片段的大小范围。随着上下文窗口长度的增加

    2024年04月26日
    浏览(36)
  • AIGC与AidLux互联应用——AidLux端AIGC测评(二)PC端&云端Stable Diffusion模型推理应用(文生图,图生图)

    整体运行架构 Stable Diffusion模型搭建首先下载diffusers,然后安装,命令如下: git clone https://github.com/huggingface/diffusers.git pip install diffusers cd diffusers pip install . ubuntu和win系统下都可以 文生图,图生图代码和训练好的模型见百度网盘(训练好的模型很大,十几个g) 修改txt2jpg_in

    2024年02月09日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包