Background & Motivation
文中认为在此之前的 Few-shot 目标检测方法中的两类存在着不足:
- 采用元学习的训练策略,同时 reweight 每一类的表征。
- fine-tune 的方法,用 Novel 类数据微调模型的 Head 或者采用辅助分支来 refine 模型的 RPN 和 Head。
首先,support set 和 query set 之间的关系很难完全的表征出来,很多此前的方法采用的 global pooling 的方法会导致局部细节信息的丢失,模型无法学习各类和边界预测的关键特征。其次,Few-shot 目标检测领域的多尺度问题,也一直没有好的办法来应对。文章的 Motivation 就是为了解决上述不足。
Dense Relation Distillation with Context-aware Aggregation(DCNet)
文章提出了两个模块 Dense relation distillation 和 Context-aware Feature Aggregation,分别来应对上述问题。
第一个模块判断 query image 中的物体与 support set 中的物体是否属于同一个类别,可以看作是《Non-local Neural Networks》的扩展,只不过这篇文章里的方法是 self-attention。文章认为当发生遮挡等现象时,对于细节信息的 distillation 就变得尤为重要。经过这个模块,query 和 support 中相同的特征会被 further activated。
第二个模块用来应对多尺度问题,同时关注局部和全局特征可以保留不同尺度物体的上下文信息。采用了三个尺度,并且通过 attention mechanism 来聚合这三个尺度的特征。
模型的输入是一个 support set 及对应的 mask 和一张 query image 及其标注。跟 Matching Net 的设定一样,目标是找到 query image 在 support set 与之对应的类别并定位。具体的架构基于 Meta-Rcnn,包含两个共享权重的特征提取模块,输出 query image 和 support set 对应的特征图。
Dense relation distillation(DRD)
query 和 support 的每一张特征图都各自经过一个3*3的卷积被编码为 key 和 value,这两个部分的卷积不共享权重(key 的通道域变为特征图的1/8,value 的通道域变为特征图的 1/2)。这两个部分的 key 用来度量 query 和 support 特征的相似度,value 则存放了具体的信息。
Specifically, key and value maps are produced from features, which serve as encoding visual semantics for matching and containing detailed appearance information for decoding respectively.
之后将 key 和 value 输入到 DRD 中,度量相似度的具体做法是将 query 和 support 的 key 逐像素的输入经过两个不同的线性变换,这两个线性变换的参数通过梯度下降更新。
再将算出的每个像素的相似度输入到 softmax 中,将各个位置的相似度归一化,得到最后的相似度度量 W。最后的特征图输出为
对于 support set 中输入的 N 张图像,将得出的 y 直接相加,得到最后的 refined query feature。
Context-aware Feature Aggregation(CFA)
之后 refined query feature 被送入 RPN,产生的 proposal 经过 RoIAlign 后输出尺度分别为4*4、8*8和12*12的特征图。大尺度的特征图用来检测小物体,小尺度的特征图用了来检测物体。
The RoI pooling layer uses max pooling to convert the features inside any valid region of interest into a small feature map with a fixed spatial extent of H×W (e.g., 7 × 7), where H and W are layer hyper-parameters that are independent of any particular RoI.
用下图所示的方法来整合多尺度的特征图:
图中 GAP 代表全局平均池化,Linear 代表全连接层。每个尺度中的两个分支经过 softmax 归一化到0和1之间,最后的输出是这三个尺度输出的加权求和。
Experiment
采用元学习的训练方法:
训练和测试都是单尺度的,query image 最短边是800像素,最长边是1333像素且保持这个比例。微调阶段将最后的全连接层随机初始化,并且不冻结网络的任何部分。
We train our model with a mini-batch size as 4 with 2 GPUs.
PASCAL VOC 数据集上的结果:
各个模块的消融实验:
表中第一和第二行说明了 DRD 的效果。
* denotes CFA module with attention aggregation fashion.
Based on the plain CFA module, we further propose an attention-based aggregation mechanism to adaptively fuse different RoI features.
对 RoIAlign 的尺度也进行了消融实验:
对 DRD 和 CFA 的效果进行了可视化:
Moreover, different from former meta-learning based methods which performs prediction in a class-wise manner, our proposed DRD module can model relations between query and support features in all classes at the same time.
CFA 可以用来缓解误分类和漏检。
COCO 数据集上的结果:
Conclusion
key 和 value 的区别仅仅是通道域的大小不同,就发挥了不同的作用。
Transformer 的方法整合到 Faster Rcnn 里似乎有很多种方法。
CFA 缓解了误分类和漏检,这一点特性值得关注。
附加
- RoI Align