增量少样本目标检测 的目的是 在不忘记基类知识的情况下 检测出新类,只需从新类中提取 少量标记的训练数据。
之前的增量目标检测方法依赖于每个新类的丰富训练样本的可用性,这在很大程度上限制了新数据可能稀少的真实环境的可扩展性。
Incremental-DETR(增量DETR):通过 对DETR目标检测器进行微调和自监督学习 来进行增量少样本目标检测。为了缓解使用少量新类数据导致的严重过拟合,首先通过 使用 选择性搜索 作为伪标签 生成的额外的目标候选框 进行自监督 来微调DETR的类特定组件。
本文介绍了一种增量的少样本微调策略,该策略对DETR的类特定组件进行知识蒸馏,以鼓励网络在不发生灾难性遗忘的情况下检测新类。
Introduction:
大多数基于深度学习的目标检测器只能从训练期间看到的一组固定基础类中检测目标。在不损失基类性能的情况下,将目标检测器扩展到其他看不见的新类,需要对来自新类和基类的大量训练数据进行进一步的训练。仅对来自新类的训练数据进行微调可能会导致灾难性遗忘问题:当来自基类的训练数据不再可用时,基类的知识很快就会被遗忘。
当大量昂贵且获取繁琐的带注释的训练数据变得稀缺时,基于深度学习的目标检测器还存在严重的过拟合问题。
增量少样本目标检测 旨在不断将模型扩展到新类,而不会忘记每个新类只有少量样本的基类。
基于 两阶段Faster R-CNN 框架的少样本目标检测器,带有类未知特征提取器和 区域生成网络(Region Proposal Network, RPN)。在第一阶段,整个网络在丰富的基础数据上进行训练。在第二阶段,冻结类无关特征提取器和RPN,只有预测头在基类和新类组成的平衡子集上进行微调。
(class-agnostic 方式:只回归2类bounding box,即前景和背景,结合每个box在classification 网络中对应着所有类别的得分,以及检测阈值条件,就可以得到图片中所有类别的检测结果。这种方式最终不同类别的检测结果,可能包含同一个前景框,但实际对精度的影响不算很大,最重要的是大幅减少了bbox回归参数量。
本文使用 先进的DETR目标检测器 由一个CNN骨干网络:从输入图像提取特征图;一个投影层:减少特征图的通道维度;一个 encoder-decoder transformer:将特征图转换为一组目标查询query的特征;一个3层的前馈网络:作为回归头;一个线性投影:作为分类头。根据基于Faster R-CNN的方法,我们推测DETR的CNN主干、transformer 和回归头是类未知的。
该方法的关键部分是将 类未知组件 和 类特定组件 的训练分为两个阶段:
1) 基础模型的预训练和自监督微调,
2) 增量少样本微调。
在第一阶段的第一部分,对整个网络进行大量基类数据的预训练。在第一阶段的下一部分,本文提出了一种自监督学习方法,用可用的丰富基类数据来微调 类特定投影层 和 分类头。
在第二阶段,冻结 类未知的CNN主干、transformer 和回归头。在只有新类的少量样本上 微调 类特定的投影层和分类头。
通过在这两个阶段 识别和冻结类未知组件,可以缓解灾难性遗忘。
在这两个阶段 对类特定组件的微调 缓解了过拟合问题,同时赋予网络检测新类目标的能力。
本文利用 选择性搜索算法 生成额外的目标候选,这些候选框可能存在于背景中,作为伪真值标签,在第一阶段 微调网络以检测类别未知的区域候选框。
本文在 类特定的投影层和分类头上 进行多任务学习,其中 生成的伪标签用于自监督模型,同时从丰富的基类数据中进行全监督。这有助于模型在不忘记基类的情况下扩展到新类。
此外,除了现有的DETR损失之外,本文本文的增量少样本微调阶段还提出了 一个分类蒸馏损失 和 一个掩码特征蒸馏损失,可以阻止灾难性遗忘。
Contributions:
1. 本文提出了增量DETR来解决具有挑战性且相对缺乏探索的增量少样本目标检测问题。
2. 本文将微调策略应用到两阶段框架中,以避免灾难性遗忘和过拟合问题。本文还为该模型设计了一种自监督方法,以便在新的类别稀缺的情况下学习更多的可扩展和可迁移的特征。
3. 在两个标准目标检测数据集(即MS COCO和PASCAL VOC)上进行的大量实验表明,本文方法比现有技术水平有了显著的性能改进。
现有的深度目标检测模型通常分为两类:单阶段和双阶段。
双阶段检测器:
• R-CNN 应用深度神经网络从 选择性搜索 生成的候选框中提取特征。
• Fast R-CNN 利用可微的 RoI 池化 来提高速度和性能。
• Faster R-CNN 引入了区域生成网络(RPN)来生成候选框。
• FPN构建了一个自上而下的体系结构,该体系结构具有横向连接,可以跨多个层提取特征。
单阶段检测器:
• YOLO 直接在特征图上执行目标分类和边界框回归。
• SSD 使用 具有不同锚框尺寸的特征金字塔 来覆盖可能的目标尺度。
• RetinaNet 提出了 Focal Loss,以缓解不平衡的正样本和负样本。
另一种目标检测方法通过 Hungarian bipartite 匹配 直接端到端监督边界框预测。
然而,这些检测器在每个类中需要大量的训练图像,并且需要训练很多周期,因此在增量少样本学习的情况下,会产生对基类的灾难性遗忘和过拟合问题。因此,必须将检测器的能力扩展到新的类别,而不需要使用仅有少量样本的原始的基础训练数据。
之前的少样本目标检测工作使用了 元学习策略 和 基于两阶段微调的方法 。
本文的 增量DETR 属于 两阶段微调策略 的范畴, 通过 将两阶段微调策略 纳入最近提出的DETR框架,来考虑更具挑战性和实用性的增量少样本学习设置。
本文在 DETR目标检测器 上进行增量少样本目标检测。由于DETR是一个比上述两个网络 更复杂、更深的 网络,因此需要大量的训练数据和计算时间才能收敛。因此,使DETR适应增量少样本学习更具挑战性。
自监督学习通常也被视为可用于改进其他任务的辅助任务,例如半监督学习、少样本学习、改进领域泛化等。
本文利用自监督的优势来学习 DETR的类未知投影层,而不是训练整个模型。
根据 类增量学习的定义,我们只能访问新的类数据Dnovel,其中ynovel∈ {C B+1,…,C B+N}。基类数据Dbase不再可访问,其中ybase∈ {C1,…,CB}。Dbase和Dnovel 没有重叠的类。训练数据集Dbase有丰富的带标注实例。相反,Dnovel的注释实例非常少,通常被描述为一个 N-way K-shot训练集,其中有N个新类,每个新类有K个注释目标实例。
增量少样本目标检测的目标是在不忘记基类知识的情况下,仅从几个训练样本中不断学习新类。为此,本文使用 Deformable DETR 作为目标检测器。
本文将 增量DETR 的第一阶段 分为 基础模型预训练 和 微调。
1.1 在基础模型预训练中,只在基本类上训练整个模型,其损失函数与DETR中使用的损失函数相同。采用成对匹配损失:
匹配损失同时考虑了类别预测,以及预测和真值之间的相似性。
![](http://img.e-com-net.com/image/info8/31997dbc916644669f8cca744e0c2955.jpg)
上一步中匹配的所有对的Hungarian Loss 定义为:
![](http://img.e-com-net.com/image/info8/87b43ea671c94e14a4cd85e9c916c98f.jpg)
其中
表示预测和目标之间的最佳分配。Lcls是sigmoid Focal Loss ,Lbox是l1 loss和广义IoU loss的线性组合,具有与DETR相同的权重超参数。
![自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning_第2张图片](http://img.e-com-net.com/image/info8/409764295bc245fe9912d3033ac142d4.jpg)
为了使DETR的 类特定组件 的参数 在增量少样本微调阶段 能够很好地推广到具有少量样本的新类,本文以自监督的方式 微调类特定组件,同时在第一阶段的基础模型微调中 保持类未知组件冻结,其中,模型的参数用 预训练的基础模型 初始化。
基础模型微调 依赖于 对基础数据的其他潜在类未知对象 以及基础类的真值对象进行预测。本文使用 选择性搜索算法 为每个原始图像生成一组 类别未知的目标候选框。
选择性搜索是一种成熟且非常有效的无监督目标候选框生成算法,它利用颜色相似度、纹理相似度、区域大小和区域间的匹配度来生成目标候选框。然而,目标候选框的数量很大,排名也不准确。为了避免这个问题,我们使用选择性搜索算法中的目标排序 来删除不精确的目标候选框。
具体来说,选择排名列表中 与基类的真值目标不重叠的前O个对象 作为伪真值目标候选框。
![](http://img.e-com-net.com/image/info8/5d0fcbe22644444280c38bc766c01112.jpg)
![](http://img.e-com-net.com/image/info8/b6b115d8d5104b3bb0c7287656510595.jpg)
![自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning_第3张图片](http://img.e-com-net.com/image/info8/19f2f99180824b5da642760aba2777a4.jpg)
如图2所示,首先用 第一阶段微调的基础模型 初始化 新模型的参数。然后,在冻结类未知组件的时候,使用一些新类的样本来 微调 类特定的投影层和分类头。然而,在新类学习过程中,投影层和分类头的不断更新会加剧基类的灾难性遗忘。
因此,本文使用 知识蒸馏 来缓解灾难性遗忘。具体而言,基础模型 用于防止新模型的投影层输出特征 与 基础模型的投影层输出特征 偏离太多。然而,在全部的特征映射上 直接 知识蒸馏 会影响性能。本文使用 新类的 真值边界框 作为二进制掩码,以防止 基础模型的特征 对 新类的学习产生负面影响。
![](http://img.e-com-net.com/image/info8/11d36664b3ba43ebb12dbd57045ab4df.jpg)
对于DETR 分类头 上的知识蒸馏,首先 从基本模型的M个预测输出中 选择预测输出作为基本类的伪真值。
对于输入的新图像,当其类概率大于0.5且其边界框与新类的真值边界框没有重叠时,我们将基础模型的预测输出 视为基础类的伪真值。然后,采用KL散度损失
![](http://img.e-com-net.com/image/info8/8f21709ef00147d09b267a919d30e226.jpg)
![](http://img.e-com-net.com/image/info8/46c4121b6db44ad5abf3d0e93c6c4054.jpg)
Conclusion:
本文提出了一种新的增量少样本目标检测框架:针对更具挑战性和现实性的场景,没有来自基类的样本,只有来自新类的少量样本。本文使用 两阶段微调策略 和 自监督学习来保留基类的知识,并学习更好的泛化表示。然后,利用 知识蒸馏策略,使用新类中的少量样本,将知识从基础转移到新模型。在基准数据集上的大量实验结果表明了该方法的有效性。