Robust High-Resolution Video Matting with Temporal Guidance 论文阅读笔记
论文地址:https://arxiv.org/abs/2108.11515
代码地址:https://peterl1n.github.io/RobustVideoMatting/#/
基于时间制导的鲁棒高分辨率视频漫游
- 简单来说:就是视频前景与背景分离
摘要
- 文章介绍了一个鲁棒性强、轻量、实时、高分辨率的人的视频匹配方法,并且达到了SOTA;
- 处理速度:4K at 76 FPS and HD at 104 FPS on an Nvidia GTX 1080Ti GPU;
- 与传统的将帧与帧作为独立图像抠图的方法不同,文章提出了一种循环结构来利用视频中的时间信息,在时间相干性和抠图质量方面取得了显著的改善,并提出一种新的训练策略来提高网络模型在匹配和分割的健壮性;
- 该方法不需要额外的输入(如背景信息),可以广泛的应用于现有的人体抠图应用。
一、介绍
-
视频中的每一帧I可以被看作是前景F和背景B通过α系数的线性组合:
通过提取α和F,我们可以将前景物体合成到新的背景中,达到背景替换的效果。 -
应用前景:视频会议、娱乐视频制作、在没有绿屏道具的情况下对人体进行实时背景替换等等。文章研究着重于在这类应用中提高抠图质量和鲁棒性。
-
现在的大多数方法都是将视频的每一帧作为独立的图像,因此,这些方法忽略了视频中最普遍的特性:时间信息。
-
时间信息可以提高视频抠图性能的原因:
a、它能够预测更一致的结果,因为模型可以看到多个帧和它自己的预测,大大减少了闪烁,提高了感知质量;
b、提高鲁棒性;
c、模型会随着时间的推移学习到更多的背景信息。
二、模型架构
好家伙,这不是U-net网络吗?
我们来看看模型构成。
-
Feature-Extraction Encoder
作用:提取特征
主干网络:MobileNetV3-Large
语义分割:LR-ASPP 模块
编码器对单独的帧进行操作,并为循环解码器提取1/2、1/4、1/8和1/16规模大小的特征。为什么用MobileNet作为主干网络?
因为要部署到移动端设备,要求轻量,快! -
Recurrent Decoder
作用:聚合时间信息
文章并没有采用注意力机制或者将前馈的多帧作为额外的输入,而是采用反馈机制。
解码器包含:
a、Bottleneck block :在LR-ASPP模块之后,对1/16大小规模的特征进行操作,采用 ConvGRU。
b、Upsampling block:重复运用于1/8,1/4和1/2规模大小的特征,采用 ConvGRU。
c、Output block
-
深导滤波器(DGF)
可选模块,用于处理4K和HD这样的高分辨率视频,对输入帧进行因子s的下采样,然后将低分辨率alpha、前景、最终隐藏特征以及高分辨率输入帧提供给DGF模块,生成高分辨率alpha和前景。
三、训练
文章新颖的提出了同时使用抠图和语义分割目标来训练网络,原因有:
- 抠图任务和分割任务联系紧密,网络在语义上理解场景可以提高网络的鲁棒性;
- 大多数现有的抠图数据集只提供了必须合成到背景图像中的ground-truth alpha和前景,这种合成看起来有点假,另一方面语义分割的数据集是真实图片,背景特征丰富,能够防止对合成数据的过拟合;
- 有更多的训练数据可用于语义分割任务来训练模型的鲁棒性。
3.1 数据集
-
抠图数据集
VideoMatte240K (VM)
Distinctions-646 (D646)
Adobe Image Matting(AIM) datasets -
语义分割数据集
YouTubeVIS
COCO
SPD
3.2 训练过程
- 首先在VM数据集上没有DGF模块的低分辨率上训练15个epoch。设置一个短序列长度T = 15帧,这样网络可以更快地更新。MobileNetV3骨干网络使用预训练的ImageNet权重进行初始化,并使用1e−4学习率,而网络的其余部分使用2e−4。分别对256和512像素之间的输入分辨率h, w的高度和宽度进行采样。使得网络能够适应不同的分辨率和高宽比;
- 将T增加到50帧,学习速率减半,保持其他参数设置并训练;
- 增加DGF模块在VM数据集上训练高分辨率样例1个epoch;
- 在D646和AIM的组合数据集上进行5个epoch的训练。
- 分割训练被穿插在每个抠图训练迭代之间,在每次奇次迭代后对图像分割数据进行训练,在每次偶数次迭代后对视频分割数据进行训练。
3.3 损失函数
- 学习alpha
- 学习foreground
- 总的抠图loss:
- 语义分割loss:(二元交叉熵损失)
四、实验评估
4.1 在合成数据集上的评估
4.2 在实时视频上的评估
4.3 在规模和速度上的评估
五、消融实验
5.1 时间信息的作用
扶手上出现闪烁
5.2 目标分割训练的作用
5.3 深导滤波器的作用
5.4 静态背景与动态背景
5.5 大模型的性能(将backbone改为ResNet50)
六、结论
6.1 缺陷
将代码down下来实验了一下,对于简单背景,人不是很多的情况,抠图质量还不错。但是当背景中出现多个人时,最前面的人比较清晰,后面的人和被遮挡的人比较模糊,整个模型更倾向于简单背景的抠图。
出现这种问题的原因可能是:
1、整个模型训练的数据集主要突出的是前景物体,所以当目标远离的时候就变成背景了
2、出现遮挡的时候循环解码器将被遮挡物体当做背景
6.2 文章贡献
- 提出了一个更加轻量、快速、具有鲁棒性的回馈结构,并达到了SOTA;
- 证明了时间信息在提升抠图质量和一致性上的重要性;
- 提出了一种新的训练策略——在模型上同时训练抠图和分割任务,以此来提高模型在不同类型视频上的鲁棒性。