AI绘画必看,一次弄懂所有技术名词 | Stable Diffusion、Midjourney、Dall-E 、Lora、ControlNet……

本文介绍了AI绘画领域的Text-to-Image技术,重点讲解了Stable Diffusion和DALL-E算法,以及相关的AI绘图工具,如Midjourney和NovelAI。文章详细阐述了这些算法的工作原理和应用,并探讨了模型训练中的关键概念,如Embedding、Hypernetwork和ControlNet,为读者提供了一站式的AI绘画技术指南。
摘要由CSDN通过智能技术生成

目录

前言

一、文生图(Text-to-Image)技术

 Stable Diffusion(稳定扩散)算法介绍

Dall-E 算法介绍

二、AI 绘图工具介绍

Midjourney 介绍

Dall-E 介绍

Stable-Diffusion-WebUI 介绍

NovelAI 介绍

NovelAI的使用方法

Disco Diffusion 介绍

其他AI绘图软件介绍

NijiJourney

Waifu Diffusion

Leonardo AI、BlueWillow AI、PlaygroundAI

三、模型训练介绍

模型训练算法

Stable Diffusion 

Embedding

 Hypernetwork

Dreambooth

 LoRA (Low-Rank Adaptation of Large Language Models)

ControlNet

VAE

结语


前言

AI绘图作为人工智能技术的一种应用,最近一段时间受到人们的广泛关注,这得益于Midjourney、 Stable Diffusion、Dall-E等一批软件或算法的快速推广应用,特别是从2022年8月的Stable Diffusion模型开源开始,对于新手朋友来说,面对这些极具震撼的AI绘图,大家一方面急于了解绘图软件的使用与技巧,另一方面,面对纷繁复杂的AI绘图相关的名词术语,如Lora、ControlNet、Dream booth等,一时茫然不知如何开始学习,博主也跟你们有同样的困惑,通过大量收集资料整理出了这一篇博文。

我将从以下几个方面展开介绍,包括时下最流行的AI绘图工具和模型训练方法,不涉及特别复杂的公式,力求帮大家理清这些名词所表达的真实含义,以及如何将这些技术应用在AI绘图上,那么让我们开始吧。


一、文生图(Text-to-Image)技术

Text-to-Image,是一种基于自然语言描述生成图像的技术, 也称为文生图

它的发展历程可以追溯到20世纪80年代,随着深度学习技术的发展,特别是卷积神经网络CNN和循环神经网络RNN的出现, Text-to-Image技术开始采用神经网络模型进行训练和生成

 GAN和VAE算法, 是最早被应用于Text-to-Image任务的算法

随着计算机硬件和算法的发展, 出现了像Stable Diffusion和Dall-E 这些比较新的算法, 相比于GAN和VAE等传统算法, 其在生成高分辨率, 高质量图片方面表现更为优异

 

  •  Stable Diffusion(稳定扩散)算法介绍

Stable Diffusion(稳定扩散),是基于Diffusion Probabilistic Models(DPM)的改进版本,DPM是一种概率建模方法,其目的是根据初始状态的噪声扰动,如下图,模型一开始会生成一张初始状态的噪声图像,在运算的过程中逐步消除噪声,将图像转换为目标图像,这也是我们在进行Stable Diffusion绘图时候,首先需要指定一个噪声,采样方式和采样步长的原因

Stable Diffusion由Stability AI、CompVis和Runway合作发布, 2022年8月Stability AI宣布Stable Diffusion所有代码都在github上公开, 任何人都可以拷贝使用,该模型从包含有15亿个图像文本对公开的LAION-Aesthetics数据集中获取数据进行训练的, 在亚马逊网络服务上, 使用256个NVIDIA A100 GPU进行训练, 总共花费了15万个GPU小时, 成本为60万美元

  • Dall-E 算法介绍

Dall-E是Open AI公司于2021年1月发布的一种基于Transformer和game的文本到图像生成算法,并使用了大规模的预训练技术和自监督学习方法,Dall-E的训练集包括了超过250万张图像和文本描述的组合,算法的灵感来源于2020年7月Open AI发布的GPT-3模型,这是一种可以生成具有语言能力的人工智能技术,Dall-E通过将GPT-3的思想应用于图像生成,从而实现了文本到图像的转换,2022年2月Open AI发布了Dall-E 2,相比于上一版本Dall-E 2生成的图像的质量更高,而且可以生成更加复杂和多样化的图像,Dall-E 2的训练集包括了超过一张图像和文本描述的组合,比Dall-E的训练集大了40倍,当前Dall-E算法并未开源,但已经有人尝试创建Dall-E的开源实现,例如Dall-E mini,于2022年在Hugging Face的空间平台上发布 

当前大部分ai绘图软件都是基于Stable Diffusion,Dall-E算法或类似或衍生算法进行开发的, 特别是已经开源的Stable Diffusion算法


二、AI 绘图工具介绍

下面我们来介绍与之相关的AI绘图软件, 都是我们常见且广泛在使用的软件, 包括Midjourney、Dall-E、Stable Diffusion、Novel AI、Disco Diffusion

  • Midjourney 介绍

Midjourney是一个独立的研究实验室, 由Leap Motion的联合创始人David Holz创立, 他们以相同的名称制作一个人工智能程序, 也就是我们常听到的Midjourney, Midjourney绘图软件, 于2022年7月12日进入公开测试阶段, 当前Midjourney尚未开源, 但据说底层技术是基于Stable Diffusion算法开发, 用户只能通过Discord的机器人指令进行操作

Discord是一个在线聊天和语音交流平台, 你可以把它理解成我们常用的qq聊天工具, Midjourney官方提供了一个Discord机器人, 用户可以在Discord中添加该机器人, 进入指定的服务器进行绘图操作

具体方法是登录Discord, 进入一个添加了Midjourney bot的服务器, 在聊天框里输入Imagine, 紧接着输入绘图指令即可, Midjourney基本上是零成本学习, 操作非常的简单, 并且生成的图片非常有艺术感, 是一个以艺术风格闻名的绘图工具, 任意输入一个关键词都能获得相对满意的绘图结果, 绘图者们只需专注于设计出好玩实用的绘图指令, 而无需把过多精力放在软件操作本身。但是使用成本相对较高, 由于未开源, 很多时候生成的图片, 无法满足使用者的特定需求, 需要通过寻找合适的关键词才能实现, 这使得其流行程度低于后面将要介绍的Stable Diffusion

  • Dall-E 介绍

正如之前介绍的, Dall-E是Open AI旗下的一款AI绘图工具软件, 与ChatGPT同属于一个公司, 最新版Dall-E 2是Dall-E的升级版, 于2022年2月发布

使用时, 我们需要访问Open AI的网站, 并进行账户注册和登录, 注册后, 用户可以在Dall-E的输入框中, 输入自己想要生成的图片的文字描述, 然后点击生成按钮, Dall-E就会根据这些文字描述, 生成一张或多张图片并显示在屏幕上

Dall-E允许用户上传自己的图片, 标记图像中的区域进行进一步的编辑和修改, Dall-E还会根据已有图像的视觉元素, 对图像进行二次加工, 延展图片边界, Dall-E是免费使用的, 但不是无限次使用, 用户在注册的第一个月, 可以获得50个免费积分, 每月可以获得15个积分, 每张图片花费一个积分, 如果需要更多图像就需要付费, 当前Dall-E算法并未开源, 但根据Open AI公司的官方声明, 他们致力于推动人工智能技术的发展和普及, 希望将AI技术带给更多人, 并且倡导开放源代码, 鼓励开发者分享技术, 因此我们可以期待, Dall-E的使用方式也会符合这一理念

  • Stable-Diffusion-WebUI 介绍

Stable Diffusion是需要重点关注的AI绘图工具, 因为它的代码和模型权重已经由Stability AI公司公开发布, 任何人都可以拷贝使用, 因此Stable Diffusion既是算法也是模型, 开源的Stable Diffusion最大好处是你可以免费使用它, 自由的修改优化算法, 更好的适配自己的需求, 于是大量用户下载Stable Diffusion的源代码, 通过各种方式在自己的电脑内本地部署, 使用环境

Stable Diffusion使用Python编写, 本地部署需要安装Python运行环境。但对于普通的使用者来说, 操作Python也要求具备一定的编程技术门槛。令人兴奋的是, 网上出现了许多一件式的安装包, 供用户快速搭建Stable Diffusion的环境, 这些安装包不仅包含了Python运行环境, 还集成了Stable Diffusion的相关依赖库和代码, 用户只需要简单的几步操作, 就可以完成Stable Diffusion的部署和使用

目前最流行的工具包是github上AUTOMATIC1111用户创建的stable-diffusion-webui

它是基于radio库的浏览器界面交互程序, 安装前需要下载python 3.10.6和git, 通过git一键下载stable-diffusion-webui代码库, 并自动配置所需要python环境, 最后点击web-user.bat, 在浏览器中输入地址就可以使用

需要注意的是, stable-diffusion-webui只是运行Stable Diffusion的可视化界面, 就如一辆车子缺乏发动机, 我们还需要从Stability AI的huggingface官网下载Stable Diffusion模型才能开始运行绘图

目前最新的Stable Diffusion的版本是2.1, 但二点以上版本砍掉了NSFW内容和艺术家关键词, 相当于封印了很多能力, 似乎有了退步的意味, 大家更愿意使用早期的1.4或1.5版本

除了Stable Diffusion的官方版本, 我们还可以从civitai.com网站下载许多基于Stable Diffusion算法训练出的模型, civitai.com也被粉丝们亲切的称为C站

下载后的模型放入指定位置就可以开始绘图了

你可以在stable-diffusion-webui中, 通过文本生成图片或者用图片生成图片, 你可以像Dall-E一样局部修改图像内容, 你还可以训练自己喜欢的模型

 本地运行Stable Diffusion对电脑的显卡要求很高, 并不是所有gpu都可以轻松胜任, 最好选择一块8g及以上显存的显卡, 而且需要是N卡才行, 如果你的电脑达不到配置要求也没关系。Stability AI官方提供了一个Stable Diffusion线上版本dreamstudio, 所有人注册账号就可以在网页上使用, 但需要付费, 每个新注册的用户都能免费获赠价值两英镑的200个点数, 每次标准生成耗费一个点数

  • NovelAI 介绍

NovelAI是由美国特拉华州的Anlatan公司开发的云端软件, 于2021年6月15日推出测试版, 一开始主要功能是辅助故事写作, 2022年10月三日NovelAI推出图像生成服务, 由于NovelAI生成二次元图片效果出众, 所以大家印象中NovelAI是个二次元图像生成网站

 

NovelAI的图像生成模型是使用八个NVIDIA A100 GPU, 约530万张图片的数据集上训练而得到的, 其底层算法也是基于Stable Diffusion模型微调而来的

NovelAI的使用方法

登录官方网站, 进入图像生成界面, 输入关键字生成图像即可, NovelAI官网使用是需要收费的。 NovelAI在推出图像生成服务后备受争议, 受到众多画师的抵制, 推出仅几天后, NovelAI便发生了数据泄露, 其服务员代码被指泄露

如果你从网上下载了NovelAI的模型, 同样可以在stable-diffusion-webui中使用它, 你一定听过Naifu或Naifu-Diffusion这类称呼, 就是指代NovelAI被泄露的一系列二次元模型, Naifu-WebUI是基于NovelAI被泄露的代码制作的类似于NovelAI官网的可视化界面, Naifu-WebUI不是开源项目, 大家见到的版本往往封装过多, 直接运行可能有病毒风险, 建议直接使用stable-diffusion-webui, 来运行NovelAI模型

  • Disco Diffusion 介绍

Disco Diffusion是发布于Google Clap平台的一款利用人工智能深度学习进行数字艺术创作的工具, 相比于前面介绍的几款软件, 它是最早流行起来的AI绘图工具, Disco Diffusion源码完全公开免费使用, 可以在谷歌云端电脑Google Drive直接运行, 因此它对你的电脑配置没有任何要求, 有浏览器就能运行

从名字就可以看出Disco Diffusion同样是基于Diffusion扩散模型开发的, 在Stable Diffusion未推出之前它是最受欢迎的扩散模型, 但由于Disco Diffusion在绘制人形上表现不是很好, 而且出图慢, 通常生成一张图需要十几20分钟, 所以在Stable diffusion推出之后Disco Diffusion便逐渐受到冷遇

  • 其他AI绘图软件介绍

    • NijiJourney

      • Spellbrush和MidJourney合作的一款专门针对二次元的AI绘画软件
      • 使用方法与MidJourney基本相同, 登录Discord输入相应绘图指令即可
      • 还处于内测阶段, 作图是免费的, 版权暂时无明确表示, 等正式公测, 预计付费用户可以获得商用权利
    • Waifu Diffusion

      • 基于扩散模型的二次元AI绘图模型
      • 绘图风格与NovelAI十分相似
      • 模型是Trinart Derrida和Eimis Anime Diffusion两个模型合并的结果
    • Leonardo AI、BlueWillow AI、PlaygroundAI

      • 比较新,与MidJourney相似
      • 无需科学上网
      • 免费
      • 具有MidJourney不具备的图像延展等图像编辑功能
      • 需申请才能使用,绘图效果留待进一步观察

三、模型训练介绍

下面来介绍一下与模型训练相关的名词, 这些名词包括Embedding, Hypernetwork, Dreambooth, Lora和ControlNet

模型训练算法

Embedding、Hypernetwork、Dreambooth、Lora都是模型训练算法, 它们都可以在stable-diffusion-webui中进行训练后使用, 且他们都属于大模型的微调技术

AI大模型也称为基础模型Foundation Model, 开发者将海量数据导入具有几亿量级甚至10万亿量级参数的模型中, 采用人工智能算法进行训练, Stable Diffusion, NovelAI等模型均属于大模型, 这类大模型普遍的特点是参数多训练时间长, 具备泛化性、通用性、实用性,适用于各种场景的绘图, 这类AI大模型也存在一个普遍的缺点, 就是无法满足对细节控制或特定人物, 特定绘图风格的绘图需要

你可能会想要自己训练大模型, 很遗憾的是, 即便我们掌握了算法知识, 训练一个好的AI绘图模型需要强大的计算资源, 这些计算资源对于普通人来说过于昂贵, 例如Stable Diffusion在亚马逊网络服务上使用256个NVIDIA  A100 GPU进行训练, 总共花费了15万个GPU小时成本为60万美元

于是针对这些大模型的微调技术应运而生, 为了达到绘制特定人物或特定绘图风格的需要, 我们不需要重新训练大模型, 只要提供几张图片, 普通的4g显卡几个小时的时间就可以实现

Stable Diffusion 

如何进行模型微调呢, 我们需要先来简单了解一下Stable Diffusion的模型结构, 把Stable Diffusion拆解后有如下几个结构, 模型在训练时候输入的训练图像, 先通过Encoder模块编码进行降维, 例如从512x512降到64x64, 以降维后的图像进行训练就会快很多, 输入的文本的长度是不固定的, 通过Text Coder文本编码器, 一般是Clip模型转变成固定长度的矢量, 才可以进行运算, 二者组合后输入UNET网络进行训练, 训练后的图像在用Decoder解码后, 变回512x512的图像

生成图像时候, 只需要带入一个初始化了的噪声图像和文本, 二者组合后输入UNET网络进行去噪, 最后通过Decoder还原成清晰的图像 

Embedding

Text Coder就像一本词典, 输入文本后Text Coder能快速查找到符合要求的词向量, 那如果出现新的关键词, Text Coder上找不到该怎么办呢, 这就是Embedding算法要做的事情, 它通过训练在Text Coder中找到与新的词特征, 风格相同的词向量, 例如这个麒麟训练后可以看作龙羊虎的组合

 Embedding算法不改变大模型的基本结构也不改变Text Coder, 所以就能达到微调模型的目的

  • 总结:
    • 对于复杂的词汇的调整结果不太好
    • 定义人物需要的关键词少,适用于人物训练
    • 模型较小,一般几十KB

 Hypernetwork

Hypernetwork是作用在U-NET网络上的UNIT神经网络,相当于一个函数, 内部有非常多的参数, Hypernetwork通过新建一个神经网络称之为超网络, 超网络的输出的结果是UNIT网络的参数, 超网络不像UNIT, 它参数少, 所以训练速度比较快, 因此Hypernetwork能达到以较小时间空间成本微调模型的目的

  • 总结:
    • 会影响整个U-NET的参数生成
    • 理论上更适合风格的训练
    • 模型较小,一般几十M

Dreambooth

Dreambooth是google在2022年8月, 提出的一种新的网络模型, 它的强大之处在于, 能完整地保留你想要关键视觉特征, 例如图中最左边的黄色闹钟, 上面一个醒目的黄色的三, 采用Dreambooth生成的新图像, 可以准确还原这个图像, 像最右边这样, 这需要模型能够准确识别物体的细节

只需提供三至五张的图像和文本提示作为输入, 就可以达到很好的效果, Dreambooth要求同时提供特征词加类别和类别, 文本图片信息代入模型进行训练, 例如a dog和a[V] dog, 这样做的好处是既可以保留类别的原始信息, 又可以学习到特征词加类别的新的信息

  •  总结:
    • 完整保留你想要的关键视觉特征
    • 只需3-5张图像和文本提示词作为输入
    • 更适合于人物训练
    • 改版的Dreambooth方法Native Train适合于风格训练
    • 训练后的模型大小与大模型基本一致

 LoRA (Low-Rank Adaptation of Large Language Models)

LoRA是微软研究员引入的一项新技术, 是对大模型的微调, LoRA建议冻结预训练模型的权重并在每个Transformer块中注入可训练层, 由于不需要对模型的权重参数重新计算梯度所以大大减少了需要训练的计算量, 简单来说LoRA的工作是调整局部的一些模型参数, 这样的好处是大大减少了需要训练参数的数量, 并且降低了对GPU的显存要求

LoRA模型为我们提供了更便捷更自由的微调模型, 能够使我们在基本模型的基础上进一步指定整体风格, 指定人脸等等, 而且LoRA模型非常的小, 即插即用, 使用起来非常的方便

  • 总结:
    • 微软研究员开发
    • 仅调整局部参数
    • 模型小,即插即用

ControlNet

ControlNet是当前最受关注的AI绘图算法之一, ControlNet也是一种神经网络结构, 通过添加额外的条件来控制基础扩散模型, ControlNet可以控制你想要生成图像的构图方式或者人物的姿势, 满足对细节控制的需要, 并且结合文生图的操作还能实现线稿转全彩图的功能

ControlNet出现的意义在于, 不需要再通过大量关键描述词的堆叠可以实现你想要的构图效果, 很多时候, 即使用大量的关键词生成的效果也不尽如人意, 借助ControlNet可以在扩散模型生成图片的一开始就引导它往你需要的构图方向上走

  • 总结:
    • 最受关注的算法之一
    • 一种神经网络结构
    • 通过添加额外的条件来控制基础扩散模型
    • 生成图片的一开始就引导它往你需要的构图方向上走

VAE

最后我们再来简单介绍一下Vae模型在Stable Diffusion中的作用, 正如我们之前介绍的Stable Diffusion在训练时会有一个编码Encoder和解码Decoder的过程, 我们将编码和解码模型称为Vae模型(预训练的模型), 如官网下载的Stable Diffusion模型一般都是内置了训练好的Vae模型的, 不用我们再额外挂载, 但有些大模型并不内置Vae模型或者Vae模型经过多次训练融合不能使用了, 就需要额外下载, 并在stable-diffusion-webui中添加设置, 如果不添加, 出图的色彩饱和度可能会出问题, 发灰或变得不清晰


结语

感谢大家的耐心阅读, 希望本文能帮助你们对AI绘图技术的相关软件与术语有更深入的了解, 对于刚入门的朋友来说Midjourney和Stable Diffusion都是不错的选择, Midjourney操作非常简单并且出图精美, 绘图者们只需专注于设计出好玩实用的绘图指令就可以, Stable Diffusion开源免费可塑性强,能更好的适配自己的需求。当前众多模型训练算法都是基于Stable Diffusion开发的, 基本上现阶段的所有AI绘图的玩法, 你都能在stable-diffusion-webui中实现, 博主和大家一样, 也是AI绘图技术的爱好者, 我将持续关注这一领域的发展。

在总结的过程中难免有错漏之处, 还请大家多多包涵, 可以在留言告诉我, 如果您觉得这期博文有帮助, 记得分享给您的朋友, 如果你想学习更多更好玩的AI绘图技巧, 记得关注我哟, 我们下次再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒TBOSH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值