0
点赞
收藏
分享

微信扫一扫

Robust High-Resolution Video Matting with Temporal Guidance算法笔记

猎书客er 2022-03-11 阅读 143

Robust High-Resolution Video Matting with Temporal Guidance算法笔记

Robust High-Resolution Video Matting with Temporal Guidance 论文地址
RobustVideoMatting 代码地址

一、算法简介

语义分割
图像是由许多像素(Pixel)组成,而语义分割顾名思义就是将像素按照图像中表达语义含义的不同进行分组(Grouping)/分割(Segmentation)。例如让计算机在输入下面左图的情况下,能够得到右图。在图像领域,语义指的是图像的内容,对图片意思的理解。
在这里插入图片描述

抠图算法
已知输入图像II,背景图像BB,求图像II的前景FF,以及前景概率αα。(前景与背景相对,指我们所需的人像及人所持的物体)I=αF+(1α)B1I = αF+(1-α)B \quad (1)

所以视频中的每一帧 II 可以被看作是前景 FF 和背景 BB 通过 αα 系数的线性组合,通过提取 ααFF,我们可以将前景物体合成到新的背景中,达到背景替换的效果。

现在的大多数方法都是将视频的每一帧作为独立的图像,因此,这些方法忽略了视频中最普遍的特性:时间信息。
在之前的Background matting算法中是逐帧进行预测的,因而并没有很好使用视频帧本身的时序特性,但是这样的时序特征正是可以对抠图的结果带来较大的提升,主要体现为:

  1. 视频帧之间预测的结果是存在序列相关性的,因而可以根据这个相关性得到更加鲁棒的抠图结果
  2. 使用序列帧作为输入,可以随着目标的移动学习到丰富的背景信息
  3. 视频本身的时序特性为引入类LSTM提供了前提,从而可以更加有效提取特征用于背景预测

除了上述提到的引入视频序列到网络结构中之外,文章还将整个网络构建为一个语义分割和抠图的多任务网络,从而可以在两个任务上进行优势互补。这样做的原因可以归纳为如下几点:

  1. 人像语义分割和抠图任务在某种程度上是共通的,这就为两者联合起来提供基础
  2. 大多数现有的抠图数据集只提供了必须合成到背景图像中的ground-truth α\alpha和前景,这种合成看起来有点假,另一方面语义分割的数据集是真实图片,背景特征丰富,能够防止对合成数据的过拟合;
  3. 人像语义分割的数据集从数量还是标注成本上都远好于抠图数据集

二、网络结构

在这里插入图片描述
(图2:我们的网络由特征提取编码器、递归解码器和深度引导滤波器(DGF)模块组成。为了处理高分辨率视频,编码器-解码器网络首先对输入进行下采样,然后使用DGF对结果进行上采样。)

三、训练

1、数据集

抠图数据集

  • VideoMatte240K (VM)
  • Distinctions-646 (D646)
  • Adobe Image Matting(AIM) datasets

语义分割数据集

  • YouTubeVIS
  • COCO
  • SPD

2、训练过程

第一阶段:首先在没有DGF模块的情况下对video matting进行低分辨率的训练。设定一个短序列长度T=15帧,这样网络就能更快地得到更新。

第二阶段:将T增加到50帧,将学习率降低一半,并保持第一阶段的其他设置来训练 。

第三阶段:加上DGF模块,video matting模型训练用高分辨率的样本训练1个epoch。由于高分辨率会消耗更多的GPU内存,所以序列长度必须被设置为非常短。为了避免递归网络对非常短的序列过度拟合,我们在低分辨率的长序列和高分辨率的短序列训练网络。

第四阶段:在D646和AIM的组合数据集上训练了5个epoch。

3、损失函数

损失函数参考博客:RVM算法笔记

文章的方法是人像语义分割和matting联合训练的,因而网络的损失就是源自于这两个任务。

  1. 抠图损失:
    首先对matting中的alpha使用L1损失和拉普拉斯金字塔损失,并在此基础上考虑到视频的时序特性引入alpha时序相关性损失(也就是对alpha帧差进行回归):在这里插入图片描述
    对于matting的fg部分使用的是L1损失加上时序相关损失的形式:在这里插入图片描述
    因而,整体上损失可以描述为:在这里插入图片描述
  2. 人像语义分割损失:
    这里人像分割损失采用的是二值较差熵损失的形式:在这里插入图片描述
举报

相关推荐

0 条评论