Stable Diffusion绘画入门

4、解构三个重要的Pipeline(SD-Inpainting, ControlNet, AnimateDiff) [代码级手把手解析diffusers库] 阅读详情

一,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站视频演示。

8ff98ac5e15784197b280f63978b1085.png

二,在线体验方法

英文原始: 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/

d88a1c4fa21ecf974458e05b8f690c1b.png

三,在Kaggle中体验

!pip install diffusers
!pip install transformers

1,text2img

from PIL import Image
import torch

from 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 = 20

prompt = "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

1221c74c4fc6b4f68c90c0891d0577e4.jpeg

2,img2img

from PIL import Image
import torch

from 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]

2466b6693697010230a7ffcd7e0666d5.jpeg

3,pix2pix

import PIL
import requests
import torch
from diffusers import StableDiffusionInstructPix2PixPipeline, EulerAncestralDiscreteScheduler

model_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

df68b4c02959af3cf12bbd66a5d6559c.jpeg

#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]

234495b1e2e4845d9ad3f4d6bc5b1d63.jpeg

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

e59af561f22152deaf65c44e273b6cf7.png

AI绘画Stable Diffusion新手超详细快速入门教程,我不允许你还不会! Ai绘画的算法工具,如果要做一个不一定准确的类比,可以说MJ是类似Ai美图秀秀般的存在,简单易上手,SD则类似PhotoShop,同样是图片处理,但学习起来要复杂一些,精通相对更难。这篇文章的目标是作一个简单介绍,帮助新手认识SD,老鸟照样可以略过。Stable Diffussion的直译是“稳定的扩散”,很多教程一开始就讲“扩散”原理,讲一大堆运行逻辑,令人望而生畏。实际上,我们只需知道母鸡可以产蛋,但并不需要研究母鸡的生殖构造和产蛋原理。同理,普通用户只需知道SD是一个Ai画图算法工具即可。 阅读详情

相关推荐

Stable Diffusion入门指南:从零开始掌握AI绘画核心技术

AI绘画已从“实验室玩具”变为“创作工具”:设计师用它快速出图,插画师用它激发灵感,普通用户也能用它实现“脑海画面可视化”。本文聚焦(当前最流行的开源AI绘画模型),覆盖从原理到实战的全链路知识,帮你从“看不懂参数”到“自主生成满意作品”。本文先通过“洗照片游戏”故事引出核心概念,再用生活化比喻拆解扩散模型、潜在空间等技术点;接着用Python代码演示生成流程,最后结合实战技巧和常见问题,帮你真正“用起来”。扩散模型:通过“破坏-重建”生成图片,正向加噪、逆向去噪;潜在空间。

AI智能探索者的博客 856

stable-diffusion真的好用吗?

CV大模型GPT,stable- diffusion

NLP与推荐算法 2105

Runway删库跑路,备受瞩目的Stable Diffusion v1.5不见了!

Gitee AI 汇聚最新最热 AI 模型,提供模型体验、推理、训练、部署和应用的一站式服务,提供充沛算力,做中国最好的 AI 社区。Hugging Face 模型镜像 - Gitee AI。

拥抱具身智能,昇腾Ascend C 1323

24|Stable Diffusion:最热门的开源AI画图工具

上一讲,我们一起体验了 CLIP 这个多模态的模型。在这个模型里,我们已经能够把一段文本和对应的图片关联起来了。看到文本和图片的关联,想必你也能联想到过去半年非常火热的“文生图”(Text-To-Image)的应用浪潮了。相比于在大语言模型里 OpenAI 的一枝独秀。文生图领域就属于百花齐放了,OpenAI 陆续发表了 DALL-E 和,Google 也不甘示弱地发表了,而市场上实际被用得最多、反馈最好的用户端产品是。不过,在整个技术社区里,最流行的产品则是 Stable Diffusion。

qq_37756660的博客 4491

[linux-sd-webui]之img2img

inpaint upload:允许上传单独的mask,而不是绘制。

liguandong 3270

逆向攻防世界CTF系列40-ReverseMe-120

注意sub_401000main中只传了两个参数,但是跟进后发现四个(可能是隐式传递,放在寄存器里传递了),调试发现a4是输入长度,与最终的you_know_how_to_remove_junk_code比较的是v12(但是并没有被传入),开始怀疑是不是隐式传递了。_mm_xor_si128用于计算128位(16字节)的按位异或,然后通过v14控制循环结束的条件,可以看到v14增长的步长为16,而且通过上面得到的flag值解码得到的字符串为32个字节大小,正好是16的整数倍。

LH1013886337的博客 1411

教你零基础入门AI绘画神器Stable Diffusion

(全套教程文末领取哈)

A2421417624的博客 1319

深入解析Pytest 底层源码

Pytest 的底层架构是一个基于 pluggy钩子机制的微内核架构。其核心流程是一个固定的链条,链条上的每个环节都通过钩子向外暴露,允许插件介入。这种设计使得 Pytest 极其灵活和强大。启动: 解析配置,加载所有插件(包括核心插件)。收集: 遍历文件系统,发现测试用例,并生成Item对象。执行: 对每个Item,依次执行setup->call->teardown协议。报告: 在整个过程中,通过不同的钩子收集信息,最终生成报告。

monk all the way 621

Stable Diffusion 绘画入门教程(webui)

随着mj和sd绘画软件发布之后,AI绘画开始爆火,很多小伙伴已经挖掘出很多的玩法,哪怕最基础的AI美女、AI壁纸、真人漫改等等都赚的盆满钵满,当然现在入局也不算晚,不同的行业基础依然能开发出很多有趣的玩法。随着使用的深入,各路大神挖掘出更多的玩法,比如创意字、艺术二维码、AI幻术、瞬息宇宙等等,当然还有很多玩法,这不是终点,相信后边随着使用的深入可以挖掘出更多细分的玩法。sd专栏会带大家逐步深入学习市面上的主流玩法,随着使用的深入相信大家自己能开发出自己的玩法。

WANGJUNAIJIAO的博客 601

实践指南——【SPSS操作解析】线性混合效应模型在重复测量数据中的应用

本文详细解析了线性混合效应模型在重复测量数据分析中的应用,并提供了SPSS操作指南。文章阐述了该模型如何通过区分固定效应与随机效应,有效处理数据非独立性和缺失值问题,从而获得更可靠的统计推断。

oo7890的博客 554

紫光PG2L100H平台DDR3 IP核调试实战:从AXI接口到状态机设计的避坑指南

本文详细介绍了在紫光PG2L100H FPGA平台上调试DDR3 IP核的实战经验,重点解析了AXI接口的特殊行为和状态机设计的关键技巧。通过具体代码示例和调试方法,帮助开发者规避常见陷阱,实现高性能DDR3控制器设计,达到1.2GB/s的稳定带宽。

weixin_28717969的博客 219

分享个人 AI 绘画心得:Stable diffusion 入门引导教程

Lora模型是一种轻量级模型方案,它能够在底座模型的基础上训练指定风格或任务子模型。比如上面的效果,使用的底座模型是:majicmixRealistic_v4;LoRA补丁模型是144M。

m0_59162248的博客 887

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制__资料编号3

实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。定时器 1 通道 1 及其互补通道输出PWM,且带死区控。当定时器 1 的刹车输入引脚被拉高时,产生刹车时间,即定时器 8 停止输出 PWM。当刹车输入引脚被拉高时,通道 1 和通道 2 将从有波形输入状态转换成无效电平状态。

嵌入式阿齐Archie 6742

入门AIGC绘画设计基础 手把手教学Stable Diffusion

什么是 [AI](https://so.youkuaiyun.com/so/search?q=AI&spm=1001.2101.3001.7020) 绘画呢?AI 绘画是指使用人工智能算法生成图像或绘画作品,它基于机器学习模型,可以接受不同的提示词、引导图等作为输入参数来生成各种风格和内容的视觉艺术品。

2301_80239908的博客 851

RK3588, 绘制中文OSD,实现左右对齐

基于RK3588,实现中文OSD, 上下左右对齐。

J。 662

OpenClaw实战四|内容创作全流程AI助理:自动撰稿+智能剪辑+多平台发布,一人顶一个内容团队

AI替代的是「写稿、剪辑、发布」这种流水线工作,真正让你解放出来,去做选题、创意、人设、变现这些高价值的事。OpenClaw这套内容创作全流程AI助理,最大的价值不是「帮你发内容」,而是让一个人,拥有一个内容团队的产能。不管是个人博主、小团队,还是企业新媒体,都能用零代码的方式,快速搭建属于自己的自动化内容矩阵。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 591

AI 绘画爆火!Stable Diffusion 从入门到精通

在数字化创作浪潮中,AI 绘画异军突起,尤其是 Stable Diffusion 引发了广泛关注。本文为你呈上 Stable Diffusion 从入门到精通的详尽指南。开篇介绍 AI 绘画发展态势及 Stable Diffusion 的重要地位。随后深入安装部署环节,依据不同系统与硬件条件提供方案。操作层面,对核心功能如文生图、图生图进行拆解,分享提示词撰写、参数调整技巧。还通过丰富案例展示其在多领域应用。进阶部分探讨 ControlNet 等插件与 LoRA 模型运用。结尾总结要点,助你从新手成长为 A

2503_92849275的博客 704

Android 12 大屏时底下显示任务栏以及虚拟按键靠右问题

Android 12 点大屏时,底下导航栏变成显示任务栏,虚拟按键靠右的分析以及修改

Android系统开发笔记 4686

Stable Diffusion 秋叶整合包v4.9 :解压即用,快速入门AI绘画

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

WANGJUNAIJIAO的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【stable diffusion教程】速成AI绘画大师:Stable Diffusion(SD)入门指南与安装实操

2024 Ai绘画技术大爆发的一年,目前两款Ai神器大火,一款是大名鼎鼎的Midjourney,另外一款—Stable Diffusion。而Stable Diffusion它究竟能做什么?看来这么多那么晶格学长要开始讲一讲今天的重点东西了温馨提示:篇幅有限,已打包文件夹,获取方式在:文末。

z19981的博客 1216

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

AI绘画Stable diffusion基础工具使用入门指南!

本地部署,安装好Stable diffusion(简称SD)的小伙伴们,自己肯定玩过相关功能了,很多参数按钮到底是干嘛的?SD可以用来做哪些事情?今天一文给大家讲清楚。温馨提示:篇幅有限,已打包文件夹,获取方式在:文末。

z19981的博客 838

Stable Diffusion入门教程:掌控AI绘画的核心技巧

随着AI技术的飞速发展,越来越多的创意工具应运而生,其中Stable Diffusion是备受瞩目的一款AI绘画工具。它不仅能够生成令人惊叹的图像,还为用户提供了极大的创作自由度。今天,我们将为你详细介绍如何使用Stable Diffusion,通过掌握,来创造出你心目中的理想画作。Stable Diffusion简介Stable Diffusion是基于扩散模型的AI绘画工具,利用复杂的数学算法将随机噪声逐渐转变为有意义的图像。

WANGJUNAIJIAO的博客 1378
上一篇: 30分钟吃掉wandb可视化自动调参
下一篇: jupyter安装nbextentions
算法美食屋
博客等级 码龄9年 2万+粉丝 154原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值