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

@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.rhkb.cn/news/159390.html

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

相关文章

【Java 进阶篇】JavaScript DOM 编程:理解文档对象模型

在 web 开发中,DOM(文档对象模型)是一个重要的概念。DOM 是一种将网页文档表示为树状结构的方式,允许开发者使用 JavaScript 来访问和操作网页的内容。本篇博客将详细介绍 DOM,包括什么是 DOM、如何访问 DOM 元素、如何…

Raven2靶机渗透

文章目录 主机扫描web渗透 主机扫描 先ip a查看一下kali虚拟机本机ip,然后用nmap -sn扫描同网段的ip: nmap -sn 192.168.101.0/24如图,扫描到靶机IP为192.168.101.129: 扫描到靶机IP后探测开放的服务: nmap -A 19…

SpringBoot面试题1:什么是SpringBoot?为什么要用SpringBoot?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是SpringBoot? Spring Boot 是一个用于快速开发独立的、基于 Spring 框架的应用程序的开源框架。它简化了 Spring 应用的配置和部署过程,使…

超低延时 TCP/UDP IP核

实现以太网协议集当中的ARP、ICMP、UDP以及TCP协议 一、概述 TCP_IP核是公司自主开发的使用FPGA逻辑搭建的用于10G以太网通信IP。该IP能够实现以太网协议集当中的ARP、ICMP、UDP以及TCP协议。支持连接10G/25G以太网PHY,组成高速网络通信系统。该IP上传、下传数据B…

fastjson 1.2.47 远程命令执行漏洞

fastjson 1.2.47 远程命令执行漏洞 文章目录 fastjson 1.2.47 远程命令执行漏洞1 在线漏洞解读:2 环境搭建3 影响版本:4 漏洞复现4.1 访问页面4.2 bp抓包,修改参数 5 使用插件检测漏洞【FastjsonScan】5.1使用説明5.2 使用方法5.2.1 右键菜单中&#xff…

算法通关村第一关-链表青铜挑战笔记

欢迎来到 : 第一关青铜关 java如何创建链表链表怎么增删改查 我们先了解链表 单链表的概念 我们从简单的创建和增删改查开始. 链表的概念 线性表分为顺序表(数组组成)和链表(节点组成) . 链表又分: 单向 双向有哨兵节点 无哨兵节点循环 不循环 链表是一种物理存储单…

一文了解 Go fmt 标准库的常用占位符及其简单使用

今天分享的内容是 Go fmt 标准库的常用占位符及其简单使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出 占位符 通过占位符&a…

【LeetCode热题100】--121.买卖股票的最佳时机

121.买卖股票的最佳时机 class Solution {public int maxProfit(int[] prices) {int minprice Integer.MAX_VALUE;int maxprofit 0;for(int i 0;i<prices.length;i){if(prices[i] < minprice){minprice prices[i]; //找到最小值}else if(prices[i] - minprice > ma…

Unity 3D基础——缓动效果

1.在场景中新建两个 Cube 立方体&#xff0c;在 Scene 视图中将两个 Cude的位置错开。 2.新建 C# 脚本 MoveToTarget.cs&#xff08;写完记得保存&#xff09; using System.Collections; using System.Collections.Generic; using UnityEngine;public class MoveToTarget : M…

[补题记录] Atcoder Beginner Contest 294(E)

URL&#xff1a;https://atcoder.jp/contests/abc294 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 我们将其当作一个铺路的过程。 给总长度 L&#xff0c;计划 1 有 N 步&#xff0c;计划 2 有 M 步&#xff0c;每一步给出&#xff08;v&#xff0c;l&a…

stm32备份

存储器的分类&#xff1a; 存储器首先根据断电后存储的数据是否会丢失&#xff0c;可以分为易失存储器和非易失存储器&#xff0c;易失存储器主要应用于内存&#xff0c;非易失存储器主要用于外存。 易失存储器以RAM随机存储器为代表&#xff0c;随机的含义是存储器中的数据读取…

ARM 10.12

设置按键中断&#xff0c;按键1按下&#xff0c;LED亮&#xff0c;再按一次&#xff0c;灭 按键2按下&#xff0c;蜂鸣器响。再按一次&#xff0c;不响 按键3按下&#xff0c;风扇转&#xff0c;再按一次&#xff0c;风扇停 src/key.c #include"key.h"//按键3的配…

283 移动零

解题思路&#xff1a; \qquad 适用双指针&#xff0c;l&#xff1a;最左边‘0’元素坐标&#xff1b;r&#xff1a;l右边第一个非零元素坐标。 \qquad 最初的思路&#xff1a;将l和r初始化为0&#xff0c;遍历数组nums若任意一个指针到达数组末尾时停止。若当前nums[l] 0则移…

系统文件IO、文件描述符fd、重定向、文件系统、动态库和静态库

目录 C文件接口系统文件I/O系统调用和库函数文件描述符0 & 1 & 2FILE和fd的关系文件描述符的分配规则 重定向重定向的本质输出重定向输入重定向追加重定向 dup2函数 FILE理解文件系统了解磁盘的物理结构逻辑抽象文件系统文件系统的图解和解析通过文件系统来理解ls -al通…

1、验证1101序列(Moore)

题目要求&#xff1a; 用Moore型状态机验证1101序列。 题目描述&#xff1a; 用使用状态机验证1101序列&#xff0c;注意&#xff1a;允许重复子序列。如图 端口描述&#xff1a; module moore_1101(input clk,//时钟信号input clr,//reset复位信号&#xff0c;高电平有效in…

微信小程序备案流程操作详解

1、2023年9月1号小程序开始必须备案了,各位小程序商城只需要按流程自主去微信小程序后台操作即可; 2、对未上架的微信小程序,从2023年9月1号开始需先备案才能上架; 3、对存量已上架的小程序,需在2024年3月31号前完成备案即可。逾期未完成备案,平台将按照备案相关规定于…

hadoop组成

在hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源调度,耦合性较大; 在hadoop2.x时代,新增了yarn,主要负责资源的调度,MapReduce仅负责运算; 在hadoop3.x时代,在组成上没有变化;

ARM汇编学习录 2 - 编码分析

本文记录笔者学习对应汇编指令相关编码知识 ARM32 首先阅读基础概念&#xff1a; ARM-instruction-set-encoding A32指令全部是32位且是4字节地址对齐. 位域如下 如何理解4字节地址对齐和指令长度&#xff1f; 0000139c <_start_main>:139c: e92d4800 …

【Docker】Harbor私有仓库与管理

搭建本地私有仓库 #首先下载 registry 镜像 docker pull registry#在 daemon.json 文件中添加私有镜像仓库地址 vim /etc/docker/daemon.json {"insecure-registries": ["192.168.220.101:5000"], #添加&#xff0c;注意用逗号结尾"registry-mi…

网络基础2(1)

HTTP 1.应用层协议2.send和recv单独使用不安全3.URL4.urlencode和urldecode5.HTTP协议格式6.HTTP中的常见请求方法POST&&GET7.HTTP的状态码8.HTTP常见Header &#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f6…