摘要
近年来,尽管目标检测技术取得了巨大成功,但现有的优秀检测器在处理尺寸受限的小型实例时仍然存在挑战。主要问题在于先验与目标区域之间的重叠度低,导致优化过程中可用样本池受限,且小型实例缺乏区分信息,进一步加剧了识别难度。为了缓解这些问题,论文提出了CFINet,这是一个基于粗到细的流水线和特征模仿学习的两阶段小型目标检测框架。
拟解决的问题
论文针对的主要问题是小型目标检测(SOD)中的两个挑战:一是训练样本不足且质量低下;二是对感兴趣区域(RoIs)的不确定预测。
创新之处
- Coarse-to-fine RPN (CRPN):通过动态锚点选择策略和级联回归,确保小型对象有足够且高质量的提议。
- 特征模仿(Feature Imitation, FI)分支:通过模仿学习,增强模型对尺寸受限实例的区域表示能力。
- 辅助模仿损失:遵循监督对比学习范式,设计了一种优化FI分支的损失函数。
方法
- CRPN:提出了一种基于面积的锚点挖掘策略,通过粗略回归和区域提议网络的二次回归与分类来生成高质量的提议。
- FI分支:引入了一个辅助的FI分支,利用高质量实例的区域特征来指导那些模型难以确定的小型实例的学习。
- 损失函数:基于监督对比学习(Supervised Contrastive Learning, SCL)设计了损失函数,优化整个模仿学习过程。
4.1 Towards Better Proposals
4.1.1 级联RPN的局限性
尽管Cascade RPN在一般尺度的对象上表现出卓越的性能,但由于其固有的局限性,无法很好地处理非常小的对象。具体来说,第一阶段回归中使用的距离度量不能保证具有显着小中心区域的小物体有足够的潜在锚点。此外,Cascade RPN 仅将单个金字塔级别的合格锚点标记为正,而这种启发式方案只是丢弃其他级别的那些可能锚点,这些锚点仍然可以传达小对象的存在和粗略的位置信息。
拓展阅读:
RPN(区域建议网络)
- 架构描述:这是最基本的RPN架构。输入图像(I)经过骨干网络(Backbone)的特征提取,生成的特征图被输入到两个卷积层中。一个卷积层(C Conv)用于分类任务,识别图像中的物体类别;另一个卷积层(A Conv)用于锚点回归,确定物体的边界框位置。头部卷积层(H Conv)将这些信息结合起来,生成区域建议。
迭代RPN
- 架构描述:迭代RPN在基本RPN的基础上增加了一个迭代过程。第一阶段的输出特征图通过第一组卷积层(C1 Conv,A1 Conv)进行处理,然后将结果作为输入传递到第二阶段,第二阶段使用第二组卷积层(C2 Conv,A2 Conv)进行进一步的处理。每个阶段都在前一阶段的基础上进行改进。
迭代RPN+
- 架构描述:迭代RPN+是在迭代RPN的基础上进一步增强的版本。在第二阶段的卷积层之前,加入了一个偏移卷积层(Offset Conv),并在第二阶段中使用了可变形卷积层(DefConv)。这些卷积层能够更加灵活地处理目标的形状和大小变化。
GA-RPN(引导锚定RPN)
- 架构描述:GA-RPN引入了更高级的锚点生成机制。除了常规的分类和回归卷积层外,还增加了位置卷积(Loc Conv)和形状卷积(Shape Conv),用于指导锚点的生成。此外,还包括偏移卷积(Offset Conv)和可变形卷积(DefConv),进一步提高了锚点与目标的匹配度。
级联RPN
- 架构描述:级联RPN通过级联多个阶段来生成区域建议。在每个阶段,使用膨胀卷积(DilConv)和自适应卷积(AdaConv)来处理特征图。每个阶段的输出特征图被用于后续的阶段,逐步优化区域建议的质量。级联结构能够更好地利用多层特征,提高了最终的检测精度。
4.1.2 Coarse-to-fine RPN
为了解决Cascade RPN在处理小实例时上述问题,我们提出了粗到细RPN。首先,我们设计了一种基于区域的锚点选择策略,使不同大小的实例可以有(相对)足够的潜在锚点。具体来说,对于宽度为 w 且高度 h 的对象框,任何 IoU 大于 的锚点都将被视为粗回归的正, 公式如下:
其中 γ 表示比例因子,在我们的实验中设置为默认 0.15,术语 12 实际上对应于 SODA 数据集的最小区域定义,这使得极端大小的对象有足够的样本,并且可以针对不同的数据集进行调整。此外,γ 和 max 操作使优化不被低质量先验淹没。采用IoU作为挖掘潜在锚点的标准,可以避免Cascade RPN多阶段回归的优化不一致性。同时,该模型在所提出的连续阈值之上以更平滑的方式确定正样本。
与Cascade RPN不同的是,我们保留了所有特征金字塔网络(FPN)级别的锚{P2, P3, P4, P5}来执行一级回归。通过这种方式,我们可以为非常小的实例挖掘足够的潜在锚点,同时,较大的实例仍然可以获得适当的注意力,因为与它们匹配的锚点具有自然更高的 IoU。经过第一阶段回归后,我们捕获回归框内的偏移量,并将它们与特征图输入到 RPN 中,其中利用自适应卷积来对齐特征并进行第二阶段回归和前景背景分类。
4.1.3 损失函数
其中我们分别使用交叉熵损失和 IoU Loss作为 和 。中的c和f表示CRPN中的粗阶段和细阶段,注意我们只在后一阶段进行分类。损失权重α1和α2分别设置为9.0和0.9。
4.2 小目标检测的特征模仿
小目标由于其尺寸限制,往往缺乏足够的区分信息和结构清晰度,这导致模型难以准确预测。为了解决这个问题,特征模仿方法利用高质量实例的区域特征来指导模型学习那些具有不确定性或错误预测的小目标的表示。
主要组件:
- 示例特征集(Exemplar Feature Set):这是一组存储高质量实例的RoI(Region of Interest)特征的数据结构。这些高质量实例作为模仿学习过程中的“老师”,提供正确的特征表示。
- 特征到嵌入(Feat2Embed)模块:这是一个将输入特征映射到嵌入空间的网络模块。它首先通过连续的3x3卷积层抽象出紧凑的表示,然后通过两层感知机和一个嵌入层将特征映射到128维的空间中。
工作流程:
- 确定高质量实例:通过一个简单质量指标(Instance Quality, IQ)来评估每个实例的质量,并确定哪些实例可以作为高质量的示例。IQ是通过考虑预测的分类向量和与真实框的IoU来计算的。
- 特征增强:对于高质量的实例,使用特定的变换函数Γ(例如随机平移和缩放)来增强特征,生成多个正样本。
- 特征嵌入:使用Feat2Embed模块将输入特征和增强后的特征映射到嵌入空间。
- 模仿学习:通过设计一个基于监督对比学习(Supervised Contrastive Learning, SCL)的损失函数,将不确定或错误预测的实例的特征向高质量实例的特征拉近,同时推远与其他类别和背景的特征。
4.2.1 高质量实例
是指那些具有精确定位和高置信度分类得分的实例。这些实例能够提供真实且可靠的指导或监督,帮助模型改善对小目标的检测。IQ是一个量化指标,用于评估模型当前检测能力。它通过考虑预测的分类向量和与真实框(Ground-Truth, GT)的交并比(IoU)来计算。IQ的计算公式如下:
S′是从预测集中选择的潜在高质量实例的子集,是预测类别向量与真实类别向量的匹配程度,是预测框与真实框的IoU。
通过设置适当的质量阈值(),可以选择出那些可以作为好范例的实例。实例的IQ高于这个阈值时,它们被认为是高质量的,并且可以作为模仿学习过程中的范例。
4.2.2 Feat2Embed模块
Feat2Embed模块的主要目的是将Region of Interest (RoI)特征转换成一个低维的嵌入表示,这个表示能够捕捉到特征的本质属性,同时减少计算复杂度。在特征模仿学习中,这个嵌入表示用于计算提议特征与高质量范例特征之间的相似度。
- 输入处理:Feat2Embed模块接收来自RoI池化层的输入特征,这些特征通常是高维的,并且包含了目标区域的视觉信息。
- 特征抽象:输入特征首先通过连续的3x3卷积层进行处理,这些卷积层没有填充(padding),目的是抽象出紧凑的表示。
- 维度降低:经过卷积层处理后的特征会被进一步映射到更低维度的空间。这通常通过一个或多个全连接层(或称为感知机层)来实现。
- 嵌入层:最终,特征通过一个嵌入层被映射到一个固定维度的嵌入空间,论文中使用的嵌入维度是128维。
4.2.3 损失函数
其中表示样本集,和分别表示正、负集合,理想情况下它们具有相同的基数,和表示和的正、负样本,表示模仿分支的输出。此外,j表示当前提案,τ表示温度,温度在对比学习中起着至关重要的作用,需要精心设计,我们进行了实验,以确定我们框架中的最佳设置。总损失函数表示为:
其中和是检测头的原始损失,用于缩放特征模仿部分的权重。通过持续学习设置,不仅可以实现模仿学习,还可以防止崩溃问题,从而有效地提升小实例的表示。此外,模仿过程仅在训练阶段安装,不会减慢推理速度。