0%

Review of 3D Object Detection for Autonomous Driving

Review of 3D Object Detection for Autonomous Driving

任务目标:三维目标检测可细分为分类和定位两个子任务,通过紧密的三维边界框定位目标,以确定目标的类别、位置、大小、方向等信息

3D数据的不同表示类型

  • 3D点云是由激光雷达对物体表面进行扫描得到的一组无序点的集合,具有不规则性和高度稀疏性,点云是三维空间(xyz坐标)点的集合。

    激光雷达(Light Detection And Ranging, LiDAR)来获取三维点云,除了激光雷达,雷达(Radio Detection and Ranging, Radar)也可以用来获取点云

  • 体素Voxel:体素是3D空间的像素。量化的,大小固定的点云。每个单元都是固定大小和离散坐标,可以理解为固定分辨率的三维栅格地图。

基于图像的三维目标检测

  • Pseudo-LiDAR:从RGB图像生成伪激光雷达,这类方法通常由深度估计和目标检测两个网络组成,首先对RGB图像进行深度估计,然后利用深度将其投影为一个伪激光雷达,最后再像处理点云一样使用三维方法进检测

基于 LiDAR 的三维目标检测

点云数据特点:

  • 提供了三维空间信息,包含了精确的深度和位置信息
  • 点云具有稀疏性、无序性和分布不均性

按照对点云数据的处理方式,可以将基于LiDAR的三维目标检测方法分为:

  • 基于视图的View-based方法
    • 将点云投影为二维视图(如鸟瞰图BEV),然后利用2D目标检测算法进行检测
  • 基于体素的Voxel-based方法
    • 将三维空间划分为均匀的网格,每个网格称为一个体素,将体素内部的点特征编码为体素特征,从而获得规则的网络输入。
  • 基于原始点的Point-based方法
    • 直接对原始点云进行处理
  • 基于点和体素的Point-Voxel-based方法

image-20230420104604662

View-based

将三维点云投影到二维平面,如鸟瞰图(Bird Eye View, BEV),前视图(Front View, FV),然后再处理映射后的点云,降低计算复杂度。

相比于直接处理稀疏的点云,在更为密集的二维平面如BEV视角下进行目标检测的优势:

  • BEV保留了物体在三维空间中的原始物理尺寸
  • 由于对象在三维空间中是自然分离的,因此 BEV 上的所有对象之间均无遮挡
  • 实际的交通场景中,所有物体均是位于地面的,垂直方向上的方差较小
  • 二维运算相比于三维运算计算量和复杂度更低

PointPillars使用柱形体素(Pillars)来生成二维伪图像

Voxel-based

点云是不规则数据,将点云表示为体素网格的形式,进而将点云的特征量化为体素的特征,方便后续处理

将点云表示为体素的形式,使其规则化,便于运用神经网络进行高效处理,为了实现实时检测,大多数算法均采用基于体素的主体框架,主要改进方向包括:

  • 扩大体素的接受域
    • Voxel R-CNN
    • VoTr
  • 对体素空间进行结构感知
  • 与其他结构的结合,比如引入蒸馏

存在问题:体素化会引入量化误差

Point-based

点云的特性:

  • 排列不变性:点云是一组点的坐标的集合,集合内部的所有点之间具有排列不变性,即无论数组中点的顺序如何排列,都不会改变点云本身所表示的物体

  • 旋转不变性:当数组发生旋转时,点云的形状不会发生变化,也就是说对一个点云集进行旋转操作,集合内所有点的坐标都变了,但表示的还是同一个物体。

这些特性使得研究者难以像处理图像、文字等其他规则序列一样直接处理点云。

PointNet开创了使用原始点云进行特征提取的先河,使用最大池化和 T-Net 解决了点云数据的无序性和旋转不变性问题

针对PointNet 中局部信息缺失的问题,PointNet++通过集抽象(Set Abstraction,SA)操作学习不同尺度的局部特征。

主要是基于PointNet系列进行特征提取,检测精度较高,但计算成本高,难以实现实时检测

Point-Voxel-based

结合点云和体素

基于多传感器的三维目标检测

基于多传感器的三维目标检测方法最常使用的是相机和激光雷达这两种传感器,也有一些利用雷达作为图像或激光雷达的补充信息加以融合。依据对点云数据处理方式的不同,可以将其分为多视图融合与多模态融合两类。

  • 多视图融合方法通常将点云数据投影为 2D视图,如鸟瞰图(BEV)、前视图(FV),然后与 RGB 图像特征进行融合。(对不同视图进行融合,比如BEV视图,FV视图和RGB视图)

    基于多视图的融合方法本质上仍是基于二维数据的,这种降维再投影的操作消除了空间上的相关性,同时简单的高度压缩也使得点之间的拓扑关系丢失,造成检测精度降低

  • 基于多模态融合的方法同样以图像和点云为输入,不同于多视图方法,其对点云的处理是直接在原始点云上进行的

    • 将点云投影到BEV层面与图像进行融合。缺点是投影到BEV的过程不可避免地会造成信息损失
    • 基于视锥的方法:首先对图像进行检测得到 2D 边界框,然后将二维检测结果投影到三维空间中生成截锥体,最后使用 PointNet回归边界框参数。缺点是过于依赖2D检测器性能。
    • 早期融合

image-20230420203250694

三维目标检测常用数据集

KITTI

KITTI 数据集使用 Velodyne 64线 3D激光雷达完成点云数据的采集,还使用摄像机同步进行对应图像的采集

KITTI 数据集包含7481个训练样本和7518 个测试样本,其主要的检测目标有 3 类:Car,Pedestrian,Cyclist。并依据遮挡、截断等情况,按难度将目标分为 Easy,Moderate,Hard这 3个等级。由于 KITTI 的测试集无法获取,大多数人将训练集划分为训练和验证两个集合,分别包含3712和3769个样本。

与二维目标检测相同,平均准确率(mean Average Precision,mAP)是三维目标检测任务的主要评估指标。

nuScenes

由在波士顿和新加坡拍摄的 1 000 个驾驶场景组成,涵盖了不同地点、不同时间和不同天气的情况。每个场景的时长为20 秒,其中标注的三维边界框分为 23 个类,带有 8 个属性的标记值。其标注量是 KITTI 的 7倍,且 nuScenes 数据集是这 3 个数据集中唯一一个包含了三维 Radar 数据的数据集。此外,KITTI 数据集多是在白天和良好天气条件下拍摄的,而 nuScenes 数据集还包含了夜晚及雨天等场景

在三维目标检测任务中,nuScenes 数据集采用的评估指标包括mAP,NDS(nuScenes Detection Score )和 PKL ( Planning KL-Divergence)。mAP 指标中使用鸟瞰图的中心距离 d 代替三维包围框的交并比进行阈值匹配。

由于 mAP 中仅考虑了包围框的位置信息,不包括尺寸和方向,因此,nuScenes 还设计了一系列的 TP 指标,分别对预测的三维包围框的平移、尺度、方向、速度和属性进行评估,具体包括 ATE( Average Translation Error ),ASE(Average Scale Error),AOE(Average Orientation Error),AVE(Average Velocity Error)和 AAE(Average Attribute Error)。NDS将 5 个 TP 指标集成到一个标量中。

nuScenes 还增加了一个神经规划指标PKL[94-95],用于对检测器的感知性能进行评估。它测量了规划器在接收到检测结果时与看到现实对象时的规划差异,并以此检验 3D 目标检测对下游自动驾驶任务的影响。PKL是非负值,其值越大代表检测性能越差。

Waymo Open Dataset

目前最大的自动驾驶数据集,使用 5 个激光雷达传感器和 5 个高分辨率针孔相机收集数据,包含 798 个训练场景、202 个验证场景、150 个测试场景,每个场景的时长为 20 秒。Waymo Open Dataset 的注释频率比 nuScenes 高 5 倍,共有 2 500 万个 3D标签和2 200万个 2D标签。

Waymo Open Dataset 使用的评价指标除了 AP 外,增加了一个包含方向角信息的 APH

与 KITTI 类似,Waymo依据 3D边界框中包含的激光雷达点数划分了两个难度级别:LEVEL_1 中标注物体的雷达点数不少于 5 个,LEVEL_2中标注物体的雷达点数少于 5个。

Future

  • 二维到三维的深度估计
    • 基于图像的方法精度低于LiDAR主要是因为二维向三维转换时的深度估计误差较大
  • 基于 LiDAR的小目标检测
    • 目前的算法大多能够识别出距离较近、具有稠密点云的目标,但对于一些远处的、包含雷达点极少的小目标仍然无法正确检测。点云特征提取过程通常会涉及到降采样操作,导致部分点丢失。
  • 检测速度与精度的平衡
  • 4D 毫米波雷达
  • 多模态数据融合

参考综述