基于状态精细化长短期记忆和注意力机制的社交生成对抗网络用于行人轨迹预测
2023-05-24吴家皋章仕稳蒋宇栋刘林峰
吴家皋,章仕稳,蒋宇栋,刘林峰
(1.南京邮电大学 计算机学院,南京 210023;2.江苏省大数据安全与智能处理重点实验室(南京邮电大学),南京 210023)
0 引言
近年来,基于深度学习方法的行人轨迹预测问题在计算机视觉和人工智能领域重新引起人们的兴趣。轨迹的预测[1-4]对于社交机器人导航[5]、自动驾驶[6]和智能跟踪[7-8]具有很高的价值。行人轨迹预测指基于行人的历史轨迹生成行人未来的位置,然而,由于行人复杂的运动行为,尤其是在拥挤的场景中,会增加行人轨迹预测的困难。
基于循环神经网络(Recurrent Neural Network,RNN)的方法和基于生成对抗网络(Generative Adversarial Network,GAN)的方法是轨迹预测中最常用的两种方法。在基于RNN 的方法中,Alahi 等[9]提出了社会长短期记忆(Social Long Short-Term Memory,SLSTM)网络模型,采用LSTM 编码器-解码器的结构,再通过社会池化模块得到交互信息,最后通过LSTM 解码器输出预测的轨迹。该模型的社会池化模块以每一个目标行人为中心建立池化邻域,然后将邻域中行人对应的LSTM 隐状态进行“和池化”;但该池化方式并未将不同的行人区别对待,影响了池化效果。Lee 等[10]提出了深度学习逆最优RNN 编码器-解码器框架,通过条件变分自编码器获得一组不同的假设未来预测样本,并通过RNN 评分模块对预测样本进行排序和细化,可以作出更好的长期预测。Bartoli 等[11]提出了环境感知的LSTM 模型,通过对环境中可能影响行人运动的环境物体进行位置标记,运用池化层对行人交互和行人环境交互进行建模,引入了环境物体对行人运动的影响。Xu 等[12]提出了人群交互深度神经网络(Crowd Interaction Deep Neural Network,CIDNN)模型,使用双层LSTM 和三层多层感知机(Multi-Layer Perceptron,MLP),并引入“空间亲和力”以及“全局和池化”来处理不同行人对目标行人的不同影响。但是空间亲和力没有包含速度信息,不足以描述行人间的相互作用。此外,全局池化方式会将距离很远的行人也考虑在内,这必然导致模型性能的下降。在上述工作中,研究人员通常倾向于最小化与未来真实坐标的L2距离,以预测目标行人唯一的未来轨迹。然而,预测人类行为(包括行人轨迹)是一个多模态问题,因为给定部分历史轨迹,可能有多条未来轨迹都适合该行人。
这时,使用基于GAN[13]的方法可以预测多个可接受的轨迹,并从中选择“最佳”轨迹作为预测结果。Gupta 等[14]提出了社会GAN(Social GAN,SGAN)模型,由一个基于LSTM的编码器-解码器生成器、一个池化模块和一个基于LSTM的鉴别器组成。SGAN 在训练时能一次生成多个预测结果,从而使预测轨迹具有多样性。SGAN 的池化模块采用“最大池化”操作来处理行人交互,但全局池化方式同样会导致过多的无效交互。Amirian 等[15]在SLSTM 和SGAN 的基础上提出了Social ways 模型,并引入了注意力机制使模型自主分配对交互信息的关注,进一步提升了模型效果。本研究组在之前的工作中提出了社交生成对抗网络(Social-Interaction GAN,SIGAN)模型[16],采用一种社会交互模块获取场景中相邻行人与目标行人之间的位置和运动信息。然而,在SIGAN 的位置编码器中,LSTM 的隐藏态信息并不是最新的状态,特别是当行人在短时间内改变了运动状态时,LSTM 只能获得目标运动前的状态信息,而不能获取邻居行人的运动意 图。而Zhang 等[17]提出的 状态精细化LSTM(State-Refinement LSTM,SR-LSTM)在LSTM 之上增加了一层状态精细化模块(States Refinement Module,SRM),能让目标行人共享编码的邻居行人隐状态,从而获取精细化LSTM 细胞状态和隐状态。采用SR-LSTM 作为位置编码器时,可以更好地提取场景中行人的运动意图信息,尤其在短时间的预测中,这种“意图”就显得极为重要。但是,SR-LSTM 对行人运动意图中的速度考虑不足,需要通过设置速度注意力机制对同一场景中行人进行影响力分配。
综上所述,本文提出了一种基于SR-LSTM 和注意力机制的社交对抗生成网络(SR-LSTM and Attention mechanism based Social-Interaction GAN,SRA-SIGAN)用于行人轨迹预测。本文的主要工作包括:
1)提出基于SRA-SIGAN 的行人轨迹预测模型,使用SRLSTM 作为位置编码器,以有效提取行人运动意图,使社会交互模块能更准确地表达目标和相邻行人之间的位置和运动信息。
2)针对SR-LSTM 在行人运动速度方面考虑不足的问题,基于自注意力机制设计了速度注意力模块(Velocity Attention Module,VAM),对同一场景中行人进行影响力权重分配,使模型能充分利用行人间的交互信息,提升预测精度。
3)在多个公开的真实世界数据集上对所提模型进行了大量实验,结果表明SRA-SIGAN 模型具有较高的行人轨迹预测准确性。
1 本文模型
1.1 问题定义
1.2 SRA-SIGAN总体结构
1.3 生成器
1.3.1 Encoder编码器
对于位置编码器,根据式(1)可以得到第i个行人对应的LSTM 的输出
其中:fc1为全连接层,表示一个带有线性整流单元(Rectified Linear Unit,ReLU)的嵌入函数;WO代表嵌入函数的权重;Wencoder代表LSTM 编码器的权重;LSTM 在所有的代理之间是共享的,也就是说Wencoder在编码阶段是共享的,∈R32是被编码的位置向量。
其中:Xt表示所有行人在t时刻的观测坐标;WSR为SR 模块对应的权重。矩阵Ut的第i行表示第i个人所获取其他行人运动意图所表示的向量,记为∈R32)。如前所述,SR-LSTM 将LSTM 输出的隐藏态和细胞状态以及当前时刻的所有行人的坐标作为SR 模块的输入。使用SR-LSTM 除了能提取出他们之前的运动信息之外,还能提取出他们当前的意图信息,这样可以在后面处理交互问题时获取更多有用的信息。
其中:W1、W2、W3表示带有ReLU 非线性激活函数 的三层MLP 的权重。对于每个代理来说,分别将它们的历史轨迹和当前时刻的位置与速度输入到位置编码器和运动编码器中以获得高维向量,以便将其作为后续SIM 的输入。
图1 SRA-SIGAN模型结构Fig.1 Structure of SRA-SIGAN model
1.3.2 社会交互模块
社会交互模块(SIM)将编码的位置和速度矢量作为输入,计算每个目标代理受到的邻居的代理的交互影响,它由两部分组成:时空亲和力部分和局部池化部分。
对于时空亲和力部分,一种简单的方法是线性组合所有代理的位置和运动特征用于位移预测。因此,本文采用时空亲和力衡量每个邻居代理对目标代理影响的大小。对于任何代理Pj,将其在时间步为t时刻与目标代理Pi的时空亲和力定义为即:
考虑到目标代理的移动只会受到邻居代理的影响,本文采用局部池化方案,并将这些因素结合到行人轨迹预测中。该方案为每个目标代理设置了一个以自己位置为中心的基于正方形网格的邻域,并且设从中心到邻域边的垂直距离为k,所以正方形邻域是一个2k× 2k的网格。然后,可以得到其他代理对目标代理Pi的交互影响,如下所示:
其中:∈R32;Ni(k)表示在这个2k× 2k的网格大小内目标代理的邻居代理的集合。可以看出,k值是局部池化中的一个非常重要的参数,它表示所有目标代理受到影响的范围。
1.3.3 速度注意力模块
由于SR-LSTM 仅仅只是关注代理之间的相互坐标,缺少速度的注意力信息,因此,本文采用注意力机制获取代理之间基于速度的注意力。将所有代理{P1,P2,…,Pn}在t时刻的速度Vt=(Vt∈Rn×2)输入VAM 中。
图2 是VAM 的示意图,该模块根据自注意力(selfattention)机制[18]的方式得到相互的速度注意力信息:
图2 速度注意力模块的示意图Fig.2 Schematic diagram of velocity attention module
其 中:WQ,WK,WF∈R2×16分别代 表三种 线性变 换,则Qt,Kt,Ft∈Rn×16,即将矩阵Vt中的每一行的行向量维度升成16 维。
然后,对于Qt和(Kt)T矩阵相乘得到的结果Qt(Kt)T(Qt(Kt)T∈Rn×n)进行Softmax 操作,从而获得权重系数,最后,再将其与Ft相乘,即可获取对应代理的基于速度的注意力,即
根据式(8)即可得到的矩阵At即为每一个目标行人相对于邻居行人基于速度的注意力矩阵,并且At∈Rn×16,矩阵At的第i行表示第i个人相对于其他行人基于速度的注意力向量,记为
1.3.4 解码器模块
由于解码器的主要作用是生成预测轨迹,所以,本文采用了最基本的LSTM 进行轨迹的解码,这需要结合来自编码器的信息以及注意力模块的信息来有效地推理人与人之间的交互,所以,通过如下方法来初始化LSTM 解码器的隐状态
其中:fc2是一个全连接层,Wc是相应的权重;z是一个随机的Gauss 分布的噪声,z∈R8。在通过式(9)将解码器LSTM 进行初始化后,就可以利用式(10)迭代地预测出在同一个场景中所有的代理未来轨迹:
其中:全连接层fc3被用来作为坐标的嵌入函数,Wco代表该函数的权重;Wdec是解码器的权重,而全连接层fc4用于处理并生成二维坐标,是在t时刻预测的坐标,∈R2,Wp是预测的权重。
1.4 鉴别器
与SGAN 类似,鉴别器的作用是将生成器预测出的轨迹分类成可接受与否。它将场景中所有代理的未来轨迹预测值和真实值作为输入,即{X1,X2,…,Xn,或者{X1,X2,…,Xn,Y1,Y2,…,Yn},然后输出对场景中每个代理的预测的未来轨迹为真实或虚假的标签。
同样地,本文使用LSTM 对鉴别器的输入进行编码,并使用全连接层对预测轨迹进行可接受与否的分类。
1.5 损失函数
与SGAN 一样,本文模型的损失函数L由两部分组成:对抗性损失和L2损失,即:
其中:λ是一个平衡因子。
因为本文模型基于条件GAN(Conditional GAN,CGAN)[19],并且计算了一个场景中所有代理的损失,所以对抗损失LCGAN的定义如下:
其中:S表示场景中所有代理的集合。
而L2损失定义如下所示:
L2损失的设置是为了确保生成器生成轨迹的多样性。在计算位置偏移损失时,采样m次,为每个观察到的代理生成m个预测的轨迹样本,并选择损失最小的轨迹以优化网络的反向传播。与SGAN 一样,设置m=20。
2 实验与结果分析
本章通过实验来评估SRA-SIGAN 模型的性能。
数据预处理:遵循与SLSTM[9]和SGAN[14]相同的数据预处理策略,将视频中所有行人出现的时间和位置数据转换为真实世界的坐标,然后每0.4 s 提取一次数据以获得坐标系中行人的坐标值。
数据集:在ETH[20]和UCY[21]两个公共行人轨迹数据集上开展评估。ETH 和UCY 总共有5 个子数据集,包括Zara1、Zara2、ETH、Hotel、Univ。此外,本文在数据集的使用上采用“漏一法”,即在实验的训练过程中,使用4 个子集对网络进行训练,然后用剩下的1 个子集在模型上进行测试。
2.1 实验准备
SRA-SIGAN 的参数使用Adam 优化器训练优化,学习率设置为0.001。所有模型都经过300 轮(Epoch)的训练。本文模型在Pytorch 0.4 上使用Python 3.6 构建,并使用NVIDIA RTX-2080 GPU 进行训练。位置编码器的隐藏节点数分别设置为16、32 和64,L2损耗中设置m=20。
2.2 评价指标
本文使用最终位移误差(Final Displacement Error,FDE)[9]和平均 位移误 差(Average Displacement Error,ADE)[20]作为度量标准来衡量不同模型的性能。
ADE 定义为一个场景中所有行人的预测的坐标值和地面真实位置的坐标之间的平均距离的均方差(设预测了tpred个坐标),计算公式如下:
FDE 是预测轨迹的最终目的地与行人的实际目的地之间的距离的均方差。其计算公式如下:
2.3 对比预测方法
为了评估本文SRA-SIGAN 模型的性能,与以下几种有代表性的轨迹预测模型进行比较:
1)SLSTM[9]:对每个行人都采用LSTM 进行编码,并在预测未来步骤之前汇集他们的状态编码。该模型仅结合了被观测的具有共同相邻空间的行人的特征。根据经验设置邻域和占用网格大小,以便在ETH 和UCY 数据集上获得最佳结果。
2)CIDNN[12]:一种通过考虑其空间关系来同全局的行人进行交互的模型。该模型首次利用空间亲和力处理在行人轨迹预测中人与人的交互,并且对每个行人使用LSTM 编码历史轨迹。
3)SGAN[14]:第一种使用GAN 处理轨迹预测的多模态模型,该模型也为每个行人使用LSTM 进行编码,然后部署在编码器-解码器结构内,以使用GAN 生成未来的预测轨迹。每个代理获得多个采样轨迹,并最终选择误差最小的样本进行演示。
4)SR-LSTM[17]:在LSTM 基础上加入一种新的状态精细化模块,从而提取运动意图信息,仍然采用编码器-解码器的结构。
5)SIGAN[16]:使用GAN 处理轨迹,使用LSTM 进行编码,然后使用“时空亲和力”区分不同的行人并且在社会交互模块中采用局部池化的方式从而提取出邻居行人对目标行人的交互影响信息。
2.4 实验结果
2.4.1 不同预测模型之间的比较
表1 给出了tobs=8 和tpred=12 时,SLTM、SGAN、SR-LSTM、SIGAN 与SRA-SIGAN 的ADE 和FDE 值,结果数值越 小代表效果越好。tobs和tpred的取值与上述预测模型文献中的设置保持一致。另外,由于CIDNN 仅有tobs=5 和tpred=5 的结果,因此,为了便于比较,本文也给出了在tobs=5 和tpred=5 时,CIDNN 与SRA-SIGAN 的ADE 值,如表2 所示。
表1 不同预测模型的ADE和FDE对比(tobs=8,tpred=12) 单位:mTab.1 ADE and FDE comparison of different prediction models(tobs=8,tpred=12) unit:m
表2 CIDNN与SRA-SIGAN的ADE对比(tobs=5,tpred=5) 单位:mTab.2 ADE comparison of CIDNN and SRA-SIGAN(tobs=5,tpred=5) unit:m
由表1 结果可知,除了在Hotel 数据集上的SIGAN 模型预测效果最好以外,SRA-SIGAN 模型对ADE 和FDE 的预测结果是最好的,尤其是在Zara1 和Zara2 数据集上。例如,在Zara1 数据集上,SRA-SIGAN 比SR-LSTM 的ADE 和FDE 分别减少了20.0%和10.5%,比SIGAN 的ADE 和FDE 分别下降了31.7%和24.4%。表2 的结果与表1 类似,SRA-SIGAN 在各个数据集上的表现均好于CIDNN 模型。
这是因为,仅采用LSTM 的预测模型没有考虑到行人的交互特征,SGAN 和SLSTM 仅考虑基于位置的特征效果也有所欠缺;CIDNN 也只提出了空间亲和力,缺乏时间亲和力的思考;SIGAN 考虑了影响目标行人运动的邻居行人的速度和所在位置这两个因素;而SR-LSTM 只考虑了当前时刻与邻居行人的相对坐标的信息作为与邻居行人的运动意图。本文的SRA-SIGAN 结合了上述模型的优点,采用SR-LSTM 编码和速度注意力机制,既考虑了邻居当前的运动意图,也考虑到了与邻居行人的基于速度和位置上的交互信息。此外,SRA-SIGAN 采用的局部池化,也能更好地处理邻近行人间的社会交互,从而在性能上有显著提高。同时也要看到,SRASIGAN 在Hotel 数据集上表现略逊于SIGAN 和SLSTM,这是因为Hotel 数据集中多为直线型道路,场景相对简单,在特殊情况下可能会造成SRA-SIGAN 模型的过拟合。
2.4.2 SRA-SIGAN不同模块之间的比较
1)SR-LSTM vs.LSTM。若SRA-SIGAN 模型采用基本的LSTM 作为位置编码器,就变成了基于速度注意力的SIGAN模型,这里称为VA-SIGAN 模型。表3 给出了在tobs=8 和tpred=12 时VA-SIGAN 与SRA-SIGAN 的ADE 和FDE 值。从中可 以看出,二者相比有明显差距,SRA-SIGAN 在所有数据集上的性能均优于VA-SIGAN。这说明SR-LSTM 在获取邻居行人运动意图上效果更明显。SR-LSTM 除了可以提取出目标行人本身的运动状态,还可以提取出其邻居行人的运动意图信息,而运动意图信息对于后面处理行人交互的问题上有至关重要的意义。
表3 SRA-SIGAN与VA-SIGAN的ADE和FDE对比(tobs=8,tpred=12) 单位:mTab.3 ADE and FDE comparison of SRA-SIGAN and VA-SIGAN(tobs=8,tpred=12) unit:m
2)有注意力 vs.无注意力。若SRA-SIGAN 模型不采用速度注意力机制,就变成了基于SR-LSTM 的SIGAN 模型,这里称为SR-SIGAN 模型。表4 给出了在tobs=8 和tpred=12 时,SR-SIGAN 与SRA-SIGAN 的ADE 和FDE 值。从中可以看出,SRA-SIGAN 的性能在所有数据集上也都比SR-SIGAN 高,这说明基于速度的注意力机制是有效的。从实际的角度来说,行人在运动时会更注意那些运动速度较快的行人,这些人往往会较明显地影响到目标行人。另外,参考表1、3 的结果,可以看到VA-SIGAN 和SR-SIGAN 的性能总体上也都优于SIGAN,进一步验证了本文提出的SR-LSTM 和速度注意力机制在应用中的有效性。
表4 SRA-SIGAN与SR-SIGAN的ADE和FDE对比(tobs=8,tpred=12) 单位:mTab.4 ADE and FDE comparison of SRA-SIGAN and SR-SIGAN(tobs=8,tpred=12) unit:m
3)局部池化 vs.全局池化。行人在运动时为了避免发生碰撞,只能被迫改变运动轨迹,但这种行为只会发生在局部的区域中,相距很远的行人不可能发生碰撞。所以,设置式(6)中的局部池化参数k=1,2,…,20,得到不同的预测值,并将最佳预测值设置为最终结果,从而确定相应的k值。
图3、4 分别是不同数据集上ADE 和FDE 与k的关系曲线,可以看出,随着k值的增加,ADE 和FDE 都是先减小后增大,最后逐渐趋于稳定。当k=9,10 时,SRA-SIGAN 模型能实现最佳预测,验证了局部池化机制的有效性。
图3 不同数据集上ADE与k的关系曲线Fig.3 Relation curve between ADE and k on different datasets
图4 不同数据集上FDE与k的关系曲线Fig.4 Relation curve betweenFDE and k on different datasets
3 结语
本文提出了一个基于SR-LSTM 和注意力机制的社交生成对抗网络行人轨迹预测模型(SRA-SIGAN),该模型采用SR-LSTM 作为位置编码器来获取行人轨迹预测中的邻居行人的运动意图;同时,提出了基于速度的注意力机制以合理分配行人的影响力;最后,采用局部池化来发现最合适的行人交互影响范围。ADE 和FDE 的实验结果表明,SRA-SIGAN模型在预测精度方面明显优于其他模型。
在未来的工作中,将进一步考虑环境因素,在轨迹预测中加入环境中的道路特征以及静态或动态障碍物对行人轨迹的影响;另外,可考虑结合行人的平视及第一人称视角等不同视角进行行人轨迹的预测。