基于激光雷达点云的 3D 目标检测技术综述

基于激光雷达点云的 3D 目标检测技术综述

一篇关于雷达(点云)的综述

1.数据来源以及数据集

1.1数据来源

数据来源主要包括 LiDAR 、RGB-D camers、RADAR 等
(1)RGB-D camers:包括rgb信息以及深度信息:用来表示被测物体距离相机的距离
由于激光雷达 获取的点云能够保留丰富的物体原有的几何信息, 在自动驾驶场景中获得了很多关注。但是因为激光 雷达点云是一种稀疏的和非结构化的数据,相较于 图像而言,处理点云数据需要更多的计算机算力, 这些都制约了利用激光雷达点云进行三维目标检测。 因此,如何利用更少的计算机资源,利用获取的点 云数据获取更加高效精确的目标检测性能,成为利 用点云进行目标检测的研究方向。

1.2数据集

(1)KITTI:

2012年创办,包括 7481 个训练样本以及 7581 个测试样本。该数据集包含3个类别的检测目标,分别是行人 (Pedestrian)、自行车(Cyclist)以及车辆(Car)

(2)nuScenes:

提供不同城市场景下 360°的全景信息。它包含 1000 个在波士顿和新加坡不同天气下采样的场景数据,每一个场景的时间为 20 s。不同于 KITTI 数据集,nuScenes 数据集 还提供不同场景下时续连续的样本。

(3)Waymo Open Dataset:

包 含 1 000 个场景, 其中 798 个场景作为训练集(包括大约 160×103 的 样 本 ), 202 个场景作为验证集(包括大约 40×103 的样本)。
不同数据集的特征

2.基于点云的3D目标检测方法

基于点云的 3D 目标检测模型通常由点云表示 模块点云特征提取模块以及区域提案模块三个模 块组成。根据模型完成检测所需的步骤,可以分为 单阶段检测算法两阶段检测算法

2.1单阶段检测算法

单阶段的特点: 速度快、精度偏低
使用单阶段的网络结构,从原始的点云中获取特征后,使用这些特征直接进行目标预测并生成 3D 边界框。主要包括基于体素的方法基于点的方法基于图的方法以及其它方法。

(1)基于体素的方法

体素 :类似于二维空间的像素,包括以下信息
位置: 每个体素在三维空间中有一个唯一的位置坐标,通常由其三个坐标轴的值表示,例如(x,y,z)。
颜色或密度值: 体素可以包含关于该点的信息,如颜色值或密度值,这取决于应用。在医学成像中,密度值可以表示组织的密度,而在三维计算机图形中,颜色值表示体素的颜色。
属性信息: 除了位置和颜色/密度值之外,体素还可以包含其他属性信息,具体取决于应用。例如,在三维建模中,体素可以包含关于表面法线、纹理映射等信息。

a.VoxelNet:

原始的点云数据首先根据点云的 (X,Y,Z) 坐标 被划分为若干体素,对划分后的点云进行特征编码, 然后生成对应的特征图,通过在骨干网络中使用 3D 卷积对特征图进行特征提取,最后 3D 检测头将根 据获得到的特征进行目标预测并生成相应的边界框。

b.SECOND

在 VoxelNet 网络的基础上,在骨干网络中使用了Sparse Convolution Layer 进行特征提取。

c.PointPillars

则是在点云表示阶段仅根据点云 的(X,Y) 坐标进行划分,将原始的点云划分为若干 点柱,然后使用 PointNet网络来获取的点柱特征 投影到 (X,Y) 平面,生成伪图,然后使用 2D 卷积神经网络对伪图进行卷积。通过使用 2D CNN,该方法在检测速 度上获得了巨大的提升。

d.TANet

网络将单帧点云以体素表示,并在特征编码阶段加入了注意力机制,获取了检测性能的提高。

etc.

3D-MAN算法则在 PointPillars的基础上,在多帧点云中加入注意力机 制,来提高模型的性能。AFDet算法在 PointPillars 中加入了无锚框检测头,类似地,AFDetV2算法 在 VoxelNet网络的基础上提出了无锚框的检测 方法。VoTr提出了一种体素 transformer 的方法。 MVF对点云采用动态体素划分方法,将鸟瞰图视角( BEV)和透视图视角(Perspective view)下获取的点云特征相融合,来丰富点云的特征。

(2)基于点的方法

基于点的检测算法将直接使用原始的点云作为网络的输入并提取出点特征,用于 目标检测。
3DSSD提出了一种融合采样方法,通过 Distance-FPS 和 Feature-FPS 代替了传统的特征 传播层(Feature Propagation layers)从而提高模型 的运行效率。之后获得的特征将作为候选生成层 (Candidate Generation layer)的输入,最后使用无锚 框检测头生成预测结果。

(3)基于图的方法

Point-GNN网络使用图来表示点云,首先 使用体素对点云进行下采样,利用下采样后的 点云特征作为节点,通过多层感知机(Multilayer Perceptron,MLP)来提取边特征并迭代更新节点的 特征,最后利用迭代后获取的点云特征作为检测头 的输入来生成检测结果。
SVGA-Net网络通过将原始点云划分为球形体素,然后在体素内部点云和球形体素间分别构建局部和全局图,并融入注意力机制,来获取更加丰富的特征表达,从而提升模型的目标检测性能。
HVPR方法也采用了将点特征和体素特征融 合的方法来提高模型目标检测的性能。因为点云在 远距离物体比近距离物体上更加稀疏,并且大的目 标比小的目标包含更多的点云,SRDAN 方法针对上述问题提出了一种基于尺度和范围感知的网络。

2.2两阶段检测算法

两阶段检测算法两阶段检测方法是使用第二阶段的网络从第 一阶段生成的区域提案中进行更精确的检测 ,两阶段检测算法也被称为基于区域提案的方法。 两阶段检测方法在运行速度上较慢,但是却可以获得相较单阶段检测算法更好的检测性能。

PointVoxel-RCNN(PV-RCNN)算法首先将点云划分为若干球形体素,之后使用 3D 稀疏卷积 网络以及基于 PointNet[9] 的网络来提取点云特征。具体来说,体素化的点云将通过 3D 稀疏卷积网络 生成多尺度的语义信息,并生成3D目标提议。除此之外,通过体素集抽象模块将把学习到的体素 特征编码为一组关键点。最后关键点特征将作为 keypoint-to-grid ROI abstraction模块的输入,来获得 更加丰富的信息。这些信息将被用于优化之前生成 的 3D 目标提议,提升检测的精确度。
Centerpoint受到2D 目标检测方法CenterNet的启发,对 VoxelNet和PointPillars进行了改进,提出了Center heatmap head,该方法取得了很好的检测性能。
Part-A*2由部分感知阶段和部分聚合阶段组成。部分感知阶段使用了带有稀疏卷积和稀疏反卷积的 U-Net网络来学习点特征,通过点特征来进行预测并生成粗略的内部对象位置。在部分聚合阶段将通过 RoI(Region of Interest) 感知池化对预测阶段生成的位置信息进行聚合,从而优化 3D 检测框。
Fast Point R-CNN是一种使用点和体素处理点云 的二阶段检测方法。具体来说,原始点云将被体素化,之后使用 3D 骨干网络来生成初始的检测结果; 之后使用第一阶段生成的检测框内部的点的特征对检测框的精度进行提升。
Voxel R-CNN首先将点云进行体素化,使用 3D 卷积对体素进行采样,之后将 3D 点云特征转换为鸟瞰图,使用 2D 卷积提取特征并生成一阶段的检测结果。在第二阶段时,使用 体素 RoI 池化从 3D 点云特征中提取 RoI 特 征 ,最后利用 RoI 特征来优化一阶段的检测结果。
STD是一种基于 PointNet和 PointNet++的方法,首先在提案生成模块生成球形锚框,在第二阶段使用每个点的语义分数去除冗余的锚框,从而获得更好的检测结果。
3D IOU-Net使用 PointNet++获取点 云特征并生成一阶段的提案,在二阶段通过IoU对齐操作优化一阶段的检测结果。
CT3D 提出了 一种通道级的 transformer 网络用于二阶段的优化。

2.3不同3D检测算法性能比较

a. KITTI 测试数据集上 3D 目标检测结果比较
KITTI数据集上算法的性能比较
b. Waymo Open Dataset 验证数据集 LEVEL 2 目标检测结果比较
Waymo Open Dataset数据集上算法的性能比较
c. nuScenes 测试数据集目标检测结果比较
nuScenes测试集上算法的性能比较

3.结论

单阶段的速率普遍优于双阶段,但两阶段的检测精度好于单阶段

4.展望

对于基于点云的 3D 目标检测任务而言,依靠 单一的点云表示方法获取的点云特征来进行目标检 测的模型,在检测精度上已经难以令人满意。
解决方法:
1. 将原始点云使用不同视角、不同表示方法进行 采样,并获取相应的融合的点云特征,以此来增强 模型的检测性能
2. 使用时序 信息,将连续点云帧之间的点云特征相关联,在单 帧点云的空间特征中融入时序特征,使得点云特征 包含丰富的相邻帧之间的信息,从而提升目标检测 能力。同时这种方法也可以用于跟踪任务。

因为点云数据量有限,人工标注点云数据是一 项繁重的工作,因此,最近自监督和无监督的点云 目标检测算法受到了越来越多的关注。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLOv4是一种基于深度学习的目标检测算法,它可以在图像中快速而准确地识别目标。但是,对于激光雷达点云数据,需要进行适当的处理才能使用YOLOv4算法进行目标检测。 以下是使用YOLOv4完成激光雷达点云下的3D目标检测的步骤: 1. 数据预处理:将激光雷达点云数据转换为图像数据,通常使用三维空间中的投影方式将点云数据映射到二维图像上。在这个过程中需要考虑一些因素,例如相机的位置和方向以及图像的分辨率等。 2. 数据标注:对于用于训练模型的数据,需要进行标注。对于激光雷达点云数据,通常使用包围盒(bounding box)进行标注,即在点云中画出一个框框来表示目标物体的位置和大小。 3. 模型训练:使用标注好的数据训练YOLOv4模型。由于激光雷达点云数据的特殊性,需要对YOLOv4模型进行一些改进,例如将原来的卷积层换成点云处理模块等。 4. 模型测试:使用训练好的模型对新的激光雷达点云数据进行测试。模型会输出每个检测到的物体的位置和大小。 5. 后处理:对于检测到的物体,需要进行一些后处理。例如,可以使用非极大值抑制(NMS)算法来去除重叠的检测框。此外,还可以使用一些过滤器来排除掉不符合要求的检测结果。 总之,使用YOLOv4完成激光雷达点云下的3D目标检测需要进行数据预处理、数据标注、模型训练、模型测试和后处理等多个步骤。需要注意的是,在处理激光雷达点云数据时,需要考虑到数据的特殊性,并对模型进行适当的改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值