ComfyUI 图像修复加速实用指南:裁剪后采样、拼接回填,局部修复如何提速百倍

发布时间:2026/8/14 15:02:43
ComfyUI 图像修复加速实用指南:裁剪后采样、拼接回填,局部修复如何提速百倍 ComfyUI 图像修复加速实用指南裁剪后采样、拼接回填局部修复如何提速百倍【免费下载链接】ComfyUI-Inpaint-CropAndStitchComfyUI nodes to crop before sampling and stitch back after sampling that speed up inpainting项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Inpaint-CropAndStitch高分辨率图像修复inpainting常常让人又爱又恨想要的只是一小块补全模型却要对着整张图做一遍编解码与采样。ComfyUI-Inpaint-CropAndStitch 正是为解决这一痛点而生的 ComfyUI 插件它把局部裁剪修复 → 全局拼接回填拆成两个易用的节点让图像修复加速立竿见影。下面从使用到源码带你完整看懂这套方案。痛点先行整图修复为何又慢又贵采样器对分辨率极其敏感。一张 4K 图片哪怕只擦除一个角落丢进 VAE 和 UNet 的仍是全图张量显存与耗时直线上升。更麻烦的是整图重采样可能破坏未掩码区域的原始细节采样分辨率与模型不匹配时容易产生双头、双身之类的伪影想要更高细节还得额外放大成本进一步叠加。思路先对病灶局部手术再完美缝合方案其实很像外科手术先圈定病灶小范围操作最后把创口缝合回原样。✂️ Inpaint CropInpaintCropImproved围绕掩码智能取景把需要修复的区域连同适量上下文一起裁出并缩放到模型偏好的分辨率✂️ Inpaint StitchInpaintStitchImproved把修复好的小图缩放回原位按掩码做无缝混合再贴回原始画布。值得强调的是未掩码区域全程不参与采样甚至不会经过 VAE 编解码原始像素被原样保留。图1Stable Diffusion 1.5 修复工作流裁剪小区域采样、放大到 512x512、拼接回原图五分钟上手安装与最小修复工作流克隆仓库到 ComfyUI 的custom_nodes/目录即可或用 ComfyUI-Manager 搜索安装git clone https://gitcode.com/gh_mirrors/co/ComfyUI-Inpaint-CropAndStitch最小工作流长这样Load Image → Inpaint Crop Improved → 任意采样流程→ Inpaint Stitch Improved → Save Image。裁剪节点输出三样东西stitcher含画布与坐标等元数据、cropped_image、cropped_mask。stitcher是拼接的关键务必把它连到缝合节点。上手阶段最值得先调的三个参数参数作用mask_expand_pixels把掩码向外扩展指定像素让修复区域更宽松context_from_mask_extend_factor控制取景框比掩码大多少值越大上下文越多output_resize_to_target_size强制裁剪结果达到指定分辨率如 SDXL 用 1024x1024最佳实践搭配专门的 inpainting 模型用InpaintModelConditioning替代VAE Encode (for Inpainting)这样可以把 denoise 调到 1 以下效果更稳。第一站裁剪节点如何取景inpaint_crop的处理管线可以概括为五步掩码预处理 → 定位掩码包围盒 → 扩展上下文 → 合并可选上下文掩码 → 交给crop_magic_im收尾。掩码预处理包括填洞mask_fill_holes、扩展、反转、羽化mask_blend_pixels以及高通过滤mask_hipass_filter用于忽略接近 0 的假掩码。预处理之后的取景逻辑核心是让上下文区域的宽高比贴合目标宽高比target_aspect_ratio target_w / target_h if context_aspect_ratio target_aspect_ratio: new_w int(h * target_aspect_ratio) # 宽度不够横向扩 else: new_h int(w / target_aspect_ratio) # 高度不够纵向扩扩展后的窗口会尽量居中、尽量留在图像内部只有确实放不下时才向外补边这也是 outpainting 的用武之地。随后output_padding会把宽高对齐到 8/16/32 的倍数满足模型对张量的对齐要求。第二站拼接节点如何缝合缝合节点从stitcher中取出画布、裁剪区到画布的坐标cropped_to_canvas_*、画布到原图的坐标canvas_to_orig_*。stitch_magic_im只做三件事把修复图缩放到上下文尺寸放大用upscale_algorithm缩小用downscale_algorithm按掩码做加权混合贴回画布再裁回原图区域输出。混合公式非常直观就是掩码区域用新图、其余用旧画布blended mask * inpainted (1 - mask) * canvas_crop配合mask_blend_pixels生成的羽化掩码接缝处的过渡是渐变的肉眼几乎看不出分界线。图2高分辨率修复工作流局部采样后经 4x 放大与 hiRes fix再无缝拼回原图双引擎CPU 兼容与 GPU 提速怎么选两个节点的处理逻辑都由ProcessorLogic抽象基类约束它声明了rescale_i、rescale_m、expand_m、blur_m、crop_magic_im、stitch_magic_im等统一接口下面挂两个实现CPUProcessorLogic基于 PIL 与 SciPy如grey_dilation、gaussian_filter兼容性最好任何环境都能跑GPUProcessorLogic基于 PyTorch掩码扩展等操作可走 GPU官方实测整体提速约30x~100x。切换方式就是裁剪节点的device_mode参数。结论先行默认cpu (compatible)求稳视频等批量场景切gpu (much faster)追求吞吐前提是输入张量放得进显存。三种参考工作流各取所需仓库的example_workflows/下自带三份可直接拖入 ComfyUI 的 JSON 工作流inpaint_sd15.jsonSD1.5 常规修复小区域采样后放大到 512x512 再回填inpaint_flux.jsonFlux 模型方案GGUF 量化 ControlNet Inpainting Beta细节恢复能力更强inpaint_hires.json高分辨率方案采样后用外部模型 4x 放大并做 hiRes fix再拼回原图。图3Flux 模型修复工作流适合追求高质量细节恢复的场景写在最后入口与收获这套裁剪-拼接思路带来四点直接收益计算量大幅下降、原始区域零改动、分辨率可按模型灵活指定、接缝自动羽化。想立刻体验把上面那行git clone命令跑起来即可源码主逻辑集中在inpaint_cropandstitch.py三份工作流 JSON 也在example_workflows/下边看边试是最快的上手方式。【免费下载链接】ComfyUI-Inpaint-CropAndStitchComfyUI nodes to crop before sampling and stitch back after sampling that speed up inpainting项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Inpaint-CropAndStitch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻