ComfyUI完全入门:图生图局部重绘

2024-05-26 00:36

本文主要是介绍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完全入门:图生图局部重绘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003060

相关文章

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v