《Fast Video Object Segmentation by Reference-Guided Mask Propagation》论文阅读

Abstract

我们提出了一种有效的半监督视频对象分割方法。 与其他方法相比,我们的方法在运行时间很短的情况下实现了与最先进的方法相比的准确性。为此,我们提出了一个深度的Siamese编码器 - 解码器网络,旨在利用掩模传播和对象检测的优势,同时避免两种方法的弱点。 我们的网络通过两个阶段的训练过程学习,这个过程既利用了综合数据,也利用了真实数据,在没有任何在线学习或后期处理的情况下稳健运行。 我们在包含单个和多个对象分割的四个基准集上验证了我们的方法。在所有的基准测试集中,我们的方法显示出相当的准确性,同时具有更快的运行时间。 我们还提供广泛的消融和附加研究来分析和评估我们的框架。

Introduction

视频对象分割 - 从视频序列中分离出前景对象 - 是视频分析和编辑中最重要的任务之一,Adobe After Effects等商业应用程序为其提供专用工具。然而,自动视频对象分割还远未解决问题,后期制作视频编辑通常需要大量的人工交互才能取得令人满意的效果。尽管最近的工作已经解决了这个问题,但是无论是质量还是速度,性能仍然有限。在本文中,我们的目标是开发一个准确的视频对象分割算法,该算法也足够快,可用于交互式设置。

视频对象分割方法通常依赖于两个重要的线索基于传播的方法[13,37,28,30]主要利用对象运动的时间相关性,并将此问题表达为从给定的带注释的帧开始的对象遮罩传播(即像素级跟踪)。这些方法依赖于像素之间的时空连接,并且因此可以适应目标对象的复杂变形和移动,只要外观和位置的变化平滑。然而,这些方法容易受到像遮挡和快速运动这样的时间不连续性的影响,并且一旦传播变得不可靠,就会遭受漂移。

基于检测的方法[5,27,45]从给定的带注释的帧中学习目标对象的外观,并在每一帧执行目标对象的像素级检测。由于它们很少依赖时间一致性,因此它们对于堵塞和漂移具有强大的作用。然而,由于他们的估计主要基于注解帧中的对象外观,所以它们往往不能适应外观变化并且难以用具有相似外观的对象实例进行分离。

近期解决这个问题的方法是利用深层网络。这些方法中的大多数很大程度上依赖于在线学习,其中预先训练的深度网络在测试视频上进行了微调[45,30,40,5,27,18,21]。尽管在线培训通过让网络适应目标对象的外观来提高分割准确性,但它在计算上是昂贵的,因此限制了它的实际使用(例如,对于每个测试视频它需要几分钟的GPU驱动培训)。

在本文中,我们提出了一种新的半监督视频对象分割混合方法。我们构建

一个Siamese编码器 - 解码器网络,它同时利用前一个掩码传播到当前帧,而参考帧指定当前帧中要检测的目标对象。我们的网络旨在生成锐利的对象蒙版,而无需耗时的后期处理。为了解决缺乏大型分段训练视频数据集的问题,我们采用两阶段方案,在合成生成的图像数据上预训练网络,然后对视频数据进行微调。

我们的网络架构和培训方案经过精心设计,可充分利用传播和检测线索。因此,网络在没有任何在线学习或后处理的情况下运行稳健,从而在测试时间带来巨大的效率。我们的方法不仅在公共基准数据集上实现了最先进的性能,而且比以前依赖于在线学习的方法运行得更快(如图1所示)。我们还通过消融和附加研究对每个组件的影响提供广泛的实验分析和评估。

Related Work

无监督的方法。无监督方法旨在以全自动方式分割前景对象而无需用户注释。信息的主要来源包括视觉显着性[42]和运动差异(例如光流[35]和长期轨迹[4])。但是,前景对象的标准通常是不明确的,无监督分割不适合交互式视频编辑场景。本文重点介绍半监督方法。

基于传播的方法。许多视频分割方法始于粗略地指定感兴趣对象的用户注释(例如分割掩码或关键帧处的涂鸦)。为了在整个视频序列中传播这些稀疏标签,通常使用图形表示[13,37,28]。像素(或超像素)与时空邻居连接的时空图是从视频中构建的。执行像graphcut这样的基于能量的优化来为每个节点分配最佳标签。

对于专业视频编辑应用程序,交互式方法通常比自动方法更受欢迎[41,11,2,25]。这些方法专注于为用户设计一种有效的方式来指定分段约束并快速响应这些约束。

最近的方法已经将视频中的标签传播用于深度学习。在[20]中提出了一个时间双边网络用于时空密集滤波。在[30]中,训练了一个深度网络来细化前一帧掩码以创建当前帧掩码。他们只使用静态图像为这项任务训练了一个网络。他们使用在线微调使用测试视频的第一帧来记忆目标物体的外观,从而提升了性能。 Khoreva等人。 [21]通过提出大量的数据增强策略来扩展在线学习,以实现更高的准确性。在[18]中,胡等人。为多实例分割开发了一种递归神经网络框架。通过一个经常性的网络,他们可以有效捕捉时间上的连贯性,并利用视频的长期时间结构。

基于检测的方法。半监督设置中的另一种方法是利用给定参考框架中目标对象的外观。该类别中的方法将视频对象分割作为每帧中的像素级对象检测,在不考虑时间一致性的情况下逐帧处理视频。在[5]中,Caelles等人应用一次在线学习,使用预先训练的模型在标签框架上调整深度网络,并使用该精细调谐网络作为检测器。 Maninis等人[27]通过结合来自辅助实例分割网络的附加信息扩展了这一想法[26]。 Voigtlaender和Leibe[40]通过采用源于箱级追踪的在线适应机制,进一步发展了[5]的想法。 Yoon等人。 [45]提出了一个连体网络用于像素级匹配以检测目标物体。

Method

给定一个带有对象掩码的参考帧,我们方法的目标是从整个视频序列中自动分割目标对象。我们的方法的关键思想是将参考帧和注释以及当前帧与先前的掩模估计一起暴露给深度网络,以便网络通过匹配参考帧的外观来检测目标对象,并且还通过追踪前一帧掩膜在当前帧的位置。

NetworkStructure

图2描述了我们的网络结构。我们将该模型构建为连体编码器 - 解码器结构,该结构可以高效地处理四个输入并产生锐利的掩模输出。该网络由两个共享参数的编码器,一个全局卷积块和一个解码器组成。该网络设计为完全卷积,可处理任意输入大小并生成锐利的输出掩码。

连体编码器。编码器将一对RGB图像作为输入,每个图像都带有一个遮罩贴图编码器包括一个参考流和一个目标流,滤波器权重在流之间共享参考流的输入包括通常为视频的第一帧的参考图像和groundtruth掩码。对于目标流,提供了与前一帧对应的目标(当前)图像和引导掩模。我们沿着通道轴连接图像帧和蒙版,然后将其送入编码器。参数共享编码器将两个流数据映射到相同的特征空间。


图2:我们的网络架构。该网络由两个共享参数的编码器,一个全局卷积块和一个解码器组成。 网络是完全卷积的。 特征图的相对空间尺度和通道尺寸显示在每个块的下方。

我们的编码器网络基于ResNet50[16],并且被修改为能够通过在第一卷积层中植入额外的单通道滤波器来获得4通道张量。网络权重从ImageNet预先训练的模型中初始化,除了新添加的随机初始化滤波器。

全局卷积块。两个编码器流的输出被串联并馈送到全局卷积块。此块旨在执行参考流和目标流之间的全局特征匹配以定位目标对象。为了克服卷积运算的局部性,我们采用全局卷积[29],通过组合1×k + k×1和k×1+ 1×k卷积层(在我们的实现中k = 7)来有效地扩大接受域。全局卷积块的输出进一步由一个残差块[17]处理。请注意,我们从原始形状中删除了批量归一化[19]。该块中的所有卷积层产生具有256个通道的特征图(例如,滤波器的数量为256)。

解码器。解码器采用全局卷积块的输出,并通过跳过连接在目标编码器流中提供掩码输出。为了有效地融合不同尺度的特征,我们使用细化模块[32]作为我们解码器的构建模块。我们通过用残余块代替卷积层对原始结构进行了一些修改,如图2所示。我们的解码器由三个细化模块一个最终卷积层一个生成物体掩模的softmax层组成。掩码输出的大小是输入图像大小的1/4细化模块中的每个卷积图层都会生成256个通道的特征映射,最后一个会生成双通道蒙版映射。

Two-StageTraining

DAVIS-2017[33,31]是用于视频对象分割的最大的公共基准数据集,并提供由60个视频组成的训练集。即使我们使用预编码的编码器权重,这还不足以从头开始训练我们的深度网络。为了解决这个问题,我们提出了一个两阶段的培训计划。我们的网络首先使用静态图像数据集对模拟样本进行训练,然后对视频分割数据进行微调。

对模拟样品进行预培训。在第一阶段,我们使用带有实例对象掩模(Pascal VOC [10,14],ECSSD [34]和MSRA10K [8])的图像数据集来模拟训练样本。对于我们的双流编码器,我们需要包含相同对象的参考帧和目标帧数据。为了自动生成训练样本,我们使用了以下两种策略。

•策略1:通过应用两组不同的随机变换来产生一对图像(旋转,缩放,色彩扰动),从具有对象遮罩的图像生成一对图像。我们使用Pascal VOC数据集[10,14]作为源图像数据库。

•策略2:从一对前景对象和背景图像中,我们将两组不同的随机变换应用到前景对象然后通过将变换后的前景图像与背景图像混合来生成一对图像。我们使用显着性检测数据集[34,8]来分割背景图像的前景对象和Pascal VOC数据集[10,14]。此外,我们通过在背景图像中使用对象遮罩来模拟遮挡(例如,目标图像(图3)中的蝴蝶被人遮挡)。.


图3:从静态图像自动生成的训练样本。我们有两种不同的策略来生成训练样本,如第2节所述。3.2。

对于这两种策略,我们进一步使用随机仿射变换对目标帧的掩膜进行变形,以模拟与前一帧相似的引导蒙版[30]。然后,我们随机地从每个生成的图像中裁剪一个包含至少50%目标对象的训练样本。图3显示了两种策略产生的一些例子。

策略1模拟静态场景的环境变化(摄像机角度,变焦,照明)。策略2模拟更复杂的变化,并涵盖更多种类的对象,因为显着性检测数据集比Pascal VOC数据集具有更多不同类别的对象。来自策略2的图像有时看起来不自然,并且混合了伪影,而来自策略1的图像是自然的,没有伪影。我们凭经验发现这两种策略都有帮助,因此我们使用两种策略以相等的概率生成训练样本。我们分析了这个预培训阶段的效果。 4.2。

微调视频数据。在对模拟样本进行预训练之后,我们用视频分段数据对网络进行微调。通过对真实视频序列进行训练,我们的网络学习适应长期外观变化(参考帧与目标帧之间)和短期运动(目标帧与前一帧的掩码之间)。我们在DAVIS-2017训练数据集[33,31]上训练了我们的网络,该训练数据集包含60个带有像素级实例标签地图的短高清视频(总共4029帧)。为了从视频中准备训练样本,我们采用随机时间索引的参考帧和目标帧。如果视频中有多个实例,我们只选择一个实例。

上面解释的天真微调可能与真实的测试场景不兼容,因为它不能反映随时间推移的错误累积。为了解决这个问题,我们使用自己的估计对我们的模型进行微调,这种估计往往伴随着错误。 具体而言,我们反复地通过类似于[18]的时间连接我们的模型,并馈送先前帧的softmax(未二进制)输出作为当前帧的导引掩码,以便保持估计的不确定性。 这使我们能够使用反向传播时间(BPTT)来训练经常连接的网络[43]。 对于这种训练,我们使用来自视频的随机时间索引的N个连续目标帧。 我们将在图4中描述我们经常连接的连接时间网络。我们将讨论微调对视频数据的影响,而不是在第二节中应用递归。4.2。


图4:反复训练。 我们计算每个时间步的训练损失,并通过BPTT更新我们的模型[43]。

Inference

我们假设第一帧的地面掩模是在视频对象分割的常规半监督设置之后给出的。我们将第一帧设置为参考,并依次估计剩余帧的遮罩。请注意,我们将前一帧的输出概率图作为目标帧的引导蒙版而不进行二值化。在测试视频序列时,我们只计算一次参考(第一帧)流编码器的特征,这使得我们的推理效率更高,如图4所示。为了捕获不同尺寸的对象,我们在三个不同尺度输入(例如0.5,0.75和1)并对结果进行平均。

多个对象。在多个对象的情况下,我们仍然使用相同的模型,但在推理时处理场景。一种天真的做法是独立运行每个对象并为其分配最大输出概率的标签。另一种方法是利用实例的不相交约束的赢者通吃方法,即通过在每次估计处将非最大实例概率设置为零,每个像素不能属于多个实例。与朴素方法相比,“赢者通吃”方法提高了基准测试的准确性,但仍然远不是最佳,因为它会丢弃有益的信息。

为此,我们提出softmax聚合,它将多个实例概率轻柔地结合在一起,同时将它们限制为正数并且总和为1:

其中σ和logit分别表示softmax和logit函数,pi,m是像素位置i处的实例m的网络输出概率,m = 0表示背景,M是实例的数量。 为了计算背景的概率,我们计算合并的前景的网络输出,然后从1中减去它。我们使用等式1聚合实例的网络输出。 (1)在每个时间步并将其传递到下一帧。

表1:DAVIS-2016验证集的定量评估。 我们强调每种方法的常见特征:在线学习(OL),后处理(PP)和光流输入(OF)。 我们根据是否使用在线学习来分组方法。 时间显示近似运行时间(每帧秒数)。 †表示每种方法的变体,没有在线学习和后处理

表2:DAVIS-2017验证集上多对象视频对象分割的定量评估。 †:没有在线学习的变体。 +:从整体模型中获得的挑战条目的结果。 OFL [38]和OSVOS [5]的结果直接从[18]中复制。

ImplementationDetails

我们分别使用256×256和256×512大小的补丁进行预训练和微调。 在微调中,我们将循环次数设置为5,并随机跳过帧以模拟快速运动。 我们还使用随机仿射变换增强了所有训练样本。 我们使用Adam [22]优化器对我们所有的实验进行固定学习率1e-5。 预培训大约需要3天,使用单个NVIDIA GeForce 1080 Ti GPU进行微调大约需要2天。

Experiments

我们在标准基准数据集上评估我们的方法[31,33,24,11],并将我们的性能与最先进的方法进行比较。 然后,我们执行全面的消融和附加研究来验证我们方法的每个组件的效果。

Mainresults

我们使用DAVIS[31,33],SegTrack v2 [24]和JumpCut[11]数据集进行评估:1)用于单个对象分割的DAVIS-2016验证集,2)用于多对象的DAVIS-2017验证集和SegTrack v2分段,3)用于视频剪切场景的JumpCut。对于DAVIS数据集,我们使用提供的基准代码[31]测量区域相似度J和轮廓精度。对于SegTrackv2 [24]和JumpCut [11],由于视频具有不同的分辨率,因此我们在处理之前将视频帧重新缩放到短边上有480个像素,并根据原始论文建议的评估协议测量性能。结果视频包含在补充材料中。代码和模型可在线获取。

DAVIS-2016。我们将我们的方法与表1中的状态方法进行了比较。在表中,我们强调了每种方法的常见特征。以前的大多数方法都依赖在线学习,在每个测试视频的第一帧上对网络进行微调。后处理通常用于细化输出([30,21,40]中密集的CRF [23]和[5,27]中的边界对齐)。有些方法也可以通过附加的光流信息来辅助[30,21]。

在没有在线学习的方法中,我们的方法明显优于所有其他方法。与在线学习方法相比,我们的技术在不进行进一步在线微调和后处理的情况下实现了可比的准确性

在表中,OSVOS [5]和OFL [38]的运行时间分别来自[40]和[30]。否则,我们把原始文件中报告的运行时间。即使考虑到实施和运行环境的差异,我们的方法也可以通过我们的高效推断而无需在线学习和后处理,从而显示出与先前方法无法比拟的效率。

戴维斯 - 2017年。在表2中,我们报告了DAVIS-2017上多对象视频分割的结果。我们的方法达到了最先进的性能,与[40]的挑战条目相媲美,其中包括一个合奏模型[39]。

SegTrack v2的推广。我们在SegTrack v2上评估我们的模型[24]。我们使用与DAVIS实验完全相同的模型和参数估计物体掩模。在表3中,我们的方法展示了使用在线学习的最新方法的竞争性表现。请注意,由于我们避免了在线学习,因此我们在DAVIS-2017培训集上进行培训的网络对SegTrack v2数据领域完全是盲目的。因此,这个实验证明了我们方法的泛化性能。

JumpCut上的视频剪辑。为了评估我们在视频剪辑场景中的方法,我们在JumpCut [11]数据集上进一步测试我们的网络。同样,我们的网络对JumpCut完全是盲目的,因为我们使用在DAVIS上预训练的模型而没有任何修改。如表4所示,我们的方法明显优于以前的所有方法。

AblationStudy

我们进行广泛的消融研究来证明我们方法的不同组分的效果。我们总结表5中的结果。

网络输入。我们的模型需要两组图像和掩码,一个用于参考框架,另一个用于目标框架。我们调查了我们模型的每个输入流的重要性。如果我们阻止对参考输入流的访问,则网络应该将先前的掩码传播到当前帧,而没有参考信息。为了评估设置,我们将参考流输入清零,而不是修改我们的网络结构。我们将此模型命名为“参考”。另一方面,如果我们不提供前面的掩码,网络应该在没有任何时间先前的情况下检测参考帧中的目标对象。为了模拟这个设置,我们将零输出到目标流的前一个掩码输入。我们将这个模型命名为Prev。请注意,对于这个实验,我们使用两阶段训练方案训练两个独立的模型。

表5显示了实验结果。在两种消融设置中,我们观察到显着的性能下降。模型 - 参考文献与[30]有类似的设置,但没有在线学习。该设置的低分显示,根据当前帧图像简单地改进前一帧掩模不足以获得好的结果,因为它容易漂移并且不能处理遮挡。 [30]通过采用在线学习和光流来解决这个问题。

对于模型-Prev,虽然问题设置类似于[45],但我们的-Prev模型比[45](以J均值+3.5)好。我们认为改进来自我们的预培训。尽管如此,该模型仍然受到结构限制,因为它完全依赖于参考框架中目标对象的外观,并且难以处理对象外观变化或具有相似外观的多个实例。这种限制在[40]中通过在线适应来解决,其在每个时间步骤更新模型。

在图5中,我们将消融变体与我们的完整模型进行比较以证明其局限性。 --Ref漂移到背景纹理,并且--Prev未能适应外观随时间的变化,而我们的完整模型显示稳定的结果。

训练阶段。如上所述。 3.2,我们通过两个训练阶段训练模型:对模拟样本进行预训练并对视频数据进行微调。在表5中,我们凭经验验证了每个培训阶段的效果。模型-PT跳过了预训练阶段,模型-FT跳过了微调阶段。另外,为了强调视频数据训练时重现的影响,模型-Rec在两个阶段都进行了训练,但在微调期间没有重现。如表5所示,两个训练阶段对于获得准确的结果都很重要,并且再次进行训练可以进一步提升我们的表现以达到最新水平。

Add-on Study

虽然我们的模型本身能够实现最先进的性能,但我们研究了其他组件如何进一步提升性能。表6总结了DAVIS-2016验证集的附加研究结果。

在线学习。与在线学习的其他方法类似,我们在测试视频的参考框架上微调我们的模型,以使模型适应目标对象的外观。为了使用单个框架来训练我们的模型,我们使用第1节中的策略1。 3.2。即,我们通过应用不同的随机变换自动生成来自单个图像的参考帧和目标帧输入。对于这种在线微调,我们使用ADAM优化器[22]将学习率设置为1e-7并将迭代次数设置为1000。

尽管我们的模型在线微调提高了(J:81.5到82.4),但与之前经历超过10点增益的方法[30,45,18]相比,它相对较小。这个结果是很自然的,因为所有最先进的方法的性能都会在数据集的相似点饱和。我们认为这意味着我们的模型已经从参考流输入中利用了目标对象的外观信息。因此,与以前的方法[5,40,27,21]不同,我们可以避免在线学习的相当大的计算开销(例如,表6中的高端GPU需要每个视频需要2分钟以上)。用CRF进行细化。我们将密集的CRF [23]作为后处理来完善我们的输出。我们在[6,21]之后的验证集上使用网格搜索找到密集CRF的超参数。

通用报告格式对这两项措施的影响不同;它提高了J均值(+0.4),但降低了F均值(-2.1)。我们观察到CRF有助于细化掩模边界以与物体对齐并增加总体重叠面积(J),但有时可以平滑其中F度量非常敏感的精细细节(如降落伞弦),如图6所示。我们认为,我们的网络结构,特别是解码器中使用的细化模块,能够在不进行额外的后处理的情况下恢复精细的细节,这与基于DeepLab架构[6]的以前的方法[30,21,36]不同产量较粗(1/8,相当于我们的1/4)。

视觉记忆(RNN)。受到[36]的启发,我们用视觉记忆增强了我们的模型。虽然我们目前的训练方案使用重复(图4),但是有一个额外的内存模块可以在不同的时间步骤直接连接内部功能,这将会很有帮助。为此,我们通过在全局卷积块的输出中植入一个RNN单元来扩展我们的模型以具有视觉记忆。特别是,我们使用3×3卷积GRU单元[9,3]将前一时间步的特征与当前步的特征相结合。请注意,我们在预培训阶段(使用合成样本)后插入GRU细胞,因为RNN培训需要连续的数据。我们随机初始化GRU权重并在确定其他网络过滤器的权重后对其进行训练。继[44]之后,我们采用课程学习方案,每递增3000次迭代就增加1次递归,直到达到5次。在GRU训练之后,我们将所有权重一起进行微调。

如表6所示,我们没有改进GRU单元。我们推测这是由于过度拟合,因为我们观察到训练损失远低于我们的模型(平均交叉熵:0.012比0.02)。实际上,视频训练数据非常有限(共60个序列)以训练RNN。

Conclusion

在本文中,我们提出了一种半监督视频对象分割的新方法。我们证明,我们的使用两阶段方案训练的Siamese编码器 - 解码器网络达到了当前最先进的性能,而无需在线学习和后处理,使其比同类方法快得多。

这个问题有几个未来的方向。首先,我们可以纳入投资回报率提取技术,如ROI池[12]和ROI-align[15]。在我们的实验中,我们发现估计对物体尺度很敏感。目前,我们通过多尺度推断来缓解这一状况。

前一帧中目标对象的ROI捕获对象比例。因此,投资回报率提取技术可以通过标准化规模化来简化问题。虽然由于过度拟合,我们未能从RNN中获得太多改善,但我们仍然认为,如果我们有更多的视频训练数据,长期记忆有可能处理具有挑战性的场景(例如瞬间闭塞)。我们也有兴趣将我们的方法扩展为互动。目前我们只使用第一帧作为标准基准设置后的参考帧。然而,我们的模型灵活而快速,足以允许用户更改参考框架(通过选择一个可视化确认的中间结果或提供附加框架注释)。



  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值