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

(已开源-AAAI25) RCTrans:雷达相机融合3D目标检测模型

在这里插入图片描述
在雷达相机融合三维目标检测中,雷达点云稀疏、噪声较大,在相机雷达融合过程中提出了很多挑战。为了解决这个问题,我们引入了一种新的基于query的检测方法 Radar-Camera Transformer (RCTrans)。具体来说:

  • 首先设计了一个雷达稠密编码器来丰富稀疏的有效的雷达token,然后将它们与图像token拼接起来。通过这样做可以充分挖掘每个感兴趣区域的3D信息,减少融合阶段空token的干扰。
  • 然后设计了一个剪枝顺序解码器,根据获得的token和随机初始化的query来预测 3D 框。为了缓解雷达点云中高度测量值的歧义,我们通过顺序融合结构逐步定位物体的位置。它有助于在token和query之间获得更精确和更灵活的对应关系。
  • 解码器采用剪枝训练策略,在推理过程中可以节省很多时间,抑制query失去独特性。在大规模nuScenes数据集上的大量实验表明了该方法的优越性,获得了新的SOTA的雷达相机融合3D检测结果。

项目链接:https://github.com/liyih/RCTrans


文章目录

      • Introduction
      • Method
      • Experiments

Introduction

引言和相关工作部分这里就不介绍了,在原文中作者提出了雷达传感器的两个主要缺陷:稀疏和噪声大,这也是目前量产雷达最主要的痛点。导致非空的雷达pillars数量大概是激光雷达Pillars数量的10%。图一中作者比较了RCTrans模型和目前纯视觉以及相机雷达融合模型的对比,可以看到同等配置下,RCTrans都是优于RCBEVDet,在推理速度上略慢于RCBEVDet。

在这里插入图片描述


Method

RCTrans模型框图如图2所示,首先使用两个并行分支(雷达与图像分支)提取多模态token。在雷达分支中,我们将使用雷达稠密编码器来生成稠密有效的雷达特征。然后,position embedding添加到token中。最后,随机初始化的query将被发送到 Pruning Sequential Decoder 和token一起预测 3D 框。整个训练是一个端到端的过程,不需要冻结任何参数,模型具体细节可以参考StreamPETR和FUTR3D。
在这里插入图片描述
这里介绍下雷达稠密编码器,如下图所示。我们的目标是找到一个结构简单的网络,可以自适应地填充每个BEV雷达网格和聚合多尺度信息,以促进不同大小的目标检测。自适应填充每个 BEV 网格的最简单方法是使用全局自注意力机制。然而,由于BEV网格数量较多,该方法耗时较长。为了解决这个问题,首先对原始的BEV特征进行下采样,并在最小分辨率与它们交互。同时,下采样过程可以大大减少无效网格的数量,从而提高交互后获得的特征质量。受 U-Net的启发,我们以相同的 BEV 分辨率连接不同感受野大小的特征,有效地保留了不同大小的对象的特征,这里做了三次下采样和三次上采样。对最小分辨率做自注意力时,添加了2D position embedding。

在这里插入图片描述
下面介绍下position embedding的生成,对于图像position embedding,我们使用PETR中提出的3D位置嵌入。给定一个图像token T i T_i Ti,一系列点 p ( u , v ) = p i ( u , v ) = ( u × d i , v × d i , d i , 1 ) , i = 1 , 2 , 。 . . , d p(u, v) = p_i (u, v) = (u \times d_i, v \times d_i, d_i, 1), i = 1, 2,。.., d p(u,v)=pi(u,v)=(u×di,v×di,di,1),i=1,2,..,d 为定义在相机视锥空间中的点。这里, u u u v v v 是token在图像空间中的索引, d d d 是沿深度轴的点数。之后,通过下列公式计算图像位置嵌入:
P E i m = Φ i m ( K p ( u , v ) ) , P E_{i m}=\Phi_{i m}(K p(u, v)), PEim=Φim(Kp(u,v)),

其中 K K K是相机内参矩阵, Φ i m \Phi_{i m} Φim MLP网络。由于雷达无法获得物体的精确高度信息,对于雷达位置嵌入,我们使用二维BEV嵌入,忽略BEV网格的高度信息。雷达位置嵌入由式下列公式计算而来:
P E r a = Φ r a ( Ψ ( h , w ) ) P E_{r a}=\Phi_{r a}(\Psi(h, w)) PEra=Φra(Ψ(h,w))

其中 ( h , w ) (h, w) (h,w)为BEV网格的2D坐标, Φ r a \Phi_{r a} Φra为MLP网络, Ψ ( h , w ) \Psi(h, w) Ψ(h,w) 为正弦余弦函数。通过位置嵌入,不同模态的信息可以隐式地与三维空间中的目标query对齐。


Experiments

实验部分,作者使用的数据集是nuScenes数据集,主要对比了3D检测指标和3D追踪指标。实验细节部分:

  • 基于StreamPETR和 MMDetection3D代码库实现 RCTrans。
  • 和CRN一样,将4帧历史帧的信息聚集到当前帧,使用StreamPETR中提出的以目标为中心的时间建模来进行时间融合。
  • 训练时解码器层数设置为 6,在推理过程中设置为3。在时间融合中,将剪枝后最后一层的输出插入到内存队列中。
  • query数量、内存队列大小和传播query的数量分别设置为 900、512 和 128。
  • 对于雷达,和CRAFT一样,聚集了6个过去雷达扫描帧,并将雷达点的最大数量设置为 2048。雷达 BEV 的大小设置为 128×128。
  • 在8个NVIDIA A100 GPU 上训练网络,训练epoch数量为90,批量大小为 32。速度在单个NVIDIA RTX3090 GPU 上进行评估。学校率初始值为 1 0 − 4 10^{-4} 104,优化器使用的是AdamW。

下面是在验证集和测试集上3D检测任务的性能对比:

在这里插入图片描述

在这里插入图片描述
如表1所示,本文们的方法在不同的图像主干网下取得了最好的性能,时间消耗略有增加。例如,当使用 Swin-T 作为主干网并将图像大小设置为 256×704 时,与SOTA雷达相机解决方案 RCBEVDet 相比,RCTrans将NDS 提高了 3.2%,mAP 提高了 2.4%,而延迟增加了大约 5 毫秒。

多个主干网的实验结果表明,RCTrans具有良好的适应性,在实际应用中有利于模型部署和迁移。更重要的是,RCTrans击败了所有纯视觉的检测方法,包括我们的视觉基线模型 StreamPETR,这证明了我们的方法可以有效地使用雷达信息来补充检测结果。在nuScenes测试集上如表2所示,RCTrans取得了64.7%的NDS和57.8%的mAP,优于所有其它方法。值得注意的是,RCTrans在mAVE上获得了巨大的性能提升,证明了模型从雷达数据中提取有用的速度补偿信息。

在这里插入图片描述
如表3所示,将RCTrans与nuScenes测试集上现有的相机和雷达相机跟踪解决方案进行了比较。总体而言,我们的方法产生了最好的结果。与CRN相比,我们的方法显着提高了 AMOTA、FP、FN 和 IDS。我们比较的跟踪结果都是基于CenterPoint中基于速度的最近距离匹配获得的,因此跟踪性能的提高主要是由于我们的方法更准确地预测速度

下面是消融实验,图像骨干网是ResNet50,分辨率是256x704。如表 4 所示,每个模块都可以持续提高性能。与单模态相比,使用多模态输入可以显着提高模型性能。与常用的BEV编码器,如SECOND相比,使用提出的雷达稠密编码器(RDE)可以获得1.3%的NDS和1.6%的mAP提高。更重要的是,剪枝顺序解码器 (PSD) 将 NDS 提高了 2.2%,mAP 提高了 2.7%。

在这里插入图片描述
在训练期间将解码器的数量设置为 6,在推理过程中仅使用前3层会导致出色的性能,同时将推理时间减少了17.7毫秒,同时将 NDS 提高了 0.2%。造成这种现象的原因是,在每一层之后重新计算position embedding可以快速获得准确的对齐和更快的收敛,但会使一些query集中在同一个区域。此外,通过顺序结构在每一层融合不同的模态信息将导致更多transformer层数,在推理过程中减少解码器层的数量可以加快推理过程,而不会降低性能。
在这里插入图片描述
最后是模型鲁棒性分析,如表6所示,RCTrans在不同的传感器故障情况下优于所有现有的方法。具体来说,与 RCBEVDet 相比,RCTrans 在相机出现故障的条件下将 mAP 分别提高了 5.0%、15.3% 和 3.8%。值得注意的是,当丢弃的相机数量为3时,RCTrans 仍然可以得到接近空丢弃一个相机的效果,这是对过去方法的重要改进。上述现象表明,我们的模型可以在传感器故障情况下实现更稳定的效果。
在这里插入图片描述


http://www.mrgr.cn/news/82741.html

相关文章:

  • TCP 如何获取端口信息
  • 亚远景-ASPICE评估:提升汽车软件开发过程的质量与效率
  • 玉米好坏检测数据集,对2357张玉米图片进行yolo,coco,voc格式的人工标注,平均准确率在89.5%以上
  • Agent智能体之:2025 一文掌握 AI Agent全部技术栈。
  • 【vLLM】使用PagedAttention 进行大型语言模型的高效内存管理
  • C++中map和set的封装
  • 【设计模式-1】软件设计模式概述
  • 【Python】绿色便携版Python制作(发布)方法
  • Oracle Dataguard(主库为单节点)配置详解(2):配置主库
  • 智能工厂的设计软件 应用场景的一个例子: 为AI聊天工具添加一个知识系统 之21 再次重建 之6 整“拼” 项目文档+程序框架 总述
  • 【Linux】函数
  • 1.2.1-2部分数据结构的说明02_链表
  • 简历_专业技能_熟悉分布式锁Redisson的原理以及使用
  • QML学习(七) 学习QML时,用好Qt设计器,快速了解各个组件的属性
  • 使用Dinky快速提交Flink operator任务
  • Elasticsearch 入门教程
  • Unity2D初级背包设计中篇 MVC分层撰写(万字详解)
  • 音视频-----RTSP协议 音视频编解码
  • VisualRules规则引擎语法介绍
  • Linux(Ubuntu24.04)源码编译安装VTK7.1.1记录
  • 源代码编译安装X11及相关库、vim,配置vim(2)
  • Qt 5.14.2 学习记录 —— 사 信号与槽机制(1)
  • 部署API式机器学习模型并接入AI agent
  • BurpSuite工具安装
  • 在 macOS 中,设置自动将文件夹排在最前
  • 初学stm32 --- RTC实时时钟