1. 从“随机抽卡”到“精准雕刻”为什么你需要掌握局部重绘玩过Stable Diffusion的朋友都知道那种输入提示词、点击生成、然后等待“开盲盒”的感觉既刺激又充满不确定性。很多时候我们得到一张整体氛围不错的图但总有些小地方不尽如人意——比如人物的手指有点奇怪背景多了个碍眼的杂物或者想给模特换件衣服的颜色。这时候你会怎么办是调整提示词重新生成祈祷下一次运气好点还是导出到PS里吭哧吭哧地手动修改我刚开始玩AI绘画时99%的时间都花在了第一种方法上不断地“抽卡”结果就是生成了几百张图真正能用的没几张硬盘塞满了时间也浪费了。直到我真正搞懂了ComfyUI里的局部重绘Inpainting才感觉像是打开了新世界的大门。它彻底改变了我的工作流让我从一个被AI“随机性”牵着走的用户变成了一个能精准“雕刻”作品的创作者。简单来说局部重绘就是告诉AI“这张图其他地方我都很满意你别动只把这一小块给我重新画一下。” 这个“一小块”就是蒙版Mask。它的核心价值我总结下来有三点效率、控制力和创意迭代速度。先说效率。重绘整张图哪怕只改一个像素AI也需要从头到尾计算一遍。而局部重绘只计算蒙版覆盖的区域生成速度能快上30%到50%。对于需要反复调试细节的创作这个时间节省是巨大的。再说控制力。这是最让我兴奋的一点。整体重绘时AI可能会“自作主张”地改变你原本很喜欢的部分比如人物的神态、背景的光影。而局部重绘像外科手术一样精准你锁定的区域之外像素级保持不变。这意味着你可以大胆地尝试修改而不用担心“牵一发而动全身”。最后是创意迭代。想象一下你想给一张人像尝试五种不同的口红颜色。没有局部重绘你需要生成五张全新的人像还得保证五官、发型、光线完全一致这几乎不可能。有了局部重绘你只需要在嘴唇部位画五个不同的蒙版分别重绘几分钟内就能得到五张除了唇色其他完全一致的对比图决策效率飙升。所以如果你已经厌倦了无休止的“抽卡”想要更稳定、更可控地产出符合自己想法的作品那么掌握局部重绘就是你从“AI绘画玩家”进阶到“AI创作专家”的必经之路。而今天我们要聊的是如何将这个过程再提升一个维度——通过Segment Anything (SAM)这个“火眼金睛”的模型让蒙版的创建从“手动绘制”变成“自动识别”真正实现高效创作。2. 工欲善其事ComfyUI基础局部重绘工作流搭建在请出SAM这位“自动蒙版大师”之前我们必须先把基本功练扎实。理解并亲手搭建一次基础的局部重绘工作流能帮你透彻理解每个节点的作用后面接入SAM时才会知其然更知其所以然。别担心我会用最直白的方式带你走一遍。2.1 核心节点“全家福”与功能解读打开你的ComfyUI清空画布我们从头开始搭建。你需要找到以下这些核心节点它们就像乐高积木组合起来就是完整的工作流Load Image加载图像 顾名思义把你要修改的原图拖进来。VAE EncodeVAE编码器 这是一个关键转换器。我们的图片是像素空间RGB值但Stable Diffusion模型是在潜在空间Latent Space里工作的。这个节点负责把图片压缩、转换成模型能理解的“潜变量”。Mask创建蒙版 这里我们先用最基础的。你可以用Empty Latent Image节点生成一个和图片同尺寸的空白蒙版然后连接一个Draw Mask节点手动涂画。更常用的方法是直接用Load Image加载一张黑白蒙版图白色代表要修改的区域。Set Latent Noise Mask设置潜在噪声遮罩这是局部重绘的灵魂节点它有两个关键输入一个是上一步VAE编码得到的“干净”的原始图像潜变量另一个就是你画的蒙版。它的作用是在蒙版区域内填入随机噪声这是生成的起点而蒙版区域外则保持原图的潜变量不变。这样采样器就只会在有噪声的区域里“作画”。Checkpoint Loader模型加载器 选择你要使用的大模型。记住局部重绘最好使用和生成原图相同或风格相近的模型一致性最好。CLIP Text EncodeCLIP文本编码器 输入你的正面提示词和负面提示词。这里的提示词应该专注于描述你希望蒙版区域内变成什么样而不是重新描述整张图。KSamplerK采样器 设置采样步数、CFG Scale等参数。这里有个关键参数叫denoise去噪强度。它控制AI的“创作自由度”1.0意味着蒙版区域完全重新生成0.5意味着一半基于原图信息一半自由发挥0.2则只做轻微修改。通常0.5-0.7是个不错的起点。VAE DecodeVAE解码器 把采样器处理好的潜在变量再解码回我们能看的像素图片。Preview Image / Save Image预览/保存图像 查看和保存结果。把这些节点按逻辑连接起来你的基础管线就通了。流程可以简单理解为原图 - 编码为潜变量 - 用蒙版保护不想改的区域 - 在要改的区域加噪声 - 用提示词引导AI在噪声区域绘画 - 解码输出。2.2 实战案例给这件T恤换个颜色和图案光说不练假把式。我们假设有一张照片模特穿了一件纯白色的基础款T恤我们现在想把它变成一件有蓝色条纹的POLO衫。第一步准备与蒙版绘制。将模特图加载进来。现在我们需要用Draw Mask节点仔细地把白色的T恤区域涂成白色蒙版区域。这里有个小技巧为了边缘更自然你可以把画笔硬度调低一些对于领口、袖口这些边界稍微涂出去一点点问题不大因为后续的Mask Blur蒙版模糊参数会帮你做羽化处理。如果你追求极致精确也可以分两次第一次大致涂抹第二次用更小的画笔修整边缘。第二步提示词与参数设置。提示词是成败的关键。你不能只写blue polo shirt。因为AI可能会理解成“在一个蓝色POLO衫旁边”而不是“把衣服变成蓝色POLO衫”。你需要更精确地引导正面提示词a navy blue polo shirt with white stripes, crisp collar, high-quality fabric texture, same pose and lighting as original, seamlessly integrated这里same pose and lighting as original和原图相同的姿势与光线和seamlessly integrated无缝融合是保持一致性的魔法短语。负面提示词deformed, blurry, bad anatomy, different lighting, mismatched texture关键参数Denoising Strength: 设为0.65。因为我们希望改变纹理和颜色但保留衣服的褶皱和光影结构所以不需要完全重绘。Steps: 25步通常足够。CFG Scale: 7.5保证提示词的引导力。在Set Latent Noise Mask节点里找到Mask Blur蒙版模糊设置为4-6像素。这个参数能让重绘区域和原图的过渡更柔和避免生硬的边缘。第三步生成与调整。点击生成第一次效果可能不会完美。也许条纹位置奇怪或者颜色和原图光影不搭。这时不要灰心局部重绘的魅力就在于快速迭代。你可以微调提示词比如强调vertical stripes竖条纹。稍微调整Denoising Strength如果纹理不对就调高如0.75如果颜色融合不好就调低如0.55。如果边缘有接缝感增加Mask Blur的值。通过几次调整你就能得到一张只有衣服被完美替换而模特皮肤、背景、发型都丝毫未变的图片。这个过程虽然需要手动画蒙版但对于目标明确、形状规则的修改已经非常高效。3. 解放双手Segment Anything (SAM) 实现蒙版自动化手动画蒙版对付简单形状还行但如果我想把照片里一棵枝繁叶茂的大树上的每一片叶子都精确选中或者把散落在地上的十几个不同形状的玩具分别抠出来手动绘制简直就是噩梦。这时候就该请出我们今天的主角——由Meta AI发布的Segment Anything Model (SAM)。你可以把SAM理解为一个拥有“通用视觉分割”超能力的模型。它不需要针对特定物体进行训练你给它一张图它就能识别出图中几乎所有独立的“物体”或“区域”并为你生成像素级精确的蒙版。在ComfyUI里接入SAM就意味着蒙版创建进入了自动化时代。3.1 一步步安装与配置SAM节点首先我们需要在ComfyUI中安装SAM的扩展节点。目前最流行、最易用的之一是ComfyUI Impact Pack或者专门的comfyui_segment_anything节点。这里我以通过ComfyUI Manager安装为例这是最省心的方法。安装节点 如果你的ComfyUI已经安装了Manager现在基本是标配打开Web UI你应该能看到一个Manager的按钮。点击它进入Install Custom Nodes标签页。在搜索框里输入segment你很可能找到ComfyUI Impact Pack它集成了SAM等多种实用工具或Segment Anything。找到后直接点击旁边的Install按钮。安装完成后重启ComfyUI。下载模型文件 节点安装好了还需要SAM的模型权重文件。SAM有几个不同大小的模型平衡精度和速度我推荐下载sam_vit_h_4b8939.pth这个“大”模型精度最好。你可以从Hugging Face等模型社区找到它。下载完成后在ComfyUI的根目录下找到models文件夹在里面新建一个名为sams的文件夹如果没有的话然后把下载的.pth文件放进去。有的节点可能要求放在特定的子目录请参考你安装节点的说明但models/sams/是一个常见的路径。验证安装 重启ComfyUI后在节点菜单里搜索SAM或Segment你应该能看到一系列新节点比如SAMLoader加载模型、SAMDetector检测并生成蒙版等。看到它们就说明安装成功了。3.2 构建“SAM局部重绘”自动化工作流现在我们来搭建一个更强大的工作流。这个流程的核心思想是让SAM先帮我们看图自动找出所有物体并生成蒙版我们从中选择想要修改的那个然后交给局部重绘环节。新建一个工作流在原有局部重绘流程前插入SAM环节加载图像与SAM模型 首先还是Load Image节点加载原图。然后添加一个SAMLoader节点在model_name处选择你刚才放置的sam_vit_h_4b8939.pth文件。让SAM识别物体 添加一个SAMDetector或Segs Detector节点不同节点包名称略有差异。这个节点需要两个输入一是加载的图像二是加载好的SAM模型。它运行后不会直接输出图片而是会输出一个“分割结果”的列表。预览并选择蒙版 我们需要一个节点来查看SAM找到了哪些东西。添加一个Preview Segmentations或Segs Detailer之类的预览节点。把它和SAMDetector的输出连接。点击生成后这个预览节点通常会以“网格”形式展示所有SAM识别出的物体蒙版每个蒙版都有一个编号如0, 1, 2...。你一眼就能看到SAM把人物、衣服、背景、甚至衣服上的logo都分别抠出来了。提取目标蒙版 假设我们想修改的是编号为2的物体比如那件衣服。我们需要一个Get Segmentation Result或Select Segmentation节点。这个节点输入是SAM的检测结果还有一个参数是index索引。我们把index设为2它的输出就是针对2号物体的、纯净的蒙版图像。接入重绘流程 将这个蒙版图像连接到我们之前搭建的局部重绘流程中的Mask输入替换掉之前手动绘制的蒙版。后面的Set Latent Noise Mask,KSampler等流程完全不变。至此一个自动化的“识别-选择-重绘”流水线就搭建完成了。你只需要指定想修改的物体编号SAM就会提供现成的精准蒙版。3.3 实战案例复杂场景下的多物体替换让我们挑战一个更复杂的场景一张街景照片里面有路灯、长椅、行人和一个垃圾桶。我们的目标是把绿色的垃圾桶替换成一个复古的邮筒。第一步让SAM扫描全场。将街景图导入工作流运行SAM检测节点。在预览网格中你会看到SAM可能给出了十几个甚至几十个分割结果。它把每个窗户、每片大的树叶、每个行人当然也包括那个垃圾桶都单独分割出来了。你需要仔细浏览找到代表垃圾桶的那个蒙版记下它的索引号假设是12。第二步精准提取与重绘。在Select Segmentation节点中设置index12获得垃圾桶的精确蒙版。你会发现这个蒙版甚至完美地勾勒出了垃圾桶的弧形桶盖、投递口的缝隙比手动绘制精确无数倍。第三步针对性提示。现在你的提示词要专注于描述邮筒a classic red cast iron postbox, with a closed lid, weathered paint, realistic metal texture, casting subtle shadows on the ground consistent with the scene lighting一个经典的红色铸铁邮筒带有封闭的顶盖斑驳的油漆真实的金属质感在地面上投下与场景光线一致的细微阴影。再次强调“consistent with the scene lighting”对于光影融合至关重要。第四步生成与微调。设置一个适中的Denoising Strength比如0.6因为我们要替换整个物体但需要适应原有光影。点击生成。第一次尝试邮筒的材质或角度可能不太对。你可以稍微提高Denoising Strength让AI更自由地发挥或者细化提示词描述邮筒的朝向。最终你会得到一张毫无PS痕迹的图片街景依旧行人依旧但那个垃圾桶神奇地变成了一个与环境光影完美融合的复古邮筒。而这一切你几乎没有手动碰过画笔工具。这就是SAM带来的效率革命。4. 高手进阶SAM与局部重绘的深度结合技巧掌握了基础用法我们再来聊聊如何把SAM和局部重绘玩出花解决一些实际创作中遇到的棘手问题让你的工作流更加稳健和高效。4.1 应对SAM的“选择困难症”与精度提升SAM虽然强大但有时也会“过度分割”把一个大物体拆成很多小部分或者“分割不足”把两个挨着的物体当成一个。此外对于特别细小如耳钉、睫毛或半透明如玻璃杯、薄纱的物体SAM可能直接忽略。技巧一使用“提示点”进行交互式引导。一些高级的SAM节点支持Point输入。你可以在图像上指定一个点比如点击一下人物的眼睛并告诉SAM“这个点属于前景要分割的物体”。SAM会以此作为线索进行分割这能极大地提升在复杂背景下选取特定目标的准确性。这比在一堆索引号里盲猜要直观得多。技巧二调整检测阈值与粒度。SAMDetector节点通常有threshold置信度阈值参数。调高这个值比如从默认的0.3调到0.5SAM只会输出它非常确信的物体减少杂乱的碎片化分割。反之调低阈值可以捕捉到更多模糊的物体。还有dilation膨胀参数可以对生成的蒙版边缘进行微小的扩张或收缩这对于后续重绘时覆盖边缘很有帮助。技巧三图像预处理。对于SAM检测不到的小物体一个很实用的技巧是先放大再检测。使用Image Scale节点将原图按比例放大例如2倍然后将放大后的图送给SAM。在更大的分辨率下细小物体的特征更明显SAM更容易捕捉到它。检测生成蒙版后再用Image Scale将蒙版缩小回原图尺寸即可使用。这个“上采样-检测-下采样”的流程能显著提升对小目标的识别率。4.2 融合ControlNet实现结构保持局部重绘有一个经典难题当你要修改的区域涉及复杂的结构时比如把直发变成卷发或者给裤子添加复杂的褶皱仅靠提示词和蒙版AI很容易生成结构混乱、不符合物理规律的内容。这时候就需要请出另一位重量级伙伴——ControlNet。特别是ControlNet Inpaint或ControlNet Tile模型它们是为局部重绘而生的。具体怎么结合呢在你的“SAM - 局部重绘”工作流中在KSampler之前插入一个Apply ControlNet节点。将原始图像Load Image的输出和SAM生成的蒙版一起输入到ControlNet节点中。然后加载一个control_v11p_sd15_inpaint这类模型。它的工作原理是ControlNet会分析你原图蒙版区域内的结构信息如线条、姿态、深度并在生成过程中强烈约束AI让新生成的内容在结构上与原图保持一致。比如你想把一条直筒裤改成喇叭裤SAM提供裤子区域的蒙版你提示词写flared pants同时启用ControlNet Inpaint。AI就会在保持裤子基本中线、褶皱走向的前提下去生成裤脚扩大的部分而不会把裤子变成一团扭曲的布料。4.3 多层蒙版与渐进式重绘对于极其复杂的修改比如彻底改变一个人的发型和发色单次重绘可能效果不佳。高Denoising Strength会导致失真低强度又改不彻底。这时可以采用渐进式重绘策略。第一次重绘低强度定基调 用SAM获取头发蒙版设置Denoising Strength0.4提示词描述发型的整体形状和颜色如curly brown hair。这次生成的结果可能细节模糊但大致颜色和卷曲方向对了。将第一次的结果作为新原图 把输出图像作为新的Load Image输入。第二次重绘中强度增细节 使用同一个蒙版或基于新图用SAM再微调一下将Denoising Strength提高到0.6提示词增加细节描述如shiny curly brown hair, detailed strands, volumetric。这次AI会在已有基调上添加发丝细节和光泽。第三次重绘局部微调 如果觉得刘海或发梢还不够好可以单独对这些更小的区域用SAM或手动蒙版进行第三次低强度0.3-0.4的重绘进行精细雕琢。这种“分步走”的方法比试图一步到位用高强度重绘要稳定得多能有效避免画面崩溃尤其适合对质量要求极高的商业作品。5. 避坑指南让融合天衣无缝的实用参数理论讲了很多最后分享一些我踩过坑后总结的“硬核”参数经验这些细微调整往往是成败的关键。Denoising Strength去噪强度这是最重要的旋钮。简单替换颜色、纹理0.5-0.65。例如换衣服颜色、给墙壁加纹理。中度修改形状微调0.65-0.75。例如改变发型、给杯子加个把手。重大替换/添加完全不同的物体0.75-0.85。例如把猫换成狗在空地上添加一棵树。但超过0.85风险激增可能破坏周边区域。瑕疵修复/微调0.3-0.4。例如去痘痘、让嘴唇更光泽。Mask Blur蒙版模糊融合度的关键。这个参数在Set Latent Noise Mask节点上。它决定了蒙版边缘的羽化程度。硬边缘物体如书本、手机3-5像素。模糊太小会有锯齿感太大会影响修改区域。软边缘/毛发物体如头发、毛绒玩具8-15像素。较大的模糊值能让新生长的毛发和原图背景过渡更自然。实验法则如果重绘区域边缘有明显的“接缝”或色差优先增大Mask Blur而不是去动Denoising Strength。CFG Scale提示词引导系数在局部重绘中CFG Scale不宜过高。过高的CFG如10会导致生成内容过于“生硬”与周围环境不协调。建议范围6-8.5。这个区间能在遵循提示词和保持整体和谐之间取得良好平衡。提示词魔法锚定词一定要在提示词中加入锚定原图环境的词汇如same lighting as the original photo,identical background,consistent perspective with the surrounding。这是告诉AI“不要放飞自我要融入现场”。细节约束对于物体替换除了描述新物体还要描述它与环境的关系例如casting a shadow on the floor,reflecting the ambient light。最后记得多用Preview Image节点在流程中间阶段查看蒙版和潜变量状态多用Save Image节点保存不同参数下的结果进行对比。ComfyUI的非线性工作流优势就在于你可以轻松地复制并联好几套参数不同的KSampler一次生成多种结果直观地看到每个参数的影响。