Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector

每张图下文字为批注

基于注意力的RPN和多关系检测器的少样本目标检测

样本学习->目标检测->修改RPN带有注意力->多关系检测

RPN全称是Region Proposal NetworkRegion Proposal的中文意思是“区域选取”,也就是“提取候选框”的意思

需要我们使用的历史数据具有总体的代表性且希望用训练数据集训练得到的模型可以合理用于测试集,使用同分布假设能够使得这个做法解释得通

解决方法:

 (1) 数据增强和正则化:第一种思路很直接,既然训练数据少,那我们就增加训练数据,例如数据集中的图片旋转 90° 的倍数来增加数据集中训练样本的数量(虽然本意不是用于解决 few-shot 问题)。还有就是既然会过拟合,那就加一个正则化项来缓解过拟合的问题。

(2) Meta-learning(元学习):现在主流的方案是用元学习,目标是利用已经学到的知识来解决新的问题。这也是基于人类学习的机制,我们学习都是基于已有知识的,而不像深度学习一样都是从 0 开始学习的。如果我们已有的先验知识来帮助我们解决新的问题,那么我们对于新的问题就可以不需要那么多的样本,从而解决 few-shot 问题。但是元学习需要用一些别的数据来学习这个先验知识, 

我们可以发现如果我们需要解决上述的 少样本分类问题,可以直接用方法 1,但是方法 2 不行,因为我们没有别的类来做先验知识的学习。但是元学习可以在另一个数据集上面训练学习先验知识,当然这种方法的效果和两个数据集的相似度有关,两个数据集相似度很好,那么学到的先验知识可以很好地解决新数据集的 few-shot 问题,如果差异很大,可能效果会很一般。

少样本不是说通过学习大量而每类比较少的数据集来增强网络的泛化性能。而是让训练集中包含了很多的类别,每个类别中有多个样本。不过我们在训练网络的时候不是一次性输入进去的。而是在训练集上通过多次随机筛选组成多组支持集,每个支持集包括C 个类别,每个类别 K 个样本,构建成 meta-task。再从这 C 个类中训练里剩余的数据中抽取一批样本作为模型的预测对象(batch set)。在一次训练下,要求模型从 C*K 个数据中学会如何区分这 C 个类别。而多次不停的从支持集到batch set的训练,训练网络的提取重要特征及比较样本相似等能力。真正的应用阶段,即使新选择的支持集里有了一个全新的类(斑马和鸭子,以前只学过马,鹅等),我们也可以通过少量的2-way 5-shot的训练,在测试里也能能较好地进行分类。         其实前期的大量的支持集到batch set的训练,更像是训练网络的认知能力,而不会过拟合或者其他的问题。后面的测试阶段,才更能体现少样本的特性---给少量的样本训练后去测试。当然,数据量比正常的深度学习少太多,是需要前期学习先验知识做代价的。

当然也可以训练集和测试集合并,统称为训练集

现在B公司(下面的公司),只有这些少量的数据集,要进行区分老虎狮子的分类任务,可以直接拿过A公司(上面的公司)训练好的少样本学习网络

进行简单新类训练,就可以让该网络拥有区分识别新类的能力

多关系检测模块作为分类器能有效抑制和过滤错误的背景

辅助集中有几类图片support分支就有几个

而如果出现多个辅助图片,就是多张马的照片,那么就让这些辅助图片依次通过共享网络然后取特征图平均值作为后面attention-RPN的辅助特征

分类器不仅要学习判断相同类的能力,还要学习区分不同类的能力à对比训练策略

RPN全称是Region Proposal NetworkRegion Proposal的中文意思是“区域选取”,也就是“提取候选框”的意思。

为什么要设计这样的模块:

因为训练集很少,不能像正常的目标检测那样把所有出现在图片上的所有可能的目标全部提取成候选框,之后再分类和回归,而是一开始就要求提取出和支持图片特征相似的候选框,也就是和目标特征相似的候选框。所以,在候选框的选择阶段不仅要过滤掉背景框还要过滤掉那些不属于辅助集中包含的类的框,所以作者想通过支持图片生成的特征来使RPN更专注于生成特定种类的框。

特征图G由于经过了由辅助类生成的核的卷积,与辅助类相关的部分会被放大,不相关的部分会被抑制,从而后续的RPN生成的候选框会更多地与辅助类相关。

全局关系头:用于学习全局匹配,首先将输入的两个通道数为c的特征拼接成通道数为2c的特征,然后将拼接后的特征平均池化成1*1*2c大小,接着使用两层带有RELU激活的全连接层进行处理,最后通过一个全连接层得出匹配分数

局部关系头:首先用共享权重的1*1*C的卷积核分别对输入的两个特征进行处理,然后将辅助特征作为卷积核在询问图片的特征图上做卷积获得相似性特征图,最后跟单层全连接层生成分数。

路径关系头:模块检测头开始也是将两个特征拼接,然后通过作者设计的卷积模块卷积,随后是两个并列的全连接层,一个生成匹配分数,另一个是边界框的预测。(这里作者解释的不清楚,也没有源码)

就好比训练一个机器不能总是找相似的特征,比如极端情况是把老虎狮子也当成同一类,因为发现都长4条腿;也要适当的找不同的地方,训练判别不同类的能力,但是也不能负样本过多,极端情况是一个人的不同表情也认为是不同类的物体。

该策略的具体方法:首先选择一个辅助集中与询问图片不同的类中的一个图片,作为负的辅助样例,就像右边这个图中一样,羊作为一个负的辅助样例,

然后作者进行了四种配对,分别是正辅助样例和前景的建议框正辅助样例和背景建议框负辅助样例和前景的建议框负辅助样例和背景的建议框。由于实际情况中负样本较多,作者将后两种合并,然后将三者比例定位121

这里训练时的损失函数分为两部分,一部分是二值交叉熵,一部分是fast-rcnn中的边界框损失函数。

实验结果证明让分类器学习判别区分不同类是很有价值的。并且,作者从实验结果中判断,只有一张负的辅助样例足以训练模型判别不同类的能力。(2-way)

实验里:

首先作者在ImageNet目标检测测试集上与较好的方法做了比较,在测试集上微调之后,作者的方法达到最好水平。

然后作者用只在FSOD数据集上训练,不进行微调的情况下直接应用到测试集上,也取得了很好的成绩,

说明这个新提出的数据集对少样本目标检测有很大贡献。

该数据集总共有大约六万六千张图片,十八万个边界框。跟COCO的十二万图片、88万边界框比算是比较少了。FSOD包含1000个种类的少样本训练集FSOD,这是为数不多的在目标检测领域的少样本数据集。它和之前别人提出的少样本目标检测共通的思想就是match。也算是一个方向:在目标检测问题中,若存在support时,match或许会有所帮助。

 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值