飞道的博客

从 Metric Learning 看 Few-Shot Semantic Segmentation

397人阅读  评论(0)

Few-Shot Segmentation 问题定义

  • 假设模型在 C t r a i n C_{train} 类上训练,我们的目标是 在测试时给定一些新类 C t e s t C_{test} 的有标签的图像,用这个 训练好的 的模型对其他新类的图像进行预测 (分割)。
  • 一般文章中把上述有标签的新类图像称为 Support Image,把其他待分割的新类图像成为 Query Image。

Note:一般而言,在 test 过程中,Few-Shot Segmentation 是不需要进行类似于 Fine-Tuning 的模型参数优化。

主流 Few-Shot Segmentation 框架

  1. Fine-Tuning based。最朴素直观的想法,也是被直接用在 Online Video Segmentation 中,但是其调参过程比较依赖于经验,而且对于分割这一结构化预测任务,其参数量庞大容易造成过拟合。
  2. Network Parameter Prediction。首先被运用在 One-Shot Segmentation 中的方法,通过 Condition Branch 对 Support Image 处理得到对应的新类的任务表示 Task Representation,然后用 Task Representation 拟合出 Segmentation Branch 中的参数,使其根据不同的 Support Image 动态更新。然后在 Segmentation Branch 中完成对 Query Image 的分割。具体内容详见 one-shot 语义分割算法解析
  3. Metric Learning Based。这类方法一般能够取得 SOTA 的效果,其思路也很简单 —— 通过一定的 Embedding ,计算 Support Image 和 Query Image 之间的某种意义上的距离。根据度量出来的距离,实现 Query Image 对应像素位置的特征与 Support Image 的比较,完成 One-Shot 或者是 Few-Shot 的任务。 这类方法也是本文主要想要讨论的。

Metric Learning-based Few Shot Segmentation 例子

1. Similarity Guided 框架

Guidance Branch

通过一个 Shared Feature Extractor (也就是上图中的 Stem 部分) 和 后续 3 个连续的 CONV 操作,完成对 Support Image 和 Query Image 的 Embedding 操作。因为我们专注于对于前景的特征,因此对 Support Image 的前景部分对应的 Embedded Feature 进行 Masked Average Pooling,期望得到对于 Support Image 中隐含的 Task (或者是 新类物体) 的特征表示 —— 可以理解成 Classification 中 Pooling 的作用。然后将 Pooling 之后的结果与 Query Image 中每个像素对应的特征进行匹配,这里是计算 CosineSimilarity 得到 Query Image 中每个像素特征 对于 Support Image 中前景特征的相似性。通俗来说,就是将 Query Image 中的每个像素点和 Support Image 进行一一匹配对照,从而完成对 Support Image 中隐含新类信息的挖掘。

Segmentation Branch

将 Guidance Branch 中的相似性度量,结合到对 Query Image 分割的 Segmentation Branch 中,这里采用的 Pixel-Wise Multiplication 的方式,对中间层的特征进行加权。然后对加权的特征进行类似于 Decode 操作完成分割任务。

2. Dense Comparison 框架


思路也是大同小异,通过一个 Shared Encoder 和 一层独立的 CONV 完成对 Query Image 和 Support Image 的 Embedding 过程。同样也是对 Support Image 进行 Masked Pooling,进而得到新类前景的特征表示。注意这里后面并没有采用计算CosinSimilarity的方式,而是直接将其和 Query Image 的特征 Concat 在一起,再过一系列卷积层。个人理解可能是希望这些卷积层能够学习到将这两个特征匹配的功能 —— 本质上也是计算某种意义上的 Distance 或者 Similarity。

总结

纵观所有的 Few-Shot Segmentation 的文章,其关键都是在于如何更有效地利用 Support Image 的信息来辅佐 Query Image 的分割。利用 Metric Learning 来进行特征匹配 (或者是计算某种距离,如 CosineSimilarity) 提供了一种直观地一一对照的方式,来挖掘 Support Image 和 Query Image 之间的联系,从而提升对 Query Image 的分割效果。


转载:https://blog.csdn.net/JYZhang_CVML/article/details/105543849
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场