AI 绘画 | Stable Diffusion 涂鸦功能与局部重绘

在 StableDiffusion图生图的面板里,除了图生图(img2img)选卡外,还有局部重绘(Inpaint),涂鸦(Sketch),涂鸦重绘(Inpaint Sketch),上传重绘蒙版(Inpaint Uplaod)、批量处理(Batch)等功能。下面我就讲解一下这些功能的作用和使用。
在这里插入图片描述

涂鸦

Sketch 中文意思为素描,速写,草图;(任何作品的)粗样,初稿。这个功能可以让我们在原图上进行简单的创作后,再生成图片。以一张美女图片为例,我们想要在美女脸上固定位置上加一个美人痣,如果使用图生图的画,每次的美人痣位置都是随机的,难以控制。类似于这样需要固定位置或者形状的情况就适合用涂鸦功能了。

首先我们在图生图面板上传一张美女图片,然后点开涂鸦选卡,然后点击画笔调整好粗细,在选择颜色管理器里的颜色,这里我们选着黑色。在美女的眼睛下方点一颗美人痣。接着提示词里输入“mole(痣)”,提示词点击生成。
在这里插入图片描述
其中,画笔的颜色对生成涂鸦区域的颜色影响特别大,即使加了别的颜色的提示词,这涂鸦颜色生成的内容也很难有所改变。
效果图
在这里插入图片描述
以下是生成图片的一些参数

mole,
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 3, Seed: 2395846175, Size: 768x1152, Model hash: 7c819b6d13, Model: majicMIX realistic 麦橘写实_v7, Denoising strength: 0.45, Version: v1.6.0

需要注意的是提示词相关系数设置太大,出现的美人痣就越多,重绘幅度越大和原图的差距就越大。

局部重绘

Inpaint 中文意思为 修复(图像):在数字图像处理中,通过填充丢失或损坏的区域,恢复图像的原始外观。 即当我们想对图片的局部地区进行修复或者重绘,就可是使用这个功能。比如我们之前用图生图生成了一张美女的图片,我们对这个图片的整体是非常满意的,但是我们希望这个美女能戴上太阳镜变得时尚起来。这时候,用图生图加入太的提示词,不管是锁定随机种子,还是调低重绘幅度,照片整体都会发生变化。
在这里插入图片描述
效果图
在这里插入图片描述

这时候,就要局部重绘的功能上传了,首先我们先切换到局部重绘的面板,上传我们这个原图。然后点击画笔设置画笔的粗细,然后涂抹眼部,最后提示词矿内输入sunglasses,点击生成。(有时候自己涂抹的区域有点小,生成眼镜不完全,可以扩大涂抹区域后重新生成)
在这里插入图片描述

  • 上面三个按钮分别是撤销上一次操作,橡皮差和删除图片。

效果图
在这里插入图片描述

参数设置与图生图不同的是多了蒙版边缘模糊度、蒙版模式、蒙版区域内容处理、重绘区域、仅蒙版区域下边缘预留像素 五个参数设置,下图是生成上图的这个参数的设置。
在这里插入图片描述

蒙版边缘模糊度

蒙版边缘模糊度是指在进行图像处理时,对蒙版(mask)边缘进行模糊处理的一种程度。这种模糊处理可以使得蒙版的边缘更加平滑,减少突兀感,使图像看起来更加自然。

在具体操作中,可以通过调整蒙版边缘模糊度的数值来控制模糊效果的大小。数值越大,模糊效果越明显,反之数值越小则模糊效果越不明显。通常情况下,这个数值的范围在0-64之间。

此外,蒙版模糊度也可以用于保护一些敏感信息,例如人脸、车牌等,通过模糊处理后可以有效地防止这些信息被识别和提取。

  • 以眼睛为例,蒙版边缘模糊度越小,生成的眼镜越清晰,否者,生成的眼镜越模糊

蒙版模式

蒙版模式分为重绘蒙版内容和非蒙版内容。

  • 重绘蒙版内容,就是只重绘我们涂鸦区域的图像(一般都选这个)。
  • 重绘非蒙版内容,就是只重绘我们涂鸦区域以外的图像。

蒙版区域内容处理

蒙版区域内容处理分为四种方式,分别为填充、原版、潜空间噪声、空白潜空间。

  • 填充 以眼镜为例,生成的眼睛,会按照,你涂抹的区域进行填充。除非你画的模板和眼睛的轮廓一摸一样否则不建议选这个
  • 原版 即原图不发生变化,生成的眼镜在适配原图美女的样貌改变。
  • 潜空间噪声 (涉及到一些原理的概念)Stable Diffusion模型是一种潜在扩散模型,它通过在潜在空间中应用扩散过程来生成图像。这个潜在空间是比像素空间更低维度的空间,可以减少内存和计算成本。在潜在空间中,噪声被添加到潜在表示中,然后通过解码器生成图像。通过调整潜在噪声的大小和分布,可以控制生成图像的质量和多样性。
  • 空白浅空间 和潜空间噪声类似,只不过没有噪声。同样可以减少内存和计算成本。但是生成效果不好

重绘区域

在Stable Diffusion的局部重绘中,重绘区域的选择有两种:整张图和仅蒙版区域

  • 如果选择整张图,那么将会重新绘制整张图片,包括蒙版区域和非蒙版区域。这样做的好处是,可以很好地保持图片的全局逻辑性,同时能够将蒙版的内容再拼合回去。但如果只想改变图片的一部分,以达到精细控制效果,那么这种选择可能不是最佳的。

  • 如果选择仅蒙版区域,那么只会对蒙版内容进行重新绘制,不会影响蒙版外的区域。这种选择更加灵活,可以只改变图片的特定部分,比如只改变眼睛的颜色等。局部重绘模式下,只需输入重绘部分提示词即可。

仅蒙版区域下边缘预留像素

在Stable Diffusion的局部重绘中,仅蒙版区域下边缘预留像素的作用主要是为了更好地融合重绘区域与原始图像的边缘。

在局部重绘中,如果只对蒙版区域进行重绘,那么重绘区域与原始图像之间的边缘可能会显得比较突兀,不够自然。为了解决这个问题,可以预留一些像素,使得重绘区域在边缘处与原始图像有更好的过渡和融合,让整个图像看起来更加自然。

具体来说,这些预留像素可以视为一种“缓冲带”,它们将重绘区域与原始图像隔开,但又不影响它们之间的视觉效果。通过调整这些预留像素的大小和分布,可以控制重绘区域与原始图像之间的过渡效果,以达到更加自然和流畅的视觉效果。

总之,Stable Diffusion局部重绘中仅蒙版区域下边缘预留像素的作用是为了让重绘区域与原始图像之间的边缘更加自然和流畅。如果你的蒙版区域,要重绘的东西对整体没有影响,可以设置为0。

涂鸦重绘

涂鸦重绘这个功能其实就是涂鸦功能和局部重绘功能的结合。下面做一个简单示例。首先我们在图生图面板上传一张美女图片,然后点开涂鸦重绘选卡,然后点击画笔调整好粗细,在选择颜色管理器里的颜色,这里我们选着红色,给美女涂鸦一个口罩,然后在正向提示词输入框内输入mouth mask(口罩),点击生成图片即可。
在这里插入图片描述
效果图
在这里插入图片描述
生成图片参数

mouth mask,
Steps: 30, Sampler: DPM++ 2M Karras, CFG scale: 3, Seed: 2395846175, Size: 768x1152, Model hash: 7c819b6d13, Model: majicMIX realistic 麦橘写实_v7, Denoising strength: 0.8, Mask blur: 0, Version: v1.6.0

值得注意的是,局部重绘和涂鸦重绘的重绘幅度可以设置很大0.8左右,因为都只是对涂鸦区域生效。重绘幅度越大,口罩的细节就越多。针对局部重绘和涂鸦重绘的 重绘幅度如果0.5以下,基本和原图没啥差别,达不到我们想要重绘的效果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全与TikTok:年轻一代的数字素养

在数字时代,互联网成为我们生活的重要组成部分,而社交媒体平台则在年轻一代中变得日益流行。其中,TikTok作为一个短视频分享平台,吸引了全球数以亿计的用户,尤其年轻人。 然而,与其快速的普及相伴随的是网…

【UE4】UE编辑器乱码问题

环境:UE4.27、vs2019 如何解决 问题原因,UE的编码默认是UTF-8,VS的默认编码是GBK 通过"高级保存选项" 直接修改VS的 .h头文件 的 编码 为 UTF-8 步骤1. 步骤2. 修改编码后,从新编译,然后就可以解决编辑器…

[Machine Learning][Part 8]神经网络的学习训练过程

目录 训练过程 一、建立模型: 二、建立损失函数 J(w,b): 三、寻找最小损失函数的(w,b)组合 为什么需要激活函数 激活函数种类 二分法逻辑回归模型 线性回归模型 回归模型 训练过程 一、建立模型: 根据需求建立模型,从前面神经网络的…

【C语言】函数的系统化精讲(三)

文章目录 一、递归举例二、递归举例2.1求n的阶乘2.2 顺序打印⼀个整数的每⼀位 三、递归与迭代3.1递归的思考3.2求第n个斐波那契数 总结 一、递归举例 .通过上回(【C语言】函数的系统化精讲(二))我们了解到递归的限制条件&#x…

什么GAN生成对抗网络?生成对抗网络可以干什么?

生成对抗网络(Generative Adversarial Nets,简称GAN)。神经网络分很多种,有普通的前向传播网络,有分析图片的CNN卷积神经网络,有分析系列化数据比如语言、文字的RNN循环神经网络,这些神经网络都是用来输入数据,得到想要的结果,我们看中的是这些神经网络中很好地将数据与…

Qt 项目实战 | 音乐播放器

Qt 项目实战 | 音乐播放器 Qt 项目实战 | 音乐播放器播放器整体架构创建播放器主界面 官方博客:https://www.yafeilinux.com/ Qt开源社区:https://www.qter.org/ 参考书:《Qt 及 Qt Quick 开发实战精解》 Qt 项目实战 | 音乐播放器 开发环…

sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

问题描述 sqlite3.NotSupportedError: deterministicTrue requires SQLite 3.8.3 or higher 解决方法 A kind of solution is changing the database from sqlite3 to pysqlite3. After acticate the virtualenv, install pysqlite. pip3 install pysqlite3 pip3 install …

【Linux】vim

文章目录 一、vim是什么?二 、命令模式三、插入模式四、底行模式五、vim配置 一、vim是什么? Vim是一个强大的文本编辑器,它是Vi的增强版,支持多种语法高亮、插件扩展、多模式操作等功能。Vim有三种基本的工作模式:命…

self.register_buffer方法使用解析(pytorch)

self.register_buffer就是pytorch框架用来保存不更新参数的方法。 列子如下: self.register_buffer("position_emb", torch.randn((5, 3)))第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数…

互联网Java工程师面试题·Spring篇·第七弹

目录 36、什么是基于 Java 的 Spring 注解配置? 给一些注解的例子. 37、什么是基于注解的容器配置? 38、怎样开启注解装配? 39、Required 注解 40、Autowired 注解 41、Qualifier 注解 42、在 Spring 框架中如何更有效地使用 JDBC? 43、JdbcTemplate 44…

Flink的API分层、架构与组件原理、并行度、任务执行计划

Flink的API分层 Apache Flink的API分为四个层次,每个层次都提供不同的抽象和功能,以满足不同场景下的数据处理需求。下面是这四个层次的具体介绍: CEP API:Flink API 最底层的抽象为有状态实时流处理。其抽象实现是Process Functi…

macOS电池续航工具:Endurance中文

Endurance for Mac是一款强大而实用的电池管理和优化软件,专为MacBook设计。通过智能调整系统设置和管理后台应用,它能有效延长电池续航时间,提升工作和娱乐效率,成为你在各种场合下的得力助手。 Endurance for Mac软件的功能特色…

spring中纯注解实现Advice

背景:课本上是注解和Xml文件混用的方式,研究了一下用配置类加注解和测试方法实现各种通知方式的切入。 1.首先dao的接口,增删改查 public interface UserDaoAspect {public void add();public void delete();public void update();public vo…

【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库

为什么需要开发自己的 Go 库 在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在 Go 中,包是代码的基本组织单位,每个 Go 程序都由包构成。包的作用是帮助组织代码&#xf…

[java进阶]——方法引用改写Lambda表达式

🌈键盘敲烂,年薪30万🌈 目录 📕概念介绍: ⭐方法引用的前提条件: 1.引用静态方法 2.引用构造方法 ①类的构造: ②数组的构造: 3.引用本类或父类的成员方法 ①本类&#xff1…

思维训练4

题目描述1 Problem - A - Codeforces 题目分析 对于此题我们要求差值种类最大,故我们可以构造出相邻差值分别为1,2,3...由于n规定了最大的范围故我们增到一定的差值之后其差值必定为之前出现过的数字,但由于要保证数组呈递增趋势…

学习LevelDB架构的检索技术

目录 一、LevelDB介绍 二、LevelDB优化检索系统关键点分析 三、读写分离设计和内存数据管理 (一)内存数据管理 跳表代替B树 内存数据分为两块:MemTable(可读可写) Immutable MemTable(只读&#xff0…

Qt Creator插件

这里以Qt Creator 4.15.2版本的源码为示例进行分析 源码结构如下,为了追溯其插件加载过程,从main.cpp入手 Qt Creator的插件目录,生成的插件,好几十个呢 Qt Creator插件的读取 int main(int argc, char **argv)中以下代码创建插…

Vue 3 相对于 Vue2,模板和组件的一些变化

目录 1,模板的变化1,v-modelvue2vue3 2,v-if 和 v-for3,keyv-forv-if 4,Fragment 2,组件的变化1,Teleport2,异步组件 1,模板的变化 1,v-model vue2 对组件…

垃圾回收系统小程序定制开发搭建攻略

在这个数字化快速发展的时代,垃圾回收系统的推广对于环境保护和可持续发展具有重要意义。为了更好地服务于垃圾回收行业,本文将分享如何使用第三方制作平台乔拓云网,定制开发搭建垃圾回收系统小程序。 首先,使用乔拓云网账号登录平…