基于激光雷达点云的3D目标检测算法—端到端多视图融合

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

dea47ab0b187074f4066b25866495f79.png

作者丨Rubicon007@知乎

来源丨https://zhuanlan.zhihu.com/p/447232286

编辑丨3D视觉工坊

原文链接:

http://proceedings.mlr.press/v100/zhou20a.html

摘要:最近关于 3D 目标检测的算法多是在俯视图中进行点云体素化(voxelization),其中目标保留其物理尺寸并且可以自然分离。然而,当在这个视图中表示时,点云稀疏且密度不均匀,这可能导致检测算法难以检测远处或小的物体(行人、交通标志等)。另一方面,透视图提供了密集的观察,这可以为目标识别提供更有利的特征编码。在本文中,我们旨在协同俯视图和透视图,并提出一种新颖的端到端多视图融合(MVF)算法,该算法可以有效地学习利用两者的互补信息。具体来说,我们引入了动态体素化,与现有的体素化方法相比,它有四个优点:

1)不需要预先分配固定大小的张量;

2)克服由于随机点/体素丢失造成的信息损失;

3)产生确定性的体素嵌入和更稳定的检测结果;

4)建立点和体素之间的双向关系,这为跨视图特征融合奠定了基础;

通过采用动态体素化,提出的特征融合架构使每个点能够学习融合来自不同视图的上下文信息。MVF 对点进行操作,可以自然地扩展到使用 LiDAR 点云的其他方法。在新发布的 Waymo 开放数据集和 KITTI 数据集上广泛评估了 MVF 模型,并证明它比可比较的单视图 PointPillars 显着提高了检测精度。

1 简介

利用 LiDAR 传感器识别3D环境是自动驾驶所需的核心能力之一。大多数算法采用不同方式的体素化,通过自定义 3D 点云的离散度(例如,Pixor [1])或通过学习的体素嵌入(例如,VoxelNet [2]、PointPillars [3])。后者通常涉及汇集来自同一体素的点之间的信息,然后用上下文信息丰富来每个点语义。最后将这些体素化特征投影到与标准 2D 卷积兼容的俯视图 (BEV) 。在 BEV 空间中操作的一个好处是它保留了深度信息,即目标大小相对于与传感器的距离保持不变。这允许模型在训练期间可以调用关于目标大小的先验信息。另一方面,随着点云变得越来越稀疏或测量距离传感器越来越远,每个体素嵌入可用的点数变得更加有限。

最近,在分析透视深度图像方面取得了很大进展,这是原始 LiDAR 数据的更原生表示(例如,LaserNet [4])。这种方法已被证明在点云变得非常稀疏的较长范围内表现良好,尤其是在小物体上。通过对“密集”的深度图像进行操作,这种表示在计算上也非常高效。然而,由于透视性质,目标形状随着距离改变,并且目标在杂乱的场景中可能彼此严重重叠。

有几种方法考虑在 ROI 池化阶段(MV3D [5]、AVOD [6])或每点级别(MVX-Net [7])将 BEV 激光数据与透视 RGB 图像相结合。与组合来自两个不同传感器的数据的想法不同,我们专注于融合同一传感器的不同视图如何为模型提供比单独单个视图更丰富的信息。

在本文中,有两个主要贡献。首先,我们提出了一种新颖的端到端多视图融合 (MVF) 算法,该算法可以利用相同 LiDAR 点云的 BEV 和透视图之间的互补信息。受到-训练单点嵌入的模型强大性能的启发,我们设计了融合算法以在早期阶段运行,此时网络仍保留点级别特征(例如,在 VoxelNet [2] 池化层前的特征)。这样每个单独的 3D 点都成为跨视图的链路,这是构成多视图融合基础的关键思想。此外,可以为每个视图定制嵌入的类型。对于 BEV 编码,我们使用垂直列体素化算法(即 PointPillars [3]),它已被证明在准确性和延迟方面提供了非常强大的基础。对于透视嵌入,我们在“range-imagelike”特征图上使用了一个标准的 2D 卷积塔,它可以在一个大的感受野中聚合信息,帮助缓解点稀疏问题。现在,每个点都从 BEV 和透视图中注入了上下文信息。这些点级嵌入最后合并生成最终的体素级嵌入。由于 MVF 在点级别增强了特征学习,我们的方法可以方便地结合到其他基于 LiDAR 的检测器 [2, 3, 8]。

第二个主要贡献是动态体素化 (DV) 的概念,它比传统的(即静态体素化 (HV) [2, 3])有四个主要优点:

• DV 取消了对每个体素预定义数量的点进行采样的需要。这意味着模型可以使用每个点,从而最大限度地减少信息丢失。

• 解决了在点云明显变稀疏时,却仍然要将体素填充到预定义大小的问题。这可以大大减少来自 HV 的额外内存和计算开销,尤其是在点云变得非常稀疏的较长范围内。例如,以前的模型 VoxelNet 和 PointPillars,每个体素(或每个等效的 3D 体积)分配 100 个或更多点。

• DV 克服了点/体素的随机丢失并产生确定性的体素嵌入,从而导致更稳定的检测结果。

• 它是融合来自多个视图的点级上下文信息的基础。

MVF 和动态体素化使我们能够显着提高最近发布的 Waymo 开放数据集和 KITTI 数据集的检测精度。

2 多视图融合

我们的多视图融合 (MVF) 算法由两个新颖的部分组成:动态体素化和特征融合网络架构。我们将在以下小节中逐一介绍。

2.1 体素化和特征编码

76290816aaf09391edbda9542f692778.png

68b380b4380ed73703a34edc569e446a.png

硬体素化 (HV) 具有三个内在限制:

(1) 当点和体素超过缓冲容量时被丢弃,HV迫使模型丢弃可能对检测有效信息;

(2) 点和体素的这种随机丢失也可能导致不确定的体素嵌入,从而导致不稳定或抖动的检测结果;

(3) 被填充的体素消耗了不必要的计算,这会增加运算消耗。

我们引入了动态体素化 (DV) 来克服这些问题。DV 在分组阶段相同,但是,它不是将点采样到固定数量的固定容量体素中,而是保留点和体素之间的完整映射。因此,体素的数量和每个体素的点数都是动态的,取决于具体的映射函数。这消除了对固定大小缓冲区的需要,并消除了随机点和体素丢失。点体素关系可以形式化为

ac15811b9eae45dd021230e8897527ef.png

39260fa06f2bc688f6cfab7a2c3609e6.png

图 1 说明了硬体素化和动态体素化之间的主要区别。在这个例子中,我们设置 K = 3 和 T = 5 作为点/体素覆盖和内存/计算使用之间的平衡权衡。这仍然使近一半的缓冲区为空。此外,由于随机采样,它会导致体素 v1 中的点丢失和体素 v2 的完全缺失。为了完全覆盖四个体素,硬体素化至少需要 4 × 6 × F 缓冲区大小。显然,对于点密度不均匀的激光雷达扫描,在点/体素覆盖率和有效内存使用之间实现良好平衡将是硬体素化的挑战。另一方面,动态体素化动态有效地分配资源来管理所有点和体素。在我们的例子中,它以13F的最小内存使用量确保了空间的完全覆盖。完成体素化后,可以通过 [22, 2, 3] 中方法的特征编码技术将 LiDAR 点转换为高维空间。

2.2 特征融合

9812cddda25fd7ce48c820d92ab9191b.png

多视图表示 我们的目标是基于相同的 LiDAR 点云有效地融合来自不同视图的信息。我们考虑两种视图:俯视图和透视图。俯视图是基于笛卡尔坐标系定义的,其中目标保留其规范的 3D 形状信息并且可以自然分离。当前大多数具有硬体素化的 3D 目标检测器 [2, 3] 都基于此视图中运算。然而,它的缺点是点云随着距离越远变得非常稀疏。另一方面,透视图可以呈现高密度的LiDAR点云图像,并且可以在Spherical坐标系中对场景进行相应的平铺。透视图的缺点是物体形状随着距离而改变,并且物体在杂乱的场景中会相互重叠。因此,希望利用来自两个视图的互补信息。

31a40b5873765b4a50e42c0dc63d3e2b.png

1)从俯视图看点对应的笛卡尔体素,

2)从透视图看点对应的球面体素,

3)来自共享 FC 层的逐点特征。可以选择性地将逐点特征转换为较低的特征维度,以降低计算成本。

卷积塔的架构如图 3 所示。我们应用了两个 ResNet 层 [30],每个层都有 3 × 3 2D 卷积核和步幅大小 2,将输入体素特征图逐渐下采样为 1=2 和 1 的张量 =4 原始特征图维度。然后,我们对这些张量进行上采样和连接,以构建与输入具有相同空间分辨率的特征图。最后,这个张量被转换为所需的特征维度。请注意,输入和输出特征图之间一致的空间分辨率有效地确保了点/体素对应关系保持不变。

2.3 损失函数

2c3998208b723e1fea635f9433eeddfa.png

3 实验结果

为了研究所提出的 MVF 算法的有效性,我们复制了最近发布的表现最佳的算法 PointPillars [3] 作为我们的基线。PointPillars 是一种使用硬体素化的基于 LiDAR 的单视图 3D 检测器,我们在结果中将其表示为 HV+SV。实际上,PointPillars 可以很方便地概括为三个功能模块:俯视图中的体素化、点特征编码和 CNN 主干。为了更直接地检查动态体素化的重要性,我们通过使用动态而不是硬体素化来实现 PointPillars 的变体,我们表示 DV+SV。最后,我们的 MVF 方法具有所提出的动态体素化和多视图特征融合网络。为了公平比较,我们保留了所有三种算法的原始 PointPillars 网络主干:我们学习了 HV+SV 和 DV+SV 的 64D 点特征嵌入,并将 MVF 的输出维度也减少到 64D。

3.1 对Waymo开放数据集的测试

9345a44086e8b5262a2ca59466872502.png

数据集 我们已经在 Waymo 开放数据集上测试了我们的方法,这是一个最近发布的大规模数据集,用于在工业生产级别对目标检测算法进行基准测试。该数据集提供从自动驾驶汽车上的一组传感器收集的信息,包括多个 LiDAR 和摄像头。它捕捉了美国的多个主要城市,在各种天气条件下和一天中的不同时间。该数据集提供了总共 1000 个序列。具体来说,训练分割由 798 个序列组成,每个序列持续时间为 20 秒,以 10Hz 采样,包含 4.81M 车辆和 2.22M 行人框。验证拆分由 202 个具有相同持续时间和采样频率的序列组成,包含 1.25M 车辆和 539K 行人框。所有目标类的有效注释半径为 75m。对于我们的实验,我们评估了车辆和行人的 3D 和 BEV 目标检测指标与广泛使用的 KITTI 数据集 [33] 相比,Waymo Open Dataset 有几个优点:

(1) 比KITTI大20倍以上,实现更接近生产规模的性能评估;

(2) 与 KITTI 的 90 度前视 FOV 不同,它支持全 360 度视野 (FOV) 检测。

(3) 其评估协议考虑了现实的自动驾驶场景,包括全范围内和所有遮挡条件下的注释,这使得基准测试更具挑战性。

d9f30f10bebf15b23172dc5e06aaecf2.png

评估指标 我们使用 7 自由度 (DOF) 3D 框和 5 自由度 BEV 框的标准平均精度 (AP) 指标评估模型,使用车辆的 0.7 和行人的 0.5 的交集 (IoU) 阈值, 根据数据集官网的推荐

实验设置 我们将体素大小设置为 0:32m,检测范围设置为 [−74:88; 74:88]m 沿 X 和 Y 轴为两个类。对于车辆,我们将锚点定义为 (l; w; h) = (4:5; 2:0; 1:6) m,方向为 0 和 π=2,并将检测范围设置为 [−5; 5]m 沿 Z 轴。对于行人,我们将锚点设置为 (l; w; h) = (0:6; 0:8; 1:8) m,方向为 0 和 π=2,并将检测范围设置为 [−3; 3]m 沿 Z 轴。对车辆和行人使用 PointPillars 网络主干会产生 468 × 468 的特征图大小。如第 3 节所述,为 HV+SV 预先定义 K 和 T 的适当设置是至关重要的,需要大量的实验。因此,我们进行了超参数搜索来为该方法选择一个满意的配置。在这里,我们设置 K = 48000 和 T = 50 以适应全景检测,与 [3] 相比,它包括 4 倍多的体素并创建了 2 倍大的缓冲区大小。

备注:感谢微信公众号「3D视觉工坊」整理。

结论 车辆和行人类别的评价结果分别列于表 1 和表 2 中。除了整体 AP 之外,我们还提供了三个不同感兴趣范围的详细性能细分:0-30m、30-50m 和 >50m。我们可以看到 DV+SV 在所有范围内的车辆和行人检测上始终匹配或提高了与 HV+SV 的性能,这验证了动态体素化的有效性。融合多视图信息进一步增强了所有情况下的检测性能,特别是对于小物体,即行人。最后,仔细观察基于距离的结果表明,随着检测范围的增加,MVF 的性能改进变得更加明显。图 4 显示了车辆和行人检测的两个示例,其中多视图融合为远距离被遮挡物体生成更准确的检测。实验结果也验证了我们的假设,即与 BEV 相比,透视图体素化可以捕获互补信息,这在物体距离较远且采样稀疏时尤其有用。

建议 对于车辆检测,建议的 MVF、DV+SV 和 HV+SV 分别以每帧 65.2ms、41.1ms 和 41.1ms 的速度运行。对于行人检测,对于建议的 MVF、DV+SV 和 HV+SV,每帧延迟分别为 60.6ms、34.7ms 和 36.1ms

3.2 对 KITTI 数据集的评估

KITTI [33] 是一个流行的数据集,用于对自动驾驶的 3D 目标检测器进行基准测试。它包含 7481 个训练样本和 7518 个留作测试的样本;每个都包含相机图像的地面实况框及其相关的 LiDAR 扫描点。与 [5] 类似,我们将官方训练 LiDAR 数据分为包含 3712 个样本的训练集和包含 3769 个样本的验证集。在派生的训练和验证拆分上,我们使用官方 KITTI 评估工具在 3D 车辆检测任务上评估和比较 HV+SV、DV+SV 和 MVF。我们的方法使用与 [3] 中相同的设置和数据增强进行训练。

4 结论

本文介绍了 MVF,这是一种新颖的端到端多视图融合框架,用于从 LiDAR 点云进行 3D 目标检测。与使用硬体素化的现有 3D LiDAR 检测器 [3, 2] 相比,我们提出了动态体素化,它保留了完整的原始点云,产生了确定性的体素特征,作为融合不同视图信息的自然基础。我们提出了一种多视图融合架构,该架构可以使用从不同视图中提取的更具辨别力的上下文信息对点特征进行编码。Waymo 开放数据集和 KITTI 数据集的实验结果表明,我们的动态体素化和多视图融合技术显着提高了检测精度。添加相机数据和时间信息是令人兴奋的未来方向,这应该会进一步改进我们的检测框架。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

96514418c5db6ceacad7345ea48ebdf0.png

▲长按加微信群或投稿

e5b8bd88ef01999bd7631950274a28b1.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

2dfd51f5f49948d68bd00de0d1695235.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值