MapTracker:Tracking with Strided Memory Fusion for Consistent Vector HD Mapping

news2025/6/24 14:44:51

参考代码:MapTracker

动机与出发点

为了提升帧间检测的稳定性通常会添加时许信息,这个可以BEV特征处做时序融合,也可以是用当前帧query去cross-attn历史帧信息,则更多的时候是将之前帧信息与当前做融合或者cross-attn实现信息传递,是一种只在当前帧做检测的思路。这篇文章提出使用tracking的思路去做帧间融合,也就是历史帧的目标信息和匹配关系会随着时间流转到当前时刻,融合也是分为BEV特征和query维度的:

  • 1)BEV特征(BEV query)融合:将上一帧BEV特征通过egomotion变换到当前帧位置下用于当前帧query的初始化,没有重叠的区域就用原本embedding的值(default val),之后再与历史帧做跳帧融合,如使用距离当前ego距离为1m、5m、10m、15m处帧数据,这个融合的过程可以直接warp对齐之后做融合
  • 2)vector query融合:将上一帧object query做帧间对齐之后与当前帧的query做concat操作,再与历史帧的query做inst级别的cross-attn操作,这样就相当于历史帧中的query流转到了当前时刻(做数据的时候就要把跟踪关系做好,同一个clip用同一个实例ID就行),同时也有新定义query去处理新出现的目标

使用tracking的方式去做感知具有如下优势:

  • 1)基于DETR的检测器得到简化,当前帧的query与GT之间的对应关系(主要为vector query)在上一帧就已经建立好了,不用再在当前时刻做匹配,这样收敛速度更快,效果更好
  • 2)帧间目标连贯性更好(少毛刺),帧间做tracking会传递和对齐query,使得同一个目标query表达相对稳定,时序叠加之后毛刺现象

下面就是无时序模型、时序检测模型、时序tracking模型的结果直观对比:
在这里插入图片描述

方法设计

文章的方法pipeline见下图所示:
在这里插入图片描述

针对于时序融合定义了BEV queryvector query两处buffer用于去融合时序特征,这里buffer的容量做到了20个,但是使用的时候是具有选择性(跳帧策略:距离当前ego距离为1m、5m、10m、15m处帧数据),这样可以增加性能的同时减少计算量。

BEV特征与query在当前时刻的初始化

基于检测的时序模型采用当前时刻query做后续流程,不会引入历史帧的信息。对于tracking的思想是使用历史帧信息,历史帧信息中query与GT匹配关系、query特征表达均会传递到当前帧,在给新目标分配额外object query的同时,用以上信息完成帧间流转之后去检测。其实这部分过程也就是上图中的BEV Query Propagation和Vector Query Propagation。

BEV特征与query时序融合

完成BEV和Decoder中query初始化(仅使用上一帧的信息)之后便是去融合历史帧的信息,对于历史帧不是全部采用而是采用跳帧策略。对于BEV query部分时序融合就是concat+conv实现,而object query就是使用cross-attn与历史帧信息交互,见下图
在这里插入图片描述

另外,为了使得帧间信息传递(主要针对object query)时候上图中的PropMLP模块能够学到帧间迁移特性,在损失函数中增加了 L t r a n s L_{trans} Ltrans约束,思想就是用上一帧query经过该模块对齐之后预测结果应该与单纯依据egomotion变换得到的结果近似。这个trick已在StreamMapNet中使用了。

对于BEV query和object query两个维度它们的具体流程见下图:
在这里插入图片描述

那么依据tracking做query初始化、时序特征融合、跳帧策略这几个变量对性能的影响:
在这里插入图片描述

实验结果

nuScenes下性能比较:
在这里插入图片描述

Argoverse2下性能比较:
在这里插入图片描述

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

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

相关文章

ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models

iclr 2024 oral reviewer 评分 688 1 intro 目前LLM社区中通常使用GELU和SiLU来作为替代激活函数,它们在某些情况下可以提高LLM的预测准确率 但从节省模型计算量的角度考虑,论文认为经典的ReLU函数对模型收敛和性能的影响可以忽略不计,同时…

亚信安慧AntDB-T数据库重分布的实现原理

摘要: 亚信安慧AntDB-T是一款通用企业级、高可用、高性能的原生分布式关系型数据库,具有多种分片方式。在数据库的使用过程中,随着数据的变更和增长,需要重新修改表的分片方式。 AntDB-T数据库支持重分布命令,在内核…

如何在极狐GitLab 启用依赖代理功能

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何在[极狐GitLab…

【测试开发学习历程】python面向对象

1 面向对象的基本概念 面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 怎么理解面向对象? 面向对象是一种编程思想,就是把要解决…

Substance 3D2024版 下载地址及安装教程

Substance 3D是Adobe公司推出的一套全面的3D设计和创作工具集合,用于创建高质量的3D资产、纹理和材质。 Substance 3D包括多个功能强大的软件和服务,如Substance 3D Painter、Substance 3D Designer和Substance 3D Sampler等。这些工具提供了广泛的功能…

了解大语言模型的参数高效微调(Parameter-Effcient Fine-Tuning)

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 大语言模型在众多应用领域实现了突破性的进步,显著提升了各种任务的完成度。然而,其庞大的规模也带来了高昂的计算成本。这些模型往往包含数十亿甚至上千亿参数,需要…

VRRP虚拟路由实验(华为)

思科设备参考:VRRP虚拟路由实验(思科) 一,技术简介 VRRP(Virtual Router Redundancy Protocol)是一种网络协议,用于实现路由器冗余,提高网络可靠性和容错能力。VRRP允许多台路由器…

vue商城项目vue shop vite

Vue Shop 是一个基于 Vue.js 框架构建的电子商务平台,它利用了 Vue 的响应式数据绑定和组件化的特点,为用户提供了一种快速开发和部署在线商店的解决方案。Vite 是一种现代化的前端构建工具,它提供了快速的冷启动、即时模块热更新&#xff08…

Elasticsearch:从 ES|QL 到 PHP 对象

作者:来自 Elastic Enrico Zimuel 从 elasticsearch-php v8.13.0 开始,你可以执行 ES|QL 查询并将结果映射到 stdClass 或自定义类的 PHP 对象。 ES|QL ES|QL 是 Elasticsearch 8.11.0 中引入的一种新的 Elasticsearch 查询语言。 目前,它在…

Understanding Diffusion Models: A Unified Perspective翻译和公式补充解读

“Understanding Diffusion Models: A Unified Perspective”是一篇写的非常好的扩散模型DDPM数学原理解读文章,这里翻译了一遍,对于一些细节补充记录一下,方便对照原文更好的理解。 这篇文章作者是Calvin Luo,来自Google Resear…

软考120-上午题-【软件工程】-软件开发模型02

一、演化模型 软件类似于其他复杂的系统,会随着时间的推移而演化。在开发过程中,常常会面临以下情形:商业和产品需求经常发生变化,直接导致最终产品难以实现;严格的交付时间使得开发团队不可能圆满地完成软件产品&…

AI论文速读 | TF-LLM:基于大语言模型可解释性的交通预测

论文标题: Explainable Traffic Flow Prediction with Large Language Models 作者:Xusen Guo, Qiming Zhang, Mingxing Peng, Meixin Zhu(朱美新)*, Hao (Frank)Yang(杨昊) 机构:香港科技大学(广州),约翰…

C# 操作PDF表单 - 创建、填写、删除PDF表单域

通常情况下,PDF文件是不可编辑的,但PDF表单提供了一些可编辑区域,允许用户填写和提交信息。PDF表单通常用于收集信息、反馈或进行在线申请,是许多行业中数据收集和交换的重要工具。 PDF表单可以包含各种类型的输入控件&#xff0…

【软件工程】UML用例图介绍和实例说明

文章目录 1、什么是用例图2、用例图的作用3、怎么画用例图4、三要素说明5、实例说明 1、什么是用例图 用例图(Use Case Diagram)是统一建模语言(UML)的一种图,它主要用于描述系统的功能和用户(参与者&…

elementui树形组件自定义高亮颜色

1、需求描述&#xff1a;点击按钮切换树形的章节&#xff0c;同时高亮 2、代码实现 1&#xff09;style样式添加 <style> .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {background-color: #81d3f8 !important; //高亮颜色colo…

微信小程序实现输入appid跳转其他小程序

前言 本文记录wx.navigateToMiniProgram打开另一个小程序API使用方法&#xff0c;并封装为组件。 wxml 部分 输入框用来记录appid&#xff0c;按钮用来查询并跳转。 <view class"container"><input class"input" placeholder"请输入要查…

Flutter第七弹 网格列表GridView

1) Flutter提供了网格列表&#xff0c;怎么设置列数&#xff1f; 2&#xff09;怎么初始化每个列表项Item&#xff1f; 一、GridView简介 Flutter也存在网格列表组建GridView&#xff0c;用于展示多行多列的列表。 1.1 GridView构建 采用GridView.count() 进行构建 1.2 Gr…

基于激光雷达点云(lidar)的目标检测方法之BEV

基于激光雷达点云&#xff08;lidar&#xff09;的目标检测方法之BEV 附赠自动驾驶学习资料和量产经验&#xff1a;链接 基于lidar的目标检测方法可以分成3个部分&#xff1a;lidar representation&#xff0c;network backbone&#xff0c;detection head&#xff0c;如下图所…

LeetCode - 1702. 修改后的最大二进制字符串

文章目录 解析AC CODE 题目链接&#xff1a;LeetCode - 1702. 修改后的最大二进制字符串 解析 详细题解&#xff1a;贪心&#xff0c;简洁写法&#xff08;Python/Java/C/Go/JS/Rust&#xff09; 思路很牛b。 简单来说我们需要想办法将0配对&#xff0c;将其变为10&#xff0…

3D室内装潢设计 Sweet Home 3D for Mac 中文直装版

Sweet Home 3D 是一款非常棒的家装辅助设计软件&#xff0c;支持包括中文在内的16中语言&#xff0c;它能帮您通过二维的家居平面图来设计和布置您的家具,还可以用三维的视角浏览整个装修布局的全貌。是一款操作起来简单方便&#xff0c;使用起来快捷、迅速&#xff0c;拥有超高…