顶会论文:基于神经网络StarNet的行人轨迹交互预测算法

1.背景

民以食为天,如何提升超大规模配送网络的整体配送效率,改善数亿消费者在”吃“方面的体验,是一项极具挑战的技术难题。面向未来,美团正在积极研发无人配送机器人,建立无人配送开放平台,与产学研各方共建无人配送创新生态,希望能在一个场景相对简单、操作高度重复的物流配送中,提高物流配送效率。在此过程中,美团无人配送团队也取得了一些技术层面的突破,比如基于神经网络StarNet的行人轨迹交互预测算法,论文已发表在IROS 2019。IROS 的全称是IEEE/RSJ International Conference on Intelligent Robots and Systems,IEEE智能机器人与系统国际会议,它和ICRA、RSS并称为机器人领域三大国际顶会。

1.1  行人轨迹预测的意义

在无人车行驶过程中,它需要对周围的行人进行轨迹预测,这能帮助无人车更加安全平稳地行驶。我们可以用图1来说明预测周围行人的运动轨迹对于无人车行驶的重要性。

图1 主车规划轨迹跳变问题

图1中蓝色方块代表无人车,白色代表行人。上半部分描述的是在不带行人轨迹预测功能情况下无人车的行为。这种情况下,无人车会把行人当做静态物体,但由于每个时刻行人都会运动,导致无人车规划出来的行驶轨迹会随着时间不停地变化,加大了控制的难度,同时还可能产生碰撞的风险,这样违背了安全平稳行驶的目标。下半部分是有了行人轨迹预测功能情况下的无人车行为。这种情况下,无人车会预测周围行人的行驶轨迹,因此在规划自身行驶时会考虑到未来时刻是否会与行人碰撞,最终规划出来的轨迹更具有“预见性”,所以避免了不必要的轨迹变化和碰撞风险。

1.2  行人轨迹预测的难点

总体而言,行人轨迹预测的难点主要有两个:

第一,行人运动灵活,预测难度大。本身精确预测未来的运动轨迹是一个几乎不可能完成的任务,但是通过观察某个障碍物历史时刻的运动轨迹,可以根据一些算法来大致估计出未来的运动轨迹(最简单的是匀速直线运动)。在实际中,相比于自行车、汽车等模型,行人运动更加灵活,很难对行人建立合理的动力学模型(因为行人可以随时转弯、停止、运动等),这加剧了行人预测的难度。

第二,行人之间的交互,复杂又抽象。在实际场景中,某一行人未来的运动不仅受自己意图支配,同样也受周围行人的影响(例如避障)。这种交互非常抽象,在算法中往往很难精确地建模出来。目前,大部分算法都是用相对空间关系来进行建模,例如相对位置、相对朝向、相对速度大小等。

1.3  相关工作介绍

传统算法在做预测工作时会使用一些跟踪的算法,最常见的是各类时序模型,例如卡尔曼滤波(Kalman Filter, KF)、隐马尔可夫(Hidden Markov Model, HMM)、高斯过程(Gaussian Process, GP)等。这类方法都有一个很明显的特点,就是根据历史时序数据,建立时序递推数学公式:$X^t=f\left(X^{t-1}\right)$或者$p\left(X^t \mid \ X^{t-1}\right)$。因为这类方法具有严格的数学证明和假设,也能处理一些常规的问题,但是对于一些复杂的问题就变得“束手无策”了。这是因为这些算法中都会引入一些先验假设,例如隐变量服从高斯分布,线性的状态转换方程以及观测方程等,而最终这些假设也限制了算法的整体性能。神经网络一般不需要假设固定的数学模型,凭借大规模的数据集促使网络学习更加合理的映射关系。本文我们主要介绍一些基于神经网络的行人预测算法。

基于神经网络的预测算法(主要以长短期记忆神经网络Long Short Term Memory,LSTM为主)在最近5年都比较流行,预测效果确实比传统算法好很多。在CVPR(IEEE Conference on Computer Vision and Pattern Recognition) 2019上,仅行人预测算法的论文就有10篇左右。这里我们简单介绍2篇经典的行人预测算法思路,如果对这方面感兴趣的同学,可以通过文末的参考文献深入了解一下。第一篇是CVPR 2016斯坦福大学的工作Social-LSTM,也是最经典的工作之一。Social-LSTM为每个行人都配备一个LSTM网络预测其运动轨迹,同时提出了一个Social Pooling Layer的模块来计算周围其他行人对其的影响。具体的计算思路是将该行人周围的区域划分成NxN个网格,每个网络都是相同的大小,落入这些网格中的行人将会参与交互的计算。

图2 左:Social LSTM原理 右:Social Pooling计算过程

第二篇是CVPR 2019卡耐基梅隆大学&谷歌&斯坦福大学的工作,他们的工作同样使用LSTM来接收历史信息并预测行人的未来轨迹。不同于其他算法的地方在于,这个模型不仅接收待预测行人的历史位置信息,同时也提取行人外观、人体骨架、周围场景布局以及周围行人位置关系,通过增加输入信息提升预测性能。除了预测具体的轨迹,算法还会做粗粒度预测(决策预测),输出行人未来时刻可能所在的区域。

图3 算法整体结构

其他的相关工作,还包括基于语义图像/占有网格(Occupancy Grid Map, OGM)的预测算法,基于信息传递(Message Passing, MP)的预测算法,基于图网络(Graph Neural Network, GNN)的预测算法(GCN/GAT等)等等。

2. StarNet介绍

目前,现有的轨迹预测算法主要还是聚焦在对行人之间交互的建模,轨迹预测通常只使用LSTM预测即可。如下图4左,现有关于轨迹预测的相关工作基本都是考虑行人之间两两交互,很少有考虑所有行人之间的全局交互(即使是GCN,也需要设计对应的相似矩阵来构造拉普拉斯矩阵,这也是一个难点)。我们可以举一个例子来说明现有其他算法预测的流程:

假设感知模块检测到当前N个行人的位置,如何计算第一个行人下一时刻的位置? Step 1计算其他人对于第一个行人的交互影响。将第i个行人在第t时刻的位置记为(一般是坐标x和y)。可以通过以下公式计算第一个行人的交互向量: $$Interaction_1^t = f\left(P_2^t-P_1^t, P_3^t-P_1^t, \cdots, P_N^t-P_1^t\right)$$ 从上述公式可以大致看到,相对位置关系是最重要的计算指标,计算的函数f一般是一个神经网络。 Step 2 计算第一个行人下个时刻的位置。通常需要根据上一时刻的位置与交互向量: $$P_1^{t+1} = g\left(P_1^t, Interaction_1^t\right)$$ 上述公式中,计算的函数g同样是神经网络,即上面提到的长短期记忆神经网络LSTM。

图4 算法思路对比图 上:传统算法 下:StarNet

两两交互的方式存在两个问题:

  1. 障碍物2和3确实会影响障碍物1的运动,但是障碍物2和3之间同样也存在相互影响,因此不能直接将其他障碍物对待预测障碍物的影响单独剥离出来考虑,这与实际情况不相符。

  2. 两两计算消耗的资源大,如果有N个障碍物,那么两两交互就需要N的平方次计算,随着N的变大,计算量呈平方倍增长。我们希望障碍物之间的交互能否只计算1次而非N次,所有障碍物的轨迹预测都共享这个全局交互那就更好了。

基于上述两个问题,我们提出了一种新的模型,该模型旨在高效解决计算全局交互的问题。因为传统算法普遍存在计算两两交互的问题(即使是基于Attention注意力机制的Message Passing也很难考虑到全局的交互),本文想尝试通过一些更加简单直观的方式来考虑所有障碍物之间的全局交互,我们的算法大致思路如下:

每个时刻所有障碍物的位置可以构成一张静态的“地图”,随着时间的变化,这些静态地图就变成了一张带有时序信息的动态图。这张动态图中记录了每个区域内的障碍物运动信息,其中运动信息是由所有障碍物一起影响得到的,而非单独地两两交互形成。对于每个障碍物的预测阶段,只要根据该障碍物的位置,就可以在这张时序地图中查询该区域在历史时刻的障碍物运动信息(例如这个区域在历史时刻中,障碍物1、2、4、5都有其运动的轨迹)。通过“共享全局交互地图+个体查询”的方式,就可以做到计算全局交互以及压缩计算开销。

图5 StarNet网络结构图

我们的算法结构如上图5所示,Host Network是基于LSTM的轨迹预测网络; Hub Network是基于LSTM的全局时序交互计算网络。在论文具体的实现中,首先Hub Network的静态地图模块是通过接受所有障碍物同一时刻的位置信息、全连接网络和最大池化操作得到一个定长的特征向量$s^t$; 然后动态地图模块使用LSTM网络对上述的特征向量$s^t$进行时序编码,最终得到一个全局交互向量$r^t$。Host Network首先根据行人(假设要预测第一个行人下时刻的位置)的位置$P_1^t$去动态地图$r^t$中查询自己当前位置区域内的交互$q_1^t$,具体我们采用简单的点乘操作(类似于Attention机制)。最终自己的位置$P_1^t$和交互$q_1^t$一起输入LSTM网络预测下时刻的的位置$P_1^{t+1}$。

实验阶段,我们与4种经典的算法作比较,使用的数据集为UCY&ETH数据集,这两个数据集包含4个子场景,分别为ZARA-1/ZARA-2、UNIV、ETH、HOTEL。在预测过程中,所有算法根据每个行人过去3.2秒的运动轨迹,预测出它在未来3.2秒的轨迹。每0.4秒采样一个离散点,因此3.2秒的轨迹可以用8个轨迹离散点表示。对比的指标有:

(a)平均距离差ADE(Average Displacement Error):用算法预测出的轨迹到真实轨迹所有8个点之间的平均距离差。 (b)终点距离差FDE(Final Displacement Error):用算法预测出的轨迹与真实轨迹最后一个终点之间的距离差。 (c)前向预测时间以及参数量。                  

最终的实验结果如下表:

从实验结果可以看到,我们的算法在80%的场景下都优于其他算法,且实时性高(表中LSTM的推理时间为0.029秒,最快速是由于该算法不计算交互,因此速度最快参数也最少,但是性能较差)。

总结一下,我们提出算法StarNet的优势主要包括以下两点:

  • 使用全局动态地图的形式来描述行人之间在时间和空间上的相互影响,更加合理,也更加准确。
  • Hub Network全局共享的特征提升了整个算法的计算效率。

3. 未来工作

首先,我们会进一步探索新的模型结构。虽然我们的算法在数据集上取得了不错的效果,但这是我们的第一次尝试,模型设计也比较简单,如果提升模型结构,相信可以取得更好的结果。

其次,我们会提升预测的可解释性。同现有算法一样,目前的模型对计算到的交互缺乏可解释性,仍然依赖于数据驱动。在今后的工作中,我们将通过对交互的可解释建模来提升预测的准确性。

最后,在构建时序的动态地图过程中,引入对于每个障碍物的跟踪信息。换句话说,我们知道每块区域在各个时间点障碍物的位置,但目前算法没有对障碍物在时序上做跟踪(例如时刻1有三个障碍物,时刻2三个障碍物运动了得到新的位置,网络输入为三个障碍物的位置信息,但是网络无法理解两个时刻中障碍物的对应关系,这降低了交互的性能),这点在以后的工作中还需要继续改进。

参考文献

[1] A. Alahi, K. Goel, V. Ramanathan, A. Robicquet, F. Li and S. Savarese, “Social lstm: Human trajectory prediction in crowded spaces,” in 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE 2016, pp. 961-971.

[2] H. Wu, Z. Chen, W. Sun, B. Zheng and W. Wang, “Modeling trajectories with recurrent neural networks,” in 28th International Joint Conference on Artificial Intelligence (IJCAI). 2017, pp. 3083-3090.

[3] A. Gupta, J. Johnson, F. Li, S. Savarese and A. Alahi, “Social GAN: Socially acceptable trajectories with generative adversarial networks,” in 2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018, pp. 2255-2264.

[4] A. Vemula, K. Muelling and J. Oh, “Social attention: Modeling attention in human crowds,” in 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2018, pp. 1-7.

[5] Y. Xu, Z. Piao and S. Gao S, “Encoding crowd interaction with deep neural network for pPedestrian trajectory prediction,” in 2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018, pp. 5275-5284.

[6] D. Varshneya, G. Srinivasaraghavan, “Human trajectory prediction using spatially aware deep attention models,” arXiv preprint arXiv:1705.09436, 2017.

[7] T. Fernando, S. Denma, S. Sridharan and C. Fookes, “Soft+hardwired attention: An lstm framework for human trajectory prediction and abnormal event detection,” arXiv preprint arXiv:1702.05552, 2017.

[8] J. Liang, L. Jiang, J. C. Niebles, A. Hauptmann and F. Li, “Peeking into the future: Predicting future person activities and locations in videos,” in 2019 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019, pp. 5725-5734.

[9] A. Sadeghian, V. Kosaraju, Ali. Sadeghian, N. Hirose, S. H. Rezatofighi and S. Savarese, “SoPhie: An attentive GAN for predicting paths compliant to social and physical constraints,” in 2019 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019, pp. 5725-5734.

[10] R. Chandra, U. Bhattacharya and A. Bera, “TraPHic: Trajectory prediction in dense and heterogeneous traffic using weighted interactions,” in 2019 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019, pp. 8483-8492.

[11] J. Amirian, J. Hayet and J. Pettre, “Social Ways: Learning multi-modal distributions of pedestrian trajectories with GANs,” arXiv preprint arXiv:1808.06601, 2018.

作者简介

朱炎亮,美团无人配送部

钱德恒,美团无人配送部

任冬淳,美团无人配送部

夏华夏,美团无人配送部

招聘信息

美团轨迹预测组招聘深度学习算法工程师,我们希望你:

  • 具有扎实的编程能力,能够熟练使用C++或Python作为编程语言。
  • 具有深度学习相关知识,能熟练使用TensorFlow或Pytorch作为深度学习算法研发框架。
  • 对预测无人车周围障碍物的未来轨迹感兴趣。

欢迎有兴趣的同学投送简历到 tech@meituan.com(邮件标题注明:美团轨迹预测组)。

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

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

相关文章

python操作mysql数据库实现增删改查

python操作mysql数据库实现增删改查 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFlymSQLMySQLPostgreSQLMicrosoft …

LeetCode 654. 最大二叉树(递归)

文章目录1. 题目2. 解题1. 题目 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给…

Probe:Android线上OOM问题定位组件

配送骑手端App是骑手用于完成配送履约的应用,帮助骑手完成接单、到店、取货及送达,提供各种不同的运力服务,也是整个外卖闭环中的重要节点。由于配送业务的特性,骑手App对于应用稳定性的要求非常高,体现App稳定性的一个…

Android中使用官方提供好的功能使用说明(比如系统图库获取),也作为延生学习的学习文档

这篇文章最核心的就是去学习如何学习Android,如何去使用Android文档。 我们一般在刚开始接触开发的时候,如果遇到无法解决的问题,常常会百度,或者google去寻找答案,比如有个需求是获取系统中的图片,你可能…

再介绍一篇Contrastive Self-supervised Learning综述论文

文 | 黄浴源 | 知乎之前已经介绍过三篇自监督学习的综述:《怎样缓解灾难性遗忘?持续学习最新综述三篇!》。这是最近2020年10月arXiv上的又一篇论文"A Survey On Contrastive Self-supervised Learning"。论文地址:https…

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection

GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection 点击率预测:其主要思想是根据用户的历史行为对一组未评级的项目进行评级预测,然后从预测评级最高的项目中选择个性化推荐。 欺诈检测:…

公开课 | 知识图谱构建与应用概述

本文转载自公众号:博文视点Broadview。 AI是新的生产力,知识图谱是AI进步的阶梯。随着近年来人工智能的进一步发展,知识图谱也取得了一系列新的进展,并在各个行业中落地应用。知识图谱的相关技术已经在搜索引擎、智能问答、…

LeetCode 217. 存在重复元素(哈希)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1:输入: [1,2,3,1] 输出: true 示例 2:输入: [1,2,3,4] 输出:…

美团BERT的探索和实践

2018年,自然语言处理(Natural Language Processing,NLP)领域最激动人心的进展莫过于预训练语言模型,包括基于RNN的ELMo[1]和ULMFiT[2],基于Transformer[3]的OpenAI GPT[4]及Google BERT[5]等。下图1回顾了近…

论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成

论文笔记整理:郝凯龙,南京大学硕士链接:https://www.aclweb.org/anthology/P19-1522.pdf动机传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的人力并且数据量有限,数据量不足给事件抽取带来了阻碍。传统的事件…

谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!

文 | Sherry 不是小哀集成模型(Ensemble)可以提升模型的精度,但往往面临提升计算量的困境,用级联模型(Cascade)在预测时提前中断则可解决计算量的问题。最近,谷歌和CMU的研究者对此进行了深入的…

LeetCode 219. 存在重复元素 II(哈希)

文章目录1. 题目2. 解题1. 题目 给定数组nums和常数k&#xff0c;存在不同的i、j使得nums[i] nums[j]&#xff0c;且abs(i-j) < k。 输入: nums [1,2,3,1], k 3 输出: true 示例 2:输入: nums [1,0,1,1], k 1 输出: true 示例 3:输入: nums [1,2,3,1,2,3], k 2 输出…

Android静态代码扫描效率优化与实践

背景与问题 DevOps实践中&#xff0c;我们在CI(Continuous Integration)持续集成过程主要包含了代码提交、静态检测、单元测试、编译打包环节。其中静态代码检测可以在编码规范&#xff0c;代码缺陷&#xff0c;性能等问题上提前预知&#xff0c;从而保证项目的交付质量。Andro…

还在用[CLS]?从BERT得到最强句子Embedding的打开方式!

文&#xff1a;涅生编&#xff1a;兔子酱你有尝试从 BERT 提取编码后的 sentence embedding 吗&#xff1f;很多小伙伴的第一反应是&#xff1a;不就是直接取顶层的[CLS] token的embedding作为句子表示嘛&#xff0c;难道还有其他套路不成&#xff1f;nono&#xff0c;你知道这…

论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers

论文笔记整理&#xff1a;王春培&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/pdf/1810.04805.pdf动机将预训练语言表示应用于下有任务现有两种策略&#xff1a;基于特征的和基于微调的。文章认为当前技术限制了预训练的能力&#xff0c;尤其是基于微调的方法…

欺诈检测相关论文

欺诈检测相关论文一、分类1、GEM2、HACUD3、MAHINDER4、Semi-GNN5、MvMoE6、AMG-DP7、AddGraph8、NetWalk9、DOMINANT10、GraphConsis11、PC-GNN12、TRUST二、类别不平衡一、分类 1、GEM 来自蚂蚁金服的论文&#xff0c;他们提出GEM模型&#xff0c;是一个异质图神经网络方法&a…

LeetCode 220. 存在重复元素 III(lower_bound)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组&#xff0c;判断数组中是否有两个不同的索引 i 和 j&#xff0c;使得 nums [i] 和 nums [j] 的差的绝对值最大为 t&#xff0c;并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1:输入: nums [1,2,3,1], k 3, t 0 输出: tr…

Android自定义控件入门实践之雷达扫描控件

以前因为工作的关系&#xff0c;对于自定义控件用的少之又少&#xff0c;无非就是把几个控件放置到ViewGroup内部&#xff0c;然后提供开放方法&#xff0c;就成了一个所谓的自定义控件&#xff0c;但是这种小伎俩太简单&#xff0c;面试的时候这点东西根本Hold不住场&#xff…

论文浅尝 | 基于知识图谱注意力网络的商品推荐

论文笔记整理&#xff1a;康矫健&#xff0c;浙江大学计算机科学与技术系&#xff0c;硕士研究生。论文链接&#xff1a;https://arxiv.org/pdf/1905.07854.pdf发表会议&#xff1a;KDD 2019任务定义输入&#xff1a;协同过滤知识图谱具体来说包括两个部分&#xff0c;其一是用…

Java 动态调试技术原理及实践

断点调试是我们最常使用的调试手段&#xff0c;它可以获取到方法执行过程中的变量信息&#xff0c;并可以观察到方法的执行路径。但断点调试会在断点位置停顿&#xff0c;使得整个应用停止响应。在线上停顿应用是致命的&#xff0c;动态调试技术给了我们创造新的调试模式的想象…