【论文精读】NMP: End-to-end Interpretable Neural Motion Planner

news2024/11/19 20:25:48

@toc

1 背景信息

团队:Uber,多伦大大学
年份:2019
论文链接:https://arxiv.org/abs/2101.06679

2 Motivation

深度学习方案受限于累积误差suffers from the compounding error,而且可解释性差interpretability is difficult to obtain for analyzing the mistakes of the network,而且难以理解复杂的先验知识sophisticated prior knowledge。
传统的模块化自动驾驶的问题是,子任务的优化导致了整体的次优lead to a sub-optimal overall system performance。比如3D检测,对每个障碍物的权重都是一样的,但是对于驾驶员来说,远处的障碍物并不重要,近处的障碍物才重要,影响自己的决策。

3 相关工作

3.1 模仿学习

该方法受限于累积误差,需要大量的数据,而且泛化能力差,比如偏离车道的情况drifting out of lane。
注意:为什么作者会说偏离车道的情况是模仿学习不能泛化的场景呢?我觉得是因为这样的场景太少了,而且没有相应的loss要求自车回到中心线附近。

3.2 强化学习

暂时缺少实际应用,而且没有可解释性的中间表示do not produce interpretable representations。

3.3 基于优化的规划器

传统的规划方法是高度参数化的highly parallizable,需要很多精力去优化。

3 解决方案

在这里插入图片描述

3.1 输入与输出

输入:Lidar和HD map
输出:时空space-time cost volume/cost map
规划器planner根据cost volume去采样轨迹,并选择最小代价的来执行。
cost volume能更好地建模不确定性uncentainty多模态naturally capture multi-modality。
注意:HDmap光栅化为了M个channel的tensor,每个channel代表了一个道路元素,如roads,intersections,lanes,lane boundaries等。我认为如果把他们混到不同的channel中,可视化会好看一点(因为RGB三通道才能构成不同的颜色),但是这样可能让conv性能下降。

3.2 backbone

采用了一篇3D检测的论文提出的架构Pixor模型
Bin Yang, Wenjie Luo, and Raquel Urtasun. Pixor: Real- time 3d object detection from point clouds.

3.3 perception head

采用了一篇论文提出的SSD模型,既根据锚点anchor做分类,也同时做轨迹预测。
Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, and Alexander C Berg. Ssd: Single shot multibox detector.

3.4 cost volume head

用了多个卷积和反卷积层。最后用一个fileter number是预测帧数T的卷积层。每个filter都会产生一个cost volume_t,对应的是在未来t时刻的cost volume。
注意:cost volume不是一个,而是每个预测时刻都有,这样通过下标即可访问。
问:真值是什么,否则怎么训练?
答:在3.3说了没有监督Note that we do not have supervision for cost volume。
问:那怎么保证效果?

3.5 采样

轨迹点不能直接用x/y,因为在过大的速度或转角下,车辆实际没法达到physical limits in speed, acceleration and steering angle,因此文中用螺旋曲线表示,针对路径,只有可调参数a,针对速度,可调加速度参数。
注意:考虑到车辆的运动学约束是很好的,后来的很多论文都没考虑到该因素,就用MLP生成轨迹点然后做MDE FDE等,那些论文之所以能这样做,是因为他们没有做最重要的一步——闭环仿真,在数据集上的开环测试再好也没有实际意义。
但是螺旋曲线很难表征直线和圆弧。所以文中也同时使用了直线和圆弧。
问:为什么选了无法表征所有轨迹的螺旋曲线?

3.6 损失函数设计

考虑perception和planning 的损失,但是没有考虑cost volume的损失。

3.6.1 perception loss

同时考虑分类损失和回归损失,分类损失用cross-entropy,回归损失用L1损失。

3.6.2 planning loss

这一步承接3.5采样,采样出了N条轨迹,考虑和真值的cost之差,距离之差,以及违法交通规则,作为损失。
然后选出损失最大的那一条,作为最终的loss,整个网络去优化这个损失。

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

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

相关文章

如何设计一个ToC的弹窗

本文主要分享了如何设计一个具有高可扩展性的弹窗功能。 本设计参考了优惠券功能的设计思路,有兴趣的朋友可以看看优惠券的分享:如何设计一个可扩展的优惠券功能_java优惠券系统设计-CSDN博客 一、需求介绍 假如你的项目需要实现以下弹窗,…

排序算法-合并排序法(MergeSort)

排序算法-合并排序法(MergeSort) 1、说明 合并排序法(MergeSort)是针对已排序好的两个或两个以上的数列(或数据文件),通过合并的方式将其组合成一个大的且已排好序的数列(或数据文…

debian9换源存在的问题

今天租借了云服务器搭建了debian9,给apt-get换源过程中出现了很多问题,主要有两个问题: 问题1: sudo apt-get update 0% [Working]问题2: W: The repository http://mirrors.aliyun.com/debian stretch Release doe…

软考网工选择题易错总结(2020下~2022下)

目录 2020下半年 2021上半年 2021年下半年 2022上半年 2022下半年 2020下半年 15、在卫星通信中,通常采用的差错控制机制为(15)。 A.停等 ARQ B.后退 N 帧 ARQ C.选择重发 ARQ D.最大限额 ARQ 答案&#xff1…

Golang基础学习笔记

Golang基础学习笔记 1、下载安装 1.1、下载 Golang下载地址:https://golang.google.cn/dl/ 1.2、安装 1.3、环境变量 # GOPATH D:\GolandProjects# GOPROXY https://mirrors.aliyun.com/goproxy# 启用Go模块支持 go env -w GO111MODULEon1.5、验证安装/配置 1.…

Premiere pro

操作 1.音乐淡入淡出 窗口 效果 音频过度 交叉淡化 指数淡化 拖动到首尾音频上2.手机视频序列设置 3.视频转场淡入淡出 选中视频 在视频连接处 交叉溶解

家居行业如何打破获客困局?2023重庆建博会现场,智哪儿AI营销第一课给出了答案

10月12日-14日,2023中国(重庆)建筑及装饰材料博览会(简称:2023中国重庆建博会)正在重庆国际博览中心如火如荼地进行。「智哪儿」携手2023中国重庆建博会主办方共同主办的《2023家居行业AI营销第一课&#x…

【quartus13.1/Verilog】swjtu西南交大:计组课程设计

实验目的: 通过学习简单的指令系统及其各指令的操作流程,用 Verilog HDL 语言实 现简单的处理器模块,并通过调用存储器模块,将处理器模块和存储器模块连接形成简 化的计算机核心部件组成的系统。 二. 实验内容 1. 底层用 Verilog…

推荐《金田一少年事件簿》

天树征丸原作,佐藤文也作画的漫画 金田一少年事件簿 播报编辑讨论7上传视频 《金田一少年事件簿》是一部日本推理漫画。早期原作为金成阳三郎(后担任剧本),原作为天树征丸(前原案),由漫画家佐…

【Python小项目之Tkinter应用】【实用工具】实现手写签名器,可选线条粗细,支持清空、撤销、恢复功能,可将写好的签名保存成图片

文章目录 前言一、实现思路二、关键代码三、完整代码总结同系列项目文章:前言 老规矩,先看效果: 在手写签名窗口中,用户可以选择线条粗细来签名,点击清空按钮可以清空画布,点击撤销按钮可以撤销一笔,点击恢复按钮可以撤销上一步进行的清空或撤销操作,点击保存按钮可以…

java案例RSA分段加密解密,签名验签,公钥加密私钥解密,私钥加密公钥解密,解密乱码怎么解决

一. 原理 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只…

Docker基础操作命令演示

Docker中的常见命令,可以参考官方文档:https://docs.docker.com/engine/reference/commandline/cli/ 1、常见命令介绍 其中,比较常见的命令有: 命令说明文档地址docker pull拉取镜像docker pulldocker push推送镜像到DockerReg…

Googleplay近期大量开发者二次验证问题与解决思路

近期谷歌play更新风控,开发者需要进行二次验证。9月份后大部分的开发者账号不论新老大部分都触发了二次验证风控,笔者目前整理了两个方向的解决方案。 老账号目前解决方案可以通过上传护照、身份证明、驾驶证或者租赁合同、水电费账单、信用卡账单、电话…

了解华为交换机路由器的基本命令

什么是CLI:使用户与设备交互的界面,用户输入对应的命令,设备会回复我们输入的内容,回车车后设备会执行对应命令,达到管理、配置、查看的目的。 CLI界面分为三种操作视图: 用户试图:设备登陆后…

基于阿基米德优化优化的BP神经网络(分类应用) - 附代码

基于阿基米德优化优化的BP神经网络(分类应用) - 附代码 文章目录 基于阿基米德优化优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.阿基米德优化优化BP神经网络3.1 BP神经网络参数设置3.2 阿基米德优化算…

Java代码获取当天最晚时间写入数据库自动变为下一天的00:00:00

背景 有个需求要求将用户上传的年/月/日格式时间转为当天最晚时间23:59:59,例如上传2023/10/15,转换为2023/10/15 23:59:59,并将其存入数据库,数据库字段类型为datetime。 部分代码如下: public static Date getEndO…

游戏设计模式专栏(九):用装饰模式定制化游戏元素

点击上方亿元程序员关注和★星标 引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 装饰模式是一种结构性设…

Qt6开发的网络通信工具(支持TCP和UDP)

1. 页面展示 1.2 通信展示 1.2.1 UDP 通信显示 注意:前面的R表示时接收消息,S表示的是发送消息。 1.2.2 TCP通信显示 注:勾选服务器后,出现客户端连接列表,可以群发消息和私发消息。 3. 程序下载 应用程序免费下载&a…

(2022|CVPR,无语言模型,StyleGAN2,CLIP,图文特征对齐)LAFITE:迈向文本到图像生成的无语言训练

LAFITE: Towards Language-Free Training for Text-to-Image Generation 公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2. 相关工作 3. LAFITE:一种无…

JDBC技术(java数据库连接技术)

引入:USB技术介绍 USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范与外部设备的连接和通讯 USB是一个技术统称,有三部分组成 第一部分:USB的规范和…