资讯详情

【论文翻译】VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation

文章目录

  • 1. 前言
  • 2. 相关工作
  • 3. VectorNet方法
    • 3.1. 表示轨迹和地图
    • 3.2. 构建折线子图
    • 3.3. 高阶交互的全局图
    • 3.4.整体框架

VectorNet: 高精度地图和动态交通参与者通过向量化表示编码

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

1. 前言

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

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

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

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

特别是为了学习图神经网络的竞争性,我们发现基于节点的空间和语义相邻性来约束图的连接性是非常重要的。因此,我们提出了一个分层的图网络结构,首先把具有相同折线ID,具有相同语义标签的向量整合成折线特征,然后将所有不同的折线特征连接起来交换信息。通过多层感知机实现局部图,通过自注机制[30]实现全局图。如图2所示,我们的方法。 图2. 我们提出的VectorNet框架。观察到的交通参与者的运动轨迹和地图特征被表示为矢量序列,然后传输到局部地图网络,以获得折线级特征。这些特征被传输到一个完全连接的图形网络中,以建模高级交互。我们计算了两种损失:从目标交通参与者对应的节点特征中预测其未来轨迹和预测网络中隐藏的节点特征。

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

  • 我们是第一个证明如何直接整合矢量场景信息和动态交通参与者信息来实现行为预测的人。

  • 我们提出了双层图网络结构VectorNet补充节点的辅助任务。

  • 我们内部的行为预测数据集和Argoverse数据集评估了提出的方法,结果表明,我们的方法在减少70%以上的模型参数和数量级计算量的情况下,达到了与渲染鸟瞰图预测相当甚至更好的性能。同时,我们的方法是Argoverse目前,数据集已达到最佳水平。

2. 相关工作

自动驾驶行为预测。在自动驾驶领域,动态交通参与者的行为预测变得越来越重要[7、9、19],高精度地图也被广泛用于提供环境信息。例如,IntentNet[5]通过LiDAR车辆检测并预测点云和渲染的高精度地图。[15]假设已经获得了车辆的测试结果,并专注于通过卷积神经网络编码交互关系来实现行为预测。MultiPath[6]还使用卷积神经网络作为编码器,并通过预定义的候选轨迹返回多个可能的未来轨迹。PRECOG试着通过基于流的生成模型捕捉未来的随机性。类似于[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秒)采样关键点,并将其连接成向量。假如给定的时间间隔足够小,这些折线将非常接近原始地图和轨迹。

虽然后者是无序的,但我们的向量化过程是连续轨迹、地图标记和矢量集合之间的一对一映射。这使得我们可以在矢量集合上构建一个图表结构,可以由图神经网络编码。更具体地说,我们将属于折线 P j P_j Pj​的每一个向量 v i v_i vi​看出图中的一个节点,节点特征如下: V i = [ d i s , d i e , a i , j ] , (1) V_i=[d_i^s,d_i^e,a_i,j],\tag{1} Vi​=[dis​,die​,ai​,j],(1) 其中 d i s d_i^s dis​和 d i e d_i^e die​是向量的起点和终点坐标,其可以表示为2D坐标 ( x , y ) (x,y) (x,y)或是3D坐标 ( x , y , z ) (x,y,z) (x,y,z); a i a_i ai​对应属性特征,比如动态交通参与者的类型,轨迹的时间戳,或是道路特征的类型,或是车道线的速度限制。 j j j是 P j P_j Pj​的id,表示 v i v_i vi​属于 P j P_j Pj​。

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

3.2. 构建折线子图

为了利用节点的局部空间和语义信息,我们采用了层级的方法,首先在向量层级上构建子图,其中属于同一折线的所有向量节点互相连接。假设一个折线 P P P包含节点 { V 1 , V 2 , … , V P } \{V_1,V_2,…,V_P\} { V1​,V2​,…,VP​},我们定义一层子图的前向操作如下: V i ( l + 1 ) = ϕ r e l ( g e n c ( V i ( l ) ) , ϕ a g g ( { g e n c ( V j ( j ) ) } ) ) , (2) V_i^{(l+1)}=\phi_{rel}(g_{enc}(V_i^{(l)}),\phi_{agg}(\{g_{enc}(V_j^{(j)})\})),\tag{2} Vi(l+1)​=ϕrel​(genc​(Vi(l)​),ϕagg​({ genc​(Vj(j)​)})),(2) 图3. 同一折线的向量节点的计算流

其中 V i ( l ) V_i^{(l)} Vi(l)​是子图网络第 l l l层的节点特征, V i ( 0 ) V_i^{(0)} Vi(0)​是输入特征 V i V_i Vi​。函数 g e n c ( ⋅ ) g_{enc}(·) genc​(⋅)编码独立的节点特征, ϕ a g g ( ⋅ ) \phi_{agg}(·) ϕagg​(⋅)聚合所有相邻节点的特征, ϕ r e l ( ⋅ ) \phi_{rel}(·) ϕrel​(⋅)是节点 V i V_i Vi​与其相邻节点之间的关系运算。

实际上, g e n c ( ⋅ ) g_{enc}(·) genc​(⋅)是一个在所有节点中共享权重的多层感知器(MLP)。具体来说,MLP包含一个的全连接层,然后是层归一化[3],最后是ReLU激活函数。 ϕ a g g ( ⋅ ) \phi_{agg}(·) ϕagg​(⋅)是一个最大池化操作, ϕ r e l ( ⋅ ) \phi_{rel}(·) ϕrel​(⋅)是一个简单的拼接。如图3所示。我们堆叠多层子图网络,其中每层 g e n c ( ⋅ ) g_{enc}(·) genc​(⋅)的权重是不一样的。最后,为了获取折线的特征,我们计算: P = ϕ a g g ( { V i ( L p ) } ) , (3) P=\phi_{agg}(\{V_i^{(L_p)}\}),\tag{3} P=ϕagg​({ Vi(Lp​)​}),(3) 其中 ϕ a g g ( ⋅ ) \phi_{agg}(·) ϕagg​(⋅)仍是最大池化。

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

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

我们现在考虑通过一个全局交互图来建模折线节点特征 { P 1 , P 2 , … . , P P } \{P_1,P_2,….,P_P\} { P1​,P2​,….,PP​}上的高阶交互: { P i ( l + 1 ) } = G N N ( { P i ( l ) } , A ) (4) \{P_i^{(l+1)}\}=GNN(\{P_i^{(l)}\},A)\tag {4} { Pi(l+1)​}=GNN({ Pi(l)​},A)(4)

其中, { p i ( l ) } \{p_i^{(l)}\} { pi(l)​}是折线节点特征的集合, G N N ( ⋅ ) GNN(·) GNN(⋅)为一层图神经网络, A A A为折线节点集合的邻接矩阵。

领接矩阵 A A A可以是启发式的,例如使用节点之间的空间距离[2]。为简单起见,我们假设 A A A是一个全连接图。我们的图网络通过自注意力机制实现[30]: G N N ( P ) = s o f t m a x ( P Q P K T ) P V (5) GNN(P)=softmax(P_QP^T_K)P_V\tag{5} GNN(P)=s 标签: q24j4pj连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台