语义分割算法性能比较_CVPR2020 | MA-Net: 基于记忆存储的交互式视频分割

论文题目:Memory Aggregation Networks for Efficient Interactive Video Object Segmentation

论文地址:https://openaccess.thecvf.com/content_CVPR_2020/papers/Miao_Memory_Aggregation_Networks_for_Efficient_Interactive_Video_Object_Segmentation_CVPR_2020_paper.pdf

论文作者:Jiaxu Miao, Yunchao Wei, Yi Yang

代码仓库:lightas/CVPR2020_MANet

交互式视频目标分割

视频目标分割(VOS)是计算机视觉领域的一个基础任务,有很多重要的应用场景,如视频编辑、场景理解及自动驾驶等。常见的视频目标分割任务可分为两类:半监督视频分割和无监督视频分割。半监督视频分割需要提供视频第一帧的目标分割,而完整的目标分割获取是很困难的,需要耗费大量人力;无监督视频分割没有提供需要分割的目标信息,在多目标分割任务中会存在困难。 因此, 交互式视频分割(interactive VOS)应运而生。交互式视频目标分割只需要用户在视频的某一帧中给目标物体简单的标注(比如在目标物体上画几条简单的线),就能够通过算法获得整个视频中该目标物体的分割结果。交互式视频分割另一个重要的优势是,用户可以通过多次和视频交互而不断提升视频分割质量,直到用户对分割质量满意。

a62757eefbd74060da75131ea9479b3e.png
交互式视频目标分割。第一轮中用户在第58帧给出简单标注,算法会给出整个视频的分割结果。用户可以多次和视频中目标物体交互来提升分割结果。

MA-Net

由于交互式视频分割需要用户多次和视频交互,因此,需要兼顾算法的时效性和准确性。交互式视频分割主要分为两部分,一部分是交互帧的分割,即 使用用户提供的简单标注(如几条简单的线)来生成交互帧的分割结果 (交互 Interaction);另一部分是其他帧的分割,即 将交互帧生成的分割结果传播给其他帧 (传播 Propagation)。之前的多数算法使用两个神经网络模型分别处理交互和传播,MA-Net 使用一个统一的框架进行交互和传播来生成分割结果,保证了算法的时效性。 另外, MA-Net 通过记忆存储的方式,将用户多轮交互的信息存储并更新,提升了视频分割的准确性。

1e05b918e23f0826f48da6398cba1f52.png

如上图所示,本文的方法由三部分组成。首先是一个Encoder对一个视频中的每一帧提取pixel-embeddings,即每一帧的每个pixel都有一个embedding vector。之后进入两个分支。对于交互帧,把交互帧的pixel-embeddings,用户标注(简单的线)和上一轮中这一帧的分割结果作为输入,来生成交互帧的分割结果,这个分支就是交互分支(Interaction Branch)。对于其他帧,我们需要把交互帧的信息和上一帧的信息传递给当前帧。对于交互帧传递来的信息,我们使用交互帧pixel-embeddings和当前帧pixel-embeddings计算一个全局匹配图(global matching map);对于上一帧传递来的信息,我们使用上一帧和当前帧的pixel-embeddings 计算一个局部匹配图(local matching map)。将 global map 和 local map 写入两个记忆存储模块来累积多轮交互的信息,将信息整合后读取。把当前帧的pixel-embeddings,读取的两个匹配图和上一帧的分割结果作为输入,生成当前帧的分割结果。 这个分支称为传播分支(Propagation Branch)。后面将重点介绍匹配图的计算和记忆存储单元的机制。

值得注意的是,对视频中每一帧的pixel-embeddings,只在用户第一次交互时计算,而后面的交互过程中直接使用提取好的pixel-embeddings,两个交互分支只使用很浅的网络(4 层卷积)。因此本文的方法保障了交互式视频分割的时效性。

匹配图计算和记忆存储机制

  • 匹配图计算

ed31291c71529f075324aa39093c7ec8.png

如何将交互帧的信息和上一帧的信息传递给当前帧呢?本文采用了计算匹配图的方式。如上图左所示,对于当前帧的每一个pixel,都有一个pixel embedding vector,使用这个embedding vector 和交互帧中有标注的pixels(如落于用户画的线上的pixels)计算一个距离并取最小值。如果当前的pixel和交互帧标注的pixel距离接近(接近0),则这个pixel更可能是目标物体;如果和标注的pixel 距离很远(接近1),则这个pixel更可能是背景类。同样的方式可以计算上一帧和当前帧的匹配图。不同的是,上一帧和当前帧很接近,因此对于当前帧的一个pixel,只需要和(上一帧中)附近的pixels计算距离,如上图右所示。和交互帧计算的匹配图称为全局匹配图(global map),和上一帧计算的匹配图称为局部匹配图(local map)。

  • 记忆存储机制

对于交互式视频分割,用户可能会多次的与视频分割结果交互。如何将这些信息更好的利用起来,是交互式视频分割提升准确率的关键。

ae2edbd2644e845d7ffd1096233c3f02.png

如上图(a)所示,对每一次的用户交互,当前帧都会和交互帧计算一个global map。我们创建一个和global map memory,并保留每个pixel的最小值来更新global map memory。

b15710d2321e0a5765f1f64cc27d4280.png

由于global map中的值越接近0,表示这个pixel越可能属于目标物体。在记忆存储单元中累积每个pixel的最小值就能更准确地表示目标物体。

如上图(b)所示,对于local map memory,我们直接存储每一次交互的local map 结果而没有累积结果。这是因为local map是传递前一帧的分割信息,而前一帧分割信息是算法预测的而非用户提供的准确信息,因此直接累积local map会倒是错误的累积。从实践中发现,距离交互帧越远,local map 通常越不准确。因此我们使用多次交互中距离当前帧最近交互帧计算的local map 作为读取的local map。由于随着交互次数的增加,分割结果的准确性增加,我们还采用了遗忘机制,忽略早期交互产生的local map,而在最近 R 次交互中的local map中选取。

实验结果

我们使用了DAVIS2018比赛中交互式分割的任务来测试算法性能。数据集为DAVIS2017。

a598e3d6f660cffd62474d55f05044aa.png

从表格中可以看出,无论从准确性还是时效性角度,我们的算法均达到了当时state-of-the-art的性能。另外,我们的算法没有使用光流(+OF),CRF(+CRF)以及额外的训练数据YoutubeVOS(+YV)。

85eaf0a8730db9dcabfd1f44d5e6c143.png

35cf5d0e36c095716420ecce34552d8c.png

上图是关于我们提出的记忆存储模块的ablation study。可以看出,使用两个记忆存储模块能够大幅提升算法的性能。

感谢您的阅读,欢迎大家关注我们实验室RelER的后续工作!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值