Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection
2019 nuScenes 3D Detection Challenge 冠军 旷视
Abstract
本文介绍了我们的方法,该方法赢得了在自动驾驶研讨会(WAD,CVPR 2019)上举行的nuScenes 3D检测挑战赛 通常,我们利用稀疏3D卷积提取丰富的语义特征,然后将其接入class-balanced multi-head的网络中以执行3D目标检测。 为了解决自动驾驶场景中固有的严重类别不平衡问题,我们设计了一种class-balanced sampling的采样和augmentation strategy以生成更平衡的数据分布。 此外,我们提出了a balanced grouping head来提高形状相似的类别的性能。 根据挑战赛的结果,我们的方法在所有指标上均优于PointPillars基线,从而在nuScenes数据集上实现SOTA。
Challenge
- nuScenes数据集中类别的实例分布是长尾的(long-tailed),在常见目标类和稀有目标类之间的实例数量上表现出极大的不平衡。
Conrtibution
-
We propose class-balanced sampling strategy to handle extreme imbalance issue in the nuScenes Dataset.
-
We design a multi-group head network to make categories of similar shapes or sizes could benefit from each other, and categories of different shapes or sizes stop interfere with each other.
-
Together with improvements on network architecture,loss function, and training procedure, our method achieves state-of-the-art performance on the challenging nuScenes Dataset.
Dataset
- nuScenes
data augmentation
(1)DS Sampling =>a smoother instance
根据类在所有样本中的比例来复制每个类样本。 一个类别的样本越少,该类别复制的样本就越多,以形成最终的训练数据集。 更具体地说,**我们首先对在训练集中每个类的总点云样本数进行计数,所有类的样本总计为128106个。(存在重复项是因为一个点云样本中可以出现不同类别的多个目标。)**直观地讲,要获得一个类别平衡的数据集,所有类别在训练集中应具有close proportions。 因此,我们从上述类别样本中随机抽取了每个类别的128106个点云样本中的10%,每个类抽12810个。 结果,我们将训练集从28130个样本扩展到128100个样本,这是原始数据集的约4.5倍。 总而言之,DS Sampling可以看作是在训练分组中提高了improving the average density of rare classes。 显然,DS Sampling可以有效地缓解不平衡问题,如figure2橙色列所示。
**(2)最小二乘+RANSAC(Random Sample Consensus)**用于估计地平面Ax + By + Cz + D = 0计算扩充数据的位置
随机抽样一致算法(random sample consensus,RANSAC),采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数
基本思想描述:①考虑一个最小抽样集的势为n的模型(n为初始化模型参数所需的最小样本数)和一个样本集P,集合P的样本数#§>n,从P中随机抽取包含n个样本的P的子集S初始化模型M;
②余集SC=P\S中与模型M的误差小于某一设定阈值t的样本集以及S构成S*。S*认为是内点集,它们构成S的一致集(Consensus Set);
③若#(S*)≥N,认为得到正确的模型参数,并利用集S*(内点inliers)采用最小二乘等方法重新计算新的模型M*;重新随机抽取新的S,重复以上过程。
④在完成一定的抽样次数后,若未找到一致集则算法失败,否则选取抽样后得到的最大一致集判断内外点,算法结束。
数据分两种:有效数据(inliers)和无效数据(outliers)。偏差不大的数据称为有效数据,偏差大的数据是无效数据。如果有效数据占大多数,无效数据只是少量时,我们可以通过最小二乘法或类似的方法来确定模型的参数和误差;如果无效数据很多(比如超过了50%的数据都是无效数据),最小二乘法就失效了,我们需要新的算法
RANSAC的基本假设:
1、”内群”数据可以通过几组模型的参数来叙述其分别,而“离群”数据则是不适合模型化的数据
2、数据会受噪声影响,噪声指的是离群,例如从极端的噪声或错误解释有关数据的测量或不正确的假设
3、RANSAC假定,给定一组(通常很小)的内群,存在一个程序,这个程序可以估算最佳解释或最适用于这一数据模型的参数
概述:
1、在数据中随机选择几个点设定为内群
2、计算适合内群的模型
3、把其他刚才没有选到的点带入刚才建立的模型中,计算是否为内群
4、记下内群数量
5、重复以上步骤多次
6、比较哪次计算中内群数量最多,内群最多的那次所建的模型就是我们所要求的解
(3)GT-AUG数据扩充,参考SECOND3
网络结构
(1) Input Module
(2) 3D Feature Extractor
(3) Region Proposal Network
(4) Multi-group Head network
Class-balanced Grouping
如果我们将形状或大小不同的类放在一起,则回归目标的inter-class variances将更大,这将使不同形状的类相互干扰。 这就是为什么以不同形状共同训练的表现通常低于单独训练的表现。我们的实验证明,形状或大小相似的类更容易从同一任务中学习。
直观地讲,相似形状或大小的类在联合训练时可以对彼此的表现有所贡献,因为他们具有common features,它们可以相互补偿以共同获得更好的检测结果。 为此,我们按照一些原则将所有类别手动分为几组。
分类原则:
-
Classes of similar shapes or sizes should be grouped
-
Instance numbers of different groups should be balanced properly
我们考虑到不同group的实例数量不应有太大差异,否则将使学习过程受主要类别的支配。 因此,我们将主要类从形状或大小相似的group中分离出来。 例如,Car,Truck and Construction Vehicle具有相似的形状和大小,但是如果将这三个类别放在一起,Car将在该组中占主导地位,因此我们将汽车作为一个组,将Truck and Construction Vehicle作为一个组。 这样,我们可以控制不同组的权重以进一步缓解不平衡问题。
Guided by the above two principles, in the final settings we split 10 classes into 6 groups: (Car), (Truck, Construction Vehicle), (Bus, Trailer), (Barrier), (Motorcycle, Bicycle), (Pedestrian, Traffic Cone).
loss function(参考SECOND3)
we use weighted Focal Loss for classification,the smooth-l1 loss for x,y,z,l,w,h,yaw,vx, vy regression, and softmax cross-entropy loss for orientation classification.
trick
code
note
- 与kitti数据集的不同
KITTI 3D检测基准需要分别对3个类别的目标进行定位和分类。nuScenes 3D Detection Challenge要求同时检测10个类别。 此外,我们需要为每个目标估计一组属性和目标速度。
引用
[1] Jie Hu, Li Shen, and Gang Sun. Squeeze-and-excitation networks. In The IEEE Conference on Computer Vision and
Pattern Recognition (CVPR), June 2018.
[2] Siyuan Qiao, Huiyu Wang, Chenxi Liu, Wei Shen, and Alan L. Yuille. Weight standardization. CoRR, abs/1903.10520, 2019.
[3] Yan Yan, Yuxing Mao, and Bo Li. Second: Sparsely embedded convolutional detection. Sensors, 18(10):3337, Oct
2018.
.10520, 2019.
[3] Yan Yan, Yuxing Mao, and Bo Li. Second: Sparsely embedded convolutional detection. Sensors, 18(10):3337, Oct
2018.