自动驾驶---不依赖地图的大模型轨迹预测

news2025/4/21 10:55:22

1 前言

        早期传统自动驾驶方案通常依赖高精地图(HD Map)提供道路结构、车道线、交通规则等信息,可参考博客《自动驾驶---方案从有图迈进无图》,本质上还是存在问题:

  • 数据依赖性高:地图构建成本昂贵,且跨区域泛化能力受限。
  • 动态场景局限性:地图无法实时反映临时障碍物或施工区域。
  • 计算复杂度:地图的复杂拓扑结构需要额外编码模块处理。

        在之前的博客中,笔者分别介绍过华为《自动驾驶---行泊一体(车位到车位功能)》ADS3.0智驾方案中,RCR网络(Road Cognition & Reasoning,道路拓扑推理网络):结合普通导航地图来与现实进行匹配和印证,再实时通过传感器来拓补绘制一幅可用的行车地图。通过RCR网络便摆脱了高精地图,实现绝大多数场景下的无图就能开。

        小米智驾同样也有一套系统《自动驾驶---小米汽车智驾进展》,道路大模型:小米道路大模型,实时生成道路拓扑,效果媲美高精地图,实现全国都能用的城市领航。

        小米和华为类似,都是通过模型来建立车道信息,尽量不高度依赖高精地图。

        最近介绍的博客《自动驾驶---LSTM模型用于轨迹预测》,仅依赖于动态车辆的历史轨迹,有其局限性,以及《自动驾驶---基于深度学习模型的轨迹预测》中介绍通过深度学习模型进行轨迹预测,基于此轨迹预测的深度学习模型,后期是可以用于自车轨迹生成的端到端大模型。

        目前特斯拉的端到端大模型的输入应该是包括地图数据的,但国内量产端到端大模型的公司目前做到这一点的几乎没有。

    2 轨迹预测

            目前,很多公司的端到端整体方案如下所示,地图信息作为模型的输入(以特斯拉为代表),或者干脆就不包括(国内的模块化大模型)。

           MFTP(Map-Free Trajectory Prediction),这是一种无需地图的轨迹预测方法(如下图所示),它在训练期间通过知识蒸馏从高清地图中获益,而在推理期间则不需要高清地图。论文中提出了一种新颖的层次编码器,有效地提取时空智能体特征,并将它们聚合成多个轨迹查询。此外,引入了一个迭代解码器,顺序解码轨迹查询以生成最终预测。在Argoverse数据集下的无地图设置中,该方法实现了最先进的性能。

    2.1 方法论

    (1)知识蒸馏

            前段时间也是Deepseek带火了知识蒸馏这一概念。知识蒸馏(Knowledge Distillation) 其实是一种机器学习技术,旨在将复杂模型(通常称为“教师模型”)的知识迁移到更简单、更高效的模型(“学生模型”)中,从而实现模型压缩、性能提升或部署优化。其核心思想是让学生模型模仿教师模型的输出或中间特征,而不仅仅依赖原始训练数据的标签。

    • 知识蒸馏的大概过程:
      • 训练教师模型:在目标任务上训练一个高性能的大模型。
      • 生成软标签:用教师模型对训练数据推理,得到概率分布(软标签)。
      • 训练学生模型:学生模型同时拟合硬标签(原始标签)和软标签(教师输出),损失函数通常为:  ,其中  衡量学生与教师输出的差异, 为权重系数。
    • 套用到 MFTP(Map-Free Trajectory Prediction)中的大概过程如下:
      • 教师模型:使用高精地图的轨迹预测模型。
      • 学生模型:无地图的轨迹预测模型。
      • 蒸馏内容:将教师模型对地图拓扑的理解(如车道连接、交通规则)迁移到学生模型中,使其隐式学习道路结构约束,而无需显式地图输入。

    (2)MFTP架构

    • 整体框架:MFTP包括一个预训练的基于地图的教师网络和一个无需地图的学生网络。教师网络利用高清地图和其它智能体的历史轨迹作为输入,而学生网络则不依赖地图信息。
    • 层次编码器:提出了一种新颖的层次编码器,用于提取智能体的多层次时空特征,并将它们聚合成多个轨迹查询。
      • 输入表示:在采用向量表示的情况下,智能体的历史轨迹和地图折线被表示为二维或三维空间中的一组点。我们没有使用智能体轨迹和地图点的绝对位置,而是选择相对运动向量作为输入。

      • 上下文建模:轨迹预测本质上是一项序列性且涉及交互的任务,在其中,一个智能体过去的行为以及周围环境都起着至关重要的作用。为了提取智能体的时空特征,我们按顺序对地图与地图之间、智能体与地图之间以及智能体与智能体之间的交互进行建模。首先,我们利用中提出的带有注意力机制的地图与地图注意力模块,对地图结构和车道交互进行建模,将其视为地图先验知识,随后再接入一个前馈神经网络(FFN)。

      • 分层特征聚合与融合:利用特征聚合(FA)模块对智能体的时空特征进行聚合,以生成多个轨迹查询。这些查询起到了桥梁的作用,连接着编码器和解码器,并且代表着潜在的多模态未来轨迹。

    • 迭代解码器:使用迭代解码器顺序解码轨迹queries,以生成最终的预测。

            整体的框架如下图所示,多模态融合轨迹预测(MFTP)有一个基于地图的预训练教师模型和一个无地图的学生模型。除了与地图相关的模块之外,学生模型与教师模型具有相同的架构。在编码器中,通过特征聚合(FA)模块在进行智能体间的时间和空间注意力计算后,分层的智能体特征会被逐步提取出来,然后这些特征被融合,形成 K 个轨迹查询,对应着 K 条多模态的未来轨迹。在教师网络中,智能体在编码器阶段通过智能体 - 地图注意力模块学习地图先验知识,并在解码器阶段通过查询 - 地图注意力模块学习相关知识。通过对中间特征进行知识蒸馏,我们将地图先验知识融入到无地图的学生网络中。

    2.2 验证

            关于轨迹预测具体的评测指标在之前的博客中多次介绍过,这里就不赘述了。通过数据对比,MFTP方法在某些方面还是存在优势的。

    • 数据集和评估:在Argoverse数据集上进行了广泛的实验,证明了MFTP在无需地图的情况下实现了最先进的性能。
    • 定量结果:与现有的无需地图的方法相比,MFTP在所有指标上均优于其他非蒸馏的无需地图方法,并在应用知识蒸馏后进一步提高了性能。

            在 Argoverse 验证集上的定性结果。(a)展示了无地图模型在交叉路口场景中的性能表现,该场景存在各种驾驶行为(例如,直行、左转、大角度左转以及从左至右的右转),且该模型未利用地图先验知识。(b)表明,在知识蒸馏(KD)的帮助下,无地图模型能够预测出与真实轨迹更为接近的未来轨迹。(a)和(b)使用相同的图例。建议以彩色模式并放大查看效果最佳。

    3 总结

            本篇博客通过一篇论文的介绍以及笔者自身的理解来看,MFTP为自动驾驶轨迹预测领域提供了一种新的视角,即在不依赖高清地图的情况下,通过知识蒸馏和层次编码来实现有效的轨迹预测,避免在整个模型中带入“比较重”的地图模块。

            在未来模型压缩和轻量化中,这种方法有望在自动驾驶技术的发展中发挥重要作用,并为未来相关研究提供了新的思路。

     

    4 参考文献

    《Map-Free Trajectory Prediction with Map Distillation and Hierarchical Encoding》

     

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

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

    相关文章

    perl初试

    我手头有一个脚本,用于从blastp序列比对的结果文件中,进行文本处理, 获取序列比对最优的hit记录 #!/usr/bin/perl -w use strict;my ($blast_out) ARGV; my $usage "This script is to get the best hit from blast output file wit…

    VS Code C++ 开发环境配置

    VS Code 是当前非常流行的开发工具. 本文讲述如何配置 VS Code 作为 C开发环境. 本文将按照如下步骤来介绍如何配置 VS Code 作为 C开发环境. 安装编译器安装插件配置工作区 第一个步骤的具体操作会因为系统不同或者方案不同而有不同的选择. 环境要求 首先需要立即 VS Code…

    Web Snapshot 网页截图 模块代码详解

    本文将详细解析 Web Snapshot 模块的实现原理和关键代码。这个模块主要用于捕获网页完整截图,特别优化了对动态加载内容的处理。 1. 模块概述 snapshot.py 是一个功能完整的网页截图工具,它使用 Selenium 和 Chrome WebDriver 来模拟真实浏览器行为&am…

    Windows 10 下 SIBR Core (i.e. 3DGS SIBR Viewers) 的编译

    本文针对在 Windows 10 上从源码编译安装3DGS (3D Gaussian Splatting)的Viewers 即SIBR Core及外部依赖库extlibs(预编译的版本直接在页面https://sibr.gitlabpages.inria.fr/download.html下载) ,参考SIBR 的官方网站…

    JavaWeb-HttpServletRequest请求域接口

    文章目录 HttpServletRequest请求域接口HttpServletRequest请求域接口简介关于请求域和应用域的区别 请求域接口中的相关方法获取前端请求参数(getParameter系列方法)存储请求域名参数(Attribute系列方法)获取客户端的相关地址信息获取项目的根路径 关于转发和重定向的细致剖析…

    防火墙虚拟系统实验

    拓扑图 需求一 安全策略要求: 1、只存在一个公网IP地址,公司内网所有部门都需要借用同一个接口访问外网 2、财务部禁止访问Internet,研发部门只有部分员工可以访问Internet,行政部门全部可以访问互联网 3、为三个部门的虚拟系统分…

    点云滤波方法:特点、作用及使用场景

    点云滤波是点云数据预处理的重要步骤,目的是去除噪声点、离群点等异常数据,平滑点云或提取特定频段特征,为后续的特征提取、配准、曲面重建、可视化等高阶应用打下良好基础。以下是点云中几种常见滤波方法的特点、作用及使用场景:…

    Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南

    Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南 在 Java 项目开发中,使用 Lombok 可以极大地减少样板代码(如 getter/setter 方法、构造器等),提高开发效率。然而,当使用 Gradle 构建工具并将项目发布到私…

    ArcGIS Pro 基于基站数据生成基站扇区地图

    在当今数字化的时代,地理信息系统(GIS)在各个领域都发挥着至关重要的作用。 ArcGIS Pro作为一款功能强大的GIS软件,为用户提供了丰富的工具和功能,使得数据处理、地图制作和空间分析变得更加高效和便捷。 本文将为您…

    【Python · Pytorch】Conda介绍 DGL-cuda安装

    本文仅涉及DGL库介绍与cuda配置,不包含神经网络及其训练测试。 起因:博主电脑安装了 CUDA 12.4 版本,但DGL疑似没有版本支持该CUDA版本。随即想到可利用Conda创建CUDA12.1版本的虚拟环境。 1. Conda环境 1.1 Conda环境简介 Conda&#xff1…

    leetcode:2965. 找出缺失和重复的数字(python3解法)

    难度:简单 给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n2] 范围内。除了 a 出现 两次,b 缺失 之外,每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个下标从…

    Android U 分屏——SystemUI侧处理

    WMShell相关的dump命令 手机分屏启动应用后运行命令:adb shell dumpsys activity service SystemUIService WMShell 我们可以找到其中分屏的部分,如下图所示: 分屏的组成 简图 分屏是由上分屏(SideStage)、下分屏(MainStage)以及分割线组…

    flink集成tidb cdc

    Flink TiDB CDC 详解 1. TiDB CDC 简介 1.1 TiDB CDC 的核心概念 TiDB CDC 是 TiDB 提供的变更数据捕获工具,能够实时捕获 TiDB 集群中的数据变更(如 INSERT、UPDATE、DELETE 操作),并将这些变更以事件流的形式输出。TiDB CDC 的…

    推荐1款OCR的扫描仪软件,无需安装,打开即用!

    聊一聊 现在日常办公,很多时候还是需要扫描仪配合。 很多时候需要将文件搜索成PDF再传输。 今天给大家分享一款OCR扫描仪软件。 软件介绍 OCR的扫描仪软件 支持扫描仪共享。 支持WIA、TWAIN、SANE和ESCL驱动程序。 还可以批量多扫描仪配置扫描,支持…

    SpringBoot为什么默认使用CGLIB?

    大家好,我是锋哥。今天分享关于【SpringBoot为什么默认使用CGLIB?】面试题。希望对大家有帮助; SpringBoot为什么默认使用CGLIB? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot 默认使用 CGLIB(Code Generation Li…

    神经网络|(十三)|SOM神经网络

    【1】引言 前序已经对神经网络有了基础认识,今天先学习SOM神经网络。 前序学习文章链接包括且不限于: 神经网络|(十一)|神经元和神经网络-CSDN博客 神经网络|(十二)|常见激活函数-CSDN博客 【2】SOM神经网络 SOM神经网络是一种结构比较简单、但是理…

    IP协议、DNS协议、DHCP协议、Telent协议的记忆总结

    首先记忆一下几个协议的端口号 HTTP:超文本传输协议 80 HTTPS:安全传输协议 443 DHCP:动态主机配置协议 67/68 DNS:域名解析协议 53 FTP:文件传输协议 20/21 TFTP:简单文件传输协议 69 TELENT:远…

    Pico 4 Enterprise(企业版)与Unity的交互-有线串流调试篇

    入手了Pico 4 E做VR开发,谁知入了天坑...根据官方文档,尝试了串流助手、企业串流、PICO Developer Center,陷入了各种版本问题、环境问题的陷阱。而且Pico4E的OS自24年12开始就不再更新,头盔中预装的企业串流版本也较低&#xff0…

    DeepSeek-R1:使用KTransformers实现高效部署指南

    KTransformers作为一个开源框架,专门为优化大规模语言模型的推理过程而设计。它支持GPU/CPU异构计算,并针对MoE架构的稀疏性进行了特别优化,可以有效降低硬件要求,允许用户在有限的资源下运行像DeepSeek-R1这样庞大的模型。 硬件…

    任务9:交换机基础及配置

    CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念:交换机是一种网络设备,用于连接多台计算机或网络设备,实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…