论文阅读KMN:Kernelized Memory Network for Video Object Segmentation

这篇论文发表在ECCV2020上面,是对于STM的改进。STM存在一个缺点,就是在做query和memory的key之间的matching时,将所有的情况都建立了联系,这种处理是一种non-local的方式,而VOS问题大多数情况下是一种local的情况。所以作者提出了一种Kernelized Memory Network(KMN)来解决这一问题;此外作者还采用了一种Hide-and-Seek策略(17年ICCV一篇若监督的论文),在预训练时人为地对图像的某些区域进行遮挡,以提升物体遮挡识别的鲁棒性。

在这里插入图片描述
上图中上半部分是传统的STM,他只是用query去匹配memory,这种non-local的匹配方式很可能造成query中多个目标匹配memory中同一个目标的问题。由于帧之间的幅度很小,所以显然我们要追踪的目标在上一帧mask附近,而不会离他太远。因此VOS是一个local的问题。在作者加入了一个Gaussian Kernal的约束后,就变成了一种适用于VOS的local的solution。

在这里插入图片描述
如上图,整个流程结构与STM是完全一样的,只有紫色的Kernalized Memory Read部分有所改动。

首先是STM中的流程,先计算query与memory的correspandance map:
在这里插入图片描述
对于STM中的memory read操作,是利用上述的matching map和memory的value做内积,公式如下:
在这里插入图片描述
可见STM只采用了query-to-memory的方式,即利用query中的每个点的特征去试图匹配memory中的目标对象。这样的缺点图一可见,新出现的物体也会去匹配原先的object;并且STM这种non-local的解决方案也存在弊端。

所以KMN增加了一种memory-to-query的方式:

在这里插入图片描述
对于memory中的每个grid,去寻找与他最匹配的query中的位置。并且进一步利用它生成卷积核kernal:
在这里插入图片描述
该kernal的维度为 T H W H W THWHW THWHW,相当于有 T W H TWH TWH个p点,每个p点对应一个2d的kernal,大小为 W H WH WH。所以在kernal的约束下,最终memory read的计算结果如下:
在这里插入图片描述
整个memory read的过程如下图:

在这里插入图片描述
为了解决occlusion的问题,以及实际标注也可能存在不精确的情况,在预训练阶段采用了一种Hide-and-Seek的策略(只是采用了矩形的遮挡物):
在这里插入图片描述
下面是采用了Hide-and-Seek的结果图:

在这里插入图片描述
一些实验结果:

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

猜你喜欢

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