Few-Shot Object Detection with A

2020-09-05  本文已影响0人  凉拌东坡肉

Attention RPN

为了让RPN学习到支持集和查询集之间目标的潜在联系,避免RPN在查询集的未知样本上出现随机游走的情况。

Attentio RPN结构

为什么池化尺度为 1

  1. 池化尺度是从实验得到的
  2. 实验也同时验证了全局特征可以为目标分类提供一个好的目标先验

VS. Conventional RPN

Overlap 0.5:0.9130 vs. 0.8804

ABO(Average Best Overlap Ratio):0.7282 vs. 0.7127

Multi-Relation Module

为什么构建?

将支持集和查询集的目标通过全局、局部、块区三个层级全面联系起来,让网络学习到目标在这个三个层级之间的潜在关联,使得网络最终能更好的从支持集泛化到查询集的未见目标上。

全局,局部,区块多级关联结构

Global Relation:学习一个全局匹配的深度embedding;

Local Relation:学习一个像素级和深度互相的关系;

Patch Relation:学习一个深度非线性度量关系。

实验结果

三种层级的实验结果

实现细节

假设支持特征f_s和查询候选区的特征f_q,特征大小为7\times 7\times C

Global-Relation Head

7\times 7\times C concat 7\times 7\times 2C avg pool 1\times 1\times 2C MLP = relationship

Local-Relation Head

  1. f_sf_q分别用1\times 1\times C卷积处理;
  2. 使用S=H=W=7的深度互相关操作计算相似性

Patch-Relation Head

  1. f_c = concat(f_s, f_q)

  2. 使用ReLUPooling将feature size 从7\times 7下采样到1 \times 1

  3. 使用FC层生成匹配置分和bbox预测

Two-way Contrastive Training Strategy

Naive Traning Strategy

从支持集和查询集中抽取一对同类别样本(q_c, q_s)对网络进行训练。

Ours

idea basic:一个好的模型不仅可以匹配不同的类别,同时可以区分不同的类别。

类似于Triplet loss的训练方式,除了构建一对同类别的训练对,同时从支持集中引入一个不同类别的样本,作为对抗样本,即(q_c, s_c, s_n)

采样选择

采用对抗样本训练策略后,网络不仅要学习同类别样本的关联,也要学习不同类别样本的区别,而同类别样本总是稀少的,使得不同类别样本产生大量背景候选框主导训练,因而需要对正负样本进行采样。

采样比例为1:2:1(P_f,S_p):(P_b,S_p):(P,S_n)

对比实验结果

对比实验结果

刨除Attention RPN的微小增益,足以说明让网络学习区分不同类别物体的相当重要的。

上一篇下一篇

猜你喜欢

热点阅读