【文生图系列】文生图大模型合集与效果对比

文章目录

    • DELL · E
      • DELL · E 1
      • DELL · E 2
    • ERNIE-ViLG
      • ERNIE-ViLG 1
      • ERNIE-ViLG 2
      • Paddlehub
    • Imagen
    • Midjourney
    • Stable Diffusion
    • AltDiffusion
    • eDiff-I
    • 阿里通义

DELL · E

DALL·E到目前为止有两个版本,2021年1月,OpenAI发布了DALL·E;2022年,DALL·E 迎来了升级版本-DALL·E 2。与 DALL·E 相比,DALL·E 2 在生成用户描述的图像时具有更高的分辨率和更低的延迟。

DELL · E 1

DALL-E 只开放了使用图像重建部分 d-VAE 训练的 CNN 编码器和解码器部分,而 Transformer 代码部分还没有公开。

DALL·E是GPT-3的120亿参数版本,训练文本-图像对数据集从文本描述中生成图像。与GPT-3一样,DALL·E也是一个语言Transformer模型,它接受文本和图像作为包含1280 tokens的单独数据流,使用最大似然训练去一个接一个地生成所有的tokens。这种训练程序允许DALL·E不仅从头开始生成图像,还可以依据文本提示词生成存在图像的任何区域扩展到该图像的右下角。

一个token是离散词汇表里面的任何符号。DALL·E的此汇报包含文本和图像概念的tokens。文本词汇表里的token总数是16384,每个图像标题使用最大256 BPE编码的tokens表示;图像词汇表里的token总数是8192,每个图像使用1024个token表示(1024+256=1280)。

DALL·E训练一个Transformer,将文本和图像tokens作为单个数据流进行自回归建模。训练采用了两个阶段策略。

  1. 第一阶段:训练一个离散变分自动编码器(discrete variational autoen coder,dVAE)将每个256x256大小的RGB图像压缩为32x32网格大小的图像tokens,其中网格中的每一个元素可假设有8192个可能值。这样就可以将上下文大小减少了192倍(256x256x3=192x32x32)却不会导致视觉质量大幅下降。
  2. 第二阶段:合并256 BPE编码的文本tokens和32x32=1024图像token,训练一个自回归transformer模型建模文本和图像tokens的联合分布。

在这里插入图片描述

DELL · E 2

DALL · E 2体验需要有OpenAI的账号,目前OpenAI对中国地区不提供服务,注册OpenAI需要科学上网,并且需要验证手机号。我在淘宝上买了一个美国的手机号验证码,才注册成功。DALL·E 2需要收费,15美元115 credits,一个credit就是一条成功的请求。

在这里插入图片描述

DALL · E 2仅仅具有35亿参数量,但是生成的图像分辨率却是DALL · E 的4倍。而且相比于DALL · E,DALL · E 2可以综合文本描述中给出的概率、属性与风格等三个元素生成更真实和更准确的图像。
在这里插入图片描述
假设图像为 x x x,与图像相对应的文本为 y y y,文本-图像对为 ( x , y ) \left(x, y \right) (x,y)。对于给定的图像 x x x z i z_{i} zi z t z_{t} zt分别为此图像对应的CLIP图像嵌入向量和文本嵌入向量。DALL · E 2从文本生成图像包含两个组件:

  1. 先验 P ( z i ∣ y ) P\left( z_{i} | y \right) P(ziy)输出给定文本 y y y的CLIP图像嵌入向量 z i z_{i} zi
  2. 解码器 P ( x ∣ z i , y ) P\left( x | z_{i}, y \right) P(xzi,y)生成以上述图像嵌入向量为条件的图像 x x x

ERNIE-ViLG

ERNIE-ViLG是百度文心系列的生成模型,目前已到2.0版本。文心ERNIE-ViLG是全球最大规模中文跨模态生成模型。

ERNIE-ViLG 1

文心 ERNIE-ViLG 参数规模达到100亿,它构建了包含1.45亿高质量中文文本-图像对的大规模跨模态对齐数据集,该模型首次通过自回归算法将图像生成和文本生成统一建模,增强模型的跨模态语义对齐能力,显著提升图文生成效果。文心 ERNIE-ViLG模型可以做文本生成图像任务、图像描述(Image Captioning)任务和生成式视觉问答(Generative VQA)任务。

ERNIE-ViLG 使用编码器-解码器参数共享的 Transformer 作为自回归生成的主干网络,同时学习文本生成图像、图像生成文本两个任务。基于图像向量量化技术,文心 ERNIE-ViLG 把图像表示成离散的序列,从而将文本和图像进行统一的序列自回归生成建模。在文本生成图像时,文心 ERNIE-ViLG 模型的输入是文本 token 序列,输出是图像 token 序列;图像生成文本时则根据输入的图像序列预测文本内容。两个方向的生成任务使用同一个 Transformer 模型。视觉和语言两个模态在相同模型参数下进行相同模式的生成,能够促进模型建立更好的跨模态语义对齐。

ERNIE-ViLG 2

文心 ERNIE-ViLG 2.0 通过视觉、语言等多源知识指引扩散模型学习,强化文图生成扩散模型对于语义的精确理解,以提升生成图像的可控性和语义一致性。同时,ERNIE-ViLG 2.0 首次引入基于时间步的混合降噪专家模型来提升模型建模能力,让模型在不同的生成阶段选择不同的“降噪专家”网络,从而实现更加细致的降噪任务建模,提升生成图像的质量。
在这里插入图片描述
基于语言和图像知识的知识增强算法。 为提升生成图像的语义一致性和可控性,ERNIE ViLG 2.0 将知识增强算法融入扩散模型学习,在扩散模型学习过程中,引入语言、视觉等多源知识指引模型更加关注文本和图像中的核心语义元素,同时针对训练数据噪声带来的训练图文样本语义偏差问题提出了文本语义补全的方法,对图文的语义一致性进行针对性学习,进而实现精准的细粒度语义控制。
混合降噪专家网络。 针对模型建模能力不足,导致图像质量不够好的问题,ERNIE ViLG 2.0 提出了针对不同阶段选择不同网络(降噪专家)进行建模的框架,有效地解决了不同阶段对模型能力要求不一致的问题,减少降噪任务的互相干扰,提升图像生成的质量。由于每个生成阶段只选取一个专家进行生成,实现了在不增加模型预测计算量的情况下对模型建模能力的扩充。

Paddlehub

paddlehub中提供了ERNIE-ViLG的模型API预测,需要安装paddlepaddle和paddlehub。

命令行预测如下所示,事先需要申请API key和Secret key。style参数可选如下风格:古风、油画、水彩、卡通、二次元、浮世绘、蒸汽波艺术、 low poly、像素风格、概念艺术、未来主义、赛博朋克、写实风格、洛丽塔风格、巴洛克风格、超现实主义、探索无限

hub run ernie_vilg --text_prompts “火焰,凤凰,少女,未来感,高清,3d,精致面容,cg感,古风,唯美, 毛发细致,上半身立绘” --style “古风” --output_dir ernie_vilg_out --ak ‘your API key’ --sk ‘your Secret key’

提示词生成的图片1生成的图片2风格
巨狼,飘雪,蓝色大片烟雾,毛发细致, 烟雾缭绕,高清,3d,cg感,侧 面照在这里插入图片描述在这里插入图片描述写实风格
人间四月芳菲尽,山寺桃花始盛开在这里插入图片描述在这里插入图片描述古风
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome在这里插入图片描述在这里插入图片描述写实风格
火焰,凤凰,少女,未来感,高清,3d,精致面容,cg感,古风,唯美, 毛发细致,上半身立绘在这里插入图片描述在这里插入图片描述古风

Imagen

Imagen是谷歌推出的,谷歌发现在纯文本预料库上预训练的通用大型语言模型对于文本到图像的生成人物非常有效。

  1. 文本被输入到一个冻结的预训练Transformer 编码器,该编码器输出向量队列(文本编码)
  2. 文本编码器被传递到图像生成扩散模型中,该模型从高斯噪声逐渐去除噪声,生成反映文本内语义信息的新图像,该模型的新图像是一个64x64大小的图像。
  3. 之后,再使用两个扩散模型(STM和MTL),以第一步的文本编码为条件,将图像超分成一个1024x1024的图像。

Imagen的文本编码器是T5的编码器。图像生成器是扩散模型。Small-to-Medium(STM)超分模型以64x64的图像为输入,超级解析生成256x256的图像,STM也是一个扩散模型。Medium-to-Large(MTL)超分模型以256x256的图像为输入,超级解析生成1024x1024的图像,MTL和STM模型相似,也是一个扩散模型。
在这里插入图片描述
imagen只开源了pytorch版的imagen实现,但是并没有公布模型参数,所以需要自己训练数据集生成模型才能够推理使用。

Midjourney

Midjourney是一个由Midjourney研究实验室开发的人工智能绘图程序,Midjourney应用托管到聊天应用Discord,用户注册Discode并加入Midjourney的服务器就可以开始AI创作了。Midjourney在2023年三月已经迭代到V5版本,V5版本生成的图片分辨率更高,写实风格人物主体塑性更加准确。

国内用户想要使用Midjourney,一是科学上网,注册验证Discord账号,然后进入MidJourney官网找到Join the Beta绑定Discode账号,接受邀请,进入Midjourney社区。二是需要付费。

可在Discode中添加个人服务器,再邀请Midjourney机器人进入个人服务器即可。在底部对话框中输入指令/imagine + prompt就可生成图像。

在这里插入图片描述

Midjourney V5版本凭借如下的一张情侣照片"火出圈",逼真地就像人类拿着摄像机照出的相片。相比较于V4,V5版本细节更加逼真;拥有更多的风格;能画手,在有面部特写时,也能搞定各种肌肤纹理以及光影效果;对提示词更加敏感,用更少更精简的文本生成更好更有效的图片。风格可以从0-1000中选择,越靠近1000,越艺术。

在这里插入图片描述
2023年6月底,Midjourney又推出了5.2版本,最令人心动的新功能是Zoom out 功能,通过1.5倍、2倍以及自定义缩放,将相机拉出,并填充所有侧面细节,达到重构图像的效果。

Stable Diffusion

Stable Diffusion,该项目由初创公司 StabilityAI 和慕尼黑大学机器视觉学习组和 AI 视频剪辑技术创业公司 Runway 合作开发,并得到了黑客组织 EleutherAI和德国非盈利组织 LAION 的支持。

Stable Diffusion不是一个整体模型,它由几个组件和模型组成。首先是文本理解组件(text-understanding component),将文本信息转换成数字表示,以捕捉文本中的想法。其次是图像生成器(image generator),图像生成器包括两步,图像信息创建者( Image information creator)和图像解码器(Image Decoder)。

下图是stable diffusion的一个流程图,包含了上述描述的三个组件,每个组件都有相应的神经网络。

  1. 文本理解组件:Clip Text为文本编码器。以77 token为输入,输出为77 token 嵌入向量,每个向量有768维度。
  2. 图像信息创建者:UNet+Scheduler,在潜在空间中逐步处理扩散信息。以文本嵌入向量和由噪声组成的起始多维数组为输入,输出处理的信息数组。
  3. 图像解码器:自动编码解码器,使用处理后的信息数组绘制最终的图像。以处理后的维度为4x64x64的信息数组为输入,输出尺寸为3x512x512的图像。

在这里插入图片描述
Stable Diffusionv1-v2版本都已开源,SD模型可微调,常见的微调方法:DreamBooth、textual inversion、hypernetwork和LoRA。

Stable Diffusion的图像生成很吃prompt。本来想所有提示词都一样,好对所有模型进行一个效果对比,但是SD的表现太拉跨,所以SD模型只展示有效prompt下生成的最好图片。

提示词图片
In this photography, the rose and mulberry background is set against the backdrop of a misty garden with tiny water droplets glistening on the leaves and petals在这里插入图片描述
a highly detailed and whimsical concept art illustration of a white rabbit cub in a pink and blue school uniform and cute plush hat, sitting on a giant apple made of transparent foam, gl crystals, and cherry blossoms within a magical winter wonderland scene. The rabbit has symmetrical ears, bright big eyes, a sweet smile, and a plump body. The scene has a whimsical and enchanting atmosphere, similar to the art style of Studio Ghibli or Hayao Miyazaki, with soft lighting that creates a magical movie-like atmosphere. The image is rendered in high resolution with Pixar or Unreal Engine rendering software, with exquisite fur details that capture the rabbit’s fluffy texture and realistically recreate the snow-covered landscape.在这里插入图片描述

AltDiffusion

智源研究院首先推出的是双语AltDiffusion,时隔不到一周,智源团队又推出重要升级版 AltDiffusion-m9,全面支持中、英、西、法、日、韩、阿、俄、意等九种不同语言的文图生成任务,后来又推出18种语言文生图模型AltDiffusion-m18。智源团队使用多语言预训练模型和 Stable Diffusion 结合,训练多语言文图生成模型 —— AltDiffusion-m18,支持18种语言的文图生成,包括中文、英文、日语、泰语、韩语、印地语、乌克兰语、阿拉伯语、土耳其语、越南语、波兰语、荷兰语、葡萄牙语、意大利语、西班牙语、德语、法语、俄语。

AltDiffusion使用 AltCLIP(双语CLIP),基于Stable-Diffusion训练了双语Diffusion模型,训练数据来自 WuDao数据集和LAION。AltCLIP 则是 AltDiffusion 模型背后的重要训练技术。利用 OpenAI 发布的预训练的多模态表征模型 CLIP,将其文本编码器更换为预训练的多语言文本编码器 XLM-R(XLM-R是Facebook推出的多语言模型,2.5TB,100种语言,干净的CommonCrawl数据集上训练得到),并通过包含教师学习和对比学习的两阶段训练模式对语言和图像表征进行对齐。这种方法在第一阶段先将其他语言的表征与 CLIP 中的英文表征做对齐,在这个训练阶段不需要多语言的图文对数据,而只需要多语言的平行语料。在第二阶段只需要少量的多语言图文对,就能学到效果很好的多语言图文表征,很大程度上减少了多语言多模态表征模型对于训练数据的依赖。

智源提供体验的平台为flagstudio.,现模型默认是AltDiffusion-m18。包括几十种绘画风格和艺术家风格。AltCLIP-m18模型代码已经在FlagAI/examples/AltCLIP-m18上开源,权重位于modelshub上,此外还提供了微调,推理,验证的脚本

提示词生成的图片1生成的图片2风格
在飘雪和蓝色大片烟雾的环境下,一只毛发细致的巨狼的侧面照在这里插入图片描述在这里插入图片描述写实风格
人间四月芳菲尽,山寺桃花始盛开在这里插入图片描述在这里插入图片描述国画+丰子恺
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome在这里插入图片描述在这里插入图片描述相机

eDiff-I

eDiff-I出自NVIDIA,与其他通过迭代去噪进行图像合成的生成式文转图模型不同,Nvidia的eDiff-I使用一个专门对生成过程的不同区间进行去噪的强大去噪器集合。

eDiff-I的图像合成管道是由三个扩散模型组成——一个低分辨率扩散模型,可以合成64 x 64分辨率的样本,以及两个高分辨率扩散模型,可以分别将图像逐步上采样到256 x 256和1024 x 1024分辨率。eDiff-I用到了两个文本编码器,T5和CLIP,还有CLIP图像编码器,对文本和图像进行编码后,送入级联扩散模型中,逐渐生成分辨率为1024x1024的图像。

eDiff-I没找到开源的GitHub项目,也没找到可试用的网址或者API,只有youtube上eDiff-I的效果展示video。

在这里插入图片描述

阿里通义

阿里文生图模型名称为ModelScope,暂不支持pipeline推理、下载和训练。ModelScope整体参数模型约50亿,支持中英双语输入,输入token最大为500,生成图片尺寸有三种选择,1024:1024,1280:768和768:1280。

在这里插入图片描述

文本到图像生成扩散模型由特征提取、级联生成扩散模型等模块组成。通过知识重组与可变维度扩散模型加速收敛并提升最终生成效果。ModelScope模型分为文本特征提取(CLIP)、文本特征到图像特征生成(Transformer)、级联扩散生成模型(UNet)等子网络组成,训练也是分别进行。

  1. 文本特征提取使用大规模图文样本对数据上训练的CLIP的文本分支得到。
  2. 文本到图像特征生成部分采用GPT结构,是一个width为2048、32个heads、24个blocks的Transformer网络,利用causal attention mask实现GPT预测。
  3. 64x64、256x256、1024x1024扩散模型均为UNet结构,在64x64、256x256生成模型中使用了Cross Attention嵌入image embedding条件。为降低计算复杂度,在256扩散模型训练过程中,随机64x64 crop、128x128 crop、256x256 crop进行了multi-grid训练,来提升生成质量;在1024扩散模型中,对输入图随机256x256 crop。
提示词生成图片
在飘雪和蓝色大片烟雾的环境下,一只毛发细致的巨狼的侧面照在这里插入图片描述
人间四月芳菲尽,山寺桃花始盛开在这里插入图片描述
A young pretty Jewish woman, realistic, 4K, award winning photograph, portrait photography, Kodachrome在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/35092.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电影推荐系统】实时推荐

目录 原因 由于实时性,所以算法设计需要满足一下两点 算法设计 算法实现 算法公式 完整代码 原因 用户对电影的偏好随着时间的推移总是会发生变化的。此时离线系统无法解决,需要实时推荐。 由于实时性,所以算法设计需要满足一下两点 …

Go语言远程调试

Go语言远程调试 1、安装dlv # 安装dlv $ go install github.com/go-delve/delve/cmd/dlvlatest$ dlv version Delve Debugger Version: 1.20.1 Build: $Id: 96e65b6c615845d42e0e31d903f6475b0e4ece6e $2、命令行远程调试 我们远程(Linux服务器)有如下代码: [ro…

自学大语言模型之GPT

GPT火爆的发展史 2017年6月OpenAI联合DeepMind首次正式提出的:Deep Reinforcement Learning from Human Preferences,即基于人类偏好的深度强化学习,简称RLHF 2017年7月的OpenAI团队提出的对TRPO算法的改进:PPO算法 GPT-1&#…

Tomcat的优化多实例部署

目录 一.tomcat核心组件模块 1.2. toncat功能组件结构 二.Tomcat 优化 三.简述Tomcat请求过程 四.Tomcat 多实例部署 多实例部署图示 1.关闭防火墙 拖入软件包 2.安装JDk 设置JDK环境变量 3.解压tomcat 创建目录 4.配置 tomcat 环境变量 5.修改 tomcat2 中的 server.xm…

学习系统编程No.29【线程执行过程之页表详解】

引言: 北京时间:2023/7/3/14:09,刚睡醒,放假在家起床时间确实不怎么好调整,根本固定不了一点,当然通俗点说也就是根本起不来,哈哈哈,已经很少见到那种7点起来码字的情形了&#xff…

UART-GD32

UART-GD32 通信的概念 同步通信和异步通信 数据帧格式 波特率 使用步骤 引脚分布

gitLab配置ssh实现私钥访问

1.配置ssh文件 1.cd C:\Users\用户名\.ssh 找到文件夹 删除.ssh 里面所有其他文件方面我们配置要最新的 2.win r cmd 呼出命令行 ssh-keygen -t rsa -C "必须对应gitLab用户名" 3.生成文件夹拿到ssh 4.复制id_rsa_pub 文件的全部字符串 公钥给到GitLab服务器 2.公…

Spring Boot 中的模板引擎是什么,如何使用

Spring Boot 中的模板引擎是什么,如何使用 在 Web 应用程序中,模板引擎是一种用于动态生成 HTML、XML、JSON 等文档的工具。Spring Boot 内置了多种常见的模板引擎,例如 Thymeleaf、Freemarker、Velocity 等,让我们可以轻松地创建…

线性代数行列式的几何含义

行列式可以看做是一系列列向量的排列,并且每个列向量的分量可以理解为其对应标准正交基下的坐标。 行列式有非常直观的几何意义,例如: 二维行列式按列向量排列依次是 a \mathbf{a} a和 b \mathbf{b} b,可以表示 a \mathbf{a} a和…

Lua学习笔记:浅谈对垃圾回收的理解

前言 本篇在讲什么 Lua的垃圾回收 本篇适合什么 适合初学Lua的小白 本篇需要什么 对Lua语法有简单认知 依赖Sublime Text编辑器 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 ★提高阅读体验★ &#x1f…

3、boostrap图片视频上传展示

boostrap图片视频上传展示 1、展示效果2、html代码 1、展示效果 项目目录结构 2、html代码 html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!--<link rel"st…

记一次 .NET 某工控视觉系统 卡死分析

一&#xff1a;背景 1. 讲故事 前段时间有位朋友找到我&#xff0c;说他们的工业视觉软件僵死了&#xff0c;让我帮忙看下到底是什么情况&#xff0c;哈哈&#xff0c;其实卡死的问题相对好定位&#xff0c;无非就是看主线程栈嘛&#xff0c;然后就是具体问题具体分析&#x…

一起来看看文档翻译哪个好吧

在繁忙的都市生活中&#xff0c;小玲是一位年轻的职场人士。她的工作经常需要处理各种文档和文件&#xff0c;而其中不乏需要与外国合作伙伴交流的时候。然而&#xff0c;她并不熟悉其他语言&#xff0c;这给她的工作带来了一定的困扰。于是&#xff0c;她开始寻找免费的文档翻…

什么是AOP?

目录 一、AOP简介 1、AOP简介和作用 2、AOP的概念 二、AOP的基本实现 三、AOP工作流程 1 、AOP工作流程 2、AOP核心概念 四、AOP切入点表达式 1、语法格式 2、通配符 五、AOP通知类型 1、AOP通知分类 2、AOP通知详解 &#xff08;1&#xff09;前置通知 &#xf…

MySQL-分库分表详解(四)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

【ArcGIS微课1000例】0069:用ArcGIS提取一条线的高程值

本实验讲解用ArcGIS软件,基于数字高程模型DEM提取一条线的高程值并导出。 文章目录 一、加载实验数据二、将线转为折点三、提取折点高程值四、导出高程值五、注意事项【相关阅读】:【GlobalMapper精品教程】060:用dem提取一条线的高程值 一、加载实验数据 本实验使用的数据…

初学者一步步学习python 学习提纲

当学习Python时&#xff0c;可以按照以下提纲逐步学习&#xff1a; 入门基础 了解Python的历史和应用领域安装Python解释器和开发环境&#xff08;如Anaconda、IDLE等&#xff09;学习使用Python的交互式解释器或集成开发环境&#xff08;IDE&#xff09;进行简单的代码编写和…

Seafile搭建个人云盘 - 内网穿透实现在外随时随地访问

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4. 公网访问测试5. 结语 转载自cpolar极点云文章&#xff1a;使用SeaFile搭建…

【电影推荐系统】基于 ALS 的协同过滤推荐算法

目录 目的 用户电影推荐矩阵主要思路如下 1 UserId 和 MovieID 做笛卡尔积&#xff0c;产生&#xff08;uid&#xff0c;mid&#xff09;的元组 2 通过模型预测&#xff08;uid&#xff0c;mid&#xff09;的元组。 3 将预测结果通过预测分值进行排序。 4 返回分值最大的 …

elk中kibana使用

1.前言 kibana是一款作为elasticsearch可视化的一款软件&#xff0c;将elasticsearch中的数据以可视化的状态展现出来&#xff0c;kibana也提供了查询、统计、修改索引等功能 2.kibana使用 索引管理 在索引管理中&#xff0c;可以看到所有索引的状态、运行状况、主分片、副本…