本篇介绍一篇发表在 CVPR 2019 上的半监督视频目标分割文章:FEELVOS: Fast End-to-End Embedding Learning for Video Object Segmentation. 一种简单而快速的方法,不依赖于微调。

文章资源

题目

文章题目是 FEELVOS: Fast End-to-End Embedding Learning for Video Object Segmentation,指明文章的应用领域是视频目标分割(Video Object Segmentation, VOS),文章使用提出的 FEELVOS(Fast End-to-End Embedding Learning for
Video Object Segmentation)来解决视频目标分割(VOS)任务。

作者

作者分别是 Paul Voigtlaender, Yuning Chai, Florian Schroff, Hartwig Adam, Bastian Leibe, Liang-Chieh Chen,其中第一作者是 Paul Voigtlaender,他来自于RWTH Aachen University,该工作是其在 Google Inc. 实习时所做,目前在 Waymo LLC(Waymo 是一家研发自动驾驶汽车的公司,为 Alphabet 公司旗下的子公司。 Waymo 刚开始是 Google 于 2009 年 1 月开启的一项自动驾驶汽车计划,之后于 2016 年 12 月才由 Google 独立出来,成为 Alphabet 公司旗下的子公司。2020 年 10 月开始推向市场。)工作。同时,Bastian Leibe 也来自该大学。

其他几位作者 Yuning Chai, Florian Schroff, Hartwig Adam, Liang-Chieh Chen 来自于 Google Inc.

问题定义

文章要解决的是半监督视频目标分割问题,为视频中的第一帧给出一个或多个对象的 ground-truth 分割掩模 MASK。然后,任务是自动估计视频其余部分的给定对象的分割掩模。

算法设计目标

文章作者认为现如今的视频目标分割算法设计过于复杂,严重依赖在初始帧上的微调,并且或者速度缓慢,导致实际用途有限。文章从 Simple, Fast, End-to-End, Strong 等四个目标设计算法,期望能够在实际应用中发挥重要作用。下图给出了一些算法在 4 个目标上的情况:

上面 6 种算法:PML, OSMN, FAVOS, VideoMatch, RGMP, FEELVOS 是没有使用第一帧微调的,因此都实现了 fast 目标,下面 2 种算法:PReMVOS, OnAVOS 是基于第一帧微调的,因此都没有达到 fast 目标。

使用第一帧注释对模型进行微调的方法虽然准确率相对高,然而具有非常高的运行时间,这并不适合大多数实际应用。此外,一些成功的方法依赖于大量的工程,导致具有许多组件的高系统复杂性。例如,PReMVOS 在 2018 年的 DAVIS 挑战中获胜,它采用了四种不同的神经网络以及微调和合并算法,导致每视频帧的总运行时间约为 38 秒。虽然它提供了令人印象深刻的结果,但这种算法的实际可用性是有限的。

文章提出的设计目标如上所述,分别是 Simple, Fast, End-to-End, Strong:

  • 简单 Simple:仅使用单个神经网络并且不使用模拟数据。
  • 快速 Fast:整个系统部署速度快。特别是,该模型不依赖于第一帧微调。
  • 端到端 End-to-End:多对象分割问题(每个视频包含不同数量的对象)以端到端的方式解决。
  • 性能好 Strong:系统应提供出色的结果。文章方法在 DAVIS 2017 验证集上的 $\mathcal{J}$&$\mathcal{F}$ 得分超过 65%。
$$ \mathcal{J} \text{&} \mathcal{F} = \frac{\mathcal{J} + \mathcal{F}}{2} $$

算法设计灵感

为了构建一种满足所有设计目标的方法,文章从逐像素度量学习 (PML, Pixel-Wise Metric Learning) 方法中汲取灵感。PML 使用三元组损失学习逐像素嵌入,并在测试时通过像素空间中与第一帧的最近邻匹配为每个像素分配标签。PML 实现了简单和快速的设计目标,但没有以端到端的方式学习分割,并且由于通过最近邻匹配进行硬分配,经常会产生噪声分割。

文章提出视频对象分割的快速端到端嵌入学习(FEELVOS, Fast End-to-End Embedding Learning for Video Object Segmentation)来满足所有的设计目标,如下图所示。与 PML 一样,FEELVOS 使用学习的嵌入和最近邻匹配,但使用这种机制作为卷积网络的内部指导,而不是将其用于最终的分割决策。这能够使用分割输出上的标准交叉熵损失以端到端的方式学习嵌入。通过仅使用最近邻匹配作为软提示,网络可以从部分不正确的最近邻分配中恢复,并且仍然产生准确的分割。在 DAVIS 2017 验证数据集上实现了多目标分割的最新技术,无需进行微调, $\mathcal{J}$&$\mathcal{F}$ 平均得分为 71.5%。

相关工作

借助初始帧微调的视频目标分割算法

许多半监督视频对象分割方法依赖于使用第一帧 ground-truth 进行微调。 OSVOS 使用卷积网络,针对前景-背景分割进行预训练,并在测试时根据目标视频的第一帧 ground-truth 其进行微调。 OnAVOS 和 OSVOS-S 分别通过在线适应机制和来自实例分割网络的语义信息来扩展 OSVOS。另一种方法是学习使用光流将分割掩模从一帧传播到下一帧,如 MaskTrack 所做的那样。 LucidTracker 扩展了这种方法,引入了复杂的数据增强机制。胡等人提出了一种运动引导级联细化网络,该网络适用于活动轮廓模型的粗分割。 MaskRNN 使用循环神经网络来融合两个深度网络的输出。 LSE 探索了用于细化初始前景预测的位置敏感嵌入。 MoNet 通过特征对齐和距离变换层来利用光流运动线索。Han 等人探索了使用强化学习来估计要分割的感兴趣区域。DyeNet 使用深度循环网络,结合了时间传播和重新识别模块。 PREMVOS 结合了四种不同的神经网络,通过广泛的微调和合并算法,赢得了 2018 年 DAVIS 挑战赛和 2018 年 YouTube-VOS 挑战赛。

尽管取得了令人印象深刻的结果,但前面提到的所有方法都无法满足快速的设计目标,因为它们依赖于第一帧的微调(在线学习)。

没有使用初始帧微调的视频目标分割算法

虽然半监督 VOS 非常关注通过微调来利用第一帧信息,但最近有一些工作旨在通过避免微调来实现更好的运行时和可用性。 OSMN 将分段网络与调制器结合起来,调制器无需微调即可操纵分段网络的中间层。 FAVOS 使用基于部分的跟踪方法来获取对象部分的边界框,然后使用基于感兴趣区域的分割网络生成分割掩模。所提出的 FEELVOS 方法的主要灵感是 PML,它使用通过三元组损失和最近邻分类器学习的像素级嵌入。 VideoMatch 使用与 PML 非常相似的软匹配层,并考虑当前帧中的每个像素与学习的嵌入空间中第一帧中的每个像素最接近的 k 个最近邻。与 PML 不同,它直接优化生成的分割,而不是使用三元组损失。然而,最终的分割结果仍然直接从嵌入空间中的匹配得出,这使得很难从不正确的匹配中恢复。在本篇文章的工作中,仅使用嵌入空间匹配作为软提示,并通过进一步的卷积进行细化。

OSMN、FAVOS、PML 和 VideoMatch 都实现了非常高的速度并有效地绕过了微调,但本篇所提出的 FEELVOS 产生了明显更好的结果。

RGMP 使用具有两个共享流的连体编码器。第一个流对要分割的视频帧以及前一帧的估计分割掩模一起进行编码。第二个流对视频的第一帧及其给定的地面真实分割掩模进行编码。然后,两个流的特征通过全局卷积块和多个细化模块连接和组合,以产生最终的分割掩模。RGMP 的架构与本篇的架构有相似之处,特别是 RGMP 和 FEELVOS 都使用第一个和前一个视频帧图像和分段掩模作为在网络内部利用的信息。然而,RGMP 只是通过将特征堆叠在一起来组合这些信息源,而 FEELVOS 采用受 PML 启发的基于特征的匹配机制,它允许以端到端的方式系统地处理多个对象。与 FEELVOS 一样,RGMP 不需要任何微调,速度很快,并且取得了令人印象深刻的结果。然而,RGMP 并不能满足以端到端的方式处理多对象分割任务的设计目标。整个网络需要针对每个对象运行一次,并且通过启发式合并来执行多对象分割。此外,RGMP 无法实现简单的设计目标,因为它依赖于复杂的训练过程,其中涉及多个数据集、合成数据生成和随时间的反向传播。尽管使用更简单的训练程序并且没有模拟数据,FEELVOS 仍比 RGMP 产生更好的结果。

实例嵌入学习。

李等人提出了一种基于嵌入的方法,用于以无监督的方式执行视频对象分割,即不使用第一帧中的任何 ground-truth 信息。对于图像实例分割,Fathi 等人建议学习每个像素的实例嵌入。本篇采用相同的嵌入距离公式,但不使用他们提出的种子点,并且本篇以不同的方式训练嵌入。

FEELVOS 方法

概述(Overview)

本篇提出 FEELVOS 用于快速半监督视频对象分割。FEELVOS 使用单个卷积网络,每个视频帧仅需要一次前向传递。FEELVOS 的概述见下图。所提出的架构使用 DeepLabv3+(删除了输出层)作为主干网络,以步长 stride 为 4 提取特征。最重要的是,添加一个嵌入层,以相同的步长提取嵌入特征向量。然后,对于每个对象,通过将当前帧的嵌入向量与第一帧中属于该对象的嵌入向量进行全局匹配来计算距离图。此外,使用前一时间帧的预测,通过将当前帧嵌入与前一帧的嵌入向量进行局部匹配来计算每个对象的另一个距离图。下面将更详细地描述全局匹配和局部匹配。就像在 MaskTrack 或 RGMP 中一样,也直接使用前一帧的预测作为附加提示。最后,结合所有可用的线索,即全局匹配距离图(global matching distance maps)、局部匹配距离图(local matching
distance maps)、前一帧的预测(predictions from the previous frame)和主干特征。然后,将它们输入动态分割头(dynamic segmentation head),该头为每个像素(步长为 4)生成第一帧中存在的所有对象的后验分布。整个系统经过端到端的多对象分割训练,不需要嵌入的直接损失。下面,将更详细地描述每个组件。

语义嵌入(Semantic Embedding)

对于每个像素 $p$,在学习的嵌入空间中提取语义嵌入向量 $e_p$。嵌入空间的想法是,属于同一对象实例(同一帧或不同帧中)的像素在嵌入空间中将接近,而属于不同对象的像素将远离。请注意,这并没有明确强制执行,因为这里不是像 PML 或 VideoMatch 那样直接使用嵌入空间中的距离来生成分割,而是将它们用作软提示,可以通过动态分割头进行细化。然而,在实践中,嵌入确实以这种方式表现,因为这为最终分割的动态分割头提供了强有力的提示。

与 Fathi 等人类似,本篇根据像素 $p$ 和 $q$ 对应的嵌入向量 $e_p$ 和 $e_q$ 定义像素 $p$ 和 $q$ 之间的距离:

$$ d(p, q) = 1 - \frac{2}{1 + \text{exp}(\|e_p -e_q \|^2)}. \tag{1} $$

距离值始终在 $0$ 和 $1$ 之间。对于相同的像素,嵌入距离为 $d(p,p)=1 − \frac{2}{1+\text{exp}(0)}=0$,对于嵌入空间中距离很远的像素,有 $d(p,q)=1 − \frac{2}{1+\text{exp}(\infty)}=1$。

全局匹配(Global Matching)

与 PML 和 VideoMatch 类似,通过考虑学习的嵌入空间中的最近邻居,将语义信息从具有基本事实的第一个视频帧转移到要分割的当前帧。

记 $\mathcal{P}_t$ 为时间 $t$ 时刻所有像素(步长为 4)的集合,$\mathcal{P}_{t,o} \subseteq \mathcal{P}_t$ 为时间 $t$ 时刻属于目标 $o$ 的像素集合。然后,对每个目标 $o$ 和当前 $t$ 时刻视频帧中每个像素 $p \in \mathcal{P}_t$ 的全局匹配距离图(global matching distance map)$G_{t,o}(p)$ 为第一帧中属于目标 $o$ 的像素 $\mathcal{P}_{1,o}$ 的最近邻距离值: $$ G_{t,o}(p) = \min_{q\in\mathcal{P}_{1,o}} d(p,q). \tag{2} $$ 需要注意的是,$\mathcal{P}_{1,o}$ 是绝对不为空的,因为这是第一帧中我们需要跟踪的 ground-truth 目标,它必须存在。背景可以考虑为其他目标对象。$G_{t,o}(p)$ 为当前帧的每个像素和每个目标提供了它多大可能属于这个目标的软的线索(a soft cue,可能性)。

下图给出了全局匹配距离图的一个可视化例子。从图上可以看到,鸭子能够相对较好的被捕捉到,但是距离图上有噪声出现,且在水中包含了许多误报(假正,false-positive)的小距离。这是不直接使用这些距离生成分割,而是作为分割头的输入的原因,分割头可以从噪声距离中恢复分割。

在实际计算,使用一个大矩阵乘积计算全局匹配距离图,从中得出当前帧和第一帧之间的所有成对距离(pairwise distances),然后应用逐对象(object-wise)最小化。

使用前一帧的局部匹配(Local Previous Frame Matching)

除了使用学习到的嵌入从第一帧传输语义信息之外,还使用它在相邻帧之间传输信息,以有效地跟踪和处理外观变化。与全局匹配距离图类似,定义关于前一帧的局部匹配距离图 $\hat{G}_{t,o}(p)$:

$$ \hat{G}_{t,o}(p) = \begin{cases} \min_{q\in\mathcal{P}_{t-1,o}}d(p,q) & \text{if} \quad \mathcal{P}_{t-1,o} = \emptyset \\ 1 & \text{otherwise} \end{cases} \tag{3} $$ 这里时间索引从 $1$ (the first frame) 改变为 $t-1$ (the previous frame)。此外,$\mathcal{P}_{t−1,o}$ 现在由预测给出,而不是由第一帧真实值 ground-truth 给出,这意味着它可以为空,在这种情况下,将距离定义为 $1$。 当将当前帧与第一帧匹配时,需要将当前帧的每个像素与第一帧的每个像素进行比较,因为对象可能随着时间的推移移动了很多。然而,当与前一帧进行匹配时,可以利用两帧之间的运动距离通常很小的事实来避免误报匹配并节省计算时间。因此,在实践中其实不使用 $\hat{G}_{t,o}(p)$ 而是使用局部匹配距离图。受 FlowNet 的启发,对于帧 $t$ 的像素 $p$,在搜索最近邻时,仅考虑帧 $t − 1$ 中 $p$ 的局部邻域像素 $q$。对于给定的窗口大小 $k$,将邻域 $N(p)$ 定义为在 $x$ 和 $y$ 方向上距 $p$ 最多 $k$ 个像素的像素集(无论它们来自哪个帧)。这意味着 $N(p)$ 通常包含 $p$ 所在同一帧中的 $(2\cdot k + 1)^2$ 个元素,以及靠近图像边界的较少元素。时间 $t$、对象 $o$ 和像素 $p$ 的局部匹配距离图 $L_{t,o}(p)$ 定义为: $$ L_{t,o}(p)= \begin{cases} \min_{q\in\mathcal{P}_{t-1,o}^p}d(p,q) & \text{if} \quad \mathcal{P}_{t-1,o}^p \neq \emptyset \\ 1 & \text{otherwise} \end{cases} \tag{4} $$ 这里 $\mathcal{P}_{t-1,o}^p := \mathcal{P}_{t-1,o} \cap N(p)$ 表示 $t-1$ 帧中既属于目标 $o$ 又在 $p$ 邻域的所有像素集合。注意到,$L_{t,o}(p)$ 能够通过互相关(cross-correlation)进行高效地(efficiently)计算。实际中,发现使用局部前一帧匹配 $L_{t,o}(p)$ 具有更好的效果,且比全局前一帧匹配 $\hat{G}_{t,o}(p)$ 更有效率。

上图 Figure 2,显示了局部匹配距离图的可视化示例。请注意,距离前一帧掩模太远的所有像素都被分配距离 1。由于前一帧和当前帧之间的运动很小,局部匹配会产生非常清晰且准确的距离图。

前一帧预测(Previous Frame Predictions)

除了使用对前一帧的预测进行局部前一帧匹配之外,实践中发现使用前一帧的预测(即对象上的后验概率图)也很有帮助,也可以直接作为特征,提供附加提示(cue)。

动态分割头(Dynamic Segmentation Head)

为了系统地、有效地处理可变数量的对象,文章提出了一个动态分割头,它为具有共享权重的每个对象动态实例化一次(见 Figure 3)。对象 $o$ 在时间 $t$ 的动态分割头的输入是 i) 全局匹配距离图 $G_{t,o}(·)$,ii) 局部匹配距离图 $L_{t,o}(·)$,iii) 对象 $o$ 的概率分布在时间 $t − 1$ 预测,以及 iv) 共享主干特征。动态分割头由几个卷积层组成,它对于一个对象提取一个一维 logits 特征图。请注意,动态分割头输入的 259 个维度中,不同对象之间只有三个不同,但,这三个维度在实践中提供了足够强大的线索,可以在与主干特征结合时产生准确的 logits。在为每个对象提取 logits 的一维特征图后,将它们堆叠在一起,在对象维度上应用 softmax,并应用交叉熵损失。

分割头需要为每个对象运行一次,但大部分计算发生在提取共享主干特征时,这使得 FEELVOS 能够很好地扩展到多个对象。此外,算法甚至能够针对可变数量的对象进行端到端的多对象分割训练。这两个属性与许多最近的方法形成鲜明对比,例如 RGMP,RGMP 评估一个完整的网络,专为单对象分割而设计,针对每个对象一次并启发式地组合各个结果。

训练过程(Training Procedure)

模型的训练过程设置的非常简单。对于每个训练步骤,首先随机选择一小批视频。对于每个视频,随机选择三帧:一帧作为参考帧,即它充当视频的第一帧,以及两个相邻帧,其中第一帧作为前一帧,第二帧作为要被分割的当前帧。仅将损失应用于当前帧。在训练中,使用前一帧的 ground-truth 进行局部匹配,并使用它来定义前一帧的预测,该预测是将对象所在的像素设置为 1,将所有其他对象设置为 0。请注意,训练过程比 RGMP 中使用的训练过程简单得多,后者需要合成数据生成以及随时间的反向传播。

推理(Inference)

FEELVOS 的推理非常简单,每帧仅需要一次前向传递。给定一个具有第一帧 ground-truth 的测试视频,首先提取第一帧的嵌入向量。然后,对视频进行逐帧分割,计算当前帧的嵌入向量,对第一帧应用全局匹配,对前一帧应用局部匹配,为每个对象运行动态分割头,并应用像素级 argmax 产生最终的分割。对于前一帧预测特征,使用前一帧预测的软概率图(soft probability map)。

实施细节(Implementation Details)

使用 DeepLabv3+ 架构作为主干网络,它基于 Xception-65 架构,并应用深度可分离卷积、批量归一化、Atrous Spatial Pyramid Pooling,以及一个生成步长为 4 的特征的解码器模块。

在此之上,添加一个由一个深度可分离卷积组成的嵌入层,即为每个通道单独执行一个 $3 \times 3$ 卷积,然后是一个 $1 \times 1$ 卷积,从而允许通道之间的交互。提取维度为 100 的嵌入向量。

对于动态分割头,大的感受野很重要。在实践中,使用 4 个深度可分离的卷积层,维度为 256,深度卷积的内核大小为 $7 \times 7$,以及 ReLU 激活函数。在此之上,我们添加一个 $1 \times 1$ 卷积来提取 1 维的 logits。

在训练期间计算所有像素对的距离以进行全局匹配的成本很高。在实践中,对第一帧中的参考像素集进行随机二次采样,使每个对象最多包含 1024 个像素,发现这对结果影响不大。

对于局部匹配,使用 $k = 15$ 的窗口大小应用于以步长 4 提取的嵌入向量。使用 DeepLabv3+ 的权重进行训练,该权重是在 ImageNet 和 COCO 上预先训练的。作为训练数据,使用 DAVIS 2017 训练集(60 个视频)和 YouTube-VOS 训练集(3471 个视频)。应用自举交叉熵损失(bootstrapped cross entropy),它仅考虑 $15%$ 最难的像素来计算损失。使用梯度下降法进行优化,动量为 0.9,学习率为 0.0007,执行 200,000 步,每个 GPU 的批量大小为 3 个视频(即 9 个图像),使用 16 个 Tesla P100 GPU。应用翻转(flipping)和缩放(scaling)作为数据增强,并将输入图像随机裁剪为 465 × 465 像素的大小。

实验(Experiments)

训练后,网络在 DAVIS 2016 验证集、DAVIS 2017 验证和测试开发集以及 YouTube-Objects 数据集上进行评估。DAVIS 2016 验证集由 20 个视频组成,每个视频都有一个实例注释。DAVIS 2017 数据集包含 60 个带有多个注释实例的序列的训练集和一个验证集,该验证集将 DAVIS 2016 验证集扩展到总共 30 个带有多个注释实例的视频。DAVIS 2017 测试开发集还包含 30 个序列。 YouTube-Objects 数据集由 126 个视频组成,每个视频有一个实例的稀疏注释。

采用 DAVIS 定义的评估措施。第一个评估标准是预测和真实分割掩模之间的平均交并比(mIoU, mean intersection-over-union),用 $\mathcal{J}$ 表示。第二个评估标准是轮廓精度 $\mathcal{F}$。最后,$\mathcal{J}$ & $\mathcal{F}$ 是 $\mathcal{J}$ 和 $\mathcal{F}$ 的平均值。

主要结果(Main Results)

下面两个表格将在 DAVIS 2017 验证和测试开发集上的结果与其他不采用微调的方法,以及采用微调的 PReMVOS 和 OnAVOS 方法进行了比较。注意 PML 在 DAVIS 2017 上未提供结果。

DAVIS 2017 验证集的定量结果。 FT 表示微调,t/s 表示每帧的时间(以秒为单位)。 $\dagger$:根据 DAVIS 2016 推断的时间,假设对象数量呈线性缩放。

FT $\mathcal{J}$ $\mathcal{F}$ $\mathcal{J}$ & $\mathcal{F}$ t/s
OSMN 52.5 57.1 54.8 $0.28^{\dagger}$
FAVOS 54.6 61.8 58.2 $1.2^{\dagger}$
VideoMatch 56.5 68.2 62.4 0.35
RGMP 64.8 68.6 66.7 $0.28^{\dagger}$
FEELVOS(-YTB-VOS) 65.9 72.3 69.1 0.51
FEELVOS 69.1 74.0 71.5 0.51
OnAVOS $\surd$ 61.0 66.1 63.6 26
PReMVOS $\surd$ 73.9 81.7 77.8 37.6

DAVIS 2017 测试开发集的定量结果。FT 表示微调,t/s 表示每帧的时间(以秒为单位)。$\dagger$:根据 DAVIS 2016 推断的时间,假设对象数量呈线性缩放。

FT $\mathcal{J}$ $\mathcal{F}$ $\mathcal{J}$ & $\mathcal{F}$ t/s
RGMP 51.4 54.4 52.9 $0.42^{\dagger}$
FEELVOS(-YTB-VOS) 51.2 57.5 54.4 0.54
FEELVOS 55.2 60.5 57.8 0.54
OnAVOS $\surd$ 53.4 59.6 56.5 39
PReMVOS $\surd$ 67.5 75.7 71.6 41.3

在验证集上,FEELVOS 在 mIoU $\mathcal{J}$ 和轮廓精度 $\mathcal{F}$ 方面均优于之前最好的非微调方法 RGMP。对于非微调方法,FEELVOS 通过 $\mathcal{J}$&$\mathcal{F}$ 评分达到了新的最先进水平 71.5%,比 RGMP 高 4.8%,在不使用 YouTube-VOS 数据进行训练时高 2.4%(用 -YTB-VOS 表示没有使用 YouTube-VOS 数据集)。FEELVOS 的结果比严重依赖微调的 OnAVOS 的结果更强。然而,FEELVOS 无法与精心设计且速度缓慢的 PREMVOS 的结果相媲美。在 DAVIS 2017 测试开发集上,FEELVOS 的 $\mathcal{J}$&$\mathcal{F}$ 得分为 57.8%,比 RGMP 的结果高出 4.9%。在这里,RGMP 和 FEELVOS 的运行时间几乎相同,因为 FEELVOS 的运行时间几乎独立于对象数量,并且测试开发集每个序列包含更多对象。

下图显示了 FEELVOS 经过微调和未经微调的 $\mathcal{J}$&$\mathcal{F}$ 分数和运行时间。可以看出,FEELVOS 以每帧 0.51 秒的运行时间实现了非常好的速度/精度权衡。

下表显示了更简单的 DAVIS 2016 验证集的结果,该验证集每个序列仅注释一个对象实例。在这里,FEELVOS 的 $\mathcal{J}$&$\mathcal{F}$ 得分为 81.7%,与 RGMP 的 81.8% 相当。然而,RGMP 严重依赖于模拟训练数据,而 FEELVOS 需要。如果没有模拟数据,RGMP 只能达到 $\mathcal{J}$&$\mathcal{F}$ 的 68.8%。同样,FEELVOS 无法达到基于微调的方法的结果,但它实现了非常好的速度/准确性权衡,并且仅使用单个神经网络。

DAVIS 2016 验证集的定量结果。 FT 表示微调,t/s 表示每帧的时间(以秒为单位)。

FT $\mathcal{J}$ $\mathcal{F}$ $\mathcal{J}$ & $\mathcal{F}$ t/s
OSMN 74.0 - - 0.14
FAVOS 77.9 76.0 77.0 0.6
PML 75.5 79.3 77.4 0.28
VideoMatch 81.0 80.8 80.9 0.32
RGMP(-sim.data) 68.6 68.9 68.8 0.14
RGMP 81.5 82.0 81.8 0.14
FEELVOS(-YTB-VOS) 80.3 83.1 81.7 0.45
FEELVOS 81.1 82.2 81.7 0.45
OnAVOS $\surd$ 85.7 84.2 85.0 13
PReMVOS $\surd$ 84.9 88.6 86.8 32.8

下表显示了 YouTube-Objects 上的结果。请注意,此数据集的评估协议并不总是一致,标有 * 的结果可能无法直接比较。FEELVOS 的 $\mathcal{J}$ 分数为 82.1%,甚至优于基于微调的方法 OSVOS 和 OnAVOS 的结果。

YouTube-Objects 数据集上的定量结果。 FT 表示微调。 * 表示 YouTubeObjects 使用的评估协议不一致,例如有时第一帧会被忽略;标有 * 的结果可能无法直接比较。

FT $\mathcal{J}$
OSMN $69.0^*$
VideoMatch $79.7^*$
FEELVOS(-YTM-VOS) 78.9
FEELVOS 82.1
MaskTrack $\surd$ 77.7
OSVOS $\surd$ 78.3
OnAVOS $\surd$ 80.5

消融实验(Ablation Study)

在下表中,分析了 FEELVOS 各个组件对 DAVIS 2017 验证集的影响。为简单起见,仅使用较小的 DAVIS 2017 训练集作为这些实验的训练数据。DAVIS 2017 上的消融研究。FF 和 PF 分别表示第一帧(First Frame)和前一帧(Previous Frame),GM 和 LM 表示全局匹配(Global Matching)和局部匹配(Local Matching)。PFP 表示使用先前帧预测(Previous Frame Predictions)作为动态分割头的输入。

FF-GM PF-LM PF-GM PFP $\mathcal{J}$ $\mathcal{F}$ $\mathcal{J}$&$\mathcal{F}$
1 $\surd$ $\surd$ $\surd$ 65.9 72.3 69.1
2 $\surd$ $\surd$ $\surd$ 61.2 67.3 64.2
3 $\surd$ $\surd$ 49.9 59.8 54.9
4 $\surd$ 47.3 57.9 52.6
5 $\surd$ $\surd$ 60.4 66.2 63.3
6 $\surd$ $\surd$ 53.8 58.3 56.1

第 1 行是提出的 FEELVOS,它使用第一帧全局匹配 (FF-GM)、前一帧局部匹配 (PF-LM) 和前一帧预测 (PFP) 作为动态分割头的输入。此设置的 $\mathcal{J}$&$\mathcal{F}$ 得分为 69.1%。

在第 2 行中,用前一帧全局匹配 (PF-GM) 替换前一帧局部匹配 (PF-LM),这使结果显着降低了近 5% 至 64.2%,并显示了将前一帧匹配限制为本地窗口的有效性。

在第 3 行中,完全禁用前一帧匹配。这里的结果甚至下降到 54.9%,这表明使用学习到的嵌入来匹配前一帧对于获得良好的结果极其重要。

在第 4 行中,还禁用了使用前一帧预测 (PFP) 作为动态分割头的特征。在此设置中,每个帧都可以单独分段,并且仅使用全局匹配到第一帧的信息。在这种情况下,结果进一步恶化至 52.6%。

在第 5 行中,再次使用前一帧局部匹配 (PF-LM),但禁用前一帧预测 (PFP)。在这种情况下,结果为 63.3%,这比使用 PFP 但不使用 PF-LM 的第 3 行的结果要好得多。这表明,与仅使用前一帧预测作为特征相比,前一帧局部匹配是从前一帧传输信息的更有效方法。它还表明,随着时间的推移传递信息的两种方式是互补的,并且它们的组合是最有效的。

在第 6 行中,使用 PF-LM 和 PFP,但禁用第一帧全局匹配(FF-GM)。这意味着第一帧信息仅用于初始化用于 PFLM 和 PFP 的掩模,而不再作为每一帧的明确指导。这里的结果与第 1 行相比恶化了 13%,这表明与第一帧的匹配对于获得良好的结果极其重要。

总之,FEELVOS 的每个组件都是有用的,嵌入空间中与前一帧的匹配非常有效,并且所提出的局部前一帧匹配的性能明显优于与前一帧的全局匹配。

定性结果(Qualitative Results)

下图显示了 FEELVOS 在 DAVIS 2017 验证集和 YouTube-Objects 数据集上的定性结果。可以看出,在许多情况下,即使在柔道序列中的大运动或汽车的第一帧被截断等困难的情况下,FEELVOS 也能够产生准确的分割。在具有挑战性的鱼序列(第三行)中,FEELVOS 失去了一些鱼的踪迹,可能是因为它们的外观非常相似。在最后一行中,FEELVOS 无法分割猫背部的某些部分。这很可能是因为在第一帧中没有看到背面纹理。然而,之后,FEELVOS 能够从该错误中恢复。

结论(Conclusion)

观察到 VOS 有很多强大的方法,但其中许多缺乏实际可用性。基于这一见解,定义了 VOS 实用方法应实现的几个设计目标。最重要的是,文章的方法是一种快速、简单的方法,但仍能取得良好的结果。为此,提出了 FEELVOS,它学习语义嵌入,以端到端的方式分割多个对象。FEELVOS 的关键组件是与视频第一帧的全局匹配和与前一帧的局部匹配。通过实验证明 FEELVOS 的每个组件都非常有效,并且在 DAVIS 2017 上为 VOS 取得了新的最先进结果,无需进行微调。总体而言,FEELVOS 是一种快速且实用的 VOS 方法,希望这项工作能够激发更多满足文章定义的设计标准的方法,并推进 VOS 中实用方法的最新技术水平。