近期学习研究相关方向论文,Social LSTM算是比较经典的一篇,阅读过程中简要翻译,分享给有同样阅读需要的人,翻译比较简单,仅供参考。
Social LSTM:Human Trajectory Prediction in Crowded Spaces 原文论文链接
行人遵循不同的轨迹避开障碍物并容纳行人。在这样的场景中导航的任何自动驾驶汽车都应该能够预见行人的未来位置,并相应地调整其行进路线以避免碰撞。轨迹预测的问题可以看作是序列生成任务,我们感兴趣的是根据人们的过去位置来预测他们的未来轨迹。继最近在序列预测任务中成功使用递归神经网络(RNN)模型之后,我们提出了一种LSTM模型,该模型可以学习人类的一般运动并预测其未来的轨迹。这与使用手工功能(例如社交力量)的传统方法形成对比。我们在几个公共数据集上证明了我们方法的性能。我们的模型在其中一些数据集上优于最新方法。我们还分析了模型预测的轨迹,以证明模型学习的运动行为。
人类具有天生的“互相阅读”的能力。人们在拥挤的公共空间(如人行道,机场航站楼或购物中心)中行走时,会遵守大量(未成文的)常识规则并遵守社会惯例。例如,当他们考虑下一步要去哪里时,他们尊重个人空间并产生通行权。对这些规则进行建模并使用它们来理解和预测复杂的现实世界环境中的人体运动的能力,对于广泛的应用而言非常有价值-从部署具有社交意识的机器人[41]到设计智能跟踪系统[43] ]在智能环境中。
然而,在考虑此类常识行为的同时预测人类目标的运动是一个极具挑战性的问题。这需要了解在拥挤的空间中人们之间发生的复杂而微妙的互动。计算机视觉的最新研究已成功解决了其中一些挑战。 Kitani等。等文献[32]证明了关于静态环境语义的推断知识(例如人行道的位置,草地的延伸等)比忽略场景信息的模型更准确地预测了未来瞬间行人的轨迹。 [24,50,35]的开拓性工作还提出了建立人与人互动(通常称为“社会力量”)模型的方法,以提高多目标跟踪问题的鲁棒性和准确性。
但是,大多数这些工作受到以下两个假设的限制。 i)他们使用手工制作的功能为特定设置的“交互”建模,而不是以数据驱动的方式进行推断。这导致偏爱的模型捕获了简单的交互作用(例如排斥/吸引力),并且可能无法针对更复杂的拥挤环境进行概括。 ii)他们着重于对彼此接近的人之间的交互进行建模(以避免直接碰撞)。但是,他们没有预料到在更遥远的将来会发生相互作用。
在这项工作中,我们提出了一种方法,该方法可以通过新颖的数据驱动架构来应对这两个挑战,以预测未来瞬间的人类轨迹。受到长期短时记忆网络(LSTM)在不同序列预测任务(例如手写[20]和语音[21]生成)上最近成功的启发,我们还将它们扩展到了人类轨迹预测。尽管LSTM具有学习和复制长序列的能力,但它们无法捕获多个相关序列之间的依赖性。
我们通过一种新颖的体系结构解决了这个问题,该体系结构将与附近序列相对应的LSTM连接起来。特别是,我们引入了一个“社交”池层,该池层允许空间近端序列的LSTM彼此共享其隐藏状态。这种架构,我们称为“ Social-LSTM”,可以自动学习在时间上重合的轨迹之间发生的典型交互。该模型利用现有的人类轨迹数据集,而无需任何其他注释即可学习人类在社交空间中观察到的常识规则和惯例。
最后,我们证明,在两个公开可用的数据集:ETH [49]和UCY [39]上,Social-LSTM能够比最新方法更准确地预测行人的轨迹。我们还分析了由我们的模型生成的轨迹模式,以了解从轨迹数据集中学习到的社会约束。
图1.本文的目标是预测拥挤场景中的运动动态-然而,这是一项艰巨的任务,因为每个人的运动通常都会受到邻居的影响。 我们提出了一种称为“社交” LSTM(Social-LSTM)的新模型,该模型可以通过考虑人类在共享环境中导航时通常利用的常识规则和社会惯例来共同预测场景中所有人的路径。 热图显示了它们未来轨迹的预测分布。
人与人之间的互动 Helbing和Molnar [24]的先驱工作提出了一种具有吸引力和排斥力的行人运动模型,称为社会力模型。事实证明,即使在现代行人数据集上,这也能取得竞争性结果[39,49]。此方法后来扩展到机器人技术[41]和活动理解[43、73、50、38、37、9、10]。
已经使用类似的方法来对具有强先验性的人与人之间的交互进行建模。 Treuille等等[62]使用连续体动力学,Antonini等。 [2]提出了一个离散选择框架和王等人。 [69],Tay等。等[59]使用高斯过程。这些功能还被用于研究平稳群体[74,48]。这些工作针对平滑的运动路径,无法解决与离散化相关的问题。
另一项工作是使用精心设计的功能和属性来改进跟踪和预测。阿拉希等等[1]通过从人群中的人类轨迹学习他们的相对位置,提出了一种社会亲和力特征,而Yu等。等[74]提出使用人类属性来改善人群密集的预测。他们还使用类似于[6]的基于代理的模型。 Rodriguez等。 [54]通过分析高密度人群的视频来跟踪和统计人数。
这些模型中的大多数根据相对距离和特定场景的规则提供手工制作的能量潜力。相反,我们提出了一种以更通用的数据驱动方式来学习人与人之间的交互的方法。
活动预测 活动预测模型试图预测视频中人们要执行的动作和/或动作。大量的工作通过聚类轨迹学习运动模式[26、30、46、77]。可以在[45,52,34,3,16,33]中找到更多方法。 Kitani等人在[32]中,使用逆向强化学习来预测静态场景中的人类路径。他们通过对人空间交互进行建模来推断场景中的可步行路径。 Walker等。在[68]中,在给定大量视频的情况下,在视觉场景中预测了通用代理(例如车辆)的行为。 Ziebart等。 [78,23]提出了一种基于计划的方法。
Turek等。 [63,40]使用类似的想法来识别场景的功能图。其他方法,例如[27、19、42、36],显示了使用场景语义来预测人类导航的目标和路径。场景语义也已用于预测多个对象的动态[17、36、34、28]。这些作品大多限于使用静态场景信息来预测人类的运动或活动。在我们的工作中,我们专注于对动态人群交互进行建模以进行路径预测。
最近的工作也试图预测未来的人类行为。特别是Ryoo等。等[55、8、71、67、44、58]预测流视频中的动作。与我们的工作更相关的是使用RNN模型预测视频中未来事件的想法[53、57、66、56、31]。按照类似的思路,我们可以预测场景中的未来轨迹。
RNN模型用于序列预测 最近,递归神经网络(RNN)及其变体(包括长期短期记忆(LSTM)[25]和门控递归单元[12])已被证明对于序列预测任务非常成功:语音识别[21、11、13],字幕生成[64、29、75、15、72],机器翻译[4],图像/视频分类[7、22、70、47],人类动力学[18]等。 RNN模型也已被证明对于密集连接的数据任务是有效的,例如语义分割[76],场景解析[51],甚至可以替代卷积神经网络[65]。这些工作表明,RNN模型能够学习空间相关数据(例如图像像素)之间的依赖性。这促使我们扩展了Graves等人的序列生成模型。 [20]至我们的设置。特别是Graves等。 [20]预测孤立的手写顺序;在我们的工作中,我们共同预测了与人类轨迹相对应的多个相关序列。
在拥挤的场景中移动的人会根据附近其他人的行为来调整他们的动作。例如,一个人可以完全改变他/她的路径或暂时停下来以容纳一群朝他移动的人。不能通过孤立地观察人来预测这种轨迹偏差。也不能通过简单的“排斥”或“吸引力”功能来预测(传统的社会力量模型[24、43、73、50])
这促使我们建立一个模型,该模型可以解释一个大社区中其他人的行为,同时预测一个人的道路。在本节中,我们描述了基于池的LSTM模型(图2),该模型可以共同预测场景中所有人的轨迹。我们将此称为“社交” LSTM模型。
图2.我们的Social-LSTM方法概述。 我们为场景中的每个轨迹使用单独的LSTM网络。 然后,LSTM通过社交池(S-pooling)层相互连接。 与传统的LSTM不同,此池化层允许在空间上相邻的LSTM彼此共享信息。 图中的变量在等式2中说明.底行显示了场景中一个人的S池。 特定半径内所有LSTM的隐藏状态将汇总在一起,并在下一个时间步用作输入。
每个人都有不同的运动方式:他们以不同的速度,加速度运动并具有不同的步态。我们需要一个模型,该模型可以从与该人相对应的有限的一组初始观察结果中理解和学习此类特定于人的运动属性。
长短期记忆(LSTM)网络已被证明可以成功地学习和概括孤立序列的属性,例如手写[20]和语音[21]。受此启发,我们还针对轨迹预测问题开发了基于LSTM的模型。尤其是,对于场景中的每个人,我们都有一个LSTM。该LSTM学习人的状态并预测他们的未来位置,如图2所示。LSTM权重在所有序列中共享。
但是,每个人仅使用一个LSTM模型的简单使用并不能反映邻居之间的互动。普通LSTM与其他序列的行为无关。我们通过图3,2中可视化的新池化策略连接相邻的LSTM,从而解决了这一限制。
图3.我们显示了用黑点表示的人的Social pooling。 我们在一定的空间距离内合并邻居的隐藏状态(以黄色,蓝色和橙色显示)。 如最后两个步骤所示,池化部分保留了邻居的空间信息。
隐藏状态的Social pooling 个人通过隐式推理邻居的运动来调整自己的路径。 反过来,这些邻居又会受到周围环境中其他人的影响,并可能随着时间的流逝而改变其行为。 我们期望LSTM的隐藏状态能够捕获这些随时间变化的运动属性。 为了在多个人之间共同推理,我们在相邻的LSTMS之间共享状态。 这带来了一个新的挑战:每个人的邻居数量不同,而且在非常密集的人群中[1],这个数字可能会过高。
因此,我们需要一个紧凑的表示形式,它将来自所有相邻状态的信息组合在一起。 我们通过引入图2所示的“社交”池层来处理此问题。在每个时间步,LSTM单元都会从邻居的LSTM单元接收池化的隐藏状态信息。 合并信息时,我们尝试通过基于网格的合并来保留空间信息,如下所述。
LSTM在时间t的隐藏状态h^t-i 捕获了该时刻场景中第i个人的潜在表示。 我们通过构建“社会”隐藏状态张量H^i-t与邻居分享这种表示。 给定一个隐藏状态维数D和邻域大小N-o,我们为第i个轨迹构造一个N-o×N-o×D张量H^i-t:
其中h^j-(t-1)是对应于第j个人在t-1处的LSTM的隐藏状态,1-mn [x,y]是一个指标函数,用于检查(x,y)是否在(m,n)单元格中,N-i是与人i对应的邻居集合。 图3中显示了该合并操作。
我们将合并的社交隐藏状态张量嵌入到向量at-i中,并将坐标嵌入et-i处。这些嵌入被串联起来并用作时间t对应轨迹的LSTM单元的输入。 这将导致以下重复发生:
其中φ(.)是具有ReLU非线性的嵌入函数,W-e和W-a是嵌入权重。 LSTM权重由W-l表示。
位置估计 时间t的隐藏状态用于预测在下一时间步t + 1处的轨迹位置(x,y)^i-(t+1)的分布。 [20],我们假设通过均值μ^i-(t+1) =(μ-x,μ-y)i-(t+1),标准偏差σi-(t+1) =(σ-x,σ-y)i-(t+1)和相关系数ρi-(t+1)。这些参数由具有5×D权重矩阵W-p的线性层预测。 在时间t的预测坐标(ˆxi-t,y^t-i)由下式给出:
通过最小化负对数似然损失(第i个轨迹的L^i)来学习LSTM模型的参数:
我们通过最小化训练数据集中所有轨迹的损耗来训练模型。 请注意,我们的“社交”池层不会引入任何其他参数。
与传统LSTM的一个重要区别是,多个LSTM的隐藏状态由我们的“社交”池层耦合,并且我们在每个时间步长共同通过场景中的多个LSTM进行反向传播。
Occupancy map pooling “社交” LSTM模型可用于合并来自相邻轨迹的任何特征集。 为简化起见,我们还使用仅合并邻居坐标的模型进行实验(在实验第4节中称为O-LSTM)。 这是原始模型的简化,不需要在训练过程中跨所有轨迹进行联合反向传播。 该模型仍然可以学习重新定位轨迹,以避免与邻居立即碰撞。 但是,在没有来自邻居的更多信息的情况下,该模型将无法平滑地更改路径以避免将来发生碰撞。
对于人i,我们将张量Hi-t的定义修改为时间t处以人的位置为中心的N-o×N-o矩阵,并将其称为占用图Oi-t。 该地图汇总了所有邻居的位置。 映射的m,n元素可以简单地由下式给出:
其中1mn [.]是前面定义的指标函数。 这也可以看作是等式中社会张量的简化。 在图1中,隐藏状态矢量被表示对应小区中是否存在邻居的常数值所代替。在学习此更简单的模型时,使用矢量化的占用图代替公式2中的H^i-t。
路径预测推断 在测试期间,我们使用训练有素的Social-LSTM模型来预测第i个人的未来位置(ˆxi-t,yi-t)。从时间T-(obs+1)到T-pred,我们使用前一个Social-LSTM单元格的预测位置(ˆxi-t,yi-t)代替等式中的真实坐标(xi-t,yi-t)。在构造等式1中的“社交隐藏状态”张量Hi-t或等式5中的占用图Oi-t时,预测位置还用于替换实际坐标。
在将空间坐标用作LSTM的输入之前,我们使用64的嵌入维数。我们将空间池大小N-o设置为32,并使用8x8的总池窗口大小不重叠。对于所有LSTM模型,我们都使用128的固定隐藏状态维。此外,在将其用于计算隐藏状态张量H^i-t之前,我们还使用具有ReLU(整流线性单位)非线性的嵌入层。基于综合数据集上的交叉验证选择超参数。该合成是使用实现社会力量模型的模拟生成的。该合成数据包含数百个场景的轨迹,每帧平均人群密度为30。我们使用了0.003的学习率和RMS-prop [14]来训练模型。 Social-LSTM模型在具有Theano [5]实现的单个GPU上进行了训练。
在本节中,我们介绍两个公开的人类轨迹数据集上的实验:ETH [49]和UCY [39]。 ETH数据集包含两个场景,每个场景有750个不同的行人,并被分为两组(ETH和酒店)。 UCY数据集包含两个场景,共786人。 该数据集具有3个分量:ZARA-01,ZARA-02和UCY。 总共,我们基于5组数据评估了我们的模型。 这些数据集代表了具有数千个非线性轨迹的现实世界拥挤设置。 如图[49]所示,这些数据集还涵盖了具有挑战性的群体行为,例如,情侣走在一起,群体相互交叉以及群体在某些场景中形成和散布。
我们用三种不同的指标报告预测误差。 与Pellegrini等类似。 [49]我们使用:
1.Average displacement error 平均位移误差
轨迹的所有估计点和真实点的均方误差(MSE)。 这是在佩莱吉里尼等人[49]中介绍的。
2.Final displacement error 最终位移误差
在预测周期Tpred结束时,预测的最终目的地和真实的最终目的地之间的距离。
3.Average non-linear displacement error 平均非线性位移误差
是轨迹的非线性区域的MSE。 由于轨迹预测中的大多数错误发生在人与人之间的交互作用引起的非线性转弯期间,因此我们明确评估了这些区域周围的错误。 我们在二阶导数的范数上设置启发式阈值以识别非线性区域。
为了在训练模型时充分利用数据集,我们使用了留一法。 我们在4套模型上训练和验证模型,并在其余模型上进行测试。 我们对所有5组重复此操作。 对于其他用于比较的基线方法,我们也使用相同的培训和测试程序。
在测试期间,我们观察了3.2秒的轨迹,并预测了接下来4.8秒的轨迹。 以0.4的帧速率,这相当于观察8帧并预测接下来的12帧。 这类似于[49,39]所使用的设置。 在表4中,我们将模型的性能与最新方法以及多种控制设置进行比较:
•Linear model (Lin.) 我们使用现成的卡尔曼滤波器在假定线性加速度的情况下推断轨迹。
•Collision avoidance (LTA)。我们报告了社会力量[73]模型的简化版本的结果,该模型仅使用避免碰撞能量(通常称为线性轨迹避免)。
•Social force (SF) 我们使用[73]中的社会力量模型的实现,其中已经建模了几个因素,例如群体亲和力和预测的目的地。
•Iterative Gaussian Process (IGP) 我们使用[61]中的IGP的实现。与其他基准不同,IGP还使用有关人的最终目的地的其他信息。
•Our Vanilla LSTM (LSTM) 这是我们模型的简化设置,其中我们删除了“社交”池层,并将所有轨迹视为彼此独立。
•Our LSTM with occupancy maps (O-LSTM) 我们展示了模型简化版本(在第3.1节中介绍)的性能。提醒一下,该模型仅在每个时间实例中汇总邻居的坐标。
原始的线性模型会产生较高的预测误差,从平均非线性位移误差来看,该误差在非线性区域附近更为明显。香草LSTM优于线性基准,因为它可以推断非线性曲线,如Graves等人所述。 [20]。但是,这种简单的LSTM明显比明确建模人与人交互的Social Force和IGP模型差。这表明需要考虑这种相互作用。
我们基于社交集合的LSTM和O-LSTM在几乎所有数据集中都优于经过精心设计的Social Force和IGP模型。特别是,与ETH相比,UCY数据集的错误减少更为显着。这可以用两个数据集中不同的人群密度来解释:UCY包含更多的拥挤区域,总共有32K非线性,而人口稀少的ETH场景只有15K非线性区域。
在比较拥挤的UCY场景中,与线性路径的偏离更多地由人与人之间的交互作用决定。因此,我们的捕获邻域交互的模型在UCY数据集中获得了更高的收益。行人到达某个目的地的意图在ETH数据集中起着更主要的作用。因此,在测试过程中知道真实最终目标的IGP模型在该数据集的某些部分中实现了较低的误差。
在ETH的情况下,我们还观察到占用率和Social LSTM误差彼此相等,并且总体上优于Social force模型。同样,在更为拥挤的UCY数据集中,我们的Social-LSTM优于O-LSTM。这显示了合并整个隐藏状态以捕获密集人群中复杂交互的优势。
我们在第二段中的定量评估。图4显示,学习到的Social-LSTM模型优于标准数据集上的最新方法。在本节中,我们尝试获得更多有关不同人群设置中模型实际行为的见解。我们定性地研究了我们的Social-LSTM方法在社交场景上的效果,在社交场景中,个人以特定的方式进行交互。
我们在图4中展示了一个由四个人占据的示例场景。我们可视化了模型在不同时间即时预测的路径分布。图4中的第一行和第三行显示了每个人的当前位置以及他们的真实轨迹(实线代表将来的路径,虚线代表过去的路径)。第二和第四行显示了我们对下一个12.4秒的Social-LSTM预测。在这些场景中,我们观察到三个人(2,3,4)彼此靠近走,而第四人(1)彼此走得更远。
我们的模型始终预测person(1)的线性路径。人(1)的分布在整个时间上相似,表明人的速度是恒定的。我们可以在三人组的预测轨迹中观察到更多有趣的模式。尤其是,我们的模型做出了明智的路线选择,以让他人屈服并抢占未来的冲突。例如,在时间步骤2、4和5,我们的模型甚至在实际转弯开始之前就预测了与person(3)和person(4)的线性路径的偏差。
图4.我们可视化场景中经过4个时间步长的4个人的预测路径的概率分布。 子标题描述了我们的模型所预测的。 在每个时间步长:行1,3中的实线表示地面真实的未来轨迹,虚线表示直到该时间步长的观测位置,而点表示该时间步长的位置。 我们注意到,我们的模型通常可以正确地预测具有非线性运动的挑战性环境中的未来路径。 我们将在第4.1节中更详细地分析这些数字。 注意,T代表时间,id(1到4)表示人物id。 补充材料中提供了更多示例。
在第3步和第4步,我们注意到,Social-LSTM预测了person(3)的“停止”,以便让person(1)屈服。有趣的是,在时间步4处,更新了暂停点的位置以匹配路径中的真实转折点。在下一个时间步长,通过更多观察,该模型能够正确预测该点锚定的完整转弯。
在图5中,我们在一个ETH数据集上说明了我们的Social-LSTM,SF模型[49]和线性基线的预测结果。当人们成群行走或例如一对夫妇,我们的模型能够共同预测他们的轨迹。有趣的是,与社会力量[73]不同,我们没有明确模拟群体行为。但是,我们的模型更擅长以整体方式预测分组轨迹。在图5的最后一行中,我们显示了一些失败的情况,即当我们的预测比以前的工作差时。我们要么预测一个线性路径(第二列),要么比需要的时间更早地减速(第一列和第三列)。尽管在这些情况下这些轨迹与实际情况不符,但我们的Social-LSTM仍会输出“合理的”轨迹,即人类可能采取的轨迹。例如,在第一列和第三列中,我们的模型放慢速度,以避免与前方人员发生潜在冲突。
图5.我们的Social-LSTM方法预测轨迹的图示。 在前三行中,我们显示了一些示例,其中我们的模型成功地预测了具有小误差(就位置和速度而言)的轨迹。 我们还展示了其他方法,例如社会力量[73]和线性方法。 最后一行代表失败案例,例如,人放慢脚步或走直线路。 但是,我们的Social-LSTM方法可以预测一条可行的道路。 结果显示在ETH数据集[49]上。
我们提出了一个基于LSTM的模型,该模型可以跨多个人共同推理以预测场景中的人类轨迹。我们为每个轨迹使用一个LSTM,并通过引入新的社交池层在LSTM之间共享信息。我们将结果模型称为“社交” LSTM。在两个可公开获得的数据集上,我们提出的方法优于最新方法。此外,我们定性地表明,我们的Social-LSTM成功地预测了社交互动(例如一群人一起移动)引起的各种非线性行为。未来的工作将把我们的模型扩展到多类设置,其中多个对象(例如自行车,滑板,手推车和行人)共享同一空间。每个对象在占用图中都有自己的标签。此外,可以通过将本地静态场景图像作为LSTM的附加输入包括在我们的框架中,对人空间交互进行建模。这可以允许在同一框架中对人与人和人与空间的相互作用进行联合建模。