论文阅读:Meta-DETR

Meta-DETR

将元学习与Deformable-DETR结合,实现少样本目标检测。

现有元学习方法在目标检测领域的局限是依赖region proposals的准确性。这在训练样本稀缺的少样本检测中无法得到保证,从而导致检测不准确或漏检。而之前的元学习方法都是通过计算特征加权,来独立的聚合每个support class,这会导致忽略类间相关性,造成错检。
image description

模型结构

给定一个查询图像和一组带有实例注释的支持图像,权重共享的特征提取器(ResNet-101)首先将它们编码到相同的特征空间中。随后,相关聚合模块(CAM)在查询特征和支持类集之间执行同步聚合。最后,经典Deformable DETR架构通过预测对象的位置和相应的任务编码来检测对象。由于检测目标是由支持类及其到任务编码的映射动态确定的,因此 Meta-DETR 被训练为元学习器,以提取不特定于某些类的通用知识。

Correlational Aggregation Module(CAM):

  • Feature Matching
    特征匹配的目的是过滤掉Query Features中与支持类无关的特征:

    $$ \mathbf{A}=\mathrm{Attn}(\mathbf{Q},\mathbf{S})=\mathrm{Softmax}(\frac{(\mathbf{QW})(\mathbf{SW})^\mathrm{T}}{\sqrt{d}}) $$
    $$ \mathbf{Q_F}=\mathbf{A}\sigma(\mathbf{S})\odot\mathbf{Q} $$
  • Encoding Matching
    给每个支持类引入预定义的任务编码(由正弦函数实现)$\mathbf{T}\in\mathbb{R}^{C\times d}$,输出为:

    $$ \mathrm{Q_E}=\mathrm{AT} $$
  • 背景信息
    为了表示图像中常常占据大面积的不属于如何类别的背景类,额外添加的可学习的背景prototype用于显示的特征匹配,背景类的任务编码固定为$\mathbf{0}$.


训练过程

首先根据随机采样的support 图像动态调整训练目标:

$$ y'=\{y_i'\}_{i=1}^N=\{(c_i',b_i')\}_{i=1}^N=\{\psi(y_i,c_{\mathrm{supp}})\}_{i=1}^N $$

其中$\psi(y_i,c_{\mathrm{supp}})$表示过滤无关的注释:

$$\psi(y_i,c_{\mathrm{supp}})=\begin{cases}(\varnothing,\varnothing),&\mathrm{if~}y_i=(\varnothing,\varnothing)\mathrm{~or~c_i\notin c_{supp}}\\(\chi(c_i),b_i),&\mathrm{if~}c_i\in c_{\mathrm{supp}}.\end{cases}$$

当$y^{'}$完全由$(\varnothing,\varnothing)$组成时,$c_{\mathrm{supp}}$为负目标类别。损失函数:

$$\mathcal{L}(y^{\prime},\hat{y})=\sum_{i=1}^N\left[\mathcal{L}_{\mathrm{cls}}(c_i^{\prime},\hat{c}_{\hat{\sigma}(i)})+\mathbb{1}_{\left\{c_i^{\prime}\neq\varnothing\right\}}\mathcal{L}_{\mathrm{box}}(b_i^{\prime},\hat{b}_{\hat{\sigma}(i)})\right]$$

整个训练过程由两个阶段组成:base training stagefew-shot fine-tuning stage。第一阶段在基础数据集${\mathcal{D}}_{base}$上进行训练,每个类别都有丰富的训练样本。第二阶段使用的训练数据包括有限的基础类别样本和新增类别样本。由于检测目标是由支持类动态确定的,因此 Meta-DETR 被训练为元学习器,以提取不特定于某些类的通用知识。

推理

在进行推理之前,首先一次性用特征提取器提取所有类别的类别特征。对于每个类别,如果有多个支持图像,将所有对应的类别特征平均作为最终的类别特征。在推理过程中,Meta-DETR不需要像训练阶段那样重复计算类别代码,这保证了Meta-DETR的高效推理。

我很可爱,请给我钱

其他文章
请输入关键词进行搜索