此笔记用于作者整理所看论文思路,来从中汲取发论文的idea。
参考博客:Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector_光明顶上的5G的博客-CSDN博客
ROI Pooling原理及实现_Elag的博客-CSDN博客_roipooling
元学习的概念
元学习(Meta-Learing),又称“学会学习“(Learning to learn),即利用以往的知识经验来指导新任务的学习,使网络具备学会学习的能力,是解决小样本问题(Few-shot Learning)常用的方法之一。
1.元学习中的”元“是什么意思?
元学习的本质是增加学习器在多任务的泛化能力,元学习对于任务和数据都需要采样,因此学习到的可以在未出现的任务中迅速(依赖很少的样本)建立起mapping。因此”元“体现在网络对于每个任务的学习,通过不断的适应每个具体任务,使网络具备了一种抽象的学习能力。
2.元学习中的训练和测试?
Meta-learning中为了区别概念,将训练过程定义为”Meta-training“、测试过程定义为”Meta-testing“, 如下图所示:
如上图,区别于一般神经网络端到端的训练方式,元学习的训练过程和测试过程各需要两类
数据集(Support/Query set),其构建方式为:
如上图所示的小样本分类任务属于” N-way k-shot“问题,其中,N代表选择的Testing data
中样本的种类,k代表选择的K类Testing data中每类样本的数量,一般来说N小于Testing
data的总类别数。
· 如何构建S’和Q‘?
我们从Testing data中随机选出 N 个类。然后,再从这 N 个类中按照类别依次随机选出 k+x
个样本(x 代表可以选任意个),其中的 k 个样本将被用作 Support set S',另外的 x 个样
本将被用作 Query set Q'。S和Q的构建同理,不同的是从Training data中选择的样本类别和
每类样本数量均不做约束。
· 如何训练?
Meta-learning 通常采用一种被称为 Episodic Training 的方法来进行训练。
3. ”元学习“和”迁移学习“的区别和联系?
从目标上看,元学习和迁移学习的本质都是增加学习器在多任务的范化能力,但元学习更偏
重于任务和数据的双重采样,即任务和数据一样是需要采样的,具体来说对于一个10分类任
务,元学习通过可能只会建立起一个5分类器,每个训练的episode都可以看成是一个子任
务,而学习到的可以帮助在未见过的任务里迅速建立mapping。而迁移学习更多是指
从一个任务到其它任务的能力迁移,不太强调任务空间的概念。
ROI Pooling(region of interest)
1.ROI Pooling的输入
从具有多个卷积核池化的深度网络中获得的固定大小的feature maps;一个表示所有ROI的N*5的矩阵,其中N表示ROI的数目。第一列表示图像index,其余四列表示其余的左上角和右下角坐标
2.ROI pooling具体操作如下
根据输入image,将ROI映射到feature map对应位置;将映射后的区域划分为相同大小的sections(sections数量与输出的维度相同);对每个sections进行max pooling操作;
此外,该论文从Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector(cvpr)中获得灵感。
传统的目标检测方法通常需要大量的训练数据,而准备这样高质量的训练数据是费时费力的。本文提出了一种新的小样本检测网络,其目标是检测只有几个训练用例的未见过的类别对象。方法核心是注意力RPN、多关系检测器和对比训练策略。它充分利用少量训练样本和测试集之间的相似度来检测新对象,同时抑制背景中的错误检测
基于注意力的区域生成网络
在小样本检测中,区域生成网络产生可能相关的框,用于之后的检测任务。特别是,区域生成网络不仅应区分对象还是非对象,还应过滤掉不属于支持类别的其他对象。
注意力区域生成网络如上图所示,支持特征被平均池化合并到1x1xc向量。然后计算与查询特征的深度互相关,其输出用作关注特征并feed到区域生成网络。
通过关注机制向区域生成网络引入支持信息,并指导区域生成网络生成相关proposal,同时禁止其他proposal。具体来说,以深度方式计算支持特征图与查询特征图之间的相似度,然后利用相似度图来构建生成的proposal。
多关系检测器
在R-CNN框架中,区域生成网络模块后面是一个检测器,它的重要作用是重新对proposal进行评分和类识别。因此,我们希望检测器具有很强的区分不同类别的能力。为此,我们提出了一种新的多关系检测器,可以有效的测量来自查询和支持对象的生成框之间的相似性。
该检测器包括三个注意力模块,分别是全局关系头(为全局匹配学习深度嵌入)、局部匹配头(学习支持与查询提议中的像素与深度级别相关性)和patch关系头(学习patch匹配的深度非线性度量)
本文还参考了Non-local neural networks
Non-local block
回归正文:Learning to Filter: Siamese Relation Network for Robust Tracking
摘要:
提出了一种新型的孪生网络,该网络引入了两个有效的模块,即关系检测器(RD)和细化模块(RM)。RD以元学习的方式进行,以获得从背景中过滤干扰物的学习能力,而RM的目的是将所提出的RD有效地整合到Siamese框架中,以产生准确的跟踪结果。
贡献:
1.为了将RD获得的信息与分类分支相结合,对跟踪结果进行细化,我们设计了细化模块(refine Module),该模块可以联合进行分类和回归,对目标进行定位,减少了两个分支之间的不匹配。
2.在五个流行的基准测试上取得了最先进的结果,包括VOT、VOT、OTB100、LaSOT和UAV123,这证实了我们提出的方法的有效性。
Method
我们采用SiamBAN[4]作为我们的baseline,采用ResNet-50[16]作为Siamese网络的backbone。对其进行骨干网处理后,得到多尺度特征图,用于互相关运算。然后利用基于深度度量的可转移知识的关系检测器(Relation Detector, RD)度量回归分支生成的目标与建议之间的关系。最后,将RD的输出与分类结果相结合,提炼模块生成跟踪结果的预测。
Relation Detector
全局检测器的目标是通过深度嵌入来比较它们的全局特性,而本地检测器则试图在像素和通道方面进行更详细的比较。对于补丁检测器,我们设计它来学习不同补丁之间的关系。
Refinement Module
分类和回归是基于cnn的跟踪器的两大支柱,它们通常是独立优化的,导致它们之间的不匹配问题。具体来说,分类置信度最高的位置对应的方框不是最准确的,甚至不是被跟踪的目标。我们设计了一个精细化模块,有效地将提出的RD集成到Siamese框架中。首先,我们利用RD的输出,并将其转换为大小为25 × 25 × 1的匹配分数。然后,我们将匹配分数与分类分支的互相关特征图进行逐元素乘法,通过抑制伪正位置来过滤背景中的干扰物。然后将改进后的相关特征通过卷积层生成改进后的分类置信值。在细化模块中,我们将回归分支和分类分支的信息结合起来,联合操作来预测目标位置,从而缓解失配问题。
Ground-truth and Loss function
说明用来训练模型的损失函数。
总结,从cvpr的目标检测论文中获取灵感,应用在目标跟踪上,他们的多关系检测器是相同的。