用于图像分割的单样本学习(BMVC2017)

本文算是小样本学习的经典之作,虽然以现在的角度来看比较粗糙,但仍然值得学习!

本文的方法说白了就是利用高维参数来进行比较(而不是像现今的大多数方法是利用特征匹配的思想),因此依赖于权重哈希来防止过拟合。本文的方法现在基本淘汰,但它无疑开创了小样本分割的先河。

论文地址开源代码

概述

本文从few shot学习中得到启发,提出了一种新的双分支的一次性语义图像分割方法。第一个分支将标记的图像作为输入,并生成参数向量作为输出。第二个分支接受这些参数和一个新图像作为输入,并为新类生成图像的分割掩码作为输出。

小样本图像增强 python_计算机视觉


本文贡献:

1)提出了一种新的单样本分割技术,该技术在快速分割的同时优于基线;2)该技术可以在不为新类添加弱标签的情况下做到这一点;3)即使只有少数类具有较强的标注,元学习也能有效地进行;4)在PASCAL上为具有挑战性的k-shot语义分割任务建立了基准。

问题设置

值得注意的是,本论文提出的OSLSM的问题设置在后面的很多小样本分割任务中都被沿用,所以这里给出完整设置。

支持集(support set)设为小样本图像增强 python_深度学习_02,指的是小样本图像增强 python_深度学习_03个图像----掩码对( image-binary mask pairs)的一个小集合(少量样本)。其中小样本图像增强 python_小样本图像增强 python_04指的是图像小样本图像增强 python_深度学习_05的分割注释,小样本图像增强 python_小样本图像增强 python_06指的是第小样本图像增强 python_计算机视觉_07个图像对语义类小样本图像增强 python_小样本图像增强 python_08的掩码。目的是学习一个模型小样本图像增强 python_机器学习_09,当给定一个支持集小样本图像增强 python_小样本图像增强 python_10和查询图像小样本图像增强 python_小样本图像增强 python_11时,预测一个对语义类小样本图像增强 python_小样本图像增强 python_12的掩码小样本图像增强 python_图像分割_13.

在训练过程中,使用了大量的图像----掩码对小样本图像增强 python_机器学习_14,其中小样本图像增强 python_计算机视觉_15是训练图像小样本图像增强 python_深度学习_16的语义分割掩码。在测试过程中查询图像只针对新的语义类进行了注释,也就是小样本图像增强 python_小样本图像增强 python_17。这是与典型图像分割的关键区别,在典型图像分割中,训练和测试类是相同的。

方法

第一个分支输入支持集中带标签的图像,准确地说是输入图像标签对小样本图像增强 python_计算机视觉_18来产生一组参数:

小样本图像增强 python_计算机视觉_19

在另一个分支上,使用参数嵌入函数小样本图像增强 python_深度学习_20(这里指的似乎就是FCN之类的backbone)来从查询图像小样本图像增强 python_小样本图像增强 python_11中提取特征。设小样本图像增强 python_深度学习_22是从小样本图像增强 python_小样本图像增强 python_11中提取的feature volume,则小样本图像增强 python_机器学习_24指的是空间位置小样本图像增强 python_图像分割_25上的特征向量。然后使用第一层的参数对特征进行像素级逻辑回归,得到最终的mask.

小样本图像增强 python_计算机视觉_26


其中小样本图像增强 python_深度学习_27指的是sigmoid函数,小样本图像增强 python_小样本图像增强 python_28表示在坐标小样本图像增强 python_图像分割_25处的预测掩码值。最后将预测掩码通过双边线性插值的方式进行上采样,恢复到原图尺寸,然后以0.5为阈值对查询图片进行掩码操作得到分割图像。

小样本图像增强 python_小样本图像增强 python_30

损失函数

这一损失函数的目的是最大化预测对ground-truth mask的对数似然

小样本图像增强 python_小样本图像增强 python_31


其中小样本图像增强 python_小样本图像增强 python_32小样本图像增强 python_图像分割_33指的是两个分支结构的网络参数。

实验结果

小样本图像增强 python_小样本图像增强 python_34

结论

本文提出了一种新的图像分割体系结构来解决这一问题。我们的架构学习学习一个集成分类器,并使用它对查询图像中的像素进行分类。综合实验表明,该算法具有明显的优越性。所提出的方法比其他基准要快得多,并且占用的内存也更少。