本文共 2256 字,大约阅读时间需要 7 分钟。
文章目录
数据集类别严重不均衡的问题在3D object detection上非常常见,这里记录几篇关于这个问题的解决办法。
Focal loss
focal loss可以缓解这个问题,减少容易样本loss的权重。
OHEM
在线难例挖掘,仍然是减少易分类样本对loss的影响。
GT Augment (Re-Sampling)
这其实是re-sampling的一种方式,增加小样本类别的数量。
做少样本类别的instance的augmentation,这在3D object detection任务中是一个非常常见的数据增广手段。但这有个问题是,增加的小样本类别,仍然是从训练集中抽出来的,大量重复使用这些训练数据,可能会造成过拟合。
Re-weighting
随着训练,修改loss的权重,增加小样本类别对loss的影响。但这会破坏原有类别分布。
《Equalization Loss for Long-Tailed Object Recognition》
这里介绍一篇文章,CVPR 2020.
本文的出发点是,一个sample经过softmax或者sigmoid得到每个类的预测概率,送入CrossEntropy loss中计算loss,求得梯度,在反传梯度时,会提升真值类的权重,抑制其他类的权重。那对于小样本类c,其他的大样本类的每个sample j都是negative的样本,那它们的梯度都是会使得预测c的这个权重减小。那么对于小样本类c,其他大样本类产生的negative的压制甚至会超过属于c类的postive的样本所带来的正向作用。这就使得,小样本类分类出现问题。
作者提出,忽略大样本类的sample对于小样本类的的梯度回传,减少这种大样本类的梯度压制,使得小样本类的positive的样本的梯度占该类权重更新的主导:
“To solve this problem, we propose the equalization loss, which ignores the gradient from sam- ples of frequent categories for the rare categories.”《Adaptive Class Suppression Loss for Long-Tail Object Detection》
2021 CVPR
BAGS
《Overcoming Classifier Imbalance for Long-tail Object Detection with Balanced Group Softmax》
CVPR 2020
从文章标题中就能看到,这篇文章就是为了解决长尾问题的。
该文章分析首先分析了一般的检测器为什么到了长尾数据集就会出问题的原因:
1)作者发现,在长尾数据集下训练的检测器的分类器的权重大小是非常不平衡的,训练结果显示,小样本对应的类权重小,大样本类权重大。那如此,即便送入一个小样本的instances进行分类,由于小样本权重过于小,出来的score可能也是低于大样本的score,这样就会出现误分类。 2)作者对权重不平衡的原因解释为,大样本类的权重多次激活,经过softmax函数压制小样本的权重,使得小样本的权重非常小。针对上述问题,作者提出,将样本进行分组。样本数量差不多的类别分为一组。由于background过于多,background分为一组。比如将Car,Pedestrian,Cyclist分为3组:{Background},{Car},{Cyclist,Pedestrian}。每一组内,独立的用softmax,这样就不会大样本类压制小样本类了。
这就会出现一个问题,在推理的时候,每个组都会出一个分数最高的类别,那到底选哪个组呢?作者提出,在每个组中间加入others类别,使得这三个组变成:{Others1,Background},{Others2,Car},{Others3,Cyclist,Pedestrian}。
在训练过程中,比如有了一个cyclist的物体进入训练,那么激活的loss有Others1,Others2和Cyclist类别。那这样,会出现一个问题,就是others类别在组中仍然占主导。这时,作者提出,对others计算loss的时候进行采样。比如,在一个mini-batch中Cyclist,Pedestrian总共有m个实例,那么others3在训练过程中就采样取 β × m \beta \times m β×m个实例训练,文中通过消融实验得到 β = 8 \beta=8 β=8。
{Others1,Background}这个组比较特殊,因为Background太多,所以所有的前景都用于训练Others1。在推理的时候,预测到一个cyclist,那最终的score是Others1的score乘以Cyclist的score,相当于知道是前景,然后知道是前景中的cyclist。
《Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection》
也是将类别进行分组,分组有两个依据:1)相似形状和相似尺寸的分一组,2)每组之间的instance数量相似
不同于上文的是,本文的神经网络做了两次分类,第一次是把一个sample看看分到哪个组里,第二次是在组内再分类别。
转载地址:https://blog.csdn.net/wqwqqwqw1231/article/details/117093090 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!