PaperNotes(15)-VectorNet- Encoding HD Maps and Agent Dynamics from Vectorized Representation

VectorNet: 通过矢量化表示编码高精度地图与动态交通参与者。特征编码的过程:
在这里插入图片描述

  1. 地图元素和移动agent向量化表示为polyline。(车道线、人行横道-等空间距采样轨迹,agent轨迹等时间距采样轨迹。)
  2. 利用polyline subgraph编码每条polyline的特征。(一条polyline encode成一个特征向量, 成为全局图中的一个node)
  3. 利用Global interaction graph编码节点之间的相互作用。(建模target agent与地图元素和other agent的交互)
  4. 的特征编码 经过一层状态更新后, 输入解码网络得到预测轨迹。(轨迹的一步坐标位移)

road components

  1. moving agents(pedestrians, vehicles)
  2. road context information(lanes, traffic lights)

坐标原点:目标agent最后一次被观察到的time step/位置

(20210426–Waymo的文章,资料表明是CVPR 2020,但是arxiv:2005. 挺迷惑的。)
参考论文翻译

1. Ployline subGarph

在这里插入图片描述

向量化:地图特征(车道线,人行道)-选定起点和方向,在spline(样条)上等空间间隔采样,连接相邻点构成向量,运动轨迹-等时间间隔采样关键点,构成向量。

一条polyline P j \mathcal{P}_j Pj由向量集合 { v 1 , v 2 , . . . , v p } \{v_1,v_2,...,v_p\} {v1,v2,...,vp}表征, 向量 v i = [ d i s , d i e , a i , j ] v_i=[d_i^s,d_i^e,a_i,j] vi=[dis,die,ai,j],其中 d i s , d i e d_i^s,d_i^e dis,die表示起始和终止点的坐标(二维/三维都可以); a i a_i ai对象类型、时间戳、道路类型、限速;j是轨迹编号。

Polyline subGraphs(折线子图):同一条折线(polyline)上向量节点构成一张子图,Polyline subGraphs 用于聚合polyline特征,特征聚合规则:
v i ( l + 1 ) = φ r e l [ g e n c ( v i ( l ) ) , φ a g g ( { g g e n ( v j ( l ) ) } ) ] v_i^{(l+1)}=\varphi_{rel}[g_{enc}(v_i^{(l)}),\varphi_{agg}(\{g_{gen}(v_j^{(l)})\})] vi(l+1)=φrel[genc(vi(l)),φagg({ggen(vj(l))})]
其中:
g e n c g_{enc} genc–MLP–处理每个节点的特征,同层结点权值共享,不同层权重不同; φ a g g \varphi_{agg} φagg–最大池化–聚合邻居结点的信息; φ r e l \varphi_{rel} φrel–concatenation(简单的连接操作)–本结点特征和邻居结点特征相互结合

堆叠多层 g e n c ( ⋅ ) g_{enc}(·) genc()操作,同一条polyline上所有结点特征经过最大池化操作,聚合特征系形成polyline的表征:
p = φ a g g ( { v i ( L p ) } ) \bm{p}=\varphi_{agg}(\{v_i^{(L_p)}\}) p=φagg({vi(Lp)})

补充: 折线子图可以看作是PointNet的一般化–在PointNet中, d s = d e d^s=d^e ds=de a a a l l l为空。但是本文作者表明odering信息,连接性约束,使得本文子图网络能够更好的编码结构化的信息。

2. Global Graph

Global Graph(全局图):折线节点 { p 1 , p 2 , . . . , p P } \{p_1, p_2,...,p_P\} {p1,p2,...,pP}全连接构成全局图, Global Graph net用于编码节点间的交互 。(邻接矩阵A表示节点间的连接关系,本文采用全联接图)
{ p i ( l + 1 ) } = G N N ( { p i ( l ) } , A ) \{p_i^{(l+1)}\}=GNN(\{p_i^{(l)}\},A) {pi(l+1)}=GNN({pi(l)},A)

交互建模实际使用的是self-attention机制:
G N N ( P ) = s o f t m a x ( P Q , P K T ) P V GNN(P)=softmax(P_Q,P_K^T)P_V GNN(P)=softmax(PQ,PKT)PV

其中:P为结点特征矩阵, P Q , P K , P V P_Q,P_K,P_V PQ,PK,PV是P的先行变换(P输入不同的MLP可得)

论文解读:Attention is All you need
Transformer–论文翻译:Attention Is All You Need 中文版
论文笔记:Attention is all you need

3. 任务、目标函数

Task1. 预测target agents的未来轨迹如下,其中: φ t r a j ( ⋅ ) \varphi_{traj}(\cdot) φtraj()–轨迹解码器–MLP (本文GNN网络只有一层,在推断的时候只需要计算target agent的特征。)
v i f u t u r e = φ t r a j ( p i ( L t ) ) v_i^{future}=\varphi_{traj}(p_i^{(L_t)}) vifuture=φtraj(pi(Lt))

Task2. 附加图补全任务–auxiliary graph completion task,为了使图捕获轨迹和车道线强交互,在训练时,隐藏一部分折线结点特征向量,用模型去预测该特征如下,其中: φ n o d e ( ⋅ ) \varphi_{node}(\cdot) φnode()–结点特征解码器-MLP。(不太懂 p i ( 0 ) = [ p i ; p i i d ] p_i^{(0)}=[p_i;p_i^{id}] pi(0)=[pi;piid], 参考自BERT)
p ^ i = φ n o d e ( p i ( L t ) ) \hat{p}_i=\varphi_{node}(p_i^{(L_t)}) p^i=φnode(pi(Lt))

Loss: 多目标优化目标函数:
L = L t r a j + α L n o d e \mathcal{L}=\mathcal{L}_{traj} + \alpha\mathcal{L}_{node} L=Ltraj+αLnode

其中: L t r a j \mathcal{L}_{traj} Ltraj–负高斯对数似然, 轨迹是二维随机变量,作二元高斯分布假设,使用最大似然法。 L n o d e \mathcal{L}_{node} Lnode–Huber损失函数。(为了避免由 优化 L n o d e \mathcal{L}_{node} Lnode使得结点特征的幅度较小 而引起的平凡解,将结点特征L2正则化后再输入到后续的网路中。)

轨迹预测loss 参考文档:二元正态分布的概率密度函数

4.Related work

(介绍了4个部分的相关工作)

  1. 自动驾驶中的行为预测–IntentNet, ConvNets, MultiPath…
  2. 多agent交互预测
  3. entities 集合的表征学习–图结点的表示方式
  4. 自监督建模–来自NLP中单词补全任务

5.Experiment

5.1 实验设置

1 数据集
两个车辆行为预测bench-marks

  1. Argoverse dataset:简介 每条轨迹5s,前2s作为观测,后3s作为标签
  2. in-house behavior prediction dataset: 每条轨迹4s,前1s作为观测,后3s作为标签

两个数据集的历史轨迹都是从感知模型来的,所以有噪声(感知建模不准嘛)。Argoverse dataset的标签轨迹也是从感知来的,in-house behavior prediction dataset的标签轨迹是经过手工标记过的。

2 度量
ADE-Average Displacement Error–平均偏移误差,在时间 t = 1.0 , 2.0 , 3.0 s t=1.0,2.0,3.0s t=1.0,2.0,3.0s预测轨迹处的偏移量,单位是米。

3 baseline–ConvNet
从最后一次观测到vehicle的帧开始,往前render N 个连续的帧,每一帧的分辨率为4004003。对于Argoverse 数据集来说400像素代表了130米,in-house数据集来说400像素代表了100米。将N帧堆叠在一起,形成一个4004003N 的图像输入数据。

ConvNet 网络模型输入数据的处理:crop the feature patch around the target vehicle from the convolutional feature map, and average pool over all the spatial locations of the cropped feature map to get a single vehicle feature vector。并且针对卷积的感受野,特征剪裁策略,和分辨率分别做了消融实验。

4 VectorNet
原则-尽量保证于ConVNet具有相同的输入信息(对比实验嘛,怎么公平怎么来)。 折线子图采用3层结构,全局图为一层结构,MLP 是64个结点。对context information,子图和全局图的层数做了消融实验。

5.2 消融实验

1.ConvNet 网络消融实验–卷积核、Crop 尺寸、图像分辨率
2.VectorNet 网络的消融实验–Context、Node Compl、子图和全局图的层数

5.3 模型资源消耗

FLOPs : FLOATING-POINT OPERATIONS PER SECOND–每秒浮点数计算
模型尺寸:

似乎pytorch可以有专门计算的接口: profile

5.4 与其他模型的对比实验

state-of-art: Agoverse Forecasting 挑战赛的冠军。结果统计在表格5中,VectorNet完胜。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值