Meta-DETR: Image-Level Few-Shot Object Detection with Inter-Class Correlation Exploitation个人理解和待解决疑问

get到的点

  • 该方法和传统meta小样本学习方法:之前的方法单次比对一个support class的相似度,本文同时比较所有support class,从而利用到了class之间的关联性;有些传统方法需要先保证生成正确的region,本文是全局搜索;
  • misclassify的原因之一是一些外观类似的class在(余弦相似度)特征空间下距离很近,分类器没有学习到它们之间的关联性;

理解一点点(针对自己不懂的地方会不断更新)

  • CAM模块的作用是1:query feature和support feature的特征相似度匹配 2:support class投影成预定义的task encoding
    匹配&投影的方式其实都是用attention机制,找到Q\K\V之间的关联度
    匹配:Q为query feature/K、V为加上背景的class prototype匹配的结果是matching coefficient,表示的是和query有关的class prototype;公式(2)
    投影:query feature做Q,support class prototype做Key,加权V(预定义的task encoding),结果是和query有关的class对应的task encoding;公式(3)
    把匹配的关联系数矩阵先和query feature做element-wise的乘法,再和投影出来的encoding 做element-wise求和
    作者两个版本的文章中,architecture的图绘制方法不一样,v2中的SAM模块就是CAM中两个特征输入到muti-head attention
    Meta-DETR: Image-Level Few-Shot Object Detection with Inter-Class Correlation Exploitation个人理解和待解决疑问_第1张图片
    Meta-DETR: Image-Level Few-Shot Object Detection with Inter-Class Correlation Exploitation个人理解和待解决疑问_第2张图片

(1) task encoding是如何选取的?为何最后识别结果由task encoding解释而不是具体类别?

T ∈ RC×d with sinusoidal functions, following the positional encodings of the Transformer

(2)query feature和support feature经过一次muti-head attention的目的?

提取更高维语义信息

Meta-DETR: Image-Level Few-Shot Object Detection with Inter-Class Correlation Exploitation个人理解和待解决疑问_第3张图片
(3)support feature是如何经过Rol Align圈出class(消掉HW那一维,只剩C个class的d维特征C×d)?为何真值还需要像素级标签?
(4)所谓的无差别区分class是说后面transformer进行box预测是无class区别预测?

元学习的主要动机是获取能够概括到不同类别的元层次知识,而不是专注于特定类别 。 即使带有元学习,太深的网络就倾向于学习特定类的语义知识,而不是泛化。

(5)element-wise的乘法的作用
Meta-DETR: Image-Level Few-Shot Object Detection with Inter-Class Correlation Exploitation个人理解和待解决疑问_第4张图片

QF that highlights objects belonging to the given support classes

  • query和support的特征提取

本文表示直接使用Deformable DETR模型中的特征提取器Resnet-101
(6) 具体architecture?
(7) 最后维度分别是HW×d,C×HW×d,有点像DETR直接切成patch,是类似的先patch再提取特征吗?

(1)QEB
有一个特征提取器(resnet)和transformer encoder组成。由于encoder的输入为一个序列,我们需要resnet生成的feature map压缩为一维向量,具体做法是:向feature map中注入位置向量,从而将它压为一维。
(2)SEB
SEB与QEB共享所有的可学习参数,不像QEB那样生成的是图片级别的特征,SEB生成的是每个类所有的物体的特征向量,因此,它引入了CCE来过滤掉特征图片中的不相关的信息,CCE没有可学习参数:<1>从encoder生成的features中恢复空间维数<2>使用ROIAlign来定位支持集物体实例<3>使用sigmoid函数计算全局平均池化向量。最后生成每个类的特征向量。
————————————————
版权声明:本文为CSDN博主「weixin_43981952」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43981952/article/details/118390844

  • 两阶段训练方法 1:在有大量训练样本的base class上训练 2:同时在有大量训练样本的base class和只有一点训练样本的novel class上训练
  • object query 的数量N是超参数,炼丹。。。

你可能感兴趣的:(计算机视觉)