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

【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation

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

0. 概述

本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型,如图所示。模型的图像分支利用可变形注意力,将图像特征提升到BEV空间中,其中雷达数据用于初始化查询。然后,使用交叉注意力融合图像和雷达特征。最后,降低空间分辨率,并使用多类分类头进行BEV分割(车辆、地图)。
在这里插入图片描述

1. 传感器数据编码

摄像头:使用冻结的DINOv2 ViT-B/14(可学权重的ViT适应器),输出多尺度图像特征。

雷达:类似SparseFusion3D,本文使用的雷达点原始特征包括3D位置 ( x , y , z ) (x,y,z) (x,y,z),未补偿的速度 ( v x , v y ) (v_x,v_y) (vx,vy)和RCS值(捕捉表面的可检测程度)。将点云体素化后,输入下图所示的特征编码模块(FCN表示全连接层,其结构与PointNet类似)。最后将体素特征表达输入体素编码器,压缩高度,得到雷达BEV特征 f r a d f_{rad} frad
在这里插入图片描述

2. 图像特征提升

受BEVFormer启发,本文在可变形注意力的基础上,提出使用稀疏雷达点来初始化查询。

查询初始化:即利用雷达的3D信息初步地将图像特征提升到BEV。首先初始化以前视相机为中心的3D体素,将每个体素与一个或两个视图关联,然后根据射线投射将图像特征提升到3D(关联多个视图的体素,其特征取平均)。

注:此步骤与LSS的方法不同,因其考虑了每个像素的大小(如图,射线经过区域的部分相邻区域也被标记为同一颜色)。因此,实际上该方法更接近Simple-BEV(其中双线性采样被替换为最近邻采样)。

最后使用 1 × 1 1\times 1 1×1卷积压缩高度,得到 X × Y × F X\times Y\times F X×Y×F的特征。然后,使用雷达指导的可变形注意力得到 X × Y × F X\times Y\times F X×Y×F的初始化查询 Q i m g L Q_{img}^L QimgL
在这里插入图片描述
提升:将初始化查询 Q i m g L Q_{img}^L QimgL与可学习位置编码 Q p o s L Q_{pos}^L QposL和可学习查询 Q b e v L Q_{bev}^L QbevL求和得到 Q L Q^L QL,再使用可变形注意力从图像进行特征采样,得到最终的图像BEV特征。

此处可变形注意力的查询参考点如何确定?文中提到再次建立 X × Y × Z X\times Y\times Z X×Y×Z的体素空间,是否同一BEV位置、不同高度的体素对应的查询均相同(为对应的BEV查询),而参考点为体素在图像上的投影?

3. 传感器融合

类似TransFusion,本文查询雷达点周围的图像特征,并使用可变形注意力提取特征。本文将 f r a d f_{rad} frad,可学习位置编码 Q p o s F Q_{pos}^F QposF和可学习BEV查询 Q b e v F Q_{bev}^F QbevF求和,得到 Q F Q^F QF,然后将图像特征作为交叉注意力的键与值,并将输出送入BEV编码器。

4. BEV分割头

本文为多类BEV分割使用单一任务头。具体来说,使用卷积网络输出1个物体类别和 M M M个地图元素类别,输出的大小为 ( M + 1 ) × X × Y (M+1)\times X\times Y (M+1)×X×Y(注意一个像素可以同时属于多种类别)。

目标检测:本文考虑所有车辆。使用二元交叉熵损失监督:

L B C E = − 1 N ∑ i = 1 N log ⁡ ( p i , t ) L_{BCE}=-\frac1N\sum_{i=1}^N\log(p_{i,t}) LBCE=N1i=1Nlog(pi,t)

其中

p i , t = { p i 若 y i = 1 1 − p i 否则 p_{i,t}=\begin{cases}p_i&若y_i=1\\1-p_i&否则\end{cases} pi,t={pi1piyi=1否则

y i ∈ { 0 , 1 } y_i\in\{0,1\} yi{0,1}表示像素 i i i是否属于车辆类别, p i p_i pi为预测 y i = 1 y_i=1 yi=1的概率。

地图分割:本文使用 α \alpha α平衡的多类别focal损失:

F F O C = ∑ c = 1 C − 1 N ∑ i = 1 N α i , t ( 1 − p i , t ) γ log ⁡ ( p i , t ) F_{FOC}=\sum_{c=1}^C-\frac1N\sum_{i=1}^N\alpha_{i,t}(1-p_{i,t})^\gamma\log(p_{i,t}) FFOC=c=1CN1i=1Nαi,t(1pi,t)γlog(pi,t)

其中 c c c为语义类别编号, γ \gamma γ为区分简单/困难样本的聚焦参数。 α i , t \alpha_{i,t} αi,t类似 p i , t p_{i,t} pi,t的定义:

α i , t = { α 若 y i = 1 1 − α 否则 \alpha_{i,t}=\begin{cases}\alpha&若y_i=1\\1-\alpha&否则\end{cases} αi,t={α1αyi=1否则

其中 α \alpha α处理前景/背景的不平衡性。

相关文章:

【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation

原文链接:https://arxiv.org/abs/2403.11761 0. 概述 本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型,如图所示。模型的图像分支利用可变形注意力,将图像特征提升到BEV空间中,其中雷达数据用于初始化查询…...

圆通寄15kg30kg一般多少钱?寄大件物品怎么寄最便宜?

作为一名即将毕业的大学生,搬家成了我和室友们共同的难题。尤其是在寄送大件物品时,如何省钱、如何打包、选择哪家快递公司等问题让我们头疼不已。今天,我就来分享一些寄大件物品的省钱技巧以及打包方法,希望对大家有所帮助。 一…...

transformer初探

transformer初探 self-attentionmultihead-attentionencoderdecoder self-attention 其实就是三个矩阵, W q W_q Wq​、 W k W_k Wk​、 W v W_v Wv​,这三个矩阵就是需要训练的参数。分别得到每个token对应的 q q q k k k v v v,其中 q …...

JUC并发编程基础(包含线程概念,状态等具体实现)

一.JUC并发编程基础 1. 并行与并发 1.1 并发: 是在同一实体上的多个事件是在一台处理器上"同时处理多个任务"同一时刻,其实是只有一个事件在发生. 即多个线程抢占同一个资源. 1.2 并行 是在不同实体上的多个事件是在多台处理器上同时处理多个任务同一时刻,大家…...

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台 日志是监控和调试应用程序和系统的重要工具。集中管理和分析日志可以帮助你快速定位问题、了解系统运行状况和性能,并提高你的日志管理效率。ELK 是一个流行的日志管理解决方案,由 …...

深度学习 - 模型的保存与部署方式汇总

深度学习模型保存和加载格式科普 在深度学习中,模型的保存和加载是非常重要的环节。不同的格式有不同的特点和适用场景。本文将为新手朋友们介绍几种常见的模型格式,包括它们的简介、保存方式、加载方式、优缺点以及应用场景。 1. PyTorch (.pth, .pt)…...

人工智能对网络安全有何影响?

人工智能网络安全在短期、中期和长期如何变化 当今数字时代网络安全的重要性 在谈论人工智能在网络安全中的作用时,必须首先考虑短期影响,因为它们是最明显的,而且它是一个未知的领域,需要超越直接炒作的能力。 因此&#xff0…...

Oracle的RECYCLEBIN回收站:轻松恢复误删对象

目录 Oracle的RECYCLEBIN回收站:轻松恢复误删对象一、概念二、工作原理三、使用方法1 查看回收站中的对象2 恢复回收站中的对象2.1 恢复表(TABLE)2.2 恢复索引(INDEX)2.3 恢复视图(VIEW)2.4 恢复…...

Android 内存原理详解以及优化(二)

上一篇讲了内存原理,如果还没看可以先看上一篇:Android 内存原理详解以及优化(一) 这一篇我总结一下我们经常遇到的内存优化问题: 1.内存抖动 自定义view的ondraw是会被频繁调用的,那在这个方法里面就不能频…...

Shell学习——Shell变量

文章目录 Shell变量使用变量只读变量删除变量变量类型字符串变量: 在 Shell中,变量通常被视为字符串。整数变量: 在一些Shell中,你可以使用 declare 或 typeset 命令来声明整数变量。数组变量: Shell 也支持数组&#…...

Java中的持续集成与持续部署(CI/CD)

Java中的持续集成与持续部署(CI/CD) 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中的持续集成(Co…...

极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…...

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件,然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…...

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用。 在51单片机中,定时器1工作在模式0,它和定时器0一样,TL1占低5位,TH1占高8位,合计13位,也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…...

linux的服务管理

systemd systemd 是一个系统和服务管理器,用于Linux操作系统中,旨在替代传统的Unix系统V初始化系统(SysV init)。 不一定所有使用 yum 安装的软件都可以通过 systemctl start 来管理。能否通过 systemctl start 管理取决于软件包…...

动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集

53语言模型和数据集 1.自然语言统计 引入库和读取数据: import random import torch from d2l import torch as d2l import liliPytorch as lp import numpy as np import matplotlib.pyplot as plttokens lp.tokenize(lp.read_time_machine())一元语法&#xf…...

Python 学习之自动化运维技术(八)

Python 的自动化运维技术 Python的自动化运维技术是指利用Python编程语言和相关工具实现运维工作的自动化,以提高效率、减轻工作负担。以下是对Python自动化运维技术的清晰归纳和详细介绍: 一、自动化运维的核心优势 ● 提高效率:通过自动化脚…...

【python】PyQt5可视化开发,如何设计鼠标显示的形状?

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

利用大模型知识库,优化智能客服问答效果 | 创新场景

ITValue 痛点 SSC( Share Service Center ,共享服务中心)是企业日常接触最多的场景之一,更多是对内服务,包括 HR 、财务、IT 等。该场景对专业度要求非常高,知识点非常多,对于知识的使用者或者查…...

物联网协议都包含哪些协议?

物联网协议是物联网生态系统中不可或缺的组成部分,它们负责处理和协调物联网设备之间的通信。具体介绍如下: Ethernet:以太网是一种有线网络协议,广泛应用于局域网络(LAN)中,提供稳定的高速数据传输。Wi-Fi&#xff1…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...