【未完待续】论文阅读《SegFlow: Joint Learning for Video Object ...》

举报
lutianfei 发表于 2021/05/31 19:42:38 2021/05/31
【摘要】 Abstract本文提出了一种端到端的可训练网络 SegFlow,用于同时预测视频中的像素级对象分割和光流。 提出的 SegFlow 有两个分支,其中对象分割和光流的有用信息在统一框架中双向传播。 分割分支基于全卷积网络,在图像分割任务中已被证明是有效的,光流分支利用了FlowNet模型。统一框架离线迭代训练以学习通用概念,并针对特定对象在线微调 . 对视频对象分割和光流数据集的大量实验表...

Abstract

本文提出了一种端到端的可训练网络 SegFlow,用于同时预测视频中的像素级对象分割和光流。 提出的 SegFlow 有两个分支,其中对象分割和光流的有用信息在统一框架中双向传播。 分割分支基于全卷积网络,在图像分割任务中已被证明是有效的,光流分支利用了FlowNet模型。统一框架离线迭代训练以学习通用概念,并针对特定对象在线微调 . 对视频对象分割和光流数据集的大量实验表明,与最先进的算法相比,引入光流可以提高分割性能,反之亦然。

image.png

Introduction

由于自动驾驶 [15, 9, 33]、视频监控 [40, 10, 20] 和虚拟现实 [1] 等众多视觉应用,视频分析近年来备受关注。 要了解用于视觉任务的视频内容,必须了解对象的状态(例如,位置和分段)和运动信息(例如,光学流)。 在本文中,我们同时解决了这些问题,即视频对象分割和光流估计,其中已知这两个任务彼此密切相关 [41, 35]。 图 1 说明了本文的主要思想。

对于视频对象分割【25】,它假设对象掩码在第一帧中是已知的,目标是在整个视频中分配像素方向的前景/背景标签。为了保持时间连接的对象分割,光流通常用于提高整个时间的平滑度[28]。然而,流量估计本身是一个具有挑战性的问题,而且往往不准确,因此所提供的信息并不总是有助于分段。例如,当对象快速移动时,光流方法【2、5、37】在捕获运动方面无效,因此在对象内生成不完整的流(示例见图4)。为了克服这个问题,带来客观性信息(即分段)可以指导算法确定流应该平滑的位置(在对象内)。已经开发了一些算法来利用上面讨论的客观性和运动中的信息。在【41】中,提出了一种同时执行对象分割和流估计的方法,然后迭代更新两个结果。但是,整个过程都是在线优化的,而且很耗时,这限制了对其他任务的适用性。

基于上述观察,我们提出了一种基于学习的方法来联合预测视频中的物体分割和光流,这使得在测试过程中能够有效地推理。我们设计了一个统一的、端到端可训练的卷积神经网络(CNN),我们称之为SegFlow,它包含一个用于对象分割的分支,另一个用于光流的分支。对于每个分支,我们学习每个任务的特征表示,其中分段分支侧重于客观性,而光学流则利用运动信息。为了桥接两个分支以相互帮助,我们双向传播学习到的特征表示。因此,来自一个分支的这些特征可以促进另一个分支,同时在反向传播期间获得有用的梯度信息。

该网络的一个贡献是双向体系结构,只要分支的两个目标密切相关,并且可以联合优化,就可以实现两个分支之间的通信。为了训练这个联合网络,需要一个具有两个任务(即本文中的前景分割和光流)的的大数据集。但是,此类数据集可能不存在或难以构建。为了放松这种约束,我们开发了一种迭代训练策略,一次只需要一个ground truth,这样目标函数仍然可以被优化并收敛到一个解决方案,其中两个任务都能获得合理的结果。

为了评估我们提出的网络,我们在视频对象分割和光流数据集上进行了广泛的实验。我们比较了DAVIS分割基准【29】上的结果,无论是否提供运动信息,并评估Sintel [6]、飞椅【12】和场景流【26】数据集上的光流性能。此外,还对网络融合进行了分析,以演示我们的培训策略。我们证明,通过特征传播的双向网络在视频对象分割和光流任务中的视觉质量和准确性方面都优于最先进的算法。

这项工作的贡献概述如下:
·我们提出了一个端到端可训练框架,用于同时预测视频中的像素前景对象分割和光流。
·我们证明了光流和视频对象分割任务是互补的,可以通过双向框架中的特征传播相互帮助。
·我们开发了一种方法来训练所提出的联合模型,而不需要包含分割和光流地面真相的数据集。

Related Work

Unsupervised Video Object Segmentation

无监督方法的目的是在不了解对象的情况下分割前景对象(例如,初始对象掩码)。已经提出了几种通过【31,11,42】、光流【4,28】或超级像素【17,46,13】生成对象分割的方法。为了合并更高级别的信息,如客观性,对象建议用于跟踪对象片段并通过视频生成一致的区域[22, 23]。然而,这些方法通常需要大量的计算负载来生成区域建议并关联数千个段,这使得这些方法仅适用于离线应用程序。

Semi-supervised Video Object Segmentation

半监督方法【14,47,27】假设第一帧中的对象掩码是已知的,并通过视频跟踪此对象掩码。为了实现这一目标,现有的方法侧重于传播超级像素【19】、构建图形模型【25,41】或利用对象提案[30]。最近,基于CNN的方法【21,7】是通过结合静态图像的离线和在线训练过程来开发的。虽然已经取得了显著的性能,但分段结果并不能保证在时间域中是平滑的。在本文中,我们使用CNN联合估计光流,并提供学习到的运动表示,以生成跨时间的一致分割。

Optical Flow

将光流应用于视频对象分割以保持运动一致性是常见的。其中一类方法是求解粗到细格式中的变分能量最小化问题【2,5,37】。为了更好地确定图像之间的对应关系,开发了基于匹配的优化算法【43,32】。其中这些方法通常需要更长的处理时间。另一方面,基于学习的方法更有效,这可以通过高斯混合模型【34】、主成分【44】或卷积网络【12,26】来实现。考虑到效率和准确性,我们在本工作中应用FlowNet [12]作为我们的基线,同时我们建议通过从分割网络中馈送信息来改善光流结果,而上述方法并未研究这一点。

Fusion Methods

利用分层模型研究了视频分割和流量估计的联合问题[8, 38]。然而,这些方法在推理过程中依赖于复杂的优化,从而限制了它们的应用。最近,在考虑光流的同时,在视频对象分割的方向上做出了重大努力。在【21】中,开发了一个使用预先计算的光流作为额外输入以改善分割结果的网络。与这项工作不同的是,我们的模型只需要图像作为输入,我们的目标是共同学习有用的运动表示,以帮助分割。

最接近我们工作的范围是ObjectFlow算法(OFL) [41],它制定了一个目标函数,以迭代优化分割和光流能量函数。然而,这种方法是在线优化的,因此计算昂贵。此外,在更新光流估计之前,它需要分割结果。相反,我们提出了一个端到端可训练的框架,用于同时预测像素前景对象分割和光流。

SegFlow

我们的目标是分割视频中的对象,以及估计帧之间的光流。为此,我们构建了一个具有两个分支的统一模型,一个基于全卷积网络的分割分支和基于FlowNetS的非光流分支【12】。
由于缺乏具有分割和光流注释,我们初始化在不同数据集上训练的传统模型中的两个分支的权重,并通过迭代离线训练和在线微调优化SegFlowon分割和光流数据集。在下文中,我们首先介绍了每个分段和光流分支的基线模型,并解释了如何利用所提出的双向结构构建联合模型。我们提出的关节模型的整体体系结构如图2所示。

image.png
图2。上图为SegFlow体系结构。我们的模型由两个分支组成,一个是基于全卷积ResNet-101的分段网络,另一个是使用FlowNetS [12]结构的流分支。为了在两个分支之间构建通信,我们设计了一个在上采样阶段桥接两个网络的体系结构。具体来说,特征映射通过不同尺度的级联双向传播,并进行适当的操作(即,上采样或下采样),以匹配不同特征的大小。然后,采用迭代训练方案,联合优化分割任务和光流任务的损失函数。

3.1 Segmentation Branch

受全卷积网络在图像分割中的有效性【24】和图像分类中的深度结构【18,36】的启发,我们基于ResNet-101架构【18】构建了我们的分割分支,但对二进制(前景和背景)分割预测进行了修改,如下所示:1)删除用于分类的全连接层,2)将不同级别的卷积模块的特征融合在一起,以便在上采样期间获得更多细节。

ResNet-101有五个卷积模块,每个模块由几个卷积层、Relu、跳过链接和模块后的池化操作组成。具体来说,我们在池化操作后从第3到第5卷积模块绘制特征图,其中评分图的大小分别为输入图像大小的1/8、1/16、1/32。然后,这些分数图被上采样并求和在一起,以预测最终输出(图2中的上分支)。

在优化过程中使用了带有softmax函数E的像素交叉熵损失。为了克服前景和背景区域之间的像素数不平衡,我们使用【45】中采用的加权版本,损失函数定义为:
image.png
其中i,j表示前景fg和背景bg的像素位置,yij表示输入图像X在帧t处的每个像素的二进制预测,w计算为前景-背景像素数比。

3.2 Optical Flow Branch

考虑到效率和准确性,我们选择FlowNetS[12]作为流量估计的基线。光流分支使用编码器-解码器架构,带有额外的跳过链接,用于特征融合(编码器和解码器之间的特征级联)。此外,编码器的每个步骤都使用向下缩放操作,其中解码器的每个步骤都会对输出进行上采样(参见图2中的下部分支)。基于这样的结构,我们发现它与分割分支共享相似的属性,它们的特征表示在相似的尺度上,这使得与分段模型的合理连接,反之亦然,我们将在下一节中介绍。

为了优化网络,光流分支使用【12】中采用的端点误差(EPE)损耗,定义如下:
image.png

其中uij, vij表示输入图像从Xt到Xt+1的像素(i,j)处的运动,δuij和δvij是网络预测。我们使用帧t和t+1处的图像,因为计算的光流应该与帧t处的分割输出(例如,对象边界)对齐,以便它们的信息可以在以后自然地组合。

3.3 Bi-directional Model

为了在两个分支之间进行如上所述的通信,我们提出了一个统一的结构SegFlow,以联合预测分段和光流输出。因此,新的优化目标变成求解以下组合(1)和(2)的损失函数:L(X) = Ls(X) + λLf (X)。如图2所示,我们的体系结构在两个分支之间以不同的尺度双向传播特征图,以进行最终预测。例如,分段分支中每个卷积模块的特征首先被上调(以匹配光流特征的大小),然后级联到光流分支。在将特征从分段传播到流时,也采用了类似的操作。请注意,在融合特征用于网络预测之后,还使用卷积层(通道号等于输出通道号),进一步正则化来自分段和光流分支的信息。

与直接使用最终输出来帮助这两个任务【41】不同的是,我们在这里利用特征空间中的信息。一个原因是,我们的网络能够在不同的尺度上学习有用的特征表示(例如,客观性和运动)。此外,随着模型容量的增加,但不会为训练网络增加太多负担,联合模型比单个分支学习更好的表示。例如,单流网络没有能力学习类似于分段分支的表示,而我们的模型为两个任务提供了共享其表示的机会。请注意,我们的双向模型并不限于当前的体系结构或任务,而它应该是一个可应用于共同相关任务的通用框架。

4 Network Implementation and Training

在本节中,我们将介绍有关如何训练网络的更多详细信息。要成功训练联合模型,需要一个具有分割和光流地面真值的大规模数据集。然而,构建这样的数据集是不可行的。相反,我们开发了一个训练过程,通过迭代更新两个分支并逐步优化目标函数,一次只需要一个GT。此外,还为这两个任务描述了数据增强策略,以增强数据分布的多样性,并匹配所提出模型的需要。

4.1 Network Optimization

首先,我们通过迭代更新两个分支来学习一个通用模型,其中分段网络在此阶段的目标是分段移动对象。为了关注特定对象(使用第一帧中的掩码),然后我们微调DAVIS数据集每个序列上的分段分支模型,以便在线处理。

Iterative offline Training

为了开始训练联合模型,我们分别使用ResNet-101 [18]和FlowNetS [12]的权重初始化两个分支。在优化分段分支时,我们冻结光流分支的权重,并在DAVIS训练集上训练网络。我们使用批次大小为1的SGD优化器进行训练,从学习率1e-8开始,每10000次迭代将其减少一半。

对于训练光流分支,同样,我们修复分段分支,并仅使用目标光流数据集更新流网络中的权重(如第5.1节所述)。为了平衡两个不同损失之间的权重,我们在(2)中对EPE损失使用较小的学习率1e-9,在第3.3节中解决了合并损失中的λ。请注意,为了决定何时将训练过程切换到另一个分支,我们随机拆分验证集,并在验证集上的错误达到收敛时停止训练当前分支。此外,此验证集还用于选择相对于迭代编号【12】的最佳模型。

对于这个迭代学习过程,每次网络专注于分支中的一个任务,同时通过特征传播从另一个分支获得有用的表示。然后,在切换到训练另一个分支后,从上一阶段学习到的更好的特征将用于当前优化的分支。我们展示了一个例子,说明网络如何通过迭代训练图3中的两个分支(三轮)逐渐走向收敛。此外,图4显示了迭代更新流量估计期间的视觉改进。

image.png
图4。迭代改进DAVIS上的光流结果。给定一个输入图像,我们显示了初始模型FlowNetS [12]的流量估计,以及我们在第一轮和第二轮优化SegFlow期间的结果。优化过程中,结果逐步改善。

Online Training for Segmentation

离线训练的模型能够将运动对象与视频分离。为了在特定对象上调整模型以进行在线处理,我们使用每个单独序列上的第一帧中的对象掩码微调分段网络。在这里,我们在半监督设置中在线调用进程,因为在测试序列之前,模型需要在第一帧中使用掩码的指导更新。

然后,每个掩码都被扩展到两个分支的多个训练样本,以增加数据多样性(如第4.2节所述)。在数据增强之后,我们使用离线阶段引入的相同训练策略,固定学习率为1e-10。在此阶段,我们注意到流分支仍然为分段提供运动表示,但不更新参数。

4.2 Data Augmentation

Segmentation

我们使用DAVIS基准【29】的预定义训练集来训练分段分支。由于这个训练集相对较小,我们采用仿射变换(即,移位、旋转、翻转)为每帧生成一千个样本。由于流分支需要两个相邻帧作为输入,因此每个仿射变换都在整个序列中执行,以在训练期间保持帧间(时间)一致性(示例见图5)。

Optical Flow

离线训练步骤期间的流数据是按照分段描述的方法生成的。但是,当使用测试集视频的第一帧训练在线模型时,我们无法访问其下一帧。为了解决这个问题,我们提出了一种光流数据增强策略。首先,我们用分割中使用的转换方法来增强第一个帧。然后,基于每个图像及其对象掩码,我们通过稍微变形前景对象区域来模拟对象运动,以生成合成的“下一帧”。由于我们在此在线阶段只关注特定对象,因此由对象移动引起的缺失区域可以被视为遮挡,并保留为空(黑色)区域。我们发现这种综合策略对于训练是有效的,而不会损害网络属性(示例见图5)。

5 Experimental Results

5.1 Dataset and Evaluation Metrics

DAVIS基准【29】是最近发布的高质量视频对象分割数据集,由50个序列和3455个真实世界运动对象的注释帧组成。DAVIS中的视频也根据各种属性进行分类,如背景杂波(BC)、变形(DEF)、运动模糊(MB)、快速运动(FM)、低分辨率(LR)、遮挡(OCC)、视外(OV)、比例变化(SV)、外观变化(AC)、边缘模糊性(EA)、相机抖动(CS)、异构对象(HO)、有趣对象(IO)、动态背景(DB)、形状复杂度(SC),如图6所示。我们使用预定义的训练集来优化我们的框架及其验证集来评估分段质量。

对于光流,我们首先使用MPI Sintel数据集【6】,该数据集包含合成场景中的1041对图像,其中包含没有运动模糊和大气效果的图像,以及具有复杂环境变量的图像的最终版本。其次,我们使用了基蒂数据集【16】,它有389对真实世界驾驶场景的流图。最后,我们使用场景流数据集【26】,这是一个最近为流量估计建立的大规模合成数据集。考虑到现实主义,我们使用了两个子集,蒙卡和驾驶,其中蒙卡有24个视频序列的集合,有超过34000个光流注释,而驾驶有8个视频,有大约17000个注释。与Sin-tel类似,驾驶和蒙卡都提供了两个版本:清晰的图像清洁和更逼真的图像最终。

由于场景流数据集中没有指定确切的训练和测试集,因此我们将自己的集拆分以进行比较(训练和验证集不相交)。对于蒙卡,我们使用三个视频(吃× 2, f下风暴×2,龙树×2)作为验证集,并使用21个序列的其余部分进行训练。对于驾驶,选择7个视频进行训练,并使用具有15mm焦距、场景前进和快速属性的视频进行测试。请注意,蒙卡和驾驶中的每个视频都有左右两个视图,这导致蒙卡上的63400个培训和5720个验证对,以及驾驶上的32744个培训和2392个验证对。

5.2 Ablation Study on Segmentation

为了分析拟议框架中每个步骤的必要性和重要性,我们对DAVIS进行了广泛的消融研究,并在表1中总结了结果。我们通过将所提出的SegFlow与没有在线训练(-ol)、迭代训练(-it)、离线训练(-of)和流分支(-flo)的方法进行比较来验证我们的方法。具体设置如下:

  • ol:仅使用离线训练,而不使用第一帧中的监督信息,这被归类为非监督视频对象分割。
  • it:仅为每个分段和光流分支训练一次模型。
  • of:使用第一帧中的对象掩码及其增强直接在测试视频上训练模型。
  • flo:仅使用分段分支,而不使用流网络的特征传播。

image.png

表1显示,离线培训在产生更好的结果方面发挥了重要作用,提高了21%的Jmean。它证明了网络需要一个通用模型来在在线微调之前发现移动对象。结合的在线和迭代策略还将整体J均值提高了7.9%。与不使用流分支的模型相比,我们的联合模型不仅提高了Jmean,而且在时间上产生了平滑的结果,导致Tmean显著提高了5.6%。

我们在表1中评估了数据增强步骤的有效性。如果没有分段(-sda)和增强流数据(-fda)的数据增强,性能都会在J均值方面下降。此外,在不增加流量数据(-fda)的情况下,T平均值更差,这表明了第4.2节中描述的合成数据的重要性。

5.3 Segmentation Results

image.png
表2显示了DAVIS验证集的分段结果。我们通过考虑图像及其翻转图像的预测,并平均两个输出以获得最终结果,其中我们称为我们的2,来提高性能。在不增加太多计算成本的情况下,我们进一步提高了J均值1.3%。我们将所提出的SegFlow模型与最先进的方法进行了比较,包括无监督算法(FST[28]、CVOS [39]、KEY [22]、NLC [11]),和半监督方法(OVOS[7]、MSK [21]、OFL [41]、BVS [25])。

在无监督算法中,我们的SegFlow模型无论是否有流分支,都与其他方法相比表现良好,并有显著的改进(在J均值中超过10%)。对于半监督方法,我们的模型与OSVOS [7]和MSK [21]竞争,其中它们的方法需要额外的输入(即,OSVOS中的超级像素和MSK中的光流与CRF细化)以实现更高的性能,而我们的方法只需要图像作为输入。此外,我们还显示了与没有流分支的模型相比的一致改进,特别是在时间精度(T均值)方面,这表明从流网络学习的特征表示有助于分割。

图6显示了不同方法的基于属性的性能(Jmean)。我们的无监督方法(离线训练)在除动态背景(DB)外的所有属性上都表现良好。一个可能的原因是,由于背景的复杂性,从流分支生成的运动表示可能不准确。图7给出了一些分割的示例结果。该模型能够从流量估计中恢复对象的缺失区域,该区域显然是一个完整区域。补充材料中提供了每个序列的全面比较和更多结果。

5.4 Optical Flow Results

image.png

表3和表4显示了拟议SegFlow模型的平均终点误差,以及与其他最先进方法的比较,包括我们在流分支中使用的基线模型(FlowNetS)。为了验证我们的联合训练方案的有效性,我们使用飞行椅数据集【12】上的预训练FlowNetS作为基线,并使用FlowNetS和我们的SegFlow模型对目标数据集进行微调以进行比较。

我们注意到,【12】中使用的数据层是专门为FlowNetS设计的,因此我们不能直接将其应用于我们的模型。因此,我们使用各种训练数据报告性能,其中FlowNetS+ft表示【12】中报告的结果,FlowNetS+ft表示使用与SegFlow中使用的相同训练数据微调的模型。因此,我们表明,我们的SegFlow模型与FlowNetS+ft的结果一致地改善了端点误差,这验证了合并来自分段分支的信息的好处。在KitTI上,没有任何数据增强的SegFlow甚至优于使用广泛数据增强的FlowNetS+ft。然而,我们观察到,我们的模型略微过于适合Sintel上的数据,因为需要在比其他数据集小得多的数据集上进行数据扩展。

image.png
在表4中,我们还比较了蒙卡和驾驶的训练和验证集上的结果与场景流网【26】,并表明我们的方法对它的性能是有利的。图8显示了光流的一些视觉比较。直观地,分段提供了指导流网络估计与分段输出对齐的输出的信息(例如,分段内的流是平滑和完整的)。补充材料提供了更多的结果和分析。

5.5 Runtime Analysis

对于离线训练的模型,建议的SegFlow在具有12 GB内存的Titan X GPU上每帧0.3秒内同时预测两个输出(分段和光流)。当考虑到在线培训步骤时,我们的系统在DAVIS验证集上平均每帧运行7.9秒。与OFL(光流生成每帧30秒,优化每帧90秒)、MSK(每帧12秒)和OSVOS(最佳性能每帧10秒以上)等其他方法相比,我们的方法更快,可以输出光流的额外结果。

6 Concluding Remark

本文提出了一种端到端可训练网络SegFlow,用于视频目标分割和光流估计的联合优化。我们证明,有了这种联合结构,分割和光流都可以通过双向特征传播来改善。为了训练联合模型,我们通过开发迭代训练策略,放松了需要前景分割和光流地面真相的大型数据集的约束。我们通过广泛的消融研究验证了联合训练方案的有效性,并表明我们的方法在视频对象分割和光流任务上都表现良好。所提出的模型可以很容易地适应其他体系结构,并可用于联合训练其他共同相关任务。

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容, 举报邮箱:cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200