【Motion Forecasting】【摘要阅读】Learning Lane Graph Representations for Motion Forecasting

Learning Lane Graph Representations for Motion Forecasting

这项工作发布于2020年的ECCV,作者团队来自于Uber,其中提出了LaneGCN用于对车道图进行消息传递,是有图场景的自动驾驶运动预测任务中最经典的工作之一。

Abstract

本文提出了一种运动预测模型,它使用了新颖的地图表示和代理-地图交互。与将向量化地图编码为栅格图不同,本文方法直接从原始地图数据当中构建车道图(lane graph),从而显式地保留地图的拓扑结构。

为了对地图当中所包含的复杂拓扑关系以及长程依赖进行特征提取,本文提出了LaneGCN,它是一种图卷积操作的拓展,能够以多种类型的邻接矩阵进行输入,并且可以沿车道进行膨胀卷积
在这里插入图片描述
在这里插入图片描述

为了对车道段和代理之间的复杂交互进行特征提取,本文进一步提出了Fusion Network,其中包含四种类型的交互,分别是actor-to-lane、lane-to-lane、lane-to-actor和actor-to-actor【事实上时至今日这四种交互方式仍然没有过时,2023年的FFINet和2024年的ADAPT都仍然在使用这四种交互方式对代理-代理、代理-道路和道路-道路之间的交互进行建模】。

基于LaneGCN及上述的Fusion Net,本文提出的方法可以准确地对代理的多模态未来轨迹进行预测。本文方法在当年以极大优势取得了Argoverse Motion Forecasting数据集上的SOTA水准的结果。
在这里插入图片描述
在这里插入图片描述

LaneGCN是开源的,可以在github上直接对相关内容进行搜索。【但需要注意的是,LaneGCN的项目依赖于horovod这个分布式学习框架,在依托于slurm进行作业管理的服务器上可能会遇到安装horovod的坑,比如nccl的版本问题等,导致直接按照给定参数运行LaneGCN这个完整项目的难度较大】

Contributions

  • 与使用栅格化方法对地图数据进行编码不同,本文方法将地图数据表示为车道图,避免了信息丢失。之后本文方法提出了LaneGCN,它可以高效地对复杂的地图拓扑以及地图当中的长程依赖进行特征提取;
  • 基于LaneGCN,本文提出的运动预测模型可以捕捉所有可能的代理-地图交互。具体来说,本文方法使用1D CNN和LaneGCN对代理和地图的特征进行编码,并将编码后的特征表示为图中的结点特征,使用空间注意力(spatial attention)【在上一节我阅读BANet的总结中对这一部分一并进行了总结,详情请移步BANet摘要阅读】和另一个LaneGCN【对道路-道路之间的交互进行建模】来对A2L、L2L、L2A和A2A四种类型的交互进行建模;
  • 本文方法在Argoverse Motion Forecasting数据集上进行了验证,实验结果表明,本文方法以较大优势达到了当年的SOTA水准结果。

MapNet:Extracting Structured Map Representation

LaneGCN当中的MapNet部分是对地图特征进行提取,它将矢量化的地图表示为车道图(lane graph),并以车道中心线的片段来对车道段进行切分,每一个车道中心线片段对应于车道图当中的某个结点。在本文的定义中,车道图中有四种连接方式,分别是前驱(predecessor)、后继(successor)、左邻居(left neighbour)和右邻居(right neighbour)。这四种连接关系为运动预测当中的地图提供了重要的几何和语义特征。

Lane Graph Construction

与将地图渲染为栅格图不同,本文方法使用车道图来对地图数据进行表示。在对车道图进行设计时,我们希望每一个车道段结点都具有较细的粒度。给定任意一个交通参与者的位置,可以根据其位置来对与代理相距最近的道路结点进行查询,从而获知准确的地图信息,因此直接使用整条车道中心线作为车道图当中的结点不够好,因为它的粒度太大。
在这里插入图片描述
在LaneGCN中,对整条道路段进行进一步的分割,得到道路段中若干个道路中心线片段。对于任意道路段 A A A,它的前驱和后继结点分别定义为可以行驶到道路段 A A A的道路段和道路段 A A A可以行驶到的下一个道路段。左邻居和右邻居道路段结点被定义为 l 2 l_2 l2距离与道路段 A A A相距最近的左右两条道路当中的结点。

将道路段结点定义为 V ∈ R N × 2 V \in R^{N\times 2} VRN×2,其中 N N N是道路结点的数量。将四种连接类型定义的邻接矩阵定义为 { A i } i ∈ { p r e , s u c , l e f t , r i g h t } , A i ∈ R N × N \{A_i\}_{i\in \{pre, suc, left, right\}}, A_i \in R^{N\times N} {Ai}i{pre,suc,left,right},AiRN×N。将 A i , j k A_{i, jk} Ai,jk定义为第 i i i类连接的第 j , k j, k j,k行和列。

LaneConv Operator

一种自然的处理道路图的方式是使用图卷积。最广泛使用的图卷积被定义为 Y = L X W Y=LXW Y=LXW,其中 X ∈ R N × F X\in R^{N \times F} XRN×F是结点特征矩阵, W ∈ R F × O W \in R^{F \times O} WRF×O是权重矩阵, Y ∈ R N × O Y \in R^{N \times O} YRN×O是输出。图拉普拉斯矩阵 L ∈ R N × N L \in R^{N \times N} LRN×N的形式是 L = D − 1 / 2 ( I + A ) D − 1 / 2 L = D^{-1/2}(I+A)D^{-1/2} L=D1/2(I+A)D1/2 I , A , D I, A, D I,A,D分别是单位矩阵、邻接矩阵和度矩阵。 I + A I + A I+A表示在原有图拓扑的基础上进一步为图引入自环,使得在图卷积的过程中目标结点可以对自身进行消息传递。所有的连接关系共享同一个权重矩阵 W W W,度矩阵 D D D被用于对输出进行标准化。

然而,朴素的图卷积不适用于自动驾驶运动预测场景,原因如下:

  • 首先,无法确定结点当中的哪些特征可以保留道路图的信息;
  • 其次,单一的图拉普拉斯矩阵无法捕捉道路图中复杂的连接关系,即:它无法处理多种类型的边连接;
  • 最后,朴素的图卷积无法捕捉图当中的长程依赖关系,因为朴素的图卷积仅在一跳之内进行消息传递。
    为了解决上述问题,本文进一步提出了LaneConv。
Node Features

首先对道路图当中结点的初始特征进行定义。每一个道路图结点都对应于道路中心线的一个片段。为了对所有道路结点信息进行编码,需要同时对道路中心线片段的形状(尺寸和朝向)以及位置(中心线片段中点在全局坐标系当中所处的位置)进行考虑。

使用如下方式对结点特征进行初始化:

x i = M L P s h a p e ( v i e n d − v i s t a r t ) + M L P l o c ( v i ) x_i = MLP_{shape}(v^{end}_i - v^{start}_i) + MLP_{loc}(v_i) xi=MLPshape(viendvistart)+MLPloc(vi)

M L P s h a p e MLP_{shape} MLPshape用于对道路段的形状进行编码【然而此处没有考虑道路段的方向】, M L P l o c MLP_{loc} MLPloc对道路段的位置进行编码【使用的位置显然是以目标代理为中心的标准化坐标系当中道路段的位置,由于使用了绝对位置,故LaneGCN是agent-centric方法】。

LaneCov

上述的结点特征捕捉了单个道路段的局部信息,为了能够对整个道路图的拓扑信息进行聚合,本文设计了下述的LaneConv操作:

Y = X W 0 + ∑ i ∈ p r e , s u c , l e f t , r i g h t A i X W i Y = XW_0 + \sum_{i \in {pre, suc, left, right}}A_i X W_i Y=XW0+ipre,suc,left,rightAiXWi

其中 A i , W i A_i, W_i Ai,Wi是连接类型 i i i的邻接矩阵和权重矩阵【针对不同类型的连接关系,使用不同的权重来进行处理】。

Dilated LaneConv

由于运动预测模型通常需要对目标代理进行数秒的未来轨迹预测【以Argoverse 1/2为例,Argoverse v1.1是给定2s的历史轨迹对未来3s的轨迹进行预测,而Argoverse 2是给定5s的历史轨迹对未来6s的未来轨迹进行预测。Waymo Open Motion Dataset是给定2s的历史观测轨迹,对未来8s的轨迹进行预测】,具有更快速度的代理将会沿着车道方向行驶更远的距离。因此,模型最好能够沿着车道方向捕捉车道段结点之间的长程依赖关系,从而做出更准确的运动预测。

在常规的网格图当中(比如矩阵),膨胀卷积可以通过增加感受野来高效地对长程依赖关系进行捕捉。受膨胀卷积启发,本文在LaneConv的基础上进一步提出了dilated LaneConv操作。

具体来说,对于k-dilation LaneConv操作,其定义如下:

Y = X W 0 + A p r e k X W p r e , k + A s u c k X W s u c , k Y = XW_0 + A^k_{pre}XW_{pre, k} + A^k_{suc}XW_{suc, k} Y=XW0+AprekXWpre,k+AsuckXWsuc,k

其中 A p r e k A^k_{pre} Aprek A p r e A_{pre} Apre k k k次幂【不带权的邻接矩阵与自身相乘,相乘一次得到一跳之外的连接关系,比如 A 2 A^2 A2表示结点之间两跳可以到达的连接关系】。这使得模型可以直接将道路信息传递到 k k k hop之外的道路结点上,其中 k k k是超参数。

需要注意的是,在LaneGCN中,dilated LaneConv仅用于前驱和后继连接关系当中。

LaneGCN

基于dilated LaneConv,本文方法进一步提出了多尺度LaneConv操作,并基于此构建LaneGCN。多尺度LaneConv的操作具体如下:
在这里插入图片描述
其中 k c k_c kc是第 c c c个膨胀尺寸。将 L a n e C o n v ( k 1 , . . . , k C ) LaneConv(k_1, ..., k_C) LaneConv(k1,...,kC)记作multui-scale LaneConv layer。

LaneGCN的结构如下:
在这里插入图片描述
它由四个LaneConv残差模块构成。所有layers的embed_dim都是128。

Conclusion

在这项工作中,作者提出了一种新颖的运动预测模型,来对地图的车道图表示进行学习,并且本文提出的方法可以通过图结构来捕捉所有类型的代理-地图交互。

与使用栅格化方法对地图进行建模不同,本文方法使用LaneGCN来提取地图的拓扑特征。使用空间注意力和LaneGCN来对代理和地图的特征进行融合。

本文方法在Argoverse Motion Forecasting数据集上取得了SOTA水准的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值