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

【论文阅读笔记】Traj-MAE: Masked Autoencoders for Trajectory Prediction

Abstract

通过预测可能的危险,轨迹预测一直是构建可靠的自动驾驶系统的关键任务。一个关键问题是在不发生碰撞的情况下生成一致的轨迹预测。为了克服这一挑战,我们提出了一种有效的用于轨迹预测的掩蔽自编码器(Traj-MAE),它能更好地代表驾驶环境中智能体的复杂行为。


具体来说,我们的Traj-MAE采用了多种掩蔽策略来预训练轨迹编码器和地图编码器,允许捕获智能体之间的社会和时间信息,同时利用来自多个粒度的环境影响。为了解决使用多种屏蔽策略对网络进行预训练时出现的灾难性遗忘问题,我们引入了一个连续预训练框架,该框架可以帮助Traj-MAE有效地从各种策略中学习有价值的、多样化的信息。我们在多智能体和单智能体设置下的实验结果表明,Traj-MAE使用最先进的方法取得了具有竞争力的结果,并且显著优于我们的基线模型。该准则一经发布,将向公众开放。

1. Introduction

轨迹预测的目标是预测移动主体(例如行人和车辆)的未来轨迹,这是构建安全、舒适、可靠的自动驾驶系统的关键问题[30,61,35,12,49]。许多有前途的工作[21,7,47,25,65,56]已经被学术界和工业界提出了极大的兴趣和需求。研究表明,对智能体之间复杂的相互作用进行建模[45,42,44,6,26]在轨迹预测中非常重要。在此基础上,为了解决碰撞预测问题并生成一致的轨迹预测,有必要对智能体之间的社会和时间关系进行建模,并对地图[2]有一个全局的理解。在本文中,我们使用自监督学习来研究这个问题。

自监督学习旨在从未标记的数据中学习潜在语义,而不是基于人类注释构建表示。近年来,自监督学习在自然语言处理[14,57]和计算机视觉[55,36,4]中的应用取得了显著进展。其中最有前途的自监督方法之一是掩码自编码器(MAE)[22],它在各种任务中都取得了成功[37,51]。此外,在相同的小规模数据集上进行预训练和微调对于学习良好的表示b[15]也是必不可少的。受这些作品的启发,我们的目标是使用掩码自编码器探索智能体与地图的多粒度之间的复杂相互作用。

如何设计一个有效的掩码自编码器来生成一致的轨迹预测?我们试图从以下几个方面来回答这个问题:(i)轨迹和高清地图的信息密度与图像的信息密度有很大的不同。

图像是具有高度空间冗余的自然信号,而轨迹则是具有复杂社会交互作用的连续时间序列信号,而高清地图则包含高度结构化的信息。考虑到这些差异,针对轨迹预测的模型需要进行相应的调整以捕获信息特征。因此,我们研究了不同的掩蔽策略和合适的掩蔽比的轨迹和高清地图。

我们开发了社会和时间掩蔽,使轨迹编码器能够从不同的角度捕获信息。我们还研究了多粒度掩蔽,以强制地图编码器从高清地图捕获结构信息。此外,我们发现无论采用何种掩蔽策略,高掩蔽率(50% ~ 60%)都能产生良好的效果,这就要求编码器对历史轨迹和高清地图有全面的了解。

(ii)缺乏有效的多策略预训练框架对有效的多模态轨迹预测提出了挑战。由于任务的复杂性,传统的从头开始的多任务学习[67]可能难以收敛,而传统的持续学习方法[11,38]由于无法在不忘记先前学习的知识的情况下用多个任务训练网络而受到限制。为了解决这个问题,我们提出了一种新的方法,利用先前学习的参数初始化网络,与原始策略同时训练新策略。因此,我们确保我们的网络可以在保留以前获得的知识的同时获得新的知识。

在此基础上,我们提出了一种高效实用的自监督轨迹预测框架——掩蔽轨迹自编码器(Traj-MAE)。如图1所示,Traj-MAE利用输入轨迹和高清地图的部分屏蔽,分别利用轨迹编码器和地图编码器重建被屏蔽的片段。通过采用多种掩蔽策略对输入轨迹和高清地图的缺失部分进行重构,轨迹编码器和地图编码器可以从多个角度全面理解输入的潜在语义。此外,我们还引入了一种新的连续预训练框架,这是一种高效的学习方法,可以同时使用多种策略训练模型,从而减轻灾难性遗忘的问题。

我们的核心贡献如下:•据我们所知,我们是第一个提出一个简洁高效的自监督轨迹预测的掩蔽轨迹自编码器。

•我们探索了不同的掩蔽策略,充分利用MAE来挖掘历史轨迹和高清地图的潜在语义。同时,提出了一种连续预训练框架,利用多策略对模型进行高效训练。

•我们对Argoverse和INTERACTION进行了广泛的实验,用于自动驾驶轨迹预测,并对TrajNet++的合成分区进行了行人轨迹预测。我们的TrajMAE在这些基准测试中取得了具有竞争力的结果,并且显著优于我们的基线模型。

2. Related Works

轨迹预测被广泛认为是一项序列建模任务,许多基于RNN的方法[1,66,32,8]被提出来建模智能体未来位置的轨迹模式,因为RNN(例如LSTM[23])在序列建模方面取得了显著的成功。由于transforms[53]捕获远程依赖关系的强大能力,许多基于变压器的方法已经出现并蓬勃发展。提出了STAR[60],通过空间和时间转换器之间的交错来捕获复杂的时空相互作用。mmTransformer[30]设计用于分层地聚合过去的轨迹、道路信息和社会互动。为了预测多智能体的未来轨迹,AgentFormer[61]和AutoBots[20]给出了同时对时间维度和社会维度建模的解决方案。增强编码器在两个维度上对信息建模的能力是这项工作的一个有趣的中心焦点。

近年来,自监督学习在自然语言处理和计算机视觉领域取得了显著的成功,尤其是自编码方法。去噪自编码器(DAE)[54]是一种从损坏的输入中重建原始信号的学习表示方法。

BERT[14]可以看作是DAE的发展,它屏蔽输入令牌并训练模型来预测缺失的内容。随着BERT中提出的掩模语言建模(MLM)任务,提出了许多MLM变体[57,5]来提高变压器预训练的性能。同样,在计算机视觉中,自动编码方法经常关注不同的借口任务进行预训练[36,4,22]。其中最流行的一种方法是MAE[22],它随机屏蔽输入的patch,并训练模型在像素空间中恢复被屏蔽的patch。基于MAE的不断进步[16,37,3]验证了其有效性。遵循MAE的概念,我们的方法专注于利用MAE作为一种工具来预训练具有强大特征提取能力的模型编码器。


持续学习是一种解决灾难性遗忘问题的方法,这种问题发生在连续学习不同输入模式的样本中。这些方法大致可分为重播、基于正则化和参数隔离方法[13]。回放方法[40,41,24,10,50]是在学习新任务的同时回放之前的任务样本,以减轻遗忘。相反,在学习新数据时,基于正则化的方法[48,39,63,28]经常在损失函数中引入正则化项来巩固之前的知识。参数隔离方法[31,46]为每个任务分配不同的模型参数,以防止任何可能的遗忘。


在这项工作中,我们提出了一个持续的预训练框架来解决遗忘问题,通过利用相关掩蔽策略的训练样本中包含的特定信息,我们能够提高模型编码器的泛化。

3. Approach

我们的Traj-MAE是一种复杂而有效的自监督方法。图2提供了Traj-MAE框架的概述。在本节中,我们首先介绍我们的骨干网。然后,我们深入分析了轨迹和高清地图重建的掩蔽策略。最后,我们讨论了如何将TrajMAE纳入我们的持续预训练框架。

3.1. Network Backbone

在这项工作中,我们使用具有变压器编码器-解码器架构(详见补充材料)的Autobots[20]作为基线模型来验证所提出方法的有效性。我们的Traj-MAE对输入轨迹和高清地图中的随机部分进行掩码,然后分别重建缺失部分。继MAE[22]和VideoMAE[51]之后,我们采用非对称编解码器设计来减少计算量。


Traj-MAE Encoder。在汽车人中,历史轨迹被编码成上下文张量,连同可学习的种子参数和地图上下文,被传递给解码器来预测未来的轨迹。受此设计启发,我们采用汽车人编码器作为轨迹编码器。然而,在《汽车人》中,高清地图是直接输入到解码器的,这使得模型很难捕捉到高清地图的固有信息。为了解决这一限制,我们引入了一个与轨迹编码器结构相似的地图编码器,以更好地重建被屏蔽的高清地图。然而,我们观察到,直接将地图编码器添加到汽车人的结果几乎没有改善(见补充材料)。然而,我们发现用我们提出的掩蔽和重建策略对地图编码器进行预训练可以进一步提高准确率,验证了我们预训练策略的有效性。


Traj-MAE Encoder。Traj-MAE中的编码器仅处理输入的未屏蔽部分,而解码器则从潜在表示和掩码令牌中重建缺失部分。掩码令牌是共享向量,指示需要预测的缺失部分的存在。此外,将位置嵌入添加到所有令牌中以提供位置信息。Traj-MAE解码器采用比编码器浅的Transformer块设计,仅在预训练期间用于执行轨迹和地图重建策略。这使得解码器架构灵活且独立于编码器架构。使用轻量级解码器进行预训练可以显著减少预训练时间。

相关文章:

【论文阅读笔记】Traj-MAE: Masked Autoencoders for Trajectory Prediction

Abstract 通过预测可能的危险,轨迹预测一直是构建可靠的自动驾驶系统的关键任务。一个关键问题是在不发生碰撞的情况下生成一致的轨迹预测。为了克服这一挑战,我们提出了一种有效的用于轨迹预测的掩蔽自编码器(Traj-MAE),它能更好地代表驾驶…...

MySQL - Zero date value prohibited

问题: timestamp字段报Caused by: com.mysql.cj.exceptions.DataReadException: Zero date value prohibited 原因: timestamp字段存入了0值, 超出了最小值1900-01-01 00:00:00, 转Java对象的时候报错 解决: 1.修复或删除原数据 2. mysqlurl 中添加zeroDateTimeBehaviorconve…...

设计模式——迭代器模式(Iterator Pattern)+ Spring相关源码

文章目录 一、迭代器模式二、例子2.1 菜鸟例子2.1.1 定义迭代器接口2.1.2 定义迭代对象接口——用于返回一个迭代器2.1.3 实现 迭代对象 和 迭代器2.1.4 使用 2.2 JDK源码——ArrayList2.3 Spring源码——DefaultListableBeanFactory 三、其他设计模式 一、迭代器模式 类型&am…...

【word技巧】ABCD选项如何对齐?

使用word文件制作试卷,如何将ABCD选项全部设置对齐?除了一直按空格或者Tab键以外,还有其他方法吗?今天分享如何将ABCD选项对齐。 首先,我们打开【替换和查找】,在查找内容输入空格,然后点击全部…...

如何在uni-app小程序端实现长按复制功能

在开发小程序应用中,常常需要使用到长按复制功能。本文将介绍如何在uni-app小程序端实现长按复制功能。 uni-app是一个跨平台的开发框架,可以基于vue.js语法开发小程序、H5、APP等多个平台的应用。uni-app提供了一些内置组件和API,可以方便地…...

基于springboot实现在线考试平台项目【项目源码+论文说明】计算机毕业设计

基于springboot实现在线考试演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化。则对于进一步提高在线考试管理发展,丰富在线考试管理经验能起到不少…...

【移远QuecPython】EC800M物联网开发板的内置GNSS定位获取(北斗、GPS和GNSS)

【移远QuecPython】EC800M物联网开发板的内置GNSS定位获取(北斗、GPS和GNSS) 测试视频(其中的恶性BUG会在下一篇文章阐述): 【移远QuecPython】EC800M物联网开发板的内置GNSS定位的恶性BUG(目前没有完全的…...

软件设计师2016下半年下午——KMP算法和装饰设计模式

下面是提供的代码的逐行注释&#xff0c;以及对next数组在KMP算法中的作用的解释&#xff1a; #include <iostream> #include <vector> using namespace std;void buildNextArray(const char* pattern, vector<int>& next) {int m strlen(pattern); …...

Android Studio run main()方法报错

在studio中想要测试某个功能直接执行main()方法报错如下&#xff1a; * What went wrong: A problem occurred configuring project :app. > Could not create task :app: **** .main().> SourceSet with name main not found.解决方案&#xff1a; 执行run ** main() w…...

CM3D2 汉化杂记

老物难找资源&#xff0c;于是尝试自己汉化&#xff0c;皆源于有一个好的汉化插件。 资源&#xff1a;LMMT 工具&#xff1a;CM3D2.SubtitleDumper.exe&#xff0c;有道翻译(可以翻译文档)&#xff0c;Libreoffice(文档、表格) cmd&#xff08;资源管理器的结果可以拖进去&…...

分类预测 | Matlab实现SMA-KELM黏菌优化算法优化核极限学习机分类预测

分类预测 | Matlab实现SMA-KELM黏菌优化算法优化核极限学习机分类预测 目录 分类预测 | Matlab实现SMA-KELM黏菌优化算法优化核极限学习机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SMA-KELM黏菌优化算法优化核极限学习机分类预测(完整源码和数…...

linux的环境安装以及部署前后端分离后台接口

⭐⭐ linux专栏&#xff1a;linux专栏 ⭐⭐ 个人主页&#xff1a;个人主页 目录 一.linux安装环境 1.1 jdk和tomcat的安装配置 1.1.1 解压jdk和tomcat的安装包 解压jdk安装包 解压tomcat安装包 1.2 jdk环境变量配置 1.3 tomcat启动 1.4 MySQL的安装 二.部署前后端分离…...

解决mysql数据库root用户看不到库

第一种方式&#xff1a; 1.首先停止MySQL服务&#xff1a;service mysqld stop 2.加参数启动mysql&#xff1a;/usr/bin/mysqld_safe --skip-grant-tables & 然后就可以无任何限制的访问mysql了 3.root用户登陆系统&#xff1a;mysql -u root -p mysql 4.切换数据库&#…...

【LeetCode】117. 填充每个节点的下一个右侧节点指针 II

117. 填充每个节点的下一个右侧节点指针 II 难度&#xff1a;中等 题目 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c…...

《研发效能(DevOps)工程师》课程简介(三)丨IDCF

在研发效能领域中&#xff0c;【开发与交付】的学习重点在于掌握高效的开发工具和框架&#xff0c;了解敏捷开发方法&#xff0c;掌握持续集成与持续交付技术&#xff0c;以及如何保证应用程序的安全性和合规性等方面。 由国家工业和信息化部教育与考试中心颁发的职业技术证书…...

主动激活木马加密流量分析

概述 在网络攻击中&#xff0c;木马病毒通常会使用监听某个端口的方式&#xff0c;或者直接连接C2地址、域名的方式来建立通信&#xff0c;完成命令与控制。而APT攻击中&#xff0c;攻击者为了更高级的潜伏隐蔽需求&#xff0c;其部署的木马或后门&#xff0c;会采用对网卡流量…...

关于单片机CPU如何控制相关引脚

目录 1、相关的单片机结构 2、通过LED的实例解释 1、相关的单片机结构 在寄存器中每一块都有一根导线与引脚对应&#xff0c;通过cpu改变寄存器内的数据&#xff08;0或1&#xff09;&#xff0c;通过驱动器来控制对于的引脚。 2、通过LED的实例解释 如图所示&#xff0c;芯片…...

[概述] 获取点云数据的仪器

这里所说的获取点云的仪器指的是可以获取场景中物体距离信息的相关设备&#xff0c;下面分别从测距原理以及适用场景来进行介绍。 一、三角测距法 三角测距原理 就是利用三角形的几何关系来测量物体的距离。想象一下&#xff0c;你站在一个地方&#xff0c;你的朋友站在另一…...

路由器基础(八):策略路由配置

在实际网络应用中&#xff0c;策略路由也是一种重要的技术手段。尽管 在考试并不注重策略路由&#xff0c;但是实际上应用较多&#xff0c;建议考生除了掌握基本的静态路由协议IP route-static, 动态路由协议RIP 、OSPF的基础配置外&#xff0c;还要掌握如何配置策略路由。…...

Java 零碎知识点

目录 [多线程]创建多线程的三种方式 [网络编程]一、重点概念1、TCP/IP网络模型2、IP 对象3、端口号4、协议UDP(User Datagram Protocol)TCP(Transmission Control Protocol) 二、UDP 通信三、TCP 通信 [前端][Vue]一、Vue3项目创建响应式函数父子通信父传子子传父 跨层组件通信…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

算术操作符与类型转换:从基础到精通

目录 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符&#xff1a;、-、*、/、% 赋值操作符&#xff1a;和复合赋值 单⽬操作符&#xff1a;、--、、- 前言&#xff1a;从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...