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

相关文章

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3