每个合成师都经历过:绿幕镜头中演员飞扬的头发在你拉取键控的瞬间就溶解成数字糊状。细发在合成中占据独特地位,因为它存在于素材的分辨率极限处。在 4K 分辨率(3840x2160)下,用 85mm 镜头在典型采访距离拍摄的细发丝宽度为 1-3 像素。这些像素包含前景颜色(头发)、绿幕溢色和背景颜色的混合。世界上没有任何抠像器能完美分离这个信号。问题是哪个抠像器破坏得最少,以及你如何补偿它做不到的部分。
为什么细发是最难的抠像挑战
头发的像素数学
一根人类头发的直径约为 50-100 微米(0.05-0.1mm)。在 Super 35 传感器(4K 约 24x13.5mm)上用 85mm 镜头在 2 米物距拍摄,放大比约为每像素 0.02mm。一根 70 微米的头发在 4K 下约占 3.5 像素。在 1080p 下,同一根头发约占 1.8 像素。低于 2 像素时,头发处于亚奈奎斯特极限——传感器无法完全解析它,呈现为半透明的模糊。
这对抠像有直接影响。在 4K 下,你几乎没有足够的数据将头发识别为独立物体。在 1080p 下,头发在数学上无法解析为实心边缘。任何在发际边界尝试二元判断(前景或背景)的抠像器,要么吃掉头发(将其分类为背景),要么留下绿色边缘(将溢色污染的像素分类为前景)。
色度子采样使问题更加严重。4:2:0 素材(H.264、H.265)的色度分辨率只有亮度的一半。亮度中 3 像素宽的头发在色度中只有 1.5 像素。抠像器主要在色度上操作(绿色通道差异),因此在 4:2:0 素材上你只有 1.5 像素的色度数据用于头发边缘抠像。这就是为什么 ProRes 4444 和 R3D/BRAW 素材抠像效果好得多——色度数据是全分辨率的。
不同焦距和分辨率下的头发宽度参考(物距 2 米,Super 35 传感器):
- 35mm 镜头,4K:约 8 像素宽
- 50mm 镜头,4K:约 5 像素宽
- 85mm 镜头,4K:约 3 像素宽
- 135mm 镜头,4K:约 2 像素宽
- 85mm 镜头,1080p:约 1.5 像素宽
- 135mm 镜头,1080p:约 1 像素宽(亚奈奎斯特)
抠像器对比:Keylight vs Primatte vs Supercomp
Keylight(After Effects 内置)
Keylight 自 After Effects 7.0 版本起一直是标准抠像器。它使用统计模型对屏幕颜色进行采样,构建前景/背景分类的概率图。对于细发,关键设置是:
Screen Colour:用吸管点击最具代表性的绿色区域——不是最亮的,不是最暗的,而是屏幕亮度范围的中间值。这设定了整个键控的统计基准。一个糟糕的 Screen Colour 选择会产生边缘伪影,任何 Clip 调整都无法修复。
Screen Gain:默认值为 1.0。对于细发,提高到 1.05-1.15。这扩展了被分类为背景的像素范围,将更多半透明头发像素拉入遮罩。不要超过 1.20——超过此值,实心前景边缘开始被侵蚀,你会失去肩膀和耳朵的定义。
Screen Balance:控制主屏幕颜色和次屏幕颜色(绿色与红蓝组合)之间的平衡。默认值为 0。对于细发在 -0.10 到 +0.10 之间调整。这个参数效果微妙但重要:它移动了发际边界哪些像素被分类为溢色还是前景。正值将更多暖色像素拉向前景(保护赤褐色和棕色头发),负值将更多冷色像素拉向前景(更适合金发)。
Clip Black:默认值为 0。对于细发,设置为 5-15。这将遮罩值低于阈值的任何像素硬切为纯透明。权衡:更高的 Clip Black 吃掉半透明头发。较低的值保留头发但留下绿色污染。4K 绿幕素材的最佳点在 8-12。对于 1080p,使用 5-8,因为数据更少,激进裁剪会破坏太多。
Clip White:默认值为 100。对于细发降低到 90-95。这强制高遮罩值但非 100% 的像素变为完全不透明,硬化前景边缘。好处:本应实心的半透明头发(靠近头部头发聚集处)变得实心。风险:如果设得太低,会得到像剪纸一样的硬遮罩边缘。
Screen Pre-blur:设置为 1-2 像素。这模糊屏幕颜色采样,减少遮罩边缘由噪声引起的抖动。对细发至关重要:没有预模糊,绿色通道的噪声会导致遮罩边缘逐帧闪烁,在发丝上产生可见的颤动。
Screen Shrink/Grow:设置为 -0.5 到 -1.0(收缩)。这会将遮罩边缘向内拉回半个到一个像素,实际上吃掉最外面一排头发像素。看似违反直觉,但很有用:那些最外层的像素是溢色污染最严重的,移除它们可以防止绿色边缘。然后你使用光包裹和复制的模糊边缘层来重建头发轮廓。
Primatte Keyer 6(Red Giant / Maxon)
Primatte 使用多项式算法将 3D RGB 空间映射为前景、背景和半透明区域。它通常比 Keylight 更适合细发,因为它的半透明模型更复杂——不是二元概率阈值,它创建一个渐变的 alpha 通道来保留亚像素透明度。
细发的关键设置:
Select Background:在绿幕的不同区域点击 3-5 次(亮、中、暗、阴影处)。每次点击都添加到 Primatte 的背景模型。更多采样产生更精确的统计模型。
Select Foreground:在实心头发区域点击,不要点击细边缘。Primatte 使用这些点击来定义前景边界。如果你点击了半透明头发,Primatte 会假设这些颜色是前景,不会正确地将它们抠出。
Spill Sponge(-):初始键控后,使用 Spill Sponge 工具点击显示绿色污染的头发区域。Primatte 的溢色抑制在数学上优于 Keylight——它专门去饱和绿色通道而不偏移头发的整体色调。对于细金发和浅棕色头发,通常 3-5 次 Spill Sponge 点击就能清洁边缘。
Detail 控制:Primatte 的 Detail 滑块(在 Fine Tuning 下)控制它保留亚像素透明度的激进程度。对于细发,将 Detail 设为 80-100%。在 100% 时,Primatte 保留最大半透明度但可能留下微弱的绿色污染。在 80% 时,你会失去一些头发细节但获得更干净的合成。大多数专业工作落在 85-92%。
Matte Density:细发使用 95-100%。这控制半透明像素的不透明度。在 100% 时,所有半透明像素保持其自然 alpha 值。低于 95% 时,细发丝变得太透明,在明亮背景前消失。
诚实评估:在照明良好的绿幕素材上,Primatte 比 Keylight 产生更好的头发键控。它需要付费(约 200 美元,作为 Maxon One 订阅的一部分或独立购买)。它更慢——Primatte 在相同硬件上以约 Keylight 60-70% 的速度渲染。对于头发细节不关键的快速交付工作,Keylight 更快且足够好。对于有明显飞扬头发的英雄镜头,Primatte 值得额外的渲染时间。
Supercomp(Aescripts / Rowbyte)
Supercomp 不是一个抠像器——它是一个合成环境,改变了已抠像元素与背景的混合方式。它以不同方式处理头发问题:不试图生成完美的 alpha 遮罩,而是使用光包裹、边缘感知混合和溢色映射使不完美的键控看起来令人信服。
对于细发,Supercomp 的优势在于其光包裹引擎。光包裹模拟在真实相机中背景光如何在前景边缘周围渗出,这正是细发发生的情况——它是半透明的,因为光线可以穿过和绕过它。Supercomp 从背景板生成光包裹通道,将其应用于前景边缘,创建一个隐藏不完美键控的照片级真实感边缘融合。
使用 Supercomp 处理细发的工作流:
1. 用 Keylight 拉一个粗略的键控(不要花时间在完美的头发边缘上)
2. 在已键控的图层上将 Supercomp 作为效果应用
3. 将背景板送入 Supercomp 的 Background 输入
4. 启用 Light Wrap,强度 15-25%,半径 3-5 像素
5. 启用 Edge Color 10-15%——在边缘采样背景颜色并微妙地混合到前景中,模拟颜色污染
6. 启用 Spill Map——Supercomp 分析背景颜色并生成有针对性的溢色抑制图,只在边缘移除溢色,保留其余前景颜色
Supercomp 的局限:它增加 30-50% 的渲染时间开销。在 4K 10 秒的镜头上,标准工作站上每帧预计 2-3 分钟。它不是 200 个镜头项目中每个镜头都要用的工具。在有可见头发问题的英雄镜头上使用它,而不是在头发细节只有 1-2 像素、没人会注意到轻微粗糙边缘的广角镜头上。
细发抠像器对比
| 功能 | Keylight(内置) | Primatte 6(Maxon) | Supercomp(Rowbyte) |
|---|
| 细发保留 | 尚可——丢失亚像素细节 | 良好——保留半透明度 | 不适用——合成工具,非抠像器 |
| 溢色抑制质量 | 基础——全局去饱和绿色 | 良好——按色调定向移除溢色 | 优秀——感知背景的溢色图 |
| 边缘融合 | 手动(手动光包裹) | 手动(手动光包裹) | 自动光包裹和边缘混合 |
| 渲染速度(4K) | 快——接近实时预览 | 中等——Keylight 速度的 60-70% | 慢——增加 30-50% 渲染时间 |
| 费用 | 免费(AE 内置) | 付费(独立版约 200 美元) | 付费(约 150 美元) |
| 学习曲线 | 中等 | 中等 | 陡峭 |
| 最适合 | 快速键控、照明良好的屏幕、非英雄镜头 | 英雄镜头、细发、半透明边缘 | 修复已有边缘问题的已抠像素材 |
不破坏边缘细节的溢色抑制
溢色抑制的陷阱
每个抠像器都包含溢色抑制。大多数通过去饱和前景边缘的绿色通道来工作。问题在于:细发本身已经是低饱和度的,因为它是半透明的。当溢色抑制器去饱和头发边缘的绿色时,它也会去饱和头发的实际颜色。金发变灰。浅棕发变浑浊。红发变粉灰色。
正确方法:使用最少的内置溢色抑制,添加单独的手动溢色移除通道。
步骤 1:在 Keylight 中,将 Despill Bias 设为实际前景颜色。用吸管点击拍摄对象头发的实心区域(不是边缘)。这告诉 Keylight 在移除溢色时保护哪种颜色。如果拍摄对象是深色头发,采样中间色调区域——不是最暗的阴影,不是最亮的高光。
步骤 2:在已键控图层上方添加 Hue/Saturation 调整层。定位绿色色调范围(色轮上约 90-150 度)。在此范围内减少饱和度 15-25%。这只针对绿色色调范围内的绿色通道移除溢色,不影响整体图像。
步骤 3:对于单根发丝上的顽固溢色,在单独的图层上添加 Paint 效果,用 1-2 像素、30-50% 不透明度的画笔手动涂抹绿色污染,采样相邻的干净头发颜色。这很慢(每帧 5-10 分钟),但在英雄特写上效果最好。
替代方案:使用 Advanced Spill Suppressor 效果(AE CC 2018+)。将 Method 设为 Ultra。将 Alpha 设为使用抠像器的遮罩。将 Suppression 设为 50-70%。这个效果在数学上优于 Keylight 的内置抑制,因为它只在 alpha 通道定义的边缘像素上操作,而不是整个前景。
头发融合的光包裹技术
为什么光包裹决定头发合成的成败
光包裹是背景照明在前景物体边缘周围渗出的现象。在真实相机中,这是光学发生的——来自背景的光在镜头元件上散射并包裹前景边缘。细发是合成中最依赖光包裹的元素,因为每根发丝都足够细,背景光可以穿过和绕过它。
没有光包裹,已键控的头发边缘坐在背景上没有任何光度关系。眼睛立即将其识别为合成——头发看起来像是贴上去的。有了正确的光包裹,背景颜色微妙地渗入头发边缘,创造出出售合成效果的光学融合感。
After Effects 中的手动光包裹设置:
1. 复制背景板图层。将其直接放在已键控前景图层上方。
2. 对复制的背景应用 Fast Box Blur(或 Camera Blur):半径 5-15 像素,取决于分辨率(1080p 用 5-8,4K 用 10-15)。
3. 将模糊背景的混合模式设为 Screen 或 Add。
4. 使用前景的 alpha 作为模糊背景的轨道遮罩(Alpha Matte)。
5. 反转遮罩,使模糊背景只出现在前景边缘。
6. 调整不透明度:15-25% 用于微妙包裹,30-50% 用于强逆光场景。
7. 预合成这些图层,并将预合成放在主合成中的前景和背景之间。
半径和不透明度值取决于镜头。逆光头发(强光在主体后方)需要更多包裹(20-30%,10-15px 半径)。侧光或前光头发需要更少(10-15%,3-8px)。关键测试:开关光包裹图层。如果切换产生可见的跳跃(头发在融合和漂浮之间弹跳),你的包裹正在工作。如果切换几乎不可察觉,增加不透明度或半径。
快速光包裹预设
室内/工作室绿幕(受控照明):
模糊半径:5-8px(4K),3-5px(1080p)
不透明度:10-18%
混合模式:Screen
室外/明亮背景(日光):
模糊半径:8-12px(4K),5-8px(1080p)
不透明度:15-25%
混合模式:Add
逆光/强轮廓光:
模糊半径:12-20px(4K),8-12px(1080p)
不透明度:25-40%
混合模式:Add
暗背景(夜景):
模糊半径:3-5px(4K),2-3px(1080p)
不透明度:5-12%
混合模式:Screen
这些是起点。每个镜头都需要根据具体发色、背景亮度和相机角度进行微调。没有万能的正确数值。
何时用 Roto 代替 Key
诚实的阈值:什么时候抠像不值得
有时候绿幕照明太差、溢色太重、或头发太细,任何抠像器都处理不了。知道何时放弃抠像转用 Rotoscoping 是一项专业技能,不是失败。
以下情况转用 Roto:
- 绿幕有可见阴影,使屏幕颜色从最亮到最暗区域变化超过 20 IRE。阴影污染的绿色产生不一致的会闪烁的键控。
- 拍摄对象在与其衣服颜色相同的蓝幕或绿幕前拍摄。抠像器无法区分前景中的绿色衣服和绿色背景。
- 头发在交付分辨率下不足 2 像素。低于 2 像素,抠像器是在编造数据——结果比带软边的 Roto 更差。
- 素材上头发有严重的运动模糊。运动模糊将头发颜色与绿幕颜色混合,没有抠像器能将它们分离。
- 你已经在一个镜头上调整 Keylight/Primatte 参数超过 15 分钟,头发边缘看起来仍然不对。15 分钟内你本可以画出粗略的 Roto 曲线了。
头发的 Roto 方法:使用 Roto Brush 2(AE 2021+)为实心的身体和头部创建初始遮罩。然后为头发区域添加手动的遮罩路径,羽化设为 5-15 像素。羽化创建渐变边缘,模拟半透明头发。只有在镜头是以全分辨率观看的英雄特写时才逐根描绘发丝——对于大多数广播和网络作品,羽化的遮罩边缘看起来就是令人信服的头发。
混合方法:用 Keylight 抠像身体(激进设置——Clip Black 20+,Clip White 85-),然后只用带羽化遮罩的 Roto 处理头发区域。这给你来自抠像器的干净身体边缘和来自 Roto 的可控头发边缘。使用 Add 混合模式在 alpha 通道上合成两个遮罩。
让头发抠像成为可能的拍摄建议
最好的抠像发生在你打开 After Effects 之前。如果你控制拍摄:
1. 均匀照明绿幕。目标:整个屏幕表面的 IRE 变化不超过 10(在片场用波形监视器测量)。不均匀的绿幕是糟糕头发键控的头号原因。
2. 将拍摄对象放在离绿幕至少 2 米处。这减少溢色并在屏幕上产生自然的柔阴影,抠像器比硬阴影处理得更好。
3. 在拍摄对象上使用背光(轮廓光),比主光亮 1-2 档。背光在头发上创建明亮边缘,将其与绿幕分离,给抠像器更多对比度来工作。
4. 以可用的最高分辨率和位深度拍摄。4K 10-bit 4:2:2 比 1080p 8-bit 4:2:0 抠像效果好得多。如果你的相机支持 RAW 输出,使用它——完整的色度分辨率消除了子采样问题。
5. 避免在绿幕本身有强背光的情况下对着绿幕拍摄细发。如果绿幕照明太亮,光线包裹住拍摄对象,头发会被绿色溢色的正面光照射。降低绿幕亮度直到在波形上读取为干净、均匀的绿色——通常 55-65 IRE。