背景检测、模糊与移除

最后更新: 2026-08-19 00:00:00 +0000 UTC
原文以英文撰写。您正在阅读AI翻译版本。

替换背景听起来像是一个操作,但实际上是由多个不同问题组成的流水线。系统必须判断前景是什么,估计每个像素属于前景的程度,应用效果,并合成结果。因此,最佳算法较少取决于排行榜,而更多取决于输入、用户引导的程度、硬件,以及输出是照片还是永不停歇的实时流。

三个容易混淆的问题 #

背景检测通常会生成一个二值掩码 \(M(x)\):前景或背景。在监控场景中,它通常意味着找出与固定场景学习视图不同的像素。在人像工具中,它更多意味着语义分割:无论人物背后的场景是什么,找出属于人物的像素。

背景模糊可以使用二值掩码或软掩码。它保留前景图像,并将其合成到模糊副本上:

\[ C = \alpha F + (1-\alpha)G_\sigma(I), \]

其中 \(G_\sigma\) 是高斯模糊或类似镜头的模糊。轻微的模糊可以隐藏较小的掩码错误,但头发和运动周围的光晕仍然可见。

背景移除需要可用的 alpha 通道,而不仅仅是类别标签。图像抠图将像素建模为:

\[ I = \alpha F + (1-\alpha)B,\qquad 0 \leq \alpha \leq 1. \]

硬分割掩码将 \(\alpha\) 限制为0或1。抠图表示由头发、毛发、玻璃、散焦、抗锯齿和运动模糊造成的部分覆盖。从一个观测到的颜色 \(I\) 中恢复 \(F\)、\(B\) 和 \(\alpha\) 是一个欠约束问题,因此高质量抠图需要假设、用户提示、学习到的先验、已知背景,或这些因素的组合。

从光学抠图到学习型掩码 #

最早的实用方案是控制采集环境。动态抠图,以及后来的蓝幕和绿幕色键,通过颜色对像素进行分类。干净且照明均匀的幕布使这种方法快速、可预测并支持高分辨率;广播硬件可以以几乎可以忽略的延迟处理它。当​​前景颜色类似幕布时,该方法会失败;处理阴影、半透明物体、细发、反射的绿光和颜色溢出也需要额外工作。

早期计算机视觉系统使用阈值、边缘、连通分量、区域生长和形态学方法。这些方法成本低且可解释。对于扫描文档、均匀背景上的商品图像、深度相机截断,以及其他受约束的输入,它们至今仍然有效。当光照、纹理、相机曝光或物体外观发生变化时,它们会变得脆弱。

交互式算法加入了人的意图。用户绘制一个矩形,或几条前景和背景笔画;算法建立颜色模型,并最小化边界代价。2004年提出的 GrabCut 将高斯混合颜色估计与图割迭代结合起来。它适合在CPU上运行,通常可以为不透明物体生成干净的掩码,但相似的前景与背景颜色、孔洞、细小结构和透明性都会违反其假设。经典抠图方法则估计局部前景和背景颜色分布,从三分图传播亲和度,或连接具有相似特征的像素。 Bayesian matting、closed-form matting 和 KNN matting 是代表性方法。它们能够保留细致边缘,但三分图创建和全局优化使其不太适合自动化或交互式实时使用。

深度卷积网络在2010年代改变了默认方案。全卷积分割网络学习对象级上下文,而不是固定的颜色规则;编码器-解码器结构和空洞卷积恢复了空间细节。人像专用网络只需识别人,因此可以小得多。专业抠图网络从合成合成图和真实照片中学习 alpha 与前景细节;MODNet 等无需三分图的模型使一键式人像抠图变得实用。

Transformer和基础分割模型再次扩大了问题范围。 Segment Anything (SAM) 接受点、框或掩码作为输入,无需针对任务重新训练即可隔离不熟悉的对象类别。 SAM 2 通过流式记忆将可提示分割扩展到图像和视频。这些模型是强大的交互式前端,但一个合理的对象掩码并不自动等同于生产级 alpha 抠图。对于头发、透明性、散焦和运动模糊,专业的细化仍然有用;在移动端或实时视频约束下,更小的任务专用模型通常更有优势。

因此,前沿方案是一系列系统,而不是一个通用模型:使用可提示基础模型进行对象选择,使用开放词汇或文本引导模型表达语义意图,使用专业高分辨率抠图网络处理边界 alpha,使用高效时序模型处理视频。生成模型可以修复新暴露的背景,或重建混合像素中的前景颜色,但也可能凭空生成内容。这对于带有人工审核的编辑工具可以接受,但不适用于保留证据的提取。

静态图像算法 #

静态图像允许系统检查完整画面、使用大型模型、以高分辨率进行分块处理,并投入额外时间细化边界。静态图像也不提供时间证据,因此无法通过查看相邻帧来解决歧义像素。

方法优势弱点最适用场景
颜色或亮度阈值体积小、确定性、亚毫秒级需要受控的颜色和光照文档、绿幕、实验室场景
深度阈值可分离相近颜色;几何简单需要深度硬件;孔洞和软边缘错位信息亭、使用受支持摄像头的视频会议
GrabCut或图割适合CPU;训练数据少;用户可修正主要生成硬掩码;对相近颜色和细节较弱交互式不透明物体抠图
基于三分图的经典抠图软 alpha 和可解释约束需要良好的三分图;高分辨率下可能较慢辅助式照片编辑
任务专用CNN快速紧凑;目标类别可预测词汇有限;存在领域偏移错误设备端人像模糊
专业神经抠图在其领域内提供最佳细节 alpha计算量更大;训练数据和三分图假设很重要高质量人像或商品提取
可提示基础分割词汇广泛且提示灵活计算量大;掩码不一定是抠图结果交互式选择和标注
分割加抠图细化将语义选择与详细 alpha 结合两个模型、更多内存、更多故障接口质量优先的编辑

稳健的质量优先流水线通常如下:

  1. 对图像进行下采样,并从语义分割器或可提示分割器获得对象掩码;
  2. 将不确定的边界像素转换为自动生成的三分图;
  3. 仅在未知区域或重叠的高分辨率分块上运行抠图细化器;
  4. 清理孤立区域,但不删除合法孔洞;
  5. 在混合像素需要时估计前景颜色;以及
  6. 使用预乘 alpha 在光在线性空间中合成。

这种级联只在会改变结果的区域使用昂贵计算。对于模糊,紧凑的分割模型配合引导式上采样和边缘感知平滑通常就足够了。对于透明PNG,alpha细化器和前景颜色估计重要得多。

模糊会引入一个微妙的实现问题:对原始图像进行模糊会使前景颜色泄漏到背景层中。当该层在柔和边界附近合成时,会产生明亮或阴暗的光晕。生产实现通常会在模糊前对前景后方的背景进行膨胀或填充,然后使用预乘 alpha 进行合成。更强的合成景深效果还需要空间变化且具有深度感知能力的模糊;统一的高斯模糊只能模拟磨砂玻璃。

视频和实时流算法 #

视频增加了信息,也增加了约束。相邻帧揭示了运动和边缘的重复观测,但每一帧都必须按时到达,并与上一帧保持一致。如果一个模型生成出色的独立掩码,却导致边界闪烁,那么它的观感可能不如更小的时序模型。

固定摄像头的背景减除 #

对于固定摄像头,可以随时间学习场景本身:

  • 帧差分将当前帧与参考帧或相邻帧进行比较;
  • 运行平均值使参考值缓慢适应;
  • Stauffer and Grimson 的高斯混合方法表示重复出现的像素颜色,使摇曳的树木或显示器闪烁可以成为背景;
  • ViBe 等非参数样本模型保留近期像素值,而不是拟合分布;以及
  • 后续的局部特征方法提升了对阴影、噪声和光照变化的适应能力。

这些算法足够快,可以部署在许多CPU和嵌入式设备上,并且不需要语义训练标签。它们的核心假设同时也是其限制:摄像头固定,且背景可被观测。摄像头运动可能使几乎整个画面都被标记为前景。保持静止的人可能被吸收到背景中;新暴露的区域可能继续成为误检前景;突然的光照变化和阴影可能触发大范围掩码。运动检测只能说明某些东西发生了变化,而不能说明变化的对象就是用户想要的主体。

语义分割与视频抠图 #

逐帧人像分割通过识别人而不是稳定场景,因此适用于移动摄像头。然而,独立运行会导致置信度不稳定、拓扑变化和边缘抖动。时序系统通过以下方式解决这些问题:

  • 使用光流或特征对应,在成本较高的关键帧之间传播掩码;
  • 将前一帧的掩码、alpha或隐藏状态输入循环模型;
  • 维护前一帧特征的外部记忆,例如 XMem 等视频对象分割系统所做的那样;
  • 使用时序特征联合预测 alpha 和前景,例如 Robust Video Matting (RVM);或
  • 使用 SAM 2 等流式可提示模型跟踪一个或多个选定对象。

当大多数像素平滑移动时,光流传播成本较低,但误差会累积,新出现的区域没有可供参考的源,高速运动或遮挡会破坏对应关系。频繁插入关键帧可以限制漂移,但代价是周期性的延迟峰值。循环模型可以摊销工作量,并在其训练领域内保持稳定,但场景切换后错误状态可能持续存在。基于记忆的模型更擅长处理长时间遮挡,但对于无限时长的流,必须限制记忆的选择和增长。

已知背景方法处于一个有用的中间位置。 Background Matting V2 使用单独采集的干净背景,实时恢复高质量前景和 alpha。额外的参考可以消除大量歧义,但摄像头必须保持对齐;光照、焦点或物理场景发生变化时,这一优势会降低。

截至2026年年中,一个新兴的混合方案是 SAM2Matting,它将 SAM 2 视频对象跟踪与感兴趣区域和渐进式抠图阶段结合起来。其架构体现了当前前沿:使用通用的基于记忆的模型保持对象身份,然后在不确定边界附近投入高分辨率抠图计算。它所谓的“state of the art”结果,是预印本中的作者基准测试声明,并不能证明它在每一种对象类别、设备、提示或延迟目标下都最好。

流式流水线 #

实用的实时流水线通常如下:

text
capture/decode -> resize and normalize -> infer/propagate
               -> refine and stabilize -> effect/composite -> encode/display

推理分辨率可以低于输出分辨率。网络可以处理短边为256到512像素的图像,然后由边缘感知上采样器或轻量细化头恢复全尺寸掩码。这样可以显著提高速度,但小物体和单根头发可能在细化器看到它们之前就消失。

时序平滑应当跟随运动。普通的指数移动平均会在移动的手后方留下残影;在混合之前,将前一帧 alpha 向当前帧进行变形,可以减少这种滞后。场景切换、长时间间隔、分辨率变化和跟踪置信度下降都必须显式重置状态。否则,前一天的状态,或者仅仅是上一镜头的状态,都会污染下一帧。

对于通话或直播,平均每秒帧数并不足够。系统需要低的逐帧延迟和低方差。批处理可以提高加速器吞吐量,但会使第一帧等待整个批次,因此交互路径通常适合使用批大小1。过载时应丢弃帧或跳过推理,而不是把帧积累到不断增长的队列中。完整预算包括采集、颜色转换、GPU传输、推理、合成和编码;一个“10 ms模型”并不意味着整个效果只需10 ms。

速度、质量与运维权衡 #

选择收益成本
降低推理分辨率大幅降低延迟和内存丢失头发、手指和细小物体
量化到FP16或INT8推理更快且权重更小需要校准;边界可能退化
更小的任务专用模型稳定的实时性能主体和场景覆盖范围更窄
基础模型灵活的提示和广泛的对象延迟、内存、电力和部署复杂性
稀疏关键帧加传播减少推理工作量漂移、遮挡错误、周期性峰值
有状态时序模型平滑输出并复用特征重置逻辑;错误会持续存在
仅细化边界以适中的成本获得高分辨率细节依赖可靠的粗掩码
云端推理可使用大型加速器并快速更新网络延迟、抖动、带宽、隐私和故障风险
设备端推理可预测的延迟和数据本地性散热、内存、电池和模型大小限制

静态导出通常应优化最差边界,而非平均吞吐量:使用原始分辨率,细化不确定区域,并允许用户修正提示或三分图。实时效果应优化可接受的最差帧时间和时序稳定性:使用有界状态、自适应质量阶梯,以及保持视觉诚实的回退方案。例如,在负载下,应先降低模糊半径或细化分辨率,而不是长时间跳过分割,直到主体四分五裂。

硬件细节可能主导架构比较。避免重复的CPU-GPU拷贝,在可能时融合颜色转换和缩放,复用已分配的张量,并在执行推理的同一个加速器上进行合成。在目标设备上测量冷启动、稳定状态、内存峰值、热节流和场景切换恢复。论文中报告的模型帧率不能跨分辨率、运行时、精度、硬件以及前处理或后处理直接迁移。

衡量正确类型的质量 #

对于硬掩码,交并比和 Dice 分数衡量区域重叠。由于大多数像素都是容易处理的背景,它们可能掩盖较差的边界,因此边界精确率、召回率或边界 \(F\)-score 也很有用。

对于 alpha 抠图,常见指标包括绝对差之和、均方误差、梯度误差和连通性误差。 Alpha Matting Evaluation benchmark 推动了这类评估的标准化,但合成图像并不能覆盖所有摄像头流水线或生产场景。

视频除逐帧精度外,还需要时序测量:变形掩码误差、运动补偿后的 alpha 变化、遮挡期间的跟踪存活率,以及静止边缘上可见的闪烁。系统指标应包括:

  • 端到端延迟的中位数和尾部值;
  • 交付帧率和丢帧率;
  • 加速器、CPU和内存使用量;
  • 功耗和持续热行为;以及
  • 场景切换、遮挡和摄像头运动后的恢复时间。

评估集应包含头发、眼镜、面纱、反射性和透明物体、不同肤色、轮椅和辅助设备、多人、低光照、压缩伪影、运动模糊、屏幕共享,以及与主体相似的背景。对于视频会议,保留手部和脸部附近拿着的物体,可能比获得更高的总体 IoU 更重要。

选择架构 #

当采集环境可以控制时,使用色键或受控颜色阈值;在相同计算量下,没有通用神经模型能达到同等可预测性。当摄像头固定且问题是“什么移动了”时,使用经典背景减除。对于普通人像模糊,使用小型语义模型。当输出将被合成到差异很大的背景上,或需要在全分辨率下检查时,加入 alpha 细化。

当主体可以是任意对象,并且用户或上游检测器可以指示主体时,使用可提示基础模型。对于离线图像,将该语义掩码与专业抠图阶段结合。对于实时视频,优先使用时序或循环模型,或者在关键帧上运行大型模型,并在其间进行传播。如果可用,应使用干净的参考背景或深度传感器:额外证据通常比更大的模型更可靠地同时改善速度和质量。

大多数生产系统都是混合方案,因为错误类型不同。语义理解负责识别目标对象,抠图负责解析部分像素,时序逻辑防止闪烁,而合成决定一个良好的 alpha 是否真正呈现良好效果。正确的设计不是参数量最大的模型,而是在具有代表性的输入上满足边界、延迟和稳定性要求的最低成本流水线。

参考文献 #

评论

在 GitHub 上阅读或评论(发表评论需要登录)