Stable Diffusion WebUI 图生图(img2img):图生图/涂鸦绘制/局部重绘/有色蒙版/上传蒙版/批量处理/反推提示词

在这里插入图片描述

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。

大家好,我是水滴~~

本篇文章我们介绍 Stable Diffusion WebUI 的图生图功能,主要包括:图生图、图生图(手绘修正)/涂鸦绘制、局部重绘、局部重绘(有色蒙版)、局部重绘(上传蒙版)、批量处理和反推提示词等。
希望能对你有所帮助!
image.png

文章目录

  • 一、图生图
    • 1. 提示词
    • 2. 上传图片
    • 3. 缩放模式
    • 4. 调整分辨率
    • 5. 按比例缩放
    • 6. 重绘幅度
  • 二、图生图(手绘修正)/涂鸦绘制
  • 三、局部重绘
    • 1. 蒙版模糊
    • 2. 重绘区域
    • 3. 重绘参考内容
    • 4. 重绘画布大小
    • 5. 以蒙版尺寸重绘时的外部填充半径(像素)
  • 四、局部重绘(有色蒙版)
  • 五、局部重绘(上传蒙版)
  • 六、批量处理
  • 七、反推提示词
    • 1. Clip 反推提示词
    • 2. DeepBooru 反推提示词


一、图生图

今天我们一起来看一下 Stable Diffusion WebUI 的图生图(img2img)功能。该功能主要是根据现有的图片来调整细节,或者调整风格,最终生成一张新的图片。
我们可以在文生图(txt2img)中批量生成小姐姐图片,然后选择一张心动的小姐姐,然后点击下面的“将图片和生成参数发送到图生图页面”按钮,图片就跑到图生图页面了。
image.png

1. 提示词

图生图中的提示词是用于针对原图的。该提示词为可选项,但是不填写可能会导致生成的图片效果质量不佳。这里通常与原图的提示词保持一致就行。
image.png

2. 上传图片

此处就是图生图用来上传原图的地方。可以点击上传;也可以将图片拖到此处;还可以将文生图中的图片“发送到”此处;或者将图库浏览器中的图片“发送到”此处。
image.png

3. 缩放模式

当新生成的图片尺寸与原图(参考图)不一致时,需要选择合适的缩放模式(Resize mode);如果尺寸相同,选择哪一种模式都没有问题的。
缩放模式有四种:
image.png

  • 拉伸原图(Just resize):在这种模式下,图片会按照指定的宽度和高度进行直接拉伸。这可能会导致图片中的人物或物体在横向和纵向上被拉长或压扁,从而影响图片的整体比例和视觉效果。
  • 剪裁原图(Crop and resize):当图片的尺寸与原图的尺寸不匹配时,裁剪模式会选择原图的中间部分进行显示,而上下或左右两侧的部分则会被裁剪掉。这样可以确保图片的核心内容得到保留,但可能会损失一些边缘信息。
  • 填充空白(Resize and fill):如果目标尺寸大于原图尺寸,填充模式会根据原图边缘的内容自动填充空白区域。这通常涉及到一些算法来推测并生成与原图风格和内容相匹配的填充内容,以保持图片的连贯性和完整性。
  • 仅调整大小(Just resize):这是一种更复杂的缩放方式,它涉及到对图片的潜在变量进行放大或缩小。这种缩放方式可以更好地保留图片的原始信息和细节,但也可能导致一些不可预测的效果,需要根据具体情况进行调整和优化。

下图展示了各种缩放模式的生成效果(原图:512*768,缩放后:512*512):
4.jpg

4. 调整分辨率

调整分辨率(Resize to)用于调整生成图片的分辨率,通常要与原图相同,或比例相同。点击“小尺子”图标,可以填充原图的分辨率。
image.png

5. 按比例缩放

按比例缩放(Resize by)可以保持原图的宽高比来缩放,下面也会直接显示缩放后的尺寸。
image.png

6. 重绘幅度

重绘幅度(Denoising strength)表示新生成的图片会有多大程序改变原图,值越大AI的自由发挥空间就越大,也越不像原图。
image.png
这个可以根据实际情况来选择,如果你不想改变太多,就将重绘幅度调小;如果想改变风格,就调大。
下图为重绘幅度从01的变化情况:
5.png
例如,我们想加上海滩背景,就可以在提示词中增加 beach background,并将重绘幅度调大,例如 0.8
image.png

二、图生图(手绘修正)/涂鸦绘制

手绘修正/涂鸦绘制(Sketch)是一个特色功能,其操作界面与图生图界面相似,但在原图界面上增加了几个特定的选项。这些选项允许用户控制涂鸦画笔的大小、选择涂鸦颜色以及撤销上一步的操作。
具体来说,用户可以先在要添加物件的部位进行涂鸦,然后在提示词处输入要绘制的物件。通过调整重绘幅度和其他相关设置,可以生成具有所需涂鸦效果的图像。
例如,下图中画了一个白点和一个红点,提示词中增加“蝴蝶”,生成的图片中,就会在相应位置出现两个蝴蝶,颜色也是画笔的颜色:
image.png

注意:可以看出,上图中蝴蝶画出来了,但小姐姐的脸也换了,所以 Sketch 不仅改变了涂鸦部分,也会改变整体画面或风格。

三、局部重绘

局部重绘(Inpaint)功能是一项强大的工具,它允许用户在生成的图像上进行精细的修改和重绘。通过这个功能,用户可以轻松地对图像的特定区域进行编辑,从而改变画面的细节或风格。
使用局部重绘功能时,用户首先需要选择要修改的区域,然后利用提供的工具进行涂鸦或绘制。在这个过程中,用户可以调整画笔的大小、颜色以及透明度等参数,以实现更精确的绘制效果。同时,Stable Diffusion WebUI还提供了撤销和橡皮擦功能,方便用户随时修正错误或调整绘制区域。
局部重绘功能的核心在于其蒙版技术。蒙版可以遮住图像的关键区域,用户可以在蒙版上进行绘制,而不会影响其他部分。通过这种方式,用户可以实现对特定区域的精确控制,同时保持整体画面的完整性。

例如,下图中我们使用画笔工具将小姐姐的头发给盖住,这部分就是蒙版部分,然后在提示词中输入“绿色头发”,那么重新生成的小姐姐的头发变成绿色了:
image.png
此外,局部重绘功能还支持多种参数设置。用户可以根据需要调整蒙版模糊、蒙版区域以及重绘幅度等参数,以获得更满意的绘制效果。这些参数的设置可以帮助用户更好地控制绘制过程,实现更精确的修改。

1. 蒙版模糊

蒙版模糊(Mask blur)用于设置重绘部分与原图的衔接处的模糊度,起到渐变的作用,让衔接看起来比较自然。衔接不好时可以调大一点看看。
蒙版模糊设为1时,会有明显的衔接:
image.png
蒙版模糊设为20时,衔接部分变得更自然了:
image.png

2. 重绘区域

重绘区域(Mask mode)有两个选项:蒙版内和蒙版外。蒙版内表示只重绘蒙版内部的画面,而蒙版外表示重绘蒙版外部的画面。
默认选项为蒙版内,如果改成蒙版外,下图中就会将蒙版外部的头发变成了绿色,甚至还改变了其它元素。
image.png

3. 重绘参考内容

重绘参考内容(Masked content)表示AI在重绘蒙版内蒙时需要参考的元素。有四个选项:填充空白(fill)、原图像素(original)、潜空间噪声(latent noise)、空白潜空间(latent nothing)。
推荐:如果你想让AI自由发挥,可以选择 fill;如果想要与原图保持一致,就使用默认的 original

如下对这四个选项进行一个对比,我们将小姐姐的衣服全部蒙住,让AI来重新绘制:
image.png
(1)填充空白(fill):在渲染时不根据原图的任何元素生成图片。
xyz_grid-0001-1946211942.png
(2)原图像素(original):在渲染时根据原图中的元素生成图片,这也是默认选项。
xyz_grid-0002-4057128629.png
(3)潜空间噪声(latent noise):在渲染时不根据原图的任何元素生成图片,比 fill 想象力更丰富,增加了更多的细节,也需要更多的重绘幅度。
xyz_grid-0003-691857714.png
(4)空白潜空间(latent nothing):在渲染时不根据原图的任何元素生成图片,类似 fill,增加了更多的细节。
xyz_grid-0004-2491264229.png

4. 重绘画布大小

重绘画面大小(Inpaint area)又叫重绘区域,

以原图尺寸重绘(Whole picture) : 如果选的是Whole picture,那AI会基于你的新的要求,把整张图重新画一遍, 但最后只保留你框出来的这一块区域, 拼回到原图里面去。
以蒙版尺寸重绘(Only masked): 如果选择的是Only masked,AI就会只重绘蒙版区域,把它当成一张完整的图画好, 然后再拼回去,它涉及区域小,绘制速度固然更快,但因为它没法读取你的图像全貌,所以经常出现拼上去以后变得奇奇怪怪的问题。因此多数时候推荐使用 Only masked 选项 , 也就是整张重画再拼回去。
Only masked更适合用在,一些针对性强的修改, 想要画一点原图里面没有的东西,但是这个时候我们需要降低重绘幅度,避免变形,并且对提示词做净化处理,这是属于比较进阶的内容了。
下图为以原图尺寸重绘(Whole picture):
00177-1209430900.png
下图为以蒙版尺寸重绘(Only masked),脖子部分有很明显的阴影:
00176-1209430900.png

5. 以蒙版尺寸重绘时的外部填充半径(像素)

以蒙版尺寸重绘时的外部填充半径(Only masked padding,pixels)选项表示使用“以蒙版尺寸重绘(Only masked)”时参考使用蒙版附近的元素的值。值越小参考蒙版附近的元素就越少,出来的图就越随意;值越大参考的就越多,出来的图就更贴切更契合。

四、局部重绘(有色蒙版)

局部重绘/有色蒙版(Inpaint sketch)与局部重绘类似,但可以识别蒙版的颜色。
例如下图,生成的图片参考了蒙版的颜色:
image.png
比局部重绘还多了一个调整蒙版的透明度功能:
image.png

五、局部重绘(上传蒙版)

局部重绘/上传蒙版(Inpaint upload)允许我们上传一张蒙版,然后根据蒙版让AI生成内容。蒙版必须是白色的,其它为黑色的。可以使用PS或者 Segment Anything 插件来制作蒙版。
下面分别上传了原图和蒙版:
image.png
选择重绘蒙版内,可以保持背景不变,更换不同的小姐姐:
image.png

选择重绘蒙版外,可以保持小姐姐不变,来更换不同的背景(加一些提示词可以更换不同的背景):
image.png

六、批量处理

批量处理(Batch)可以让我们批量完成图生图功能。这里主要有三个目录(注意:目录名不要使用中文):

  • 输入目录:输入目录表示要批量处理的图片所在目录。
  • 输出目录:输出目录表示AI生绘后输出的图片所在目录,需要提前建一个空的目录。
  • 蒙版输入目录:蒙版输入目录表示蒙版所在的目录。这是个可选项,如果填上后,相当于使用 Inpaint upload 功能来批处理。并且蒙版图片的文件名要与输入目录中原图文件名一致才行。

下图中,我将三个目录都创建好了:
image.png
输入目录(要重绘的原图):
image.png
输出目录(一个空的目录):
image.png
蒙版输入目录(输入目录中各个图片的蒙版,并且文件名保持一致):
image.png
点击生成后,原图中的小姐姐都被替换了,下面是输出目录:
image.png
如果你只想为小姐姐换背景,那么调整蒙版,将小姐姐变成黑色,其他为白色即可。

七、反推提示词

Stable Diffusion WebUI 的图生图中,还提供了两个反推提示词的功能“使用 Clip 反推提示词”和“使用 DeepBooru 反推提示词”。它们都可以提取图片中的元素,来提取提示词:
image.png
我们使用下面这张图来比较一下这两个反推提示词的区别:
image.png

1. Clip 反推提示词

Clip反推的提示词是句子,可以精准的描述图片中的元素,也是我们推荐的反推方式。
下面是反推出来的提示词:
a painting of a woman in a bathing suit with colorful paint splatters on her body and chest, Artgerm, stanley artgerm lau, a painting, funk art(一幅画,一个女人穿着泳衣,身上和胸口溅满了五颜六色的颜料,阿特泽姆,斯坦利·阿特泽姆劳,一幅画,放克艺术)
使用该提示词生成的图片:
image.png

2. DeepBooru 反推提示词

DeepBooru反推的提示词是单词。
下面是反推出来的提示词:
1girl, black hair, bleeding, blood, blood on clothes, blood on face, blood on hands, blood on knife, blood on weapon, blood splatter, blood stain, breasts, brown eyes, cleavage, cuts, dark-skinned female, dark skin, death, dirty, guro, injury, lips, lipstick, makeup, medium breasts, nosebleed, paint, paint splatter, solo, splatter(女孩,黑发,流血,血,衣服上的血,脸上的血,手上的血,刀上的血,武器上的血,血迹,血迹,乳房,棕色眼睛,乳沟,伤口,深色皮肤的女性,深色皮肤,死亡,肮脏,古罗,受伤,嘴唇,口红,化妆品,中等乳房,鼻血,油漆,油漆飞溅,独奏,飞溅)
image.png
两者的差距一目了然

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/497513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TBSI模型论文解读及代码分析

前往我的主页以获得更好的阅读体验 简介 论文来源: Bridging Search Region Interaction With Template for RGB-T Tracking 现有的搜索算法通常会直接连接 RGB 和 T 模态搜索区域, 该方法存在大量冗余背景噪声. 而另一些方法从搜索帧中采样候选框, 对孤立的 RGB 框和 T 框进…

flink on yarn-per job源码解析、flink on k8s介绍

Flink 架构概览–JobManager JobManager的功能主要有: 将 JobGraph 转换成 Execution Graph,最终将 Execution Graph 拿来运行Scheduler 组件负责 Task 的调度Checkpoint Coordinator 组件负责协调整个任务的 Checkpoint,包括 Checkpoint 的开始和完成通过 Actor System 与 …

如何在Apache Arrow中定位与解决问题

如何在apache Arrow定位与解决问题 最近在执行sql时做了一些batch变更,出现了一个 crash问题,底层使用了apache arrow来实现。本节将会从0开始讲解如何调试STL源码crash问题,在这篇文章中以实际工作中resize导致crash为例,引出如何…

论文笔记:分层问题-图像共注意力问答

整理了2017 Hierarchical Question-Image Co-Attention for Visual Question Answering)论文的阅读笔记 背景模型问题定义模型结构平行共注意力交替共注意力 实验可视化 背景 视觉问答(VQA)的注意力模型在此之前已经有了很多工作,这种模型生成了突出显示…

elementplus-vue-审核按钮-对话框(Dialog )

效果图&#xff1a; 代码&#xff1a; <template> <el-button type"success" click"dialogVisible true" :icon"Edit">审核</el-button> <el-dialog v-model"dialogVisible" title"是否通过" width&q…

持续集成流水线介绍(CI)

目录 一、概述 二、持续集成的典型操作流程 2.1 概述 2.2 持续集成的操作流程图 2.3 持续集成关键流程说明 三、构建持续集成流水线的方式 3.1 依托云厂商能力 3.2 采用开源产品 3.3 企业自研 四、构建持续化集成流水线 4.1 基于GitHub的持续集成流水线&#xff08;公…

Haproxy2.8.1+Lua5.1.4部署,haproxy.cfg配置文件详解和演示

目录 一.快速安装lua和haproxy 二.配置haproxy的配置文件 三.配置haproxy的全局日志 四.测试负载均衡、监控和日志效果 五.server常用可选项 1.check 2.weight 3.backup 4.disabled 5.redirect prefix和redir 6.maxconn 六.调度算法 1.静态 2.动态 一.快速安装lu…

uniApp使用XR-Frame创建3D场景(5)材质贴图的运用

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这篇我们讲解在xr-frame中如何给几何体赋予贴图材质。 先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"><xr-node><xr-assets><xr-asse…

Go的数据结构与实现【Set】

介绍 Set是值的集合&#xff0c;可以迭代这些值、添加新值、删除值并清除集合、获取集合大小并检查集合是否包含值&#xff0c;集合中的一个值只存储一次&#xff0c;不能重复。 本文代码地址为go-store 简单实现 这是集合的一个简单实现&#xff0c;还不是并发安全的&#…

【tensorflow框架神经网络实现鸢尾花分类】

文章目录 1、数据获取2、数据集构建3、模型的训练验证可视化训练过程 1、数据获取 从sklearn中获取鸢尾花数据&#xff0c;并合并处理 from sklearn.datasets import load_iris import pandas as pdx_data load_iris().data y_data load_iris().targetx_data pd.DataFrame…

kubernetes K8s的监控系统Prometheus升级Grafana,来一个酷炫的Node监控界面(二)

上一篇文章《kubernetes K8s的监控系统Prometheus安装使用(一)》中使用的监控界面总感觉监控的节点数据太少&#xff0c;不能快算精准的判断出数据节点运行的状况。 今天我找一款非常酷炫的多维度数据监控界面&#xff0c;能够非常有把握的了解到各节点的数据&#xff0c;以及运…

快速上手Spring Cloud 七:事件驱动架构与Spring Cloud

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

AOP切入点表达式基本格式

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 官方地址 https://docs.spring.io/spring-framework/reference/core/aop/ataspectj/pointcuts.html AOP切入点表达式基本格式如下&#xff1a; execution(modifiers-patte…

竞赛 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

ES6 学习(三)-- es特性

文章目录 1. Symbol1.1 使用Symbol 作为对象属性名1.2 使用Symbol 作为常量 2. Iterator 迭代器2.1 for...of循环2.2 原生默认具备Interator 接口的对象2.3 给对象添加Iterator 迭代器2.4 ... 解构赋值 3. Set 结构3.1 初识 Set3.2 Set 实例属性和方法3.3 遍历3.4 相关面试题 4…

RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.x之四_角色说明及创建用户与授权 文章目录 RabbitMQ3.x之四_角色说明及创建用户与授权1. 访问和授权1. Tags说明2. 命令行示例 2. 管理界面新建用户及访问授权1. 管理界面新建用户2. 管理界面中的授权说明3. guest用户不能远程登录提示 3. 创建用户1. 基本命令2. 实际…

新网站收录时间是多久,新建网站多久被百度收录

对于新建的网站而言&#xff0c;被搜索引擎收录是非常重要的一步&#xff0c;它标志着网站的正式上线和对外开放。然而&#xff0c;新网站被搜索引擎收录需要一定的时间&#xff0c;而且时间长短受多种因素影响。本文将探讨新网站收录需要多长时间&#xff0c;以及新建网站多久…

微信小程序更换头像的功能

微信小程序开发&#xff0c;个人中心中更换头像的更能使用频率很高&#xff0c;这里记录下实现方式&#xff1a; <view class"setting-list avatar-container"><text>头像</text><view class"avatar"><button hover-class"…

华为云使用指南02

5.​​使用GitLab进行团队及项目管理​​ GitLab旨在帮助团队进行项目开发协作&#xff0c;为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括&#xff1a;项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。该镜像基于CentOS操…

ZK友好代数哈希函数安全倡议

1. 引言 前序博客&#xff1a; ZKP中的哈希函数如何选择ZK-friendly 哈希函数&#xff1f;snark/stark-friendly hash函数Anemoi Permutation和Jive Compression模式&#xff1a;高效的ZK友好的哈希函数Tip5&#xff1a;针对Recursive STARK的哈希函数 随着Incrementally Ve…
最新文章