近年来,行人轨迹预测在计算机视觉领域成为了一个热点研究课题,其主要任务是基于对某行人历史轨迹和行为的观察与分析,预测出该行人后续的行进轨迹.这样的工作在实际应用中具有较高的价值,如在自动驾驶中,精准预测行人轨迹有助于汽车快速地刻画出行人的意图和未来位置[1];在机器人导航任务中,该工作能帮助机器人在拥挤的人群中穿梭[2];在监控系统中,该工作有助于可疑行为判断和人群拥挤控制[3]等.然而,行人轨迹预测是一项复杂且具有挑战性的任务,其难点来自于如何有效刻画场景中行人之间的交互关系.当人们在公共场合行走时,会与其他行人形成互相影响,并遵循共有的常识和社会习俗来安排自己的行迹.例如,熟悉的人会倾向于走在一起,陌生人则会在行迹上尽量避开他人等,所以精准地建模和刻画行人之间的交互是行人轨迹预测中的关键.行人轨迹预测可以被描述成为一个二维坐标序列预测问题,即假设在一个固定场景中有M0个行人pi,其中i∈{1,2,⋯,M},给定每个pi在时刻t∈{T0,T1,⋯,Tobs}的图像中的位置lti=(xti,yti),须预测pi在{ltj|j∈B(i)}影响下的未来一段时间t={Tobs+1,Tobs+2,...,Tend}内的运动轨迹lj,其中B(i)表示pi的邻域行人集合.近年来,研究人员们借助深度学习来挖掘交互关系,取得了一定的进展.首先,Alahi等[4]和Gupta等[5]利用长短期记忆网络提取代表行人运动模式的隐藏状态,并将其在相邻行人间共享,刻画每个行人及其邻域行人间的影响关系,并进一步取行人轨迹时序上的依赖关系作为时域交互.此方法只能对非常有限的邻域进行建模,难以刻画较远的、甚至全部的行人交互关系.Zhang等[6]引入了一个状态细化模块,利用邻居当前意图迭代改进人群中所有人的状态,这种方法也存在有限的邻域计算的限制.为了充分考虑所有行人的交互关系,Huang等[7]引入了图注意网络以编码所有行人之间的相对关系和潜在空间交互.由于注意力机制能够自适应地为场景中的每个行人分配不同的权重,因此能够更准确地建模行人群体的空间交互行为.Mohamed等[8]直接将行人的位置关系建模为一张图,使用图卷积网络计算行人之间的交互,然后使用时域卷积网络(temporal convolution network,TCN)[9]并行计算过去对现在的影响,以此提高预测效率.Wang等[10]则对TCN进行改进,使用门控时域卷积捕获每个行人的时序特征,门控机制可以获取到更显著的特征.Yu等[11]将Transformer[12]引入空间交互和时序预测,可以得到场景内每个人之间的不同的交互程度以及过去不同时刻对现在的不同影响,提高了预测的精度.然而,上述方法对于空间交互和时序依赖是分开提取的,两种模态之间没有构建关联关系,而现实中行人受到周围人的影响是一个持续的过程,须要考虑以前时刻周围人在当前时刻产生的影响.针对上述不足,提出了一种时空融合的图神经网络用来预测行人的轨迹.相比之前分别学习时序依赖和空间交互的方法,同时结合了时间和空间来刻画行人群体之间的交互.在所建立的图模型中,每个行人被表示为当前时刻所构成的图中的一个节点,然后将不同时刻的图按照时间顺序堆叠成为一张多重图,这样每个节点能够直接影响下一个甚至几个时刻的邻居节点.时空融合的图神经网络所建模的行人运动可以实现信息在时间和空间上同时传递,因此使用这种方法能够同时地捕获到行人在时间和空间上的交互,更好地刻画时空交互对轨迹预测的作用.1 行人轨迹预测方法1.1 模型构建提出的模型流程如图1所示.在处理过程中,首先将行人的位置lti=(xti,yti)编码为神经网络的特征向量,约定特征向量所处的特征空间为坐标特征空间,以特征向量为图的节点构造本算法的图模型.对于t时刻的场景,将人与人之间的关系构建为图Gt=(Nt,Et|Wt),其中:Nt={nti |i∈{1,2,⋯,M}},nti作为图的节点对应行人pi在时刻t的位置lti表示的特征向量hti;Et={etij,i≠j|i,j∈{1,2,⋯,M}}表示节点nti和ntj之间的边,对应着行人之间的交互关系;交互关系的强弱使用权重wtij表示,场景中的所有有关系的行人的权重的组合用Wt表示.为了能够表示出不同时刻下不同行人之间的交互,对于t∈{T0,T1,⋯,Tobs},将不同的Gt按照时间先后平行放置,然后节点与节点之间全连接方式形成一张多重空间图,图T的大小由不同时刻的空间图层数L决定,如图2所示.10.13245/j.hust.230902.F001图1模型整体框架10.13245/j.hust.230902.F002图2图T的构建为了学习pi历史轨迹对未来轨迹的影响,刻画历史每一刻的坐标所产生的影响大小,时序Transformer独立作用于每一个人的历史轨迹提取出不同时刻行人位置之间的时间依赖信息.为了学习到pi的邻域行人历史轨迹对pi轨迹所产生的持续影响,多重空间Transformer作用于几个连续时刻的无向图,在不同时刻之间传递不同行人之间的信息.在此基础上,将时序、空间上的特征拼接起来得到高维向量,并经过一个全连接层转换为坐标特征向量,用多层感知机(multilayer perceptron,MLP)将这个特征向量解码为坐标lti=(xti,yti),再将此坐标作为输入继续迭代预测,将各时间得到的坐标连接起来即为行人的轨迹.在空间、时间维度上,本算法还针对空间和时间覆盖范围的大小分别作局部、全局提取,以分别获得局部、全局行人特征,从而学习到更加精确的行人交互,预测出更加准确的行人轨迹.通过处理行人轨迹视频序列,可以得到每个行人pi在t时刻的二维坐标lti=(xti,yti),将时刻T0到Tobs所有坐标组合到一起就得到一个连续时刻场景中所有人的运动轨迹.为了学习轨迹坐标中所包含的上下文信息,首先要将二维轨迹坐标映射为坐标特征空间的向量hti,即hti=Encoder(lti).(1)向量的维度为32维.在此基础上,同一时刻t下的所有行人的特征向量集记为{hti|i∈{1,2,⋯,M}},作为后续神经网络的输入.1.2 多重空间Transformer模型中的多重空间Transformer模块接受一个连续时刻场景中每个行人的位置信息,以及表示他们之间是否有交互关系的邻接矩阵,得到每个行人当前及以前时刻周围行人对他的影响.在前人工作的典型处理流程中,往往只对单一时刻的行人计算相互之间的交互信息;与此不同的是,本算法将这种交互信息计算推广到了多个时刻中.因为实际情况中,行人的轨迹不仅会受到当前时刻邻域行人的影响,也会受到历史轨迹的影响.形式化描述为:行人pi在t+1时刻的位置会受到行人pj在t时刻及以前的位置的影响,其中j∈B(i).当计算行人之间的交互影响时,首先按照Transformer中的做法将行人的轨迹特征映射为3个特征向量,对于pi在t时刻的轨迹特征,有qti=fq(hti), kti=fk(hti), vti=fv(hti),(2)式中:qti为查询向量;kti为键向量;vti为值向量;fq,fk和fv分别为对应的查询映射函数、键映射函数和值映射函数.为了计算pi与pj之间在时刻t的交互程度,首先qti和kti点乘,其结果再与vti相乘就可以得到pj对pi的影响力大小为Aj→iAtt=qti(ktj)Tvti/dk,(3)式中dk为向量的维度.将式(3)推广到整个场景图中,对于与pi有连接关系的B(i),可以用图的邻接矩阵At来表示,其中At的元素为atij=1lti-ltj2dthreshold;0(其他),式中dthreshold表示行人与行人之间的最大距离,所有距离小于dthreshold的行人即被认为有交互关系.那么在整个场景中,就可以同时计算所有与行人pi有交互关系的人对pi的产生的影响大小之和为AAtt(i)=softmax(qti(ktj)T/dk)vti(j∈B(i)),式中对于qti(ktj)T的计算结果作为有交互关系的行人pi和pj所表示的图的节点之间边的权重wtij,表示他们之间的交互程度大小.当将几张不同时刻的图合并在一起后,将不同时刻里的行人连接起来,计算之前时刻里的行人对后来时刻的行人的影响.这时将得到一个更大的邻接矩阵,可以在图3直观看出来,邻接矩阵的大小由多重空间图中的空间层数L决定,其中的元素可以将之前的式(4)推广而得到,就能定义At1→t2中的元素at1→t2ij=1lt1i-lt2j2dthreshold;0(其他).10.13245/j.hust.230902.F003图3多个时刻组合而成的邻接矩阵得到邻接矩阵之后,就能得出t2时刻与pi有连接的pj对t1时刻pi产生的影响大小之和为At2→t1Att(i)=softmax(qt1i(kt2j)T/dk)vt1i.在这里pi的B(i)是根据邻接矩阵确定的.即在At1→t2中,i行j列上的值若为1,则pj就被认为与pi有连接关系,就可以计算他们之间的交互影响.在这个模块中,首先直观地选取pi一定范围内的行人B(i)来计算这个人受到周围行人的影响程度,相当于空间上的一个局部信息.与此同时也不能忽略不在B(i)中的行人对当前行人的影响作用,即全局范围内所有行人都是应被考虑的,这就是全局信息.将全局信息和局部信息结合起来即为最终行人受到场景中其他行人影响的信息表示.1.3 时序Transformer模型中的时序Transformer由一个编码器组成,主要功能是提取出行人历史轨迹对未来轨迹的影响.时序Transformer模块的结构图如图4所示,使用行人的轨迹特征{h1i,h2i,⋯,hti|i∈ {1,2,⋯,M}}作为输入,然后输出更新后的轨迹特征,这些轨迹特征里包含了每个行人历史轨迹之间的依赖信息.在时序Transformer模块中,和多重空间Transformer模块一样执行了将特征向量转换为查询向量、键向量、值向量的操作.对于一个人不同时刻的q,k,v向量,按时间维度拼接可以得到Qi,Ki,Vi矩阵.10.13245/j.hust.230902.F004图4时序Transformer模块接下来就可以通过这3个Qi,Ki,Vi矩阵来计算一个人的历史轨迹点之间的影响程度.根据前面介绍的Transformer机制来对行人pi计算他当前时刻之前的历史轨迹对当前时刻的影响程度,得到不同行人经过注意力机制加权后的轨迹特征为AAtt(i)=softmax(Qi(Ki)T/dk)Vi.然后使用残差连接与最开始的特征向量相加得到时序Transformer模块的最终输出.当处理时间序列时,和学习多重空间交互类似,首先使用了pi在t之前的所有历史轨迹来提取出其历史运动特征作为全局信息,但与当前时刻相隔越久的时刻历史轨迹对pi未来轨迹的影响越小,不能有效地表示出对pi轨迹的影响.所以对于时序特征表示,可以适当减少需要处理的时间跨度,引入对局部信息的处理,即只选取时刻t之前的部分时刻作为输入来计算历史轨迹对未来轨迹的影响.同时得到全局信息表示和局部信息表示后,将两者的特征向量融合得到最终的时序特征表示.在将多重空间Transformer和时序Transformer输出的特征表示拼接起来后得到最终的特征向量.由于拼接起来的特征向量的维度超过了最初坐标特征空间的维度,因此首先使用一个全连接层将拼接得到的向量映射到坐标特征空间中,然后再使用一个MLP解码器将32维特征向量转换为真实世界中的二维坐标即为最后的结果.2 实验与分析2.1 实验评价指标本文模型在5个常用的行人轨迹数据集上开展实验,包括ETH[13](ETH,HOTEL)和UCY[14](ZARA1,ZARA2,UNIV).在实验效果评价方面,使用平均位移误差σADE(average displacement error,ADE)、最终位移误差σFDE(final displacement error,FDE)来评估模型的性能.σADE即计算整个预测轨迹,即对于整条轨迹,计算轨迹上每个预测时刻位置真实值与预测值之间的平均欧氏距离,具体为σADE=1MTp∑m∈M∑t∈Tpltm^-ltm2.σFDE即为计算预测终点位置与真实终点位置之间的欧氏距离,具体为σFDE=1M∑m∈Mltm^-ltm2  (t=Tp).2.2 实验设置首先通过一个全连接层将将行人在真实世界中的二维坐标编码成为一个32维的向量.Transformer层是由8个不同的注意力头组成,这样能够将轨迹坐标映射到不同的特征空间中来学习轨迹之间的相互影响.实验中将学习率设置为0.002,为了加速训练过程,训练时的批处理的大小为8,其中每个批次里面包含大约128个在不同时刻的行人,一共训练了300次.采用均方误差作为损失函数,计算每次得到的结果和真实结果在每个时刻误差的平方的总和.在实验过程中,使用视频的8帧数据(持续3.2 s)作为输入来预测接下来的12帧数据(持续4.8 s).这样的方案与当前典型测试方案保持一致,可以方便与现有工作进行比较.2.3 定量分析本文与Social-LSTM[4],Social-GAN[5],Social-BiGAT[15],Social-STGCNN[8],STGAT[7],STAR[11],PECNet[16]方法进行比较,一共测试20次,选取20个样本中表现最好的一个作为最终的结果来计算ADE和FDE.表1给出了本文方法和其他方法之间的对比结果,表明本文方法结果优于其他对比算法.即便是与同样采用了Transformer结构作为主体框架的STAR相比,本文方法结果也比STAR要好,这说明了将不同时刻的空间融合到一起作为多重空间的方法是十分有效的,证明了本文方法能较好地模拟不同时空之间行人之间的交互情况,有利于行人的轨迹预测.10.13245/j.hust.230902.T001表1本文模型与其他模型定量比较结果模型ETHHOTELZARA1ZARA2UNIVAvgSocial-LSTM1.09/2.350.79/1.760.47/1.000.56/1.170.67/1.400.72/1.54Social-GAN0.81/1.520.72/1.610.34/0/690.42/0.840.60/1.260.58/1.18STGAT0.65/1.120.35/0.660.34/0.690.29/0.600.52/1.100.43/0.83Social-BiGAT0.69/1.290.49/1.010.30/0.620.36/0.750.55/1.320.48/1.00Social-STGCNN0.64/1.110.49/0.850.34/0.530.30/0.480.44/0.790.44/0.75PECNet0.54/0.870.18/0.240.22/0.390.17/0.300.35/0.600.29/0.48STAR0.36/0.650.17/0.360.26/0.550.22/0.460.31/0.620.26/0.53本文0.28/0.550.12/0.220.24/0.490.20/0.400.30/0.600.23/0.45注:“/”前后分别为σADE和σFDE.更进一步分析了多重空间模块中不同空间层数L对模型效果的影响.根据图5可以看到随着空间10.13245/j.hust.230902.F005图5空间层数对结果的影响层数的增加,σADE和σFDE都有较为明显的下降趋势.然而由于随着L的增加,所使用的邻接矩阵的大小以平方的倍数增长,由此造成需要大量的时间和空间来训练和测试,根据途中的趋势可以看出:误差减小的速度在下降,继续增加层数带来的增益与所多需要的时间和空间不相匹配,所以本研究只做到了将层数叠加到5层.这里还根据测试时结果的样本数K的不同测试了本文模型的泛化性.由图6可知:ADE和FDE均随着K的增大减小,且在相同的采样数下,本文模型都优于STAR模型,即本文模型达到与其他模型相同的误差时所使用的样本数更少.这些结果表明了多重空间模块引入了较为准确的不同时空之间行人的交互并且降低了预测轨迹的分布方差,提高了预测的准确性,有了更好的泛化能力.10.13245/j.hust.230902.F006图6不同采样数对结果的影响2.4 定性分析为了更好地理解提出的多重空间模块在改善模拟行人之间时空交互中发挥的作用,在图7中可视化了本文模型在几个不同的场景中成功预测的情况,并且与STAR模型做了比较,其中橙色实线表示行人历史轨迹,黄色实线表示行人真实未来轨迹,深蓝色虚线表示模型预测出来的未来轨迹.10.13245/j.hust.230902.F007图7本文模型与STAR在不同场景下的可视化结果比较场景1 两个人并肩而行.在图7(a)中是两个人在同向并肩而行.通常而言,当行人并肩行走时,为了保持相对位置没有太大的变化,这两个人都会保持同样的速度和方向,所以他们的轨迹基本上是平行的.可以看到本文模型和STAR都能较好地预测出图中两个行人的运动趋势,但是本文模型预测出来的轨迹与真实轨迹更为贴近.场景2 两个人相向而行.在图7(b)中是两个行人在相向而行.从他们的历史轨迹来看,如果他们不改变他们的轨迹方向,两个人可能会在未来的某一刻发生碰撞,由图7可见:本文模型及时的预测到了这两个行人会改变方向,与真实情况较为符合,而STAR模型预测的结果显示这两个行人调整方向的时候比真实情况要稍微晚一点,所以本文模型相比于STAR预测的轨迹要更准确.场景3 一个人遇到多个人.在图7(c)中是一个人即将与一群人遇上,这里可视化了这个人与人群中前面两个人的轨迹来分析.可以看出:本文模型预测出的轨迹表明之前并肩行走的两人仍然保持着平行的路线,只是稍微地调整了下方向,而单独行走的那个人则是在行走了一小段时间后也调整了下方向继续行走.相比于STAR预测的轨迹不能很好地匹配真实情况的未来轨迹,本文模型预测的轨迹更加贴近真实轨迹,其中预测的轨迹在适当位置的变化,表明本文模型能更准确地理解到行人之间的交互,并依此做出相对可靠的行人轨迹预测.通过分析以上几种情况可以发现,本文模型在交互相对简单的情况下具有较好的表现.相对于其他模型,本文模型能够相对较好地预测出轨迹改变的趋势.这表明引入的多重空间融合能够成功地模拟出行人之间的跨越时空的交互.3 结论使用时间和空间相结合来预测行人轨迹,建立了多重空间融合机制,提出了一种将多个不同时刻的空间融合起来用于轨迹预测的网络.相比于其他只使用了某个特定时刻空间的网络,提出的模块能够接受不同时刻的不同行人的位置信息,并刻画出行人对其他各个时刻的行人的影响,得到了跨越时间的空间交互信息.实验表明:本文模型在ADE和FDE两个关键指标上均取得了当前最好的效果.此外,由于本文模型利用了不同时刻的空间信息,相比于其他方法能够得到更多行人之间的交互特征,因此拥有更好的泛化性.在主观实验中,通过多个不同特定场景下的可视化结果与其他模型的比较,展示了本文模型的有效性和可靠性.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读