当前位置: 首页 > news >正文

DeepFloyd IF:由文本生成图像的强大模型,能够绘制文字的 AI 图像工具

文章目录

  • 一、DeepFloyd IF 简介
  • 二、DeepFloyd IF模型架构
  • 三、DeepFloyd IF模型生成流程
  • 四、DeepFloyd IF 模型定义


一、DeepFloyd IF 简介

  1. DeepFloyd IF:能够绘制文字的 AI 图像工具
    之前的 Stable Diffusion 和 Midjourney 都无法生成带有文字的图片,而文字都是乱码。 DeepFloyd IF,这个文本到图像的级联像素扩散模型功能强大,能巧妙地将文本集成到图像中。
  2. DeepFloyd IF的优点是它能够生成高度真实的图像,并且具有很强的语言理解能力。它使用大规模数据集进行训练,这使得它能够生成高质量的图像。
  3. DeepFloyd IF支持文本到图像的生成和图像到图像的翻译,这使得它在文本到图像的生成领域具有很大的潜力。

二、DeepFloyd IF模型架构

DeepFloyd IF 采用模块化设计,由一个固定的文本编码器和三个级联的像素扩散模块组成:

  • 冻结文本编码器: 将文本提示转换为图像。它使用预训练的语言模型将文本提示转化为嵌入,然后通过像素扩散模型将这些嵌入解码为图像。
  • 基本模型: 基于文本提示生成64x64px图像。使用预训练的语言模型和像素扩散模型来生成图像。
  • 超分辨率模型: 包括两个超分辨率模型,每个模型都旨在生成分辨率递增的图像。
    • 第一个超分辨率模型生成256x256px的图像,
    • 第二个超分辨率模型生成1024x1024px的图像。

三、DeepFloyd IF模型生成流程

DeepFloyd IF模型的所有阶段都使用基于 T5 变换器的固定文本编码器提取文本嵌入,然后将其输入到增强了跨注意力和注意力池化的 UNet 架构中。

  • 第一阶段: 基本扩散模型将定性文本转换为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图像。
    在这里插入图片描述

四、DeepFloyd IF 模型定义

DeepFloyd IF是一个模块化的、级联的、像素扩散模型。

  1. 模块化:
    DeepFloyd IF由几个神经模块组成(可以独立解决任务的神经网络,如从文本提示生成图像和超分辨率),这些模块在一个体系结构中相互作用,产生协同效应。
  2. 级联:
    DeepFloyd IF以级联方式对高分辨率数据进行建模,使用不同分辨率下单独训练的一系列模型。该过程从生成唯一低分辨率样本的基本模型(“player”)开始,然后由连续的超分辨率模型(“amplifiers”)上采样以产生高分辨率图像。
  3. 扩散:
    DeepFloyd IF的基本模型和超分辨率模型是扩散模型,其中使用一系列步骤的马尔科夫链向数据中注入随机噪声,然后反转该过程以从噪声中生成新数据样本。

    和stable diffusion最大的区别是deep-floyd是在像素空间做扩散,而不是在latents空间做扩散。

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

参考:
新的生图模型DeepFloyd IF来了,可以拳打Stable Diffusion,脚踢Dall-E?
一款由文本生成图像的强大模型,可以智能地将文本集成到图像中

相关文章:

  • 9.5.1 函数模板特化
  • 使用Android Compose实现网格列表滑到底部的提示信息展示
  • 常用Java代码-Java中的并发集合(ConcurrentHashMap、CopyOnWriteArrayList等)
  • Sqoop的增量数据加载策略与示例
  • 解决Unexpected record signature 0X9maven 资源过滤
  • jar包部署到linux虚拟机的docker中之后连不上mysql
  • 【Spring实战】28 @Autowired 和 @Resource注解的区别与使用
  • Linux完全卸载Anaconda3和MiniConda3
  • 索引的概述和使用
  • 线性代数——(期末突击)概率统计习题(概率的性质、全概率公式)
  • YOLOv5改进 | 注意力篇 | CGAttention实现级联群体注意力机制 (全网首发改进)
  • 智能路由器 端口映射 (UPnP) Padavan内网端口映射配置方法
  • 山西电力市场日前价格预测【2024-01-13】
  • openssl3.2 - 官方demo学习 - cms - cms_sign.c
  • Python数据的验证
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • egg(89)--egg之redis的发布和订阅
  • HashMap剖析之内部结构
  • JavaScript 一些 DOM 的知识点
  • JS 面试题总结
  • JWT究竟是什么呢?
  • nfs客户端进程变D,延伸linux的lock
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • OSS Web直传 (文件图片)
  • Python_OOP
  • Python中eval与exec的使用及区别
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vagrant 添加本地 box 安装 laravel homestead
  • v-if和v-for连用出现的问题
  • 官方解决所有 npm 全局安装权限问题
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 译自由幺半群
  • 仓管云——企业云erp功能有哪些?
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #、%和$符号在OGNL表达式中经常出现
  • #Lua:Lua调用C++生成的DLL库
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (四) 虚拟摄像头vivi体验
  • (万字长文)Spring的核心知识尽揽其中
  • (学习日记)2024.01.09
  • (循环依赖问题)学习spring的第九天
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转)详解PHP处理密码的几种方式
  • .Net - 类的介绍
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 材料检测系统崩溃分析
  • .NET4.0并行计算技术基础(1)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET开源快速、强大、免费的电子表格组件
  • .Net语言中的StringBuilder:入门到精通
  • // an array of int
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @requestBody写与不写的情况