AI 生成任务

什么是 AI 重打光(relighting)?

又称 relighting, AI 重打光, 人像重打光, 光线迁移

重打光是在不重拍的前提下改变一张图或一段素材上的光:把主光方向、软硬或色温挪掉,同时保住主体和构图。要做得可信,必须先估出表面的形状,因为光必须沿着照片只是暗示、并未记录的几何正确地衰减。

它实际在解什么问题

一张照片记录的是光遇到表面之后的结果,并且几乎把产生这个结果的全部布光信息都丢掉了。重打光必须把这个过程倒着跑一遍。要把主光从右边挪到左边,它需要知道脸上哪些部分朝哪个方向、什么挡在什么前面、每个表面有多粗糙,而这些东西文件里一个都没有。

所以任何重打光系统其实都是两个系统。一个估形状,通常表示成深度图或者表面法线图;另一个用这个估计加上你要求的光,重新渲染明暗。质量跟着形状估计走的程度,远大于跟着渲染走。这也解释了为什么重打光在脸上效果好(模型对人脸几何有很强的先验),在杂乱室内很差(深度猜测直接崩掉)。

它能做什么,不能做什么

比较可靠的,大致按成功率从高到低:

  • 挪主光方向,在一张脸或者单个物件上。最常见的需求,也是模型处理得最好的。
  • 改软硬。 硬变软比软变硬容易,因为柔化只是把明暗糊开,而硬化必须造出原本不存在的阴影边缘。
  • 色温与偏色。 几乎总是可信,因为它离调色式的改动最近。
  • 补一道轮廓光或者加一盏景内光源。 只要灯本身留在画外,效果都不错。

不可靠的,在你承诺能修之前值得知道:

  • 救过曝高光和死黑阴影。 它们底下什么都没有。把主光往已经削顶的区域摇,产出的是合理的虚构。
  • 玻璃和金属上的反射与高光。 这些取决于整个环境,不只是表面本身。
  • 头发,尤其是逆光的头发。 一根根细丝需要逐丝的遮挡关系,而深度估计里没有。
  • 一组镜头之间的一致性。 每帧都是单独估的。

提示词怎么写

把它当成写给灯光师的布光单,不是许愿。两件事最关键:把光说准,以及明确写出什么不许变。

按方向、质感、颜色、衰减这个顺序点名,用布光图会用的词汇:single soft key from high frame left at about 45 degrees, warm 3200K, deep falloff into shadow on the right cheekbetter lighting电影感的光这类含糊要求换来的只是对比度被推高,因为模型拿不到任何空间性的指令。

然后把其余一切锁死,因为人像重打光模型在重新渲染一张脸时,身份和服装都会漂:keep the pose, expression, wardrobe and background exactly as they are。就这一句能挡掉大部分不请自来的改动。

描述起来太费劲的时候,改用光线迁移。丢一张参考帧纯粹当光线范例,比描述一个不常见的布光快,而且当这个镜头必须和你已有的素材对上时,这才是正确做法。

任何需要精度的场合,都圈出区域再打。合影里只对一张脸做带遮罩的重打光,既对模型更容易,也对你更容易检查,同时保护住你本来就满意的那部分画面。

它在流程里的位置

重打光最值钱的用法是在前期,当作视觉开发工具:生成一张图,重打四种光,在投产一整组镜头之前先把方向定下来。这样用,它替代的是一次布光测试,不是一次重拍。

放到后期当救火用 —— 修一段本来就打坏了的素材 —— 可靠性低得多,而决定成败的是曝光而不是模型。如果原素材在高光和暗部都留住了细节,重打光就有材料可用;如果没留住,诚实的选项只有调色或者重拍。

支持该效果的模型

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

查看全部 25 个模型

这个效果的提示词

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

Relight this portrait: single soft key from high frame left at about 45 degrees, warm 3200K, deep falloff into shadow on the right cheek, cool dim fill from a window behind, keep the pose, expression, wardrobe and background exactly as they are

试一下:重打光

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

常见问题

重打光和调色有什么区别?
调色是对影调和色彩做全局重映射:它能改变每个像素怎么被渲染,但没法决定「阴影现在落在另一边脸上」。重打光是空间性的,它必须依据表面位置合成新的明暗和新的阴影。调色重新分配照片记录下来的东西,重打光则在造照片没记录的东西。
为什么重打光依赖深度或法线估计?
因为一个表面对某盏灯的响应有多亮,取决于它朝哪个方向、离得多远。没有形状估计,模型只能在画面上刷一层渐变,读起来就是个滤镜。有了它,鼻子才能把阴影投到脸颊上,肩膀才能挡住背景。
哪些东西重打光救不回来?
原始曝光已经毁掉的细节。过曝的高光底下没有纹理,纯黑的阴影里没有信息,所以把主光往这些区域挪,得到的是编造而不是恢复。如果计划后期重打光,拍的时候就该拍得比需要的更平。
视频能重打光吗?
能,但稳定性难得多。每一帧都会得到自己的形状估计,帧与帧之间的细微差异会表现为明暗和阴影边缘的抖动。短片段、主体慢动作能撑住;快速运动和头发通常撑不住。
什么是光线迁移?
再给一张图,纯粹作为光线范例,让模型去匹配它的主光方向、软硬和颜色,而不是照着一段文字描述做。它适合去贴一条你必须对切的素材,也比用文字描述一个不常见的布光方案容易。
能只重打画面的一部分吗?
能,用遮罩。带遮罩的重打光是修合影里某一张脸、或者提亮某个产品而不动整个场景的标准做法。它也比整幅重打更可靠,因为留给模型算错的几何更少。

相关术语