前言本文提出了一种基于和时间结构的Bird's-Eye-View(BEV)编码器,称为 。该编码器可以有效地聚合来自多视角摄像机和历史BEV特征的时空特征 。
本教程禁止转载 。同时,本教程来自知识星球【CV技术指南】更多技术教程,可加入星球学习 。
、目标检测、语义分割交流群
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息 。
CV各大方向专栏与各个部署框架最全教程整理
从生成的BEV特征可以同时支持多个3D感知任务,例如3D物体检测和地图分割 。
背景意义
自动驾驶技术已经成为当前研究热点之一 。在自动驾驶系统中,高质量的3D感知是至关重要的 。
然而,在实际应用中,由于传感器噪声、遮挡等因素,3D感知任务仍然存在许多挑战 。因此,需要一种新颖且高效的方法来解决这些问题 。
流程
其实和大多数的算法流程一样,的流程如下:
输入数据格式
对于网络模型,输入数据是一个6维张量:(bs,queue,cam,C,H,W) 。
其中:
网络特征提取
网络特征提取的目的是为了从每一帧对应的六张环视图像中提取特征,以便于后续将其转换为 BEV 特征空间,并生成 BEV 特征 。
BEV 特征产生
生成 BEV 特征的过程中,最核心的部分是论文中提出的模块,其中包括Cross- 和Self- 。在这两个模块中,都使用了一个非常关键的组件:多尺度可变形注意力模块 。
这个模块将的全局注意力变为局部注意力,以减少训练时间并提高的收敛速度 。
![一 BEV专栏从BEVFormer深入探究BEV流程(上篇)](http://img.gansulong.com/230816/1222244496-0.jpg)
文章插图
Self-的作用是将时序信息(如插图中的历史 BEV)与当前时刻的 BEV Query 进行融合,以提高 BEV Query 的建模能力 。
Cross-的作用是利用Self- 模块输出的,对主干网络和 Neck 网络提取到的多尺度环视图像特征进行查询,生成 BEV 空间下的BEV 特征 。
模块
以上过程中,利用了当前帧之前所有帧的特征迭代修正,以获得的特征,因此在使用模块进行解码之前,需要对当前时刻的 6 张环视图片同样使用+ Neck 提取多尺度特征,并使用上述Self- 模块和Cross- 模块的逻辑来生成当前时刻的特征 。然后,将这部分特征输入到中进行 3D 目标检测 。
算法创新 使用和时间结构来聚合时空信息
使用和时间结构来聚合来自多视角摄像机和历史BEV特征的时空信息 。
具体来说,使用预定义的网格状BEV查询与空间/时间特征进行交互,以查找并聚合时空信息 。这种方法可以有效地捕获3D场景中物体的时空关系,并生成更强大的表示 。
使用查询来查找空间/时间空间并相应地聚合时空信息
除了使用和时间结构来聚合时空信息外,还使用查询来查找空间/时间空间并相应地聚合时空信息 。
具体而言,使用两种类型的注意力机制:一种是用于跨摄像机视图之间的注意力机制(即“ Cross-”),另一种是用于历史BEV特征之间的注意力机制(即“ Self-”) 。
这些注意力机制可以帮助有效地捕获3D场景中物体之间的关系,并生成更好的表征 。
适用于多个3D感知任务
从生成的BEV特征可以同时支持多个3D感知任务,例如3D物体检测和地图分割 。
这意味着,使用可以减少需要为不同任务训练不同模型的工作量,并提高系统整体性能 。
实验结果
实验结果表明,在KITTI数据集上进行评估时,相比其他现有方法具有更好的性能,表现出较高的3D物体检测和地图分割能力,为自动驾驶系统中的3D感知任务提供了一种新颖且高效的解决方案 。