背景

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组负责人。

CVPR 2019轨迹预测竞赛冠军方法总结的更多相关文章

  1. CVPR 2019细粒度图像分类竞赛中国团队DeepBlueAI获冠军 | 技术干货分享

    [导读]CVPR 2019细粒度图像分类workshop的挑战赛公布了最终结果:中国团队DeepBlueAI获得冠军.本文带来冠军团队解决方案的技术分享. 近日,在Kaggle上举办的CVPR 201 ...

  2. 自动驾驶研究回顾:CVPR 2019摘要

    我们相信开发自动驾驶技术是我们这个时代最大的工程挑战之一,行业和研究团体之间的合作将扮演重要角色.由于这个原因,我们一直在通过参加学术会议,以及最近推出的自动驾驶数据集和基于语义地图的3D对象检测的K ...

  3. CVPR 2019 行人检测新思路:

    CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破 原创: CV君 我爱计算机视觉 今天 点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2 ...

  4. Relation-Shape Convolutional Neural Network for Point Cloud Analysis(CVPR 2019)

    代码:https://github.com/Yochengliu/Relation-Shape-CNN 文章:https://arxiv.org/abs/1904.07601 作者直播:https:/ ...

  5. 中国将有可能在全球化的背景下收获新的人口红利:3星|《<财经>2019:预测与战略》

    <财经>2019 :预测与战略 <财经>杂志的年刊.内容是针对2019年的预测分析.我认为<财经>的调查报告比较有深度,分析则不是我爱看的类型. 总体评价3星,有参 ...

  6. 强化学习读书笔记 - 09 - on-policy预测的近似方法

    强化学习读书笔记 - 09 - on-policy预测的近似方法 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and A ...

  7. 2016天池-O2O优惠券使用预测竞赛总结

    第一次参加数据预测竞赛,发现还是挺有意思的.本文中的部分内容参考第一名“诗人都藏在水底”的解决方案. 从数据划分.特征提取.模型设计.模型融合/优化,整个业务流程得到了训练.作为新手在数据划分和模型训 ...

  8. Box2d刚体轨迹预测

    前言 在游戏开发中经常会接触到各种物理引擎,虽然开源的引擎各种各样,但是基本原理是相通的.实质上物理引擎只是以时间为单位的刷新物理世界中的刚体的位置(其中运用了大量物理公式和知识),然后刷新刚体关联的 ...

  9. Jetbrains系列产品2019.2.3最新激活方法

    Jetbrains系列产品2019.2.3最新激活方法[持续更新] 发表于 2018-08-25 | 分类于 软件调试 本站惯例:本文假定你知道Jetbrains家的产品.不知道可以问问搜索引擎. 大 ...

随机推荐

  1. nginx支持wss配置

    nginx证书 nginx.conf配置

  2. 2019-9-19:渗透测试,基础学习,html常用标签,笔记

    HTML常用标签<br>:换行<meta charset="utf-8">:编码标签<script type="路径">:插 ...

  3. day 26 约束、自定义异常、加密hashlib、logging

    一.约束 建议使用: class BaseMessage(object): def send(self): """ 必须继承BaseMessage,然后其中必须编写sen ...

  4. python字符串删除,列表删除以及字典删除的总结

    一:字符串删除  1,字符串本身是不可变的,一个字符串定义以后,对他本身是不能做任何操作的,所以的增删改都是对原字符串拷贝的副本的操作,原来的字符串还是原来的字符串,它本身并没 有变 2,字符串本身是 ...

  5. 各种优化方法总结比较(sgd/momentum/Nesterov/adagrad/adadelta)

    前言 这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小. 本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理. Batch gradient d ...

  6. saltstack 自动化运维

    salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安装软 ...

  7. 最全最新🇨🇳中国【省、市、区县、乡镇街道】json,csv,sql数据

    中华人民共和国行政区划代码 中华人民共和国行政区划(五级):省级.地级.县级.乡级和村级. 来自中华人民共和国民政部,用于查询中国省,市和区数据的网站. 中华人民共和国行政区划代码,更新时间:2019 ...

  8. 【JavaEE】之MyBatis逆向工程的使用

    MyBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并同时生成Mapper.xml和Mapper接口,方便实用.下面介绍一下逆向工程的使用方法. 使用逆向工程,我们最好是新建 ...

  9. web接口与restful规范

    web接口 接口定义: 通过网络,规定了前后台信息交互规则的url链接,在web程序中也就是联系前台页面与后台数据库的媒介. 接口特点 url:长得像返回数据的url链接, 例如下面的搜索音乐 [ht ...

  10. 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail 各个命令的使用介绍

    第2周第2次课(3月27日) 课程内容: 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 2.10 环境变量PATH P ...