ComfyUI_UltimateSDUpscale 中 Ultimate SD Upscale 节点详解:分块 image-to-image 重绘与接缝修复的完整参数指南
发布时间:2026/10/14 16:44:48 锦皓数字建站

人工智能计算机视觉图像处理媒体生成【免费下载链接】ComfyUI_UltimateSDUpscaleComfyUI nodes for the Ultimate Stable Diffusion Upscale script by Coyote-A.项目地址https://gitcode.com/gh_mirrors/co/ComfyUI_UltimateSDUpscale点击查看免费下载Ultimate SD Upscale下文简称 USDU是 ComfyUI_UltimateSDUpscale 项目的核心节点它把图像上采样与分块tiledimage-to-image 重绘结合让扩散模型始终在自己被训练过的分辨率范围内逐块处理图像从而在提升大图细节的同时显著降低显存需求。读完本文你将完整掌握该节点的三段式处理流程、全部输入/输出参数的含义与取值范围、分块/接缝修复各模式的取舍并能结合仓库源码定位每一步的实现位置为搭建自己的高清放大工作流提供可直接复制的参考。节点处理流程总览根据 节点文档 的描述一次 USDU 执行包含三个阶段上采样阶段输入图像由upscale_by参数决定放大倍数实际放大使用upscale_model输入的超分模型完成。重绘redraw阶段若分块顺序mode_type不为 None则按分块顺序依次选取块区域块大小由tile_width/tile_height/tile_padding等确定每个块作为 image-to-image 的输入使用节点小部件给定的采样参数steps、cfg、sampler_name、scheduler、denoise重绘后再按遮罩贴回放大后的原图对应位置直到所有块处理完毕。接缝修复seam fix阶段若启用则按seam_fix_mode指定的策略对上一步留下的块间接缝区域复用同一套 image-to-image 流程再做一次局部重绘。从源码结构看这条链路在 节点入口 中得以印证UltimateSDUpscale.upscale()先把 ComfyUI 的模型/条件/VAE/超分模型映射到 A1111 风格的shared模块例如shared.actual_upscaler upscale_model见 upscaler 适配层构造一个模拟 A1111 的 StableDiffusionProcessing 对象再调用被 usdu_patch.py 打过补丁的usdu.Script.run(...)。补丁版本保留了原始 USDU 脚本首次启动时由init.py 自动下载放入repositories/ultimate_sd_upscale/中的USDUpscaler、USDURedraw、USDUSFMode等流程骨架只替换了采样、尺寸取整和批处理等与 ComfyUI 引擎对接的部分。因此文档中描述的行为与上游 A1111 脚本的行为是一致的。输入参数详解下表完整继承了 官方节点文档 的 Inputs 表格参数定义与默认值和 usdu_nodes.py 中的 USDU_base_inputs() 逐项对应参数数据类型输入方式默认值范围说明imageIMAGEImage InputNone-要放大的图像。modelMODELModel SelectionNone-用于对每个块做 image-to-image 的模型。positiveCONDITIONINGConditioning InputNone-重绘阶段每个块使用的正向条件。negativeCONDITIONINGConditioning InputNone-重绘阶段每个块使用的负向条件。vaeVAEModel SelectionNone-用于编码/解码块的 VAE 模型。upscale_byFLOATSlider2.00.05–4.0步进 0.05输入图像宽高乘以此倍数。seedINTNumber Input00–18446744073709551615image-to-image 的随机种子保证结果可复现。stepsINTNumber Input201–10000重绘与接缝修复阶段每个块的采样步数。cfgFLOATSlider8.00.0–100.0每个块的 CFG 引导强度越高越贴近提示词推荐值取决于具体模型。sampler_nameCOMBODropdown-可用采样器块重绘使用的采样器。schedulerCOMBODropdown-可用调度器采样过程使用的调度器。denoiseFLOATSlider0.20.0–1.0步进 0.01每个块的去噪强度。越高创意变化越大但出现接缝的概率也越高。upscale_modelUPSCALE_MODELModel SelectionNone-分块重绘前对图像做放大的超分模型。mode_typeCOMBODropdown-Linear, Chess, None重绘阶段的分块顺序。Linear 按行逐行处理Chess 用棋盘格图案None 跳过重绘阶段。tile_widthINTNumber Input51264–8192步进 8重绘阶段每个块的基础宽度。tile_heightINTNumber Input51264–8192步进 8重绘阶段每个块的基础高度。mask_blurINTNumber Input80–64贴回块时所用遮罩的高斯模糊半径帮助块之间无缝混合值越大接缝附近保留的原始图像越多。tile_paddingINTNumber Input320–8192步进 8块的填充量为更好的混合提供更多上下文会增加实际块尺寸约(tile_width tile_padding) x (tile_height tile_padding)。seam_fix_modeCOMBODropdown-None, Band Pass, Half Tile, Half Tile Intersections接缝修复模式不同模式用不同策略修复块间可见接缝。seam_fix_denoiseFLOATSlider1.00.0–1.0步进 0.01接缝修复阶段使用的去噪强度。seam_fix_widthINTNumber Input640–8192步进 8Band Pass 模式中条带区域的宽度。seam_fix_mask_blurINTNumber Input80–64接缝修复遮罩的模糊半径保证平滑过渡。seam_fix_paddingINTNumber Input160–8192步进 8接缝修复阶段的填充量会增加块尺寸。force_uniform_tilesBOOLEANToggleTrueTrue/False启用后被图像边缘截断的块会使用块周围的上下文扩展保持tile_width/tile_height/tile_padding确定的统一尺寸A1111 Web UI 中即此行为禁用后使用最小块尺寸采样可能更快但非规则块尺寸可能产生伪影。tiled_decodeBOOLEANToggleFalseTrue/False解码块时是否使用分块解码。当你预知 ComfyUI 引擎做常规解码会 OOM、最终也会回退到分块解码时开启可跳过尝试过程。补充说明当前仓库的 节点源码 在上述文档参数之外还提供了一个未写入旧版文档的batch_sizeINT默认 1范围 1–4096一次编码/采样/解码多个块可减少处理时间但占用更多显存且与逐块处理产生不同结果只作用于主重绘阶段并且当batch_size 1时断言要求force_uniform_tiles为 True入口校验。mode_type与seam_fix_mode的取值在源码中分别映射到枚举 USDUModeLINEAR/CHESS/NONE与 USDUSFModeNONE/BAND_PASS/HALF_TILE/HALF_TILE_PLUS_INTERSECTIONS见 MODES / SEAM_FIX_MODES 定义。tile_width/tile_height的上限 8192 对应源码中的 MAX_RESOLUTION。输出输出名数据类型说明IMAGEIMAGE最终放大后的图像批处理时按 batch 维度拼接输出。用法建议Usage Tips以下 6 条完整继承自 节点文档1. 基本用法块的典型尺寸应基于模型的训练分辨率选择例如 SD1.5 系列模型选 512x512如果模型能在该分辨率下生成连贯图像那么它就是一个合适的块尺寸。如果工作流是先生成基础图再用 USDU 放大精修通常直接把基础图尺寸作为 USDU 的块尺寸。例如生成 512x512 图像再用 USDU 以 2 倍放大 512x512 块得到最终 1024x1024 图像。若希望指定精确的输出尺寸请使用 No Upscale 变体节点UltimateSDUpscaleNoUpscale并单独完成放大步骤例如ImageUpscaleWithModel - ImageScale - UltimateSDUpscaleNoUpscale。2. 分块模式Tiling ModesLinear按行顺序逐块处理。Chess棋盘格模式先处理间隔的块有助于减少可见接缝。None完全跳过重绘阶段只做初始放大。适合手里已经有一张被 USDU 放大过、只想再用接缝修复阶段处理接缝的图像。3. 去噪设置Denoise Settings较低的denoise0.05–0.2用于让放大后的图像更清晰、减少模糊同时避免接缝和幻觉内容。较高的denoise只有在配合 ControlNet tile 模型等约束手段时才可用以抑制块间差异和接缝。4. 接缝修复模式Seam Fix ModesNone不做接缝修复。Band Pass对块之间的条带状区域做处理。Half Tile处理半块大小的重叠区域。Half Tile Intersections最彻底同时处理半块区域及其交叉点。5. 性能优化解码时显存不足可启用tiled_decode跳过先尝试常规解码的默认行为。在模型和显存允许的范围内使用尽可能大的块尺寸减少所需块的数量。关闭force_uniform_tiles只会对贴回后可见的部分做去噪可节省处理时间但模型可能未在由此产生的块尺寸上训练过且会丢失块周围的上下文信息。6. 重要提示接缝修复阶段会显著增加处理时间。如果接缝是主要问题考虑降低denoise或增大块尺寸通常比开启接缝修复更省时。源码级实现剖析块是如何被切出和贴回的理解参数表之后值得深入 modules/processing.py 的 process_images() 看每个块具体经历了什么定位块区域用当前块对应的黑白遮罩调用 get_crop_region() 求出白色矩形区域再按inpaint_full_res_padding外扩。统一尺寸或最小尺寸force_uniform_tiles对应源码中的p.uniform_tile_mode。为 True 时把裁剪区域按目标比例扩展并缩放到p.width x p.height即(tile_widthtile_padding)取整后的处理尺寸见 usdu_patch.py 的尺寸取整补丁为 False 时仅取能容纳遮罩的最小 8 像素对齐尺寸process_images 分支。遮罩模糊mask_blur 0时对遮罩做GaussianBlur对应行这就是mask_blur让块边缘平滑过渡、接缝附近保留原图的实现。编码—采样—解码块裁剪后经 LANCZOS 调整到目标尺寸VAE 编码为 latent采样前会用 crop_model_cond() 克隆模型并裁剪其中 ControlNet 提示图同时用 crop_cond() 对正/负条件做同样的区域裁剪支持 control、gligen、area、mask 等附加条件按块对齐采样走 sample()默认使用common_ksampler若同时提供custom_sampler与custom_sigmas则改走SamplerCustom这是UltimateSDUpscaleCustomSample变体的通路。解码未开启tiled_decode时用VAEDecode开启时改用 VAEDecodeTiled块尺寸固定 512。贴回原图解码结果缩回裁剪区域尺寸放入一张同尺寸 RGBA 空白图以模糊遮罩作为 alpha 通道再alpha_composite回整图贴回逻辑。rows/cols网格行列数在 StableDiffusionProcessing 构造时 由放大后的目标尺寸除以块尺寸取整得到进度条的总块数也据此预估——例如 Half Tile 模式会在rows*cols之外再加上(rows-1)*cols (cols-1)*rows个半块任务进度条估算这也解释了为何接缝修复会显著增加处理时间。另外仓库提供一个可选的 config.json示例内容为per_tile_progress: true源码在 StableDiffusionProcessing.init中读取它用于切换 ComfyUI 进度条的粒度整任务一个进度条 vs 每块一个进度条。batch_size 批量重绘的底层路径batch_size 1时usdu_patch.py 将USDURedraw.linear_process与chess_process替换为批量版本把相邻的多个块坐标收集后一次性交给 process_batch_tiles()——该函数按calc_rectangle_fn为每个块单独构建遮罩、裁剪与编码把所有块拼进同一个 latent batch 完成一次采样与解码再逐块合成回图像。这与逐块路径process_images共享同一套统一/最小尺寸、模糊与贴回逻辑因此输出在视觉上与batch_size1类似但噪声采样是按批次进行的结果不会完全一致——这一点与 batch_size 参数 tooltip 中Yields different results than individual tiles的说明相符。节点家族与验证方式仓库共导出 4 个节点见 NODE_CLASS_MAPPINGSUltimateSDUpscale本文主角、UltimateSDUpscaleNoUpscale去掉upscale_model/upscale_by输入改名为upscaled_image内部以upscale_by1.0调主节点见 NoUpscale 变体、UltimateSDUpscaleCustomSampleupscale_model变为可选未提供时回退到 Lanczos 缩放——见 Upscaler.upscale并新增可选的custom_sampler/custom_sigmas、UltimateSDUpscaleGuider用 GUIDER SAMPLER SIGMAS 取代 model/positive/negative/cfg/sampler/scheduler 组合接入 ComfyUI 的自定义采样管线。仓库自带回归测试可直接复现文档中的推荐组合test_main_workflow.py 使用 2 倍放大、mode_typeChess、512x512 块、denoise0.7、upscale_model4x-UltraSharp.pth、SD1.5 checkpoint 与参考图做 MAE 比对阈值 0.01test_tiling_modes.py 则遍历 Linear/None 两种分块顺序与全部四种接缝修复模式。测试的运行方式pytest 参数、模型文件要求等见 test/README.md。官方示例工作流 basic-usdu.json 给出了一个可加载的起点EmptyLatentImage - KSampler(deis/beta, denoise0.2) - UltimateSDUpscale(upscale_by2, denoise0.2, mode_typeChess, 512x512 块, tile_padding32, mask_blur8, seam_fix_modeNone)与本文基本用法一节推荐的 512x512 基础图 2 倍放大的组合一致。该工作流也可在 ComfyUI 的 Templates 菜单 Extensions 分区中找到。适用前提与限制节点在 ComfyUI 节点菜单的image/upscaling分类下CATEGORY 定义文档目录 js/docs/ 中的三个 .md 文件会随前端加载右键节点点击 info 图标即可在应用内查看对应文档。首次加载时若repositories/ultimate_sd_upscale/为空入口逻辑 会自动下载上游 ultimate-upscale-for-automatic1111 的 master 分支并解压因此离线环境需提前把该目录内容准备好。batch_size 1强制要求force_uniform_tilesTrue入口断言接缝修复阶段始终逐块处理不受batch_size影响。本文的参数范围、默认值均以当前仓库 usdu_nodes.py 为准sampler_name/scheduler的可选项取决于所安装的 ComfyUI 版本实际提供的采样器与调度器列表源码直接引用comfy.samplers.KSampler.SAMPLERS/SCHEDULERS。赞分享人工智能计算机视觉图像处理媒体生成【免费下载链接】ComfyUI_UltimateSDUpscaleComfyUI nodes for the Ultimate Stable Diffusion Upscale script by Coyote-A.项目地址https://gitcode.com/gh_mirrors/co/ComfyUI_UltimateSDUpscale点击查看免费下载相关推荐ComfyUI_UltimateSDUpscale分块放大与细节重绘的 Ultimate SD Upscale 节点完整指南ComfyUI_UltimateSDUpscale分块放大与细节重绘的 Ultimate SD Upscale 节点完整指南 本文围绕 ComfyUI_Ult人工智能计算机视觉图像处理媒体生成ComfyUI Ultimate SD Upscale 超分辨率工具完全指南ComfyUI Ultimate SD Upscale 超分辨率工具完全指南 开启AI图像超分辨率新纪元 ComfyUI Ultimate SD Upsc人工智能计算机视觉图像处理媒体生成终极AI图像放大指南 - Ultimate SD Upscale完整教程终极AI图像放大指南 Ultimate SD Upscale完整教程 Ultimate SD Upscale是一个专为Stable Diffusion Web人工智能AI 应用计算机视觉创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。