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

参考代码: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.rhkb.cn/news/304328.html

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

相关文章

SQL注入sqli_labs靶场第三题

?id1and 11 and 11和?id1and 11 and 11进行测试如果11页面显示正常和原页面一样,并且12页面报错或者页面部分数据显示不正常,那么可以确定此处为字符型注入。 根据报错信息判断为单引号带括号注入 联合查询: 猜解列名 ?id1) order by 3-…

SIC知识--(1):来龙去脉

一、碳化硅的起源 1891年,当时爱德华古德里奇艾奇逊在尝试制造人造金刚石的过程中意外发现了这一材料。艾奇逊将黏土(铝硅酸盐)与粉状焦炭(碳)混合后在电炉中加热,预期得到金刚石,却意外获得了一…

代码随想录35期Day08-字符串

344.反转字符串 位运算 func reverseString(s []byte) {l : 0r : len(s) - 1for l < r {s[l] ^ s[r]s[r] ^ s[l]s[l] ^ s[r]lr--} }541. 反转字符串II 没技巧 func reverseStringRange(s []byte, l int, r int) {if r > len(s) {r len(s) - 1}for l < r {s[l] ^…

Mac安装配置ElasticSearch和Kibana 8.13.2

系统环境&#xff1a;Mac M1 (MacOS Sonoma 14.3.1) 一、准备 从Elasticsearch&#xff1a;官方分布式搜索和分析引擎 | Elastic上下载ElasticSearch和Kibana 笔者下载的是 elasticsearch-8.13.2-darwin-aarch64.tar.gz kibana-8.13.2-darwin-aarch64.tar.gz 并放置到个人…

关于ASP.NET Core WebSocket实现集群的思考

前言 提到WebSocket相信大家都听说过&#xff0c;它的初衷是为了解决客户端浏览器与服务端进行双向通信&#xff0c;是在单个TCP连接上进行全双工通讯的协议。在没有WebSocket之前只能通过浏览器到服务端的请求应答模式比如轮询&#xff0c;来实现服务端的变更响应到客户端&…

潍微科技-水务信息管理平台 ChangePwd SQL注入漏洞复现

0x01 产品简介 水务信息管理平台主要帮助水务企业实现水质状态监测、管网运行监控、水厂安全保障、用水实时监控以及排放有效监管,确保居民安全稳定用水、环境有效保护,全面提升水务管理效率。由山东潍微科技股份有限公司研发,近年来,公司全力拓展提升水务、水利信息化业务…

机器学习实训 Day1

线性回归练习 Day1 手搓线性回归 随机初始数据 import numpy as np x np.array([56, 72, 69, 88, 102, 86, 76, 79, 94, 74]) y np.array([92, 102, 86, 110, 130, 99, 96, 102, 105, 92])from matplotlib import pyplot as plt # 内嵌显示 %matplotlib inlineplt.scatter…

专为苹果系统设计的精美可视化图表 | 开源日报 No.219

danielgindi/Charts Stars: 27.3k License: Apache-2.0 Charts 是为 iOS/tvOS/OSX 提供美观图表的开源项目&#xff0c;是跨平台 MPAndroidChart 在苹果设备上的实现。该项目提供了以下主要功能和优势&#xff1a; 支持 iOS、tvOS 和 macOS 平台使用 Swift 编写&#xff0c;可…

Harmony鸿蒙南向驱动开发-PWM

PWM&#xff08;Pulse Width Modulation&#xff09;即脉冲宽度调制&#xff0c;是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术&#xff0c;广泛应用在从测量、通信到功率控制与变换的许多领域中。通常情况下&#xff0c;在使用马达控制、背光亮度调节时会用到PWM模…

数据降维方法-主成分分析(PCA)

目录 一、前言 二、向量的表示及基变换 三、基变换 四、协方差矩阵 五、协方差 六、优化目标 一、前言 主成分分析(Principal Component Analysis) 用途&#xff1a;降维中的常用手段 目标&#xff1a;提取最有价值的信息&#xff08;基于方差&#xff09; 问题&#x…

Acwing.4009 收集卡牌(期望dp)

题目 小林在玩一个抽卡游戏&#xff0c;其中有 n种不同的卡牌&#xff0c;编号为 1到 n。 每一次抽卡&#xff0c;她获得第 i种卡牌的概率为 pi。 如果这张卡牌之前已经获得过了&#xff0c;就会转化为一枚硬币。 可以用 k枚硬币交换一张没有获得过的卡。 小林会一直抽卡&…

最祥解决python 将Dataframe格式数据上传数据库所碰到的问题

碰到的问题 上传Datafrane格式的数据到数据库 会碰见很多错误 举几个很普遍遇到的问题(主要以SqlServer举例) 这里解释下 将截断字符串或二进制数据 这个是字符长度超过数据库设置的长度 然后还有字符转int失败 或者字符串转换日期/或时间失败 这个是碰到的需要解决的最多的问…

网站HTTP升级成为HTTPS的方法

将网站从HTTP免费升级为HTTPS&#xff0c;您可以按照以下步骤操作&#xff1a; 1. 选择证书颁发机构&#xff08;CA&#xff09;&#xff1a; - 为了免费升级&#xff0c;您可以选择使用JoySSL这样的公益项目。JoySSL提供免费、自动化的SSL/TLS证书颁发服务&#xff0c;适用于各…

三、Mat、Bitmap和Image数据类型之间的转换(OpenCvSharp)

在OpenCV中可以通过ImRead方法读取照片&#xff0c;通过ImShow方法显示照片&#xff1b;但是无法在PictureBox控件中显示 PictureBox控件只能展示Bitmap和Image数据类型图片 为此查阅了网上很多篇博文&#xff0c;将三种数据类型之间的转换进行了归纳整理&#xff0c;感谢网上…

【Qt】:对话框(一)

对话框 一.基本的对话框二.自定义对话框三.通过图形化界面自定义对话框四.关于对话框mode 对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口&#xff0c;出现在程序最上层&#xff0c;用于实现短期任务或者…

【mT5多语言翻译】之一——实战项目总览

[1] 总览 【mT5多语言翻译】系列共六篇文章&#xff1a; 【mT5多语言翻译】之一——实战项目总览   【mT5多语言翻译】之二——模型&#xff1a;T5模型与mT5模型与前置知识   【mT5多语言翻译】之三——数据集&#xff1a;多语言翻译数据集与预处理   【mT5多语言翻译】之…

cesium 添加动态波纹效果 圆形扩散效果 波纹材质

一、扩展材质 /*** 水波纹扩散材质* param {*} options* param {String} options.color 颜色* param {Number} options.duration 持续时间 毫秒* param {Number} options.count 波浪数量* param {Number} options.gradient 渐变曲率*/function CircleWaveMaterialProperty(opt…

代码随想录--数组--移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…

Win11 使用 WSL2 安装 linux 子系统 ubuntu

Win11 使用 WSL2 安装 linux 子系统 ubuntu 段子手168 1、用 部署映像服务和管理工具 dism.exe 命令&#xff0c;开启 WSL2 按【WIN R】&#xff0c;打开【运行】&#xff0c;输入&#xff1a;【cmd】&#xff0c;管理员打开【命令行提示符】。 启用适用于 Linux 的 Windo…

PHP自助建站系统,小白也能自己搭建网站

无需懂代码&#xff0c;用 自助建站 做企业官网就像做PPT一样简单&#xff0c;您可以亲自操刀做想要的效果&#xff01; 自助建站是一款简单、快捷、高效的工具&#xff0c;可以帮助您制作响应式网站。我们的自助建站系统&#xff0c;将传统的编码工作转化为直观的拖拽操作和文…