把裤袜换成黑丝(Stable Diffusion进阶篇: ComfyUI 局部重绘)

news2024/11/23 21:44:35

图片

先让大伙打起精神来

局部重绘

局部重绘适用于那些对整个画面还比较满意,只是想修改部分区域的情况。

在WebUI中通常选择用涂抹重绘区域的方式来让AI知道要重绘哪里,这个被涂抹的区域会被AI识别为黑白区域,白色的部分也就是所谓的重绘蒙版“遮罩”。

图片

素材来源:Nenly同学

一般来说白色的区域是需要被重绘,而黑色的区域则是要保持不变的。当然有一定能力的小伙伴也可以直接上传一张黑白图来直接告诉AI哪里是需要重绘的。

图片

在ComfyUI中也能做到同样的操作:

图片

来到开发者提供的网页中,找到这个Inpainting的选项点击进去。

将第一张图片另存为到桌面,而后直接拖拽到ComfyUI中,系统就会自动生成工作流。

图片

图片

和WebUI中的重绘一样,在图片框中加载想要重绘的图片:

图片

然后在上方的提示词框中输入想要重绘的内容,就可以实现重绘了。

图片

不过问题来了,好像没有找到可以进行涂鸦的地方,那么怎么让系统知道哪里是要重绘的区域呢?

而这里就需要鼠标右键点击图片,然后在选项的最下方部分找到一个Open in MaskEditor(在蒙版编辑器里打开)。

图片

打开后会弹出一个独立的窗口(下图),在这里才是画蒙版的地方。

图片

绘制操作和WebUI大同小异:clear是清除画笔痕迹、Thickness是控制画笔大小、Color是控制蒙版区域的颜色、以及画好后记得保存的Save to node选项。

可以看到Load Image有两个端口一个输出IMAGE图像,另一个输出MASK蒙版。

图片

在这个节点旁边还有一个VAE Encode编码器,不过是for inpainting也就是为了重绘服务的。而这个VAE里面的mask端口可以理解为只对蒙版区域做编码,从而控制只在蒙版里做重绘。

而后面的节点流程和上篇笔记的图生图没什么区别,不需要做什么改动。

同样这里KSampler里的重绘幅度(Denoise)也决定了重绘力度的大小

图片

不过要注意的是这个数值不能太低,得大约在0.8以上,不然会导致重绘区域变成一个纯色块。

而之所以会出现这样的问题是因为这种重绘方式是将重绘区域给转变成了完全的“空白潜空间”,然后在此的基础上重新加噪去噪生成,如果重绘力度不高就很难生成新的形象。

也正是因为如此,利用Inpainting编码器来重绘的这一工作流更适合对画面进行比较大且彻底的修改。如果要使画面变动变小的话也有办法,只需要在原本的这一工作流上进行改动。

删除掉原本的VAE Encode(for inpainting),然后在列表里找到一个叫做Set Latent Noise Mask(设置潜空间噪声蒙版)的节点,然后再加载一个VAE Encode(要普通没任何后缀的)。

图片

然后像我这样链接:

  • Load Checkpoint的VAE连接VAE Encode的vae

  • Load Image的IMAGE链接VAE Encode的pixels

  • Load Image的MASK链接Set Latent Noise Mask的mask

  • VAE Encode的LATENT链接Set Latent Noise Mask的samples

  • Set Latent Noise Mask的LATENT连接KSampler的latent_image

可能有些乱,没关系跟着我一个一个链接:

Load Checkpoint的VAE连接VAE Encode的vae

图片

Load Image的IMAGE链接VAE Encode的pixels

图片

Load Image的MASK链接Set Latent Noise Mask的mask

图片

VAE Encode的LATENT链接Set Latent Noise Mask的samples

图片

Set Latent Noise Mask的LATENT连接KSampler的latent_image

图片

这样是不是就清楚多了,这样一来就可以在0.5-0.6这样相对中等的重绘幅度下实现更贴近原图的重绘,并且在0.2-0.3这样比较低的重绘幅度下也不会破坏生成区域。

而之所以可以做到这样得益于Set Latent Noise Mask,这个节点是将指定区域原图像素信息转为潜空间数据以后再做重新采样。

简单来说一开始的重绘是在蒙版区域上覆盖进行重绘,原图里的东西是什么和新生成的内容没有任何关系,而这个是将重绘区域扣下来画完后再贴回去。


今天的内容就到这里吧!

就简单了解学习一下如何使用重绘,当然还会有点内容我会留着下篇继续补充,感兴趣的小伙伴也可以去看原教程视频15:00。

大伙下篇笔记见啦,拜了个白

图片

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

一、ComfyUI配置指南

  • 报错指南

  • 环境配置

  • 脚本更新

  • 后记

  • .......

img

二、ComfyUI基础入门

  • 软件安装篇

  • 插件安装篇

  • ......

img

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解

  • Stable diffusion 工作原理

  • 工作流底层逻辑

  • 必备插件补全

  • ......

img

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解

  • 提词技巧精通

  • 多模型节点串联

  • ......

img

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率

  • 姿势

  • ......

img

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型

  • SDXL风格化提示词

  • SDXL工作流搭建

  • ......

img

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

img

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

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

相关文章

kali中安装zsteg教程

1、下载文件 git clone http://www.github.com/zed-0xff/zsteg 2、第一步需要保证虚拟机是有网络的,不然无法克隆 3、可以将网络设置成如下后重启,访问百度看看能不能访问,若可以访问,则进行下一步 4、查看源,删除源&…

WinForm之TCP服务端

目录 一 原型 二 源码 一 原型 二 源码 using System.Net; using System.Net.Sockets; using System.Text;namespace TCP网络服务端通讯 {public partial class Form1 : Form{public Form1(){InitializeComponent();}TcpListener listener null;TcpClient handler null;Ne…

未实施数据加密的企业,如何快速符合等保2.0标准?

企业若未实施数据加密,想要快速符合等保2.0标准,可以遵循以下步骤: 风险评估与规划: • 首先,进行全面的信息安全风险评估,识别数据处理的关键环节、敏感信息类型及其存储、传输路径。 • 基于评估结果&…

【SpringBoot + Vue 尚庭公寓实战】公寓杂费接口实现(八)

【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现(八) 文章目录 【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现(八)1、公寓杂费业务介绍2、公寓杂费逻辑模型介绍3、接口实现3.1、保存或更新杂费值3.2、保存或更新杂费名称3…

使用‘消除’技术绕过LLM的安全机制,不用训练就可以创建自己的nsfw模型

开源的大模型在理解和遵循指令方面都表现十分出色。但是这些模型都有审查的机制,在获得被认为是有害的输入的时候会拒绝执行指令,例如会返回“As an AI assistant, I cannot help you.”。这个安全功能对于防止误用至关重要,但它限制了模型的…

大数据同步方案怎么选,才能提高企业的业务效率?

大数据同步通常指的是在多个数据源或存储系统之间同步数据的过程,可以确保数据的一致性,提高数据的可用性和可靠性,同时支持数据分析和决策制定。 大数据同步的步骤通常包括: 数据识别:确定需要同步的数据类型和范围&…

《Brave New Words 》9.1 AI 世界中的就业

Part IX: Work and What Comes Next 第九部分:工作及其未来发展 The one who plants trees, knowing that he will never sit in their shade, has at least started to understand the meaning of life. —Rabindranath Tagore 种树的人,虽然知道他永远…

next.js开发中页面回退时报Unhandled Runtime ErrorTypeError destroy is not a function

Next.js开发中页面回退时报Unhandled Runtime Error:TypeError: destroy is not a function 问题描述 在Next.js开发中,从A页面跳转到B页面,再使用浏览器回退到A页面时报上述错误: 错误原因 是因为在B页面里,在使用useEffect时…

python接入汇率换算工具提高网站/小程序日活度

实时汇率换算工具可以帮助用户快速准确地计算不同货币之间最新的汇兑比例。无论是金融从业者或者是人们日常生活出行都会使用到,广泛用于国际结算、银行汇率查询应用、开展跨国贸易、投资等参考场景。 我们可以通过在网站或者小程序中接入这样一个小工具&#xff0…

HIGHLANDS - Stylized Environment(山林场景系统)

HIGHLANDS是一个游戏制作工具,包含制作游戏所需的一切。使用一系列模型创建自己的3D世界,使用着色器对其进行自定义,使用粒子效果使其栩栩如生,使用专为此软件包创建的132种声音使场景听起来栩栩如生。 该软件包已针对PC和游戏机进行了优化,尚未在移动和VR平台上进行测试。…

AI视频教程下载-用ChatGPT使Elementor创建高转化率的Clickbank漏斗

Elementor & ChatGPT_ Build Clickbank Bridge Funnel in 2Hours 在WordPress上进行联盟营销:使用Elementor创建高转化率的Clickbank漏斗;无需ClickFunnels,借助ChatGPT。 将您的联盟营销梦想变为现实——轻松且经济实惠!解锁…

网站建设中是什么意思

网站建设(Website Development)是指根据网站的需求,利用各种技术和工具对网站进行策划、设计、开发和测试的过程。一个成功的网站建设过程包括了多个阶段和环节,其中包括需求分析、网站设计、网站开发、测试和发布等。 需求分析是…

k8s+springcloud+nacos部署配置

1 k8s 部署nacos-2.1.2配置k8s-nacos-statefulSet.yaml文件 apiVersion: v1 kind: Service metadata:name: nacos-headlessnamespace: rz-dtlabels:app: nacosannotations:service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec:# 3个端口打开&…

[vue2]智慧商城app

项目演示 查看项目效果, 明确功能模块 项目收获 通过该项目的学习, 可以收获的内容 创建项目 创建命令: vue create hm-shopping-app清理项目多余文件清理 路由配置文件 和 App.vue文件新增 API接口目录 和 utils工具方法目录 vant组件库 第三方封装好了很多的组件, 整合起…

数据中台-知识图谱平台

【数据分析小兵】专注数据中台产品领域,覆盖开发套件,包含数据集成、数据建模、数据开发、数据服务、数据可视化、数据治理相关产品以及相关行业的技术方案的分享。对数据中台产品想要体验、做二次开发、关注方案资料、做技术交流的朋友们,可以关注我。 1. 概述 随着…

LabVIEW开发需求制定与管理

LabVIEW开发中的需求制定是确保项目成功的关键环节。本文从用户和开发者的角度详细分析了需求涉及的方面、需求的意义、好的需求和不好需求的区别及其对开发进度和质量的影响,帮助用户和开发者更好地进行需求管理,提升项目的成功率和软件质量。 一、需求…

【CT】LeetCode手撕—5. 最长回文子串

目录 题目1-思路2- 实现⭐5. 最长回文子串——题解思路 3- ACM实现 题目 原题连接:5. 最长回文子串 1-思路 子串的定义:子串是原始字符串的一个连续部分子序列的定义:子序列是原始字符串的一个子集记录最长回文子串的起始位置以及其长度&am…

H5小程序视频编辑解决方案,广泛适用,灵活部署

如何在微信小程序、网页、HTML5等WEB场景中实现轻量化视频制作,满足多样化的运营需求,一直是企业面临的挑战。美摄科技凭借其在视频编辑领域的深厚积累和创新技术,为企业量身打造了一套H5/小程序视频编辑解决方案,助力企业轻松应对…

批量文件重命名技巧:轻松替换删除文件夹名中的字母,实现高效文件管理新境界

在数字化时代,我们每天都会面对大量的文件和文件夹。无论是工作文档、学习资料还是个人收藏,文件命名的规范性都显得尤为重要。然而,手动一个一个去修改文件名,不仅耗时耗力,还容易出错。那么,有没有一种方…

C++并发之定时互斥(std::timed_mutex)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 lock3.3 try_lock3.4 try_lock_for3.5 try_lock_until3.6 unlock 1 概述 定时互斥是一种时间可锁定的对象,它设计用于在代码的关键部分需要独占访问时发出信号,就像常规互斥一样,但还支持定…