AI 生成任务

局部重绘详解:在遮罩里做生成

又称 inpainting, ai inpainting, video inpainting, 消除笔, 遮罩重绘

局部重绘(inpainting)只重新生成你画出的遮罩范围内的像素,遮罩之外一个像素都不动。要去掉一个物体、换掉一处细节、修掉一个错误,而不想重渲整张图,用的就是它。而结果好不好,取决于遮罩的程度远大于提示词。

模型看到的是什么

一次局部重绘拿到三样输入:原图、标出待替换区域的遮罩、以及描述那里应该有什么的提示词。模型在生成遮罩内的新内容时,会以周围像素为条件,所以它能在边界处对上光线、肌理和透视。

正是这个「以周围为条件」,让局部重绘和整帧编辑的手感完全不同。模型不需要决定这张画讲什么,它解的是一个小得多的问题:在周围都长这样的前提下,这个洞里应该是什么。小问题的答案质量更高。

遮罩就是主要工作量

绝大多数糟糕的局部重绘,本质是遮罩问题,只是穿着提示词问题的外衣。

  • 遮罩要比物体大一圈。 贴着轮廓画,等于告诉模型这个物体的确切剪影,而它会很配合地造一个同样形状的东西出来。
  • 把「证据」一起框进去。 阴影、反光、接触点,正是让模型相信这个物体存在过的东西。去掉一盏灯却留着它打出的光,就会长回一个灯形状的东西。
  • 边缘羽化。 硬边遮罩会留下可见接缝,几个像素的过渡能让融合落在渐变里。
  • 一轮只处理一个物体。 一个遮罩里框两块无关区域,模型会试图把它们联系起来。
  • 不要横跨强结构线画遮罩,比如地平线、桌沿、建筑转角,除非两侧都留够长度让模型把这条线接上。

任务怎么选

目的该用的任务
去掉或替换画面里的某个东西局部重绘
把画面往外扩外扩绘制
改整张图的观感图生图
把主体抠出来做合成抠像 / 逐帧抠像
把小图变大超分放大

在能解决问题的前提下用最窄的那个任务。为了修一只手而跑整帧重绘,等于把已经通过的部分全部重摇一次骰子。

这一轮提示词怎么写

描述那块区域应该有什么,而不是你想去掉什么。

  • empty wet asphalt continuing the road markings, same overcast light
  • ⚠️ remove the car 有时也行,但模型只能自己猜车的位置该换成什么

另外两个习惯。提示词要短:在一小块遮罩里写一长段,等于鼓励模型把一整个场景塞进这个补丁。以及,当填充结果已经接近对了,先换个种子重跑,再考虑改措辞 —— 在小遮罩里,方差通常比推敲文字更便宜。

视频局部重绘

视频局部重绘把同一个思路铺到时间上,是去威亚、去机械臂、换招牌、把现代物件从年代戏里拿掉的标准做法。有两点不同:遮罩必须跟着物体走,所以是跟踪而不是画;填充必须逐帧一致,所以模型需要参考相邻帧,而不是把每帧单独解一遍。

它最好用的情况是:物体挡住的那片背景在镜头别的时刻露出来过,这时填充是重建而不是发明。固定机位加运动主体是最容易的一档;一个静止物体挡着静止背景、整段都没露出来过,是最难的一档,也是补丁最容易「呼吸」的地方。

支持该效果的模型

取自 ZOOOP 实时模型目录,新模型上架后自动出现在这里。

  • Eraser
  • Inpaint

这个效果的提示词

一条能稳定出效果的起点。主体和场景可以换,技术性的那几句留着。

Empty wet asphalt continuing the road markings, same overcast light and reflections as the surrounding street

试一下:局部重绘(Inpainting)

打开生成器,参数已经预填好。

常见问题

局部重绘和外扩绘制有什么区别?
局部重绘是在画面内部补一个洞;外扩绘制(outpainting)是把画布往原始边界之外扩,凭空生成新区域。两者都是带遮罩的生成,但外扩只有一侧有真实内容作参考,所以更容易跑偏。
为什么去掉的物体留下了鬼影,或者又长回来了?
几乎总是遮罩画得太紧。模型还能看到这个物体的阴影、反光、以及它遮住后面东西的方式,于是它会重建出某个东西来解释这些线索。把阴影和接触点一起框进遮罩,它就消失了。
遮罩该画多大?
比要改的东西大一圈,边缘带羽化。给模型留出融合的余地,并把这个物体影响到的东西一起包进来:阴影、反光、溢出的光。遮罩过小也会以另一种方式失败,因为模型缺少上下文去匹配肌理。
视频能做局部重绘吗?
可以,去掉威亚、机械臂、招牌这类相对静止的东西效果很好。它需要一个跟着物体走的遮罩,所以通常要配跟踪器。运动主体和不断变化的遮挡关系,仍然是难点。
为什么补上去的那块和照片其余部分不像?
常见三种不匹配:颗粒,因为填充是干净的而照片不是;锐度,因为这块的有效分辨率和整图不同;透视,因为模型不知道你的镜头。前两项事后补匹配,透视靠把遮罩控制得小一点、让线索保持局部。
提示词该写「去掉那辆车」吗?
尽量别这么写。模型没有「删除」这个概念,删除只是一次提示词描述背景的局部重绘。写清那块地方应该有什么(空的湿沥青、延续的车道线、一样的天光),比写要去掉什么可靠得多。

相关术语