Meta-DETR
将元学习与Deformable-DETR结合,实现少样本目标检测。
现有元学习方法在目标检测领域的局限是依赖region proposals的准确性。这在训练样本稀缺的少样本检测中无法得到保证,从而导致检测不准确或漏检。而之前的元学习方法都是通过计算特征加权,来独立的聚合每个support class,这会导致忽略类间相关性,造成错检。
模型结构
给定一个查询图像和一组带有实例注释的支持图像,权重共享的特征提取器(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 图像动态调整训练目标:
其中$\psi(y_i,c_{\mathrm{supp}})$表示过滤无关的注释:
当$y^{'}$完全由$(\varnothing,\varnothing)$组成时,$c_{\mathrm{supp}}$为负目标类别。损失函数:
整个训练过程由两个阶段组成:base training stage和few-shot fine-tuning stage。第一阶段在基础数据集${\mathcal{D}}_{base}$上进行训练,每个类别都有丰富的训练样本。第二阶段使用的训练数据包括有限的基础类别样本和新增类别样本。由于检测目标是由支持类动态确定的,因此 Meta-DETR 被训练为元学习器,以提取不特定于某些类的通用知识。
推理
在进行推理之前,首先一次性用特征提取器提取所有类别的类别特征。对于每个类别,如果有多个支持图像,将所有对应的类别特征平均作为最终的类别特征。在推理过程中,Meta-DETR不需要像训练阶段那样重复计算类别代码,这保证了Meta-DETR的高效推理。
我很可爱,请给我钱
- 本文链接: https://ajian.one/2024/07/26/论文阅读:Meta-DETR/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。