在绿幕抠图中, 背景绿幕的褶皱和头发丝是天生矛盾的一对, 因为两者的像素值几乎一样;

问题的本质

绿幕抠图的核心是依据像素的色度与饱和度,将背景绿色从前景中分离。在理想条件下,背景为均匀纯绿,前景与背景在色彩空间中区分明显,分离并不困难。

但实际直播场景很难达到理想条件。绿布受光不均,褶皱处会产生阴影与高光:凹陷区域亮度下降、饱和度降低,呈现为低饱和、偏暗的绿色杂色。这类像素在色彩空间中的分布,与头发丝边缘的半透明、低饱和像素高度重叠。

对算法而言,褶皱阴影与发丝边缘的色度、饱和度、亮度数值接近,缺乏可靠的区分依据。这是褶皱背景难以干净抠除、同时又保留发丝的根本原因。

全局单一阈值的局限

传统方案对全画面采用统一的抠像参数,其中"低切"用于处理弱信号区域:将饱和度、亮度低于阈值的绿色像素判定为背景并剔除。

这带来一组相互制约的约束:

  • 提高低切阈值,可覆盖褶皱阴影,使背景干净,但会同时剔除与之数值接近的发丝边缘,导致头发边缘缺失、发丝断裂、人像轮廓生硬。
  • 降低低切阈值,可保留发丝边缘,但要求背景绿布高度均匀、无明显褶皱。而实际直播环境中,绿布褶皱普遍存在,通过布光、熨烫、绷紧幕布只能缓解,无法彻底消除。

在单一阈值下,背景洁净度与发丝保留度无法同时满足,二者构成直接冲突。

蓝松方案:分区处理

蓝松绿幕抠图采用分区处理策略:不对全画面使用同一套参数,而是将头发区域与其余区域分离,各自采用适配的处理逻辑。

处理流程如下:

  • 区域识别与保护:通过 AI 模型识别画面中的头发区域,生成对应掩膜。全局低切正常作用于背景,处理褶皱等弱信号绿色;头发区域被排除在全局低切之外,不受其影响。
  • 头发区域独立抠像:对头发区域应用独立的抠像算法,针对半透明、颜色过渡的发丝边缘进行处理,保留边缘细节与透明度信息。
  • 边界过渡:在头发区域与背景区域的交界处,通过遮罩进行羽化过渡,使两套处理结果平滑衔接,避免边界出现硬边、色块或亮度突变。

面向专业用户的可调参数

由于头发区域被独立划分,蓝松为该区域开放了独立的调节参数,支持根据实际画面进行人工调整:

  • 头发抠图强度:控制头发区域的抠除力度。强度偏低时保留更多发丝细节,强度偏高时边缘更干净。该参数仅作用于头发区域,不影响背景处理结果。
  • 溢色强度(支持独立溢色):发丝边缘易受绿幕反射产生绿色溢色。该参数可仅针对头发区域执行溢色(去除绿边)校正,恢复发丝本色,且不影响画面其他区域。
  • 遮罩显示:可将 AI 识别的头发作用区域以可视化形式叠加显示,明确标示当前被独立处理的范围,便于操作者对照画面判断参数作用位置与调节效果。

AI 分区提供自动化的基础处理,开放参数与遮罩可视化则支持人工精细调整。默认参数即可满足常规使用,专业用户可依据画面进一步优化发丝表现。

结果

分区处理使背景洁净度与发丝保留度不再互相制约:背景区域可采用较强的抠除力度以清除褶皱,头发区域则独立保留发丝细节。在绿布存在褶皱、且褶皱与发丝色彩接近的实际场景下,两项指标可同时达成。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐