Context-Transformer:Tackling Objection Confusion for Few-Shot Detection-CVPR2020论文汇报
Background
- FSOD分类不准问题极为突出:定位用的是BBOX回归器(bounding box regressor),具有类间非相关性,在源域上训练回归器只相当于初始化;物体+背景的分类器是与类别相关的,在目标域训练时必须要为新类进行随机初始化。
- 微调阶段的数据集缺少多样性、缺乏标注加大了分类器训练难度,造成了物体混淆的问题。
Related Work
- 少样本目标检测:
a. 弱监督学习(weakly-supervised,仅有标注可用)和半监督学习(semi-supervised,有一部分标注可用)都限制了检测的效果。
b. 依赖多模型混合的FSOD训练过程复杂,降低了模型有效性
c. 基于特征重采样的迁移学习,需要把物体掩膜作为输入 - 与语义(context)相关的目标检测(OD):实例之间的语义关系因其复杂性是OD领域长期的挑战
a. 非局部注意力机制建立实例之间关系,但缺乏详尽的迁移洞悉(就是没有先验知识),效果不达人意
Challenge
- 少样本学习:元学习、度量学习等方法为标准分类任务设计;即使19年有关于少样本语义分割的研究也没有关注类内实例的区分
- 少样本目标检测领域没有关于实例混淆的研究
Method
- 迁移学习的假设:源域有Cs种物体,是一个大型的公开数据集;目标域有Ct种物体,每种物体只有N张有标签的图像;源域和目标域中没有重叠的物体(以充分证明模型在新类别上有泛化性)。
- 检测骨干的选择:选择SSD
a. 多规模的空间接受域提供了丰富的语义信息;
b. 网络设计很简明;
c. 是单分支网络,包含K个不同空间规模的检测头 - 源域检测网络迁移:尽可能学到更多的先验知识来减少少样本检测的过拟合
a. 对源域训练好的BBOX进行微调
b. 由于背景(BG)是不同物体所共享的,因此可以把OBJ+BG分类器拆开,BG分类器只需要微调;直接在高维度特征上使用新的OBJ会导致有很多随机初始化的参数,为此我们保留源域的OBJ并在其上直接添加新的OBJ;
c. 在源域OBJ和目标域OBJ之间嵌入新的语义transformers(context-transformers):有两个子模块
i. Affinity Discovery(关系发现):先对源域的先验框构建得分张量Pk(基于不同比例、位置和总类别数),再进行空间最大池化构建语义的源域分数Qk(只是大小改变了,比例和总类别数没变),转化成矩阵(P、Q)后相乘可得到关系矩阵(A),这样就使得每一个先验框找到对其最重要的语义
ii. Context Aggregation(语义聚合):将关系矩阵A进行softmax得到每个语义域对先验框的重要程度,再通过乘法得到反映语义重要程度的矩阵,形状与P一致;再加到原本的P上得到新的与语义有关的得分矩阵。通过一个矩阵相乘把源域的得分矩阵过渡到了目标域,最后softmax输出即可。
Experiment
- 数据集的源域为VOC07+12,目标域为COCO(除开与VOC重合的类别),测试集是VOC2007test
- 进行消融实验,以mAP(IoU:0.5)为指标,发现直接添加源域OBJ且加入context-transformer能够减少参数量的同时提高mAP
- 对context-transformer内部结构进行消融实验:池化能够减少文本域(contextual domain)的数量且能够降低对先验框和语义之间相比较的困难性;残差全连接层(residual FC,这个不太清楚,搜也没搜到)能够增加学习的灵活性;使用欧氏距离和余弦相似度计算关系(affinity discovery)发现使用余弦相似度的mAP更高;
- 现象:随着目标域的shots数目增加,mAP值逐渐提高且baseline和本网络的mAP值差距在变小 印证结论:context-transformer能够分辨出由样本多样性稀缺导致的物体混淆。
本文是我上一篇解读的CVPR2024论文的基础