转载自:https://arxiv.org/pdf/2204.00106.pdf


III. SotA


        将基于点云的3D目标检测分为4类,即基于点的基于体素的基于前视图的基于多视图的方法。


__A. 结构__


        结构上可分为单阶段检测(PointPillars,3DSSD,SA-SSD,CIA-SSD和SE-SSD)和两阶段检测(PV-RCNN,PV-RCNN++和CenterPoint)。



  • PointPillars:将x\textup{-}y平面离散化得到pillar,再用PointNet抓取每个pillar的特征。然后使用2D CNN回归边界框和预测类别。好处是比3D卷积高效,缺点是有时候行人和自行车会被错误分类。
  • 3DSSD:首先使用SA层提取特征,然后根据关键点特征获得原始点特征。采样关键点的策略是结合欧式距离和特征度量采样,以减小推断时间,同时提高召回率、平衡正负样本。由于网络不需要锚框,在回归前增加对候选点的移位,以获得更好的中心预测。真实分类分数被改变为与候选点到真实边界框表面距离相关的值,进一步提高AP。缺点是其单阶段检测性能有限。
  • SA-SSD:对体素使用3D卷积,然后使用2D卷积细化和回归边界框。辅助网络使用插值的激光雷达点,分割前景点和估计中心。前者增加对物体边界的敏感性,后者通过学习用点的特征估计物体中心增强点与物体的关系。还提出特征图warp模块,减轻定位和分类的不一致性。在推断时不使用辅助网络;性能可以达到两阶段检测的性能。

*注:锚框在比例模糊的输入检测(如图像)中是必不可少的;此外在需要检测不同尺寸的不同类别物体时也很重要。


  • CIA-SSD:提出轻量级的空间-语义特征聚合模块,自适应地融合高级语义特征和低级空间特征,以提高分类和边界框回归的精度;IoU-aware的置信度校正模块减轻了定位和分类的不一致性;与距离相关的IoU加权非最大抑制用于平滑回归,减少冗余预测。
  • PV-RCNN:整合了基于体素的网络和基于PointNet的网络。先采样关键点,同时体素化点云并使用体素编码关键点。使用体素SA层将多尺度体素特征整合到附近的关键点中,得到带有3D卷积信息的关键点特征向量。然后关键点特征输入到预测关键点加权(PKW)模块,因为考虑到前景点应比背景点更有利于细化提案。通过SA层实现的RoI网格池化用于分组关键点特征,关键点特征被聚合为RoI网格点。最后细化3D边界框。
  • PV-RCNN++:提出新的采样方法(提案中心策略)来获得有代表性的关键点。将关键点集中在3D提案附近,以编码更有效的特征。新的局部特征聚合模块(VectorPool聚合)通过聚合局部点云特征替换SA层,可以消耗更少的资源,处理更多的点。
  • CenterPoint

        第一阶段,不同的回归头估计出物体的中心、大小、朝向和速度。通过将3D物体考虑为具有旋转不变性的点云,在旋转物体的检测上比基于锚框的方法更灵活。


        第二阶段,来自预测初始边界框表面中心的其他点特征被压缩为向量,输入MLP中获得置信分数、细化边界框。


        检测头预测BEV热图,每个峰值对应一个物体的中心。点云提取特征后成为平面图,输入到2D CNN中,生成K通道热图,每个通道对应一个类别。训练阶段,真实边界框中心被投影到BEV平面上,检测头可以使用focal损失来在这些投影处生成2D高斯。


  • SE-SSD:由教和学的模型组成,两个模型的结构相同,类似CIA-SSD的结构。“教”模型使用原始点云预测,然后转化为软性目标,用于训练“学”模型。“学”模型使用增广数据预测,使用__一致性损失__和_朝向角感知距离IoU_损失(ODIoU,强调边界框的朝向和中心对准)训练软性和硬性目标。

        还提出形状感知的数据增广方案,即随机丢弃、交换和稀疏化点,用于“学”模型。


        继承了单阶段模型速度快的优点,因其推断时不引入额外计算。同时使用教与学的模型显著提升了检测精度。


__B.数据增广__


        目标:提高泛化能力,使网络对点云的旋转、平移和自然变化有不变性。


        物体级别的数据增广:对物体的边界框进行数据增广,包括绕z轴旋转、关于xz平面或yz平面翻转、稀疏化、添加高斯噪声、frustum dropout等。



  • AutoAugment:将顺序离散决策问题建模为强化学习问题,用于生成增广数据。这种方法结果比随机数据增广效果好。
  • PointCutMix:寻找两个点云之间的最优分配,将一个点云中的点替换为其最优分配点,从而生成新的数据。

        另外还有研究使用进化搜索算法自动设计数据增广策略。


__C.采样策略__


        (1)最远点采样:保持了采样点的均匀分布,节省时间。但不是最优策略。


        (2)提案中心关键点采样策略:将关键点集中在3D提案附近,以编码更有效的特征。高效、可以处理大量点。


__D.激活函数__


        (1)swish:形状类似ReLU但在0点可导;性能略优,但计算略复杂。


Swish(x)=x\times Sigmoid(x)



        (2)hard swish:使用ReLU6逼近swish,节省计算。



HardSwish(x)=x\frac{ReLU6(x+3)}{6}


__F.正则化策略__


        正则化以提高训练误差为代价减小测试误差。常用的正则化策略为Dropout。


        DropBlock:是Dropout在正则化卷积网络中的结构化形式。特征图中的一个连续区域被drop掉,以避免网络过度关注特征图的某一个区域,可以减轻过拟合。


__G.归一化方法__


        归一化可以泛化神经网络、加速训练。


        Batch Normalization:解决__内部协变量移位__问题。每个batch放缩输出,使其服从均值为0、方差为1的分布。可以减小模型对参数初值的依赖性。


        Filter Response Normalization:归一化和激活函数的组合。分别对每个batch的每个激活通道归一化,消除对其余batch的依赖性。


        Attentive Normalization:将注意力机制引入归一化,对通道级仿射变换分量进行重新加权。


__H.学习率调整策略__


        由于网络参数随机初始化,训练开始时使用大学习率可能不稳定。


        Warmup:在训练开始时使用小学习率,然后在几轮后增大。


        余弦退火:学习率以余弦方式变化。


        Warm restart:每隔一段时间重启余弦退火。


__I.损失函数__


        (1)分类损失:交叉熵,即真实类别的负对数似然值。主要困难是处理正负样本(即前景/背景样本)的不平衡性。解决方案有困难负样本挖掘和focal loss。


        困难负样本挖掘:负边界框被子采样,使其数量多出3倍。


        focal损失:自适应地调节每个分类样本的贡献权重。


        (2)3D边界框损失:L_{IoU}=1-IoU


        也可写为定位损失和方向损失,其中定位损失见上篇文章最后(附录D-(2)-(a)),方向损失为


L_{dir}=\mathrm{SmoothL1}(\sin(\theta_p-\theta_t))


VI.挑战


        多帧3D目标检测:目前的工作可以分为四类(有交叉):隐式多帧数据处理、场景级特征聚合、物体级别特征聚合、注意力机制聚合。


        (a)隐式多帧数据处理:不显示使用学习方法聚合多帧特征。如CenterPoint估计相邻两帧中心点偏移(速度)。


        (b)场景级别特征聚合:建立时间特征图来加强检测精度。如使用LSTM进行多帧特征融合。


        (c)物体级别特征聚合:通过使用先前检测的物体特征,加强物体特征表达。如使用目标跟踪匹配物体,然后聚合物体特征。


        多帧对齐方法有自我运动补偿、校正和基于跟踪的方法;也可以使用循环卷积网络来考虑连续帧之间的偏移。注意力机制和时序图表达也可用于解决对齐问题。