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

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


5.BEVFormer(ECCV 2022 )



BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers


3D视觉感知任务,包括基于多摄像机图像的3D检测和地图分割,对于自动驾驶系统至关重要。BEVFormer提出了一个新的框架,它使用时空transformer学习统一的BEV表示,以支持多个自主驾驶感知任务。BEVFormer通过预定义的网格形状的BEV查询与空间和时间空间交互,利用空间和时间信息。为了聚合空间信息,论文设计了空间cross-attention,每个BEV查询从摄像机视图的感兴趣区域提取空间特征。对于时间信息,提出了时间self-attention来递归地融合历史BEV信息。BEVFormer在nuScenes测试集上实现了新的最先进的NDS度量56.9%,比以前的最佳技术高9.0个点,与基于激光雷达的基线性能相当。论文进一步表明,在低能见度条件下,BEVFormer显著提高了速度估计的准确性和目标的召回率。BEVFormer网络结构如下:

640.png


其中:(a) BEVFormer的编码器层包含网格形状的BEV查询、时间self-attention和空间cross-attention。(b) 在空间cross-attention中,每个BEV查询仅与感兴趣区域中的图像特征交互。(c) 在时间self-attention中,每个BEV查询与两个特征交互:当前时间戳的BEV查询并且BEV特征在先前的时间戳。


因为BEV具有Bt∈ H×W×C的通用2D特征图,可用于各种自动驾驶感知任务,3D目标检测和地图分割任务头可基于2D感知方法开发,只需稍加修改。对于3D目标检测,论文设计了基于2D检测器可变形DETR的端到端3D检测头。修改包括使用单尺度BEV特征Bt作为解码器的输入,预测3D边界框和速度,使用L1损失来监督3D边界框回归。除此之外,该检测头可以端到端预测3D边界框和速度,而无需NMS后处理。对于地图分割,论文设计了基于二维分割方法全景分割器的地图分割头。由于基于BEV的地图分割与普通语义分割基本相同,论文利用掩码解码器和类固定查询来针对每个语义类别,包括汽车、车辆、道路(可驾驶区域)和车道。


nuscenes测试集上性能对比:

640.png


6.BEVDepth(arxiv2022)



BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection

BEVDepth提出了一种新的具有可信深度估计的3D对象检测器,称为BEVDepth,用于基于camera的鸟瞰视图(BEV)3D目标检测。通过对最近方法的深入分析,论文发现深度估计是在没有摄像机信息的情况下隐式学习的。BEVDepth利用编码的内在和外在参数获得显式深度监控,进一步引入深度校正子网络,以抵消深度地面真相中的投影诱导干扰。为了减少使用估计深度将特征从图像视图投影到BEV时的速度瓶颈,论文提出了一种快速视图变换操作。此外,BEVDepth可以很容易地扩展多帧输入。BEVDeph在具有挑战性的nuScenes测试集上实现了最新的60.0%NDS,同时保持了高效率。camera和激光雷达之间的性能差距首次在10%的NDS内大幅缩小!!模型网络结构如下所示:


640.png


上一次划时代的性能增长来自于BEVDet4D和BEVFormer提出的时序建模,在mAP和mAVE指标上取得显著突破。这次BEVDepth通过优化深度估计,在mAP上取得了显著突破!整体精度已经逼近基于点云算法,但由于大家用的高分辨率和大模型,在推理速度方面还有很大的提升空间!论文的创新点主要有以下几个部分:


论文利用LiDAR对深度估计进行监督,使得深度估计结果接近LiDAR精度,下图显示了优化前后depth性能对比:

640.png


深度的预测和context分离,并使用使用额外的Resnet block增加区分度,如下如图所示:

640.png


引入相机参数作为深度估计的先验,通过类SE的方式对输入特征进行调整,如上图所示!除此之外,还优化了Voxel Pooling,论文将多个视角的feature集成到最终的BEV feature上。一般就是把Bev Feature分成多个grid,然后把落在相应位置上的截头圆锥体feature累加起来。论文把每个feature放到CUDA的一个线程上来加速。

BEVDepth还可以应用到sequence modeling上,如下图所示:


640.png


BEVdepth在nuscene上的性能对比:


640.png


7.BEVDet4D(2022)



BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection

单帧数据包含有限的信息,这限制了现有基于视觉的多camera 3D目标检测范式的性能。为了从根本上推动这一领域的性能边界,论文提出了一种称为BEVDet4D的新范式,将可伸缩BEVDet范式从仅3D空间提升到时空4D空间。论文升级了朴素BEVDet框架,只做了一些修改,将前一帧中的特征与当前帧中的相应特征融合。这样,在可忽略的额外计算预算的情况下,使BEVDet4D能够通过查询和比较两个候选特征来访问时间线索。除此之外,通过去除学习目标中的ego-motion和时间因素来简化速度预测任务。因此,具有鲁棒泛化性能的BEVDet4D将速度误差降低了高达-62.9%。这使得基于视觉的方法首次在这方面与依赖激光雷达或雷达的方法相比较。在基准nuScenes上,论文报告了54.5%的NDS的新记录,其高性能配置被称为BEVDet4D Base,超过了之前领先的方法BEVDet Base+7.3%的NDS。BEVDet4D网络结构如下图所示:


640.png


BEVDet4D 在BEVDet基础上添加了少量的改动,以最大限度地保持原有范式的优雅性,主要的目的是完成两帧BEV特征的融合。具体而言就是把前一帧的BEV特征根据自车的运动信息进行特征在世界坐标系中的对齐,融合时使用的是最简单的特征Concat。这里其实是把真正的特征融合推理过程留给BEV Encoder来完成。下图为Nuscenes验证集上的性能:速度和精度权衡!


640.png


8.BEVerse



BEVerse: Unified Perception and Prediction in Birds-Eye-View for Vision-Centric Autonomous Driving


论文提出了一个基于多camera系统的三维感知和预测的统一框架BEVerse。与专注于改进单任务方法的现有研究不同,BEVerse在从多camera视频中生成时空鸟瞰图(BEV)表示以及联合推理以视觉为中心的自动驾驶的多任务方面具有优势。BEVerse首先执行共享特征提取和提升,以从多时间戳和多视图图像生成4D BEV表示。在自运动对准之后,空间-时间编码器被用于BEV中的进一步特征提取。最后,附加多个任务解码器用于联合推理和预测。在解码器中,论文提出了网格采样器,用于为不同任务生成具有不同范围和粒度的BEV特征。此外,还设计了用于记忆有效未来预测的迭代流方法。论文表明,时间信息改善了3D对象检测和语义图构建,而多任务学习可以隐式地有利于运动预测。通过在nuScenes数据集上的大量实验,多任务BEVerse在3D目标检测、语义地图构建和运动预测方面优于现有的单任务方法。模型整体结构如下图所示:


640.png


相比于其它SOTA方法,BEVerse在nuscenes上的表现:

640.png


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

相关文章
|
2月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
159 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
计算机视觉
YOLO环境搭建报错:module 'cv2' has no attribute 'gapi wip_ gst GStreamerPipeline'
报错:module 'cv2' has no attribute 'gapi wip_ gst GStreamerPipeline'
2491 0
|
3月前
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
手势代理 shouldBeRequiredToFailByGestureRecognizer 和 shouldRequireFailureOfGestureRecognizer 的区别
116 10
|
7月前
|
机器学习/深度学习 编解码
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析2
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析
321 2
|
7月前
|
机器学习/深度学习 计算机视觉
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析1
【论文笔记】图像修复MPRNet:Multi-Stage Progressive Image Restoration 含代码解析
148 1
|
机器学习/深度学习 自然语言处理 计算机视觉
【计算机视觉】MDETR - Modulated Detection for End-to-End Multi-Modal Understanding
对于图像模型,MDETR采用的是一个CNN backbone来提取视觉特征,然后加上二维的位置编码;对于语言模态,作者采用了一个预训练好的Transformer语言模型来生成与输入值相同大小的hidden state。然后作者采用了一个模态相关的Linear Projection将图像和文本特征映射到一个共享的embedding空间。 接着,将图像embedding和语言embedding进行concat,生成一个样本的图像和文本特征序列。这个序列特征首先被送入到一个Cross Encoder进行处理,后面的步骤就和DETR一样,设置Object Query用于预测目标框。
|
算法
Multi-scale multi-intensity defect detection in ray image of weld bead
用于检查内部缺陷的射线探伤是一种重要的焊接无损检测技术。不同检测场景、不同类型缺陷的焊道射线照片差异很大,限制了自动检测算法的通用性。
104 0
|
机器学习/深度学习 传感器 人工智能
超全 | 基于纯视觉Multi-Camera的3D感知方法汇总!(上)
近两年,基于纯视觉BEV方案的3D目标检测备受关注,all in one方式,确实能将基于camera的3D检测算法性能提升一大截,甚至直逼激光雷达方案,这次整理了领域中一些备受关注的multi-camera bev纯视觉感知方案,包括DETR3D、BEVDet、ImVoxelNet、PETR、BEVFormer、BEVDepth、BEVDet4D、BEVerse等!
超全 | 基于纯视觉Multi-Camera的3D感知方法汇总!(上)
|
机器学习/深度学习 传感器 编解码
翻译:Multi-scale Multi-path Multi-model Fusion Nerwork
M3Net: 多尺度多路径多模型融合网络及其在 RGB-D 显着目标检测中的应用实例
212 0
|
JavaScript 数据安全/隐私保护 Android开发
Angular 中自定义 Video 操作
上一篇文章是 Angular 项目实现权限控制。最近自己在网上看到别人使用 vue 进行自定义 video 的操纵。加上不久前实现了 angular 自定义 video 的相关需求, 遂来记录一下,作为交流思考🤔
Angular 中自定义 Video 操作