【论文精读】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,整个网络去优化这个损失。

相关推荐
网安-搬运工2 小时前
RAG再总结之如何使大模型更好使用外部数据:四个不同层级及查询-文档对齐策略
人工智能·自然语言处理·大模型·llm·大语言模型·ai大模型·rag
大模型八哥2 小时前
大模型扫盲系列——大模型实用技术介绍(上)
人工智能·程序人生·ai·大模型·llm·llama·ai大模型
学步_技术14 小时前
自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器
人工智能·机器学习·自动驾驶·线控系统·制动系统
Neituijunsir15 小时前
2024.09.22 校招 实习 内推 面经
大数据·人工智能·算法·面试·自动驾驶·汽车·求职招聘
百里香酚兰16 小时前
【AI学习笔记】基于Unity+DeepSeek开发的一些BUG记录&解决方案
人工智能·学习·unity·大模型·deepseek
一眼万里*e16 小时前
fish-speech语音大模型本地部署
python·flask·大模型
winds~1 天前
自动驾驶-轨迹拼接
人工智能·机器学习·自动驾驶
三桥君1 天前
Prompt:在AI时代,提问比答案更有价值
人工智能·ai·大模型·prompt·产品经理·三桥君
m0_515790412 天前
【mmengine】配置器(config)(入门)读取与使用
自动驾驶