轨迹预测经典论文之六:Rules of the Road: Predicting Driving Behavior with a Convolutional Model of Semantic Int

该论文探讨了2019年的轨迹预测方法,强调了从BEV图到vector编码的转变,以及如何利用深度卷积网络处理车辆和环境输入。文章介绍了网络设计,包括使用RNN解码器或全连接网络预测occupancygridmaps,并提出了两种输出表达:高斯分布和heatmap,以实现多模态预测。为解决模式坍塌问题,文中提到了CVAE和GMM-CVAE。此外,还讨论了从heatmap中采样多样轨迹的技术。
摘要由CSDN通过智能技术生成

前言

论文地址:Rules of the Road

分享的论文年代实在是越来越久远了,这篇文章是2019年初的论文了,是4年前的论文。回顾这样的论文,也就是大致看看思路,回顾下当时论文的关注点。当时的算力低,也没有成熟的专门用于做预测的大的数据集,方法还是百花齐放的,随着后面的发展,生成式的网络在轨迹预测问题上见到的越来越少了,还有回归不确定性,在argoverse出来之后,论文也不会专门去刷这一项指标了,这点在上一篇mutipath最后也有所提及,bev编码的方式也逐渐被vector编码的方式替代,再读这些文章,还是能感受得到,时代在进步,技术在不断向前迭代,没有尽头。
闲话少说,本篇文章,主要的创新点在于3个方面,对车辆和周围环境的输入表达的设计,网络的设计,神经网络预测未来的多模输出的设计。

输入的表达

在这里插入图片描述
最先把渲染的bev图引入轨迹预测的,应该是这篇文章Multimodal Trajectory Predictions for Autonomous
Driving using Deep Convolutional Networks
,本篇文章的表达设计如上图所示。一共有20个通道。分为目标障碍物的状态(7通道),其他障碍物的状态(7通道),环境动态信息(3通道),路网信息(3通道)。状态信息包括2D空间的位置,速度,加速度,因为上游的感知模块,也输出不确定性,也就是协方差,因此还有一项||Σti{x,v,a}||F,所有的特征都归一化到-1到1。按理来说,xy位置已经在bev图上有位置表示,剩下的速度,加速度各2个通道…感觉这里没有说清楚为什么是7个通道,不过这一点也不是特别关键。动态环境信息,主要编码方向,类型,交通灯(路网连接关系)等信息,如上图右2表示,包括一个带方向的bounding boxes,并且根据不同的类型有不同的颜色表示。编码过程保持自车在图的中心。文章还提到,这种方式可以很容易做数据增强,这在过去数据集小的时候,还是很有意义的。比如额外信息上,车辆的转向灯,刹车灯,行人的位姿,甚至声音信号,都能通过RGB图像表征集成进去。如此,我们就编码了一个WH20的tensor,代表当前时刻的状态,把过去所有时刻的状态concate 起来,就得到了我们输入的特征。

网络

在这里插入图片描述
网络部分,上图展示了两种框架,都是输出 occupancy grid maps的框架。输出grid map时,可以一次性就输出未来几帧的,也可以一次性输出所有的,这取决于你是选择RNN decoder。想要直接预测不确定性的轨迹点时,直接把最后的反卷积替换为全连接网络即可。

输出表达

文章认为,好的输出,应该是带有概率分布的,多模态的输出,并且因为效率原因,最好时 one-shot式的。文章提出的第一种表达形式每个点用高斯分布表达。第二种形式,则是heatmap的表达形式。

Parametric regression output with uncertainty

在这里插入图片描述
认为每个点都是一个二维的高斯分布,这里面一共有5个变量,这种表达方式比单纯的轨迹回归好。输出的loss如下, 也是最大似然估计(上午刚看过multipath的过来看这个应该非常顺眼了)。这样就能简单的回归出未来点的均值和方差了。
在这里插入图片描述
在这里插入图片描述

上面的只是单模的输出,还可以扩展,一次性输出多模,那就需要网络输出k组方差和均值,其概率密度函数如上图所示,但是,直接这样扩展,可能带来模式坍塌(mode collapse)的问题。关于模式坍塌,这里贴一个Multipath 论文里面的图表示,就不过多解释了:
在这里插入图片描述
所以文章最后引入了一个隐变量z,来解决模式坍塌问题。这个z被设置为k,可以取值0~k-1。实际操作时,相当于原来的特征都concat上一个变量z,让最终输出的k的输如入互相区别,都是不一样的。文章说用到了CVAE的方式进行训练,那x就相当于条件变量,这种方法被文章称作GMM-CVAE。

Non-parametric output distributions

在这里插入图片描述
非参数化的输出,就是输出一个heatmap形式的网格。文章认为这种输出方式,提供了另一种能让planning系统使用的途径,例如能够迅速的计算碰撞。在训练时,把这个看作分类问题,loss 是未来所有点的交叉熵之和,也没什么可以多说的地方, 之后的HOME文章对此必然也有借鉴。

文章后面还有Diverse Trajectory Sampling,将的是如何从一个输出好的heatmap图上找到一个比较好的轨迹簇,这里的好,是用
文章里自定义的s( )函数定义的。实验也不再赘述了。老文章比对都不在统一的数据集上。anyway, 主要是整体上对技术有一些感知和把握, 毕竟老文章了,个人认为不用深入看下去,有些细节我个人也没看明白,哈哈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值