自动驾驶之BEV概述

1、为什么需要BEV?

自动驾驶需要目标在3D空间的位置信息,传统检测为2D图像上检测目标然后IPM投影到3D。所以无论如何3D结果才是我们最终想要的。

对于单个传感器:通过单目3D、深度估计等手段好像能解决这个问题,但是往往精度不高。

对于自动驾驶,往往需要360度的多个摄像头协同工作。将多个摄像头的结果进行融合也是一大问题。所以把图象特征转到BEV空间下直接进行3D位置预测,一则可以解决2D到3D的投影问题,二则预测结果可以直接用于下游的决策,省去多个传感器的融合。

2、什么是BEV的核心?

我们知道3D空间投影2D图象是一对一的,而2D图象投影3D空间则是一对多的射线上。所以如何把多个图象的2D特征表达到对应3D的BEV空间特征,进行视图转换 ,则是BEV的核心工作。

当前主要有代表性的两种方法:

1、基于深度分布估计的:代表方法为BEVDet

2、基于交叉注意力的:代表方法为BEVFormer

在BEV的基础上,往往加入时序融合多任务学习多模态监督等手段,由此发展出各种BEV的变形。

3、BEV特点

输入:来自不同角度相机的多张图像,覆盖360°视野范围。

输出:BEV视图下的各种感知结果,比如物体,道路,车道线,语义栅格等。

算法:图像到BEV视图转换,包括稠密和稀疏两种方式。

稠密有BEVDet和BEVFormer。有的方法则是针对具体的任务,比如3D物体检测,直接生成稀疏的BEV视图下的感知结果,比如DETR3D和PETR

4、测试数据集

对于BEV感知来说,目前比较常用的数据集是nuScenes。

nuScenes数据库发布了多个测试任务,包括物体检测跟踪 ,运动轨迹预测点云全景分割 以及路径规划

3D目标检测任务的性能指标主要有两个:mAPNDS

mAP (mean Average Precision)是目标检测中常用的性能指标,它对Precision-Recall(P-R)曲线进行采样,计算每个类别出平均的Precision。在计算P-R曲线时,需要匹配算法预测的物体框和标注的真值物体框。nuScenes中采用BEV视图下物体框的2D中心点距离来进行匹配,而不是传统的Intersection-of-Union(IoU),这样可以提高小物体的匹配率。

NDS(nuScenes Detection Score)在mAP的基础上,增加了物体框预测质量的指标。这些指标包括物体框的位置,大小,朝向,速度以及其它属性。与mAP相比,NDS可以更全面的评价3D目标检测算法的优劣。

对于BEV的发展历程,以及各种BEV的方法介绍,参考以下综述:BEV感知综述

相关推荐
badhope4 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
吴佳浩6 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
吴佳浩6 小时前
GPU 编号错乱踩坑指南:PyTorch cuda 编号与 nvidia-smi 不一致
人工智能·pytorch·nvidia
小饕6 小时前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
卧蚕土豆6 小时前
【有啥问啥】OpenClaw 安装与使用教程
人工智能·深度学习
GoCodingInMyWay6 小时前
开源好物 26/03
人工智能·开源
AI科技星6 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
zhangfeng11337 小时前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
monsion7 小时前
OpenCode 学习指南
人工智能·vscode·架构
藦卡机器人7 小时前
中国工业机器人发展现状
大数据·人工智能·机器人