AIGC系列的图片编辑篇拖到现在才写,不是没东西写,是内容多到不知道从哪下刀。上一篇聊完文生图的基本功,这次把图片编辑这条线彻底捋一遍:局部重绘、画布扩展、ControlNet精准控制、老照片修复、AI写真、批量工作流,每块都是可以直接落地的东西。
先说清楚这篇的定位。之前很多人私信问:AI生成图是能看,但我想改局部、想扩背景、想让人物姿势变一下,怎么操作?这篇就是解决这些问题的。从最常用的局部重绘开始讲,再到以图生图的各种玩法,最后是ControlNet这个控制神器,每一块都带完整的参数参考和操作逻辑。
不谈虚的,全是自己跑了无数遍流程总结出来的实操经验。你遇到的图糊了、人变了、出图不稳定这些问题,这篇里基本都有对应的解法。
1. 图片编辑的底层逻辑:为什么AI改图能改得这么自然
先说个大家最容易忽略的事:AI图片编辑和Photoshop的思路截然不同。PS是把像素当积木,你想挪哪块挪哪块;AI是把图片当“语义描述”,机器理解的是“图里有什么”,不是“坐标位置上是什么颜色”。理解了这点,后面所有操作就都通了。
1.1 三种主流实现路线怎么选
现在市面上的AI图片编辑工具,抛开界面包装,底层无非三条技术路线。
第一种是扩散模型原生编辑,代表就是Stable Diffusion的img2img和inpaint功能。它的原理是给你一张图加噪声再逐步去噪,同时用文字引导去噪方向。局部重绘、换风格、改底色,都是这条路线的拿手好戏。
第二种是ControlNet精准控制。它像是在扩散模型上加了个方向盘,通过线稿、深度图、骨骼姿态图这些额外输入,强行约束生成画面的构图和结构。你要改人物动作、保持多人场景不崩、让建筑透视准确,没有ControlNet基本做不到。
第三种是多模态指令编辑,比如GPT-4V系能力和一些云端工具的做法,直接说“把这个人的外套变红”,模型直接返回改好的图。这条路线的本质是内部做了“理解–定位–重绘”的串联,但可控性不如前两者。
我的建议很直接:如果你要的是精度和可控性,老老实实学Stable Diffusion + ControlNet;如果你追求速度和省心,可以用在线工具和图生图走捷径。前者是手艺,后者是快餐。
1.2 图片编辑和文生图的本质区别
文生图是“无中生有”,难点在于提示词写得好不好;图片编辑是“有中生变”,难点在于保留什么、改变什么。
举个例子,你有一张人像照片,想把背景从街道换成海边。如果直接扔给img2img整体重绘,大概率背景是变了,人脸也跟着变了,衣服细节还会崩掉。这就是“全局重绘”的代价——模型为了生成海边背景,会把画面里所有信息都重新推演一遍,不针对性地保护主体,改动就会波及无辜。
所以图片编辑的第一原则是:尽量只改变需要改变的部分,方法要么是局部重绘(用蒙版划定范围),要么是ControlNet局部控制(把需要保留的区域锁定)。理解了这条,你就理解了为什么老手做编辑永远先用“局部”再谈“全局”。
1.3 一个生活化类比帮你建立操作直觉
把AI改图想成装修房子。
整屋重装(全局重绘)当然能彻底换风格,但代价是原来家里你喜欢的物件全得扔掉——对应到图里就是构图、神态、细节全都变了。局部改造(蒙版重绘)是划定一个房间施工,其他地方保持原样,这是最常用的手法。如果用ControlNet,就相当于你给施工队一张图纸,告诉他们“承重墙不能动,水管走向必须按这个来”——这就是结构约束。
理解了这套装修思路,你会明白为什么很多人一张图要跑五六遍:不是因为AI笨,是因为你没告诉AI哪里别动。
2. 局部重绘实操:改脸、换衣、去杂物一步到位
局部重绘是图片编辑里用得最多的功能,没有之一。它的核心逻辑是:你告诉AI“只改这个区域”,AI只在这个区域重新生成内容,其余像素原样保留。
2.1 蒙版的重绘模式怎么选:重绘非蒙版内容 vs 仅重绘蒙版内容
以Stable Diffusion WebUI为例,局部重绘里有两个模式,很多人选错导致结果完全不对。
重绘非蒙版内容:翻译成人话就是“蒙版区域保持原样,蒙版外面的部分重新生成”。这个模式经常用于“锁定主体、换背景”的场景。比如你把人框住,让AI去换背景,就用这个。
仅重绘蒙版内容:只重新生成你涂蒙版的区域,蒙版外的东西完全不变。换脸、换衣服、去杂物,都用这个模式。
实操上我90%的情况用“仅重绘蒙版内容”,因为只改变目标区域是图片编辑的常态。而“重绘非蒙版内容”有个大坑:模型其实会参考蒙版区域的边缘信息,一旦参考不到位,主体边缘会很生硬,有“贴纸感”。
2.2 关键参数:蒙版模糊、重绘幅度和采样步数
同样的蒙版,参数不同结果天差地别。
蒙版模糊(Mask Blur):默认15左右比较合适,它控制蒙版边缘的羽化程度。太低了边缘切割感明显,改了区域和没改区域像两块拼图;太高了改动的边缘会“溢”到不需要改动的地方。我一般调10到20之间,边缘要求精细时降到4到8。
重绘幅度(Denoising Strength):这是局部重绘最重要的参数,控制的是改动强度。数值0代表原样输出,1代表完全重来。局部重绘我通常在0.6到0.85之间浮动:改背景用0.7左右,换人脸用0.75左右,细节修复就压到0.4以下。记住一个原则:改动越小的事,重绘幅度越低,不然把不该动的纹理也洗掉了。
采样步数:局部重绘不用拉满,20到30步之间足够。很多人以为步数越高越清晰,其实步数超过一定值后就是纯耗时,图像质量不再提升。
2.3 从“去路牌”到“换衣服”的完整操作流程
举个最常见的场景:照片背景里有个碍事的垃圾桶或者路人甲,你想去掉它。一步步来:
- 图片导入局部重绘面板,用画笔把要消除的物体涂满蒙版。注意要在物体边缘外再留一圈,留2到3个像素的冗余,这样模型在参考周围环境时过渡更自然。
- 按“仅重绘蒙版内容”模式跑一遍,提示词里写周围的东西。比如消除草地上的垃圾桶,提示词就写“grass, outdoor”,让模型知道该补齐草地而不是生成一团乱码。
- 重绘幅度调到0.7到0.8,这一步的目的是给模型足够的自由度去“脑补”被遮挡的区域。
- 如果第一次生成的补丁和周围光影不一致,反复刷几次或微调蒙版模糊值,直到过渡自然。
换衣服同理:蒙版涂在衣服区域,提示词改成“red dress”之类,把重绘幅度调到0.7到0.85。但要注意,如果你用0.85以上的强度,衣服轮廓周围会跟着轻微变形,所以先低后高,逐次尝试。
2.4 局部重绘的5个避坑经验
- 蒙版不要涂出边界:如果蒙版顺着衣服纹理扫过头了,AI会连皮肤一起改。涂蒙版时放大图片、放慢鼠标,这是精细活儿。
- 提示词必须描述蒙版区域的“应有之物”:消除物体时提示词写补全内容,不是写“删除”。AI听不懂“删除”,只知道“这里没有垃圾桶,那应该是什么”。
- 人脸修复单独跑:换完脸后再用ADetailer或面部重绘修一遍五官,这个组合拳比一次成图稳定得多。
- 多人合影改其中一人时,把其他人也轻微画进提示词里,比如“two people, one in red”,有助于模型理解画面关系,避免改完只剩一个人。
- 不要忽视Seed值:想要保持原图的光影和氛围,局部重绘时锁定原图的Seed,效果比瞎碰参数稳定。
3. 图生图与画布扩展:不重新画,也能拿到想要的新画面
局部重绘解决的是“改局部”,图生图解决的是“整体换风格”和“以图补图”。在照片转插画、真人转二次元、老照片翻新这类场景里,图生图是主力。
3.1 全局重绘的幅度控制:0.3到0.9之间的微妙平衡
图生图的本质是把整张图加噪再重绘,控制权全在重绘幅度这个参数上。
0.3到0.45:改动较小,基本保留原图构图和内容,适合微调色调、优化细节、去噪点。老照片修复一般在这个区间。
0.5到0.65:保留构图、调整画风,这个区间适合“风格迁移”。原图内容还在,但画质、笔触、色彩会明显向目标风格靠拢。真人照片在这个区间做二次元化是最好用的。
0.7到0.85:大改。构图会漂移,内容会重组,适合“参考原图的感觉但重新发挥”。比如你只有一张草稿图,想让模型生成细节丰富、视角稍微变化的成图。
0.9以上:基本等于文生图,原图只提供颜色分布参考,不建议在图片编辑场景使用。
实操时我的习惯是先定0.55左右跑一张,再根据结果上下微调0.05到0.1。一次到位的情况很少,但别跑太多次,每次微调只动一个参数,否则你根本不知道改了什么导致的差异。
3.2 用Outpainting扩展画布:把竖图变横图、补全构图的正确姿势
画布扩展(Outpainting)是图生图里最神奇的功能。你有一张竖版人像,但设计需要横版横幅,AI就可以把背景向左右延伸,生成原本不存在的画面内容。
实操上有两种方式:
WebUI自带Outpainting:把图片放在局部重绘面板,蒙版涂在画布边缘需要扩展的方向,重绘模式选“重绘非蒙版内容”,提示词描述扩展方向的场景。我实际操作下来的心得是:一次只扩展一个方向,不要同时扩上下左右。同时扩四个方向会让模型失去所有参考锚点,构图结构会飘掉。每次扩展50到100像素,跑完一次再继续扩,这样画面衔接比较自然。
手动扩画布法:先把画布用图片处理软件拉宽,空出右侧区域,再把整张图拿去做图生图。这个方法对模型的“补全能力”要求更高,但控制力也更强,因为有明确的空白区域让模型发挥。
第一个方法适合新手,第二个方法适合对构图有明确要求的人。
3.3 分辨率重绘:低清图如何安全地变高清
低分辨率图片想变高清,网上教程一堆,但很多一上手就崩。正确路径是这样的:
- 先用图生图,重绘幅度0.3到0.4,分辨率按原图的2倍设置,跑一遍。这一步是“初步放大”,顺便清理噪点。
- 再用高清修复(Hires Fix)或者外部放大脚本,把步数调低,权重在0.2到0.5之间,进行第二次放大。
- 如果人脸有畸变,开ADetailer单独修脸,基本能救回来。
这里有个大坑:不要一次性把分辨率拉到4倍以上。模型没有能力凭空捏造那么多细节,拉太高只会得到一张糊糊的“细节涂抹图”。我见过太多人1280x720的图直接拉到5120x2880,结果出来全是塑料感和重复纹理。
正确的思路是“级进式放大”:每次放大1.5到2倍,总共放两到三倍就够用。记住,AI放大不是变魔术,它是在已有信息基础上做合理插值,幅度太猛只会画蛇添足。
3.4 老照片修复的真实工作流还原
这个场景很像,但难点不同。老照片往往有划痕、噪点、泛黄、缺角。我的修复流程如下:
- 预处理:先用PS或在线工具把照片裁正、拉直、去掉明显的划痕,这一步别省。AI处理“脏信息”会一本正经地放大错误,把噪点画成皮肤纹理。
- 初步降噪:图生图重绘幅度0.25到0.3,提示词写“portrait, detailed skin texture, natural facial features”。这一步只做轻度清洗,把颗粒感去掉,保留五官轮廓。
- 脸部增强:用局部重绘只圈出脸部区域,提示词加“detailed face, high resolution”, 重绘幅度0.35。让五官更清晰。
- 高清放大:按级进式放大原则推到目标分辨率。
- 手绘修边:AI修旧照片最大的问题是把人的手画畸形或把背景文字画乱,这步只能人工介入。
这流程走下来,一张七八十年前的老照片能修到“发朋友圈不尴尬”的程度,但不能指望它变成摄影棚原片,AI的修复是有极限的。
4. ControlNet精准控制:让AI听你的手,而不是只看文字
如果说局部重绘是“告诉AI改哪”,那ControlNet就是“告诉AI怎么改”。它解决了图片编辑中最头疼的问题:结构失控。
4.1 常用控制模式的选型与适用场景
ControlNet插件里控制类型很多,但日常图片编辑用到的就几个。
Canny(边缘检测):识别图片里的线条轮廓,适合锁定构图的轮廓框架。你要保持人物轮廓不变、只换颜色风格,用Canny锁定主图,再配合图生图重绘,效果立竿见影。
Depth(深度图):生成景深信息,控制前后空间关系。适合场景透视要求高的图,比如建筑、室内设计,深度图能让AI在重绘时保持空间结构不塌。
Lineart(精细线稿):比Canny更干净,适合动漫插画和线稿上色,能从线稿直接生成成品图。
OpenPose(姿态骨架):提取人物骨骼姿态,改变姿势、动作构图时用它。还记得“保持人物是原样但换个动作”这种需求?OpenPose就是为此生的。
Tile(分片重写):这名字很玄,实际上它是“参考原图纹理并重新演绎”的神器。适合在不动构图的前提下,把照片变插画或把插画变写实。
Inpaint(局部控制):专门配合蒙版重绘使用的模型,让蒙版区域内生成的图像更好地参考蒙版外的边缘。
我的建议是:开始只用Canny和Depth,这两个理解成本最低。OpenPose和Tile花半天熟悉后,图片编辑的可玩性会直接翻倍。
4.2 权重参数怎么调才不喧宾夺主
ControlNet不是开了就完事,核心在“控制权重”。
权重(Weight):控制ControlNet的影响力。默认1.0,但图片编辑场景我常常调到0.5到0.8。为什么?因为权重太高会死板,生成的图“贴”着原图的线条走,风格发挥空间被压死。
举个例子:你用Canny锁定一张照片的轮廓去生成水彩画,权重1.0时出来的图构图是稳,但笔触会很拘谨;权重0.7时画面的自由度刚好,既保持了构图骨架,又有了水彩的灵动。
起始步数(Start Step):控制ControlNet生效的时机。默认从0步开始,但有些场景应该让模型先自由发挥几轮再介入控制。做深度编辑时我从0.05或0.1开始介入,做严格结构控制时才从0开始。
结束步数(End Step):默认到1.0结束,但如果你改动的区域很小,可以让ControlNet在0.8左右就停止工作,最后几步让模型自由处理细节,这样边缘更柔和。
4.3 一次完整的人像姿态迁移:从照片A到照片B
讲一个最常见的实战需求:把照片里人物的姿势,从A图迁移到B图的背景和风格里。
- 准备B图(风格参考图)作为底图,放进图生图面板。
- 打开ControlNet,上传A图(姿势参考图),选OpenPose模式。
- 权重设为0.8,起始步数0,结束步数0.6。
- 提示词描述B图的风格和内容,重绘幅度0.6左右。
- 生成。
这一步的原理是:OpenPose只管骨骼姿态,不管服装细节和画面风格,底图的重绘负责提供画面内容,两者一组合就拿到了“A的姿势 + B的风格与内容”。
这个方法的精髓在结束步数设0.6:后半程模型已经吃透了姿态骨架,再让它自由发挥细节,改姿势的同时保留了B图的服装、光影和画面质感。
4.4 ControlNet复现同一张脸的懒人玩法
除了控制结构,ControlNet还有个隐藏用法:用IP-Adapter或者Reference模式做“脸的一致性控制”。
这是AI写真和角色设定的核心工具。流程是:上传一张脸部照片,用Reference模式锁定面部特征,再配合图生图或文生图,就能在不同场景下生成同一张脸的人像。
注意,Reference模式不是复制粘贴脸部,它更接近“把这人的气质和五官比例作为参考”,所以要做正式的角色一致性,建议配合LoRA模型双管齐下。单纯用Reference模式生成的图远看像,近看细节会漂。
我自己做AI写真,习惯先训练一个脸部LoRA,再在生成时加一个低权重的Reference控制,两者互补,稳定性和相似度都能兼顾。
5. 从单张到批量:工作流才是图片编辑的效率归宿
单张图改到满意只是入门。真正的效率提升来自把“图片编辑的流程”固化成可以复用、可以批处理的工作流。
5.1 工作流如何搭:拆解、固化、复用
图片编辑的流程本质上是一条生产线:拿图、分析、控制、生成、修脸、放大。用ComfyUI可以把这些环节全连起来,一次搭建,无限复用。
我的建议是不要直接学高深节点,先从“局部重绘”工作流入手拆解:
- 加载底图节点
- 蒙版节点(加载透明蒙版PNG,或者手绘蒙版)
- 控制网络节点(OpenPose/Canny按需接入)
- 采样器节点(参数固化)
- 面部修复节点(ADetailer)
- 高清放大节点
- 保存节点
搭建时别追求一步到位,先拉通最核心的两三个节点,跑通了再逐步加。ComfyUI的优势在于可视化排错——哪个节点出的问题一目了然,不像WebUI那样黑盒到底。
5.2 批处理场景:照片整理、数据集清洗一步到位
很多人没意识到,图片编辑技术最实用的场景不是“修美图”,而是批处理脏活。
举个例子,做模型训练前需要清洗几千张数据集:裁剪人脸、去模糊、统一分辨率、筛选光线。这些活人工做能疯掉。用图生图加脚本批量处理,一台机器一个晚上能跑完几百张的初步筛选和修复。
另一个高频场景是电商白底图替换。拍了一堆实物图,想统一换背景、调色调、抠图重绘。用ControlNet的Inpaint模型加局部重绘做批量背景替换,比手动PS效率高一个数量级。
提示:批处理前一定要抽样检查。先跑10张看结果,确认输出稳定后再全量跑,不然几千张废图教你做人。
5.3 显存、速度和算力的平衡术
批量处理最大的制约是显存。我踩过的坑说一下自己的经验:
- 12G以下显存:单批张数(Batch Size)拉到1,启用低显存模式,优先保质量而不是保速度。
- 16G以下:Batch Size最多2,不要轻易上大分辨率重绘,控制网络节点不要开太多。
- 24G及以上:可以尝试Batch Size 4,大分辨率图也扛得住。
真想省时间,优先优化的是“采样迭代步数”而不是开大Batch Size。步数从30降到20,画质几乎无损,速度能快三分之一,这笔账很划算。
6. 常见问题与排查技巧实录
写这个章节,是把这段时间自己被问得最多的、自己反复踩过的问题集中列一下。很多问题看起来是个例,实际是通病。
6.1 图片编辑后人物脸部畸变怎么救
脸部畸变是最常见的崩坏场景,触发原因通常是重绘幅度过高或分辨率过度拉升。
排查顺序如下:
- 先看脸部是否在蒙版范围附近:如果是,加大蒙版模糊值到12到16,让生成区域边缘和原图融合得更好。
- 再看重绘幅度是否过高:高于0.8请往下压,换高质量底模型比硬调参数有效得多。
- 开ADetailer单独修复:把ADetailer的检测模型设为face_yolov8n,让它专门跑一遍脸部修复流程,大多数畸变都能救回来。
我见过太多人遇到脸部崩就直接重跑整张图,完全没必要,正确修法就是单独把脸区域重绘一遍,其余部分不要动。
6.2 局部重绘的背景变灰、变花了怎么办
背景变花通常发生在“消除物体”场景,因为蒙版区域和周围环境的颜色分布相差太大,模型不知道该补什么。解决路径:
- 提示词里明确写周围环境的材质:草地就写“grass”,墙面就写“wall texture”,不要只写“background”。
- 重绘幅度降到0.65到0.7,给模型更少的“发挥”空间。
- 打开ControlNet的Tile模式,把原图作为控制源,蒙版区域生成时就会参考附近纹理来补齐,这个组合对付背景变花非常有效。
6.3 生成三张图有两张“地砖透视歪了”是什么原因
透视歪斜基本可以断定是深度图控制不到位。出现这个问题的场景,多半是建筑、室内、地面这类规则纹理的图。
- 开ControlNet Depth模式,权重拉到1.0到1.2,强行锁定透视结构。
- 如果还是歪,先在预处理器里检查生成的正彩色深度图,深度图本身错的话说明预处理出了问题,换Lineart模式试试。
- 不要用高重绘幅度去做场景结构编辑,0.5到0.6是黄金区间,高于0.7透视必歪概率大增。
6.4 出图结果颜色偏灰、发闷是怎么回事
颜色发闷九成是对比度丢失,原因是重绘幅度太高把原图的影调信息洗掉了。
- 重绘幅度往下压,从0.7降到0.6,颜色立刻干净。
- 把采样器从DPM++ 2M换成DPM++ 2M Karras,色彩明快一些。
- 生成后加一个轻度的色调调校脚本,或者后期拉到PS里用曲线拉一拉对比度。
6.5 为什么换背景时主体的边缘总有白边
白边是“重绘非蒙版内容”模式的典型副作用,原因是边缘参考不够精细。
- 把蒙版模糊调低,让边缘过渡更锐利。
- 把蒙版边缘涂得更精确,不要给AI模糊半像素的自由裁量权。
- 用ControlNet Inpaint模型辅助局部重绘,它对边缘的处理更细腻,白边问题会大幅减少。
7. 工具的搭配逻辑与选型建议
图片编辑要顺手,工具选型很重要。不是越贵越好,也不是越高级越好,要匹配你的使用频率和需求。
7.1 本地部署 vs 在线工具的判断标准
如果你只是偶尔修几张图、发发社交媒体,在线工具就够了。目前一些云端产品把局部重绘和扩展画布做得极其傻瓜化,上传、涂蒙版、点生成,30秒出结果。
但如果你有下面三个需求里的任何一个,就直接考虑本地部署:
- 批量处理几十上百张图
- 需要精细控制构图结构(ControlNet的权重、模型换用)
- 涉及商用场景,不想把图片发到第三方服务器
本地部署的成本是一次性的:一台有6G以上显存N卡的电脑(推荐8G以上),加上免安装或绿色整合包,跑起来后你会发现自由度完全不在一个量级。
7.2 模型选型:写实类、插画类、设计类怎么配
图片编辑的底模选择直接决定成败。
写实类:首选Realistic Vision或ChilloutMix迭代版。前者稳定耐操,后者皮肤质感更好。做老照片修复、人像写真,这两个够用。
插画类:二次元用Anything V5系,韩系动画风用Counterfeit系。它们对线条和色彩的理解更符合插画审美,Canny、Lineart这些控制源配合得也更好。
设计类:要说的是,如果你做产品海报、室内效果图,可以试试用SDXL系列底模配合深度控制来做,光影、质感、透视精度比SD 1.5时代强了一大截。
模型不是越多越好。我建议固定两三个主力底模,把它们的脾气摸透,比在几十个模型之间瞎换有效率得多。
7.3 必装的辅助插件与模型
除了主体功能,这几个辅助东西建议装齐,缺一个都会让你多踩不少坑:
- ADetailer:面部修复神器,局部重绘后自动跑脸,谁用谁知道。
- ControlNet官方模型包:包含Canny、Depth、OpenPose、Tile、Inpaint等基础模型,一包搞定。
- IP-Adapter模型(可选项):做风格控制和角色一致性时的强力外挂。
- Emoji权重模型(可选项):风格调解的好帮手,但图片编辑场景使用率不高。
装了这些不代表要全开,按场景择优使用就行。
8. 我的一些真实体会
图片编辑玩到现在,我的最大感受是:AI工具的瓶颈不在于模型,在于使用者的拆解能力。你越能清楚地告诉AI“保住什么、改什么、往什么方向改”,拿到的东西就越好。
线上常说“用AI修图就是打咒语”,我不同意。真正的高手是把问题拆成一个一个小控制项:先锁定结构、再改重绘范围、再调权重、再修细节。每一步都有明确的意图,叠加起来就是稳定可控的结果。拿一张图反复瞎试参数,那不是玩AI,那是掷骰子。
给后来者一个很实在的建议:拿十张自己拍的照片,从局部重绘开始,一张一张把“去杂物、换背景、改色调、扩画布”这四类操作练完。别急着碰高级功能,先把手指养成习惯。这四类操作覆盖了80%以上的图片编辑需求,练完之后你自然知道自己在什么时候需要什么工具。
这篇文章没有讲那些花哨的插件和复杂节点,因为这些在基础不牢时只会让你更混乱。先跑通手头的事,再向外延展,是我这些年做图像处理最实在的经验。希望对正在啃图片编辑的你有点帮助。