《Small Object Detection via Coarse-to-fine Proposal Generation and Imitation Learning》
通过由粗到精的区域提议网络和模仿学习进行小目标检测
期刊:ICCV 2023
原文:https://arxiv.org/abs/2308.09534
源码:https://github.com/shaunyuan22/CFINet
1. 研究背景
小目标检测在许多场景中具有重要作用,但目前的通用目标检测器在处理小目标时存在不足,主要面临样本不足、质量低以及 RoI 预测不确定等挑战。
当前基于重叠或距离的先验到提议范式在检测小目标时存在局限性,且现有的分配或采样方案对解决该问题贡献较小。
小目标通常缺乏判别性信息和扭曲的结构,导致模型预测不准确,现有方法通过 GAN 或相似性学习来弥补小目标和大目标之间的表示差距,但存在一些问题。
2. 相关工作
2.1 Anchor Refinement 和 Region Proposals
两阶段基于锚点的方法依赖高质量的候选区域,RPN 用于产生候选区域,后续工作对锚点生成进行改进,但当前的提议框架难以产生小目标的高质量候选区域。
2.2 Feature Imitation for Small Object Detection
通过挖掘小目标和大目标之间的内在相关性来提升小目标的语义表示,但大多数方法依赖 GAN,存在训练复杂、易产生假纹理等问题,且一些方法基于相似性学习,可能导致特征崩溃或内存负担。
2.3 Contrastive Learning for Object Detection
自监督学习中的对比学习在目标检测中有所应用,但利用对比学习提升小目标表示的潜力尚未被充分挖掘。
3. 研究方法 - CFINet
提出了CFINet的由粗到精的区域提议网络和模仿学习进行小目标检测。
3.1 由粗到细的Coarse-to-fineRPN:CRPN
Cascade RPN 在处理小目标时存在局限性,如依赖启发式锚点设置、对小目标中心区域关注不足、在单个金字塔级别标记正锚点等。
受到Cascade RPN启发,提出 Coarse - to - fine RPN(CRPN),通过基于面积的锚点选择策略和级联回归来为小目标提供高质量的提议。保留所有 FPN 级别的锚点进行第一阶段回归,并使用自适应卷积进行特征对齐和第二阶段回归。
损失函数:CRPN 的训练目标损失函数包括交叉熵损失和 IoU 损失,具体公式为
3.2 特征模仿Feature Imitation:FI
设计了特征模仿(Feature Imitation, FI)head结构,包含样本特征集(Exemplar Feature Set)和特征嵌入模块(Feature-to- embedding, Feat2Embed)。样本特征集用于保留高质量的ROI特征,特征嵌入模块用于将区域特征映射到嵌入空间。
样本特征集:引入 Instance Quality(IQ)指标来确定高质量示例,通过设置适当的阈值选择合适的实例构建教师特征集并进行模仿过程。
特征嵌入模块:特征嵌入模块将区域特征映射到嵌入空间,通过连续的 3 × 3 卷积层和两层感知机进行处理,实验探究了不同的设计选择和结构。
3.3 Loss Function
FI 分支的损失函数基于监督对比学习,通过计算提议的 RoI 特征与高质量实例存储特征在嵌入空间中的相似度,来拉近混淆模型的实例特征与所属类别的示例特征的距离,并推开与其他类别和背景的示例特征的距离。总损失函数为:
4. 实验
在专门为小目标检测定制的大规模基准数据集 SODA 上进行实验,包括 SODA - D 和 SODA - A,SODA 中的实例非常小,且包含大量忽略注释,以帮助模型关注有价值的小实例。