类间不平衡(class imbalance) | 尺度不平衡(scale imbalance) | 空间不平衡(spatial imbalance) | 多任务不平衡(objective imbalance) | |||
背景-前景不平衡 | 前景-前景不平衡 | 目标尺寸不平衡 | 特征尺度不平衡 |
定义
类间不平衡: 属于不同类别的样本数量差异显著。
- 前景-背景不平衡:正负例样本数量差异显著,比如rpn提出的候选框负例远大于正例。
- 前景-前景不平衡:检测的目标其出现频率在数据集中存在差异,比如人出现的频率比熊高。
尺度不平衡:检测目标有不同的尺度,不同数量的样本属于不同的尺度(也即是说相同尺度的检测目标的数量不等,比如在COCO数据集中,大部分检测目标的尺度较小)。
- 目标尺度不平衡:检测目标尺度差异显著。
- 特征尺度不平衡:为解决目标尺度不平衡,使用较多的方案是结合多层特征用于预测,结合多层特征时就会出现特征尺度不平衡问题,也就是高层语义特征与底层细节特征的差异。
空间不平衡:指边界框的空间属性(eg.大小,位置)的不平衡,也即不同的边界框对回归损失的贡献不平衡,比如说回归任务时损失函数选择不当,那么可能就会出现边框位置轻微移动,而损失大幅波动的情况,也可能相反,具有较高得分的边框和较低得分的边框损失差距却很小,
多任务不平衡:指在训练网络时多任务loss函数的不平衡。目标检测需要多任务损失,以便同时解决分类和回归任务。
解决方案
前景背景不平衡
做法包括但不限于:
硬采样:
1. 按照设定的比例随机采样正负样本用于训练,比如1:1,1:3。
2. 在线困难样本挖掘 OHEM:随机硬采样的方法认为较为平衡的正负样本能带来更好的训练效果,而OHEM基于这样的假设:训练更多困难的样本更能带来好的效果,困难的样本在OHEM中被认为是损失较大的样本。于是OHEM先前向计算得到每个样本的损失,前B个较大损失的样本用于反向传播训练网络,其余样本则不参与。
软采样:动态地为样本赋予(0,1)间的权重,(硬采样相当于只取{0,1}),不同计算权重的方式引出了不同的方法,比如:Focal Loss,权重,以及GHM,PISA等。
生成方法:通过人工生成样本注入到数据集中,比如基于GAN的方法 Adversarial-Fast-RCNN,该方法产生具有遮挡和变形的困难样本用于训练。比如 Progressive and Selective Instance-Switching(PSIS),该方法根据视觉上下文,在一对图像上交换属于相同类的两个对象,产生新的样本。
前景前景不平衡在目标检测相关研究较少,图像分类里蛮多的。
目标尺度不平衡
尺度不平衡就是检测目标的大小具有多样性。解决尺度不平衡问题也就是解决如何有效检测出多尺度目标。主要方案有三种,基于图像金字塔的方法(d),基于特征金字塔的方法(c),以及基于图像和特征金字塔的混合方法 (e)。
基于图像金字塔的方法:SNIP,SNIPER,内存和计算代价大,但是效果较好,毕竟特征金字塔也是为了对图像金字塔做一个近似。
基于特征金字塔的方法:众所周知的FPN,但是FPN融合高低特征的过程引出了新的不平衡-特征不平衡。
基于特征和图像金字塔的混合方法:Efficient Featurized Image Pyramids,Enriched Feature Guided Refinement Network ,Scale Aware Trident Networks等。
特征尺度不平衡
FPN处会出现特征不平衡,常理来说融合高低层特征时都会出现这种不平衡,语义分割模型里也是如此。至于为什么归纳在尺度不平衡中可以这样理解,一个目标在高低层处的特征尺度是不一样的。比如一个16x16的目标,在底层的特征尺度为8x8,而在高层就只有1x1。当然本质上还是高低层特征的语义信息差异较大。方法很多,一类是在FPN的基础上提升,一类是提出完全崭新的结构。
在FPN基础上做提升的有:PANet,Libra FPN。
新结构:Scale Transferrable Detection Network. Parallel FPN. Deep Feature Pyramid Reconfiguration.Zoom Out-And-In Network.Multi-Level FPN. NAS-FPN. 等等。
讨论
FPN形式的设计还存在这样一个问题:这类方法是根据框的大小选择在某一层进行预测,如果数据集中目标尺度分布不均衡,那么在训练网络反向传播时就存在困难。
空间不平衡
解决办法通常是设计损失函数,检测中设计的损失函数主要有两类:
1.基于范数的损失函数,例如 等,
2.基于IoU的损失函数,IoU loss,Bounded IoU loss 等。
多任务不平衡
主要解决方案是对每个任务赋予一个权重,权重作为超参数在验证时确定。缺点是随着任务数量的增多,需要设置的权重数量也会增多。对于结合分类和回归任务,更加出色的方法是Classification-Aware Regression Loss (CARL) 。CARL为了有效联合多任务,让边界框的回归损失由分类置信度决定的系数进行缩放。
[1] Imbalance Problems in Object Detection: A Review
不对之处,请多指正~。:)