颜色为什么重要
绿幕只靠一个想法成立:如果画面里某个区域的颜色在主体身上任何地方都不出现,计算机就能只凭数值把它认出来并删掉。绿色胜出的原因有三个 —— 它离所有肤色都远;拜耳传感器对绿色的采样密度是红蓝的两倍,所以绿通道信号最干净;而且高饱和的哑光绿色材料便宜易得。蓝幕比绿幕更早,在服装是绿色或者人物很金发的时候仍然是正确答案。
真正被产出的东西是 alpha 通道:一张逐像素记录「主体在这里有多不透明」的图。这才是交付物。硬邦邦的二值抠图看起来像贴纸,而好的合成之所以好看,就是因为 alpha 通道在头发、运动模糊和玻璃上带着小数值。
色键实际在做什么
抠像工具拿到一个目标颜色和一个容差,把落在这段范围里的像素全部标成透明。这个过程里其他所有环节,都是在给这一步粗暴运算做损伤控制。
- 容差决定多大的颜色变化算背景。太紧,幕会一块块残留;太松,主体上的阴影开始被吃掉。
- **遮罩收缩(choke)**把边缘往内或往外挪不到一个像素,用来藏边,代价是细节变薄。
- **溢色抑制(despill)**把带部分绿色的像素推回皮肤或头发的颜色。没有这一步,每条边都泛着一层荧光感。
- **垃圾遮罩(garbage matte)**是一条手画的粗轮廓,在抠像看到画面之前就把灯架和幕的边缘扔掉。
顺序有讲究:先 despill 再 choke,因为 choke 会把 despill 需要处理的那些像素直接删掉。
怎么打光才抠得干净
几乎所有抠不好的镜头都是灯的问题,不是软件的问题。三条规则覆盖大部分情况。
把幕和主体当成两件独立的活来打,各用各的灯。幕要尽量匀,最好整面在一档以内,因为不匀就逼着容差往上走,而高容差正是啃头发的元凶。
然后花钱买距离。主体和幕之间三米,能干掉大部分溢色,同时让幕虚掉,也阻止绿色从肩膀两侧包过来。房间小的时候,控制溢色比幕做多大更重要。
最后,在主体背后放一盏不是绿色的硬光。钨丝灯或日光灯打出的轮廓光,能把 despill 否则会抹平的那条边重新建立起来,也给抠像一个毫不含糊的边界去找。
绿幕和 AI 抠像各自的位置
分割与抠像模型现在能从靠墙、街道、书架前拍的素材里拉出可用的 alpha 通道。对一个光线正常的说话主体来说,这比任何绿幕方案都更快更便宜,也正是背景去除工具在跑的东西。
区别在于两种方法各自知道什么。色键测量的是真实颜色数值,所以它对小数级的不透明度是诚实的:摆动手臂上的运动模糊、一根根飘出去的碎发、香烟的烟、一杯水。AI 抠像推断的是一条轮廓,所以上面这些恰好是它要靠猜的地方,而猜的结果表现为逐帧跳动的边缘。
实用的分工是这样:画面里有透明物、有快速运动、有细碎头发,或者要在大景别下顶住全分辨率检视时,拍绿幕。说话人头像、简单背景上的产品图、以及能接受软边的场合,直接用抠像。而在视频上用抠像时,一定要看动态而不是看单帧 —— 时间上的不稳定是它的典型失效方式,静帧根本看不出来。