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以下,基本和原图没啥差别,达不到我们想要重绘的效果。
相关文章:
AI 绘画 | Stable Diffusion 涂鸦功能与局部重绘
在 StableDiffusion图生图的面板里,除了图生图(img2img)选卡外,还有局部重绘(Inpaint),涂鸦(Sketch),涂鸦重绘(Inpaint Sketch),上传重绘蒙版(Inpaint Uplaod)、批量处理(…...
[LeetCode周赛复盘] 第 371 场周赛20231112
[LeetCode周赛复盘] 第 371 场周赛20231112 一、本周周赛总结100120. 找出强数对的最大异或值 I1. 题目描述2. 思路分析3. 代码实现 100128. 高访问员工1. 题目描述2. 思路分析3. 代码实现 100117. 最大化数组末位元素的最少操作次数1. 题目描述2. 思路分析3. 代码实现 100124…...
Google Guava Cache LoadingCache 基本使用
一. 添加依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>27.1-jre</version> </dependency>二. 创建CacheLoader LoadingCache<Long, String> cache CacheBuilder.newB…...
AWS云服务器EC2实例进行操作系统迁移
AWS云服务器EC2实例进行操作系统迁移 文章目录 AWS云服务器EC2实例进行操作系统迁移1. 亚马逊EC2云服务器简介1.2 亚马逊EC2云务器与弹性云服务器区别 2. 亚马逊EC2云服务器配置流程2.1 亚马逊EC2云服务器实例配置2.1.1 EC2实例购买教程2.1.1 EC2实例初始化配置2.1.2 远程登录E…...
《015.SpringBoot+vue之音乐网》【前后端分离】
《015.SpringBootvue之音乐网》【前后端分离】 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisMySQL; 前台:Vue3.0 TypeScript Vue-Router Vuex Axios …...
网格算法和穷举法
介绍 网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具 当需要在多个离散的点(比如网格点)…...
【AI】自回归 (AR) 模型使预测和深度学习变得简单
自回归 (AR) 模型是统计和时间序列模型,用于根据数据点的先前值进行分析和预测。这些模型广泛应用于各个领域,包括经济、金融、信号处理和自然语言处理。 自回归模型假设给定时间变量的值与其过去的值线性相关,这使得它们可用于建模和预测时…...
安卓常见设计模式14------单例模式(Kotlin版)
1. W1 是什么,什么是单例模式? 单例模式属于创建型模式,旨在确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式的核心思想是限制类的实例化,使得系统中只有一个共享的实例。 2. W2 为什么&#…...
卡尔曼家族从零解剖-(06)一维卡尔曼滤波编程实践
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…...
macOS使用conda初体会
最近在扫盲测序的一些知识 其中需要安装一些软件进行练习,如质控的fastqc,然后需要用conda来配置环境变量和安装软件。记录一下方便后续查阅学习 1.安装miniconda 由于我的电脑之前已经安装了brew,所以我就直接用brew安装了 brew install …...
GetPrivateProfileSection使用
基本语法 GetPrivateProfileSection 是一个 Windows API 函数,用于检索指定 INI 文件中特定节的所有键值对。它可以读取INI文件中指定节所有的键值对并将结果存储在指定的缓冲区中。 以下是 GetPrivateProfileSection 函数的基本语法: DWORD GetPriva…...
Ubuntu20.04 安装 Matlab R2021a
1. 压缩包分卷解压缩 将下载下来的压缩包分卷解压缩 Ubuntu自带的archive会解压出错,不适用于分卷解压。 需要下载7zip (sudo apt-get install 走起) zip -F xxx.zip --out XXX.zip # xxx为主文件名 # XXX.zip为输出路径,上面的…...
让35岁程序员精力充沛的方法
最近重新阅读了《掌控:开启不疲惫、不焦虑的人生》这本书。这本书曾经对我减重20斤产生了巨大的影响。自然入睡、自然醒来,能够高效地工作和享受生活,这才是我们渴望的掌控感。以下是一些笔记: 少吃比多运动更有效地控制体重 每…...
01:2440----点灯大师
目录 一:点亮一个LED 1:原理图 2:寄存器 3:2440的框架和启动过程 A:框架 B:启动过程 4:代码 5:ARM知识补充 6:c语言和汇编的应用 A:代码 B:分析汇编语言 C:内存空间 7:内部机制 二:点亮2个灯 三:流水灯 四:按键控制LED 1:原理图 2:寄存器配置 3:代码 一:点…...
初步了解 RabbitMQ
目录 编辑一、MQ 概述 1、MQ 的简介 2、MQ 的用途 (1)限流削峰 (2)异步解耦 (3)数据收集 二、RabbitMQ 概述 1、RabbitMQ 简介 2、四大核心概念 3、RabbitMQ 的核心部分 编辑 4、名词解释: 三、Hello …...
Faster-RCNN and Mask-RCNN框架解析
由于本人记忆力实在太差,每次学完一个框架没过多久就会忘,而且码文能力不行,人又懒,所以看到了其他人写的不错的两篇框架解析的博文,先来记录一下,就当是我写的喽 Faster-rcnn详解_faster r-cnn-CSDN博客 M…...
大数据可视化数据大屏可视化模板【可视化项目案例-05】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…...
Vue Router active-class 属性
active-class 是 vue-router 模块的 router-link 组件的属性,当 router-link 标签被点击时将会应用这个样式。 单独在 router-link 标签上使用 active-class 属性 <router-link to"/about" active-class"active">about</router-link…...
Error creating bean with name ‘apiModelSpecificationReader‘ defined in URL
问题: 启动项目的时候,报错了 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name apiModelSpecificationReader defined in URL [jar:file:/D:/.gradle/caches/modules-2/files-2.1/io.springfox/sp…...
CS224W6.2——深度学习基础
在本文中,我们回顾了深度学习的概念和技术,这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始,介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
C++11 constexpr和字面类型:从入门到精通
文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...
