当前位置: 首页 > news >正文

BEV下统一的多传感器融合框架 - FUTR3D

BEV下统一的多传感器融合框架 - FUTR3D

引言

在自动驾驶汽车或者移动机器人上,通常会配备许多种传感器,比如:光学相机、激光雷达、毫米波雷达等。由于不同传感器的数据形式不同,如RGB图像,点云等,不同模态的数据的信息密度和特性也不同,如何能够有效地融合各个模态的数据使得车或机器人能够准备地感知周围的场景是一个非常关键的问题。

下面就由陈炫耀同学来介绍我们的论文:FUTR3D: A Unified Sensor Fusion Framework for 3D Detection[1],网站链接:FUTR3D。

之前多模态融合的工作主要是为特定的传感器组合设计算法,比如用图像去增强点云(PointPainting,MVP)、用图像检测框去辅助点云检测(Frustum PointNet)等。而在FUTR3D中,我们试着在BEV下构建一个通用的可容纳各种不同传感器的3D目标检测框架。

image

FUTR3D的主要贡献如下:

  1. 通用框架。FUTR3D是第一个通用的可适应各种不同传感器的端到端的三维目标检测框架。

  2. 有效性。它在Camera, LiDAR, Camera+LiDAR , Camera+Radar等不同的传感器组合情况下都能实现领先效果。

  3. 低成本。FUTR3D在Camera+4线LiDAR的情况下能够超过32线LiDAR的结果,因此能够促进低成本的自动驾驶系统。

image

附赠自动驾驶学习资料和量产经验:链接

FUTR3D方案

image

FUTR3D主要包括Modality-Specific Feature Extractor, Modality-Agnostic Feature Sampler和Loss。

Modality-Specific Feature Extractor

对于不同的传感器输入数据,我们根据它们各自的模态形式分别用不同的backbone去提取它们的特征。

  • 对于camera images,采用ResNet50/101和FPN来对每张图片提取多尺度的特征图。

  • 对于LiDAR point clouds,用PointPillar或者VoxelNet来提取点云的特征。

  • 对于Radar point clouds,用3层MLP来提取每个Radar point的特征。

Modality-Agnostic Feature Sampler

模态无关的特征采样器,下面简称MAFS,是FUTR3D的detection head与各个模态的特征进行交互的部分。

类似于DETR3D,MAFS含有600个object query,每个query会经过一个全连接网络预测出在BEV下的3D reference points。

对于camera部分,我们依照DETR3D的做法,利用相机的内外参数将reference points投影到image上采集feature,得到 ��cam 。具体做法可以参看上篇文章,这里就不详细展开。

对于LiDAR部分,我们按照reference points在3D空间中的坐标,投影到LiDAR BEV特征上去采集它在LiDAR feature map上对应位置的feature,得到 ��lid 。

对于Radar部分,根据每个reference points的位置,选取离它最近的10个Radar points的特征,并聚合在一起得到 ��rad 。

采集得到各个模态的对应特征之后,将它们concatenate到一起,并经过一个MLP网络投射到一个共同的特征空间中。

image

之后再利用 ��fus 以及reference points的位置编码去更新object query的信息。

image

在FUTR3D中,我们同样有6层decoder layer,在每层decoder layer中,用object query之间的self attention和MAFS去更新object query的信息,并且每个query会去通过MLP网络去预测得到bounding box的参数和reference points的offsets去迭代更新每一层的预测结果。

Loss

在loss部分,我们先利用Hungarian算法来将每个object query预测得到的bbox去和ground-truth box进行二分图匹配,得到最优的matching方案,然后对匹配成功的box计算regression L1 loss和classification focal loss,没有匹配到gt box的predicted box就只计算classification loss。

实验结果

FUTR3D作为一个通用框架,在各个不同传感器的配置下都能取得state-of-the-art的结果,超过针对特定输入组合的算法。特别是在低线LiDAR,如1线、4线等,FUTR3D表现出了很好的鲁棒性,结果远超其他方案。值得一提的是,在Cameras+4线LiDAR的情况下,FUTR3D达到了56.8mAP,超过了32线LiDAR的sota结果56.6mAP(CenterPoint)。

image

表 Cameras和LiDAR融合的结果

image

表 Cameras和Radar融合的结果

结果分析

由于FUTR3D的通用性,我们得以分析各个模态在目标检测中不同的特性。

在Cameras+LiDAR融合中,Cameras对体积小和距离远的物体有着显著的帮助作用。

image

表 对不同距离的物体的模型表现

可视化结果

在各种不同传感器配置组合的融合中,我们发现一些非常有趣的场景,并由其可以对比看出各个不同传感器之间不同的特性。

在Cameras+4 Beam LiDAR和32 Beam LiDAR的对比中,可以看出即使点云稀疏得多的情况下,相机也能极大地帮助检测那些体积小和距离远导致point很少的物体。

image

图 Cameras+4线LiDAR vs. 32线LiDAR对比

在Cameras+1线LiDAR和Cameras-only的对比中,可以看到即使只有一线LiDAR,也可以通过它提供的距离信息来帮助检测。

image

图 Cameras+1线LiDAR vs. Cameras-only 对比

下一篇预告

我们将在下一篇介绍BEV系的多相机多目标跟踪框架MUTR3D,MARS Lab的BEV系列未完待续,敬请期待!

参考

  1. ^FUTR3D: A Unified Sensor Fusion Framework for 3D Detection https://arxiv.org/abs/2203.10642
http://www.lryc.cn/news/341883.html

相关文章:

  • c#和python的flask接口的交互
  • Python测试框架Pytest的参数化详解
  • KernelSU 如何不通过模块,直接修改系统分区
  • 红日靶场ATTCK 1通关攻略
  • CellMarker | 人骨骼肌组织细胞Marker大全!~(强烈建议火速收藏!)
  • 游戏名台词大赏
  • OpenCV如何在图像中寻找轮廓(60)
  • java 泛型题目讲解
  • pptx 文件版面分析-- python-pptx(python 文档解析提取)
  • http的basic 认证方式
  • 【信息系统项目管理师练习题】信息系统治理
  • RabbitMQ之顺序消费
  • 轻松上手的LangChain学习说明书
  • 【论文笔记】Training language models to follow instructions with human feedback A部分
  • 嵌入式交叉编译:x265
  • 一、Redis五种常用数据类型
  • C语言动态内存管理malloc、calloc、realloc、free函数、内存泄漏、动态内存开辟的位置等的介绍
  • 最近惊爆谷歌裁员
  • 音频可视化:原生音频API为前端带来的全新可能!
  • 【中等】保研/考研408机试-动态规划1(01背包、完全背包、多重背包)
  • [DEMO]给两个字符串取交集的词语
  • leetcode53-Maximum Subarray
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之七 简单进行人脸检测并添加面具特效实现
  • 【go项目01_学习记录06】
  • Vue中Element的下载
  • 机器人项目相关
  • Mac升级go版本某种错误情况处理
  • 美团KV存储squirrel和Celler学习
  • Python学习笔记------处理数据和生成折线图
  • 知识图谱与大语言模型的协同(RAG)——MindMap