一,Stable Diffusion模型原理

目前开源的最火爆的AI绘画系统是 Stable Diffusion 模型(稳定扩散模型)。

可以完成 text2img, img2img, depth2img【深度图转图像】, seg2img【语义分割图转图像】 等基于提示信息【prompt】的图画创作功能。

其核心原理简要总结如下:

1,通过Attention机制引入text /semantic_map/ input_image ...等控制信息。--> 构图

2,在Attention控制下通过UNet模型在隐空间通过反向扩散机制从初始的噪声中一步一步(通常20到50步)清洗噪声生成隐空间图片信息(Latent Diffusion Model过程)。--> 底片

3,最后通过 AutoDecoder 从隐空间的图片信息还原成高清图片。--> 成片

从易到难的详细原理参考:

《零基础读懂Stable Diffusion》 https://zhuanlan.zhihu.com/p/597247221 (zero mathematics)

《Stable Diffusion原理解读》 https://zhuanlan.zhihu.com/p/583124756 (some mathematics)

《当我们谈论Text-to-image:Stable Model》https://zhuanlan.zhihu.com/p/550967884 (heavy mathematics)

公众号后台回复关键词:StableDiffusion 获取本文源代码和B站视频演示。

二,在线体验方法

英文原始: https://huggingface.co/spaces/runwayml/stable-diffusion-v1-5

百度中文:https://wenxin.baidu.com/ernie-vilg?curtype=exp

太乙中文:https://huggingface.co/spaces/IDEA-CCNL/Taiyi-Stable-Diffusion-Chinese-Webui

各种风格:https://civitai.com/

三,在Kaggle中体验

!pip install diffusers
!pip install transformers

1,text2img

from PIL import Image
import torchfrom diffusers import (StableDiffusionPipeline,StableDiffusionImg2ImgPipeline,StableDiffusionInpaintPipeline
)device=torch.device('cuda' if torch.cuda.is_available() else 'cpu')#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1"
#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-EN-v0.1"
#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1" #漫画头像
#model_id = "CompVis/stable-diffusion-v1-4"
#model_id = "runwayml/stable-diffusion-v1-5"
model_id = "stabilityai/stable-diffusion-2-1"pipe_text2img = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to(device)
width = 960
height = 680
guide = 7
steps = 20prompt = "a moutain full of flowers and snows"
#prompt = "Bejing Autumn"
#prompt = 'shanghai night'
#prompt = 'a dog is runing after a mouse'
#prompt = 'a little girl is smiling with a cat'negative_prompt = None
output = pipe_text2img(prompt = prompt, negative_prompt=negative_prompt,width=width, height=height,guidance_scale=guide, num_inference_steps=steps)
out_img = output.images[0]
out_img

2,img2img

from PIL import Image
import torchfrom diffusers import (StableDiffusionPipeline,StableDiffusionInpaintPipeline
)device=torch.device('cuda' if torch.cuda.is_available() else 'cpu')#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1"
#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-EN-v0.1"
#model_id = "IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1"
#model_id = "CompVis/stable-diffusion-v1-4"
#model_id = "runwayml/stable-diffusion-v1-5"
model_id = "stabilityai/stable-diffusion-2-1"pipe_img2img = StableDiffusionImg2ImgPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to(device)
strength = 0.5
revise_prompt = "there is a water fall"
revised_output = pipe_img2img(revise_prompt, image=out_img, strength=strength, guidance_scale=guide, num_inference_steps=steps)
revised_output.images[0]

3,pix2pix

import PIL
import requests
import torch
from diffusers import StableDiffusionInstructPix2PixPipeline, EulerAncestralDiscreteSchedulermodel_id = "timbrooks/instruct-pix2pix"
pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained(model_id, torch_dtype=torch.float16, safety_checker=None)
pipe.to("cuda")
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)def download_image(url):image = PIL.Image.open(requests.get(url, stream=True).raw)image = PIL.ImageOps.exif_transpose(image)image = image.convert("RGB")return image
url = "https://raw.githubusercontent.com/timothybrooks/instruct-pix2pix/main/imgs/example.jpg"image = download_image(url)
image

#prompt = "turn him into cyborg"
#prompt = "turn him into oil painting"
#prompt = "let he in the wild, green grass"
#prompt = "a flower in his left hand"
#prompt = "let he wear a coat"
prompt = "let he wear a cap on the head"
images = pipe(prompt, image=image, num_inference_steps=10, image_guidance_scale=1.0).images
images[0]

公众号后台回复关键词:StableDiffusion 获取本文源代码和B站视频演示。

Stable Diffusion绘画入门相关推荐

  1. Apple官方优化Stable Diffusion绘画教程

    Apple官方优化Stable Diffusion绘画教程 苹果为M1芯片优化Stable Diffusion模型,其中Mac Studio (M1 Ultra, 64-core GPU)生成512* ...

  2. Stable Diffusion使用入门教程

    本文参考bilibili的链接:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilib ...

  3. Stable Diffusion 绘画初探 chilloutmix模型 人物画像首选

    AI绘画发展以来出现了很多优质的平台,Stable Diffusion是普通大众最爱的之一,比起MJ来讲,它是现在愿意动手的人的首选,在这里要首先感谢GITHUB上的一众开源大佬. AI绘画首先吸引大 ...

  4. Stable Diffusion系列课程上:安装、提示词入门、常用模型(checkpoint、embedding、LORA)、放大算法、局部重绘、常用插件

    文章目录 一.Stable Diffusion简介与安装 二.文生图(提示词解析) 2.1 提示词入门 2.2 权重 2.3 负面提示词( Negative prompt) 2.4 出图参数设置 2. ...

  5. stable diffusion webui mov2mov

    手把手教你用stable diffusion绘画ai插件mov2mov生成动画_哔哩哔哩_bilibili手把手教你用stable diffusion绘画ai插件mov2mov生成动画, 视频播放量 ...

  6. Stable Diffusion AI 绘画入门指南

    Stable Diffusion AI 绘画入门指南 市面上用的最多的AI绘画工具是 Stable-Diffusion(SD) 和 Midjourney(Mid),SD是在本地运行的服务,开源,门槛高 ...

  7. 带你从零开始入门AI绘画神器Stable Diffusion

    一.本地部署 Stable diffusion 1. 前言 目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款.一个叫 Midjourney(简称 MJ),另一个叫 Stable-Diff ...

  8. 零基础入门 Stable Diffusion - 无需显卡把 AI 绘画引擎搬进家用电脑

    我从小特别羡慕会画画的伙伴.他们能够将心中的想法画出来,而我最高水平的肖像画是丁老头.但在接触 Stable Diffusion 之后,我感觉自己脱胎换骨,给自己贴上了「会画画」的新标签. 丁老头进化 ...

  9. AI 绘画咒语入门 - Stable Diffusion Prompt 语法指南 【成为初级魔导士吧!】

    要用好 Stable Diffusion,最最重要的就是掌握 Prompt(提示词).由于提示词对于生成图的影响甚大,所以被称为魔法,用得好惊天动地,用不好魂飞魄散

最新文章

  1. JBoss vs. Tomcat
  2. java自定义类加载器
  3. 草稿 断开式绑定combobox 1128
  4. java this的用法
  5. 用video标签流式加载
  6. laravel傻瓜手册6(模型)
  7. 【技术分享】配置手工模式链路聚合(交换机之间直连)
  8. SAVIOR Securing Autonomous Vehicles with Robust Physical Invariants
  9. 暴力破解压缩包原理及方法
  10. git 解决push报错:[rejected] master -> master (fetch first) error: failed to push some refs to ‘ ‘
  11. CTF实验吧-简单的sql注入【SQL注入关键词绕过】
  12. 华为智慧屏鸿蒙评测,搭载鸿蒙系统的荣耀智慧屏值得入手吗?荣耀智慧屏全面评测...
  13. 什么明星有计算机等级证,明星CP名也分等级?朱一龙王一博还好,看到胡一天:太有才了...
  14. semantic_slam环境配置
  15. vue使用d3数据可视化(柱状图、饼图、折线图 带坐标轴)
  16. PHP Fatal error: Class 'Illuminate\Foundation\Console\Kernel' not found in D:\phpstudy\PHPTutorial
  17. GitHub 上传大小限制 大文件无法上传问题!
  18. (一)Activiti 数据库25张表——流程历史记录表18(ACT_HI_ATTACHMENT)
  19. 安卓模仿微信通讯录--RecyclerView+SideBar
  20. mac服务器文件同步软件,[MACOS]使用fswatch和SCP配合实现自动单向实时同步文件

热门文章

  1. 从你的名字看百度排名
  2. 微软S2D2016滚动升级2019
  3. 【593. 有效的正方形】
  4. mw如何解读_汽轮机CN135MW运行规程解读
  5. 银行面试着装攻略分享(二)银行着装要点归纳
  6. 年底找工作,太难了!你觉得难吗?
  7. 论文收集和整理(三)
  8. 学习日记day02 ps
  9. 《一键傻瓜式操作的【后台开发框架集锦】》Timo框架实践及应用
  10. dwg文件怎么打开呢?