python 轨迹预测_CVPR 2019轨迹预测竞赛冠军方法总结

背景

CVPR 2019 是机器视觉方向最重要的学术会议,本届大会共吸引了来自全世界各地共计 5160 篇论文,共接收 1294 篇论文,投稿数量和接受数量都创下了历史新高,其中与自动驾驶相关的论文、项目和展商也是扎堆亮相,成为本次会议的“新宠”。

障碍物轨迹预测挑战赛(Trajectory Prediction Challenge)隶属于CVPR 2019 Workshop on Autonomous Driving — Beyond Single Frame Perception(自动驾驶研讨会),由百度研究院机器人与自动驾驶实验室举办,侧重于自动驾驶中的多帧感知,预测和自动驾驶规划,旨在聚集来自学术界和工业界的研究人员和工程师,讨论自动驾驶中的计算机视觉应用。美团无人配送与视觉团队此项比赛获得了第一名。

在该比赛中,参赛队伍需要根据每个障碍物过去3秒的运动轨迹,预测出它在未来3秒的轨迹。障碍物共有四种类型,包括行人、自行车、大型机动车、小型机动车。每种障碍物的轨迹用轨迹上的采样点来表示,采样的频率是2赫兹。美团的方法最终以1.3425的成绩取得该比赛的第一名,同时我们也在研讨会现场分享了算法和模型的思路。

赛题简介

轨迹预测竞赛数据来源于在北京搜集的包含复杂交通灯和路况的真实道路数据,用于竞赛的标注数据是基于摄像头数据和雷达数据人工标注而来,其中包含各种车辆、行人、自行车等机动车和非机动车。

训练数据:每个道路数据文件包含一分钟的障碍物数据,采样频率为每秒2赫兹,每行标注数据包含障碍物的ID、类别、位置、大小、朝向信息。

测试数据:每个道路数据文件包含3秒的障碍物数据,采样频率为每秒2赫兹,目标是预测未来3秒的障碍物位置。

评价指标

平均位移误差:Average displacement error(ADE),每个预测位置和每个真值位置之间的平均欧式距离差值。

终点位移误差:Final displacement error(FDE),终点预测位置和终点真值位置之间的平均欧式距离差值。

由于该数据集包含不同类型的障碍物轨迹数据,所以采用根据类别加权求和的指标来进行评价。

现有方法

这次竞赛要解决的预测问题不依赖地图和其他交通信号等信息,属于基于非结构化数据预测问题,这类问题现在主流的方法主要根据交互性将其区分为两类:1. 独立预测,2. 依赖预测。

独立预测是只基于障碍物历史运动轨迹给出未来的行驶轨迹,依赖预测是会考虑当前帧和历史帧的所有障碍物的交互信息来预测所有障碍物未来的行为。

考虑交互信息的依赖预测,是当前学术界研究比较多的一类问题。但是经调研总结,我们发现其更多的是在研究单一类别的交互,比如在高速公路上都是车辆,那预测这些车辆之间的交互;再比如在人行道上预测行人的交互轨迹。预测所有类别障碍物的之间的交互的方法很少。

以下是做行人交互预测的两个方法模型:

方法1. Social GAN,分别对每个障碍车输入进行Encoder,然后通过一个统一的Pooling模块提取交互信息,再单独进行预测。

方法2. StarNet,使用一个星型的LSTM网络,使用Hub网络提取所有障碍物的交互信息,然后再输出给每个Host网络独立预测每个障碍物的轨迹。

我们的方法

数据分析

拿到赛题之后,我们首先对训练数据做了分析,由于最终的目标是预测障碍物测位置,所以标注数据中的障碍物大小信息不太重要,只要根据类别来进行预测即可。

其次,分析朝向信息是否要使用,经统计发现真值标注的朝向信息非常不准确,从下图可以看到,大部分的标注方向信息都和轨迹方向有较大差距,因此决定不使用朝向信息进行预测。

然后,分析数据的完整性,在训练过程中每个障碍物需要12帧数据,才可以模拟测试过程中使用6帧数据来预测未来6帧的轨迹。但是在真实搜集数据的时候,没有办法保证数据的完整性,可能前后或中间都可能缺少数据,因此,我们根据前后帧的位置关系插值生成一些训练数据,以填补数据的缺失。

最后,对数据做了增强,由于我们的方法不考虑障碍物之间的交互,仅依赖每个障碍物自身的信息进行训练,因此障碍物轨迹进行了旋转、反向、噪声的处理。

模型结构

由于这次轨迹预测的问题是预测所有类别的轨迹,所以使用解决单一类别的轨迹预测模型不适用于该问题,而且如果把所有的物体放在单一的交互模型中来,不能正确提取出不同障碍物之间的交互特征。我们尝试了一些方法也证实了这一点。

因此在竞赛中,我们使用了多类别的独立预测方法,网络结构如下图,该方法针对每个类别构造一个LSTM的Encoder-Decoder模型,并且在Encoder和Decoder之间加入了Noise模块,Noise模块生成固定维度的高斯噪声,将该噪声和Encoder模块输出的LSTM状态量进行连结作为Decoder模块的LSTM初始状态量,Noise模块主要作用是负责在多轮训练过程中增加数据的扰动,在推理过程中通过给不同的Noise输入,可以生成多个不同的轨迹。

最终,需要在不同的轨迹输出中选择一个最优的轨迹,这里采用了一个简单的规则,选择预测的轨迹方向和历史轨迹方向最接近的轨迹作为最终的轨迹输出。

实验结果

我们仅使用了官方提供的数据进行训练,按照前述数据增强方法先对数据进行增强,然后搭建网络结构进行训练,Loss采用Weighted Sum of ADE(WSADE),采用Adam优化方法,最终提交测试的WSADE结果为1.3425。

方法WSADE

我们的方法

1.3425

StarNet(基于交互的方法)

1.8626

TrafficPredict(ApolloScape Baseline方法)

8.5881

总结

在这次竞赛中,我们尝试了使用多类别的独立预测方法,通过对数据增强和加入高斯噪声,以及最终人工设计规则选择最优轨迹的方法,在这次障碍物轨迹预测挑战赛(Trajectory Prediction Challenge)中获得了较好的成绩。但是,我们认为,基于交互的方法用的好的话应该会比这种独立预测方法还是要好,比如可以设计多类别内部交互和类别间的交互。另外,也关注到现在有一些基于图神经网络的方法也应用在轨迹预测上,今后会在实际的项目中尝试更多类似的方法,解决实际的预测问题。

参考文献

Yanliang Zhu, Deheng Qian, Dongchun Ren and Huaxia Xia. StarNet: Pedetrian Trajectory Prediction using Deep Neural Network in Star Topology[C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). 2019.

Gupta A, Johnson J, Fei-Fei L, et al. Social gan: Socially acceptable trajectories with generative adversarial networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018: 2255-2264.

Apolloscape. Trajectory dataset for urban traffic. 2018. http://apolloscape.auto/trajectory.html.

作者简介

李鑫,美团无人配送与视觉部PNC组轨迹预测组算法专家。

炎亮,美团无人配送与视觉部PNC组轨迹预测组算法工程师。

德恒,美团无人配送与视觉部PNC组轨迹预测组负责人。

冬淳,美团无人配送与视觉部PNC组负责人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何看创建媒体日期_汽车各零部件也有身份证,教你们如何看这些部件的出生日期...

大家在逛超市选商品时不知道有没有看产品生产日期的习惯呢?反正小编无论买什么食物,只能是吃进肚子里的都去有意无意的看一下生产日期,这些产品的生产日期也一般都是非常直观的印在外包装上。而汽车由成千上万个零部件组成,每个零部件都来自…

在MyEclipse中更换或修改svn的用户名和密码

1、通过删除SVN客户端的账号配置文件 (1)找到我们使用的客户端配置文件,Windows XP中的位置是在系统盘的Documents and Settings\Administrator\Application Data\Subversion\auth\文件夹中,Windows 7中的位置是在C:/Users/用…

Science发现了改变情绪的大脑受体

来源:中国生物技术网 北京时间11月12日,发表在《Science》上的一篇新研究中,一个国际研究团队在大脑中一个研究甚少的区域发现了一种被认为与消极情绪有关的受体。靶向该受体,可以调节消极情绪。该研究可能会为精神疾病带来更有针…

linux源码下载阿帕奇,Ubuntu 12.04下源码安装Apache

环境:Ubuntu 12.04【简单安装】一般第一次安装Apache都较为顺利。1. 下载并解压rootubuntu:/home/qy/share#tar zxvf httpd-2.2.22.tar.gzrootubuntu:/home/qy/share#cd httpd-2.2.22在http-2.2.22里有文件README和INSTALL,用more命令可以阅读。2. 配置r…

latex自动生成中文目录_texpad: 中文输出+自动参考文献生成(bib+bst)

写在前面:本文仅记录自己在家无聊,接触了下LaTeX。本文是在MAC下使用TexpadMacTeX,进行LaTeX编辑,a.输出中文问题,此问题参考自:texpad中如何使用中文?(mac OS) - Peregrinatio的回答…

github里的默认域_恕我直言!你对Python里的import一无所知

写 Python 通常我们会怎样导包?可能大部分情况下都是用 import,但除了 import 你还会些什么呢?下面我们来介绍一些骚操作。1. 直接 import 人尽皆知的方法,直接导入即可import os与此类似的还有,不再细讲import ...一般…

ModelMapper 中高级使用 java

ModelMapper 是一个java对象自动映射的第三方架包,用起来很方便,配合阿里的frstjson可以极大简化后台代码。 但是ModelMapper 中文使用说明很少,官网http://modelmapper.org/的解释也很不明了所以我研究了好久。 ModelMapper modelMapper ne…

为何云原生在吞噬世界 ?

来源:云头条长话短说,本文的目的是帮助你了解云原生的功能及带来的业务效益,并探讨准备迁移到这种新型计算模式的企业面临的种种选择和陷阱。“计算机革命已过去了60年,离微处理器的发明已有40年,现代互联网兴起至今已…

Linux as4开启telnet,Red hat AS4开启telnet过程

这里写一个Red hat AS4开启telnet过程开启过程,按照以下步骤(4个步骤)就可以了:1、确定你的telnet服务打开没有:[root111 ~]# chkconfig --list|grep telnettelnet: offkrb5-telnet: off[root111 ~]#注意检查结果这里是关闭状态2、打开tel…

python修改静态html_Python 静态页面爬虫---urllib3库实现

1、生产请求urllib3库是通过PoolManager实例来生产请求的,由该实例处理与线程池的链接机线程安全的所有细节urllib3.request函数创建一个请求语法:http urllib3.PoolManager()rq http.request(method,url,headers{默认为None},fields{默认为None},**urlo…

xgboost算法_工业大数据:分析算法

一. 应用背景大数据分析模型的研究可以分为3个层次,即描述分析(探索历史数据并描述发生了什么)、预测分析(未来的概率和趋势)和规范分析(对未来的决策给出建议)。工业大数据分析的理论和技术研究仍处于起步阶段,主要应用场景如下:1. 预测性维…

GC之七--gc日志分析工具

性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析。 Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操…

python爬虫网络库下载_Python3 DHT 网络磁力种子爬虫

Python3 DHT 网络磁力种子采集器😎 严肃的理论磁力链接现在我们使用迅雷等工具下载资源的时候,基本上都只需要一个叫做磁力链接的东西就可以了,非常方便。磁力定义磁力链接是对等网络中进行信息检索和下载文档的电脑程序。和基于“位置”连接…

postgresql修炼之道_PostgreSQL的TOAST技术

本文参考:PostgreSQL TOAST 技术理解《PostgreSQL修炼之道》一、TOAST是什么?TOAST是“The Oversized-Attribute Storage Technique”(超尺寸属性存储技术)的缩写,主要用于存储一个大字段的值。要理解TOAST&#xff0c…

3D器官和骨骼将使移植清单成为历史

来源:IEEE电气电子工程师学会对于患有慢性病或病情危重的患者,等待器官移植匹配的时间可能对生命生死攸关。根据美国卫生资源和服务管理局(Health Resources and Services Administration:https://www.organdonor.gov/statistics-…

11月25号站立会议

小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长)、程媛媛、杨钰宁、谭力铭 代码地址:HTTPS: https://git.coding.net/shenbaishan/GIFT.git SSH:gitgit.coding.net:shenbai…

linux 键盘过滤,linux – 需要拦截HID Keyboard事件(然后阻止它们)

我有一个RFID USB设备,注册为HID设备(A USB键盘或多或少).我正在寻找一种方法来捕获此输入,并在它碰到普通键盘事件处理程序(并将10位数的RFID代码输出到控制台)之前对其进行阻塞/过滤.我当然必须专门捕获这个设备,并且将真正的键盘输入单独留下(或传递给它).我最初的想法是在U…

鱼c论坛python课后作业_三日速成python?打工人,小心钱包,别当韭菜

随着人工智能的热度越来越高,许多非计算机专业的同学们也都纷纷投入到学习编程的道路上来。而Python,作为一种相对比较容易上手的语言,也越来越受欢迎。网络上各类网课层出不穷,各式广告令人眼花缭乱。某些课程甚至卖出“天价”&a…

Linux shell的输入输出

echo --echo命令可以显示文本行或变量,或者把字符串输入到文件 --echo [option] string-e 解析转义字符 例如:echo -e "nimenhao\nasfdsaf" 打印发生换行-n 回车不换行 详解:一般在命令行打印字符串,光标会…

区块链共识算法的发展现状与展望

来源:平行区块链摘 要 共识算法是区块链技术的核心要素, 也是近年来分布式系统研究的热点. 本文系统性地梳理和讨论了区块链发展过程中的 32 种重要共识算法, 介绍了传统分布式一致性算法以及分布式共识领域的里程碑式的重要研究和结论, 提出了区块链共识算法的一种…