超全 | 基于纯视觉Multi-Camera的3D感知方法汇总!(上)

简介: 近两年,基于纯视觉BEV方案的3D目标检测备受关注,all in one方式,确实能将基于camera的3D检测算法性能提升一大截,甚至直逼激光雷达方案,这次整理了领域中一些备受关注的multi-camera bev纯视觉感知方案,包括DETR3D、BEVDet、ImVoxelNet、PETR、BEVFormer、BEVDepth、BEVDet4D、BEVerse等!


两年,基于纯视觉BEV方案的3D目标检测备受关注,all in one方式,确实能将基于camera的3D检测算法性能提升一大截,甚至直逼激光雷达方案,这次整理了领域中一些备受关注的multi-camera bev纯视觉感知方案,包括DETR3D、BEVDet、ImVoxelNet、PETR、BEVFormer、BEVDepth、BEVDet4D、BEVerse等!


1.DETR3D(CoRL 2021)



DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

在自动驾驶的环视相机图像中做3D目标检测是一个棘手的问题,比如怎么去从单目相机2D的信息中预测3D的物体、物体形状大小随离相机远近而变化、怎么融合各个不同相机之间的信息、怎么去处理被相邻相机截断的物体等等。


将Perspective View转化为BEV表征是一个很好的解决方案,主要体现在以下几个方面:

  1. BEV是一个统一完整的全局场景的表示,物体的大小和朝向都能直接得到表达;
  2. BEV的形式更容易去做时序多帧融合和多传感器融合;
  3. BEV更有利于目标跟踪、轨迹预测等下游任务。


DETR3D是21年非常经典的多视角图像3D目标检测工作,论文介绍了一种多camera三维目标检测框架。与直接从单目图像估计3D box或使用深度预测网络从2D信息生成3D目标检测输入数据的现有工作不同,论文的方法直接在3D空间中操纵预测。DETR3D从多个camera图像中提取2D特征,然后使用稀疏的3D对象查询集索引到这些2D特征,使用相机变换矩阵将3D位置链接到多视图图像。最后,模型对每个对象查询进行边界框预测,使用一个set-to-set的损失来计算GT和预测之间的差异。这种自顶向下的方法优于自底向上的方法,其中对象边界框预测遵循逐个像素深度估计,因为它不受深度预测模型引入的复合误差的影响。此外,DETR3D不需要后处理,如非最大值抑制,大大提高了推理速度,在nuScenes基准上实现了SOTA!

640.png


如上图所示,object queries是类似DETR那样,即先随机生成 M个bounding box,类似先生成一堆anchor box,只不过这里的box是会被最后的loss梯度回传的。(蓝线)然后通过一个子网络,来对query预测一个三维空间中的参考点 cℓi (实际上就是3D bbox的中心)。通过角标我们可以看出,这个操作是layer-wise、query-wise的。绿线利用相机参数,将这个3D参考点反投影回图像中,找到其在原始图像中对应的位置。黄线从图像中的位置出发,找到其在每个layer中对应的特征映射中的部分。红线利用多头注意力机制,将找出的特征映射部分对queries进行refine。这种refine过程是逐层进行的,理论上,更靠后的layer应该会吸纳更多的特征信息。(黑色虚线框之后)得到新的queries之后,再通过两个子网络分别预测bounding box和类别,然后就进入loss部分,性能提升如下图所示:

640.png


2.BEVDet(2021)


High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View

自主驾驶感知周围环境进行决策,这是视觉感知中最复杂的场景之一。在解决2D目标检测任务方面的成功创新激励领域寻求一种优雅、可行和可扩展的范式,从根本上推动该领域的性能边界。为此,论文贡献了BEVDet范式,BEVDet在鸟瞰图(BEV)中执行3D对象检测,其中定义了大多数目标值,并且可以方便地执行路线规划。论文仅仅重用现有的模块来构建其框架,但通过构建独占数据增强策略和升级非最大抑制策略来大幅提高其性能。在实验中,BEVDet在精度和时间效率之间提供了一个很好的平衡。作为一个fast版本,BEVDet Tiny在nuScenes val集上的mAP和NDS得分分别为31.2%和39.2%。它与FCOS3D相当,但只需要11%的计算预算,即215.3 GFLOPs,并以15.6 FPS的速度运行(9.2倍)。另一个被称为BEVDet的高精度版本的基础分数为39.3%的mAP和47.2%的NDS,大大超过了所有公布的结果。在相当的推理速度下,它大大超过FCOS3D,+9.8%的mAP和+10.0%的NDS。BEVDet整体结构如下所示:

640.png


如上所示,BEVDet采用模块化设计,由四个模块组成:图像视图编码器,包括主干(Resnet+swin-transformer)和neck(FPN-LSS),首先用于图像特征提取,视图转换器将特征从图像视图转换为BEV(网络将图像视图特征作为输入,并通过分类方式密集预测深度。然后,分类分数和导出的图像视图特征用于渲染预定义的点云。最后,可以通过沿垂直方向(即,如上图示的Z坐标轴)应用汇集操作来生成BEV特征)。BEV编码器进一步编码BEV特征。最后,基于BVE特征构建任务特定头部,并预测3D对象的目标值。下图为各个模块的详细参数!

640.png


BEVDet在nuscenes上的性能对比如下:

640.png


3.ImVoxelNet(WACV 2022)



Image to Voxels Projection for Monocular and Multi-View General-Purpose 3D Object Detection


论文基于多视图RGB的3D对象检测任务引入端到端优化问题,为了解决这个问题,提出了ImVoxelNet,这是一种新的基于单视点或多视点RGB图像的三维目标检测的全卷积方法。在训练和推理期间,每个多视图输入中的单目图像的数量可以变化;实际上,对于每个多视图输入,这个数字可能是唯一的。ImVoxelNet成功地处理了室内和室外场景,这使其具有通用性。在RGB图像的所有方法中,它在KITTI(单目)和nuScenes(多视图)基准上实现了最先进的机动车检测结果。而且,在SUN RGB-D数据集上优于现有的基于RGB的3D对象检测方法。在ScanNet上,ImVoxelNet为多视图3D对象检测设定了新的基准。ImVoxelNet网络结构如下所示:

640.png


论文的方法接受一组任意大小的RGB输入以及相机姿态。首先使用2D卷积主干从给定图像中提取特征,然后将获得的图像特征投影到三维体素体。对于每个体素,来自多个图像的投影特征通过简单的元素平均聚合。接下来,将具有指定特征的体素体积传递到称为颈部的3D卷积网络。颈部的输出用作最后几个卷积层(头部)的输入,预测每个锚的边界框特征。生成的边界框被参数化为(x,y,z,w,h,l,θ),其中(x,y,z)是中心坐标,w,h,l表示宽度、高度和长度,θ是围绕z轴的旋转角。


针对户外场景,论文将3D目标检测重新表述为BEV平面中的2D对象检测,遵循常规做法。使用了在KITTI和nuScenes数据集上似乎有效的2D anhcor-head。由于室外3D检测方法是在汽车上评估的,因此所有物体都具有相似的尺度,属于同一类别。对于单尺度和单类检测,Head由两个平行的二维卷积层组成。一层估计类概率,而另一层回归边界框的七个参数。


针对室内场景:论文提出现代室内3D对象检测方法都对稀疏点云表示执行深度霍夫投票,相反,论文使用中间特征的密集体素表示。据我们所知,没有用于3D对象检测的密集3D多尺度头部。受二维检测方法FCOS的启发,论文构建了这样的头部。原始FCOS头部接受来自FPN的2D特征,并通过2D卷积层估计2D边界框,为了使FCOS适用于3D检测,将2D卷积替换为3D卷积来处理3D输入。遵循FCOS和ATSS,应用中心采样来选择候选对象位置。在这些工作中,选择了9名(3×3)候选目标;由于论文在3D空间中操作,将每个对象的候选位置限制为27个(3×3×3)。生成的头部由三个三维卷积层组成,分别用于分类、定位和中心度,权重在所有对象尺度上共享。


室外性能对比分析:


640.png


室内性能对比分析:


640.png

4.PETR(ECCV2022)



Position Embedding Transformation for Multi-View 3D Object Detection

看到了孙剑老师,致敬!!!


PETR开发了用于多视图3D对象检测的位置嵌入变换(PETR)。PETR将3D坐标的位置信息编码为图像特征,产生3D位置感知特征,对象查询可以感知3D位置感知特征并执行端到端对象检测。PETR在标准nuScenes数据集上实现了最先进的性能(50.4%的NDS和44.1%的mAP),并在基准测试中排名第一。它可以作为未来研究的简单而有力的基线。整体结构如下所示:


640.png


PETR中多视图图像被输入到主干网络(ResNet)以提取多视图2D图像特征。在3D坐标生成器中,所有视图共享的相机截头体空间被离散化为3D网格。网格坐标由不同的摄像机参数变换,从而生成三维世界空间中的坐标。然后将2D图像特征和3D坐标注入所提出的3D位置编码器以生成3D位置感知特征。从查询生成器生成的对象查询通过与transformer解码器中的3D位置感知特征交互来更新,更新的查询还用于预测3D边界框和对象类。Nuscenes上结果对比如下所示:

640.png


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA

相关文章
|
传感器 机器学习/深度学习 自动驾驶
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
5377 1
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
|
机器学习/深度学习 人工智能 数据可视化
【好物分享】onnx-modifier:可视化操作助力模型更改,让你不再为更改模型烦恼!
【好物分享】onnx-modifier:可视化操作助力模型更改,让你不再为更改模型烦恼!
2358 0
【好物分享】onnx-modifier:可视化操作助力模型更改,让你不再为更改模型烦恼!
|
传感器 机器学习/深度学习 人工智能
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于单目、双目和伪激光雷达数据的相关算法,下面展开讨论下~
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
|
传感器 机器学习/深度学习 编解码
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(下)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于激光雷达雷达点云、多模态数据的相关算法,下面展开讨论下~
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(下)
|
机器学习/深度学习 传感器 编解码
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
以视觉为中心的俯视图(BEV)感知最近受到了广泛的关注,因其可以自然地呈现自然场景且对融合更友好。随着深度学习的快速发展,许多新颖的方法尝试解决以视觉为中心的BEV感知,但是目前还缺乏对该领域的综述类文章。本文对以视觉为中心的BEV感知及其扩展的方法进行了全面的综述调研,并提供了深入的分析和结果比较,进一步思考未来可能的研究方向。如下图所示,目前的工作可以根据视角变换分为两大类,即基于几何变换和基于网络变换。前者利用相机的物理原理,以可解释性的方式转换视图。后者则使用神经网络将透视图(PV)投影到BEV上。
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
|
传感器 机器学习/深度学习 人工智能
史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)(下)
近年来,自动驾驶因其减轻驾驶员负担、提高行车安全的潜力而受到越来越多的关注。在现代自动驾驶系统中,感知系统是不可或缺的组成部分,旨在准确估计周围环境的状态,并为预测和规划提供可靠的观察结果。3D目标检测可以智能地预测自动驾驶车辆附近关键3D目标的位置、大小和类别,是感知系统的重要组成部分。本文回顾了应用于自动驾驶领域的3D目标检测的进展。
史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)(下)
|
机器学习/深度学习 传感器 算法
单目3D目标检测 方法综述——直接回归方法、基于深度信息方法、基于点云信息方法
本文综合整理单目3D目标检测的方法模型,包括:基于几何约束的直接回归方法,基于深度信息的方法,基于点云信息的方法。万字长文,慢慢阅读~ 直接回归方法 涉及到模型包括:MonoCon、MonoDLE、MonoFlex、CUPNet、SMOKE等。 基于深度信息的方法 涉及到模型包括:MF3D、MonoGRNet、D4LCN、MonoPSR等。 基于点云信息的方法 涉及到模型包括:Pseudo lidar、DD3D、CaDDN、LPCG等。
2857 2
|
机器学习/深度学习 传感器 编解码
【多传感器融合】BEVFusion: 激光雷达和摄像头融合框架 NeurIPS 2022
BEVFusion提出一个融合多摄像头和激光雷达数据的框架,可用于3D检测。在自动驾驶领域,通过独立处理并融合摄像头和激光雷达数据,可以显著提升3D对象检测的准确性和稳健性,尤其是在激光雷达可能出现故障的真实场景中。
4294 57
【多传感器融合】BEVFusion: 激光雷达和摄像头融合框架 NeurIPS 2022
|
传感器 机器学习/深度学习 自动驾驶
【多模态融合】CRN 多视角相机与Radar融合 实现3D检测、目标跟踪、BEV分割 ICCV2023
本文介绍使用雷达与多视角相机融合,实现3D目标检测、3D目标跟踪、道路环境BEV分割,它是来自ICCV2023的。CRN,全称是Camera Radar Net,是一个多视角相机-雷达融合框架。 通过融合多视角相机和雷达的特性,生成语义丰富且空间精确的BEV特征图。实现3D物体检测、跟踪和BEV分割任务。
1831 57
|
机器学习/深度学习 编解码 算法
YOLOv5改进 | 主干网络 | 将backbone替换为MobileNetV3【小白必备教程+附完整代码】
本文介绍了将YOLOv5的backbone替换为MobileNetV3以提升目标检测性能的教程。MobileNetV3采用倒残差结构、Squeeze-and-Excitation模块和Hard-Swish激活函数,实现更高性能和更低计算成本。文中提供了详细的代码实现,包括MobileNetV3的关键组件和YOLOv5的配置修改,便于读者实践。此外,还分享了完整代码链接和进一步的进阶策略,适合深度学习初学者和进阶者学习YOLO系列。