自动驾驶之MultiPath++论文阅读笔记

本文介绍了一种改进的道路参与者行为预测方法,通过采用稀疏场景元素编码替代密集图像编码,利用折线表示道路特征及代理状态信息,并通过多上下文门控机制融合不同模态的数据。该方法在多个数据集上取得了优异的结果。

预测道路参与者的future behavior.

摘要

  • 将输入由dense image-based encoding改为a sparse encoding of heterogeneous scene elements.
    即用polylines(折现)来描述road features和原始的agent state information(例如位置、速度和加速度)。
    主要方法是对这些元素进行a context-aware fusion,然后开发一个可重复使用的(reusable) multi-context gating fusion组件.
  • 重新考虑预定义的、静态的anchors的选择,使得模型可以端到端学习latent anchor embeddings.
  • ensemble和output aggregation技术,寻找effective概率的多模型输出表达

Introduction

目前在自动驾驶中,对human agents建模和预测有以下难点:

  • Multimodal output space: 未来环境的不可知性,使得模型必须可以表达rich output space.
  • Heterogenous, interrelated(相互关联的) input space:动静态混合输入,包括道路信息、交通灯、agents的历史状态. 驾驶是高度交互的,可以有很多agent.

MultiPath的光栅化的方法有如下缺点:

  • 空间网格的分辨率、视野和计算要求三者的trade-off.
  • 这是个人工特征工程,一些特征内在的不适合,例如径向速度(radial velocity)
  • 小的卷积视野很难获取长距离的交互。
  • 信息是系数的,dense表达是潜在浪费的.

MultiPath++比MultiPath有如下改进:

  • 避开光栅化+CNN的方法,将road元素表示为折现(polylines),agent的历史信息保存为一个RNN编码的序列,agent交互为与本车相邻的状态的RNNs. 避免了荣誉的光栅化
  • 获取road和agent之间的关系很重要,将所有road element交互地编码效果会更好,因此提出multi-context gating(MCG).
  • 探索轨迹建模。比较基于动力学控制和连续时间地多项式
  • 在miss-rate(MR)和mAP上得到提升.
  • 在Waymo Open Motion Dataset上第一,在Argoverse Motion Forecating上第4.

在这里插入图片描述

3.1 输入表达

  • Agent state history: 一个state sequence, 固定past steps. 坐标系: agent-centric坐标系,最近的agent pose在原点,朝向东.
    • 在Waymo数据集中,包括位置、速度、3D框的大小、朝向角和目标类型.
    • Argoverse数据集,仅有位置信息.
    • Road network:路网例如车道线、人行道、停止线,表达为参数曲线。进一步通过对每个road element 近似点序列作为线性/多项式的a set of piecewise.
    • Agent interactions:对于每个agent,考虑其所有邻居agent. 对于每个邻居,考虑agent坐标系下的坐标系. 例如相对朝向、相对距离、历史和速度
    • AV-relative features: 提取自动驾驶车辆相对于其它agent的features,

3.2 Multi Context Gating for fusing modalities

MCG满足:

### Multipath++ 技术信息与实现 Multipath++ 是一种基于路径规划和导航的算法或框架,主要用于机器人技术、自动驾驶以及计算机视觉等领域。以下是对 Multipath++ 的技术信息、GitHub 项目、文档及其实现的详细说明。 #### GitHub 项目 Multipath++ 的相关代码通常托管在 GitHub 上,用户可以通过搜索关键词找到其官方或社区维护的仓库。例如,一个可能的 GitHub 仓库地址为: ```plaintext https://github.com/<username>/multipath-plus-plus ``` 此仓库中通常包含 Multipath++ 的源代码、示例项目以及详细的安装指南[^2]。 #### 官方文档 Multipath++ 的官方文档提供了关于该技术的核心概念、API 使用方法以及配置选项的详细说明。以下是文档中可能涵盖的内容: - **核心算法**:描述 Multipath++ 如何通过多路径规划提高系统的鲁棒性和效率。 - **输入输出格式**:定义了 Multipath++ 所需的数据结构和生成的结果格式。 - **依赖项**:列出了运行 Multipath++ 所需的软件库和工具,例如 ROS(Robot Operating System)、TensorFlow 或 PyTorch 等[^3]。 #### 实现细节 Multipath++ 的实现通常涉及以下几个关键步骤: 1. **路径生成**:使用多种算法(如 A*、Dijkstra 或 RRT)生成候选路径集合。 2. **路径评估**:通过代价函数对每条路径进行评分,选择最优路径。 3. **动态调整**:根据环境变化实时更新路径规划结果。 以下是 Multipath++ 的一个简化实现示例(以 Python 为例): ```python class MultipathPlusPlus: def __init__(self, environment_map): self.map = environment_map self.paths = [] def generate_paths(self): # 使用路径规划算法生成候选路径 self.paths = [path for path in self._generate_candidates()] def evaluate_paths(self): # 对每条路径进行评分 return sorted(self.paths, key=lambda path: self._cost_function(path)) def _generate_candidates(self): # 模拟路径生成逻辑 return ["Path_A", "Path_B", "Path_C"] def _cost_function(self, path): # 模拟代价函数 return len(path) # 示例用法 env_map = [[0, 1], [0, 0]] mppp = MultipathPlusPlus(env_map) mppp.generate_paths() optimal_path = mppp.evaluate_paths()[0] print(f"Optimal Path: {optimal_path}") ``` ####
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值