论文地址:https://arxiv.org/pdf/2112.10752
github地址:https://github.com/CompVis/stable-diffusion
Stable Diffusion网络架构
#Stable Diffusion主要工作流:
文本编码器(Text Encoder)首先将用户输入的提示词(Prompt)转换为语义向量,这些语义向量携带着文本信息的精髓,为后续的图像生成提供指导。
为降低计算复杂度并提取图像的核心特征,采用变分自编码器(VAE)将高维度的图像数据压缩到一个低维度的潜在空间。这个潜在空间是图像信息的精简表示,为后续的处理提供了便利。
在潜在空间中,模型通过逐步添加噪声来模拟物理中的扩散现象。这个过程使得图像的特征逐渐模糊,最终转化为完全随机的噪声分布。该步骤是后续噪声预测和图像恢复提的基础。
在训练阶段,采用U-Net结构的神经网络作为噪声预测器,该网络通过学习如何从噪声图像中恢复出原始图像来训练自己,从而具备预测潜在空间中图像噪声的能力。
在生成阶段,模型利用训练好的噪声预测器来估计潜在空间中图像的噪声,并逐步去除这些噪声。通过这一过程,模型能够从噪声中恢复出清晰的图像,实现图像的生成。
SD模型通过提示词来引导图像的生成。这些提示词首先被分词且转换为嵌入向量,再将向量输入到噪声预测器中,以指导整个图像生成过程。这种条件生成机制确保了生成的图像与提示词的内容高度匹配。
最后,潜在空间中的图像通过VAE的解码器被转换回原始的像素空间,生成最终的图像。这一步骤将潜在空间中的图像信息还原为可视化的图像。
#CLIP Text Encoder模型:
在SD模型中前置引入CLIP Text Encoder模块,该模块负责将输入的文本信息编码成Text Embeddings特征矩阵,这一矩阵紧密关联并反映了文本信息的核心内容。随后,这些Text Embeddings被用作SD模型的控制信号,指导图像的生成过程,确保生成的图像与输入的文本信息高度匹配。
#VAE模块:
VAE的Decoder组件则承担着重建任务,它能够将这个低维的Latent特征逆向映射回原始的像素级图像,实现图像的高质量还原。
#正向扩散与反向扩散:
· 正向扩散过程(Forward Diffusion Process):是一个逐步向图像添加高斯噪声的过程,直至图像最终转变为近乎纯粹的随机噪声矩阵。这一过程模拟了信息从清晰图像向无序状态的自然过渡。
· 反向扩散过程(Reverse Diffusion Process):则是一个去噪过程。它从一个随机噪声矩阵起始,通过一系列迭代步骤,逐步减少并去除噪声,直至最终恢复并生成一张清晰、有意义的图像。这一过程体现了从无序向有序、从潜在空间向可观察图像空间的逆向映射。
#图像生成:
在SD模型中,U-Net的迭代优化过程通常包含大约50到100个Timestep。随着迭代步数的增加,Latent Feature(潜在特征)的质量逐步提升,表现为纯噪声的减少以及图像和文本语义信息的增加。这一过程确保了生成图像的高质量和与输入文本的高度一致性。
结合大模型通用知识及在交通、社会治理、安全生产、自然资源等行业领域的知识,深入业务场景,精确捕获用户意图,为用户提供智能问答、数据分析、报表生成、工作任务理解与执行等一系列服务
📞若您有相关需求,欢迎点击下方链接与我们沟通洽谈
🗨️也可以在公众号后台给我们留言