One-Shot Instance Segmentation 论文笔记

One-Shot Instance Segmentation 论文笔记

Abstract

One shot instance segmentation的任务是这样描述的: 即给一个之前没有见过的新的类别的物体(称为reference), 然后要在一些query images中分割出这个类别的所有物体.这个paper采用的方法是SiameseMaskRCNN.它是基于MaskRCNN被改进的,引入了siamese的网络结构同时对referecne和query image进行提feature.

Introduction

人是比较擅长从少量的样本中学习到新的东西(few-shot-learning)而且可以在query image中画出其轮廓.但是对于机器来说,这个任务当前是比较难的.但是在实际中有很多的任务中是没有那么多的数据来供训练的,比如医疗影像,还有一些特殊自然场景的图片.

在few-shot learning领域虽然有一些进展,但是目前还是处于图像分类的阶段,对于检测等更加复杂性的任务,之前的方法还比较受限. 这个paper中把few-shot learning和instance segmentation融合成一个任务中去,即在复杂场景中检测和分割任意的物体,即便是某些类别的数据只给了很少.大致是这样的,给一个query image和一个reference的instance, 然后在query image中找出所有的和这个reference同类的物体并给出其轮廓.

Background

  • few-shot learning

其目的是得到好的模型使其能够从少量的有标注的样本中泛化到新的类别. 这个能力通常会用一些episodes来进行评估, 每个episode中包含一些新的类别,这个叫作support set, 还有一个小的test set是相同类别的(query set). 当support set 中有n个类别,每个类别有k个样本的时候,这个问题通常叫作n-way, k-shot的学习问题,那么当仅有一个样本的时候叫作one-shot-learning.

目前主要有两种方法来解决这个任务:

  1. 学习一个metric

根据这个metric来对新的类别的examples进行分类,这个叫作metric-learning,有点类似于人脸识别.

  1. 学习到 learning strategy,可以应用到每个episode中去,相当于是每次针对一个新的类别都用这个“learning strategy”去学习,这个叫作meta-learning, 或者理解成learn to learn.

那么为了训练这些模型,一个数集中的类别通常会被split成训练的类别用于去训练这个模型和测试的类别用于evaluation的过程.因此few-shot的Model在训练和测试的时候将使用不同的类别,来强迫模型泛化的新的类别上去.

feature matching

我觉得这是这个paper的精华之处.

avator

过程如下:

  1. 对reference image得到的feature进行average pooling得到一个embedding vector.

  2. 计算上面的embedding vector 和test image之间的差值,并取绝对值,相当于一个feature map都减去一个常数

  3. 将得到的绝对值的feature map和 test image 的feature map进行一个concat,

  4. 将concat 后的feature 经过1-1的卷积进行降低通道.

整个过程似乎可以理解成将|r-t|/t 送入网络之后就学到了差异性.

thoughts

这个paper里面采用的作差求绝对值后concat的办法之前在其他的方法里面没有见到过.

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦