
图像修复这件事说穿了就是把画面里不想要的东西拿掉、把缺失的部分补上同时让周围像素浑然不觉。过去做这活儿靠仿制图章和内容识别填充纹理一复杂就露馅尤其是手部、发丝、直线结构和文字边缘基本是修图师最头疼的几块硬骨头。Stable Diffusion 图像修复功能里的智能 Inpainting 技术正好卡在这个痛点上——它不靠复制粘贴而是让模型根据周围的画面上下文重新画一块再把这块画好的内容无缝嵌回原图。我这两年接的活儿里从电商产品图去杂物、老照片去划痕、人像祛斑到插画补手补背景、海报改文案区域八成以上的局部修改都是靠它收尾的。这篇内容我会把 Inpainting 的底层逻辑、模型和工具怎么选、参数怎么配、实操怎么走、出了问题怎么查按我自己的使用顺序全部摊开讲。无论你是刚接触生成式修图的新手还是已经能跑通基础流程、但总在接缝和画风不一致上翻车的朋友下面的内容都能直接拿去对照复现。1. 先把问题想清楚Inpainting 到底解决了什么1.1 传统修图流程的瓶颈在哪儿仿制图章的本质是“搬家”把 A 处的纹理复制到 B 处。这招对付纯色背景、草地、砖墙这类重复性纹理非常高效可一旦遇到有明确结构语义的区域就废了——比如画面里一只手挡住了产品你想把手指去掉仿制图章只能把周围的皮肤纹理硬贴过去结果就是一片模糊的色块指缝的形状、明暗过渡、关节起伏全没了。内容识别填充稍微聪明一点会根据边缘做纹理延展但它不懂“这里应该是一只手”或者“这里应该是一条直线”遇到大块缺失往往糊成一团遇到规则几何结构还会产生明显的拉伸和错位。频率分离那套流程只能处理皮肤质感层面的问题痘印、毛孔、色斑可以靠高低频拆开分别处理但它解决不了“画面里多了个东西”这种结构性修改。液化、变形、裁剪这些手段更是只能调整已有像素补不出不存在的内容。这就是为什么传统修图在“大区域结构性重建”上一直很吃力工具本身没有语义理解能力它不知道被遮挡的部分长什么样只能靠人的经验和美术功底去硬画。Inpainting 的思路完全不同。它把待修复区域当成一道“完形填空”题给定周围的上下文让扩散模型预测这块区域大概率应该是什么内容。模型在训练阶段见过海量图像知道皮肤在光照下怎么过渡、手指之间是什么关系、背景的透视该怎么延续。所以它不是搬运纹理而是重新生成一块语义合理、风格匹配、边缘连续的内容。这个区别听起来抽象落到实际效果上就是修手能补出关节结构去杂物能补出完整的背景改文字区域能补出干净的底色而且不用你一笔一笔去画。1.2 Inpainting 与图生图、局部重绘的关系很多人刚上手会 confusion图生图img2img不也是改图吗为什么还要单独搞一个 Inpainting关键差别在“改动范围是否可控”。图生图是对整张图重新加噪再一步步去噪重绘幅度设到 0.3 以下基本只是轻微磨皮和色彩偏移设到 0.6 以上整张图的构图、细节、光影都会变你没法指定“只改左下角那一块”。哪怕你把重绘幅度压得很低全图依然会被重新编码解码一遍高频细节会有损失人脸、文字这种精细区域容易出现“糊了一层”的感觉。Inpainting 在机制上做了隔离它只对蒙版覆盖的区域加噪去噪非蒙版区域在潜空间层面用原图的编码结果直接覆盖回去。你可以理解成一张画你拿张纸盖住不想改的部分只把露出来的那一小块重新画画完之后把纸撤掉原来的部分一像素没动。这个机制带来的直接好处是修改范围精确到蒙版边界未选区零损失同时因为模型只需要专注一小块区域它可以把算力全砸在这块的细节上修复质量往往比全图重绘再裁剪更高。还有一个常被忽略的点Inpainting 的“局部”不等于“小”。蒙版可以占画面三分之一甚至一半只要你的显存和模型分辨率撑得住大面积重建也是它擅长的场景比如去掉前景的大件杂物、给人物换背景、给产品图补全被裁掉的边缘。真正决定成败的不是区域大小而是蒙版边缘是否干净、重绘幅度是否匹配、模型是否选对——这几个问题后面会逐个拆开讲。2. 核心原理拆解蒙版、潜空间与去噪强度2.1 蒙版不是选区那么简单大多数人理解的蒙版就是“我圈出来的那块”但在 Inpainting 里蒙版是一个参与模型计算的输入通道它的质量直接决定修复结果的质量。蒙版本身是一张黑白图白色代表需要重绘黑色代表保留。听起来很简单但魔鬼藏在三个细节里边缘硬度、外扩范围、与图像的分辨率对齐。边缘硬度指的是蒙版从白到黑的过渡是突变还是渐变。如果你用硬边蒙版模型在预测时会把边界当成一道“墙”重绘区域和保留区域之间的像素关系会突然断裂结果就是一条清晰可见的接缝。实际做法是给蒙版做羽化让边缘有几像素的过渡带模型在这条过渡带上会混合原图信息和生成内容接缝就被“抹”掉了。我一般把羽化值设在 4 到 16 像素之间具体看图像分辨率和修复区域的尺度512 级别的图用 4 到 81024 级别用 8 到 16。外扩范围是另一个容易踩的坑。你圈掉的区域往往只是“明显有问题”的部分但问题边缘通常还有一圈残留——比如去一个人你圈的是人体轮廓但衣服边缘、投影、地面上的接触痕迹还在圈外模型补完人体后这圈残留就会变成鬼影。解决办法是把蒙版向外膨胀 8 到 32 像素让模型把边缘的脏东西一起重画掉。膨胀太多也不行会把不该改的背景吃掉所以这个值要结合画面尺度调宁可分两次修也别一次贪大。2.2 潜空间去噪为什么重绘幅度决定一切Stable Diffusion 不是直接在像素上画图的它先把图像压缩到潜空间分辨率大约缩小到原来的八分之一然后在这个低维空间里做扩散和去噪最后再由解码器还原成像素图。Inpainting 的过程也一样原图编码成潜变量蒙版区域被加噪模型一步步预测噪声并减掉直到恢复出干净的内容最后把非蒙版区域的原始潜变量拼回去统一解码。这里有个关键差异专用的 Inpainting 模型在输入端比通用模型多了几个通道除了常规的图像潜变量还额外接收蒙版本身和被蒙版处理过的图像信息。多出来的这几个通道让模型能“看到”哪些地方是残缺的、周围原本是什么样所以它在边缘融合和上下文一致性上天生比通用模型强。通用模型做修复靠的是潜空间拼接这个“外挂”模型本身并不知道自己在做修复重绘幅度一高就容易和周围环境脱节出现色调、光照、透视对不上的情况。重绘幅度denoising strength是这套流程里最需要理解的参数。它的数值在 0 到 1 之间代表加噪的程度也间接代表模型有多大的自由度去改内容。数值越低加噪越少生成结果越贴近原图基本只做纹理层面的微调数值越高加噪越多原始信息被破坏得越彻底模型越倾向于完全重画。这个参数没有万能值必须结合修复目标来定下面这张表是我在实际操作中总结的经验区间重绘幅度实际效果适用场景0.2 - 0.35极轻微改动纹理微调去小瑕疵、磨皮、去细划痕0.35 - 0.5轻度重绘保留原结构去痘印、去小物件、补小缺口0.5 - 0.7中度重绘结构可调换衣服颜色、改局部元素、补中等缺失0.7 - 0.85重度重绘内容大幅改变去大件杂物、换背景、补大块缺失0.85 - 1.0完全重画几乎忽略原图蒙版区域彻底重建、抽象补全有一点要说明不同模型、不同采样器对这个区间的敏感度不一样。有些修复专用模型在 0.6 就能做出很大的改动通用模型可能要到 0.8 才有同样效果。所以表里的数值是起点不是标准答案实际用的时候先在一个小区域上试跑两三档对比结果再定比盲目套参数靠谱得多。2.3 蒙版模式与重绘区域的对应关系跑 Inpainting 的时候你会遇到两个蒙版模式选项重绘蒙版内容、重绘非蒙版内容。前者是常规用法你圈哪里就改哪里后者是把蒙版当成“保护区”蒙版内的像素保留蒙版外全部重画。这个反向模式在换背景时特别好用——你把人像圈出来保护住剩下的区域全部交给模型重画比手动去圈背景省事得多也不容易漏掉边角。还有一个常被误解的选项是“只重绘蒙版区域”和“整图重绘但只贴回蒙版区域”的区别。前者会把计算范围压缩到蒙版的外接矩形内速度快、显存占用低但模型能看到的上文有限修复大区域时容易缺少全局参考后者会把整张图都跑一遍只在最后贴回蒙版部分上下文完整、融合更好代价是速度慢、显存吃紧。我一般小区域用前者大区域或者对融合要求高的场景用后者尤其是人物边缘、发丝、半透明材质这类需要大量周围信息参考的地方整图模式的优势很明显。3. 模型与工具选型用什么跑、跑哪个模型3.1 专用修复模型和通用模型的真实差距模型这块最直观的分类就是“修复专用”和“通用”。修复专用模型在训练阶段就见过大量“带蒙版的残缺图 完整原图”的配对数据它学的是“给定残缺和蒙版补出完整内容”这件事所以对蒙版边缘的处理、对缺失区域语义的推断都更自然。你在上面跑修复重绘幅度中等偏上也不容易出现边缘断层提示词的影响也更直接——你写“一只握着杯子的手”它补出来的手大概率是握着杯子的姿态而不是一只悬空的手。通用模型不是不能做修复它的优势在于选择多、风格多、生态里的微调模型多。如果你要修的是特定画风的内容比如某种插画风格、某种胶片质感通用模型里能挑到更贴合的底模修复专用模型未必有这个风格。但用它做修复重绘幅度就得压着来一般不超过 0.6再高就容易和周围环境脱节蒙版的羽化和外扩也要更讲究因为模型本身没有“边缘融合”的训练先验全靠潜空间拼接兜底。实际选型的思路可以这样如果修复目标是写实类、结构类、需要高保真的场景优先修复专用模型如果目标是风格化内容、需要保持特定画风优先风格匹配的通用模型把重绘幅度和蒙版精度当成主要控制手段。还有一类是分层修复模型专门处理“前景和背景分开生成再合成”的流程适合抠图换背景这种活儿但它对操作流程的要求更高新手可以先从单模型修复跑通再考虑。3.2 表单式界面和节点式工作流的取舍工具层面主流就两类表单式界面和节点式工作流。表单式界面的好处是上手快蒙版绘制、参数填写、生成预览都在一个页面里改一个参数点一下生成就能看结果适合单张精修、参数调试、快速试错。它的短板是流程固定你想加一个预处理步骤、想串联多个模型、想批量跑不同参数组合就得靠插件或者手动重复操作。节点式工作流刚好相反它把每一步拆成独立节点加载图像、生成蒙版、编码、采样、解码、保存全部可视化连接。好处是流程完全可控你可以把“自动分割生成蒙版”“蒙版膨胀”“分区采样”“后处理融合”串成一条流水线跑一次出多组结果批量处理时优势极大。代价是学习曲线陡节点连错一个地方就报错排查起来比表单式麻烦。我的建议是先把表单式界面用熟把蒙版、重绘幅度、采样器这些基础参数的手感建立起来知道每个参数动一下画面会怎么变等你要做重复性任务、要批量、要把修复嵌进更大的流程里再切到节点式。两张表对照一下更清楚对比维度表单式界面节点式工作流上手成本低半小时能跑通中高需要理解数据流单张精修效率高改参数即时预览中改参数要重跑节点流程可控性受限于内置功能极高可自由组合批量处理依赖脚本或插件原生支持适合流水线问题排查直观报错信息简单需要逐节点检查3.3 显存和分辨率的账要提前算修复大图之前先算清楚显存这笔账不然跑到一半爆显存前面调的参数全白费。潜空间的分辨率是像素分辨率除以八一张 1024×1024 的图编码后是 128×128 的潜变量。模型在训练时是固定分辨率的早期版本多在 512 级别训练后来的版本到了 1024 级别。你喂给它的图如果远大于训练分辨率模型没见过这个尺度结构容易崩表现就是修复区域出现重复纹理、比例失调、细节糊成一团。显存占用的大头在注意力计算粗略估算和潜变量分辨率的平方成正比。512 级别的修复8GB 显存基本够用1024 级别建议 12GB 以上如果你要跑整图模式再叠加高分辨率修复16GB 起步比较稳。显存不够的时候有几个折中方案把修复区域裁出来单独跑再贴回去、用分块采样、降低批处理数量、开启显存优化选项。这些手段都会牺牲一点速度或融合质量但比直接爆显存强。分辨率这块还有一个实用原则修复区域的实际像素尺寸尽量贴近模型的训练分辨率。比如你在一张 2048 的大图上修一块 300×300 的区域与其把整张图喂进去不如把这块区域连同周围一圈上下文裁出来缩放到 512 或 1024 再修修完缩放贴回。这样模型工作在它熟悉的尺度上细节质量更稳定显存压力也小。裁切的时候记得多留 64 到 128 像素的上下文边距给模型足够的参考信息。4. 完整实操流程从一张瑕疵图到干净成片4.1 蒙版制作与预处理的关键细节蒙版制作是整条流程的地基这一步做糙了后面参数调得再细也救不回来。手工绘制适合形状不规则、需要精确控制的区域比如沿着人物轮廓去背景、沿着产品边缘去杂物。绘制的时候宁可多圈一点也别贴着目标边缘画圈完做膨胀把边缘的残留一起吃掉。自动分割适合人体、头发、服装、常见物体这类有明确语义的目标分割模型给出的蒙版边缘通常比较贴合但发丝、半透明材质、细长结构还是会有毛边需要手工补几笔。蒙版做完之后有两步预处理不能省。第一步是检查蒙版和原图的分辨率是否严格一致尺寸差一个像素都会导致贴回时错位。第二步是做羽化和膨胀的顺序问题先膨胀再羽化膨胀负责把边缘的残留纳入重绘范围羽化负责让边界过渡自然顺序反了的话羽化会把膨胀出来的边缘又模糊掉等于白做。我一般膨胀 8 到 16 像素、羽化 4 到 8 像素作为默认组合遇到发丝、烟雾、玻璃这类软边缘目标羽化加到 12 以上硬边缘目标比如建筑、产品羽化压到 4 以内。4.2 参数配置清单与选择理由参数不是越多越好关键是理解每个参数在管什么。下面这张表是我修图时的默认配置后面会解释为什么这么选参数默认值调整逻辑采样器DPM 2M Karras收敛稳、细节好适合大多数修复采样步数25 - 30低于 20 细节不足高于 35 收益递减CFG 引导系数5 - 7太低不听话太高色彩过饱和、边缘发硬重绘幅度0.45 - 0.65按修复目标调见上一节区间表蒙版羽化4 - 8软边缘目标加到 12 以上蒙版膨胀8 - 16去杂物时加大换背景时减小重绘区域仅蒙版 / 整图小区域用仅蒙版大区域用整图随机种子固定方便对比参数定稿前再放开采样器的选择上Euler a 出图更有随机感、适合创意类修复但同一张图多次生成差异较大不利于精修对比DPM 2M Karras 更稳定同样的种子和参数重复跑结果基本一致适合需要反复微调的场景。步数给到 25 到 30 是比较划算的区间再往上加细节提升很有限时间倒是实打实地涨。CFG 这个参数容易被滥用很多人觉得“数值越高越听话”实际上超过 8 之后画面容易发灰、发硬、出现色块修复区域和周围环境的融合反而变差。随机种子建议在调试阶段固定住。同一个种子、同一组参数你只改重绘幅度就能直观看出幅度对结果的影响如果种子随机每次结果都不一样你根本分不清是参数起了作用还是运气。等参数定型、准备出终稿的时候再放开种子多跑几张挑最好的一张。4.3 提示词在局部修复里的写法局部修复的提示词逻辑和整图生成不太一样。整图生成你要描述整个画面局部修复你真正需要描述的是蒙版里应该出现什么但同时要兼顾整体风格的一致性不然修出来的那块和周围格格不入。我的写法是“主体描述 风格锚点 质量词”三段式。主体描述只写蒙版内的内容比如“一只自然下垂的右手手指微微弯曲”“干净的浅灰色背景柔和渐变”“木质桌面纹理细密木纹”。风格锚点用来锁定画风写几个和原图一致的词比如“写实摄影自然光浅景深”或者“扁平插画低饱和柔和线条”。质量词不是越多越好三四个够用堆一长串反而会让模型分心。负面提示词在修复里主要防两类问题一类是结构崩坏比如“多指、畸形、扭曲、模糊、重影”另一类是风格污染比如你修写实照片就加上“卡通、插画、绘画、3D 渲染”。还有一个小技巧如果修复区域总是冒出原图里没有的元素可以在负面词里点名排除比如补背景时加“人物、文字、logo”去杂物时加“杂物、阴影、反光”。这招不是百分百有效但能明显降低翻车率。4.4 三个真实场景的完整操作记录第一个场景是电商产品图去杂物。原图是一瓶护肤品放在台面上旁边有一片撕掉的标签纸和几根散落的棉签。操作顺序先圈出标签纸和棉签膨胀 12 像素把投影和边缘反光吃进去羽化 6 像素重绘幅度设 0.55先跑一张看背景的台面纹理能不能接上第一张出来纹理方向有点偏把重绘幅度降到 0.48、提示词加上“光滑浅色台面柔和反光”第二张就接得很自然了。这类场景的关键是背景纹理的方向和光照一致性重绘幅度太高会把台面的反光画乱太低又去不干净阴影。第二个场景是人像补手。原图人物右手被裁掉一半只剩手腕和一小截手掌。蒙版圈住缺失区域并往手臂方向多扩 16 像素羽化 8 像素重绘幅度 0.7提示词写“自然放松的右手手指微微弯曲肤色与手臂一致柔和自然光”负面词加“多指、畸形、僵硬”。第一张手指出多了第二张把重绘幅度降到 0.62、CFG 从 7 降到 6手指数量正常了但和袖口的衔接有点生硬第三张把蒙版往袖口方向再扩 8 像素让模型把袖口边缘也重画一部分衔接就顺了。补手这类活儿蒙版一定要覆盖到相邻的结构边界只圈缺失部分是补不出自然衔接的。第三个场景是给静物图换背景。原图是一个陶瓷杯放在杂乱的桌面上要去掉桌面换成纯色背景。这里用反向蒙版更省事把杯子圈出来作为保护区域蒙版模式选“重绘非蒙版内容”膨胀 4 像素、羽化 6 像素重绘幅度 0.8提示词写“纯浅米色背景柔和棚拍光杯子底部有自然接触阴影”重绘区域选整图模式让模型能看到完整的杯子形态。跑了两张第一张杯子底部的阴影丢了第二张在提示词里补上“接触阴影”就有了。换背景最容易被忽略的就是接触阴影没有阴影物体就像飘在空中加上这一句能救回大半真实感。4.5 后期处理接缝、色彩与细节回补生成结果贴回原图之后别急着导出放大到 200% 沿着蒙版边界走一圈。常见的残留问题有三类接缝线、色差、细节断层。接缝线通常是蒙版羽化不够或者重绘幅度跳变导致的轻度的话用修复画笔在接缝处轻扫几下就能压掉明显的话把蒙版边缘再羽化几个像素重跑一次。色差表现为修复区域和周围环境的色调、明度、饱和度对不上原因可能是模型风格偏移也可能是解码时的色彩空间差异前者换更贴合的模型或降低重绘幅度后者在后期做一次局部色彩匹配。细节断层指的是修复区域的高频细节密度和周围不一致比如周围是清晰的皮肤纹理修复区域却是磨皮后的光滑感或者反过来。这种问题在缩放贴回时最容易出现解决办法是修完之后对修复区域做一次轻微的锐化或降噪让它和周围的质感对齐。我习惯在贴回之后叠加一层很弱的噪点透明度控制在 3% 到 5%这一步能把“生成感”压下去不少尤其是写实类图像。5. 常见问题排查与避坑实录5.1 接缝明显、边缘出现色差接缝是 Inpainting 最高频的问题成因至少有四种排查的时候按顺序过一遍能省很多时间。第一种是蒙版硬边模型在边界处没有过渡参考生成内容和原图像素直接撞在一起表现是一条锐利的线。第二种是重绘幅度过高生成内容和原图的纹理逻辑完全脱节边界处出现纹理方向的突变。第三种是分辨率不匹配原图和蒙版尺寸差了一两个像素贴回时错位。第四种是色彩偏移模型解码出来的颜色和原图有系统性偏差整块修复区域都比周围亮一点或黄一点。对应的解法硬边就加羽化4 到 8 像素起步幅度过高就降到 0.5 以下试一版分辨率问题就统一尺寸再跑色彩偏移就在后期做局部匹配或者在提示词里加上和原图一致的光照描述。还有一个进阶技巧在蒙版边缘外侧再画一圈很窄的过渡蒙版让模型在这圈过渡带上做半强度重绘边界融合会更自然代价是要多调一次蒙版。5.2 修复区域画风不一致、像贴上去的画风不一致的典型表现是修复区域的笔触、质感、光照逻辑和周围明显不同一眼就能看出是后贴的。原因通常有三个底模和原图的风格不匹配、提示词里混入了冲突的风格词、CFG 过高导致生成区域过度锐化。底模的问题最根本修写实照片就用写实底模修插画就用插画底模不要指望一个模型通吃。提示词冲突很隐蔽比如你修一张低饱和的胶片风照片提示词里写了“清晰、高对比、鲜艳”生成出来的那块自然和周围不搭。CFG 的问题前面提过超过 8 之后画面会发硬修复区域和周围的柔和过渡就断了。我的经验是把 CFG 压在 5 到 6.5 之间提示词只写必要的风格锚点宁可少写也别乱写。5.3 大区域修复崩坏、结构混乱蒙版一大模型需要凭空补全的信息就多结构崩坏的概率直线上升。表现包括透视错乱、物体比例失调、重复纹理、语义不清。这种情况下硬调参数收效有限得换策略。第一个策略是分块修复把大区域拆成几块小的一块一块修每块都保留足够的上下文修完再拼接。第二个策略是先低分辨率定结构、再高分辨率补细节先在 512 级别跑一版把大结构定下来把结果作为底图再在 1024 级别用小蒙版修细节。第三个策略是给约束用结构控制类的辅助网络提供边缘、深度、姿态的参考让模型在大区域里也有明确的结构指引不至于自由发挥。这三个策略可以叠加用大区域修复的本质是“降低模型的不确定性”你给的信息越多它崩得越少。5.4 文字和直线结构修不好文字修复是公认的难点因为文字有严格的字形结构模型生成的字往往是“看起来像字但经不起看”的伪文字。实用的做法不是让模型直接生成文字而是让模型把文字区域补成干净的底色或背景再用排版工具把真文字叠上去。这样字形可控、字体可调、后期还能改比跟模型死磕强得多。直线结构比如建筑边缘、产品轮廓、画面里的规则线条修复时容易弯曲或断裂。解决办法是用边缘检测类的辅助约束把原图的线条提取出来作为生成参考模型就会沿着这些线走。如果没有辅助网络就把蒙版切成沿线条方向的长条分段修每段只改很短一截线条的连续性会好很多。这个技巧在处理栏杆、窗框、桌沿这类结构时特别管用。5.5 问题速查表现象最可能的原因优先尝试的解法边界有锐利接缝蒙版硬边、羽化不足羽化加到 8 以上重跑修复区域偏亮/偏黄解码色彩偏移后期局部色彩匹配画风和周围不搭底模不匹配、提示词冲突换同风格底模精简提示词大区域结构崩坏上下文不足、自由度太高分块修、先低分辨率定结构文字变成伪文字模型不擅长字形补底色后手动排版直线弯曲断裂缺少结构约束边缘约束、长条分段修修复后出现鬼影蒙版没盖住边缘残留蒙版膨胀 16 到 32 像素手部多指畸形手部结构复杂、幅度过高降幅度、加负面词、缩小蒙版6. 进阶玩法让修复更可控6.1 用结构约束把修复按住辅助约束网络的价值在于“给模型一个不能跑偏的框架”。边缘约束适合保留建筑轮廓、产品外形、文字区域的边界深度约束适合保持空间透视尤其是在换背景、补大件物体的时候深度图能让模型知道哪里近哪里远姿态约束适合人物修复补手臂、补腿的时候骨架能给模型明确的比例参考。用法上不用搞太复杂把原图喂给约束网络生成一张参考图再把这个参考接到修复流程里强度调在 0.5 到 0.8 之间。强度太低约束不住太高会限制模型的发挥修复区域容易出现僵硬的复制感。约束网络最适合的场景是“结构必须准、内容可以变”比如产品图修复要保持外形轮廓人像修复要保持姿态比例这两类场景用上约束之后返工率能降一大截。6.2 画面外扩把构图补完整外扩outpainting本质上是把蒙版画到画面外面去让模型补出画框之外的 content。操作上把画布扩大新增区域涂成蒙版原图部分保留然后走标准修复流程。这里有几个参数要调新增区域的填充方式影响最大用噪声填充模型自由度最高、容易跑飞用边缘延展填充更稳、和原图的衔接更好用纯色填充适合背景干净的场景。外扩的宽高比也要控制一次扩太多模型容易失去整体感我一般单次外扩不超过原图边长的 30%需要更大就分两三次扩。提示词要描述扩展出去的部分是什么比如“画面向右侧延展延续的木质桌面和柔和阴影”不写的话模型可能补出完全不相干的内容。外扩特别适合做海报的留白延展、产品图的场景扩展、人像的构图补全用好了能省掉重新拍摄或重新绘制的成本。6.3 批量处理与流程固化当你同一类修复要做几十上百张的时候单张手调就不现实了得把流程固化下来。思路是把“蒙版生成、参数配置、批量跑图、结果筛选”拆成独立环节每个环节用脚本或工作流串起来。蒙版如果是规则形状可以用脚本批量生成如果是语义目标就用自动分割批量出蒙版再人工抽检几张修正。参数固化成配置文件是个好习惯把模型、采样器、步数、CFG、重绘幅度、蒙版处理参数写成一个模板批量跑的时候直接调用。下面是一个参数模板的示例结构实际用的时候按你的工具格式调整{ model: inpainting-model-v1, sampler: DPM 2M Karras, steps: 28, cfg_scale: 6, denoising_strength: 0.55, mask_blur: 6, mask_dilate: 12, inpaint_area: only_masked, seed: -1, negative_prompt: blurry, distorted, extra fingers, text, watermark }批量跑完之后一定要抽检不能全信自动结果。抽检的重点是蒙版边缘、色彩一致性、结构合理性这三项发现问题的那几张单独拎出来手工修别为了省事把瑕疵图直接交付。批量流程的收益在于把重复劳动压下去把人的精力留给出问题的那百分之十这个比例才是合理的。6.4 修复质量的验收标准修完之后怎么判断“可以交付”我自己的验收清单是四步。第一步放大到 200% 看边界沿着蒙版走一圈有没有接缝、色差、纹理断层第二步缩小到 50% 看整体修复区域在整体画面里是否突兀光影逻辑是否统一第三步换背景看把图放到深色和浅色背景上各看一遍边缘的杂色和光晕会暴露得更明显第四步隔一段时间再看刚修完的时候眼睛会“适应”瑕疵放一两个小时再看问题往往一眼就能发现。这四步里最容易忽略的是第三步和第四步。换背景看能抓出很多边缘问题尤其是抠图换背景类的修复浅色背景上不明显的白边换到深色背景上立刻现形。隔时间再看则是利用新鲜感修图修久了会产生“确认偏误”你觉得已经修好了其实只是看习惯了。我吃过好几次亏交付之后被指出来边缘有残留回头一看确实明显就是当时看太久麻木了。7. 我踩过的坑和几条实在建议先说一个我早期犯的错蒙版画得越小越省事。刚开始用的时候总想着“精准圈出问题区域”圈得特别贴边结果每次修完都有一圈残留来回补蒙版补到崩溃。后来想明白了蒙版的目的是告诉模型“这块要重画”不是“这块有问题”多圈一点让模型有发挥空间边缘反而更干净。现在我的习惯是圈完之后统一膨胀十几个像素省下来的返工时间远比多算的那点显存值钱。第二个坑是迷信高重绘幅度。数值越高改动越大听起来很爽实际上超过 0.7 之后修复区域和周围环境的融合质量下降得很明显尤其是写实类图像光影和质感很容易脱节。我现在的做法是从低往高试先 0.4 跑一张看看够不够不够就 0.5再不够 0.6一般到 0.65 左右就能解决八成问题。真正需要 0.8 以上的场景往往是蒙版没画好或者模型没选对与其硬拉参数不如回头检查这两项。第三个是别在一个模型上死磕。同一个修复任务换个模型可能效果天差地别尤其是风格化内容。我现在的习惯是手头常备两三个不同风格的底模写实一个、插画一个、质感偏胶片的一个遇到修不动的图就换模型试一版经常是换个模型就通了。模型不是越新越好是越匹配越好这个道理在修复任务里体现得特别明显。最后提一个容易被低估的点保存中间结果。每调一次参数、每换一个模型都把结果存下来命名带上关键参数比如“去杂物_d55_m12_seed1234”。这样做的好处是翻车的时候能快速回退对比的时候有据可查隔几天想复现某个效果也不用凭记忆瞎猜。修复这件事本身就是反复试错的过程把试错过程管好效率自然就上来了。