(Few-shot detection)Review: Few-shot Object Detection via Feature Reweighting
Ref
1. 提出研究的问题
对于few-shot分类而言,可以采用学习prototype的方式学习一个中心,但是如果用于目标检测,很难匹配和定位一个物体。因为在图像中会有很多的干扰因素和非目标物体。
2. 提出方案
-
Feature Extractor module
Feature Extractor从 query images中提取meta features ,表示为
文章中的的Extractor是采用YOLO v2的darknet, 用表示;
-
Reweighting Module d从support set中提取全局信息并embeded成reweighting coefficient,表示为 ;
文章中reweighting是简单的几层网络层,用表示,下图右下角表示图像,表示mask;
-
Prediction Module
跟YOLO v2相似,预测的值增加one-versus-all classification score 表示对应目标属于类别i的概率;
总共预测六个值: ;
-
为什么有检测新目标的能力?
根据paper的损失函数:
我认为base training过程主要是训练base -> novel的能力和localization的能力;
而在few-shot fine-tuning更像是pretrained模型通过support sets预训练fine-tune的过程,当然两者的数据集不能有交集。
3. 总结
模型其实是做一种Transfer Learning的思想,与原来detection不同的是,训练方式不同,数据组成的方式不同。
数据分为base classes和novel classes,对于每一个task或者episode,包含Support sets和Query sets两部分,
网络模型和损失函数上述2.提出方案所示;
整个学习过程分为两个阶段:
-
base training phase
在此阶段,仍采用base classes进行episode的方式训练,目的是让模型学会通过reweighting vector找到感兴趣的区域;
-
few-shot fine-tuning
在此阶段,训练数据包括base classes和novel classes,对于novel classes来说,只有k个标注的bounding boxes,对于base classes的数据,也有k个bounding boxes,训练过程和第一阶段相同。support images和boundingbox的数据从base classes和novel classes的数据中随机选取,进行fine-tune;
4. 实验结果
-
分析结果
表明作者提出的few-shot模型在速度和性能上都能超过原来的YOLO v2模型;
-
Which layer output features to reweight
-
Loss functions
-
Input form of reweighting module
这么多的对比实验,实践出真知啊。