摘要
论文提出了一个用于类别无关计数(Class-Agnostic Counting, CAC)的相似性感知框架。类别无关计数的目标是在给定少量示例的情况下,对查询图像中的所有实例进行计数。该框架通过联合学习表示和相似性度量来改进计数性能。作者首先提出了一个基础的双线性匹配网络(Bilinear Matching Network, BMNet),它通过可学习的双线性相似性度量来增强特征的鲁棒性。然后,作者进一步扩展了BMNet到BMNet+,从三个方面对相似性进行建模:1)通过自相似性表示实例以增强特征对类内变化的鲁棒性;2)动态比较相似性以关注每个示例的关键模式;3)从监督信号中学习以对匹配结果施加显式约束。在FSC147数据集上的广泛实验表明,作者的模型显著优于现有的CAC方法。
概述
拟解决的问题: 传统的对象计数方法通常专注于特定类别,并且需要大量的训练数据来学习一个好的模型。类别无关计数(CAC)旨在减少对训练数据的依赖,通过给定少量示例来计数任意类别的对象。现有的CAC方法存在相似性匹配噪声大的问题,导致计数性能受损。
创新之处:
- 提出了一个相似性感知的CAC框架,该框架可以端到端地联合学习表示和相似性度量。
- 引入了自相似性模块,通过自注意力机制增强特征对类内变化的鲁棒性。
- 提出了动态相似性度量,通过特征选择模块关注示例的关键模式。
- 引入了相似性损失,对中间相似性映射施加显式监督,以提高匹配质量。
方法
- BMNet:基础模型,使用可学习的双线性相似性度量代替固定的内积,允许通过反向传播学习表示。
- BMNet+:在BMNet的基础上增加了自相似性模块、动态相似性度量和相似性损失,以进一步提升性能。
CAC框架以端到端的方式联合学习表示和相似性度量(上图)。我们(下图)首先使用一个简单的基线实例化这个框架,称为双线性匹配网络 (BMNet),然后提出一个扩展的 BMNet+ 来举例说明我们对如何表示、动态和学习表示和相似性度量的相似性的想法。
3.1 Bilinear Matching Network(BMNet)
特征提取器:
- 特征提取器由一系列卷积层组成,将输入图像映射到 dd 通道特征。
- 对于查询图像 X,输出一个降采样的特征图 F(X)。
- 对于示例 Z,输出特征图经过全局平均池化,形成一个特征向量 F(Z)。
双线性相似性度量:
- 传统的 CAC 方法使用固定的内积来计算两个特征向量之间的相似性,但这种方法可能不足以建模类别无关的相似性。
- BMNet 将原始内积扩展为可学习的双线性相似性度量,通过在特征通道之间建立灵活的连接来度量相似性。
- 对于查询图像 X 中的空间位置 (i,j) 的通道特征和示例 Z 的特征向量 ,相似性图 S 可以通过以下公式计算:
- 其中 P,Q是可学习的矩阵,b是可学习的偏置。
计数器:计数器接收查询特征图 F(X) 和相似性图 S 的通道级连接,然后预测一个密度图。最终的计数是 的积分。计数器由卷积和双线性上采样层组成。
损失函数:使用传统的 损失作为计数损失,表示真实的密度图。
3.2 可学习的动态相似性度量
尽管 BMNet 通过双线性相似性度量增加了建模相似性时的灵活性,但学习到的相似性度量在训练后是固定的,并且在推理时对所有类别一视同仁。然而,人类在识别一个类别时,往往会基于该类别特定的模式进行学习。因此,开发一个能够自适应地学习并专注于示例关键模式的动态相似性度量是有益的。
为了实现动态相似性度量,作者在 BMNet 的基础上引入了一个特征选择模块,用于生成特定于示例的度量。具体来说,每个通道在 中被视为一个模式,并且通过学习动态的通道注意力权重 a 来计算相似性 S:
其中 ∘ 表示哈达玛积(逐元素乘积),a 是基于 学习的条件动态通道注意力权重。
通过特征选择模块,模型能够为每个示例学习一个特定的相似性度量,从而关注示例的关键视觉模式。
3.3 监督相似图
作者提出了一种基于信号噪声比(signal-to-noise ratio, SNR)的相似性损失 ,用于直接监督相似性映射结果。这种方法的核心思想是将相似性映射 S 中的每个位置视为查询图像中的一个 r×r 块,根据这个块是否包含目标实例来分配正负标签。
- 正标签(信号):如果 r×r 块包含多于一个目标实例,则分配正标签。
- 负标签(噪声):如果 r×r 块不包含目标实例,则分配负标签。
其中,pospos 和 negneg 分别表示 SS 中的正负位置。
通过这种方式,类似于对比学习,模型被鼓励提高同一类别特征之间的相似度(信号),同时降低不同类别特征之间的相似度(噪声)。
总的损失函数:
3.4 Self-Similarity模块
在类别无关计数(Class-Agnostic Counting, CAC)任务中,给定的示例可能因为类内变化(同一类别的实例往往以不同的属性出现,如姿势和比例)而在视觉上与查询图像中的目标实例存在显著差异。这种差异可能导致相似性匹配不准确,进而影响计数性能。为了解决这个问题,作者提出了 Self-Similarity 模块,通过利用来自同一类别但具有不同属性的其他实例的信息,增强每个实例的特征表示。
通过自注意力机制(Self-Attention Mechanism),每个特征向量在特征集合中被更新。自注意力机制能够使模型关注与当前实例相同类别的其他实例,从而聚合同类信息。
使用自注意力机制更新特征集合中的每个特征向量后,这些更新后的特征向量被加回到原始特征向量上,并通过一个可学习的比率 γ 进行调整。
更新后的特征集合被重新分割并重塑,以获得最终的示例特征 F(Z) 和查询图像特征 F(X)。