Sparse4D v3:推进端到端3D检测和跟踪

news2025/2/11 15:46:50

论文地址:2311.11722 (arxiv.org)

代码地址:HorizonRobotics/Sparse4D (github.com)

在自动驾驶感知系统中,3D 检测和跟踪是两项基本任务。本文在 Sparse4D 框架的基础上更深入地探讨了这一领域。作者引入了两个辅助训练任务(Temporal Instance Denoising 【类似DN-DETR】和 Quality Estimation),并提出了解耦注意力以进行结构改进,从而显着提高检测性能。此外,作者使用一种简单的方法将检测器扩展到跟踪器中,该方法在推理过程中分配实例 ID,进一步突出了基于查询(query-based)的算法的优势。在nuScene基准测试上进行的广泛实验验证了本文提出的改进的有效性。以ResNet50为backbone,见证了 mAP、NDS 和 AMOTA 的提升 3.0%、2.2% 和 7.6%,分别达到 46.9%、56.1% 和 49.0%。本文最好的模型在nuScenes测试集上实现了 71.9% 的 NDS 和 67.7% 的 AMOTA。


在时序多视图感知研究领域,基于稀疏的算法已经取得了重大进展,达到了与基于密集BEV的算法相当的感知性能,同时提供了以下几个优势:

1) 自由视图转换。这些稀疏方法消除了将图像空间转换为 3D 矢量空间的需要。

2) 检测头的恒定计算负载,这与感知距离和图像分辨率无关。

3) 通过端到端方式更容易实现集成下游任务。

作者选择Sparse4Dv2作为实施改进的基线。该算法的整体结构如图1所示。图像编码器将多视图图像转换为多尺度特征图,而解码器模块则利用这些图像特征来优化实例并生成感知结果。


首先,作者观察到,与基于密集的算法相比,基于稀疏的算法在收敛方面遇到了更大的挑战,最终影响了它们的最终性能。这个问题在 2D 检测领域已经得到了彻底的研究,主要归因于使用一对一的正样本匹配。这种匹配方法在训练的初始阶段不稳定,并且与一对多匹配相比,还会导致正样本数量有限,从而降低了解码器训练的效率。此外,Sparse4D 利用稀疏特征采样而不是全局交叉注意力,由于正样本稀缺,这进一步阻碍了编码器的收敛。在 Sparse4Dv2中,引入了密集深度监督,以部分缓解图像编码器面临的这些收敛问题。

本文主要旨在通过关注解码器训练的稳定性来提高模型性能。作者将降噪任务作为辅助监督,并将降噪技术从 2D 单帧检测扩展到 3D 时序检测。它不仅确保了稳定的正样本匹配,而且显着增加了正样本的数量。此外,作者引入了质量评估任务作为辅助监督。这使得输出置信度分数更加合理,从而优化了检测结果排名的准确性,并产生了更高的评估指标。

此外,作者增强了 Sparse4D 中实例自注意力和时序交叉注意力模块的结构,引入了一种解耦的注意力机制,旨在减少注意力权重计算过程中的特征干扰。 如图 3 所示,当将锚点嵌入(anchor embedding)和实例特征(instance feature)相加,并作为注意力计算的输入时,生成的注意力权重中存在异常值的实例。这无法准确反映目标特征之间的相互关联,导致无法聚合正确的特征。通过用 concatening 替换 add,显著减少了这种错误现象的发生。这种增强与 Conditional DETR有相似之处。然而,关键的区别在于我们强调查询之间的注意力,而不是Conditional DETR,后者专注于查询和图像特征之间的交叉注意力。此外,本文的方法涉及一种独特的编码方法。

最后,为了提升感知系统的端到端能力,作者探索将 3D 多目标跟踪任务集成到 Sparse4D 框架中,实现物体运动轨迹的直接输出。与检测跟踪方法不同,这样做消除了数据关联和过滤的需要,将所有跟踪功能集成到检测器中。此外,与现有的联合检测和跟踪方法不同,本文的跟踪器不需要修改训练过程或损失函数。它不需要提供真值 ID,但可以实现预定义的 instance-to-tracking 回归。本文的跟踪实现最大限度地集成了检测器和跟踪器,不需要修改探测器的训练过程,也不需要额外的微调。

本文的贡献如下:

(1) 提出了 Sparse4D-v3,这是一个有效的 3D 感知框架,具有三种有效的策略:时序实例去噪、质量估计和解耦注意力。

(2) 将 Sparse4D 扩展为端到端跟踪模型。

(3) 展示了本文对 nuScenes 的改进的有效性,在检测和跟踪任务中实现了最先进的性能。


本文方法

网络结构和推理流程与 Sparse4Dv2相同(上方图片所示)

Temporal Instance Denoising

在3D检测任务中,通过时序实例去噪(Temporal Instance Denoising)来提高模型收敛稳定性和检测性能。具体内容包括:

  1. 2D到3D的扩展:将2D单帧去噪扩展到3D时序去噪,使用Sparse4D框架将实例(称为查询)解耦为隐式实例特征和显式锚点。

  2. 锚点初始化:在训练过程中,初始化两组锚点。一组是通过k-means方法均匀分布在检测空间中的锚点,作为可学习参数;另一组是通过向真实值(GT)添加噪声生成的锚点。

  3. 噪声生成:详细描述了如何生成带噪声的锚点,并解释了如何通过二分图匹配来确定正负样本,以避免误分配。

  4. 时序传播:将单帧噪声实例通过时序传播扩展到多帧,以更好地适应稀疏循环训练过程。在每一帧的训练中,随机选择噪声实例组投影到下一帧。

  5. 独立性保持:确保每组实例的相互独立性,避免噪声实例与正常实例之间的特征交互,从而避免潜在的歧义。

通过这些方法,作者旨在提高3D检测任务的性能和稳定性。


Quality Estimation

现有的基于稀疏的方法主要估计正样本和负样本的分类置信度,以衡量与真实值之间的一致性。优化目标是最大化地提高所有正样本的分类置信度。然而,不同正样本之间的匹配质量存在显著差异。因此,分类置信度不是评估预测边界框质量的理想指标。为了便于网络理解正样本的质量,一方面加速收敛,另一方面合理化预测排名,故而引入了预测质量估计的任务。

对于 3D 检测任务,使用以下公式定义两个质量指标:centerness 和 yawness

loss表示为:


Decoupled Attention

本文对 Sparse4D v2 中的 anchor 编码器、self-attention 和 temporal cross-attention 进行了简单的改进。该架构如图 5 所示。设计原则是以串联方式组合来自不同模态的特征,而不是使用加法方法。与 Conditional DETR 相比存在一些差异。首先,本文在查询之间的注意力机制上进行了改进,而不是在查询和图像特征之间的交叉注意力上;交叉注意力仍然利用了来自Sparse4D的可变形聚合方法。此外,本文不是在单头注意力级别连接位置嵌入和查询功能,而是在多头注意力级别进行外部修改,为神经网络提供了更大的灵活性。 


Extend to Tracking

在 Sparse4D v2 的框架中,时序建模采用递归形式,将前一帧的实例作为输入投影到当前帧上。临时实例类似于基于查询的跟踪器中的跟踪查询,区别在于跟踪查询受更高阈值的限制,表示高度可信的检测结果。相比之下,本文的时序实例很多,其中大多数可能无法准确表示前几帧中检测到的对象。

为了在 Sparse4D v2 框架内从检测扩展到多目标跟踪,本文直接将实例从检测边界框重新定义为轨迹。轨迹包括每个帧的 ID 和边界框。由于设置了大量冗余实例,因此许多实例可能没有与精确的目标相关联,也没有被分配明确的 ID。尽管如此,它们仍然可以传播到下一帧。一旦实例的检测置信度超过阈值 T ,就会认为该实例被锁定到目标上并分配了一个 ID,该 ID 在整个时间传播过程中保持不变。因此,实现多对象跟踪就像将 ID 分配过程应用于输出感知结果一样简单。

跟踪过程中的生命周期管理由 Sparse4Dv2 中的 top-k 策略无缝处理,无需额外修改。具体细节可以在 算法 1 中参考。


Experiment 

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

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

相关文章

python 语音识别方案对比

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

革新在线购物体验:CatV2TON引领虚拟试穿技术新纪元

在这个数字化飞速发展的时代,图像与视频合成技术正以前所未有的速度重塑着我们的生活,尤其在在线零售领域,一场关于购物体验的革命正在悄然上演。想象一下,无需亲自试穿,仅凭一张照片或一段视频,就能精准预…

【Git】ssh如何配置gitlab+github

当我们工作项目在gitlab上,又希望同时能更新自己个人的github项目时,可能因为隐私问题,不能使用同一′密钥。就需要在本地电脑上分别配置两次ssh。 1、分别创建ssh key 在用户主目录下,查询是否存在“.ssh”文件: 如…

音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)

文章目录 前言一、Z变换1.Z变换的作用2.Z变换公式3.Z的状态表示1&#xff09; r 1 r1 r12&#xff09; 0 < r < 1 0<r<1 0<r<13&#xff09; r > 1 r>1 r>1 4.关于Z的解释 二、收敛域1.收敛域的定义2.收敛域的表示方式3.ROC的分析1&#xff09;当 …

使用Redis解决使用Session登录带来的共享问题

在学习项目的过程中遇到了使用Session实现登录功能所带来的共享问题&#xff0c;此问题可以使用Redis来解决&#xff0c;也即是加上一层来解决问题。 接下来介绍一些Session的相关内容并且采用Session实现登录功能&#xff08;并附上代码&#xff09;&#xff0c;进行分析其存在…

STM32F1学习——USART串口通信

一、USART通用同步异步收发机 USART的全称是Universal Synchronous/Asynchronous Receiver Transmitter &#xff0c; 通用同步异步收发机&#xff0c;但由于他主要以异步通信为主&#xff0c;所以他也叫UART。它遵循TTL电平标准&#xff0c;是一种全双工异步通信标准&#xff…

Docker 部署 MinIO | 国内阿里镜像

一、导读 Minio 是个基于 Golang 编写的开源对象存储套件&#xff0c;基于Apache License v2.0开源协议&#xff0c;虽然轻量&#xff0c;却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用&#xff0c;例如 NodeJS、Redis、MySQL等。 二、…

【R语言】相关系数

一、cor()函数 cor()函数是R语言中用于计算相关系数的函数&#xff0c;相关系数用于衡量两个变量之间的线性关系强度和方向。 常见的相关系数有皮尔逊相关系数&#xff08;Pearson correlation coefficient&#xff09;、斯皮尔曼秩相关系数&#xff08;Spearmans rank corre…

DeepSeek-R1技术报告快速解读

相关论文链接如下&#xff1a; DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language ModelsDeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 文章目录 一、论文脑图二、论文解读2.1 研究背景2.2 研究方法2.3 …

基于SpringBoot+Vue实现航空票务管理系统

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

让文物“活”起来,以3D数字化技术传承文物历史文化!

文物&#xff0c;作为不可再生的宝贵资源&#xff0c;其任何毁损都是无法逆转的损失。然而&#xff0c;当前文物保护与修复领域仍大量依赖传统技术&#xff0c;同时&#xff0c;文物管理机构和专业团队的力量相对薄弱&#xff0c;亟需引入数字化管理手段以应对挑战。 积木易搭…

java项目之美妆产品进销存管理系统的设计与开发源码(ssm+mysql)

项目简介 美妆产品进销存管理系统的设计与开发实现了以下功能&#xff1a; 美妆产品进销存管理系统的设计与开发的主要使用者分为管理员登录后修改个人的密码。产品分类管理中&#xff0c;对公司内的所有产品分类进行录入&#xff0c;也可以对产品分类进行修改和删除。产品管…

保姆级教程Docker部署Zookeeper模式的Kafka镜像

目录 一、安装Docker及可视化工具 二、Docker部署Zookeeper 三、单节点部署 1、创建挂载目录 2、运行Kafka容器 3、Compose运行Kafka容器 4、查看Kafka运行状态 5、验证生产消费 四、部署可视化工具 1、创建挂载目录 2、Compose运行Kafka-eagle容器 3、查看Kafka-e…

idea插件开发dom4j报错:SAXParser cannot be cast to class org.xml.sax.XMLReader

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;https://blog.csdn.net/q258523454/article/details/145512328 dom4j报错 idea插件使用到了dom4j依赖&#xff0c;但是报错&#xff1a; I will print the stack trace then carry on…

【Go语言圣经】第八节:Goroutines和Channels

DeepSeek 说 Goroutines 和 Channels 最近非常流行询问DeepSeek某些相关概念或热点的解释&#xff0c;因此在开始系统性地学习《Go语言圣经》之前&#xff0c;我首先向DeepSeek进行了提问。具体的Prompt如下&#xff1a; 有关Golang当中的Goroutines和Channels&#xff0c;我现…

第3章 使用 Vue 脚手架

第3章 使用 Vue 脚手架 3.1 初始化脚手架3.1.1 说明3.1.2. 具体步骤3.1.3 分析脚手架结构1 总结2 细节分析1 配置文件2 src文件1 文件结构分析2 例子 3 public文件4 最终效果 3.2 ref属性3.3 props配置项3.4 mixin混入3.5 插件3.6 scoped样式3.7 Todo-list 案例3.7.1 组件化编码…

XILINX硬件设计-(1)LVDS接口总结

1.LVDS差分信号电路原理 LVDS指的是低压差分信号&#xff0c;是一种电平标准。 差分信号在串行通信中有着非常广泛的应用&#xff0c;典型应用有PCIE中的gen1&#xff0c;gen2&#xff0c;gen3&#xff0c;gen4&#xff0c;gen5&#xff0c;SATA接口&#xff0c;USB接口等。 …

单张照片可生成写实3D头部模型!Adobe提出FaceLift,从单一的人脸图像中重建出360度的头部模型。

FaceLift是Adobe和加州大学默塞德分校推出的单图像到3D头部模型的转换技术,能从单一的人脸图像中重建出360度的头部模型。FaceLift基于两阶段的流程实现:基于扩散的多视图生成模型从单张人脸图像生成一致的侧面和背面视图;生成的视图被输入到GS-LRM重建器中,产出详细的3D高斯表…

【AI】DeepSeek知识类任务和推理能力均表现优秀

2024 年 12 月 26 日&#xff0c;杭州深度求索&#xff08;DeepSeek AI&#xff09;发布 DeepSeek-V3 并同步开源&#xff0c;据介绍&#xff0c;DeepSeek-V3 多项评测成绩超越了 Qwen2.5-72B 和 Llama-3.1-405B 等其他开源模型&#xff0c;并在性能上和世界顶尖的闭源模型 GPT…

编程领域的IO模型(BIO,NIO,AIO)

目前对于市面上绝大多数的应用来说&#xff0c;不能实现的业务功能太少了。更多的是对底层细节&#xff0c;性能优化的追求。其中IO就是性能优化中很重要的一环。Redis快&#xff0c;mysql缓冲区存在的意义。都跟IO有着密切关系。IO其实我们都在用&#xff0c;输入输出流这块。…