Loading

目标检测中的长尾类别问题:稀有类样本不足的完整处理方案

目标检测中的长尾类别问题:稀有类样本不足的完整处理方案

长尾类别 / 少样本类别问题是检测任务里最常见的痛点之一。以车辆检测为例,核心矛盾非常典型:轿车样本量大,视角、尺度、外观的覆盖足够多样;而卡车和公交车样本少、覆盖不全,模型学不到稳定的表征,甚至倾向于把稀有类预测成轿车——这就是典型的多数类偏差。

本文按“性价比从高到低”的顺序,把处理方案从类别定义、数据、损失、训练策略到评估方法完整梳理一遍,作为一份可以照着执行的实战手册。

一、先确认类别定义本身是否合理

动手调模型之前,先问一个问题:卡车和公交车必须作为独立类别吗?

  • 如果下游任务只需要区分“小客车 vs 大车”,完全可以把卡车、公交车合并成 large_vehicle 超类,样本量立刻翻倍以上。
  • 如果必须细分,再考虑用属性字段(如 vehicle_type)在框内做二次分类,而不是让检测头直接硬分。

合并类别是长尾问题里“零成本、最大收益”的手段,别忽略。

二、数据层面(最有效,优先做)

① 重复采样(Repeat Factor Sampling,RFS)

LVIS 长尾检测的经典做法:根据每个类别的样本频率计算一个 repeat factor,让稀有类样本在训练时被重复采样的概率更高,相当于过采样与多数类欠采样的折中。MMDetection 等框架直接支持,改动极小,通常能带来几个点的稀有类 AP 提升。这是第一步就该做的。

② 类别均衡的 batch 构造

如果 RFS 不够,可以用 ClassAwareSampler:强制每个 batch 里稀有类至少出现 N 个样本,防止某些 batch 完全不含稀有类。

③ Copy-Paste / 实例粘贴增强

把稀有类目标的实例(连同掩码或框)抠出来,随机粘贴到其他图像的背景上。这能成倍扩充稀有类“位置 + 背景 + 尺度”的组合,同时提供更丰富的上下文多样性。Simple Copy-Paste、Cut-Paste 系列工作证明这对检测/分割的稀有类非常有效。即使没有分割掩码,用 bbox 抠图粘贴也有效。

④ 主动补充真实数据

  • 从公开数据集中挖掘:KITTI、Cityscapes、BDD100K、UA-DETRAC 里有大量卡车/公交车。
  • 从视频抽帧:稀有类在视频里往往是连续出现的,抽帧可以低成本扩充。
  • 主动学习:用当前模型找“卡车/公交车被错检、漏检”的区域,定向补采。

⑤ 合成/渲染数据(成本高,按需)

用 3D 渲染或 GAN 生成稀有类,适合极端少样本(每类几十张)的情况,但需要验证 domain gap。

三、训练/损失层面

① 损失加权 / 类别平衡损失

  • 对稀有类加更大的 loss 权重(reweighting)。
  • Class-Balanced Loss(Cui et al.)用有效样本数自动定权重,比手工调权重更稳。

② Focal Loss 的适用范围

注意:Focal Loss 主要解决前景/背景和难易样本不平衡,对类间不平衡作用有限。如果你的稀有类漏检主要是因为“被背景淹没”,focal loss 有帮助;如果是“被轿车抢走”,还得靠采样/加权。

③ Seesaw Loss / Equalization Loss

专门为长尾检测设计的损失。Seesaw Loss(LVIS)动态抑制多数类对稀有类的梯度压制,避免模型把稀有类“吞”成多数类。如果数据集长尾很严重(稀有类比多数类少 100 倍以上),值得一试。

四、训练策略:两阶段微调

Class-Aware Fine-Tuning:

  1. 第一阶段用全量数据(含 RFS)正常训练到收敛;
  2. 第二阶段冻结骨干/颈部,只在小样本类别样本(或均衡采样子集)上微调检测头和分类器。

这能避免稀有类的梯度在长训练中被多数类“洗掉”,是很实用的一招。

五、方法层面的借鉴(可选)

如果卡车/公交车样本少到每类只有几十张,可以引入 few-shot detection 的思路:

  • TFA(Two-stage Fine-tuning Approach):冻结骨干,只在少数样本上微调。
  • FSCE:加入对比学习,让稀有类特征在 embedding 空间更可分。
  • 分类器重平衡(decoupled training):训练完检测器后,只用类别均衡的少量数据重新学习分类头权重(类似长尾分类里的 cRT / LWS),不动特征提取器。

六、评估一定要分开看

  • 不要只看 mAP,按类报告 AP,卡车/公交车的 recall 和 AP 单独盯着。
  • 用混淆矩阵看稀有类是不是被误判成轿车(多数类偏差的典型症状)。
  • 如果任务对稀有类有硬性指标(如“卡车漏检率必须 < X%”),把这个指标写进训练目标,而不是事后补救。

推荐执行顺序(性价比排序)

优先级手段成本收益
1重新审视类别定义(合并/属性化)极低高(可能直接解决)
2Repeat Factor Sampling极低中高
3Copy-Paste / 实例粘贴增强低中高
4补充公开/视频/主动采集数据中高
5Class-Balanced Loss / 类别加权低中
6两阶段微调(冻结骨干重训头)中中高
7Seesaw Loss / FSCE / 分类器重平衡中高视长尾程度

小结

先看能不能合并类别;不能就上“重复采样 + 复制粘贴增强”,这两个改动小、见效快;长尾特别严重再上专门的损失(Seesaw / Class-Balanced)和两阶段微调,同时务必按类报告指标,别被整体 mAP 骗了。

参考资料

posted @ 2026-11-04 20:15  SaTsuki26681534  阅读(10)  评论(0)    收藏  举报