论文笔记——RANet: Ranking Attention Network for Fast Video Object Segmentation

论文地址:https://openaccess.thecvf.com/content_ICCV_2019/papers/Wang_RANet_Ranking_Attention_Network_for_Fast_Video_Object_Segmentation_ICCV_2019_paper.pdf

这篇文章是ICCV19上一篇关于视频目标分割VOS的论文,工作相当nice。该论文通过提出了一种Ranking Attention Network,融合了matching和propagation两种算法,在速度和准确率上都达到了不错的效果。

在半监督VOS方面,之前有三种类型的算法:

  1. Online learning:基于新视频第一帧进行fine tune,以“记住”要进行分割的目标,缺点是时间长,无法达到real time,代表作是OSVOS,OnAVOS等;
  2. Matching:学习不同帧之间像素级feature的相似性,利用相似度图来决定不同帧间pixel的关联,主要是用Siamese网络架构,提取出第一帧和当前帧的feature,代表模型为FEELVOS,SiamMASK等;
  3. Propagation:在预测当前帧mask时,加入了之前帧的信息,可更好的适应物体appearance的一些变化,代表作为MaskTrack,OSMN等。

在这里插入图片描述

matching方法始终与第一帧特征做参照,所以其对于occluded有较好的鲁棒性,而Propagation方法体现出一种时序信息,可更好的适应物体外形的变化。因此将两者结合可能会达到更好的效果,并且没有利用online learning,所以算法的效率也是比较高的。如上图所示,matching中的Template Feature表示第一帧通过Siamese网络提取出的feature,计算其和当前帧feature的Distance Matrix;而b中的Propagation是直接将t-1帧的mask拼接到输入中;而图c的RANet融合了a和b两种方法。

在这里插入图片描述
RANet的网络总览如上图所示:

(1)通过一个Siamese网络(Encoder)提取第一帧和当前帧的feature;

(2)将feature之间进行correlation,做像素点级的特征匹配;并通过RAM模块对特征重要性进行排序,以固定decoder的输入chaneel数;

(3)最后通过decoder,将时序信息与之前得到的视觉特征进行融合,做最终的分割。

上述三个步骤中,最核心的是第二个步骤:即correlation以及Ranking Attention模块。其他两部分都大同小异。
在这里插入图片描述

首先看一下像素级Correlation部分:他是将第一帧中每个像素点的特征视作一个模板,用来和当前帧的特征做correlation。这样,对于第一帧中的每个像素点的特征来说,都能得到一张与当前帧特征的similarity map。对应论文中的公式(1):
在这里插入图片描述

倘若第一帧中有N1个前景像素和N0个背景像素,那么前景similarity map和背景similarity map的分别为N1和N0。但是问题就出在这里,不同视频序列第一帧的N1和N0都不尽相同,如果直接将dynamic的维度送入decoder,显然不能符合标准卷积需要固定输入通道的要求。那么我们可能会想,可否将前景和背景的similarity map都压缩成一维特征图,答案是不理想的,因为这样会丧失大量的信息。所以,本文的核心——Ranking Attention Module应运而生,通过一种较为特殊的Attension机制,以解决通道数不一致的问题。

在这里插入图片描述
由本文第二张图可知,RAM模块有两个,一个处理前景特征,一个处理背景特征。这里以处理前景的RAM为例。首先将similarity的时间维度和空间维度做交换,再和前景mask做点积,来抑制背景特征(没看到通道交换了还如何对应mask来抑制背景特征,有理解的大佬麻烦解答下)。

随后有两个分支,一个分支通过逐通道的Global max-pooling,得到一张维度为1的feature,另一个通道则是通过一个简单的两层CNN,提取出一个一维的feature。然后将这两个一维feature加在一起再做reashape,就是衡量每一张similarity map的权重:
在这里插入图片描述

为什么需要给每张相似图设定权重呢?我认为是有些像素在第一帧中可能是positive,但是随着时间的推移就消失或者遮挡了,所以这张相似图就不再重要了,其权值应该较小;而相似度还很大的特征图的信息仍然重要,所以权重更高应当保留。因此,在有了权重以后,就可以根据权重对similarity map的重要性进行排序了:
在这里插入图片描述

前景和背景的similarity map各取256个,如果不够256就用0填充至256维,这样就可以保留大部分的有用信息,且得到的通道数是一个固定值。最后在merge阶段,将前景和背景各自的256维特征以及前一帧的Mask拼接起来(体现propagation),送入最后的decoder进行最终的分割。

由于DAVIS2017中有多目标视频分割,因此对于多目标,RANet共享了encoder提取的特征,随后对每个目标分别用decoder进行分割,最后整合在一起。

实验结果

在这里插入图片描述
在这里插入图片描述

本文最核心的是RAM模块,这是一种全新的注意力机制。以往的Attention都是动态调整特征权重来实现选择注意,而RANet的Attention是调整特征图的次序来实现Attention,并没有改变feature的值。作者最后说特征的顺序并没有编码任何信息,因此Ranking Attention并没有丢失语义信息,丢失的只是第一帧的空间信息。而由于视频中的物体都是动态的,保留第一帧信息容易overfitting,所以这也算一个利好。

比较遗憾的就是还没有公布训练代码。

参考:https://zhuanlan.zhihu.com/p/79725498?utm_source=qq

猜你喜欢

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