史上最全综述:3D目标检测算法汇总!(3)

文章正文
发布时间:2025-01-23 22:58
3D目标检测的学习目标


3D目标检测的学习目标主要是针对小目标(相比检测范围,目标太小),另一方面是由于点云的稀疏性,如何准确估计其目标的中心和尺寸也是一个长期挑战。


1、Anchor-based方法


anchor是预定义的长方体,具有固定的形状,可以放置在3D空间中。3D目标可以基于正anchor进行预测,这些正anchor与GT的IoU最大。anchor-based的3D目标检测方法一般是从鸟瞰图上检测3D目标,将3D anchor放置在BEV特征图的每个网格单元上进行。3D anchor通常对于每个类别都有一个固定的尺寸,因为同一类别的目标有相似的大小。
anchor-based的损失函数包括了分类损失、回归损失、偏航角损失等。分类损失常用的是二值交叉熵、Focal loss,回归则是SmoothL1,航向角需要注意使用bin-based航向估计较好。除了这些单独的损失函数外,将整个3D目标作为整体去考虑,也有使用IoU loss的,再辅以corner loss,让3D目标的检测更加稳定。
下面是anchor-based方法的示意图和主要目标损失函数:

图片

图片


2、Anchor-free方法


anchor-free方法去掉了复杂的anchor设计阶段,可灵活应用于BEV、点视图和Range视图等。没有了anchor,就需要找其它正负样本分配方法。比如基于一些网格(BEV网格单元、体素、柱体)进行分配正负样本,比如PIXOR、CenterPoint等。

还有基于点的分配策略,大部分都是先将前景点分割出来,在3D目标内或附近的作为正样本,并学习这些前景点。基于Range的分配主要是将Range像素在3D目标内的作为正样本,并且回归的时候不是以整个3D坐标系统为基础,而是以目标为中心的回归坐标系。
DETR提出了一种集合到集合的分配方式,利用匈牙利算法预测结果自动分配到对应的GT。
anchor-free方法设计灵活,不引入其它先验,学习过程简化了很多,其中基于中心的方法[329]对小目标检测有较大潜力可挖。
虽然优点不少,但不可否认,anchor-free方法如何选择合适的正样本来生成预测结果是个问题,相比于anchor-based中使用高IoU正样本,anchor-free可能会选到一些不好的正样本,造成预测结果出现偏差。
下面显示了anchor-free方法和一些里程碑方法。

图片


3、利用辅助任务的3D目标检测


利用辅助任务来增强3D目标的空间特征,并能对3D目标检测提供一些隐性的指导。常用的辅助任务包括:语义分割、IoU分支预测、目标形状补全、部件识别。

图片


语义分割。前景分割可以提供目标的位置隐含信息;利用语义上下文知识可以增强空间特征;语义分割可以作为预处理方法,过滤背景样本,提升3D检测效率。
IoU预测分支可以辅助校正目标的置信度,比如预测置信度可以用分类置信度和IoU值的乘积来表示。经过IoU分支的校正,更容易选择高质量的3D目标作为最终预测结果。
形状补全,因为点云具有稀疏性,远处的目标只能接收几个点,因此从稀疏点云中补全目标形状可以为后面的检测提供帮助。
识别目标内部的零部件有助于3D目标检测,部件可以揭示细粒度3D信息。
除此之外,还有一些比如场景流估计可以识别静态和动态目标,可以在点云序列中跟踪同一个3D目标,可以得到该目标更准确的估计。


5基于相机的3D目标检测


主要的基于相机的3D目标检测方案分为:单目3D、双目、多相机3D等,具体看下图的分类:

图片

单目3D目标检测


本身从单目图像中检测3D空间的目标是一个病态问题,因为单目无法提供足够的3D信息,很难预测3D目标准确的位置信息。
很多方法利用几何约束和形状先验从图像中推断深度信息,也是一种优化单目3D目标定位问题的思路。但是和激光雷达比,还是相差较远。


1、纯图像单目3D检测


受到2D检测方法的启发,单目3D目标检测最直接的解决方案是通过卷积神经网络从图像中直接回归3D框参数。直接回归的方法借鉴了2D检测网络架构的设计,可以端到端训练。这些方法可以分为单阶段、两阶段,或anchor-based/anchor-free方法。
基于anchor的方法主要预先设置好3D-anchor、2D-anchor、深度anchor,然后图像经过卷积网络后得到2D和3D的预测偏置,最终解码及转换过程如下所示:

图片

图片


anchor-free的方法也是通过2D卷积对图像进行处理,利用多个头去预测3D目标。具体包括一个分类头、一个关键点头预测粗粒度中心点、一个预测基于粗粒度中心点的偏置的头、预测深度的头、预测目标尺寸的头以及预测观测角的头。

图片

两阶段单目检测方法通常将传统的两阶段2D检测体系扩展到3D目标检测。具体来说,在第一阶段利用2D检测器从输入图像生成2D目标框。然后在第二阶段,通过从2D ROI中预测3D目标参数,将2D框提升到3D空间。
ROI-10D[168]扩展了传统的Faster RCNN[222],在第二阶段用一种新颖的头来预测3D目标参数。
基于纯图像的方法可以直接使用2D目标检测的最新进展,而且价格便宜,可以端到端训练,效率也很高。只是从单张图像预测深度比较困难。
下图及表展示了相关方法:

图片

图片


2、深度辅助的单目3D检测


深度估计是单目3D目标检测的关键。为了获得更准确的单目检测结果,许多论文采用预训练辅助深度估计网络的方法。
具体来说,单目图像首先通过预训练的深度估计器,如MonoDepth[83]或DORN[76],生成深度图像。然后,主要有两类方法处理深度图像和单目图像。
基于深度图像的方法将图像和深度映射与专门的神经网络融合,生成深度感知特征,可以提高检测性能。基于伪激光雷达的方法将深度图像转换为伪激光雷达点云,然后在点云上应用基于激光雷达的3D检测器来检测3D目标。具体如下表及图所示。

图片

图片

3、先验引导的单目3D检测


许多方法利用图像中目标的形状和场景几何等先验知识,解决病态的单目3D目标检测问题。
通过引入预训练的子网络或辅助任务来学习先验知识,这些子网络或辅助任务可以提供额外的信息或约束来帮助精确定位3D目标。广泛采用的先验知识包括目标形状、几何一致性、时间约束和分割信息。
如下表所示。

图片

通过重建目标形状,可以从图像中获得更详细的目标形状信息,有利于3D目标检测。但形状重建通常需要增加重建网络预训练模型,单目检测流程无法做到端到端训练。
而且目标的形状通常是从CAD模型而不是现实世界的实例中学习的,重建的目标形状和真实场景有较大差异。
采用几何一致性,有助于提高检测精度。然而,一些方法将几何一致性表示为一个优化问题,在后处理中优化目标参数会比较耗时,阻碍了端到端训练。
图像分割是单目3D检测中的重要信息。然而,训练分割网络需要的标注样本比较贵。用外部数据集预训练的分割模型存在泛化问题。

图片

4、基于双目的3D目标检测


基于双目的3D目标检测是指从一对图像中检测出3D物体。与单目图像相比,双目提供了额外的几何约束,可用于推断更准确的深度信息。
基于双目方法通常比基于单目的方法获得更好的检测性能。当然,基于双目的方法与基于激光雷达的方法在性能上仍有很大的差距。
双目方法与单目检测方法相比,可以通过立体匹配技术获得更精确的深度和视差估计,从而带来更强的目标定位能力,显著提高了3D目标检测能力。具体方法见下图及表。

图片

图片

5、基于多相机的3D目标检测


自动驾驶汽车通常会配备多个摄像头,从多个视角获取完整的周边环境信息。然而,如何利用多视图图像进行3D目标检测还没有得到广泛的研究。
多摄像头3D目标测的一个关键问题是如何识别不同图像中的同一目标,并从多视角输入中聚合目标特征。
一些论文通过利用跨视图几何约束[227]或目标重识别[52]来解决多视图目标定位问题。其他工作通过引入3D目标查询从不同视图裁剪图像特征[286]或转换不同视图的特征来处理多视图特征聚合问题。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

首页
评论
分享
Top