ComfyUI完全入门:图生图局部重绘
大家好,我是每天分享AI应用的萤火君!
这篇文章的主题和美女有关,不过并不是教大家生产美女视频,而是讲解 ComfyUI 的图生图局部重绘,其中将会以美女图片为例,来展示局部重绘的强大威力。
先看看效果:

ComfyUI是什么?
在AI绘画领域,Stable Diffusion 因其开源特性而受到广泛的关注和支持,背后聚拢了一大批的应用开发者和艺术创作者,是AI绘画领域当之无愧的王者。
目前使用 Stable Diffusion 进行创作的工具主要有两个:Stable Diffusion WebUI 和 ComfyUI。
Stable Diffusion WebUI 开箱即用,基本功能齐全,社区也有很多的插件支持,入门比较简单,适合新手,但是可定制性稍微差点,很多作品不容易传播复现,使用API进行操作也有一定的难度。
ComfyUI 虽然出来的晚一点,但是它的可定制性很强,可以让创作者搞出各种新奇的玩意,通过工作流的方式,也可以实现更高的自动化水平,创作方法更容易传播复现,发展势头特别迅猛。从解放生产力以及工业化批量生产的角度看,ComfyUI 具备更广阔的应用前景。
但是 ComfyUI 的上手门槛有点高,对 Stable Diffusion 以及各种扩展能力的原理需要有一定的理解,动手能力要求也比较高。为了让 ComfyUI 走进千家万户,从这篇文章开始,我将开始介绍一些 ComfyUI 的概念和使用方法,让大家更快的掌握 ComfyUI 的使用技巧,创作出自己独特的艺术作品。
如何安装 ComfyUI?
本地或手动安装
本系列的第一篇文章中已经详细的介绍过安装步骤,需要的同学请点此前往:ComfyUI 完全入门:安装部署
云环境使用
如果你的电脑没有配置高性能的Nvidia显卡,我建议你可以先在云环境试试,推荐两个云平台:
京东云:京东云最近大举进入AIGC领域,新上了AI服务器,价格十分美丽,目前4090每小时1.89,最重要的是还可以领取2个小时的代金券(领取方式见文末)。为了让大家在京东云尽快跑起来,萤火君也正在制作相应的 ComfyUI 镜像,内置常见模型和插件,敬请关注。
智算服务的地址:智算服务-京东云
AutoDL:AutoDL是一个云计算平台,提供多种显卡服务器租用服务,可按小时付(1-2元左右),显卡价格相比阿里云、腾讯云有明显的优势,我一直在用,推荐本地硬件性能不足的同学试试。
镜像地址:CodeWithGPU | 能复现才是好算法
镜像使用方法:打开镜像页面,点击右下角的“AutoDL创建实例”,按照使用说明操作即可。

ComfyUI局部重绘
基本重绘方法
我们先来看一个最简单的局部重绘示例,在这个示例中,我将在姑娘左边的地板上增加了一条黄色的小狗。工作流下载见文末。

加载重绘图片
从左向右看,最左边是加载需要做局部重绘的图片,并在图片中添加一个遮罩,遮罩的区域内将绘制一条小狗。这个部分包括4个节点,我分别介绍下:

加载图像:从文件夹选择一张图片,或者上传一张图片。然后我们在图片上点击右键,在弹出的菜单中继续点击“在遮罩编辑器中打开”,在打开的页面中我们就可以绘制遮罩了,完成绘制点击右下角的“Save to node”就可以了,操作如下图所示:

VAE编码:图片要进行重绘,还是要走扩散模型的基本流程,这里需要使用VAE模型将图片编码到潜空间。
遮罩羽化:让遮罩部分生成的内容和图片的其它部分融合的更好一些,不那么突兀。
遮罩平滑:我们手动操作可能比较毛糙,让遮罩的编码更加平滑。
设置Laten滤波遮罩:给潜空间中的遮罩区域增加噪音,这样可以让生成的内容和图片融合的更好些。
设置SD参数
然后我们还要设置Stable Diffusion的基本参数,包括:
加载SD基础模型:可以使用所有的SD基础模型,SD1.5、SDXL都可以。
填写提示词和反向提示词:描述要重绘的内容,不想出现的内容等。
设置采样器:常用的K采样器即可,所有参数都是用默认设置即可。
最终保存图像:可以设置一个文件名前缀。

然后就可以“添加提示词队列”去生成图片了。
使用ControlNet精细重绘
终于到了更换丝袜的环节了。因为我们只是想要更换丝袜的颜色,腿形啥的都不想有大的改变,这就需要更为精细的控制,可以通过引入 ControlNet 达到这个目的。
Canny控制网
我们先使用 Canny 控制网来进行处理,Canny 是一个线稿模型,它可以控制图片按照线稿的约束进行生成,效果不错。工作流的其它部分基本不用改变,我们只需要增加 ControlNet 的部分,并把这些节点添加到工作流中。这里主要介绍下ControlNet的部分(完整的工作流请在文末获取),看下面这张图:

先看左边三个节点:
- Canny细致线预处理器器:从要重绘的图片中提取线稿图,这里边有个分辨率的参数,需要设置为图片最小边的像素值,所以引入了“数学表达式”和“图像信息”两个节点。
- 图像信息:提取要重绘图片的宽度和高度。
- 数学表达式:获取图片宽度和高度的最小值。
再看右边两个节点:
- DiffControlNet加载器:用来加载ControlNet模型,注意模型要和预处理器匹配。
- ControlNet应用:用来定义一个ControlNet节点,其中的强度、开始时间和结束时间,是用来控制 ControlNet 参数图片生成的影响力的,开始时间和结束时间的取值范围是0-1,代表在采样过程中的介入时机。
另外需要注意的是遮罩的绘制和提示词的编写:
先看遮罩的绘制,因为只是更改丝袜的颜色,我们这里需要只把腿覆盖上,其它部分尽量不要覆盖,以免出图效果不好。

再看提示词,我们需要在提示词中描述丝袜的颜色、质地等特征。
最后还是点击“添加提示词队列”去生成图片。
Tile控制网
另外我也做了一个Tile控制网的工作流,Tile的主要能力是细节完善,修改颜色比较困难,但是也能把丝袜处理的更好看一些,所以还是简单介绍下。
这里也需要一个预处理器,Tile平铺预处理器,它主要是把图片变模糊。这里的分辨率我没有自动计算,直接设置为了图片最小边的长度,你生成图片的时候请注意修改。
其它ControlNet模型的选择就没什么好说的了,工作流下载还是见文末。

资源分享
工作流:请给公众号“萤火遛AI”发消息:局部重绘,即可获取。
京东云代金券:请+V yinghuojun007 领取。
以上就是本文的主要内容。
用好 ComfyUI:
- 首先需要对 Stable Diffusion 的基本概念有清晰的理解,熟悉 ComfyUI 的基本使用方式;
- 然后需要在实践过程中不断尝试、不断加深理解,逐步掌握各类节点的能力和使用方法,提升综合运用各类节点进行创作的能力。
我将在后续文章中持续输出 ComfyUI 的相关知识和热门作品的工作流,帮助大家更快的掌握 Stable Diffusion,创作出满足自己需求的高质量作品,感兴趣的同学请及时关注。
另外我还创建了一个AI绘画专栏,可以零门槛,全面系统的学习 Stable Diffusion 创作,让创作灵感轻松落地!如有需要请点击此处进入。
相关文章:
ComfyUI完全入门:图生图局部重绘
大家好,我是每天分享AI应用的萤火君! 这篇文章的主题和美女有关,不过并不是教大家生产美女视频,而是讲解 ComfyUI 的图生图局部重绘,其中将会以美女图片为例,来展示局部重绘的强大威力。 先看看效果&…...
基于UDP的网络多人聊天室
UDP服务器 #include <myheader.h>//宏定义打印错误信息 #define PRINT_ERR(msg) \do \{ \printf("%S,%D,%S\n",__FI…...
美国FDA认证是什么,食品FDA注册申请流程
美国FDA认证是什么? 美国FDA认证,全称为美国食品药品监督管理局(Food and Drug Administration)的认证,是美国政府为了确保食品、药品、医疗器械等产品的安全性和有效性所设立的重要制度。FDA认证的种类繁多&#x…...
golang的context和chan 的使用
1. context 作用 context包的context的接口,主要是控制协程执行上下文的时间,以及取消程序的执行,以及上下文中传递数据等作用,golang中耗时或者需要协同的操作都会见到context的身影。 context有几个常用的方法 1.1 context.B…...
洛谷P3574 [POI2014] FAR-FarmCraft(树形dp)
洛谷 P 3574 [ P O I 2014 ] F A R − F a r m C r a f t (树形 d p ) \Huge{洛谷P3574 [POI2014] FAR-FarmCraft(树形dp)} 洛谷P3574[POI2014]FAR−FarmCraft(树形dp) 文章目录 题意题目说明 思路标程 题目…...
vue/core源码中ref源码的js化
起源: 当看见reactivity文件中的ref.ts文件长达五百多的ts代码后,突发奇想想看下转化成js有多少行。 进行转化: let shouldTrack true; // Define shouldTrack variable let activeEffect null; // Define activeEffect variable// 定义…...
准备打ccf
准备打ccf...
k8s遇到的错误记录
时隔四年有开始重新鼓捣k8s了,重新安装后遇到的错误记录如下: Error: Package: kubelet-1.14.0-0.x86_64 (kubernetes) Requires: kubernetes-cni 0.7.5 Available: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes) …...
全局平均池化笔记
全局平均池化(Global Average Pooling, GAP)是一种用于卷积神经网络(CNN)中的池化操作,其主要作用和优点包括: 减少参数数量:全局平均池化层将每个特征图通过取其所有元素的平均值,压…...
【数仓系列】maxcompute、postgresql、sparksql等行转列数据处理实战总结(其他类型持续总结更新)
1.熟悉、梳理、总结项目研发实战中的SQL开发日常使用中的问题、经验总结,都是常用的开发技能,可以省去很多时间,时间长就忘记了 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 文章目录 1.maxcompu…...
用数据,简单点!奇点云2024 StartDT Day数智科技大会,直播见
在充满挑战的2024,企业如何以最小化的资源投入和试错成本,挖掘新的增长机会,实现确定性发展? “简单点”是当前商业环境的应对策略,也是奇点云2024 StartDT Day的核心理念。 5月28日,由奇点云主办的2024 S…...
Cloneable接口和深拷贝
在java中如何对对象进行拷贝呢?我们可以使用Object类中的clone方法。 一、浅拷贝 在使用clone方法对对象进行拷贝的时候,需要注意: 1.需要重写clone方法; 2.clone方法的返回值是Object类,需要强制类型转化…...
C++:vector的介绍及使用
✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 文章目录 前言 一、vector的介绍 二、vector的使用 2.1.构造和赋值重载(Member functions) 2.2 vector iterator 的使用 2.3 vector 空间增长问题 2.4 vector 增删查改 三 sort 四 v…...
【机器学习】大模型在机器学习中的应用:从深度学习到生成式人工智能的演进
🔒文章目录: 💥1.引言 ☔2.大模型概述 🚲3.大模型在深度学习中的应用 🛴4.大模型在生成式人工智能中的应用 👊5.大模型的挑战与未来展望 💥1.引言 随着数据量的爆炸性增长和计算能力的提…...
营销短信XML接口对接发送示例
在现代社会中,通信技术日新月异,其中,短信作为一种快速、简便的通信方式,仍然在日常生活中占据着重要的地位。为了满足各种应用场景的需求,短信接口应运而生,成为了实现高能有效通信的关键。 短信接口是一种…...
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:C语言刷题系列 目录 一、问题描述 二、解题思路 解题思路: 解题步骤: 三、C语言代码实现及测试 一、问题描述 给定一…...
Python pdf2imges -- pdf文件转图片
pdf文件转图片,需要安装PyMuPDF包,具体PyMuPDF包介绍可以参考:Python 处理 PDF 的神器 -- PyMuPDF import fitz # pip install PyMuPDF# PDF转换为IMG统一管理 def pdf_to_images(pdf_path, img_path, filename):"""pdf_p…...
分布式版本控制工具 git
git 是什么 分布式版本控制工具。github 是代码托管平台。 git 有什么用 保存文件的所有修改记录。使用版本号(sha1 哈希值) 进行区分。随时可浏览历史版本记录。可还原到历史指定版本。对比不同版本的文件差异。 为什么要使用 git 多人协作开发一个大…...
Flutter 中的 ExpansionTile 小部件:全面指南
Flutter 中的 ExpansionTile 小部件:全面指南 在 Flutter 应用中,ExpansionTile 是一个常用的折叠列表项,它允许用户点击标题来展开或折叠更多的内容。这个组件在实现可折叠列表、FAQ 部分或显示详情信息时非常有用。本文将详细介绍 Expansi…...
二进制的协议的测试程序
一、引子 由于要调试二进制私有协议,不想用C重头到尾写,用C写工程量有点大,因此想找一个比较简单的工具,postman无法实现,外界的几乎找不到合适的工具,只能考虑手写一个。 前面写了一个python通过tcp协议发…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
