BEV数据集标注成本高?BEVPose:减少对标注数据依赖!

引言

本文提出了一个名为BEVPose的框架,通过利用自监督和传感器位姿信息,实现相机和激光雷达数据的多模态BEV表示对齐,显著减少了对标注数据的依赖。BEVPose在BEV地图分割任务中表现出色,能够超越全监督的方法,同时提升数据效率。未来,该方法有望拓展至野外和室内场景以及其他自动驾驶和机器人导航任务。

1 背景介绍

在移动机器人和自动驾驶领域,建图和环境表示是至关重要的基础工作。多年来,机器人学和计算机视觉领域围绕这一目标进行了大量研究,结合多种传感器,开发出丰富的建图方法和环境表示形式。

这些方法既包含在线的顺序处理(如同时定位与建图),也包含批处理方式(如从运动中恢复结构),并广泛应用了相机和激光雷达等多种传感器模式。环境的表示方式从稀疏的地标(基于手工设计或深度学习的特征)到密集的三维形式,例如网格、体素,也进一步扩展到经典距离函数或神经网络表示的隐式格式。

通过几何地标和语义实体的选择,使得建图方法更加多样化。然而,目前并不存在一种“通用最优”的解决方案能够满足所有需求,实现通用建图。因此,选择合适的表示方式和传感器输入,并在几何信息与语义信息之间找到最佳平衡,对于设计有效的建图方法至关重要。

近年来,鸟瞰图(BEV)表示在自动驾驶领域得到了快速发展,因为它能够精确获取平面环境中物体的位置和语义信息,对目标检测和地图语义分割等任务尤为重要。BEV地图将来自不同传感器的数据整合为一致的格式,与场景的平面几何结构相吻合,从而增强了二维投影的学习效果。

然而,这种方法面临的主要挑战是需要大量标注数据。对于BEV相关任务,数据需要从不同于传感器视角的角度进行标注,这显著增加了标注成本和复杂性。尤其是在非城市或室内环境中,由于缺乏大规模高质量的数据集,知识迁移面临更大困难。

最近,自监督学习逐渐崭露头角,为BEV表示提供了潜在的解决方案。特别是在多模态融合的BEV表示中,自监督学习显示出优势,但在自监督的多模态融合方面,尤其是相机与激光雷达的融合,仍有许多尚未被充分探索的领域。

2 方法提出

为了填补了当前研究中的空白,作者提出的BEVPose 方法。该方法利用相对低成本且易于获取的真值(即传感器位姿)来学习并融合相机与激光雷达的BEV表示。通过已知的相对传感器位姿,BEVPose 提供了丰富的监督信号,通过BEV地图对齐来学习潜在的BEV嵌入并进行多模态融合。在这一自位姿监督”的BEV表示中,各种地图特征和地标得以隐式呈现,为后续微调任务(如地图语义分割)奠定了坚实的基础。实验结果表明,BEVPose 能在使用少量标注数据的情况下超越当前先进的BEV地图分割方法。

图1 BEVPose框架图

3 方法详解

3.1 BEV表示

在该方法中,BEV地图被用作重建周围三维场景的一种紧凑而全面的方式。BEV地图提供了一个统一框架,用于集成多模态传感器数据并嵌入语义层,以提升模型对整体场景的理解。在模型中,作者使用了两种不同且互为补充的传感器输入:一个是包含N_c个校准周视相机的多视图相机系统,另一个一个全向 360° 激光雷达点云。假设相机和激光雷达均已完成校准,即已知相机的内参矩阵(K_{ci} \in \mathbb{R}^{3 \times 3}) 和相机与激光雷达之间的外参变换( T_{ c_j}^{c_i}T_{c_i}^l \in SE(3) )。场景的几何和语义信息被封装在以激光雷达原点为中心的xz平面二维网格BEV地图B中。B的每个单元格对应一个D维特征向量的柱,例如B_{x_i z_j} \in \mathbb{R}^D,用于编码与该网格单元相关的几何和语义信息。

3.1.1 图像编码器

每个 RGB 图像(\mathbb{R}^{H \times W \times 3})通过共享的主干和颈部架构编码到C_c维的图像特征空间中。为了将这些编码特征转换到BEV空间,需要获得其深度分布。受 LSS 的启发,通过学习每个图像特征沿其投影射线的离散深度分布,将相机特征提升到BEV空间。在学习到该分布后,相应的特征向量根据分布中的权重重新分布到射线上。沿射线的深度分布被表示为L个均匀量化深度值上的有限概率质量函数。

在BEV池化过程中,每个相机的特征体积(\mathbb{R}^{H \times W \times L \times C_c})被转换为BEV网格。具体而言,通过在y轴(垂直方向)上聚合和展平每个网格单元中的特征,生成相机BEV地图B_{\text{cam}}^i。随后,将所有单个相机的BEV地图整合形成多视图相机BEV地图B_{\text{cam}}。为加速池化过程,作者利用了预先计算的相机校准信息,从而能够提前确定相机BEV体积的每个柱与最终BEV网格图之间的关联关系。

3.1.2 点云编码器

激光雷达点云首先按照预定分辨率进行体素化处理,然后输入到三维编码器中。该过程生成一个四维特征体积(\mathbb{R}^{L_x \times L_z \times L_y \times C_l})。接着,这个特征体积沿y轴(垂直方向)进行池化,从而生成激光雷达的BEV地图,记作B_{\text{lidar}}

3.1.3 多模态融合

作者通过级联四个Transformer块来获得最终融合的BEV地图。在交叉注意力模块中,提升后的图像特征作为键和值,查询则来自激光雷达BEV特征。随后,融合后的嵌入通过一个瓶颈式 ResNet 编码器处理,如图 1 所示。

3.2 BEV对齐

如第一节所述,受到自监督学习成功研究的启发,作者将BEV特征的预训练框架为一个自监督BEV对齐问题,并通过多视角相机与激光雷达的校准相对位姿先验提供位姿监督。为了对齐这些BEV地图,以学习足够丰富的潜在嵌入,能够捕捉场景的语义和几何细节,这对于特征的有效对齐至关重要。

按照自监督方法的既定实践,作者将对齐问题表述为一个对比学习任务,通过引入对比损失将对齐目标融入框架中。为构建对齐问题的一种方式是将激光雷达 BEV(B_{\text{lidar}})视为参考BEV地图,而将每个单独的相机视锥BEV地图(B_{\text{cam}}^i)作为对应的查询。这些相机查询和激光雷达参考地图均在其各自的局部坐标网格中定义。目标是在真实的相对位姿(正样本)下最大化查询与参考BEV地图之间的一致性,并在其他不正确的相对位姿(负样本)下最小化这种一致性。这个目标最终转化为最小化对比损失,具体表述如下:

L_{\text{align}} = -\log \frac{\exp(s(B_{\text{cam}}, B_{\text{lidar}}; T_{c}^{l+}) / \tau)}{\sum_{j=1}^{N_s} \exp(s(B_{\text{cam}}, B_{\text{lidar}}; T_{cj}^l) / \tau)}

其中,N_s代表样本总数,s(B_{\text{cam}}, B_{\text{lidar}}; T_{c}^l)计算两个BEV地图之间的相似度得分或一致性。此相似度通过对齐并变换到同一BEV网格图后对应特征向量的内积和来实现。此外,\tau在该框架中作为一个可学习的温控参数。

为了更好地理解,假设是特定相机BEV网格单元中的一个代表点。该点使用T_{lc}转换到激光雷达框架。然后,通过插值相关网格单元角的激光雷达BEV特征,推断出相应的激光雷达BEV特征。相似度度量随后被计算为对应对齐的BEV特征的内积之和,具体公式如下:

s(B_{\text{cam}}, B_{\text{lidar}}; T_{c}^l) = \sum_{x, z} B_{\text{cam}}^{\top}[x, z, :] B_{\text{lidar}}[i(p_l), :]

其中,B[.,.,:]表示网格中的BEV特征,p_lp_c的转换,即p_l = T_{c}^l p_c,而i(.)为网格单元的插值函数。 为了精准定位那些极有可能出现的被误判的负样本,作者还采用从非重叠相机位姿位姿为中心的分布图中抽取负样本,通过对比学习的方式,引导概率分布接近真值。

4 实验结果

表1 nuScenes数据集中 BEV 图像分割的评价
表2 自监督预训练结果评价
图2 BEVPose在不同训练数据比例下的性能
图3 分割结果可视化
图4 传感器模态丢失的鲁棒性评估可视化
表3 消融实验结果
图5 BEV 嵌入可视化

5 结论

BEVPose通过自监督学习技术整合相机和激光雷达数据,有效降低了对大规模标注数据集的依赖,并在多种环境条件下展现出优异的性能。在BEV地图分割领域,该方法的成绩与其他先进的算法相当,但所需标注数据量更少。 开发团队计划通过引入时间约束和轨迹信息进一步优化BEVPose,以增强其BEV表示的时序连贯性,并考虑将其应用于更广泛的环境,包括非公路和室内环境,以及扩展到其他自动驾驶任务,例如2D和3D目标检测。此外,该团队还考虑将深度传感器和雷达等其他传感器模态整合进框架,作为未来研究的潜在方向。

 Ref:

BEVPose: Unveiling Scene Semantics through Pose-Guided Multi-Modal BEVAlignment

编译|Deep蓝同学

审核|fafa

第二届线下自主机器人研讨会(ARTS)即将召开👇
第二届ARTS报名入口即详情须知
第二届ARTS奖学金通知
ARTS 2024 学术辩论通知抢“鲜”发布

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI - 使用LangChain构建简单LLM应用程序

AI - 使用LangChain构建简单LLM应用程序 什么是LLM LLM(Large Language Model,大型语言模型)是一种由大量文本数据训练而成的深度学习模型,能够理解和生成自然语言。例如,GPT-3就是一种流行的LLM,可以用于…

linux shell脚本学习(1):shell脚本基本概念与操作

1.什么是shell脚本 linux系统中,shell脚本或称之为bash shell程序,通常是由vim编辑,由linux命令、bash shell指令、逻辑控制语句、注释信息组成的可执行文件 *linux中常以.sh后缀作为shell脚本的后缀。linux系统中文件乃至脚本的后缀并没有…

Linux云计算 |【第五阶段】CLOUD-DAY6

主要内容: 了解Kubernetes的架构、搭建Kubernetes集群 一、Kubernetes 概述 Kubernetes 这个名字来自希腊语,意思是“舵手”或“领航员”;K8S 是 Kubernetes 的缩写,其中“8”代表字母“ubernete”中的8个字母。Kubernetes 是由…

无人机之中继通信技术篇

一、定义与原理 无人机中继通信技术是指通过无人机搭载中继设备,将信号从一个地点传输到另一个地点,从而延长通信距离并保持较好的通信质量。其原理类似于传统的中继通信,即在两个终端站之间设置若干中继站,中继站将前站送来的信号…

【深度学习基础】深入理解 卷积与卷积核

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 卷积 1.1 …

数字身份发展趋势前瞻:身份韧性与安全

身份韧性与安全是身份与访问管理IAM发展的重要趋势,身份既是防御者的盾牌,也是攻击者的目标。面对日益复杂的网络威胁和不断增长的身份盗窃风险,身份韧性与安全不仅仅涉及产品的防御能力,还包括应对突发事件、快速恢复的弹性和灵活…

QChart中柱形图的简单使用并实现【Qt】

预备工作 如果qt没下载去下载一个,下载太慢了可以试试它[点击跳转]  (https://blog.csdn.net/qq_19319481/article/details/131655379)。   如果已经下载了qt发现自己的组件中没有QCharts,可以去试试它点击跳转。 都搞定了以后在pro文件里面添加QT …

智能语音机器人智能在哪里?AI人工智能电话机器人部署

随着科技的不断进步,人工智能已经成为了我们生活中不可或缺的一部分。AI人工智能机器人电话正是其中的一种形式,可以帮助企业或组织更好地实现电话营销的目标,那么智能语音机器人智能在哪里?我们来看看: 智能语音机器人&#xf…

UI自动化测试 —— CSS元素定位实践!

前言 自动化测试元素定位是指在自动化测试过程中,通过特定的方法或策略来准确识别和定位页面上的元素,以便对这些元素进行进一步的操作或断言。这些元素可以是文本框、按钮、链接、图片等HTML页面上的任何可见或不可见的组件。 在自动化测试中&#xf…

Unity 使用Netcode实现用户登录和登出

Unity之NetCode for GameObjets 基本使用 说明思路相关API代码实现Tips 说明 最近项目需要联机,项目方案选用Unity提供的NetCode for GameObjets(以下简称NGO),踩了不少坑,本文不介绍基础使用,围绕双端&…

专业网页设计服务重要是什么

当在搜索引擎中键入“网页设计”,您将获得超过2000万个相关结果。在如此众多的网站制作公司中,应该如何做出明智的选择呢?首先,让我们深入探讨一下网页设计的重要性。网站设计需要综合各种不同领域的专业知识,它是一个…

【UART异步串口协议及verilog实现】

UART异步串口协议 1 UART1.1 数据格式1.2 波特率 2 UART的发送和接收模块2.1 uart发送模块2.2 uart的接收模块 【博客首发于微信公众号《 漫谈芯片与编程》】 本篇文章介绍常用的芯片外围低速协议:UART; 1 UART UART是异步串行传输协议,即…

彻底解决idea不识别java项目

需求背景 下载了一个java swing的项目,通过idea导入后,项目无法识别。打开java文件,也不会报错,也不编译。 无法识别效果图 可以看到左侧的菜单,项目是没有被识别。 打开java文件,可以看到没有识别,java的图标也没有出现。 解决方法 1、打开Project Structure 2、修改…

仿真APP助力汽车零部件厂商打造核心竞争力

汽车零部件是汽车工业的基石,是构成车辆的基础元素。一辆汽车通常由上万件零部件组成,包括发动机系统、传动系统、制动系统、电子控制系统等,它们共同确保了汽车的安全、可靠性及高效运行。 在汽车产业快速发展的今天,汽车零部件…

【Nginx】前端项目开启 Gzip 压缩大幅提高页面加载速度

背景 Gzip 是一种文件压缩算法,减少文件大小,节省带宽从而提减少网络传输时间,网站会更快更丝滑。 // nginx roothcss-ecs-1d22:/etc/nginx# nginx -v nginx version: nginx/1.24.0// node ndde v18.20.1// dependencies "vue": …

【Linux】从零开始使用多路转接IO --- epoll

当你偶尔发现语言变得无力时, 不妨安静下来, 让沉默替你发声。 --- 里则林 --- 从零开始认识多路转接 1 epoll的作用和定位2 epoll 的接口3 epoll工作原理4 实现epollserverV1 1 epoll的作用和定位 之前提过的多路转接方案select和poll 都有致命缺点…

CSS中常见的两列布局、三列布局、百分比和多行多列布局!

目录 一、两列布局 1、前言: 2. 两列布局的常见用法 两列布局的元素示例: 代码运行后如下: 二、三列布局 1.前言 2. 三列布局的常见用法 三列布局的元素示例: 代码运行后如下: 三、多行多列 1.前言 2&…

DCRNN解读(论文+代码)

一、引言 作者首先提出:空间结构是非欧几里得且有方向性的,未来的交通速度受下游交通影响大于上游交通。虽然卷积神经网络(CNN)在部分研究中用于建模空间相关性,但其主要适用于欧几里得空间(例如二维图像&a…

StandardThreadExecutor源码解读与使用(tomcat的线程池实现类)

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java源码解读-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 目录 1.前言 2.线程池基础知识回顾 2.1.线程池的组成 2.2.工作流程 2…

Unreal5从入门到精通之如何解决在VR项目在头显中卡顿的问题

前言 以前我们使用Unity开发VR,Unity提供了非常便利的插件和工具来做VR。但是由于Unity的渲染效果不如Unreal,现在我们改用Unreal来做VR了,所有的VR相关的配置和操作都要重新学习。 今天就来总结一下,我在开发VR过程中碰到的所有问题。 1.编辑器,以VR运行 默认运行方式…