论文笔记——FEELVOS:Fast End-to-End Embedding Learning for Video Object Segmentation
The Efficient End-to-End Framework for Enhancing the Performance of Video Object Segmentation Tasks
该论文的研究成果发表于2019年的CVPR会议中,并详细探讨了FEELVOS方法在视频对象分割中的应用。
该论文的研究成果发表于2019年的CVPR会议中,并详细探讨了FEELVOS方法在视频对象分割中的应用。
这篇论文于CVPR2019发表,并专注于半监督目标分割(VOS)任务的研究与探讨。其核心机制是基于弱监督的目标分割技术,在视频序列中利用初始帧的目标掩码信息来推导并预测后续帧中目标实例对应的掩码位置关系。具体而言,在该框架中,系统通过分析初始帧中的目标掩码信息,在后续帧中定位并生成目标实例对应的掩码。值得注意的是,在该研究之前的一些比较经典的解决方案通常会采用以下策略:在模型训练阶段就对初始帧进行特定优化以适应后续推理需求;然而这种策略明显带来了较高的计算开销
本文所提出的FEELVOS系统无需对初始帧进行微调处理即可实现快速收敛能力;其架构简洁,在仅采用单一的深度学习架构的前提下(如18年Davis挑战赛冠军模型PReMVOS采用了四个网络),显得较为简洁;针对视频中的多个实例对象,该系统可实现全连接学习框架下的统一训练;经过评估分析发现该模型在性能指标方面表现优异,并且具有良好的性能水平表现出色。

上图为FEELVOS的整体架构示意图,在模型构建过程中首先采用了预训练的deeplabv3模型(并移除了其最后一层输出层)来提取特征图;随后引入了一个嵌入层将其映射到嵌入空间中的向量表示;接着基于此嵌入向量计算出局部匹配距离图与全局匹配距离图两种类型的距离矩阵:其中前者基于当前帧与前一时间步之间的嵌入关系进行计算后者则基于当前帧与初始状态之间的关系展开分析;最后将这些输入数据——包括未经过嵌入处理的具体特征图、局部匹配距离图以及全局匹配距离图、并结合前一时间步的目标预测结果——整合至动态分割头中进行进一步处理
值得注意的是,在处理初始帧时必须对每个实例(instance)执行上述预测任务。该网络架构实现了多目标分割问题的端到端学习框架,并在嵌入空间中未显式施加损失函数作为约束条件;相反地,则采用了其内部采用了指导机制(internal guidance)的方式。
下面分别介绍每一部分的细节:
Semantic Embedding
对于去掉了输出层后的deeplabv3模型所提取出来的特征图(feature map),我们将其引入到一个深度分离卷积(embedding layer)中进行处理。具体而言,在特征图上的每一个点上都会提取出其对应的嵌入向量(embedding vector)。每个特征图上的点都对应一个嵌入向量,这个向量反映了该点所属的类别信息.当两个像素属于同一类别时,它们的嵌入向量之间的距离会相对较小;若不属于同一类别,则距离会较大.此距离计算方式如下所示:

该距离值位于0到1之间。
具体而言,在当前框架中选取特征图中的p值作为代表点(即当前框架中的像素点),而在上一个框架中选取对应的q值作为参考点(包括初始框架或上一个框架)。
基于提取了嵌入向量之间的距离后,
从而能够计算出两个对应的distance maps。
特别地,
当q对应于初始框架中的某个像素点时,
即可完成全局匹配;
而当q对应于上一个框架时,
则可完成局部分配。
Global Matching
设P_t代表第t帧图像中的像素集合(取样间隔为4),其中子集关系式 P_{t,o} \subseteq P_t 用于标识第t帧中的特定像素区域。令p \in P_t 代表该区域内的某个特定像素位置。其中函数 G_{t,o}(p) 定义为:对于每个p \in P_t pixels,在该位置处与全局匹配距离相关联的度量值。

为了得到完整的global matching distance map,在每个当前帧的像素点p处,请利用第一帧类别o区域对应的嵌入表示来计算该点与该区域之间的距离(如公式(1)所示),并最终选取所有这些距离中的最小值。
Local Previous Frame Matching
其实这个计算过程和global的差不多,其计算公式如下:

值得注意的是,在这一部分中存在一个分支逻辑:当在t-1帧中可能不存在该实例时,则将其值设定为最大值1。值得注意的是,在这一部分中存在一个分支逻辑:当在t-1帧中可能不存在该实例时,则将其值设定为最大值1。由于物体在相邻帧之间的运动幅度通常较小,在全局范围内进行计算会导致较大的计算开销。因此我们采用了k邻域方法:即仅对当前像素及其周围的k邻域范围内的嵌入向量进行距离计算,并通过取这些距离中的最小值来确定最终结果。
需要注意的是,在DAVIS2017数据集中存在多目标情况。在此情形下,请将每个目标依次经过该网络,并注意以上提到的两个distance map仅用于当前target的匹配。若遇到多个target,则需依据所述公式分别计算每个target对应的两个distance map。
Dynamic Segmentation Head

该网络的输入由四个组成部分构成:其中一个是非嵌入类型的特征图(Feature Map),另外两个是距离图(Distance Maps),还有一个是前一个帧(Previous Frame)。对于每个目标而言,在其输出中生成一个一维特征图(Feature Map),其中每一点代表了对该类物体存在的概率度量。每个实例均被预测为一个一维映射(Mapping)。堆叠后经过Softmax函数进行归一化处理用于计算损失项
Training procedure
从选定的小批量视频中随机选择,在每个视频中抽取三帧:其中第一帧被指定为参考(reference)框架;随后选取两个连续的第二和第三帧分别作为上一(previous)和当前(current)框架。在计算损失函数时,默认仅考虑当前框架对应的损失值(loss)。值得注意的是,在评估局部匹配性能时,我们采用上一框架的真实图像(ground truth)作为基准;此外,在目标检测阶段,通过逐像素的方式标记目标区域,并将目标区域对应的所有像素置一(标记为1),其余背景区域则置零(标记为0)。
Inference
在每一帧中仅需执行一次前向传播操作即可完成处理流程。首先输入视频序列及其第一帧的真实标签ground truth并生成对应的first_frame_embedding随后计算当前帧图像对应的feature map与其上一时刻的第一_frame_embedding之间的相似度以实现局部匹配这一过程同时结合初始first_frame_embedding信息实现全局匹配这一步骤。针对每个检测到的目标物体分析其历史预测结果并综合考虑包含四个关键组件的信息其中包括历史预测结果以及两个distance maps共计三个维度信息其中该feature_map的空间维度与通道数量均为256维并最终进入动态分割分支模块中完成对目标区域细节特征的学习整个过程通过逐层堆叠各阶段输出并结合空间级联机制最终完成精确分割任务
实现细节
backbone:DeepLabv3+,基于Xception-65,得到的特征图stride为4;
嵌入层:经过深度可分离卷积处理后特征图上应用了3×3独立通道的卷积操作;随后使用1×1卷积进一步增强特征表达能力,并将每个像素点映射至一个100维的空间中。
segmentation branch:通过深度可分式卷积模块处理输入图像特征,并采用大小为7×7的较大尺寸卷滤子(kernel),输出通道数设为256。随后通过一个大小为1×1的压缩滤子生成单维预测结果层(即logits)。
在global matching的计算过程中,若对所有符合条件的像素进行运算,则会产生巨大的开销。为此作者为每个目标,在初始帧内最多选取1024个样本点,并以此来降低计算复杂度。
local matching中k临近区域的k=15.
实验部分




消融实验:

