惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
WordPress大学
WordPress大学
博客园 - 叶小钗
B
Blog RSS Feed
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
B
Blog
V
V2EX
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
PCI Perspectives
PCI Perspectives
雷峰网
雷峰网
The Register - Security
The Register - Security
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
H
Hackread – Cybersecurity News, Data Breaches, AI and More
U
Unit 42
Security Latest
Security Latest
NISL@THU
NISL@THU
腾讯CDC
S
SegmentFault 最新的问题
小众软件
小众软件
The GitHub Blog
The GitHub Blog
月光博客
月光博客
A
Arctic Wolf
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
IT之家
IT之家
D
DataBreaches.Net
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
TaoSecurity Blog
TaoSecurity Blog
P
Privacy International News Feed

博客园 - SharpCJ

Dart 基础入门 在 JetBrains IDE 中接入 OpenCode 并配置自定义模型 理解 Agent 中的 Slash Command:从概念到自定义命令实践 Harness Engineering:把 AI 真正接进工程流程 当 AI 开始写代码,谁来保证它不会翻车? Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 拆穿名词诈骗!用大白话理解晦涩难懂的AI概念 OpenClaw 大结局——接入个人微信 Android 性能分析工具 Perfetto 的基本使用 frp 内网穿透 0.63.0 教程 LangChain入门学习 Ubuntu 下 conda 设置 ComfyUI 基础教程(五) —— 应用 IP-Adapter 实现图像风格迁移 ComfyUI 基础教程(四) —— 应用 LoRA 模型控制图像生成特征 ComfyUI 基础教程(三) —— 应用 Controlnet 精准控制图像生成 ComfyUI 基础教程(二) —— Stable Diffusion 文生图基础工作流及模型、常用节点介绍 ComfyUI 基础教程(一) —— 本地安装部署 Stable Diffusion 小白的入坑铺垫 GPT-SoVITS —— 5s 声音样本就可以训练模型,复刻声音的 AI 应用 LM Studio + open-webui 快速本地部署大语言模型 Jetpack Compose(9)——自定义Composable Compose 延迟列表踩过的坑 Jetpack Compose(8)——嵌套滚动 Jetpack Compose(7)——触摸反馈
ComfyUI 基础教程(六) —— 图像的局部重绘
SharpCJ · 2024-10-20 · via 博客园 - SharpCJ

前言

如果你看过别人的工作流,很有可能会发现每个人用的都不一样,如果不搞清楚其中的根本思想,总会有种不踏实的感觉,好像会用了,又好像不会。本文就来介绍一下 ComfyUI 中的局部重绘的三种基础方法。

局部重绘的三种思想

首先介绍一下局部重绘的三种方法:分别是 VAE 内补编码器设置 Latent 噪波遮罩使用 ControlNet

首先说明,这三种方法,没有优劣之分,它们有着各自的使用场景,用哪种要根据自己的需求来选择。

下面通过实际例子来讲解:
先看原图:

VAE 内补编码器

这里,我们把女孩的牛仔短裤,重绘成红色的短裙,按照惯例,都是先加载默认工作流,然后在其基础上进行修改,有了前面的基础,这里我们就直接上工作流看效果:

这里关键是使用了一个 VAE 内补编码器节点,加载一张图片,手动绘制遮罩, 然后将原图像和遮罩都与VAE内补编码器连接起来,操作方法,前面的文章讲过,这里就不再赘述了,如果你是刚入门学习 ComfyUI,建议按顺序看。VAE 如果没有特殊需求,可以直接由大模型输出。最后再把输出的 Latent 连接到 K 采样器的输入。 正面提示词,要填写我们希望绘制的效果。

看到生成的结果,就是把原图中遮罩部分进行了重绘,即把牛仔短裤重绘成了红色的短裙。

VAE 内补编码器中 中的遮罩延展,可以理解为 PS 中的羽化, 大家可以自己试一下, 羽化为 0 ,重绘部分的边缘很生硬,无法和原图融为一体,设置太大了也不好,一般保持默认的 6 即可。

原理:
VAE 内补编码器,需要将原图和蒙版一起传入,这种重绘方式的原理是蒙版区域为空白潜空间,生成的图像跟之前蒙版的内容没有任何关系,只是参考了原图的风格,它适合做一些比较大的调整,重绘一个完全不相干的东西。

多尝试几次,甚至会发现,该方法重绘可能会绘制一些奇怪的画面,要像达到比较好的效果,有抽卡的成分,所以在使用这种局部重绘时,最好是用在不是微调的场景。

注意:不建议降低降噪值,原因:数值越低,越接近原图,而蒙版区域又是空白潜空间,就没了参考了。会出现没有绘制的效果。

Latent 噪波遮罩局部重绘

在不想大调整,只想局部微调的时候,使用 Latent 噪波遮罩的方法就非常适合,这种重绘方式的原理是蒙版区域参考原蒙版的内容,重绘区域还参考了原图,能更好地理解需要重新生成的内容。
我们给女孩重绘会上一个眼镜,先看工作流:

这里设置噪波幅度是有用的,当设置的太小,就会保持跟原图差不多。具体设置多少,还是需要根据效果不断调整。

ControlNet 局部重绘

ControlNet 重绘,可以理解为使用更加“专业”的方式(但不一定更加适合需求)提取原图的某种特征,对绘制进行更精准的控制。,前面有一篇文章专门讲了 ControlNet,根据 ControlNet 不同的模型,可以提取图像的轮廓图、深度图、人物姿态等各种特征。
给出传送门:ComfyUI 基础教程(三) —— 应用 Controlnet 精准控制图像生成 https://www.cnblogs.com/joy99/p/18402051

总结

最后总结一下:
关于局部重绘,三种方式的特点:

  1. VAE 内补编码器,自由度高,适合大面积的局部替换,缺点是需要抽卡。
  2. 设置 Latent 噪波遮罩,和原图完美融合,适合局部微调,生成相似的内容。
  3. ControlNet,适合精准控制图像绘制,把握整体构图。