ECCV 2020 | 腾讯PCG ARC实验室、香港大学联合提出全局上下文模块,用于实时视频物体分割

在今年的计算机视觉顶级会议ECCV 2020上,来自腾讯科技PCG ARC实验室和香港大学的研究者共同提出了全新的全局上下文(global context,GC)模块。这一模块可以高效地在任意长的视频序列上传递信息,并实现了对视频长度,对空间分辨率的复杂度。研究者将改模块应用于半监督视频物体分割(semi-supervised video object segmentation,semi-supervised VOS)任务中,实现了首个精度与最优的非实时模型相近的实时半监督VOS模型。

论文地址:https://arxiv.org/abs/2001.11243

任务简介

半监督视频物体分割(semi-supervised video object segmentation,semi-supervised VOS)是一个相对较新的计算机视觉任务。这一任务与经典的视频物体跟踪(video object tracking,VOT)任务相近。给定一个视频序列,以及第一帧上一个物体的精细分割结果,半监督VOS的任务是将该分割结果推广到剩余所有帧上。通常,半监督VOS使用IoU(J值)和边界准确度(F值)的算数平均值作为评测标准,记作J&F均值(J&F means)。

解决这一任务的算法主要面对的有三大难题:

第一,许多物体的形象会在一段视频序列中发生变化。比如,一个动物可能会从面对镜头转为背对镜头,一个跳舞的人的身体姿态可能会发生比较大的变化,一些物体可能会被另一些物体等等。这就要求一个成功的半监督VOS算法能够适应物体在视频期间的形象变化。

第二,模型在整个视频序列上出现的错误可能会发生积累。对于一些依赖视频时序连续性的方法,如果模型在中间某一帧产生了一些错误,那么这些错误很可能会被下一帧继承,并且在此基础上进一步产生错误。比如,如果算法在某一帧上由于遮挡丢失了物体的一些部分,那么这些部分很有可能会在之后的所有帧上持续地丢失。另外,需要跟踪的物体和一个相似的物体在某一帧上发生了近距离接触并且导致算法错误地跟踪到另一物体,那么之后的跟踪很有可能会继续跟踪这一错误物体,而不是原本的物体。这就要求半监督VOS的模型拥有从错误中恢复的能力。

第三,由于需要对视频每一帧的每一个像素进行预测,精度较高的半监督VOS模型往往有很长的运行时间。但许多实际应用则要求模型能够实时运行,甚至在移动设备上实时运行。因此,如何能够使用比较受限的资源实现高精度的半监督VOS,成为了一个重要的挑战。

前序工作

近年来,随着深度学习在计算机视觉领域的快速发展,半监督VOS领域的主流方法也都是基于深度学习的。基于深度学习的半监督VOS模型主要有可以分为两类,在线学习模型和离线学习模型。

在线学习模型将半监督VOS视为一个元学习任务。这类方法首先使用大量数据训练一个元分割模型。在测试时,对于每一段测试视频,这类方法会对第一帧进行大量的数据增强,用于微调(finetune)一个专门针对该视频中的标注物体的分割器。完成微调训练之后,再将这一专用的分割器应用于剩余的帧上,产生预测结果。在线学习方法通常能够获得比较高的精度。然而,由于需要针对每个预测样本进行单独的训练,这类方法的耗时通常非常高。

离线学习模型可以进一步地分为三个子类:模板匹配(template matching)方法、掩码传播(mask propagation)方法,和混合型方法。

模板匹配方法使用第一帧上的物体作为“模板”,并在之后的每一帧上尝试找出与之匹配的像素。这类方法的问题在于难以适应物体的形象变化,因为对于一个比较长的视频,往往在一段时间之后,物体的形象和第一帧相比已经发生了比较大的变化,只使用第一帧已经难以获得准确的匹配。

为了解决这一问题,掩码传播方法则使用紧邻的上一帧作为模板。这种做法解决了物体形象变化的问题,但也带来了新的问题。由于除第一帧外,其余帧都没有标注结果,因此模型只能使用自身的预测作为模板。这就导致了之前所说的错误累积问题。在视频较长的情况下,经过许多帧的累计,分割错误往往会达到十分明显的程度,完全失去可用性。

为了结合两种方法的有点,混合型方法应运而生。模板匹配和掩码传播的结合,往往能够在适应形象变化和防止错误累积两方面都取得不错的效果。而这类方法中的“佼佼者”,就是下一节将要介绍的时空记忆(space-time memory,STM)模块这一方法。

时空记忆(space-time memory,STM)模块

时空记忆(space-time memory,STM)模块是之前最优的半监督VOS方法,也是本文的全局上下文(global context,GC)模块改进的基础。因此,本节将详细介绍该方法。

STM模块的主要思想在于,与其考虑究竟是使用第一帧、上一帧、抑或是中间的某一帧作为模板,不如我们“全都要”,让每一帧都能够对当前帧的分割做出贡献。具体实现上,STM网络使用一个记忆编码器(memory encoder,通常为ResNet)在过去的每一帧上编码一个键值(key)特征和一个内容(value)特征,并在当前帧上使用另一个查询编码器(query encoder)同样编码一对键值(key)和内容(value)特征。之后,使用注意力机制,用当前帧的键值(key)和过往帧的键值(key)、内容(value)产生一个记忆读取结果(memory reading),来代表过去所有帧对当前帧有指导意义的特征。这一记忆读取结果(memory reading)将会和代表当前帧特征的内容(value)值拼接起来,输入解码器获得分割结果。

STM模块的主要问题在于,由于每一帧都需要产生一对键值(key)、内容(value)特征,其显存及计算复杂度均为。随着视频长度的增加,或者分辨率的提升,其资源消耗很快提升到难以接受的水平。因此,在实际应用中,我们不得不将只对少部分帧使用这一方法,而将大部分帧的记忆丢弃掉。而这和使每一帧都对当前帧的分割做出贡献以解决较长视频上错误累积和形象变化的初衷背道而驰。因此,在设计全局上下文(global context,GC)模块时,我们希望找到一种方法,从本质上解决这一问题。

全局上下文(global context,GC)模块

全局上下文(global context,GC)模块最重要的观察在于,STM模块,在忽略归一化(normalization)的情况下,可以被写成如下的矩阵方程:

如果我们对这种想法进行实际应用,就可以得到全局上下文(global context,GC)模块。

在GC模块中,相比STM模块,我们在得到每一帧的键值(key)、内容(value)特征之后,进一步地通过一个名为全局总结(global summarization)的步骤,生成了帧上下文(frame context)特征。由对之前方程的分析可知,这一特征是对某一帧的全局描述。进一步,GC模块将过去所有帧的帧上下文(frame context)加和,得到全局上下文(global context),作为之前所有帧总的全局描述。需要注意的是,之前两个方程的等价性,保证了这里简单相加的做法并没有损失任何信息。理解这一点的另一个角度是,由于STM模块相似度矩阵的低秩性,GC模块所作的分解是无损的。

出于归一化(normalization)的需要,GC模块在生成全局上下文(global context)的时候,会除以当前的总帧数。另外,记忆键值(memory key)和查询键值(query key)会分别经过相应的归一化(normalization)。对于归一化(normalization)的具体处理,读者可以参考我们的论文。

上表详细地总结了GC和STM模块的复杂度对比。可以看到,从计算量和显存消耗上,GC模块都有着巨大的优势。

实验结果

为了验证GC模块的有效性,本文选取了半监督VOS领域中最常用的DAVIS 2016、DAVIS 2017、Youtube-VOS三个数据集进行验证。DAVIS 2016是半监督VOS领域的经典数据集,标注质量很高,是大部分工作进行比较的数据集。DAVIS 2017相比2016增加了多物体测试,即每段视频可能有不止一个需要跟踪和分割的物体。YouTube-VOS是谷歌近期提出的一个大规模半监督VOS数据集,同样是一个多物体数据集。

对于我们的模型,我们首先使用MSRA10K、ESCSSD、HKU-IS三个图片数据集,依照STM的方式合成伪视频进行预训练。之后,我们再在大规模的YouTube-VOS上进行训练。最后,对于DAVIS数据集上的模型,我们在DAVIS 2016上进行了微调(finetune)。

上图展示了GC在DAVIS 2016上的效果。可以看到,GC模型明显地处在图示的右上角,即GC模型同时达到了实时的处理速度和当前最近的精度。唯一快于GC的模型是SiamMask,但是精度有比较明显的差距。而所有精度高于GC的模型都是在线学习模型,速度非常慢,并且精度只有微弱的优势。

上表展示的是DAVIS 2017的实验结果。可以看到,GC仍然是离线模型中效果最好的之一。

本段上方的表格展示的则是YouTube-VOS上的结果。除STM外,GC模型的效果比其他的在线或离线模型都要好。非常重要的是,经过我们仔细的检查,发现STM模型的高精度主要来源于他们使用的非标准测试方法,而不是模型本身的效果。具体从下表中可以看到,当使用相同的标准测试时,两个模型的性能就基本一致了。

未来展望

我们认为,全局上下文(global context,GC)模块是一个非常有前景的视频上下文建模方法。它的设计并不依赖任何半监督VOS任务的特性,因此对于任何需要时序上下文(temporal context)或者时序对齐(temporal alignment)的视频任务,都是非常有价值的。

具体来说,在半监督VOS任务上,GC模块低廉的资源消耗可以允许我们尝试在不同分辨率尺度上进行金字塔式(pyramid)的时序上下文建模,而并不局限于低分辨率的最后一层。除此之外,我们还可以尝试完全序列到序列(sequence-to-sequence)的VOS新范式。

在半监督VOS任务以外,我们可以将GC扩展到视频动作识别(action recognition)、视频注解(video captioning)等依赖上下文或时序对齐的任务上。如果我们将GC模块看作一个通用的注意力模块,我们还可以将其视为非局部(non-local)模块的高效替代,在各个非局部(non-local)模块的应用场景中进行应用。

理论ECCV 2020
1
暂无评论
暂无评论~