CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-...

CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第1张图片

Abstract

深层卷积神经网络和大规模标记图像数据集推动了语义分割的最新进展。然而, 用于像素分割的数据标记是繁琐且昂贵的。此外, 训练的模型只能在一组预定义的类中进行预测。在本文中, 我们提出了 CANet, 这是一个类不可知论的分割网络, 它在只有几个带注释的图像的情况下, 对新的类执行少量的镜头分割。我们的网络由一个双分支密集比较模块和一个迭代优化模块组成, 该模块在支持图像和查询图像之间执行多级特征比较, 并反复细化预测结果的迭代优化模块。此外, 我们还引入了一种注意机制, 在 k 镜头学习的背景下, 有效地融合多个支持实例中的信息。在 PASCAL VOC 2012 上的实验表明, 我们的方法实现了1-shot分割的交叉超联合得分平均值为 55.4, 5 枪分割为57.1 分, 分别大大超过了最先进的方法14.6% 和13.2%。

1. Introduction

深卷神经网络在许多视觉理解任务上取得了重大突破, 包括图像分类 [13、9、30]、目标检测 [27、8、26] 和语义分割 [16、2、20]。一个关键的原因是大型数据集 (如 ImageNet [4]]) 的可用性, 这些数据集支持对深层模型进行培训。但是, 数据标记成本很高, 特别是对于密集的预测任务, 例如语义分割和实例分割。除此之外, 在对模型进行训练后, 很难将模型应用于预测新的类。与机器学习算法不同的是, 人类只有几个例子就能很容易地从图像中分割出一个新概念。人与机器学习算法之间的差距推动了对few-shot学习的研究, 研究的目的是学习一种模型, 这种模型可以很好地推广到标记为稀缺的培训数据的新类中。

本文承担了few-shot语义分割的任务, 只使用少量注释训练图像对新类进行分割。以前关于此任务的工作 [29、24、5] 遵循两个分支结构的设计, 其中包括一个支持分支和一个查询分支。支持分支旨在从支持集中提取信息, 以指导查询分支中的分段。我们还在我们的框架中采用了双分支设计来解决小镜头分割问题。


CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第2张图片

我们的网络包括一个双分支密集比较模块, 其中共享功能提取器从查询集和支持集提取表示以进行比较。密集比较模块的设计借鉴了距离函数评估图像相似性的图像分类任务的度量学习 [37, 31]。然而, 与每个图像都有标签的图像分类不同, 图像分割需要对具有结构化的重读数据进行预测。将度量学习直接应用于密集预测问题是很困难的。要解决这个问题, 一个简单的方法是在所有对像素之间进行比较。然而, 图像中有数百万像素, 所有像素对的比较需要巨大的计算成本。相反, 我们的目标是从支持图像中获得全局表示形式, 以便进行比较。全局图像特征被证明在分割任务 [19、40、3] 中非常有用, 全局平均池可以很容易地实现。在这里, 为了只关注分配的类别, 我们使用前景区域上的全局平均池来筛选出不相关的信息。然后将全局特征与查询分支中的每个位置进行比较, 这可以看作是度量学习方法的密集形式。

在fewshot设置下, 网络应该能够处理在训练中从未见过的新类。因此, 我们的目标是从CNN中挖掘可转换的表达用于比较。正如在要素可视化文献 [39, 38] 中所观察到的, 下层中的要素与低级提示相关, 例如, 边缘和颜色, 而较高图层中的要素与对象级别的概念 (如类别) 相关。我们关注的是可能构成看不见的类共享的对象部分的中间层特征。例如, 如果美国有线电视新闻网在模型在类车上训练时学习了与车轮有关的功能, 则该功能也可能有助于新车辆类别 (如卡车和公共汽车) 的功能比较。我们提取 CNN中的多个层次的表示形式, 以便进行像素级的比较。

由于同一类别中存在外观差异, 同一类中的对象只能共享几个类似的功能。密集特征比较不足以指导整个目标区域的分割。然而, 这给出了一个重要的线索, 对象在哪里。在半自动分割文献中, 给出了类无关分割的弱注释, 例如, 用点击或涂鸦注释的交互式分割 [36, 14], 用边界框或极值点原点的实例分割 [10, 21]。在培训过程中学习了定位对象区域的可转移知识。在半自动分割任务的启发下, 我们希望在密集的比较结果作为先验的情况下, 逐步区分对象和背景。我们提出了一个迭代优化模块 (IOM), 该模块学习迭代优化预测结果。改进是以递归形式执行的, 密集的比较结果和预测的掩码被发送到 IOM 进行优化, 输出将递归发送到下一个 IOM。经过几次迭代的优化, 我们密集的比较模块能够生成细粒度分割映射。在每个 IOM 内部, 我们采用residual connections, 以便在最后一个迭代步骤中有效地合并预测的掩码。图1显示了我们的1-shot分割网络的概述。

以往的 k-shot分割方法是基于1-shot模型。他们使用不可学习的融合方法来融合单个1-shot的结果, 例如, 对多个1-shot的结果或中间特征进行平均。相反, 我们采用了一种关注机制, 有效地融合了多个支持示例中的信息。

为了进一步减少对few-shot分割的标记工作, 我们探索了一个新的测试设置: 我们的模型使用带注释的边界框支持集在查询图像中执行分割。我们对 PASCAL VOC 2012 数据集和 COCO 数据集进行了全面的实验, 以验证我们网络的有效性。本文件的主要贡献概述如下。

·我们开发了一个新的双分支密集比较模块, 有效地利用来自 Cnn 的多个层次的特征表示进行密集的特征比较。

·我们提出了一个迭代优化模块, 以迭代的方式细化预测结果。迭代细化的能力可以推广到看不见的类, 用最少的镜头学习来生成细粒度的地图。

·我们采用了一种注意机制, 在 k-shot 设置中有效地融合多个支持示例中的信息, 优于1-shot结果的不可学习融合方法。

·我们证明, 给定的支持集与弱注释, 例如边界框, 我们的模型仍然可以实现可比的性能与结果与昂贵的像素级注释集, 这进一步减少了新类的标记工作明显的少镜头分割。

·Pascal VOC 2012 数据集上的实验表明, 我们的方法实现了1-shot分割的平均相交联合分数, 1 -shot分割为55.4 分, 5 -shot分割为57.1 分, 显著优于最先进的结果14.6% 和 13.2%,分别。

2. Related Work

语义分割:语义分割是将图像中的每个像素分类为一组预定义的类别 [16、2、20、15、17] 的任务。最先进的方法是基于完全卷积网络 (FCNs), 它经常采用卷积神经网络 (CNN) 预先训练, 作为主干架构分类。为了适应密集预测的任务, 完全连接的图层被预测每个像素标签的卷积层所取代。为了捕获抽象要素表示, Cnn 采用连续的池操作或convolution striding来降低要素图的空间分辨率。但是, 这与密集的预测任务冲突, 其中输出应该是高分辨率的。为了平衡网络的输出分辨率和感受野, 在密集的预测任务中经常使用膨胀卷积 [2]。膨胀消除了最后几层中的向下采样操作, 并将孔插入卷积滤波器, 以扩大接受场。在我们的模型中, 我们还采用了膨胀的卷积来保持空间分辨率。在完全监督的分割中, 训练 FCN 模型需要大量昂贵的像素级注释图像, 一旦对模型进行训练, 就无法对新类别执行分割。另一方面, 我们的模型可以推广到任何新的类别, 只有几个带注释的例子。

few-shot学习:few-shot学习的目的是学习可转移的知识, 这些知识可以推广到具有稀缺标记培训数据的新类。在few-shot分类方面有许多公式, 包括带记忆 [28, 23] 的递归神经网络、学习精细化模型 [6, 25]、网络参数预测 [1, 35] 和公制学习 [31, 37, 11]。基于度量学习的方法在最少的分类任务中实现了最先进的性能, 具有快速预测的特点。我们的工作与关系网络关系最大 [37]。关系网络元学习了一个远距离度量来比较图像和计算分类的相似度分数。该网络由一个生成图像表示的嵌入模块和一个比较嵌入并输出相似度分数的关系模块组成。这两个模块都是卷积操作的形式。网络中密集的比较模块可以看作是关系网络以密集形式进行的扩展, 以解决分割任务。

few-shot语义分割。以前关于few-shot语义分割的研究采用了双分支结构。沙班等人 [29] 首先在语义分割方面采用了few-shot学习。suport branch直接预测query branch中用于分段的最后一层的权重。在 [24] 中, 支持分支生成一个embeding, 该嵌入作为附加功能融合到查询分支。我们的网络也遵循双分支设计。但是, 与以前的工作不同的是, 两个分支具有不同的结构, 我们网络中的两个分支共享相同的主干网络。以前方法中的模型侧重于1-shot设置, 在将1-shot扩展到 k -shot时, 它们将1-shot方法独立应用于每个支持示例, 并使用不可学习的融合方法将图像级别或特征的单个预测结果融合在一起水平。例如, Shaban 等人 [29] 建议使用逻辑 OR 操作将单个预测的掩码和 Rakelly 等人融合在不同支持示例生成的支持分支中的嵌入平均值。相反, 我们采用了一种通过注意机制的学习方法, 有效地融合了多个支持示例中的信息。

3. Task Description

假设我们的模型是在类集 Ctrain 的数据集上训练的, 我们的目标是使用训练的模型对具有新类 Ctest 的不同数据集进行预测, 其中只有几个带注释的示例可用。从直觉上讲, 我们训练模型的能力, 对于一个新的类 c不属于Ctrain, 我们的模型能够从图像中分割类, 当只看到这个类的几个图片。一旦模型被训练, 参数是固定的, 在新数据集中测试时不需要优化。


CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第3张图片

4. Method

我们提出了一个新的框架来解决few-shot语义分割问题。我们首先在1-shot设置中对我们的模型进行说明, 而不会失去通用性。我们的网络由两个模块组成: 密集比较模块 (DCM) 和迭代优化模块 (IOM)。DCM 在支持示例和查询示例之间执行密集的特征比较, 而 IOM 对预测结果进行迭代细化。图 2 (a) 显示了我们框架的概述。为了将我们的网络从一发学习推广到 k 型学习, 我们采用了一种关注机制, 将不同支持实例的信息融合在一起。此外, 我们还提出了一个新的测试设置, 该设置使用支持图像和边界框注释进行few-shot分割, 随后对此进行了描述。


CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第4张图片

4.1. Dense Comparison Module

我们开发了一个双分支密集比较模块, 该模块将查询图像中的每个位置与支持示例进行密集比较, 如图 2 (b) 所示。该模块由两个子模块组成: 提取表示的特征提取器和执行功能比较的比较模块。

特征提取器:特征提取器的目的是从 Cnn 获取不同级别的表示用于特征匹配。我们使用 Resnet-50 [9] 作为功能提取器的主干。正如在以前的few-shot分割工作中所做的那样, 主干模型是在 Imagenet [4] 上预先训练的。正如美国有线电视新闻网专题可视化文献 [39, 38] 所观察到的, 下层中的特征通常与低级提示相关, 例如, 边缘和颜色, 而较高图层中的要素与对象级别的概念 (如对象类别) 有关。在最少的场景中, 我们的模型应该适应任何看不见的类。因此, 我们不能假设与看不见的类别相对应的特征是在训练中学习的。相反, 我们关注的是可能构成看不见的类共享的对象部分的中间层特征。ResNet 中的图层根据空间分辨率分为4个块, 这些层自然对应于4个不同级别的表示。我们选择由块2和块3生成的要素进行要素比较, 并在块3之后放弃图层。我们在块2之后的图层中使用膨胀的卷积 [2] 来保持要素图的空间分辨率。块后的所有要素映射的固定大小为输入图像的一个给定大小。块2和块3后的特征通过3x3 卷积连接并编码到256个维度。我们在5.1.3 节中研究了比较功能的选择。支持分支和查询分支都使用相同的特征提取器。我们在训练中保持 ResNet 中的权重固定。

dense comparison:由于支持映像中可能有多个对象类别和杂乱的背景, 因此我们希望获取仅与目标类别相对应的嵌入进行比较。在这里, 我们使用前景区域上的全局平均池将要素映射挤压到要素向量。全局图像特征在分割任务 [19、40、3] 中非常有用, 全局平均池可以很容易地实现。在我们的网络中, 我们只在前景区域上使用平均功能来过滤不相关的区域。从支持集获取全局要素向量后, 将矢量与查询分支生成的要素图中的所有空间位置连接在一起。此操作旨在将查询分支中的所有空间位置与支持分支中的全局特征向量进行比较。然后, 串联要素图通过另一个具有 256 3x3 卷积滤波器的卷积块进行比较。

为了有效实现, 我们首先对相同的要素映射空间大小进行双早下采样, 然后对要素映射应用元素上的乘法。因此, 属于背景区域的要素变为零。然后采用全局求和池, 将得到的向量除以前景区, 得到平均特征向量。我们将向量采样到查询要素的相同空间大小, 并将它们连接起来进行密集比较。

CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第5张图片

4.2. Iterative Optimization Module

由于同一类别中存在外观差异, 密集比较只能匹配对象的一部分, 而该部分可能不够强大, 无法准确地分割图像中的整个对象。我们观察到, 初始预测是物体粗糙位置的重要线索。我们提出了一个迭代优化模块, 以迭代方式优化预测结果。结构如图 2 (c) 所示。该模块的输入是由密集比较模块生成的要素图和从最后一次迭代预测掩码。直接连接具有预测掩码的要素映射, 因为额外的通道会导致要素分布不匹配, 因为第一个正向通道没有预测的掩码。相反, 我们建议以residual form合并预测的掩码:

其中 x 是密集比较模块的输出特征;yt−1是最后一个迭代步骤的预测掩码, Mt 是剩余块的输出。函数 F (·) 是特征 x 和预测掩码 yt−1的串联, 其次是两个具有256个滤波器的3x3 卷积块。然后, 我们添加两个具有相同卷积滤波器数的香草残块。除此之外, 我们还使用 Deeplab V3 [3] 中提出的非尺度空间金字塔池模块 (ASPP) 来捕获多尺度信息。该模块由四个平行分支组成, 包括三个3x3 卷积, 分别为6、12和18的异常率和1x1 卷积。1x1 卷积是在全局平均池实现的图像级特征上进行的。然后, 得到的向量是双早采样到原来的空间大小。4个分支的输出特征由其他1x1 卷积与256个滤波器连接和融合。最后, 我们使用1x1 卷积生成最终的掩码, 其中包括背景掩码和前景掩码。我们使用 softmax 函数对每个位置的分数进行规范化, 从而输出前景和背景的置信度图。然后将置信度映射输入下一个 IOM 进行优化。我们的最终结果是, 我们将置信度图的置信度图对查询图像的空间大小进行了双早上采样, 并根据置信度贴图对每个位置进行分类。在训练时间, 为了避免迭代优化模块过度拟合预测的掩码, 我们交替使用预测的面具在最后一个时代和空的面具作为输入到 IOM。Yt−1的预测掩码被重置为空掩码, 概率为 pr。这可以被看见作为整个面具的辍学, 标准辍学的引伸 [32]。与之前在分割文献 [14、34、22] 中的迭代细化方法相比, 我们的方法将细化方案集成到具有剩余连接的模型中, 以便整个模型可以向前运行, 并进行端到端训练.

4.3. Attention Mechanism for k-shot Segmentation


CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-..._第6张图片

为了有效地合并 k 镜头设置中的信息, 我们使用了一种注意机制来融合不同支持示例生成的比较结果。具体而言, 我们在 DCM 中添加了一个与密集比较卷积平行的注意模块 (见图 3)。注意分支由两个卷积块组成。第一个有 256 3x3 过滤器, 然后是3x3 最大池。第二个有一个3x3 卷积, 然后是全局平均池。结果从注意分支担当重量。然后, 所有支持示例中的权重通过 softmax 函数进行归一化:


最终输出是由不同支持样本生成的要素的加权之和。

4.4. Bounding Box Annotations

由于密集比较模块的本质是将查询图像中的每个位置与支持示例提供的全局表示进行密集比较, 因此我们探索了一种使用边界框的支持集注释的新形式。与像素化批注相比, 边界框批注使用矩形框表示对象区域, 这在对象检测任务中经常使用。对边界框批注进行标记比像素标记便宜得多。我们以整个边界框区域为前景, 放松了支撑装置。我们在此设置下测试我们的模型, 以评估我们的框架的能力。图4显示了这两个测试设置的比较。

你可能感兴趣的:(CVPR2019|CANet: Class-Agnostic Segmentation Networks with Iterative Refinement and Attentive Few-...)