[AI绘画] 简明原生 ComfyUI 三重超细节放大教程(附工作流)

news2024/11/18 6:17:27

本教程将从0构建 ComfyUI 三重细节填充放大工作流,人有多大胆,图有多大产
在这里插入图片描述

**(建议横屏)**鬼灭之刃 · 堕姬 & 甘露寺蜜璃 · 三重细节填充放大 · 16K(15488×8832)

「四种放大」

”潜空间“和”像素空间”,图像放大可以在潜空间里做,也可以在像素空间里做,效率和效果截然不同。

AI绘画常用的图像放大思路有四个:像素放大、模型放大、重采样放大、区块放大。这四个并不是专业术语,也不是标准的分类,但我觉得这么分类非常有助于理解和实操,其他不常用的放大方法在此没有拿出来讨论的必要性。

「像素放大」

右侧是一张150px×150px的头像,左侧是使用图片编辑器(这里使用Photoshop也就是PS)的“调整图像大小”功能进行的简单两倍像素放大(也就是300px×300px)的效果。原来的蓝色眼瞳高光占2个像素,放大后占了约9个像素。

像素放大法只是单纯的将1个像素点复制出了N个,仅此而已(其实就是基于插值算法,计算出图像放大后新位置的像素值),它并不增加任何细节。当把镜头推远后,直观感觉上图像的质量并没有提升,该“糊”的地方还是很“糊”。

这个事情也侧面反映出,图像和视频并不是分辨率越高质量越好。所谓的“高清”、“超清”,讲的是单位面积的像素内所承载的内容密度。内容密度不够,分辨率再高也是糊。

“像素放大”方法是在“像素空间”做文章的放大方法,也是对提升清晰度来说最没用的一种放大方法。

「模型放大」

基于深度学习模型、网络对抗模型等现代算法来放大图片,在提高分辨率的同时保持能增强图像的细节、清晰度和逼真度。耳熟能详的有ESRGAN系列和它的升级版4x-ultrasharp。

右半边是原图,左半边使用了 4x-ultrasharp 模型进行放大。嘴唇、皮肤、脖子上的金属首饰,质感得到了明显增强。直观上,4x-ultrasharp 增加了图像的“锐度”,这可能也是模型使用“sharp”这个词的原因。

同样是使用了 4x-ultrasharp 放大模型,注意头发和眉毛在经过模型放大后纹理和细节性的加强程度。

模型放大方法也是在“像素空间”做文章的放大方法,它总是尝试从低分辨率图像中生成高分辨率图像,然后不断判断生成的高分辨率图像与真实高分辨率图像之间的差异,多次迭代形成最优图像。

模型放大是最常用的图像还原和超清分辨率方法,快速、使用、质量高。工作流非常简单:

「重采样放大」

重采样放大也叫潜空间放大,顾名思义就是把“高维度像素空间”的图片,通过VAE编码打回到“更大尺寸的低维度潜空间”,通过添加额外的随机噪声,再VAE解码,实现图片的间接放大。

如果你明白潜空间的含义,就知道重采样放大,实际上是一种图生图重绘,所以这种放大思路的缺点在于放大质量的不稳定性。重采样步骤和采样算法等因素的协调性,直接影响了放大的质量和与原图的一致性。

「区块放大」

区块放大严格意义上不是一种“算法”,它更像是一个工程技巧。它的基本思路是图像拆分->分别放大->重新组合。

更大的图像尺寸就是能够在单位像素面积下承载更多的内容,所以尽可能地在放大整体像素尺寸的同时填充内容,是大家都希望的。换句话说,只要硬盘够大,好的图片多大都不算大。

假设你的显卡和显存容量,能够支持一次性将1024×1024的图片放大4倍,也就是4096×4096,那么你还能将它再一次性超清放大4倍吗?然后再放大4倍呢?对于大多数家用电脑,答案是否定的,强如N卡GTX4090的显存也会爆掉。

区块放大,就是将这个4096×4096的图片,三横三竖砍成16个1024×1024的图块,然后分别对这16张局部图进行16次单独放大,再将他们按照原来的顺序和位置拼接好,从而实现对 4096×4096 放大4倍的效果。

实际的分块,要比上面这个计算尺寸大一个边,也就是说,块与块之间的边界,有内容重合的部分,比如每个块实际上是按照 1100×1100 来放大的。这么做的好处是,在最后一步拼接时,块与块之间会有更好的衔接,整张图会更整体。

「工作流拆解和创建」

三重放大的基本思路是组合上面介绍的四种放大中的后面三种,即:潜空间放大->分区放大->模型放大。这个组合顺序,从原理上来说可以总结为“潜空间重采样”、“像素空间局部模型放大”、“像素空间全局模型放大”。关于顺序说明如下:

如果把潜空间放大放在靠后的位置,它的重采样效果会破坏前置放大步骤为图像增添的细节和清晰度,因果关系就类似“先贴漂亮的墙纸、再把墙砸掉、再砌一面更好的墙”。所以所有的潜空间放大都应该放在最前面。

区块放大本质上是局部模型放大,它不破坏整体结构和内容协调性,是在“潜空间放大”增加了画面丰富度后,进一步进行画面的细节精细化处理并添加更好的光影效果。所以紧跟着潜空间执行。

模型放大作为全局整体执行时,不添加任何细节,而是把看起来很“糊”的东西变得更加清晰,可以简单的理解为是在把尺寸放大的同时锐化整个画面。

「添加潜空间放大节点」

潜空间放大不需要把K采样器的结果进行解码,那么我们把基础工作流最后的VAE解码节点删除。之后添加两个节点:

  • 新建 -> Latent -> Latent按系数缩放

  • 新建 -> 采样 -> K采样器。

将原K采样器的Latent输出连接到新增的Latent按系数缩放节点的输入上,并将它的输出连接到新增K采样器的Latent输入上;将模型加载节点的模型输出连接到新增K采样器的对应输入上;将两个CLIP文本编辑器的输出连接到新增K采样器的对应输入上。

Latent按系数缩放和K采样器,完成“潜空间放大”

「添加区块放大节点」

区块放大节点需要额外下载,安装的“插件管理器”,搜索“ssitu”直接安装,或者从 GitHub 下载离线包后,解压到 ComfyUI_windows_portable\ComfyUI\custom_nodes 文件夹下

‍区块放大节点是一个特别大的节点,因为它傻瓜式融合了分块、区块模型放大、区块拼接、接缝重绘整合等多个步骤。区块放大节点的位置

  • 新建->图像->放大->SD放大

有两点需要注意。第一,区块放大节点的输入不同于潜空间放大,它的输入不是Latent而是图像,所以我们要现在区块放大节点之前,增加一个VAE解码器,以便把前一步潜空间放大的结果转换为像素空间图像。第二,区块放大本质是模型放大,所以需要放大模型加持。我们直接从区块放大节点的“放大模型”输入点上用鼠标连线到空白处,在弹出的选项中选择“放大模型加载器”。

随后,将最前面模型加载节点的模型输出连接到区块节点的对应输入上;将最前面模型加载节点的VAE输出连接到区块放大节点对应的输入上;将前面两个CLIP文本编辑器的输出连接到新增K采样器的对应输入上。这样我们就连接好了区块放大节点。

为了简化教程,目前我们只需要关注分块宽度和分块高度。如果你的基模是SD1.5系列,这两个值为512或768。如果你的基模是SDXL、Pony或更高版本,这两个值至少是1024并且是64的整数倍。

这两个值什么意思呢?我们刚刚说过,区块放大就是把一张图,切割成若干子图,分别对子图放大后在拼接成大图。这两个值,就决定了切割出来的子图的大小,用一张图示意如下:

这是一张 2200×1400 的图,当我们设置分块为 1024×1024 时,图片大约会按照上面这个切分方式分为 2×3 的网格,并分6次局部执行局部模型放大。

上面是一个简化算法。实际的切分方法要更加复杂一些。为了确保子图与子图在最终拼接时具有更加丝滑的接缝过度,实际上分块与分块之间会重合,重合的宽度由叫做“接缝修复宽度”的参数控制。实际分块可视化后大概像这样:

「添加模型放大节点」

这一步就比较简单了,添加一个“图像通过模型放大”节点即可

  • 新建->图像->放大->图像通过模型放大

将上一步区块放大节点的图像输出给到模型放大的图像输入,将上一步的放大模型加载其的输出,再拉一根线到模型放大节点的放大模型输入上,这样就完成了全局模型放大节点的搭建。

至此,我们就完成了三重超清放大工作流的全部搭建工作,这个工作流现在长这样,其中红框为“潜空间放大”,绿框为“区块放大”,黄框为“模型放大”,红框前面的部分是我们前面讲过的文生图绘图模型:

「放大效果」

「潜空间放大效果前后对比」

左:原图 右:潜空间重采样 眉毛纹理、睫毛根数和瞳仁深度得到细节增强

左:原图 右:潜空间重采样 珍珠重绘和高光增强

「区块放大效果前后对比」

左:上一步原图 右:区块放大结果 花蕊重绘细节增强

左:上一步原图 右:区块放大结果 鼻子高光、唇部高光

「全局模型放大前后对比」

左:上一步原图 右:模型放大结果 全局锐化

「附加题」

上面介绍的是文生图三重超清放大工作流。最后,曾通过替换潜空间节点,将“文生图”进化为“图生图”。那么三重超清放大工作流用相同方法调整后,就可以变成任意外部图片的高分辨率修复工作流,比如做一个老照片修复。

为了帮助大家更好地掌握 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/1991326.html

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

相关文章

精通C++ STL(三):vector的介绍及使用

目录 vector的介绍 vector的使用 vector的定义方式 vector的空间增长问题 size和capacity reserve和resize empty vector的迭代器使用 begin和end rbegin和rend vector的增删查改 push_back和pop_back insert和erase swap 元素访问 vector迭代器失效问题 迭代器失效问题举例 …

vue3+Vite实现滑动拼图验证

参考文档:https://github.com/javaLuo/vue-puzzle-vcode/blob/master/README3.md 最近想学习一下这个前端滑动拼图的实现,就找了一个第三方库,该库支持vue2和vue3两个版本,直接看文档就能上手,我自己跑了一边倒&#…

武汉流星汇聚:青少年为何钟情亚马逊?一站式购物与信任铸就魅力

在当今这个数字化时代,青少年的消费习惯正以前所未有的速度演变,他们不仅是未来的消费主力军,更是推动市场变革的重要力量。令人瞩目的是,Piper Sandler最新发布的青少年消费研究报告揭示了一个引人注目的现象:超过半数…

快速下载大模型的方法

现在,每天都有各种大模型不断涌现,这些模型文件通常都很大。如何快速又靠谱地下载这些开源大模型,放到我们的环境中,进行后续的微调、量化和部署工作呢?以下是我的一些经验分享。 准备 Docker 基础环境 首先&#xf…

个人知识库与RAG的技术

构建个人知识库时,采用RAG结合LangChain的方法极为有效。RAG,即检索增强生成技术,是一种前沿的自然语言处理手段,它融合了信息检索的精确匹配与语言模型的高效文本生成,为处理自然语言相关任务提供了一种既灵活又准确的…

java~泛型

目录 泛型 泛型的声明 泛型的实例化 泛型的使用细节 自定义泛型类 自定义泛型接口 自定义泛型方法 泛型的继承和通配符 Junit 单元测试类 泛型 检查添加元素的类型 减少了类型转换的次数&#xff0c;直接对这个类型进行遍历&#xff0c;例如arraylist<>() publ…

Python酷库之旅-第三方库Pandas(072)

目录 一、用法精讲 291、pandas.Series.dt.round函数 291-1、语法 291-2、参数 291-3、功能 291-4、返回值 291-5、说明 291-6、用法 291-6-1、数据准备 291-6-2、代码示例 291-6-3、结果输出 292、pandas.Series.dt.floor函数 292-1、语法 292-2、参数 292-3、…

贪吃蛇游戏的实现:C++ 控制台版

功能概述 控制蛇的移动&#xff1a;使用WASD键控制蛇的移动方向。随机生成食物&#xff1a;蛇吃到食物后&#xff0c;食物会在游戏区域内随机生成。显示分数&#xff1a;游戏中会显示当前分数。游戏结束条件&#xff1a;当蛇碰到自己或走出边界时&#xff0c;游戏结束并显示“…

从巴黎到乐清,奥运精神引领全民健身新风尚!

16位火炬手接力&#xff0c;乐清点燃全民健身新篇章&#xff01; 作者&#xff1a;华夏之音总监&#xff0f;李望 在巴黎奥运会如火如荼进行的第11天&#xff0c;中国体育代表团以22枚金牌的骄人战绩领跑金牌榜&#xff0c;每一枚金牌都闪耀着中华体育精神的璀璨光芒&#xff…

c++ 连接mysql

其实就是MYsql c语言的API #define _CRT_SECURE_NO_WARNINGS 1 #define HOST "192.168.226.1" #define USER "root" #define PASSWORD "123456" #define PORT 3066#include <iostream> #include <stdlib.h> #include <mysql.…

【北斗授时服务】NTP网络时间服务器 安徽京准智造

【北斗授时服务】NTP网络时间服务器 安徽京准智造 【北斗授时服务】NTP网络时间服务器 安徽京准智造 一、NTP网络时间服务器产品介绍&#xff1a; NTP网络时间服务器是针对计算机、自动化装置等进行校时而研发的高科技设备&#xff0c;该产品可从GPS卫星&#xff08;北斗卫星、…

数据采集工具之Canal

本文主要介绍canal采集mysql数据的tcp、datahub(kafka)模式如何实现 1、下载canal https://aliyun-datahub.oss-cn-hangzhou.aliyuncs.com/tools/canal.deployer-1.1.5-SNAPSHOT.tar.gz 2、TCP模式的实现 a、canal.properties 打开看看即可&#xff0c;不需要调整 ######…

蚁群求解旅行商问题(TSP)的MATLAB例程

程序概况 输入需要经过的节点坐标&#xff1a; 运行程序后&#xff0c;即可得到&#xff1a; 运行结果 左图为遍历各点的运动轨迹&#xff0c;最终会回到起点右图为平均距离&#xff08;红线&#xff09;和最短距离在迭代时的变化情况 源代码 代码下载链接如下&#xff1a…

【工具类】JAVA (Android Studio )+ JS 加密解密 AES + Base 64

JAVA &#xff08;Android Studio &#xff09; JS 加密解密 AES Base 64 前言JAVA 代码&#xff08;解密&#xff09;JS代码&#xff08;加密&#xff09; 前言 整个过程&#xff1a; JS 接口先用AES加密&#xff0c;然后加密内容转Base64 编码&#xff1b;JAVA进行Base64解…

虹科干货 | 如何确保干冰运输的安全和稳定?

在上篇文章中&#xff0c;我们介绍了液氮罐运输和存储温度监测解决方案&#xff0c;本文我们将会了解医药供应链中干冰运输和温度监测的关键要点。 干冰在医药行业的应用 干冰是固体二氧化碳&#xff0c;当表面温度为 -78.5℃时&#xff0c;一块冷冻的干冰会直接转变为气体&am…

Ubuntu-18.04.1安装JetBrains PyCharm 2018.1.6 专业版(永久破解方法)

软件安装包下载地址&#xff1a;Other Versions - PyCharm 将安装包放置Ubuntu系统中解压&#xff0c;到bin目录下找到pycharm.sh即可打开。 补丁破解方式&#xff08;需关闭软件pycharm&#xff0c;否则会打不开pycharm&#xff01;&#xff01;&#xff01;&#xff09;&am…

昂科烧录器支持MindMotion灵动微电子的32位微控制器MM32F5287L9P

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中MindMotion灵动微电子的32位微控制器MM32F5287L9P已经被昂科的通用烧录平台AP8000所支持。 MM32F5287L9P搭载Armv8-M 架构“星辰”STAR-MC1处理器&#xff0c;最高工作频率可达…

CSS技巧专栏:一日一例 20-纯CSS实现点击会凹陷的按钮

本例图片 案例分析 其实这个按钮非常的简单啊&#xff0c;主要就是利用了box-shadow的inset。 布局代码 <button class"base">凹下的按钮</button> 基础样式 :root{--main-bg-color: #dcdcdc; /* 将页面背景色调整为浅灰色 */--color:#000;--hover-…

Cesium手动建模模型用Cesiumlab转3D Tiles模型位置不对,调整模型位置至指定经纬度

Cesium加载3Dtiles模型的平移和旋转_3dtiles先旋转再平移示例-CSDN博客 Cesium 平移cesiumlab生产的3Dtiles切片模型到目标经纬度-CSDN博客 【ArcGISCityEngine】自行制作Lod1城市大尺度白膜数据_cityengine 生成指定坐标集指定区域的白模-CSDN博客 以上次ArcGISCityEngine制…

IEEE Transactions on Intelligent Transportation Systems投稿指南

投稿记录 submitted 2024-5-29 Awaiting AE Assignment 2024-6-11 Under review 2024-6-15 Awaiting EIC Decision 2024-6-24 感觉要拒稿的节奏 Resubmit To Another Journal 2024-6-25 与期刊不符合 下载模板 IEEE Transactions on Intelligent Transportation Syste…