https://blog.csdn.net/jarodyv/article/details/129387945?spm=1001.2100.3001.7377&utm_medium=distribute.pc_feed_blog_category.none-task-blog-classify_tag-1-129387945-null-null.nonecase&depth_1-utm_source=distribute.pc_feed_blog_category.none-task-blog-classify_tag-1-129387945-null-null.nonecase
2022年绝对是人工智能爆发的元年,前有 stability.ai 开源 Stable Diffusion 模型,后有 Open AI 发布 ChatGPT,二者都是里程碑式的节点事件,其重要性不亚于当年苹果发布iPhone,Google推出Android。它们让AI不再是一个遥不可及的技术名词,而是触手可及、实实在在的智能应用工具。
不同于ChatGPT可以直接体验,Stable Diffusion需要自己部署后才能使用,所以国内了解的人还不多。但Stable Diffusion绝对是AI图像生成领域的ChatGPT级的杀手产品——它使用超级简单、完全开源免费,生成的图片以假乱真、震惊四座。今天,我将用万字保姆级教程教你如何一步一步在本地运行起Stable Diffusion,并手把手教你如何生成以假乱真的AI生成图片。
Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像!
Stable Diffusion将“图像生成”过程转换为逐渐去除噪声的“扩散”过程,整个过程从随机高斯噪声开始,经过训练逐步去除噪声,直到不再有噪声,最终输出更贴近文本描述的图像。这个过程的缺点是去噪过程的时间和内存消耗都非常大,尤其是在生成高分辨率图像时。Stable Diffusion引入潜在扩散来解决这个问题。潜在扩散通过在较低维度的潜在空间上应用扩散过程而不是使用实际像素空间来减少内存和计算成本。
与DALL·E和Midjourney相比,Stable Diffusion最大的优势是开源,这就意味着Stable Diffusion的潜力巨大、发展飞快。Stable Diffusion已经跟很多工具和平台进行了集成,且可用预训练模型数量众多(参见Stable Diffusion资源列表)。正是由于社区的活跃,使得Stable Diffusion在各种风格的图像生成上都有着出色的表现,随便给大家看几张我生成的图片:
ChilloutMix生成的写实韩风小姐姐
SynthwavePunk生成的国风小姐姐
InkPunk Diffusion生成的泼墨油彩风格的布偶猫
为了方便大家更好地理解后面的内容,下面对Stable Diffusion中的几个核心概念做简单的说明。Stable Diffusion的详细原理请参考《Stable Diffusion原理详解》。
自动编码器 (VAE) 由两个主要部分组成:编码器和解码器。编码器会将图像转换为低维潜在表示(像素空间–>潜在空间),该表示将作为输入传递给U_Net。解码器做的事情刚好相反,将潜在表示转换回图像(潜在空间–>像素空间)。