Stable Diffusion 是由初创公司 Stability AI、CompVis 与 Runway 合作开发的。其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的 Patrick Esser 以及慕尼黑大学机器视觉学习组的 Robin Romabach。该项目的技术基础主要来自于他们之前在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)研究。
Stable Diffusion 是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像。其原理包括使用新颖的文本编码器(OpenCLIP)将文本输入转换为向量表示,利用扩散模型将随机噪声图像逐渐变换为目标图像,在扩散过程中以文本向量和噪声图像作为条件输入给出变换概率分布,最后使用超分辨率放大器将生成的低分辨率图像放大到更高分辨率。
Stable Diffusion 总共有 1B 左右的参数量,可以用于文生图、图生图、图像 inpainting、ControlNet 控制生成、图像超分等丰富的任务。其代码模型权重已公开发布,可以在大多数配备有适度 GPU 的电脑硬件上运行,当前版本为 2.1 稳定版(2022.12.7),源代码库为 github.com/Stability-AI/stablediffusion 。
AIGC:AI generated content,又称为生成式AI,意为人工智能生成内容。例如AI文本续写,文字转图像的AI图、AI主持人等,都属于AIGC的应用。类似的名词缩写还有UGC(普通用户生产),PGC(专业用户生产)等。能进行AIGC的产品项目也很多,能进行AIGC的媒介也很多包括且不限于语言文字类:OpenAI的GPT,Google的Bard,百度的文心一言,还有一种国内大佬下场要做的的LLM都是语言类的。语音声音类:Google的WaveNet,微软的Deep Nerual Network,百度的DeepSpeech等,还有合成AI孙燕姿大火的开源模型Sovits。图片美术类:早期有GEN等图片识别/生成技术,去年大热的扩散模型又带火了我们比较熟悉的、生成质量无敌的Midjourney,先驱者谷歌的Disco Diffusion,一直在排队测试的OpenAI的Dalle·2,以及stability ai和runaway共同推出的Stable Diffusion...[heading1]SD是什么?[content]SD是Stable Diffusion的简称。是它是由初创公司StabilityAI、CompVis与Runway合作开发,2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像。Stable Diffusion是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model;LDM)。SD的代码模型权重已公开发布,可以在大多数配备有适度GPU的电脑硬件上运行。当前版本为2.1稳定版(2022.12.7)。源代码库:github.com/Stability-AI/stablediffusion我们可以通过一系列的工具搭建准备,使用SD进行想要的图片aigc(心想事成的魔法施与)。
Stable Diffusion核心技术来源于AI视频剪辑技术创业公司Runway的Patrick Esser,以及慕尼黑大学机器视觉学习组的Robin Romabach。该项目的技术基础主要来自于这两位开发者之前在计算机视觉大会CVPR22上合作发表的潜扩散模型(Latent Diffusion Model)研究。Stable diffusion是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像。Stable diffusion的原理可以分为以下几个步骤:1.stable diffusion使用一个新颖的文本编码器(OpenCLIP),由LAION开发并得到Stability AI的支持,将文本输入转换为一个向量表示。这个向量表示可以捕捉文本的语义信息,并与图像空间对齐。2.stable diffusion使用一个扩散模型(Diffusion Model),将一个随机噪声图像逐渐变换为目标图像。扩散模型是一种生成模型,可以从训练数据中学习出一个概率分布,并从中采样出新的数据。3.在扩散过程中,stable diffusion利用文本向量和噪声图像作为条件输入,给出每一步变换的概率分布。这样,stable diffusion可以根据文本指导噪声图像向目标图像收敛,并保持图像的清晰度和连贯性。4.最后,stable diffusion使用一个超分辨率放大器(Upscaler Diffusion Model),将生成的低分辨率图像放大到更高的分辨率。超分辨率放大器也是一个扩散模型,可以从低分辨率图像中恢复出细节信息,并增强图像质量。通过以上步骤,Stable diffusion可以实现从文本到图像的生成,并且具有以下优点:-stable diffusion可以处理任意领域和主题的文本输入,并生成与之相符合的多样化和富有创意的图像。-stable diffusion可以生成高达2048x2048或更高的分辨率的图像,并且保持了良好的视觉效果和真实感。
Stable Diffusion(SD)模型是由Stability AI和LAION等公司共同开发的生成式模型,总共有1B左右的参数量,可以用于文生图,图生图,图像inpainting,ControlNet控制生成,图像超分等丰富的任务,本节中我们以文生图(txt2img)和图生图(img2img)任务展开对Stable Diffusion模型的工作流程进行通俗的讲解。文生图任务是指将一段文本输入到SD模型中,经过一定的迭代次数,SD模型输出一张符合输入文本描述的图片。比如下图中输入了“天堂,巨大的,海滩”,于是SD模型生成了一个美丽沙滩的图片。SD模型的文生图(txt2img)过程而图生图任务在输入本文的基础上,再输入一张图片,SD模型将根据文本的提示,将输入图片进行重绘以更加符合文本的描述。比如下图中,SD模型将“海盗船”添加在之前生成的那个美丽的沙滩图片上。SD模型的图生图(img2img)过程那么输入的文本信息如何成为SD模型能够理解的机器数学信息呢?很简单,我们需要给SD模型一个文本信息与机器数据信息之间互相转换的“桥梁”——CLIP Text Encoder模型。如下图所示,我们使用CLIP Text Encoder模型作为SD模型中的前置模块,将输入的文本信息进行编码,生成与文本信息对应的Text Embeddings特征矩阵,再将Text Embeddings用于SD模型中来控制图像的生成: