【多模态融合】CRN 多视角相机与Radar融合 实现3D检测、目标跟踪、BEV分割 ICCV2023

前言

本文介绍使用雷达与多视角相机融合,实现3D目标检测、3D目标跟踪、道路环境BEV分割,它是来自ICCV2023的。

会讲解论文整体思路、输入数据分析、模型框架、设计理念、损失函数等。

论文地址:CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception

代码地址:https://github.com/youngskkim/CRN

1、模型框架

CRN,全称是Camera Radar Net,是一个多视角相机-雷达融合框架。

通过融合多视角相机和雷达的特性,生成语义丰富且空间精确的BEV特征图。实现3D物体检测、跟踪和BEV分割任务。CRN的框架图,如下图所示: 

框架的思路流程:

  1. 输入数据:多视角图像数据、Radar雷达点云数据。
  2. 主要分为两个分支,图像分支、和雷达分支。
  3. 图像分支中,进行图像特征提取;同时需要深度预测,预测每个图像特征的深度距离。
  4. 雷达分支中,进行雷达点云特征提取;然后雷达占用预测,提供存在物体的距离信息。
  5. 结合图像特征和深度信息,以及雷达占用信息,将图像特征点由2D转为3D。雷达占用特征的距离信息,是很准确的,可以修正图像深度的误差。
  6. BEV池化,将3D图像特征转为“图像BEV特征”;将雷达特征转为“雷达BEV特征”。
  7. 通过多模态交叉注意力,融合图像BEV和雷达BEV特征,得到融合两个模态的BEV特征。融合后的BEV特征,后面接检测、跟踪和分割任务头。
  8. 输出信息:3D检测信息、目标跟踪信息、BEV分割信息。

2、关键贡献点

1)摄像头和雷达数据的融合

  • CRN利用了摄像头和雷达传感器的互补优势。
  • 摄像头提供高分辨率的丰富环境信息,但在恶劣天气条件和光照不足时表现不佳。
  • 相比之下,雷达传感器提供精确的远程测量,且在所有环境条件下都能可靠工作,但缺乏摄像头提供的空间细节。
  • 通过融合这两种模式,CRN旨在创建不同环境条件下都能有效操作的强大感知系统。

2)语义空间准确性

  • 该框架生成了一个既包含丰富语义信息,又空间准确的鸟瞰图(BEV)特征图。
  • 这是特别具有挑战性的,因为摄像头提供的图像是透视视图,缺乏直接的空间信息,这对于BEV表示是必需的。
  • CRN通过使用雷达点提供精确的空间上下文,将透视图像特征转换为BEV来解决这个问题。

3)多模态可变形注意力

  • 为了解决摄像头图像和雷达数据之间固有的空间错位,CRN采用多模态可变形注意力机制。
  • 这允许系统动态地关注来自两种模式的相关特征,尽管它们的性质和表示方式不同,也能有效地整合它们。

4)性能和效率

  • CRN通过实时处理(20 FPS)证明了其有效性,并在nuScenes数据集上达到了与基于LiDAR探测器相当的性能。
  • 值得注意的是,它甚至在长距离(100m设置)检测对象方面超过了这些LiDAR方法。这一点非常重要,因为LiDAR虽然准确,但比摄像头和雷达系统要贵得多。

论文背景

  • 在许多应用中,如自动驾驶和移动机器人,准确且稳健的3D感知系统至关重要。
  • 为了实现高效的3D感知,可以从传感器输入获取可靠的BEV特征图,因为各种下游任务可以在BEV空间上实现。例如,物体检测和追踪、BEV分割、地图生成、轨迹预测和运动规划。
  • BEV提供了一个从上而下的视角,对于执行如物体检测、轨迹预测和运动规划等任务至关重要,因为它简化了复杂的空间关系并使得物体的位置和运动更容易理解和预测。
  • 3D感知系统需要识别道路上的语义信息,如交通灯、路标,这可以通过摄像头轻松利用。除了丰富的语义信息需求外,检测远距离物体也至关重要,雷达可以在这方面提供帮助。
  • 最近,基于摄像头的BEV中的3D感知引起了较大关注。得益于密集图像像素中的丰富语义信息,摄像头方法可以即使在远距离也区分物体。
  • 尽管摄像头具有优势,但从单目图像中定位物体的准确位置,自然是一个具有挑战性的不适定问题。此外,由于被动传感器的特性,摄像头可以受到照明条件的显著影响,如眩光、低对比度或低照明。
  • 为了解决这个问题,使用多视角摄像头和雷达来生成BEV特征图。

3、核心内容——RVT雷达辅助视图转换

雷达辅助视图转换(Radar-assisted View Transformation, RVT),是CRN的一个核心组成部分,它利用雷达测量帮助将“透视视图”中的图像上下文特征转换为“BEV特征图”。

  • 简介:图像特征转换到BEV中,通过RVT将这过程不完全依赖于图像估计的深度,同时借助雷达信息。RTV是一种创新的方法,它通过结合图像特征和深度分布,以及雷达特征和雷达占用信息来改善视图转换过程。
  • 目的:从周围环境的图像中提取特征,并利用雷达测量来提高这些特征在空间上的准确性,即从透视图像特征转换到BEV特征时。
  • 作用:这种转换可以从密集但不太准确的深度分布,和稀疏但准确的雷达占用中受益,以获得空间上准确的图像上下文特征。
  • 优点:雷达辅助视图转换,它克服了仅依赖图像深度估计的限制。这种方法利用雷达数据的长距离感知能力和高精度,为图像特征提供了空间上的精确校正。

雷达辅助视图转换过程,主要分为两点:

1、图像特征编码和深度分布

  • 图像特征编码:通过图像主干网络(如ResNet、ConvNeXt)配合特征金字塔网络FPN,获取每个图像视角的16倍下采样的特征图。
  • 深度分布:随后,通过额外的卷积层进一步提取每个像素的图像上下文特征,和深度分布。

2、雷达特征编码和雷达占用预测。

  • 投影雷达点:首先,将雷达点投影到相机的视角,找到雷达点在图像上对应的像素位置。这一步骤保留了雷达点的深度信息,即物体距离相机的距离。

  • 体素化:然后,将这些带有深度信息的图像像素转换为体素(三维像素),这一过程在创建一个三维空间的表征中非常关键,尤其是转换到BEV表示时。

  • 特征转换:通过上述步骤,可以利用雷达的深度信息来指导图像特征在三维空间中的正确位置,从而实现从透视视图到BEV的精确转换。

尽管雷达数据可能包含噪声,但RVT技术正是利用了雷达在测量距离方面的准确性,来改善和优化视图转换过程,使得最终生成的BEV特征更加精确和有用。

4、深入理解——视图转换和融合BEV

公式版理解——视锥体视图转换

在视锥体视图转换中,考虑了图像的深度分布D_{I}和雷达的占用信息O_{R}​。思路流程:

  • 首先每个像素的图像上下文特征C_{I}^{PV}与其相应的深度分布D_{I}进行外积。该外积为每个像素的特征赋予了深度,从而将2D图像数据扩展到3D空间。
  • 然后每个像素的图像上下文特征C_{I}^{PV}与雷达占用O_{R}进行外积。该外积使得雷达数据来验证或修正通过图像得到的深度估计。
  • 最后将两者结果,在通道维度的拼接操作,形成视图特征C_{I}^{FV}

图像上下文特征图C_{I}^{PV}通过以上操作,转换为相机视锥体视图特征C_{I}^{FV}

其中,;表示沿着通道维度的拼接操作。⊗表示外积。

  • 这个公式可以理解为:从相机视角看到的场景的深度,和物体是否存在的雷达检测信息。
  • 由于雷达不提供高度信息,因此通过沿着高度轴进行求和来简化(或压缩)图像上下文特征,这样可以节省内存。
  • 这个转换过程将2D特征映射到3D空间,但不是简单地将它们“拉升”,而是考虑了雷达的准确距离信息。

 

公式版理解——融合为BEV特征

在获得了多个相机视锥体视图的特征之后,包括C_{I}^{FV}C_{R}^{FV},需要将它们合并到单一的BEV空间中。

为了实现这一转换,使用了支持CUDA的Voxel Pooling技术,并对其进行了修改,以便使用平均池化而不是求和来聚合每个BEV网格内的特征。

这样做有助于网络预测与自车距离无关的更一致的BEV特征图,因为近距离的BEV网格将关联更多的视锥体网格,这是由于透视投影的特性。

5、MFA 多模态特征聚合

MFA,全称是Multi-modal Feature Aggregation,表示多模态特征聚合。它是基于多模态可变形交叉注意力MDCA实现的,即Multi-modal Deformable Cross Attention。

  • 在通过RVT转换特征之后,CRN使用MFA来适应性地聚合图像雷达特征图,生成既丰富语义又空间精确的BEV表示。
  • 这个步骤是为了解决在融合过程中可能出现的特征错位问题,并确保从两种不同模态中提取的信息能够有效地结合起来,增强系统对环境的理解能力。
  • 由于转换到BEV中的图像特征不完全准确,接下来的多模态特征聚合MFA层,使用注意力机制将多模态特征图编码到统一的特征图中。
  • 通过MFA层的引入,CRN能够有效地处理来自不同传感器的信息,解决了空间错位问题。注意力机制的使用进一步提高了特征融合的准确性,使得系统能够在处理复杂场景时更加灵活和动态。

作者设计的MDCA是一种特别适合于多模态融合的注意力机制。

  • 它可以适应性地处理不同模态之间的特征,这样可以更好地结合它们的优势。
  • 在MDCA中,首先将BEV上下文特征映射x_{m}​,通过拼接后投射成查询特征z_{q},其中W_{z}​是一个线性投影,LN代表层归一化。
  • 之后,使用MDCA聚合特征图,其具体公式如下:

其中,h表示注意力头、m表示模态、k表示采样点。

对多模态特征映射x_{m},应用注意力权重A_{hm}^{k}和采样偏移p_{hm}^{k}

6、任务头

生成的BEV特征图可以用于多种下游任务,如3D物体检测、跟踪、BEV分割等。

这种统一和精确的BEV表示为自动驾驶系统提供了一个强大的基础,使其能够更好地理解和预测环境中的动态变化。

深度分布网络训练

  • 深度映射训练:深度分布网络通过将LiDAR点投影到图像视图中获得的深度图进行训练,这种方法遵循了BEVDepth的策略。

3D检测和跟踪

  • 3D物体检测:采用CenterPoint的方法来预测中心热图,这种方法是无锚点的,并且使用了多组头部网络来进行预测。
  • 3D跟踪:通过基于速度的最近距离匹配来进行跟踪,这是一种跟踪检测的方法。
  • 稀疏聚合训练:在训练稀疏聚合设置时,会过滤掉3D边界框外的LiDAR点以获得真实的深度图,并将等式3中的softmax激活函数替换为sigmoid函数,以便只有包含前景物体的特征网格才能获得高概率。

BEV分割

  • BEV分割任务:附加一个卷积解码头部来获取预测图,这个过程遵循了CVT的方法。
  • 分割头部:给定来自多模态特征聚合层的BEV特征图,分割头部将其编码为潜在表示,然后解码回最终输出的分割图,随后是一个sigmoid层。
  • 网络预测:BEV分割网络预测一个包含车辆和可行驶区域的语义占用网格,采用焦点损失函数进行训练。

8、实验测试与模型效果

在nuScenes数据集上进行实验,该数据集提供大规模的Radar点云数据。

  • 摄像头流:采用BEVDepth作为基线模型,并进行了一些修改,比如减少深度估计层的数量并移除深度细化模块,以提高推理速度且不会显著降低性能。
  • 雷达处理:累积六次之前的雷达扫描,并使用规范化的雷达横截面(RCS)和多普勒速度作为特征,这遵循了GRIF Net的方法。
  • 数据增强:除了图像和BEV数据增强,还随机丢弃雷达的扫描和点,这遵循了相关研究的方法。
  • 训练细节:将之前三个BEV特征图以1秒间隔累积起来,类似于BEVFormer的做法。
  • 训练周期:模型在24个周期内使用AdamW优化器以端到端的方式进行训练。
  • 评价指标:对于3D物体检测和跟踪,使用官方指标,包括平均精度(mAP)、核心标准(NDS)和平均多目标跟踪精度(AMOTA)。对于BEV分割,遵循LSS提出的设置。
  • 推理设备:在配备Intel Core i9 CPU和RTX 3090 GPU的系统上进行测量,使用单批次和FP16精度。

在nuScenes 测试集上的 3D 目标检测,测试结果如下图所示。

  • “L”、“C”和“R”分别代表激光雷达、摄像头和雷达。
  • * :来自 MMDetection3D的结果。
  • † :使用CBGS 培训。
  • ‡ :使用测试时间增加。 

在nuScenes 测试集上的 3D 目标跟踪,测试结果如下图所示。

在nuScenes 测试集上的BEV分割,测试结果如下图所示。

视图变换方法的消融实验 ,LiDAR和雷达仅用于变换,不用于特征聚合。

特征聚合方法的消融实验。

组件的推理时间分析。 所有延迟数字均使用批量大小 1、GPU 预热和 FP16 精度进行测量。

模型效果可视化:

本文先介绍到这里,后面会分享“多模态融合”的其它数据集、算法、代码、具体应用示例。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用 CSS object-fit 进行图片的缩放和裁剪

简介 在处理图片时,你可能会遇到需要保持原始宽高比的情况。保持宽高比可以防止图片被拉伸或压缩而出现失真。解决这个问题的常见方法是使用 background-image CSS 属性。更现代的方法是使用 object-fit CSS 属性。 在本文中,你将探索 object-fit CSS …

如何在有/没有备份的情况下恢复华为上已删除的视频?6 个推荐选项

“我不小心删除了华为手机上的一堆视频。我怎样才能把它们找回来?我在谷歌上也找不到它们”。——来自知乎 在我们日常生活的喧嚣中,意外时有发生。无论是由于华为手机上的无意删除、恢复出厂设置、病毒感染、数据损坏还是系统故障,这些视频…

GEE数据——GEDI04_A_和GEDI02_A_002_MONTHLY出现的数据问题

简介 产品介绍 该数据集包含全球生态系统动力学调查(GEDI)第 4A 级(L4A)第 2 版对地上生物量密度(AGBD,单位为兆克/公顷)的预测,以及对每个采样地理定位激光足迹内预测标准误差的估…

python+django高校澡堂洗浴浴室预约签到管理系统8d8c

本系统在设计过程中,高校洗浴管理系统的出现就有很大的需求。该系统可以很好地解决这些麻烦和问题。 很好地发挥了该开发方式的优势,让实现代码有了良好的可读性,而且使代码的更新和维护更加的方便,操作简单,对以后的维…

前端将html导出pdf文件解决分页问题

这是借鉴了qq_251025116大佬的解决方案并优化升级完成的,原文链接 1.安装依赖 npm install jspdf html2canvas2.使用方法 import htmlToPdffrom ./index.jsconst suc () > {message.success(success);};//记得在需要打印的div上面添加 idlet dom document.que…

文心一言 VS 讯飞星火 VS chatgpt (209)-- 算法导论15.4 6题

六、设计一个 O(nlgn) 时间的算法,求一个 n 个数的序列的最长单调递增子序列。(提示:注意到,一个长度为 i 的候选子序列的尾元素至少不比一个长度为 i-1 候选子序列的尾元素小。因此,可以在输入序列中将候选子序列链接…

如何在Linux上为PyCharm创建和配置Desktop Entry

在Linux操作系统中,.desktop 文件是一种桌面条目文件,用于在图形用户界面中添加程序快捷方式。本文将指导您如何为PyCharm IDE创建和配置一个 .desktop 文件,从而能够通过应用程序菜单或桌面图标快速启动PyCharm。 步骤 1: 确定PyCharm安装路…

Nodejs 第五十二章(定时任务)

什么是定时任务? 定时任务是指在预定的时间点或时间间隔内执行的任务或操作。它们是自动化执行特定逻辑的一种方式,可用于执行重复性的、周期性的或计划性的任务。 定时任务通常用于以下情况: 执行后台任务:定时任务可用于自动…

Nodejs 第五十一章(限流阀)

限流功能 目前我们学习了redis,lua,nodejs,于是可以结合起来做一个限流功能,好比一个抽奖功能,你点击次数过多,就会提示请稍后重试,进行限制,我们来实现一下该功能。 安装依赖 npm i ioredis express代码…

『操作系统OS笔记』MAC(m1芯片)电脑安装FFmpeg

MAC(m1芯片)电脑安装FFmpeg mac电脑安装ffmpeg两种方法 文章目录 1. brew安装FFmpeg2. 官网下载FFmpeg压缩包3. 使用FFmpeg将音频和视频合并 1. brew安装FFmpeg brew install ffmpeg # 需要等比较久的时间,安装很多东西,安装过程中如果遇到报错对应解决…

第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司?

IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒体…

MATLAB环境下基于图像处理的计算病理学图像分割(MATLAB R2021B)

人工智能是病理学诊断和研究的重要新兴方法,其不仅可用于病理形态数据分析,还可整合免疫组化、分子检测数据和临床信息,得出综合的病理诊断报告,为患者提供预后信息和精准的药物治疗指导。计算病理学是病理学与AI、计算机视觉等信…

机器人编程学习有哪些好处?

机器人编程学习有许多好处,无论是对个人还是对社会都具有重要意义。以下是机器人编程学习的一些好处: 1. **培养计算思维:** 通过机器人编程学习,可以培养逻辑思维、问题解决能力和创新思维。编程过程中需要分析问题、设计算法、…

旧物回收小程序开发:环保与科技的创新结合

随着科技的飞速发展,我们的日常生活越来越离不开手机应用程序。而在环保日益成为社会焦点的今天,如何将科技与环保相结合,成为了一个值得深思的问题。今天,我们将探讨旧物回收小程序的开发,它如何助力环保,…

dolphinscheduler海豚调度(五)seatunnel案例

seatunnel作为新一代流行的数据集成工具,其功能非常强大且简单易用,今天演示一下如何通过dolphinscheduler创建并运行seatunnel任务 本次dolphinscheduler和seatunnel均部署在同一机器上的单机版本 1、环境配置 打开dolphinscheduler安装目录&#xf…

Appium系列(1)安装启动Appium

Appium环境准备 Mac电脑jdk环境AndroidSDK环境node>8.1.0(最好用最新版本) 安装命令 npm i -g appium安装不成功请检查node 版本是否正确 安装成功命令行输入appium回车查看 安装驱动程序 1、先检查当前驱动情况 通过 appium driver list 进行…

How to use Grammarly with Overleaf

遵循以下步骤使用Grammarly和Overleaf: 安装Grammarly提供的浏览器扩展。更多信息请参考Grammarly的支持页面。 安装首选的浏览器扩展后,你需要注册一个Grammarly帐户。 下面是Chrome的Grammarly扩展钉到Chrome工具栏的截图: 1、 2、 3、

力扣--动态规划516.最长回文子序列

思路分析: 创建一个二维动态规划表dp,其中dp[i][j]表示在子串s[i...j]中的最长回文子序列的长度。初始化基本情况:对角线上的元素dp[i][i]都为1,因为单个字符本身就是长度为1的回文子序列。从字符串末尾向前遍历,填充…

基于Springboot+Layui餐厅点餐系统

一、项目背景 在互联网经济飞速发展的时代,网络化企业管理也在其带领下快速兴起,开发一款自主点餐系统会受到众多商家的青睐。现如今市场上的人力资源价格是非常高昂的,一款自主点餐系统可以减少餐厅的人力开销,将服务员从繁忙的…

Linux_防火墙无法启动问题

当查看防火墙状体的时候报如下错误 ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: inactive (dead) since 四 2024-03-07 07:42:16 CST; 7s agoDocs: man…