【论文笔记】MetaBEV: Solving Sensor Failures for BEV Detection and Map Segmentation

news2024/11/16 10:50:56

原文链接:https://arxiv.org/abs/2304.09801

1. 引言

  目前,多模态融合感知中的一大问题在于忽视了传感器失效带来的影响。之前工作的主要问题包括:

  1. 特征不对齐:通常使用CNN处理拼接后的特征图,存在几何噪声时可能导致特征不对齐;这可归因于CNN在长距离感知和对输入自适应关注的局限性。
  2. 高度依赖完整模态:基于查询的方法或按通道融合的方法,均高度依赖完整的模态输入,性能会在某一模态失效时严重下降。

  本文提出MetaBEV,在统一的BEV表达下解决上述问题,而与使用的模态或者具体的任务无关。由于现有方法的瓶颈在于融合模块缺乏独立融合的能力,本文提出任意模态BEV进化解码器,使用跨模态注意力关联单一模态或多模态特征。
  本文在6种传感器失效(包括视野受限(LF),光束减少(BR),物体丢失(MO),视图丢失(VD),视图噪声(VN),障碍遮挡(OO))和2种传感器丢失(包括激光雷达丢失(ML),相机丢失(MC))的情况下对MetaBEV进行了评估。实验表明MetaBEV具有强鲁棒性。
  此外,本文使用共享框架处理多任务。但是多任务之间的冲突会导致性能下降,而很少有工作去分析和进行相应的方案设计。本文将MetaBEV与多任务混合专家(M 2 ^2 2oE)模块整合,为多任务学习提供可能的解决方案。

3. MetaBEV方法

  本文通过参数化的meta-BEV连接各个模态,并使用跨模态注意力整合来自各模态的几何和语义信息。网络如下图所示,由特征编码器、(带跨模态可变形注意力的)BEV进化解码器和任务头组成。
  

3.1 BEV特征编码器概述

  MetaBEV在BEV下生成融合特征,以组合多模态特征并适应不同的任务。
  相机/激光雷达到BEV:使用BEVFusion的方式,使用图像主干提取多视图图像特征,并按照LSS将图像特征提升到3D空间,并压缩得到BEV特征图 B c B_c Bc。激光雷达进行体素化后,使用3D稀疏卷积编码为BEV表达 B l B_l Bl

3.2 BEV进化解码器

  该部分由三个组件构成:跨模态注意力层,自注意力层和即插即用的M 2 ^2 2oE块。结构如下图所示。
在这里插入图片描述
  跨模态注意力层:首先初始化密集BEV查询,称为meta-BEV B m B_m Bm。与位置编码相加后,和各模态交互。为加快效率,本文使用可变形注意力 DAttn ( ⋅ ) \text{DAttn}(\cdot) DAttn()。但原始的可变形注意力不适合处理任意模态输入。本文使用模态相关的MLP(上图中的C-MLP和L-MLP)预测采样点和注意力权重 A A A。给定BEV表达 x ∈ { B c , B l } x\in\{B_c,B_l\} x{Bc,Bl},首先生成模态相关的采样偏移量 Δ p x \Delta p^x Δpx和注意力权重 A x A^x Ax,前者用于定位采样特征,后者用于缩放采样特征。之后利用缩放的采样特征更新meta-BEV。整个过程可表示如下: DAttn ( B m , p , x ) = ∑ m = 1 M W m [ ∑ x ∈ { B c , B l } ∑ k = 1 K A m k x ⋅ W m ′ x ( p + Δ p m k x ) ] \text{DAttn}(B_m,p,x)=\sum_{m=1}^MW_m[\sum_{x\in\{B_c,B_l\}}\sum_{k=1}^KA_{mk}^x\cdot W'_{m}x(p+\Delta p_{mk}^x)] DAttn(Bm,p,x)=m=1MWm[x{Bc,Bl}k=1KAmkxWmx(p+Δpmkx)]其中 m m m表示注意力头, K K K表示采样点数, p p p表示参考点。 W m W_m Wm W m ′ W'_m Wm表示可学习投影矩阵。
  交叉注意力机制一层一层地融合特征,使meta-BEV迭代地“进化”为融合特征。
  自注意力层:上述过程未进行查询之间的交互。本文使用自注意力。使用 B m B_m Bm替换前面式子中的 x x x,得到自注意力的表达式 DAttn ( B m , p , B m ) \text{DAttn}(B_m,p,B_m) DAttn(Bm,p,Bm)
  M 2 ^\textbf{2} 2oE块:按照之前通过混合专家层(MoE)为大型语言建模的方式,本文将MLP引入BEV进化块,提出M 2 ^2 2oE块用于多任务学习,如上一张图中的I、II所示。
  首先介绍RM 2 ^2 2oE: M 2 oE ( x ) = ∑ i = 1 t R ( x ) i E i ( x ) , t ≪ E \text{M}^2\text{oE}(x)=\sum_{i=1}^t\mathcal{R}(x)_i\mathcal{E}_i(x),t\ll E M2oE(x)=i=1tR(x)iEi(x),tE其中 x x x是输入RM 2 ^2 2oE-FFN的token, R : R D → R E \mathcal{R}:\mathbb{R}^D\rightarrow\mathbb{R}^E R:RDRE是将token分配给所属专家的寻径函数, E i : R D → R D \mathcal{E}_i:\mathbb{R}^D\rightarrow\mathbb{R}^D Ei:RDRD是专家 i i i处理的token。 R \mathcal{R} R E i \mathcal{E}_i Ei均为MLP, E E E是确定专家数量的超参数。对于每个token, R \mathcal{R} R会选择概率最高的 t t t个专家进行分配,导致大量的专家处于未激活状态。
  HM 2 ^2 2oE属于RM 2 ^2 2oE的退化版本( E E E等于任务数且 t = 1 t=1 t=1)。token会绕过路径分配过程通过相应任务的FFN网络,然后在任务融合网络融合。这个过程能通过不同的专家分离多任务相互冲突的梯度,从而减轻任务冲突。

3.3 传感器失效

  本文定义了6种传感器失效方式:

  1. 激光雷达视野受限(LF):由于不正确收集或部分硬件损坏,激光雷达只能从视野的一个部分获取数据;
  2. 物体丢失(MO):某些材料阻止激光雷达点反射;
  3. 光束减少(BR):由于能源或传感器处理能力受限导致;
  4. 视图丢失(VD):来自相机故障;
  5. 视图噪声(VN):来自相机故障;
  6. 障碍遮挡(OO):物体在相机视图中被遮挡。

  此外,本文还考虑了两种严重的传感器缺失场景:相机丢失和激光雷达丢失。

3.4 切换模态训练

  本文提出切换模态训练方法,在训练时按预定义的概率随机接收来自某一模态的输入,保证使用任意模态时均有较高精度。

4. 实验

4.2 在完整模态下的性能

  实验表明,对于目标检测任务,在图像单一模态下,MetaBEV能大幅超过现有模型的性能;激光雷达单一模态和相机激光雷达多模态均能达到SotA相当的性能。对于BEV语义分割任务,MetaBEV在激光雷达单一模态和相机激光雷达多模态下均能大幅超越之前的方法。

4.3 传感器失效时的性能

  传感器丢失时,过去的方法不能处理缺失的特征,本文将缺失的特征替换为全0值以保证网络能够输出预测结果。实验表明MetaBEV对模态丢失有更好的鲁棒性,特别是在缺失激光雷达的情况下,检测性能能大幅超越BEVFusion;在缺失相机的情况下,BEV分割性能能大幅超越BEVFusion。即使在相机丢失的情况下,MetaBEV也能超过激光雷达单一模态SotA模型的性能。
  在传感器部分失效时,本文进行了两种评估方式:零样本测试和域内测试。对于前者,直接把训练模型在传感器部分失效的情况下进行测试;对于后者,则先在传感器部分失效的情况下进行训练,再进行测试。实验表明,MetaBEV能在两种测试方法上超过BEVFusion。

4.4 多任务学习的性能

  在不加入MoE的情况下,MetaBEV的性能已经能达到SotA。加入两种MoE,性能均有提升,且RMoE比HMoE的提升更大。

4.5 消融研究

  网络配置:首先寻找BEV进化解码器的最优结构,包括层的组合、采样点的数量和专家的数量。实验表明使用少量的交叉注意力层、少量的采样点就能达到足够的性能。此外,加入自注意力层也能提高性能,因为其捕捉了查询之间的相关性。在RMoE中,使用和分配更多的专家能达到更好的性能。
  切换模态训练:与全模态训练相比,切换模态训练能大幅提高缺失模态时的性能,也能少量提高完全模态时的性能。

补充材料

7. 实施细节

7.2 传感器失效

  1. 视野受限(LF):只输入某一角度范围内的激光雷达点云。
  2. 物体丢失(MO):按概率丢弃来自物体的点。
  3. 光束减少(BR):选择来自激光雷达部分光束的点。
  4. 视图噪声(VN):为部分或全部视图图像添加随机噪声。
  5. 视图丢失(VD):随机丢弃部分视图并替换为全零输入。
  6. 障碍遮挡(OO):生成预定义掩膜并与图像视图进行alpha混合。

7.3 训练细节

  为图像和激光雷达使用MMDetection3D中的标准数据增广;使用CBGS以平衡各类别。
  在多任务训练时,在预训练的3D检测网络中插入分割头,并对整个网络进行微调。
  使用切换模态训练方法训练时,平均设置各种模态组合的输入概率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/900864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023-8-14 前缀和

原题链接&#xff1a;前缀和 #include <iostream> using namespace std;const int N 100010;int n, m;int a[N], s[N];int main () {scanf("%d%d", &n, &m);for(int i 1; i < n; i ) scanf("%d", &a[i]);for(int i 1; i < n;…

Oracle Database12c数据库官网下载和安装教程

文章目录 下载安装Oracle自带的客户端工具使用 下载 进入oracle官网 点击下载连接之后右上角会有一个下载 我们只需要数据库本体就够了 运行这个下载器 等待下好之后即可 出现 Complete 之后代表下载成功&#xff0c;然后我们解压即可 安装 双击 双击setup.exe 根据…

windows电脑安装了多个版本python 用vscode编程如何指定版本

在状态栏中找到 Python 版本号。这个版本号表示当前正在使用的 Python 解释器版本。 如果需要切换到其他版本的 Python&#xff0c;请点击版本号&#xff0c;然后从列表中选择所需的 Python 版本。列表中的 Python 版本是按照安装顺序排列的。这里一般会有多个版本可供选择

URL编码指南

URL简介 URL 是统一资源定位符&#xff08;Uniform Resource Locator&#xff09;的缩写。它是用于在互联网上定位并访问资源的一种标识方式。 URL通常由以下几个组成部分组成&#xff1a; 协议&#xff08;Protocol&#xff09;&#xff1a;指示要使用的协议&#xff0c;如…

ubuntu 搜狗输入法安装 和 无法输入中文

一、下载搜狗输入法Linux版本。 搜狗输入法linux-首页 二、安装fcitx输入框架&#xff0c;及相关的依赖库 sudo apt install fcitx-bin sudo apt-get install fcitx-table sudo apt --fix-broken install 三、安装搜狗输入法 sudo dpkg -i sougou....deb 四、通过 设置&…

【福建事业单位-综合基础知识】03行政法

【福建事业单位-综合基础知识】03行政法 1.行政法概述&#xff08;原则重点&#xff09;行政主体范围 行政行为总结 二.行政处罚2.1行政处罚的种类总结 行政法框架 1.行政法概述&#xff08;原则重点&#xff09; 行政法的首要原则是合法&#xff1b;自由裁量——合理行政&…

RequestRespons

文章目录 Request&Respons1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…

标题:Python数据结构详解:列表、元组、字典和集合

文章目录 &#x1f340;引言&#x1f340;列表&#xff08;List&#xff09;&#xff1a;有序可变序列&#x1f340;特点&#x1f340;常见操作 &#x1f340;元组&#xff08;Tuple&#xff09;&#xff1a;有序不可变序列&#x1f340;特点&#x1f340;常见操作 &#x1f34…

18-组件化开发 根组件

组件化开发 & 根组件: 1. 组件化:一个页面可以拆分成一个个组件&#xff0c;每个组件有着自己独立的结构、样式、行为. 好处:便于维护&#xff0c;利于复用->提升开发效率 组件分类: 普通组件 , 根组件 2. 根组件:整个应用最上层的组件&#xff0c;包裹所有普通小组件…

Smartbi:大模型+ABI在企业数字化浪潮中“推波助澜”?

围绕着大模型进行开发的范式正在形成。 2023年以来&#xff0c;ChatGPT让各界认识到通用大模型的力量。随之而来的&#xff0c;是一场属于所有行业的科技盛宴&#xff0c;一个个行业大模型涌现&#xff0c;几乎所有科技企业都在计划或已经发布了自己的大语言模型&#xff08;L…

ACDU-数据库技术揭秘及应用实践

ACDU-数据库技术揭秘及应用实践 会议时间&#xff1a;2023-08-19 13&#xff1a;30 ~ 17:30 会议地点&#xff1a;杭州西溪万怡酒店 活动主题&#xff1a;本活动由中国数据库联盟组织&#xff0c;并汇集了数据库领域知名人士&#xff0c;一起探讨了数据库前沿技术的应用。 活动…

记录:win10物理机ping不通虚拟机上的docker子网(已解决)

【说明】 windows10&#xff1a;已关闭防火墙 linux发行版本&#xff1a;centos7.9&#xff08;已禁用SElinux、已关闭防火墙&#xff09; 虚拟机软件&#xff1a;VMware Workstation 17 虚拟机网络模式&#xff1a;NAT模式 docker版本&#xff1a;20.4.5 docker网络模式…

当众讲话与演讲口才沙龙活动策划方案

活动名称&#xff1a;当众讲话与演讲口才沙龙 活动目的&#xff1a; 当众讲话与演讲口才沙龙旨在提升参与者的演讲口才能力&#xff0c;培养自信心和表达能力&#xff0c;促进交流与分享。通过举办此活动&#xff0c;我们希望能够帮助参与者克服公众演讲的恐惧&#xff0c;提…

Visual studio的安装教程(最新最详细)新手小白必备

目录 简介 1、Visual Studio下载 2、配置 3、新建项目 4.新建文件 5、选择C文件&#xff08;cpp&#xff09; &#xff0c;命名&#xff0c;选择位置即可 ​编辑 简介 Visual Studio 集成开发环境是一种创新启动板&#xff0c;可用于编辑、调试并生成代码&#xff0c;…

PatchMatchNet 在线查看训练曲线、多条曲线显示在一张图上、多次训练曲线放在一张图上对比

文章目录 1准备工作1.1 可视化工具-Tensorboard调用1.2 查看训练文件2 Tensorboard在线查看训练曲线2.1 查看训练曲线 平滑度调节 SCALARS 训练曲线3 将多条曲线叠加在一张图上显示4 多次训练曲线 放在一张图上对比1准备工作 1.1 可视化工具-Tensorboard调用 Tensorboard模块…

接口测试 —— Jmeter 参数加密实现

Jmeter有两种方法可以实现算法加密 1、使用__digest自带函数 参数说明&#xff1a; Digest algorithm&#xff1a;算法摘要&#xff0c;可输入值&#xff1a;MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512 String to be hashed&#xff1a;要加密的数据 Salt to be…

操作系统_内存管理(二)

目录​​​​​​​ 2. 虚拟内存管理 2.1 虚拟内存的基本概念 2.1.1 传统存储管理方式的特征 2.1.2 局部性原理 2.1.3 虚拟存储器的定义和特征 2.1.4 虚拟内存技术的实现 2.2 请求分页管理方式 2.2.1 页表机制 2.2.2 缺页中断机构 2.2.3 地址变换机构 2.3 页框分配…

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

文章目录 1 前言2 配置方法 >>返回总目录<< 1 前言 为减轻主核的负载率或者平衡各个核的资源分配&#xff0c;通常需要把一些MCU内部资源分配到从核上&#xff0c;在EB tresos工具中&#xff0c;通过ResourceM模块实现多核资源分配。 2 配置方法 ResourceMMaste…

Java基础知识小结(内部类、BigInteger、枚举、接口、重写重载和序列化)

一、Java内部类 1、内部类 在Java中&#xff0c;也可以嵌套类&#xff08;类中的类&#xff09;。嵌套类的目的是将属于同一类的类分组&#xff0c;这使代码更具可读性和可维护性。 要访问内部类&#xff0c;请创建外部类的对象&#xff0c;然后创建内部类的对象&#xff1a;…

Java基础知识题(一)

文章目录 前言 一 Java语言 1. Java为什么不直接实现Iterator接口&#xff0c;而是实现Iterable 2. 解释为什么Java被称作是“平台无关的编程语言”&#xff1f; 3. 请描述JDK和JRE的区别 &#xff1f; 4. 简述什么是值传递和引用传递&#xff1f;重点 5. 简述什么是迭…