Stable Diffusion如何图生图?保姆级教学

各位观众姥爷们晚上好,今天想要跟大家分享的是如何利用Stable Diffusion图生图,图生图说白了就是根据已有的一张图片给它变化成不同的风格,三次元图片变成二次元图片,二次元变成三次元图片等等。那么具体该如何操作呢?跟着我一步步来吧。

首先第一步我们需要有我们的开源软件Stable Diffusion,在这里跟大家分享一个整合包,秋叶大神的整合包。

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

–来自百度网盘超级会员V1的分享

图片

这三个文件夹都要下载下来,这里需要注意的是解压包解压的时候要选择全英文的路径。

图片

解压完成之后是这个样子,然后我们打开我框出来的文件夹

里面有个A绘世启动器,点击一下

图片

然后耐心等待就可以进入到我们的SD Webui界面

图片

最上面是我们的模型,一般如果刚安装的话会默认只有一个模型Anything,那个是比较偏向于二次元的模型,具体如何下载更多的模型可以参考我之前的文章。我们下载好了大模型一般是存在这个路径下面。

图片

然后底下是文生图或者图生图,今天我们要讲的是图生图,所以我们就可以点击图生图。

然后下面是正面提示词,就是我们希望在画面上呈现的东西,我们可以在这里输入指令告诉AI我们想要什么,以下是正面提示词的参考,当然我们也可以去抄作业,具体怎么抄作业也可以翻阅我之前的文章哈。

(masterpiece:1,2), best quality,

masterpiece, highres, original, extremely

detailed wallpaper, perfect

lighting,(extremely detailed CG:1.2),

这个是最基本的一个正面提示词(PS:我们要输入提示词只能用英文,因为AI只听得懂英文指令,如果英文实在不好的小伙伴可以借助翻译软件进行翻译)

然后是反面提示词:

NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres,normal quality, ((monochrome)), ((grayscale)), skin spots, acnes,skin blemishes, age spot, (ugly:1.331),(duplicate:1.331),(morbid:1.21), (mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands,missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs)))

在这里说一下NSFW是Not Safety For Work也就是工作场合不宜打开的,懂得都懂哈~如果我们想生成一些少儿不宜的画面的话,我们就可以把NSFW放在我们的正面提示词里面,这里就靠你们自由发挥了哈,但是不要被查水表哦。

我们点完图生图之后就可以放入我们想要处理的图片

图片

这里我随便放个图片来举例子吧

图片

我们光有图片还是不够,AI是不会只根据图片就能判断出来我们想要生成的图片的,所以我们还要在正面提示词部分加入我们想要给AI呈现的信息,不一定是完整的一个句子,我们输入一些关键词就可以,比如棕色头发Brown hair,红唇 red lip,戴着帽子wearing hat,一个女孩 1 girl,在这里我们需要注意的是我们在生成每个提示词中间的逗号一定要是英文输入法状态下的逗号哈,否则我们的AI也是不会识别的。

图片

如何正确地去写提示词,我在这里再放一个网站给大家。

http://www.atoolbox.net/Tool.php?Id=1101

图片

在这里就可以去找到我们需要添加的正面或者反面提示词

图片

然后我们如何增加或减少我们的提示词权重,就可以增加括号或者赋予提示词值来实现。

图片

图片

迭代步数:是AI自己通过计算生成图片的步数,一般控制在20-30之间,不宜过高,要不然生成的图片会画蛇添足或者超出我们的预期。

采样方法:在这里默认DPM2++Karras

重绘尺寸:是我们希望生成的图片的尺寸,可以调整宽度和高度

总批次数:一次让AI生成几张图片

单批数量:默认为1,不要调太高,这里是AI计算生成图片的次数,如果单批数量调成2.然后总批次数是4就会是2X4,同样的是生成四张图片但是AI会计算两次,很容易爆显存,在这里建议就默认为1就好。

提示词引导系数:顾名思义,就是AI多大程度上去依赖我们给他赋予的提示词。

重绘幅度:就是给AI多大的自由发挥空间,在这里0.2-0.5是一个安全值,超过了之后AI就会放飞自我。

如果想要AI生成的图片更加精准,那么还可以借助我们的另一个工具Control Net

图片

图片

在这里我们可以启用,如果显存不够的还可以点击我们的低显存模式。

图片

在这里如果是图生图的话我建议可以全都选上

图片

然后我们这里可以选择控制类型,我们可以根据我们的图像去选择不同的控制类型,如果图片是文字或者线稿的话我们可以选择Canny,如果是带有姿势的人物图片的话我们就可以选择OpenPose,如果在这里只是一张人脸的话我们就直接默认全部就行,其他的控制类型你们可以后期自己去尝试。

图片

预处理器这里我们也可以根据不同的图片类型去选择

在这里我选择的是Faceonly,然后模型这里我们可以选择open pose然后点击中间的爆炸按钮,就会有神奇的事情发生~

图片

我们现在这里上传我们的图片,然后再点击爆炸的小按钮。

图片

然后这里AI就会捕捉到我们的人脸

图片这里的控制权重我们默认为1就好,然后控制模式我们一般也是默认均衡,如果你想更偏向提示词,或者更偏向Control Net也是可以的哈。

图片然后这里我们可以选择让AI一次生成几张图片,如果你想多生成几张那就可以把这个总批次数给往上调整几个数值,这里最多一次跑10张。

图片

在一切都准备就绪之后我们点击生成就可以坐等AI出图了哈

图片

各位对比一下像不像呢?

图片

然后底下这个就是我们的作弊码哈,如果我们对我们的作品满意想分享给其他一样在使用SD的小伙伴,那我们就可以把我们的作弊码复制给他们,在这里我要着重说下我们的随机数种子,就是我圈出来的Seed,如果我们对这次生成的作品满意下次还想生成一个跟这个大差不差的作品,我们就可以把这个随机数种子给复制下来。

图片

然后放在这里,下次再生成同样风格的作品的时候就可以根据这个随机数种子去生成一个大差不差的作品。

写在最后:

如果有的小伙伴实在不会写证明提示词怎么办呢?那也不用担心,我们还有一招。

图片

我们可以点击Clip反推或者Deepbour反推,这样就可以根据画面自动生成一些提示词了。

图片

然后再加上我前面附上的正面提示词就可以啦。

好了,今天的分享到这里就结束了,你学会(废)了吗?

### 使用 Stable Diffusion 进行成 为了利用 Stable Diffusion 实现成,可以采用 Python 编程语言并借助 `diffusers` 库中的预训练模型。下面是一个简单的实例展示如何加载模型、定义输入参数以及执行成功能。 #### 导入必要的库和模块 首先需要安装并导入所需的库: ```python import torch from PIL import Image from diffusers import StableDiffusionPipeline ``` #### 初始化管道对象 接着创建一个用于片的 pipeline 对象,并指定使用的设备(CPU 或 GPU)。这里假设已经配置好了 CUDA 环境以便加速计算过程。 ```python pipeline = StableDiffusionPipeline.from_pretrained( "CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, ).to("cuda") ``` #### 定义提示词和其他选项 准备一段描述性的文字作为引导,这将影响最终输出的内容风格;还可以调整其他超参数如宽度、高度等来控制成效果。 ```python prompt_text = "A beautiful sunset over the mountains" width_height_tuple = (768, 512) # 片尺寸 num_inference_steps_value = 50 # 推理步数 guidance_scale_factor = 7.5 # 创意指导强度 seed_number = None # 随机种子,默认为空则每次运行结果不同 ``` #### 执行成操作 调用 pipeline 的方法传入上述设定好的各项参数完成实际的任务处理流程。 ```python generated_image = pipeline( prompt=prompt_text, height=width_height_tuple[1], width=width_height_tuple[0], num_inference_steps=num_inference_steps_value, guidance_scale=guidance_scale_factor, generator=torch.Generator(device="cuda").manual_seed(seed_number), ).images[0] # 将成的结果保存成文件形式 output_filename = "./output/generated_sunset.jpg" generated_image.save(output_filename) print(f"Image saved at {output_filename}") ``` 这段代码展示了基于给定文本提示成一张特定主题的新颖画的过程[^2]。值得注意的是,在实际应用过程中可能还需要不断优化各种参数组合才能得到最理想的效果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值