IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【笔记】TNT: Target-driveN Trajectory Prediction -> 正文阅读

[人工智能]【笔记】TNT: Target-driveN Trajectory Prediction

原文链接:https://arxiv.org/pdf/2008.08294.pdf

Abstract

TNT分为3个stage:

  1. 预测agent未来的的target point
  2. 生成指向这些target point的trajectory
  3. 给这些trajectory打分,选出概率高的

这样遍可以做到一个多模态的预测(即直行,左转,右转,不同车道啥的)。

Introduction

TNT主要是为了解决agent的未来轨迹预测(支持多模态)。
请添加图片描述

  1. target prediction:使用场景图预测了targets的分布
  2. target-conditioned motion estimation:预测了对于每一个target的时序序列
  3. scoring and selection:综合考虑所有轨迹后,评估了每一个轨迹的likelihood。选出概率高的轨迹输出。

Formulation

历史T帧的agent的states: s P = [ s ? T ′ + 1 , s ? T ′ + 2 , . . . , s 0 ] s_P=[s_{-T'+1}, s_{-T'+2},...,s_0] sP?=[s?T+1?,s?T+2?,...,s0?]
未来T帧的agent的states: s F = [ s 1 , s 2 , . . . , s T ] s_F=[s_1,s_2,...,s_T] sF?=[s1?,s2?,...,sT?]
历史T帧的环境变量(包括别的agents和场景元素): c P = [ c ? T ′ + 1 , c ? T ′ + 2 , . . . , c 0 ] c_P=[c_{-T'+1},c_{-T'+2},...,c_0] cP?=[c?T+1?,c?T+2?,...,c0?]
我们用 x = ( s P , c P ) x=(s_P,c_P) x=(sP?,cP?)来表示历史的所有变量,那么给定历史后的未来预测的概率分布为 p ( s F ∣ x ) p(s_F|x) p(sF?x).
τ ( c P ) \tau(c_P) τ(cP?)表示根据 c P c_P cP?获得的大概的target空间,则
请添加图片描述
总的来看,第一步target prediction给出了 p ( τ ∣ x ) p(\tau|x) p(τx),即根据历史信息获得target。第二步target-conditioned motion estimation根据历史信息和target给出了未来的运动状态。整体符合条件概率的模型。最后一步scoring and selection就学习了打分的函数 ? ( s F ) \phi(s_F) ?(sF?),对预测的轨迹进行打分.

Target-driveN Trajectory Prediction

Overview:模型输入是encode过的场景,然后依次是,预测M个target,对每个target预测轨迹,打分后选取概率最高的K个轨迹。
请添加图片描述
对于target和states,我们均使用二维物理坐标来表示 ( x t , y t ) . (x_t,y_t). (xt?,yt?).

Scene context encoding

如果有高精地图的话,使用VectorNet来encode,其中使用polyline表示lanes,agent的trajectory,可作为 c P c_P cP? s P s_P sP?. 最后输出的是对于每个agent的feature x x x.
如果没有高精地图,使用ConvNet来编码也可以。

Target prediction

假设有N个target。对于这N个target,我们都要预测一个offset。
请添加图片描述
整个target的分布为:
请添加图片描述
其中
请添加图片描述
类似于softmax中的算法,f获得的是所有target中的任意一个的分数,为了获得每一个target在所有target中的概率,计算了 π \pi π.

N ( . ∣ v ( . ) ) N(.|v(.)) N(.v(.))是一个正态分布,v是平均值,unit variance。即给定平均值和单位方差,offset的一个正态分布。其中这个和mean的distance采用的是Huber(靠近0的二次函数,远的一次函数)。

这里面的f和v都是可学的,经过2层MLP的结果。输入都是大概的目标点 ( x k , y k ) (x^k,y^k) (xk,yk)和场景的feature x x x.

Loss计算如下
请添加图片描述
其中分为不同target的cross entropy loss和offset的Huber loss。
请添加图片描述
对于car来说,target candidate是从lane上等间隔地sample的。对于pedestrian,则是用网格取点。对应图中的菱形。
然后预测的是 ( π , Δ x , Δ y ) (\pi, \Delta x,\Delta y) (π,Δx,Δy),即每个target的概率和offset。对应图中的五角星。

实际中,本文采用了非常大的target candidate池子,N=1000,经过模型后从当中选择了M=50个最高概率的结果。

Target-conditioned motion estimation

这一步要预测未来的states。这个未来的states的likelihood可以表示为
p ( s F ∣ τ , x ) = Π t = 1 T ( p ( s t ∣ τ , x ) ) p(s_F|\tau,x)=\Pi_{t=1}^T(p(s_t|\tau,x)) p(sF?τ,x)=Πt=1T?(p(st?τ,x))
这个公式的成立依赖于两条假设

  1. 每一个time step都是独立的,这可以大幅提升运算的速度。有很多论文都这么做。
  2. 给定target后的预测是单模态的。这个是因为我们的预测在一个比较短的时间T内。

使用两层MLP,把场景feature x x x和target τ \tau τ作为输入,输出一个概率最高的未来轨迹 [ s ^ 1 , . . . , s ^ T ] [\hat{s}_1,...,\hat{s}_T] [s^1?,...,s^T?].此处采取了teacher forcing的技巧(在RNN中,一般训练方法是把上一步输出的state作为下一步的输入,以此类推。而teacher forcing则是每次输入的是ground truth)。训练的时候每一个输入的target采用的是ground truth而非上一步得出的结果。
请添加图片描述
Loss是每一个时刻的ground truth和预测结果的距离(Huber loss)之和。

Trajectory scoring and selection

这一步是对于一整条预测的轨迹进行打分。当中 g ( . ) g(.) g(.)是一个2层的MLP。
请添加图片描述
Loss的计算采取对预测分数和ground truth分数的交叉熵。
请添加图片描述
每一个预测的轨迹的ground truth的分数是它和ground truth的距离来计算的。
ψ ( s F ) = e x p ( ? D ( s , s G T ) / α ) ∑ s ′ e x p ( ? D ( s ′ , S G T ) / α ) \psi(s_F)=\frac{exp(-D(s,s_{GT})/\alpha)}{\sum_{s'}exp(-D(s',S_{GT})/\alpha)} ψ(sF?)=s?exp(?D(s,SGT?)/α)exp(?D(s,sGT?)/α)?
直觉上的话就是对于多个模态的预测结果,分别计算每一条和gt(gt只有一个模态)的距离,用这些距离算概率(类似softmax的方法)。其中距离的计算是两条轨迹上同时刻点点间的最大距离。
请添加图片描述
为了避免太过接近的输出,采用NMS类似的做法。先根据分数排序,从高到低放入选中的轨迹,如果太接近已经选出来的轨迹。

Training and inference details

这是一个端端训练的模型,loss就是上述loss的和。
请添加图片描述
在inference中的步骤为:

  1. 场景encode
  2. 根据地图找出N个target candidate作为输入,从中用 π ( τ ∣ x ) \pi(\tau|x) π(τx)选出概率最高的M个target
  3. 预测这M个target的轨迹,获得 p ( s F ∣ τ , x ) p(s_F|\tau,x) p(sF?τ,x)
  4. 对这M个轨迹打分 ? ( s F ∣ τ , x ) \phi(s_F|\tau,x) ?(sF?τ,x),选出概率高的K个轨迹

Metrics

Average Displacement Error (ADE):轨迹上每个点和gt的每个点的距离的平均
Final Displacement Error (FDE):target的距离
Miss rate (MR):所有target距离gt的target差2m以上的比例

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:36:39  更:2022-02-01 20:37:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 20:41:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码