ESC
输入关键词搜索文章
目录

Robust Video Matting 论文精读

arXiv 2021 · 视频抠像 / 时序 recurrent 架构
ConvGRU 单向时序引导 + 联合分割训练:trimap-free 实时高分辨率抠像的 landmark。
104HD FPS
764K FPS
3.7M参数
58%vs MODNet 参数
0.88VM Grad (×1e-3)
第 1 章
问题定义:trimap-free 实时视频抠像
抠像(matting) 的目标是预测每个像素的 alpha 蒙版 $\alpha$ 和前景色 $F$。形式化地,一帧图像 $I$ 可视为前景 $F$ 与背景 $B$ 通过 $\alpha$ 系数的线性组合 #Lin et al., 2021
$$I = \alpha F + (1 - \alpha) B$$

提取 $\alpha$$F$ 后即可把前景合成到新背景,实现背景替换。在视频会议、娱乐视频创作等场景里,用户希望无需绿幕、无需 trimap、无需预采集背景图,就能在普通视频流上实时替换人像背景。

核心痛点:此前的方法(MODNet、BGMv2、BGMv1)虽面向视频应用,却逐帧独立处理,把视频当成一组互不相关的图像。这丢弃了视频最普遍也最廉价的信息——时序信息#Lin et al., 2021

论文给出的时序信息三重价值,是全文的动机基石 #Lin et al., 2021

  1. 时序一致性:模型可见多帧及自身历史预测,显著降低闪烁,提升感知质量。
  2. 鲁棒性:当单帧歧义(前景色与背景过路物相近)时,可参考前帧更好猜边界。
  3. 背景学习:相机/主体运动逐步揭示被遮挡背景,更好理解背景 → 简化抠像任务。

由此 RVM 提出recurrent 架构显式利用时序信息,并辅以 matting + segmentation 联合训练策略对抗合成数据过拟合,做出一个 trimap-free、实时、高分辨率、且鲁棒的人像视频抠像模型。

RVM teaser:鲁棒一致结果
图 1:RVM 在各种视频上产出鲁棒、时序一致的 alpha 蒙版,无需 trimap 或预采集背景 #Lin et al., 2021
第 2 章
整体架构:编码器 + 单向 recurrent 解码器 + DGF

RVM 由三大组件构成 #Lin et al., 2021

  • 特征提取编码器:MobileNetV3-Large 骨干 + LR-ASPP 模块,沿用 MobileNetV3 的语义分割设计(源自 DeepLabV3 / DeepLabV3+)。骨干最后一个 block 用 dilation rate=2、stride=1 的膨胀卷积,停在 1/16 尺度(不再下采样到 1/32)。编码器逐帧提取 1/2、1/4、1/8、1/16 四尺度特征。
  • Recurrent 解码器:ConvGRU 在多尺度聚合时序信息,单向(uni-directional),因此既能直播流式用,也能后处理。
  • Deep Guided Filter (DGF) 模块:高分辨率上采样。处理 4K/HD 时先对输入做 factor-$s$ 下采样过编码-解码网络,再用 DGF 把低分辨率 $\alpha$/$F$/hidden features + 高分辨率原图上采到全分辨率。DGF 可选,低分辨率视频可不用。
RVM 架构图:encoder + recurrent decoder + DGF
图 2:RVM 整体架构。编码器逐帧提特征 → recurrent 解码器用 ConvGRU 聚合时序信息 → DGF 做高分辨率上采样 #Lin et al., 2021

survey 对齐:单向 vs 双向时序引导

本系列(视频轮廓提取)模板中"时序引导"常被分为 previous / forward / backward 三类。需要强调:RVM 的时序引导严格单向(previous → current),通过 ConvGRU 隐状态 $h_{t-1} \to h_t$ 因果传播,没有 forward/backward 双向分支。这恰是它能用于直播流的前提。与 XMem 的"多级 memory + attention readout"或 BiLSTM 式双向时序模型形成对照——前者轻量因果适合实时,后者长程显存可控或后处理更优。

第 3 章
核心机制:ConvGRU 单向时序传播

为何选 recurrent 而非 attention / 多帧拼接

论文给出了一个干净的设计论证 #Lin et al., 2021:recurrent 机制可在连续视频流上自适应学习保留与遗忘什么信息;而 attention 或多帧 feedforward 必须依赖一条固定规则,在固定间隔把旧信息移出、新信息插入到有限的 memory pool。recurrent 能同时保留长短期时序信息,更适合抠像这种"背景要长期记、运动要短期跟"的任务。

ConvGRU 公式

选 ConvGRU 而非 ConvLSTM,是因为门更少、参数更省 #Lin et al., 2021。更新规则为:

$$\begin{aligned} z_t &= \sigma(w_{zx} * x_t + w_{zh} * h_{t-1} + b_z) \\ r_t &= \sigma(w_{rx} * x_t + w_{rh} * h_{t-1} + b_r) \\ o_t &= \tanh\bigl(w_{ox} * x_t + w_{oh} * (r_t \odot h_{t-1}) + b_o\bigr) \\ h_t &= z_t \odot h_{t-1} + (1 - z_t) \odot o_t \end{aligned}$$

其中 $*$ 为卷积、$\odot$ 为逐元素乘;$z_t$ 是更新门,$r_t$ 是重置门,$o_t$ 是候选状态;隐状态 $h_t$ 既是输出也是下一时刻的输入 $h_{t-1}$;初始 $h_0$ 为全零张量。

直觉:更新门 $z_t$ 逐像素、逐通道决定"保留多少旧记忆 vs 写入多少新证据"。背景区域 $z_t$ 偏大 → 长期保留重建的背景;运动边界 $z_t$ 偏小 → 快速吸收新帧证据。这正是"自适应保留/遗忘"的参数化体现。

解码器三类 block

  • Bottleneck block(1/16 尺度,LR-ASPP 之后):ConvGRU 只作用于一半通道(split-and-concatenation),大幅省参省算,因为 ConvGRU 计算昂贵。
  • Upsampling block(1/8、1/4、1/2 重复):先拼接三路——上一 block 双线性上采输出 + 编码器同尺度特征图 + 原图经 2×2 avg pool 下采样;再 conv+BN+ReLU 做特征融合与通道压缩;最后 ConvGRU 作用于半数通道。
  • Output block(全分辨率):不用 ConvGRU(此尺度既贵又无效)。2 层 conv+BN+ReLU 堆叠得 final hidden features,1×1 投影输出 5 通道:1-ch $\alpha$ + 3-ch 前景 $F$ + 1-ch 分割预测 $S$
关键设计:半通道 split-and-concatenation。ConvGRU 只在半数通道上跑,recurrent 半支专注聚合时序信息,另一半直连当前帧空间特征。这样既省算力,又让"时序聚合"与"当前帧空间特征"两条信息流并行,互不挤压 #Lin et al., 2021

T 帧并行化技巧

网络被改造为一次接收 $T$ 帧、每层处理完所有 $T$ 帧再传下一层 #Lin et al., 2021。训练时 BatchNorm 跨 batch+time 统计保证归一化一致;推理时 $T=1$ 处理直播、$T>1$ 当允许 buffering 时利用非 recurrent 层的 GPU 并行(一种 batching)。

第 4 章
可解释发现:隐状态自动重建背景

这是全文最令人印象深刻的发现。论文可视化 recurrent 通道后发现,网络自动学会#Lin et al., 2021

  • 随时间重建被揭示的背景,并存入 recurrent channels 辅助未来预测;
  • 用其他 recurrent channels 跟踪运动历史
  • 相机运动时仍尝试重建背景;
  • 镜头切换时遗忘无用记忆——这是 recurrent 机制"自适应遗忘"的直接体现。
recurrent 通道重建背景可视化
图 3:recurrent 通道随时间逐步重建被遮挡背景,并跟踪运动历史。网络未被显式监督去做背景建模,却自发学到了 #Lin et al., 2021
survey 启示:这印证了 §1 "时序信息→背景学习" 的动机。对视频轮廓提取而言,隐式背景建模可消减背景干扰、稳定前景轮廓——recurrent state 不只是"记忆",而是一个轻量、可学习的场景模型。
第 5 章
训练:四阶段渐进 + 联合分割目标

为何联合 matting + segmentation

三个理由 #Lin et al., 2021:(1) 人像抠像与人像分割强相关,trimap-free 网络必须语义理解场景;(2) matting 数据集只提供合成 $\alpha$/$F$ 真值,合成常因前后景光照不同而失真,分割数据集是真实复杂场景 → 联合训练防过拟合;(3) 分割数据量大得多。

数据集

类别数据集规模用途
Matting(视频)VideoMatte240K (VM)484 个 4K/HD 片段475/4/5 train/val/test
Matting(图像)Distinctions-646 (D646)人像,420/15 train/val,11 test训练 + 评测
Matting(图像)Adobe Image Matting (AIM)10 test评测
背景视频DVM HD backgrounds3118 片段 × 100 帧合成背景
背景图像爬取(沿用 BGMv2)8000 张室内图合成背景
分割(视频)YouTubeVIS2985 含人片段联合训练
分割(图像)COCO64,111 含人图联合训练
分割(图像)SPD5711 样本联合训练

四阶段渐进训练

设计思路:让网络逐步见更长序列与更高分辨率以省训练时间。Adam,batch $B=4$ 跨 4× V100 32G,混合精度训练 #Lin et al., 2021

阶段数据DGF序列 T分辨率 h,wepochs关键 lr耗时
Stage 1VM15Uniform(256,512)15backbone 1e-4 / 余 2e-4~18h
Stage 2VM50Uniform(256,512)2减半~2h
Stage 3VM低分 40 / 高分 6(256,512) / (1024,2048), s=0.251DGF 2e-4 / 余 1e-5~8h
Stage 4D646+AIM同 S3同上5decoder 5e-5 / 余 1e-5~14h

训练复现要点

Stage 1 短 $T=15$ 让网络更新更快;Stage 2 增 $T$ 到 50(显存上限)学长程依赖;Stage 3 同时跑低分长序列 + 高分短序列,避免 recurrent 网络对短序列过拟合——这是 recurrent 训练的常见坑。Stage 3/4 同时启用 DGF 端到端训练。

分割训练交错策略

分割训练穿插在每次 matting 迭代之间 #Lin et al., 2021:奇数次迭代后跑图像分割($T'=1$$B'=B\times T$),偶数次后跑视频分割。图像被当作"仅第一帧"的序列喂入 → 迫使分割在无 recurrent 信息时也鲁棒,避免模型对时序状态的过度依赖。

损失函数

对所有 $t\in[1,T]$ 施损失。$\alpha$ 用 L1 + 拉普拉斯金字塔 + 时序一致性(沿用 FBA / Context-Aware Matting 的最佳实践)#Lin et al., 2021

$$L^\alpha_{l1} = \|\alpha_t - \alpha^*_t\|_1,\quad L^\alpha_{lap} = \sum_{s=1}^{5}2^{s-1}\|L^s_{pyr}(\alpha_t)-L^s_{pyr}(\alpha^*_t)\|_1,\quad L^\alpha_{tc}=\left\|\frac{d\alpha_t}{dt}-\frac{d\alpha^*_t}{dt}\right\|_2$$

前景 $F$ 仅在 $\alpha^*_t>0$ 像素上算(沿用 BGMv2 做法)。总 matting 损失(时序一致性权重 ×5):

$$L^M = L^\alpha_{l1} + L^\alpha_{lap} + 5\, L^\alpha_{tc} + L^F_{l1} + 5\, L^F_{tc}$$

分割用 BCE(仅人这类):$L^S = S^*_t\bigl(-\log(S_t)\bigr) + (1-S^*_t)\bigl(-\log(1-S_t)\bigr)$

时序一致性损失 $L_{tc}$ 直接约束相邻帧 alpha 与前景的导数接近真值导数,从损失侧配合 recurrent 架构,是时序稳定的双重保障。
合成训练样本
图 4:合成训练样本。末列是每像素沿时间的标准差,可视化运动强度。前景/背景均施 motion + temporal 增强 #Lin et al., 2021
第 6 章
实验:SOTA 同时更轻更快

合成基准:低分辨率 alpha 对比

在 VM/D646/AIM 上各取 100 帧 ×(5 视频 + 5 图像)背景合成测试集,对比 DeepLabV3、FBA(用 DeepLabV3 合成 trimap)、BGMv2(只见首帧 GT 背景)、MODNet #Lin et al., 2021。指标:MAD/MSE(×1e-3)、Grad、Conn、dtSSD(×1e-2,时序一致性)。

数据集方法MADMSEGradConndtSSD
VM (512×288)FBA8.363.372.090.752.09
VMMODNet9.414.301.890.812.23
VMOurs6.081.470.880.411.36
D646 (512×512)MODNet10.625.713.352.451.57
D646Ours7.283.012.811.831.01
AIM (512×512)MODNet21.6614.275.375.231.76
AIMOurs14.848.934.353.831.01

RVM 在 alpha 全指标领先,前景预测落后 BGMv2(其有 GT 背景)但优于 FBA、MODNet #Lin et al., 2021。注意 dtSSD 全面领先 → 时序一致性优势明确。

高分辨率 alpha 对比

DGF 端到端可训,故 MODNet 改用非可学 Fast Guided Filter (FGF) 上采样,两者均用 $s=0.25$ 下采样 #Lin et al., 2021

数据集方法SADMSEGraddtSSD
VM 1920×1080MODNet+FGF11.135.5415.303.08
VMOurs6.571.9310.551.90
D646 2048×2048MODNet+FGF11.276.1330.782.19
D646Ours8.674.2830.061.64
AIM 2048×2048MODNet+FGF17.2910.1035.522.60
AIMOurs14.899.0134.971.71

模型大小与速度

方法参数 (M)大小 (MB)
DeepLabV360.996233.3
FBA34.693138.8
BGMv25.00719.4
MODNet6.48725.0
Ours3.74914.5

RVM 仅 MODNet 58% 参数,最轻量 #Lin et al., 2021。速度(FP32,Nvidia GTX 1080Ti,TorchScript + BN fusion):

分辨率s方法FPSGMACs*
512×2881BGMv2152.58.46
512×2881MODNet104.98.80
512×2881Ours131.94.57
1920×10800.25MODNet+FGF100.37.78
1920×10800.25Ours104.24.15
3840×21600.125MODNet+FGF88.67.78
3840×21600.125Ours76.54.15
关键数字:HD 104 FPS、4K 76 FPS,实时 #Lin et al., 2021。4K 比 MODNet 慢,是因为 RVM 额外预测前景(高分辨率多处理 3 通道)。GMACs 仅含卷积,漏 resize/DGF 等,是粗略估计。
发丝细节 alpha 对比
图 5:发丝细节 alpha 对比(Input / FBA / BGMv2 / MODNet / Ours)。RVM 的 alpha 蒙版即发丝级精细轮廓,明显优于基线 #Lin et al., 2021
时序一致性对比
图 6:时序一致性对比。MODNet 在低置信区域闪烁,RVM 结果连贯——recurrent state + $L_{tc}$ 损失的双重保障 #Lin et al., 2021
第 7 章
消融实验:每个设计都有效
  1. 时序信息作用 #Lin et al., 2021:alpha MAD 在前 15 帧显著下降后稳定;MODNet 即使用邻帧平滑仍大幅波动;关闭 recurrence(传零 recurrent state)质量与一致性均恶化。→ 时序信息确实提升质量与一致性。
  2. 分割训练目标:COCO 人像子集 mIOU——DeepLabV3 68.93、MobileNetV3+LR-ASPP 58.58、Ours(alpha 阈值 0.5)60.88 / Ours(分割输出)61.50;若仅用预训练权重初始化、去掉分割目标 → 仅 38.24。→ 联合训练目标使模型鲁棒,否则过拟合合成分布。
  3. DGF vs FGF:DGF 仅微小 size/速度开销(3.749M/104.2FPS vs FGF 3.748M/109.4FPS);DGF 的 Grad 更好(30.06 vs 31.44)且 dtSSD 更好(1.64 vs 1.89),因考虑了 recurrent decoder 的 hidden features。
  4. 静态 vs 动态背景:RVM 两者皆可,静态略好(易重建像素对齐背景);BGMv2 动态背景崩坏(MAD 42.45 vs 静态 4.33),MODNet 无偏好。
  5. 大模型变体:ResNet50 骨干 + 更多 decoder 通道 → 26.890M 参数 / 102.9MB / 71.1 FPS (HD) / MAD 5.81 / dtSSD 1.78,适合服务端。
挑战案例
图 7:挑战案例。背景有人时主体歧义;复杂场景下抠像更难 #Lin et al., 2021
第 8 章
与「视频轮廓提取」的关系
  1. alpha 蒙版即发丝级精细轮廓。抠像输出的 $\alpha$ 是逐像素软前景概率,本质上是最精细的人体/物体轮廓(含半透明发丝边缘)。trimap-free 抠像 ≈ 自动提取发丝级轮廓。图 5 的发丝细节对比直观证明 RVM 在发丝边界远胜基线。
  2. 时序一致性 = 视频轮廓的时间稳定。视频轮廓提取的核心难点之一是帧间轮廓闪烁。RVM 的 ConvGRU recurrent state + 时序一致性损失 $L_{tc}$ 直接解决该问题,dtSSD 指标全面领先。图 6 直观对比 MODNet 栏杆处闪烁 vs RVM 一致。
  3. recurrent 时序引导范式。RVM 是"recurrent hidden state 作时序载体"这一范式在抠像/轮廓任务的 landmark。与 XMem 的"多级 memory + attention readout"范式互补——前者轻量因果适合直播,后者长程显存可控适合长视频。两者构成视频轮廓提取模型的两大时序机制分支。
  4. trimap-free 自动化。去掉 trimap/背景先验,使轮廓提取从交互式走向全自动,契合"全自动视频轮廓提取"主线。
  5. 背景建模的可解释通道。recurrent state 自动重建背景的发现(第 4 章)启示——视频轮廓提取可借助隐式背景建模消减背景干扰、稳定前景轮廓。
第 9 章
局限与开放问题

论文自述局限 #Lin et al., 2021:偏好目标主体清晰的视频;背景有人时主体歧义;偏好简单背景以产出更准确抠像。

survey 视角的开放问题

  • 单向 recurrent 无法利用未来帧:后处理场景下,双向时序(forward+backward)可能更优,RVM 为直播牺牲了这部分上限。
  • recurrent state 容量有限:长视频是否会出现 representation drift?XMem 用多级 memory 解决,可对比阅读本系列后续。
  • 多主体/背景人群歧义未解:需语义先验或交互引导,纯 trimap-free 在复杂人群场景仍受限。
  • 极精细发丝边界受限于 backbone 感受野与 DGF 上采样能力:trimap-free 的精度上限仍受骨干网络与上采样模块约束。
References
参考来源

参考来源

  • Lin, S., Yang, L., Saleemi, I., Sengupta, S. (2021). Robust High-Resolution Video Matting with Temporal Guidance. arXiv:2108.11515. arXiv:2108.11515 · 代码 PeterL1n/RobustVideoMatting
  • Lin, S., Ryabtsev, A., Sengupta, S., Curless, B., Seitz, S., Kemelmacher-Shlizerman, I. (2021). Real-Time High-Resolution Background Matting. CVPR 2021. VideoMatte240K 数据集来源;BGMv2 基线。
  • Sengupta, S. et al. (2020). Background Matting: The World is Your Green Screen. CVPR 2020. BGMv1 前作,需预采集背景。
  • Chen, H. et al. MODNet: Real-Time Trimap-Free Portrait Matting via Decomposition. 人像抠像基线,邻帧平滑 trick。
  • Fortes, F. et al. F, B, Alpha Matting (FBA). trimap-based 抠像 SOTA。
  • Xu, N., Price, B., Cohen, S., Huang, T. (2017). Deep Image Matting. CVPR 2017. AIM 数据集来源,首个深度 trimap 抠像。
  • Shi, X. et al. (2015). Convolutional LSTM Network: A Machine Learning Approach to Precipitation Nowcasting. NIPS 2015. ConvLSTM,recurrent 视觉谱系。
  • Ballas, N., Yao, L., Pal, C., Courville, A. (2016). Delving Deeper into Convolutional Networks for Learning Video Representations. ICLR 2016. ConvGRU 出处。
  • Wu, H., Zheng, S., Zhang, J., Huang, K. (2019). Fast End-to-End Trainable Guided Filter. ICCV 2019. Deep Guided Filter (DGF)。
  • Howard, A. et al. (2019). Searching for MobileNetV3. 编码器骨干。
  • Chen, L.-C. et al. Rethinking Atrous Convolution for Semantic Image Segmentation. DeepLabV3,LR-ASPP 设计来源。
  • Cheng, H. K., Schwing, A. (2022). XMem: Long-Term Video Object Segmentation with an Atkinson-Shiffrin Memory Model. ECCV 2022. 本系列对照:多级 memory + attention readout 范式。