Learning Lane Graph Representations for Motion Forecasting

  • 1.ActorNet
  • 2.MapNet
  • 3.FusionNet
  • 4.Prediction Header
  • 5.模型参数学习

自动驾驶论文阅读笔记2
Uber–ECCV2020–论文文章代码

模型的作用:Motion Forecasting (这个motion都包括什么呢?
方法:模型由四个模块组成–ActorNet、MapNet、FusionNet、Header

1.ActorNet

作用–编码actor轨迹特征

  1. 输入:每一条actor的轨迹(3xT的输入向量)(actor包括所有运动者?)
  2. 操作:1D CNN + FPN(特征金字塔)(多尺度不断上采样融合特征)
  3. 输出:该轨迹的特征向量(多少维度呢?128维度么)

轨迹表示–位移差
{Δp−(T−1),...,Δp−1,Δp0}\{\Delta p_{-(T-1)},...,\Delta p_{-1},\Delta p_{0}\}{Δp(T1),...,Δp1,Δp0}

Δpt=(xt,yt)−(xt−1,yt−1)\Delta p_{t} = (x_t,y_t)-(x_{t-1},y_{t-1})Δpt=(xt,yt)(xt1,yt1)

长度为T,不足T的padding 0,下面2xT的位移向量 拼接 1xT的padding标志向量(1-表示该位置的位移是padding的)

ActorNet–3组1D卷积,每组包括两个残差块;特征金字塔融合多尺度的特征(卷积 卷下去,上采样,再和对应的尺度叠加)

输出-- The output of ActorNet is a temporal feature map,whose element at t = 0 is used as the actor feature.(不是很清楚这个时间序列是怎么回事?

2.MapNet

作用–编码地图特征,主要是对车道的编码

  1. 构建lane graph(结点与连接的定义)
  2. 利用LaneGCN获取lane图的特征

2.1 构建lane Graph

  1. lane node --车道中心线的一段,结点位置为两端结点坐标的均值。==一条车?所有?==道线上的众多结点可以表示为向量V∈RN×2V\in\mathbb{R}^{N\times 2}VRN×2(结点的二维特征表示)
  2. 车道结点特征向量带有4个连接矩阵{Ai}i∈{pre,suc,left,right}\{A_i\}_{i\in \{pre,suc,left,right\}}{Ai}i{pre,suc,left,right},Ai∈RN×NA_i\in\mathbb{R}^{N\times N}AiRN×N, Ai,jk=1A_{i,jk}=1Ai,jk=1表示结点jjj 存在一个类型iii的邻居结点kkk
  3. LaneConv Operator
    a). lane node 特征xix_ixi–编码形状(长度方向),位置(空间坐标)信息,经过全联接层处理后,输出lane node特征xix_ixi;构成结点特征矩阵XXX
    xi=MLPshape(viend−vistart)+MLPloc(vi)x_i=MLP_{shape}(v_i^{end}-v_i^{start})+MLP_{loc}(v_i)xi=MLPshape(viendvistart)+MLPloc(vi)
    b).LaneConv 为了获得lane graph大规模拓扑信息(四个AiA_iAi矩阵都用上)
    Y=XW0+∑i∈{pre,suc,left,right}AiXWiY=XW_0+\sum_{i\in\{pre,suc,left,right\}}A_iXW_iY=XW0+i{pre,suc,left,right}AiXWi
    c).Dilated LaneConv 为了让模型获得车道线方向的长时依赖关系(速度快的物体位移大,只用到ApreA_{pre}ApreAsucA_{suc}Asuc)
    Y=XW0+AprekXWpre,k+AsuckXWsuc,kY=XW_0 + A^k_{pre}XW_{pre,k} + A^k_{suc}XW_{suc,k}Y=XW0+AprekXWpre,k+AsuckXWsuc,k
    d). LaneConv(k1,...,kc)LaneConv(k_1,...,k_c)LaneConv(k1,...,kc)=Dilated LaneConv + LaneConv - kck_ckc为第ccc个dilation 尺寸
    Y=XW0+∑i∈{left,right}AiXWi+∑c=1C(AprekcXWpre,kc+AsuckcXWsuc,kc)Y=XW_0+\sum_{i\in\{left,right\}}A_iXW_i + \sum_{c=1}^C(A^{k_c}_{pre}XW_{pre,k_c}+A^{k_c}_{suc}XW_{suc,k_c})Y=XW0+i{left,right}AiXWi+c=1C(AprekcXWpre,kc+AsuckcXWsuc,kc)

2.2 LaneGCN操作
LaneConv(k1,...,kc)LaneConv(k_1,...,k_c)LaneConv(k1,...,kc) + Linear Layer 构成残差块, 4个残差块堆叠,构成LaneGCN。

注意点:
每个结点与邻居结点的连接关系,指明前后左右的结点。
a). 结点A的前驱结点、后续结点:同一条车道线上,能够到达A的结点和A能够到达的结点
b).结点A的左邻居结点、右邻居结点:邻居车道线上空间距离l2l_2l2最近的结点

对车道结点图不采用广泛使用的图卷积L=D−12(I+A)D−12(1)L=D^{-\frac{1}{2}}(I+A)D^{-\frac{1}{2}}(1)L=D21(I+A)D21(1)更新隐状态的原因:
a). 不知道结点特征会保存何种车道信息(可解释性不强?)
b). 该拉普拉斯矩阵操作没法获取结点的连接关系信息(没有对AiA_iAi矩阵的操作,(1)式中的A为结点的邻接矩阵,与AiA_iAi内涵不同)
c). 无法解决长时依赖性的问题
为了解决以上三个不足点,作者提出了LaneConv Operator操作。

Dilated LaneConv 参考了dilated convolution,说是能够沿着车道线传递k步的信息。

3.FusionNet

利用空间注意力机制(spatial attention)(用于构建A2L, L2A, A2A) 和LaneGCN(主要用来构建L2L网络的)融合actor结点和lane结点的信息,
四个信息融合模块:

  1. A2L-将实时交通信息传达给lane node
  2. L2L-依据实时交通信息,更新lane node 的特征
  3. L2A-将更新后lane node 的特征返回给actor
  4. A2A-解决actor之间的相互作用,并且actor特征给motion预测网络

L2L 网络结构-结点特征更新时的LaneGAN结构一致
A2L, L2A, A2A网络结构一致,采用空间注意力机制构成残差块。
yi=xiW0+∑jϕ(concat(xj,Δi,j,xj)W1)W2y_i=x_iW_0 + \sum_j\phi(concat(x_j,\Delta_{i,j},x_j)W_1)W_2yi=xiW0+jϕ(concat(xj,Δi,j,xj)W1)W2

4.Prediction Header

Prediction Header包含两路分支

  1. 回归分支- 回归每一个actor的k种模态(速度?path?)的预测轨迹,每一条轨迹包括T个时间步长,pm,1kp_{m,1}^kpm,1k轨迹的二维特征。
    Om,reg={(pm,1k,pm,2k,...,pm,Tk)}k∈[0,K−1]O_{m,reg}=\{(p_{m,1}^k,p_{m,2}^k,...,p_{m,T}^k)\}_{k\in[0,K-1]}Om,reg={(pm,1k,pm,2k,...,pm,Tk)}k[0,K1]

  2. 分类分支-计算每个actor k种模态的置信度, 输入特征:actor 特征 拼接 预测轨迹的偏移 embeding-pm,Tk−pm,1kp_{m,T}^k-p_{m,1}^kpm,Tkpm,1k

5.模型参数学习

end-to-end 学些过程,总的损失函数=分类损失+回归损失
L=Lcls+αLregL=L_{cls} + \alpha L_{reg}L=Lcls+αLreg
分类损失:置信系数的max-margin loss
Lcls=1M(K−1)∑m=1M∑k≠k^max⁡(0,cm,k+ϵ−cm,k^)L_{cls}=\frac{1}{M(K-1)}\sum_{m=1}^M\sum_{k\neq\hat{k}}\max(0, c_{m,k}+\epsilon-c_{m,\hat{k}})Lcls=M(K1)1m=1Mk=k^max(0,cm,k+ϵcm,k^)
回归损失:正预测轨迹,逐结点smoth l1 loss
Lreg=1MT∑m=1M∑t=1Treg(pm,tk^−pm,t∗)L_{reg}=\frac{1}{MT}\sum_{m=1}^M\sum_{t=1}^Treg(p_{m,t}^{\hat{k}}-p_{m,t}^*)Lreg=MT1m=1Mt=1Treg(pm,tk^pm,t)

注:正轨迹k^\hat{k}k^,在最后一个时间结点处拥有最小的偏移误差。


参考博文:
1.ECCV2020介绍Uber在GNN-based motion forecasting的两篇研究论文–还介绍了另一篇文章
2.2007-Learning Lane Graph Representations–提供代码开源信息,赞!
3.文献阅读报告-Learning Lane Graph Representations for Motion Forecasting–有和VectorNet的比较。

PaperNotes(19)-Learning Lane Graph Representations for Motion Forecasting相关推荐

  1. 【论文阅读】Deep Neural Networks for Learning Graph Representations | day14,15

    <Deep Neural Networks for Learning Graph Representations>- (AAAI-16)-2016 文章目录 一.模型 1.1解决了两个问题 ...

  2. 【论文下饭】Functional Connectivity Prediction With Deep Learning for Graph Transformation

    水平有限,有误请指出. Functional Connectivity Prediction With Deep Learning for Graph Transformation 省流版 任务 模型 ...

  3. Iterative Deep Graph Learning for Graph Neural Networks: Better and Robust Node Embeddings

    摘要:在本文中,我们提出了一个端到端的图学习框架,即迭代深度图学习(IDGL),用于联合和迭代地学习图结构和图嵌入.IDGL的关键理论是基于更好的节点嵌入来学习更好的图结构,反之亦然(即基于更好的图结 ...

  4. 员外陪你读论文:DeepWalk: Online learning of Social Representations

    本次要分享的是 14 年论文 DeepWalk: Online learning of Social Representations, 论文链接DeepWalk[1],参考的代码CODE[2],本论文 ...

  5. FastGCN: fast learning with graph convolutional networks via importance sampling 论文详解 ICLR 2018

    文章目录 1 简单介绍 概率测度 probability measure 自助法 bootstrapping GCN面临的两个挑战 解决思路(创新点) 2 相关工作 3 通过采样进行训练和推理 定理1 ...

  6. A Survey of Adversarial Learning on Graph

    图的对抗性学习概况 概述: 图上的深度学习模型在各种图分析任务(例如节点分类,链接预测和图聚类)中均取得了卓越的性能.但是,它们暴露了对设计良好的输入(即对抗性样本)的不确定性和不可靠性.因此,针对不 ...

  7. 【ICML 2020对比学习论文解读】SimCLR: A Simple Framework for Contrastive Learning of Visual Representations

    一.写在前面 对比学习(Contrastive Learning) 对比学习是一种自监督学习方法,在无标签数据集上仍可以学习到较好的表征. 对比学习的主要思想就是相似的样本的向量距离要近,不相似的要远 ...

  8. 【论文翻译】DeepWalk: Online Learning of Social Representations

    背景介绍 这几年图神经网络模型(如谱聚类的GCN.GAT等等)都挺火的,这些图神经网络即将节点或图映射到一个低维空间(称为图嵌入):而除了GNN还有很多图嵌入方法(在GNN之前图嵌入的概念常出现在流行 ...

  9. DeepWalk原理理解:DeepWalk: online learning of social representations

    文献:DeepWalk: online learning of social representations 对比阅读了几篇关于网络表示学习的文献,其中一篇包括DeepWalk的提出,下面将自己对于论 ...

最新文章

  1. 内网对时服务 ntp 平滑更改
  2. 深度学习领域有哪些瓶颈
  3. 坐地铁的好心MM们小心啊,周末刚经历了一个地铁新骗术
  4. linux跨版本升级,深度Deepin系统支持跨版本升级
  5. 光绘文件 c语言 解析,AltiumDesigner输出光绘文件
  6. cocos2dX之一——安卓环境搭建
  7. centos 6.8安装git_git 入门教程之 git 私服搭建教程
  8. ZH奶酪:如何在Ubuntu上安装Java/管理多个JAVA/设置JAVA_HOME
  9. oracle 空间数据库说明
  10. 基于Python的Landsat影像建设用地自动识别与提取
  11. 怎么样修改vlan从trunk到access模式,提示renew the default configurations
  12. orbslam2+azure kinect DK稠密重建
  13. 电脑图片格式怎么批量转换jpg?几个小妙招轻松转换
  14. 九价疫苗三针一共多少钱 2022
  15. java excel导入 日期_java导入excel时处理日期格式(已验证ok)
  16. 寒从足下起 冬季防病先护足
  17. poj 1837 Balance
  18. 如何彻底卸载Oracle数据库
  19. 安装红帽子linux8的ipv4,rhel8上安装配置IDM服务(IPA-server)
  20. 东财《论文写作指导》单元作业一二三

热门文章

  1. python10的因数_十五道Python小案例,学会这些,Python基础已过关!
  2. linux文件系统_Linux的文件系统简介
  3. 【转】10个推荐的 PACS/DICOM Server开源项目
  4. 原子性和一致性的区别是什么?
  5. 第二节 DOM-Document对象
  6. 一步步编写操作系统4 安装x86虚拟机 bochs
  7. 【手算】哈夫曼编码—树形倒置快速画法
  8. web前后端 http转https
  9. idea全局搜索搜不全的BUG
  10. 执行 redis-dump 报错:ERROR (Errno::ENOENT): No such file or directory - ps -o rss= -p xxxxx