【论文学习笔记】VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation

VectorNet:编码高清地图和代理动态从矢量化表示

文章来源:

2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)


作者:

Jiyang Gao, Chen Sun


原文链接:

VectorNet: Encoding HD Maps and Agent Dynamics From Vectorized Representation​ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9157331​编辑


参考来源:

VectorNet: 通过矢量化表示编码高精度地图与动态交通参与者​www.auto-testing.net/news/show-108356.html​编辑

摘要:由于动态交通参与者(如行人和车辆等)和静态道路环境(如车道,交通灯等)的复杂表示以及之间的交互关系,在动态的,多交通参与者的场景下的行为预测是自动驾驶领域的一个重要问题。这篇文章提出了一个分层的图神经网络VectorNet,首先分别用向量表示不同局部空间的道路组成成员(包括动态交通参与者和静态道路环境),然后对所有的成员之间的高阶交互关系进行建模。与将动态交通参与者的运动轨迹和道路环境信息直接渲染在鸟瞰图像上并通过卷积神经网络对其进行编码的方法不同,我们的方法直接在矢量化的高精度地图上操作,避免了渲染损失以及计算密集的卷积神经网络编码步骤。为了进一步激发VectorNet学习特征的能力,我们提出一个通过其他道路组成成员特征还原随机掩盖的成员特征的新的辅助任务。我们在最近开源的Argoverse预测数据集和我们内部的行为预测数据集上评估了VectorNet的性能。在两个数据集上,我们的方法都达到了与采用渲染鸟瞰图像实现预测的方法相当甚至更好的性能,同时减少了超过70%的模型参数以及一个数量级的运算量。VectorNet在Argoverse数据集上的预测性能优于目前的最好水平。


1 前言


这篇文章聚焦于复杂的,多交通参与者的场景下的行为预测。研究的核心在于找到整合通过感知系统获得的动态交通参与者和以高精度地图的形式给出的场景信息的统一表示。我们的目标是搭建一个系统学习去预测车辆的意图,并以运动轨迹的形式表示。


传统的行为预测方法是规则的,基于道路结构的约束生成多个行为假设。最近,很多基于学习的预测方法被提出[5,6,10,15]。他们提出了对于不同行为假设的进行概率解释的好处,但是需要重构一个新的表示来编码地图和轨迹信息。有趣的是,虽然高精度地图是高度结构化的,但是目前大多数预测方法选择将高精度地图渲染成颜色编码的属性(如图1的左图所示),并且采用感受野有限的卷积神经网络对场景信息进行编码。这就带来了一个疑问:我们能否直接从结构化的高精度地图中学习到有意义的场景信息表示?


我们提出直接从它们的矢量形式中学习一个动态交通参与者和结构化场景的统一的表示(如图1的右图所示)。道路特征的地理延伸可以是一个点,多边形或是曲线。例如,车道边界包含可以构成样条曲线的多个控制点;人行横道是由几个点定义的多边形;停止标识通过一个点来表示。所有的地理实体都可以被近似为多个控制点定义的折线。同时,动态交通参与者也可以通过他们的运动轨迹被近似为折线。所有的这些折线都可以表示为矢量的集合。


图1.栅格化渲染方法(左)和矢量化方法(右)表示高精度地图与交通参与者运动轨迹


我们使用图神经网络来合并这些向量的集合。我们将每个向量视为图中的一个节点,并且定义节点的特征包含每个向量的起始位置和结束位置,以及其它属性,包括折线ID和语义标签。通过图神经网络,高精度地图的环境信息和其他交通参与者的运动轨迹被整合到目标交通参与者节点上。然后我们可以解码目标交通参与者输出的节点特征来预测它未来的运动轨迹。


特别地,为了学习图神经网络的竞争性表示,我们发现基于节点的空间和语义邻近性来约束图的连通性是很重要的。因此,我们提出了一个分层的图网络结构,首先把具有相同折线ID,并且具有相同语义标签的向量整合成折线特征,然后所有不同的折线特征互相连通交换信息。我们通过多层感知器实现局部图,通过自注意力机制[30]实现全局图。我们的方法如图2所示。

图2.我们提出的VectorNet框架。观察到的交通参与者运动轨迹和地图特征被表示为矢量序列,然后传入局部图网络中获得折线级的特征。这些特征然后被传入一个全连接图网络中来建模高阶的交互。我们计算两类损失:从目标交通参与者对应的节点特征中预测其未来轨迹,以及预测图网络中被掩盖的节点特征。


最后,受到来自连续语音[11]和视觉数据[27]中采用自监督学习方法的有效性的启发,在行为预测目标之外我们提出一个辅助的图像补全目标。具体来说就是,我们随机掩盖属于静态场景或是动态轨迹的节点特征,然后让模型重构被掩盖的特征。我们直觉上认为这样可以鼓励图网络结构更好地捕捉动态交通参与者和静态环境之间的交互。总而言之,我们的贡献主要是:


(1)、我们是最先证明如何直接整合矢量化的场景信息和动态交通参与者信息来实现行为预测。


(2)、我们提出了双层图网络结构VectorNet和节点补全辅助任务。


(3)、我们在我们内部的行为预测数据集和Argoverse数据集上评估了提出的方法,结果表明我们的方法在减少了超过70%的模型参数以及一个数量级的运算量的情况下达到了与采用渲染鸟瞰图实现预测的方法相当甚至更好的性能。同时,我们的方法在Argoverse数据集上达到了目前最优的水平。


2 相关工作


自动驾驶中的行为预测。在自动驾驶领域中,对动态的交通参与者的行为预测变得越来越重要[7,9,19],并且高精度地图也被广泛应用来提供环境信息。例如,IntentNet[5]通过LiDAR点云和渲染的高精度地图进行车辆检测并预测它们的运动轨迹。[15]假设已经得到车辆的检测结果并聚焦于通过卷积神经网络编码交互关系来实现行为预测。MultiPath[6]也采用卷积神经网络作为编码器并通过预先定义的候选轨迹来回归多个可能的未来轨迹。PRECOG[23]尝试通过基于流的生成模型捕捉未来的随机性。与[6,15,23]相似,我们也假设已经通过感知模块得到了检测结果。但是,不像那些采用卷积神经网络来编码渲染的道路地图的方法,我们提出直接编码矢量化的场景信息和动态交通参与者。


预测多个交通参与者之间的交互。在自动驾驶领域之外,更普遍的兴趣是预测交互对象之间的意图。例如对行人[2,13,24],人类活动[28]或是对体育运动员[12,26,32,33]。Social LSTM[2]采用单独的LSTM网络建模不同交通参与者的运动轨迹,并且聚合空间邻近的交通参与者的LSTM隐藏层来建模他们之间的交互关系。Social GAN[13]简化了交互建模并且提出采用生成对抗网络来预测多条可能的未来轨迹。[26]结合图神经网络[4]和变分循环神经网络[8]来建模交互关系。社会交互关系也可以从数据中推理出来,[18]将这些交互关系视为潜在变量。图注意网络[16,31]应用自注意力机制来给预定义的图中的边赋予权重。我们更进一步地提出了一个统一的分层的图网络结构来同时建模多个交通参与者之间的交互关系,以及他们和道路环境之间的交互关系。


自监督场景建模。最近,在自然语言处理领域的很多工作提出了自监督建模方法[11,22]。当学习成果被转移到下游任务时,取得了显著的效果提升。受到这些方法的启发,我们提出了一个图表示的辅助损失,它通过其他节点的特征来预测缺失的节点特征。其目标是激励模型更好地捕捉节点之间的交互。

3 VectorNet方法


这个部分介绍了我们提出的VectorNet方法。我们首先介绍如何矢量化动态交通参与者的轨迹和高精度地图。接下来我们提出了层级网络,它先分别聚合来自不同折线的局部特征,然后在全局上整合所有轨迹和地图特征。这个图最后将用于行为预测。


3.1.表示轨迹和地图


大多数高精度地图的标注是以样条曲线(如车道线)、封闭形状(如交叉路口)和点(如红绿灯)的形式呈现,并且附带属性信息,如语义标签和当前状态(如交通灯的颜色,道路的速度限制)。对于动态交通参与者,他们的轨迹是关于时间的有向样条曲线的形式。所有这些元素元素都可以近似为矢量序列:对于地图特征,我们选择一个起点和方向,均匀地以相同的空间距离在样条曲线上采样关键点,然后把相邻的关键点串联成向量;对于轨迹,我们可以通过固定的时间间隔(0.1秒)采样关键点,并将它们连接成向量。如果给定的时空间隔足够小,得到的这些折线就与原始地图和轨迹十分接近。


我们向量化的过程是一个在连续轨迹,地图标注和矢量集合之间的一对一的映射,虽然后者是无序的。这使我们可以在矢量集合上构建一个可以被图神经网络编码的图表示结构。更具体地说,我们将属于折线Pj的每一个向量vi看出图中的一个节点,节点特征如下:


其中dis和die是向量的起点和终点坐标,其可以表示为2D坐标(x,y)或是3D坐标(x,y,z);ai对应属性特征,比如动态交通参与者的类型,轨迹的时间戳,或是道路特征的类型,或是车道线的速度限制。j是Pj的ID,表示vi属于Pj。

为了使输入的节点特征与对应的交通参与者的位置无关,我们将所有矢量的坐标原点确定在对应的交通参与者最后被观察到的位置。一个将来的工作是为所有交互的交通参与者设定一个坐标原点,这样他们的轨迹可以被平行地预测出来。

3.2.构建折线子图


为了利用节点的局部空间和语义信息,我们采用了层级的方法,首先在向量层级上构建子图,其中属于同一折线的所有向量节点互相连接。假设一个折线P包含节点{v1,v2,…,vp},我们定义一层子图的前向操作如下:

其中vi(l)是子图网络第l层的节点特征。函数genc(.)编码独立的节点特征,ψagg(.)聚合所有相邻节点的特征,ψrel(.)是节点vi与其相邻节点之间的关系运算。


实际上,genc(.)是一个在所有节点中共享权重的多层感知器(MLP)。具体来说,多层感知器包含一个的全连接层,然后是层归一化[3],最后是ReLU激活函数。ψagg(.)是一个最大池化操作,ψrel(.)是一个简单的拼接。如图3所示。我们堆叠多层子图网络,其中每层genc(.)的权重是不一样的。最后,为了获取折线的特征,我们计算:



其中ψagg(.)仍是最大池化。

图3.属于同一折线的向量节点的计算流


我们的子图可以被认为是PointNet[22]的一般化:当我们令ds=de,并且使a为空,我们的网络和PointNet就有相同的输入和计算流程。但是,通过将排序信息嵌入到向量中,基于不同的折线ID可以限制子图的连通性,同时将属性编码到节点特征中,我们的方法尤其适合编码结构化的地图标注和交通参与者的运动轨迹。


3.3.用于高阶交互的全局图


我们现在考虑通过一个全局交互图来建模折线节点特征{p1,p2,….,pp}上的高阶交互:

其中,{pi(l)}是折线节点特征的集合,GNN(.)为一层图神经网络,A为折线节点集合的邻接矩阵。


领接矩阵A可以是启发式的,例如使用节点之间的空间距离[2]。为简单起见,我们假设A是一个全连接图。我们的图网络通过自注意力机制实现[30]:

其中P是节点的特征矩阵,PQ,PK和PV是它的线性映射。


然后我们从动态交通参与者对应的节点解码预测的未来轨迹:

其中Lt是图神经网络的层数,ψtraj(.)是轨迹解码器。为了简单起见,我们使用一个多层感知器作为轨迹解码器。更多高级的解码器,比如MultiPath[6]提出的基于候选轨迹的方法,或是变分循环神经网络[8,26]都可以用来生成多样化的轨迹。


我们在实现中使用一层图神经网络,这样在测试期间,只需要计算目标交通参与者所对应的节点特征。但是如果需要,我们也可以堆叠多层图神经网络来建模高阶交互。


为了鼓励我们的全局交互图更好地捕捉不同轨迹和地图之间的交互,我们提出了一个辅助的图像补全任务。在训练过程中,我们随机掩盖一些节点的特征,然后尝试去还原被掩盖的节点特征:

其中ψnode(.)是通过多层感知器实现的节点特征解码器。这些节点特征解码器在测试阶段是不会使用的。


回顾一下,pi是一个完全连接的,无序的图中的一个节点。为了能够识别出对应的节点当它对应的节点特征被掩盖时,我们计算出所有属于对应节点pi的向量中的起始点坐标的最小值。然后定义输入节点的特征为:

我们的图像补全任务和自然语言处理中获得巨大成功的BERT[11]方法息息相关,它从文本数据的上下文线索中预测缺失的文本输入。我们将这个训练目标推广到处理无向图中。不像最近一些方法(如[25]),将泛化为预训练的特征图的无序图像补丁,我们的节点特征是在端到端的框架中同时优化的。


3.4.整体框架


建立层级图神经网络后,我们对多任务训练目标进行优化:


其中Ltraj是对未来真值轨迹的负高斯对数似然,Lnode是预测的节点特征和被掩盖的真值节点特征之间的Huber损失,a=1.0是一个标量用来平衡两个损失项。

我们预测的轨迹为每个时间步的坐标偏移,并从最后一个观测位置开始。同时,我们基于预测目标车辆最后一个观察时刻的朝向旋转坐标系。


4 实验


在这部分,我们首先描述实验设置,包括数据集,指标和基于栅格化+卷积网络的基准。其次,对分别全面地对栅格化基准方法和VectorNet做消融研究。然后,我们比较和讨论了计算代价,包括计算量和参数量。最后,我们与最先进的方法的性能进行比较。


4.1.实验设置


4.1.1.数据集


我们在两个车辆行为预测的数据集上进行实验,分别是Argoverse数据集[7]和我们内部的行为预测数据集。


Argoverse行为预测[7]是一个用于在提供历史轨迹的情况下进行车辆行为预测的数据集。其中有33.3万个5秒时长的轨迹序列被分成21.1万个训练样本,4.1万个验证样本和8万个测试样本。这个数据集被创造是为了挖掘有趣的和多样化的场景,比如并道,穿过路口等。轨迹的采样频率为10Hz,前2秒用于观测,后3秒用于轨迹预测。每个序列中都包含一个“interesting”交通参与者作为被预测主体。除了车辆轨迹,每个序列还与地图信息相关联。数据集中测试集的未来轨迹被隐藏了。所以除非另外说明,我们的消融实验报告的是验证集上的性能。


内部数据集是一个大规模的用于行为预测的数据集。它包含高精度地图数据,感知体系统获取的检测框和跟踪信息,以及手工标注的车辆轨迹。车辆轨迹的总数包括220万个训练样本进而55万个测试样本。每个轨迹的长度为4秒,其中前1秒作为观测的历史轨迹,后3秒作为预测的未来轨迹。轨迹是从车辆在真实世界中的行为采样得到的,包括静止,直行,转弯,变道和倒车等等,并且大致保留了驾驶场景的自然分布。在高精度地图中,我们包括了车道边界,停止标志,人行横道和减速带。


对于这两个数据集,输入的历史轨迹都是由感知系统导出的,因此是有噪声的。Argoverse的未来轨迹也是机器生成的,而内部数据集是手工标注的未来轨迹。


4.1.2.评价指标


对于评价指标,我们采用被广泛使用的计算整个轨迹的平均位移误差和t时刻的位移误差,其中t分别为1秒,2秒,3秒。位移用米来作为度量。


4.1.3.栅格图基准


我们渲染N张连续帧的历史图像,其中对于内部数据集N为10,对于Argoverse数据集N为20。每张图片尺寸为400×400×3,其中包括地图信息和目标检测的矩形框。400像素分别对应内部数据集中的100米和Argoverse数据集中的130米。基于自动驾驶车辆在最后观察帧中的位置进行渲染。自动驾驶汽车在内部数据集中被放置的坐标位置为(200,320),在Argoverse数据集中为(200,200)。所有N帧图片被堆叠在一起构成400×400×3N的图像作为模型输入。


我们的基准使用卷积网络来编码栅格图片,其结构与IntentNet[5]大体一致。我们使用ResNet-18[14]作为卷积网络的主干网。与IntentNet不同的是,我们不使用LiDAR输入。


为了获得以车辆为中心的特征,我们从卷积特征图中裁剪目标车辆周围的特征部分,并且将裁剪后的特征图的所有空间位置进行平均池化,得到一个车辆特征向量。根据经验观察到,使用更深层的ResNet模型或者根据车辆的朝向旋转特征并不能得到更好的效果。车辆的特征向量然后被传入全连接层来预测未来的轨迹坐标。模型用过8块GPU同步训练优化。我们使用Adam[17]作为优化器并且以0.3系数衰减每隔5次训练周期衰减学习率。我们训练了25个周期的模型并且设置初始学习率为0.001。


为了测试卷积感受野和特征裁剪策略对性能的影响,我们对网络感受野,特征裁剪策略和输入图像分辨率进行消融研究。


4.2.卷积网络基准的消融研究


我们分别对卷积网络的感受野,特征裁剪策略和栅格图的分辨率的影响进行消融研究。


感受野的影响。由于行为预测经常需要捕捉大范围的道路信息,所以卷积的感受野可能会对预测质量有很大的影响。我们分别评估不同的变体来观察感受野的两个关键因素(卷积核的大小和特征裁剪策略)是如何影响预测性能的。结果如表1所示。通过比较在400*400分辨率下的大小为3,5和7的卷积核尺寸,我们可以发现更大的卷积核尺寸会轻微地改善性能。但是,它也会大量增加计算成本。我们也比较了不同的裁剪方法,通过增加裁剪尺寸或是沿着车辆轨迹裁剪。从表1的第3行到第6行我们可以看出,较大的裁剪尺寸可以显著地提高性能,同时沿着轨迹裁剪也能得到更好的性能。这一观察结果证实了当把栅格化图像作为输入时,感受野的重要性。同时,也体现了它的局限性,一个精心设计的裁剪策略通常伴随着计算成本的增加。


栅格图分辨率的影响。我们进一步修改栅格图的分辨率来分析它如何影响预测性能和计算成本,如表1的前三行所示。我们测试三个不同的分辨率,包括400×400(每个像素0.25米),200×200(每个像素0.5米)和100×100(每个像素1米)。可以看出随着分辨率的提高,性能也普遍得到了提高。但是,对于Argoverse数据集我们可以看出将分辨率从200×200增加到400×400会导致性能的略微下降,这可以解释为对于固定的3×3卷积核尺寸,有效感受野的减小造成的。我们在4.4部分讨论了这些设计选择对计算成本的影响。


表1.感受野(受到卷积核的尺寸和裁剪策略控制)和渲染分辨率对卷积网络基准的影响。我们分别在内部数据集和Argoverse数据集上汇报了位置偏移误差(DE)和平均位置偏移误差(ADE)。


4.3.VectorNet消融研究


输入节点类型的影响。我们研究对于VectorNet,合并地图特征和动态交通参与者的运动轨迹是否有意义。表2中的前三行对应只使用目标车辆的历史轨迹,只添加地图特征以及同时添加轨迹特征。我们可以清楚地看到增加地图特征明显地改善了轨迹预测性能。


节点补全损失的影响。表2的后四行比较了添加辅助的节点补全任务的影响。我们可以看出添加这一任务有助于改善性能,尤其在长期预测。


图结构的影响。在表3中我们研究了图的深度和广度对轨迹预测性能的影响。我们观察到,对于折线子图,三层具有最好的性能,而对于全局图,只需要一层。让多层感知器变宽并不会带来更好的性能,反而会对Argoverse数据集造成不好的影响,可能是因为其训练集更小。图4显示了显示了一些预测的轨迹的可视化示例。


与卷积网络比较。最后,我们在表4中比较我们的VectorNet和最好的卷积网络模型。对于内部数据集,在大量减少模型参数和计算量的前提下,我们的模型达到了与最好的残差网络模型相当的性能。对于Argoverse数据集,我们的方法明显优于最好的卷积网络,在预测3秒时位置误差减少了12%。我们发现内部数据集包含很多静止的车辆,因为它是自然分布的驾驶场景。这些场景可以很容易地被卷积网络解决,因为它擅长捕捉局部模式。但是Argoverse数据集中只提供“interesting”场景。VectorNet性能好过最优的卷积网络基线,大概是因为它能够通过层级图网络捕捉更大范围的环境信息。


表2.对VectorNet不同的节点输入类型和训练策略的消融研究。这里“map”指的是来自高精度地图的输入向量,“agent”指的是非目标车辆运动轨迹的输入向量。当“Node Compl”启用,模型训练任务除了轨迹预测还包括图节点特征补全。


表3.对于折线子图和全局图的深度和宽度的消融研究。折线子图对第3秒位置偏移误差影响最大。

4.4.模型尺寸和计算量的比较


我们现在比较卷积网络和VectorNet的计算量和模型尺寸,以及它们对性能的影响。结果如表4所示。预测的解码器没有添加到计算量和参数量的计算中。我们可以看到随着卷积核尺寸和输入图片尺寸的增加,卷积网络的计算量呈二次方增加,并且模型的参数量也随着卷积核呈二次方增加。对于VectorNet,计算量取决于场景中的向量节点和折线的数量。对于内部数据集,地图中折线的平均数量为17,包含205个向量。平均动态交通参与者折线数为59,包含590个向量。我们基于这些平均数来计算计算量。注意,因为我们需要重新标准化向量坐标系和重新计算每个目标的VectorNet特征,所以计算量随着预测目标的数量呈线性增加。


比较R18-k3-t-r400(卷积网络中最优模型)和VectorNet,VectorNet明显优于卷积网络。在计算方面,对于一个交通参与者,卷积网络比VectorNet增加了200+倍的计算量。考虑到场景中车辆的平均数量约为30辆,VectorNet的实际计算量仍然比卷积网络小得多。同时,VectorNet的参数量为卷积网络参数量的29%。基于比较可以发现VectorNet可以在大幅度减少计算成本的同时显著提高性能。


表4.ResNet和VectorNet的模型参数量和计算量比较。R18-Km-cN-rS表示ResNet-18模型的卷积核尺寸为M×M,裁剪尺寸为N×N,输入分辨率为S×S。

表5.在Argoverse测试集上当采样的轨迹数K设为1时,轨迹预测的性能。结果取自2020/03/18的Argoverse排行榜。

5 仿真与结果分析


我们提出矢量化地表示高精度地图和动态交通参与者。我们设计一个层级图神经网络,其中第一级聚合折线中不同矢量的信息,第二级建模折线之间的高阶交互关系。我们分别在大规模的内部数据集和公开的Argoverse数据集上进行实验,结果表明我们提出的VectorNet方法在大量减少计算量的同时,其性能也要优于卷积网络方法。并且,VectorNet在Argoverse数据集上达到了目前最优水平。下一步工作是整合VectorNet编码器和多模态轨迹解码器以生成多样化的未来轨迹。

图4.(左)预测结果可视化:车道线为灰色,非目标交通参与者为绿色,目标交通参与者的真值轨迹为粉红色,预测轨迹为蓝色。(右)对于道路环境和其他交通参与者注意程度的可视化:明亮的红色对应较高的注意分数。可以看到,当交通参与者面临多种选择时,注意力机制能够将注意力集中在正确的选择上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术宅学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值