论文笔记:Fast Video Object Segmentation using the Global Context Module

这篇文章发表在ECCV2020上面,是基于STM的改进。简单回顾一下STM,这个算法模型综合利用了previous frames的信息,来帮助更好的预测分割mask,但存在的问题就是随着帧数的增加,由于需要把之前的帧信息存放到memory中,所以占用的内存以及计算成本会很高。虽然STM中给出了利用之前的某5帧的建议,但这样又不能对每一帧加以利用。

因此,本文提出的Global Context Module就是解决这一问题的,利用这一种固定尺寸的特征表示,不仅可以充分利用之前每一帧的信息,还能减少网络模型的空间和计算开销。

在这里插入图片描述
Encoder和Decoder与STM是一样的,但是对于Memoey和Query的key和value的处理是有区别的。STM是将Memory和Query的key先进行相似度计算,得到一个matching,随后将其与Memory的value相乘,再concat到Query的value上。而这篇文章处理思路与STM是有很大差别的,具体区别如下图:

在这里插入图片描述
本篇文章Memory的并不是看作 H ∗ W H*W HW个位置,每个位置是 C M C_{M} CM维度的vector;而是将其看作 C M C_{M} CM个 1维的特征图,进而可以把它当作若干个与value相关的权重矩阵,所以首先通过Memory的key和value计算当前帧的context matrix:
在这里插入图片描述

得到C以后,就可以进一步计算出全局的上下文特征:
在这里插入图片描述

在更新了global context feature以后,就可以进一步根据query计算出第t帧的distributed global features,这一步相当于把过去所有帧的一些region of interest和当前帧的query进行summarize。最后将D和query的value拼接起来,喂入decoder做mask的预测。

一些结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可见涨点不是太多,但是效率和内存的占用比STM高了非常多,因此这是一种非常不错的轻量级的算法模型。

猜你喜欢

转载自blog.csdn.net/jackzhang11/article/details/108671424