直播抠图技术100谈之30--天生矛盾的一对
·
在绿幕抠图中, 背景绿幕的褶皱和头发丝是天生矛盾的一对, 因为两者的像素值几乎一样;
问题的本质
绿幕抠图的核心是依据像素的色度与饱和度,将背景绿色从前景中分离。在理想条件下,背景为均匀纯绿,前景与背景在色彩空间中区分明显,分离并不困难。
但实际直播场景很难达到理想条件。绿布受光不均,褶皱处会产生阴影与高光:凹陷区域亮度下降、饱和度降低,呈现为低饱和、偏暗的绿色杂色。这类像素在色彩空间中的分布,与头发丝边缘的半透明、低饱和像素高度重叠。
对算法而言,褶皱阴影与发丝边缘的色度、饱和度、亮度数值接近,缺乏可靠的区分依据。这是褶皱背景难以干净抠除、同时又保留发丝的根本原因。
全局单一阈值的局限
传统方案对全画面采用统一的抠像参数,其中"低切"用于处理弱信号区域:将饱和度、亮度低于阈值的绿色像素判定为背景并剔除。
这带来一组相互制约的约束:
- 提高低切阈值,可覆盖褶皱阴影,使背景干净,但会同时剔除与之数值接近的发丝边缘,导致头发边缘缺失、发丝断裂、人像轮廓生硬。
- 降低低切阈值,可保留发丝边缘,但要求背景绿布高度均匀、无明显褶皱。而实际直播环境中,绿布褶皱普遍存在,通过布光、熨烫、绷紧幕布只能缓解,无法彻底消除。
在单一阈值下,背景洁净度与发丝保留度无法同时满足,二者构成直接冲突。
蓝松方案:分区处理
蓝松绿幕抠图采用分区处理策略:不对全画面使用同一套参数,而是将头发区域与其余区域分离,各自采用适配的处理逻辑。
处理流程如下:
- 区域识别与保护:通过 AI 模型识别画面中的头发区域,生成对应掩膜。全局低切正常作用于背景,处理褶皱等弱信号绿色;头发区域被排除在全局低切之外,不受其影响。
- 头发区域独立抠像:对头发区域应用独立的抠像算法,针对半透明、颜色过渡的发丝边缘进行处理,保留边缘细节与透明度信息。
- 边界过渡:在头发区域与背景区域的交界处,通过遮罩进行羽化过渡,使两套处理结果平滑衔接,避免边界出现硬边、色块或亮度突变。
面向专业用户的可调参数
由于头发区域被独立划分,蓝松为该区域开放了独立的调节参数,支持根据实际画面进行人工调整:
- 头发抠图强度:控制头发区域的抠除力度。强度偏低时保留更多发丝细节,强度偏高时边缘更干净。该参数仅作用于头发区域,不影响背景处理结果。
- 溢色强度(支持独立溢色):发丝边缘易受绿幕反射产生绿色溢色。该参数可仅针对头发区域执行溢色(去除绿边)校正,恢复发丝本色,且不影响画面其他区域。
- 遮罩显示:可将 AI 识别的头发作用区域以可视化形式叠加显示,明确标示当前被独立处理的范围,便于操作者对照画面判断参数作用位置与调节效果。
AI 分区提供自动化的基础处理,开放参数与遮罩可视化则支持人工精细调整。默认参数即可满足常规使用,专业用户可依据画面进一步优化发丝表现。
结果
分区处理使背景洁净度与发丝保留度不再互相制约:背景区域可采用较强的抠除力度以清除褶皱,头发区域则独立保留发丝细节。在绿布存在褶皱、且褶皱与发丝色彩接近的实际场景下,两项指标可同时达成。
更多推荐


所有评论(0)