激光与光电子学进展, 2020, 57 (14): 141016, 网络出版: 2020-07-28   

基于GAN和注意力机制的行人轨迹预测 下载: 1486次

Pedestrian Trajectory Prediction Based on GAN and Attention Mechanism
作者单位
辽宁工程技术大学软件学院, 辽宁 葫芦岛 125105
摘要
提出一种结合群体交互信息和个体运动信息的生成对抗网络GI-GAN。首先,利用编码层中的双向长短期记忆网络BiLSTM提取观测时段内所有行人自身的运动行为隐藏特征;其次,基于双注意力模块,计算与轨迹生成关联度较高的个体运动信息和群体交互信息;最后,利用生成对抗网络进行全局联合训练,获得反向传播误差和各层的合理网络参数,解码器利用已获取的上下文信息生成多条合理预测轨迹。实验表明,与S-GAN模型相比,GI-GAN模型的平均位移误差和绝对位移误差分别降低了8.8%和9.2%,并且预测轨迹具有更高的精度和合理多样性。
Abstract
In this paper, a generative adversarial network GI-GAN that combines group interaction information with individual motion information is proposed. First, BiLSTM in the coding layer was used to extract the movement behavior of all pedestrians during the observation period. Second, based on a dual attention module, individual motion information and group interaction information having a high correlation with trajectory generation were calculated. Finally, using the generative adversarial network structure, global joint training was performed and the backpropagation error was obtained. Then, reasonable network parameters for each layer were obtained. Subsequently, the decoder used the acquired context information to generate multiple reasonable prediction trajectories. Experiment results show that compared with the S-GAN model, the average displacement error and absolute displacement error of the GI-GAN model are reduced by 8.8% and 9.2%, respectively, and the predicted trajectories have a higher accuracy and reasonable diversity.

1 引言

行人轨迹预测是计算机视觉领域的热点研究问题之一,在汽车的自动驾驶[1]、机器人自动导航[2-4]、城市街道规划[5]等领域得到广泛应用。行人轨迹预测模型主要分为传统数学统计模型和以数据驱动为主的神经网络模型。传统数学统计模型依赖人工设计的特征对行人的动作和交互进行建模。Helbing和Molnar[6]提出的社会力模型,将行人与目标运动项、其他行人、障碍物之间的影响因素转换为相应的引力和斥力,利用这些作用力和数学解析式构建模型来推断行人移动路径。曹宁博等[7]在此基础上添加了离散网格,提出了改进的社会力模型。Kitani等[8]使用马尔科夫方法构建模型,并利用强化学习训练模型参数,对可能的目标输出轨迹,结合最优控制理论实现轨迹输出。传统模型的局限性在于只能模拟行人的即时本能反应,不能考虑长期的依赖信息和适应复杂的移动场景[9]

近几年以数据驱动为主的神经网络模型已被证明优于传统的数学统计模型。其中以LSTM编码-解码系列模型和基于生成对抗网络的GAN模型最具代表性。LSTM在各领域中都有广泛的应用,如语言翻译[10]、文本情感分析[11]等。考虑到行人轨迹序列具有时空序列数据的特征,LSTM模型[12]将场景中的每个行人轨迹序列单独使用LSTM网络进行编码和解码,学习每个行人的运动行为特征,解码器,根据上下文信息生成场景内行人的预测轨迹,但该模型未考虑现实场景中行人之间的交互性。Alahi等[13]在LSTM模型的基础上提出S-LSTM模型,在LSTM模型中加入社交池化层,该层基于空间距离的方式共享邻近行人的隐藏信息,获取邻近行人的交互关注度。但基于空间距离获取交互性的方式并不符合实际情况,因为距离越近,并不意味着行人的交互程度更高。GAN 网络[14]的生成对抗思想在图像领域应用广泛,例如:彭晏飞等[15]结合GAN与哈希算法的图像检索,取得了较好成绩;Gupta等[16]基于生成对抗网络思想提出了S-GAN和S-GAN-P模型,相较于LSTM编码-解码系列模型,S-GAN和S-GAN-P模型在总体时段和单个时间点的预测精度均更高。但加入最大池化层的S-GAN-P模型预测精度不及S-GAN模型(未提取行人交互信息),这可能是因为S-GAN-P模型中交互信息的获取方式与实际场景中行人对目标的关注方式不同。

本文提出一种基于S-GAN网络结构的GI-GAN模型,将编码层LSTM网络替换为BiLSTM[17],以获取具有更多细节的行人运动隐藏状态。通过引入注意力机制[18],在编码器和解码器之间添加注意力模块[19],采用双注意力模块分别计算对轨迹影响较大的行人个体运动信息和群体交互信息。相较于其他模型基于空间距离和最大池化的方式,双注意力模块根据信息依赖程度对多维数据的压缩表示,选取结构化输入数据,抓住影响轨迹的关键点信息,选择性地对行人关注点进行权重分配,减小数据处理的负担,可提取更多关键信息,更符合现实场景中行人对路径的规划方式。所设计模型在满足实时性的基础上,提高了轨迹预测精度,且能够生成多条合理轨迹。

2 GI-GAN模型原理

所提出的GI-GAN模型总体结构如图1所示,模型由生成器和鉴别器两部分构成。生成器包含编码器(G-encoder)、解码器(decoder)和双注意力模块(attention module),鉴别器由编码器(D-encoder)、全连接层(FC)和多层感知机(MLP)构成。FC将学习到的特征映射到样本标记空间,再通过MLP解码分类。利用损失模块(loss module)对模型进行反向传播优化,减少各层损失值。模型须设定初始化超参数,如单个行人预测轨迹生成数量K、生成器和鉴别器的学习率、隐藏向量维度、嵌入向量维度等。

图 1. GI-GAN模型的总体架构

Fig. 1. Overall architecture of GI-GAN model

下载图片 查看所有图片

模型训练过程分为4个部分。1)行人轨迹数据本质上属于时序数据,因此可将时段τ=(1,2,…,τobs)的序列作为历史观测轨迹O=(O1,O2,…,Oi,…,ON),其中,τobs为观测时段最后一个时间点,N表示该时段场景里的行人数量,行人坐标为Oi={( xi(τ), yi(τ))∈R2|τ=1,2,…,τobs},其中,i为场景内任意一个行人, xi(τ)表示行人iτ时间点的横坐标, yi(τ)表示行人iτ时间点的纵坐标。通过编码器G-encoder对所有行人的历史观测序列进行非线性运算,提取He=[He1,He2,…,Hei,…,HeN]。He表示场景内N个行人在观测时段τ=(1,2,…,τobs)各个时间点的隐藏状态向量矩阵,Hei表示行人i在观测时段的隐藏状态向量矩阵。2)将随机生成的高斯噪声矩阵zhe(τobs)相结合, he(τobs)表示N个行人在最后观测时间点的行人运动隐藏状态向量矩阵。加入高斯噪声矩阵z的目的是训练解码器的降噪能力。值得注意的是,每个行人都有自己独立的编码层和解码层,双注意力模块包含个体运动模块和群体交互模块。 hd(τ-1)=[ hd1(τ-1), hd2(τ-1),…, hdi(τ-1),…, hdN(τ-1)]表示(τ-1)时间点场景内所有行人的运动隐藏状态向量矩阵,将Hei与解码器上一时间点的行人运动隐藏状态向量 hdi(τ-1)输入到个体运动模块,计算当前时间点的个体运动信息 Ci(τ),汇集场景内行人当前时间点的个体运动信息,得到C(τ)=[ C1(τ), C2(τ),…, Ci(τ),…, CN(τ)]。利用 Ci(τ)与空间相对特征输入到群体交互模块,计算行人之间的群体交互信息 Si(τ)。空间相对特征隐含行人在空间中的相对潜在特征信息,如相伴时长、相对距离等。3)在预测时段τ=(τobs+1,τobs+2,…,τobs+τpred)内,(τobs+τpred)是预测时段最后一个时间点。在该预测时段内行人的真实轨迹为P=(P1,P2,…,Pi,…,PN),坐标为Pi={( xi(τ), yi(τ))∈R2|τ=τobs+1,τobs+2,…,τobs+τpred}。空间特征包含行人自身隐含的、未经提取的潜在特征信息,将上一时间点(τ-1)行人i的空间特征信息、双注意力模块计算的上下文向量 Ci(*τ)和行人运动隐藏状态向量 hdi(τ-1)输入到解码层,计算预测轨迹点 P^i(τ)=( x^i(τ), y^i(τ)),汇集各个行人当前时间点的预测轨迹点,得到 P^(τ)=( P^1(τ), P^2(τ),…, P^i(τ),…, P^N(τ))。经过预测时段序列的传递,生成预测轨迹序列 P^i={( x^i(τ), y^i(τ))∈R2|τ=τobs+1,τobs+2,…,τobs+τpred}。4)将观测轨迹O连接到预测轨迹 p^=( p^1, p^2,…, p^i,…, p^N),输入鉴别器。计算得到轨迹序列的隐藏特征向量矩阵 hdis(τ)=[ hdis1(τ), hdis2(τ),…, hdisi(τ),…, hdisN(τ)],使用FC和MLP将其解码分类,判断轨迹真实性。将真实轨迹(O,P)输入鉴别器,使用鉴别器判断输入序列是否为行人真实轨迹。通过损失函数计算模型损失,优化生成器和鉴别器中的各层网络。由于注意力模块采用软性注意力机制,误差可以反向传播,模型可以进行端到端的训练。通过生成器与鉴别器进行大量对抗训练,使各层网络参数更新优化,预测轨迹更趋近于真实轨迹。

现有模型只提取N个行人在最后时间点的隐藏状态向量 he(τobs),作为解码器全局上下文信息。GI-GAN模型则提取编码器各个观测时间点的行人运动隐藏状态向量,将其放入矩阵He。双注意力模块计算观测时段的行人运动行为与解码器上一时间点的运动行为关联度,以及行人之间的交互性,并将计算结果输入到解码器中,使解码器的上下文信息随着序列传递动态变化。模型若只考虑最后时间点的行人运动特征,忽视其余时间点的上下文关键信息,不利于模型学习随机性较强的行人长期路径。在行人复杂拥挤环境中,轨迹生成受各方面因素的影响,本研究从时间维度和空间维度对影响因素进行区分。包含行人自身速度、加速度、目的地等潜在特征的行人运动模式,反映在一段时间内的每个行人运动隐藏状态中,可以理解为时间维度影响因素。通过个体运动模块计算个体运动信息,捕获每个行人运动隐藏状态在不同时间点的关联程度,计算时间维度对行人轨迹的影响。将行人之间存在的显式或隐式交互性作为空间维度影响因素。群体交互模块利用当前时间点的个体运动信息与空间相对特征,计算行人之间的相互影响权重,生成对应的上下文向量,并将其作为群体交互信息。将两个模块的计算结果结合,得到包含整体时间和空间影响的语义表示向量。编码器网络采用BiLSTM[17],BiLSTM由前向网络和后向网络组成。相较于LSTM,BiLSTM借助双向编码机制[20],能获取更准确的序列潜在特征关联性,实现更细粒度关联各时间点的行人运动隐藏状态。除此之外,LSTM网络在提取观测轨迹序列特征和压缩信息的过程中,由于网络局限性,可能忽略了部分重要信息。BiLSTM网络从行人轨迹中获取双向行人运动隐藏状态,并融合所获取的信息,可降低序列传递过程中隐藏状态的信息损失度。

3 GI-GAN模型架构

3.1 编码层

在编码层输入一段行人轨迹序列,计算各时间点编码后的隐藏状态向量。由于序列中每个元素都是一对坐标,本实验在轨迹序列进入BiLSTM网络前,已对序列进行预处理。把观测时段行人i的轨迹序列( xi(τ), yi(τ)),τ=1,2,…,τobs经过嵌入层(embedding)映射到空间中,转化为能被网络接收的空间特征向量 fi(τ)。编码层相关公式为

fi(τ)=fFC1(xi(τ),yi(τ);WFC1),(1)hei(τ)=BiLSTM(hei(τ-1),fi(τ);Wencoder),(2)hei(τ)=ϕ(hei(τ);Wcut1),(3)

式中:fFC1为嵌入层;WFC1fFC1的网络参数;Wencoder为编码函数BiLSTM的网络参数,输出 hei(τ), hei(τ)表示行人iτ这个时间点上的行人运动隐藏状态向量,反映了该时间点行人i的速度、加速度、目的地等潜在特征信息。网络采用双向编码方式,使得 hei(τ)包含双向编码信息,通过全连接神经网络ϕ融合 hei(τ)里的双向编码信息,Wcut1ϕ的网络参数。最后将各编码层的行人在观测时段各时间点的隐藏状态向量存入He=[He1,He2,…,Hei,…,HeN]矩阵,其中Hei=[ hei(1), hei(2),…, hei(τobs)]。

3.2 解码层

在解码层运行前,需要对LSTM网络进行初始化。由于序列连贯性,神经单元使用上一时间点输出的隐藏状态向量作为初始隐藏状态。 hei(τobs)是编码层最后时间点的隐藏状态向量,可作为解码层的初始隐藏状态。先将 hei(τobs)经过MLP,得到适合解码层嵌入维度的向量。为提高解码层的降噪能力,在训练过程中通过带tanh的简单连接层,将其与随机生成的高斯噪声矩阵z拼接,得到解码器层初始隐藏状态 hdi(τ-1)(此时τ=τobs+1)。解码层相关公式为

hdi(τ-1)=tanh([fMLP1(hei(τobs);WMLP1);z];Wtanh),(4)Di(τ)=LSTM(hdi(τ-1),Ci(),Di(τ-1);Wdecoder),(5)P^i(τ)=(x^i(τ),y^i(τ))=fMLP2(Di(τ);WMLP2),(6)

式中:fMLP1fMLP2为多层感知机;WMLP1WMLP2为其网络参数;Wtanh为带tanh的连接层的网络参数。解码函数LSTM的网络参数为Wdecoder,将上一时间点(τ-1)的预测轨迹 P^i(τ-1)映射得到空间特征信息 Di(τ-1)。将双注意力模块已汇集的向量 Ci(*τ)作为当前时间点τ的上下文信息,联合上一时间点的隐藏状态 hdi(τ-1),输入到神经单元LSTM。通过非线性运算,输出空间特征信息 Di(τ),通过MLP映射到坐标空间得到预测轨迹点 P^i(τ)。经过预测时段神经单元的传递,生成预测轨迹序列 P^i={( x^i(τ), y^i(τ))|τ=τobs+1,τobs+2,…,τobs+τpred}。

3.3 双注意力模块

双注意力模块由个体运动模块和群体交互模块构成,分别提取行人在每个预测时间点的个体运动信息和群体交互信息。因为每个行人都有不同的运动习惯,故每个行人对于之前时间点的隐藏状态向量具有不同的关联度。仅将编码层最后时间点隐藏状态向量 hei(τobs)作为解码层的全局上下文信息,忽略之前时间点的隐藏状态向量,这对于解码层获取轨迹序列的时间依赖信息是不完整的。通过引入个体运动模块,在不同预测时间点学习每个行人对其观测时段所获取的隐藏状态向量的关注焦点。从时间维度层面,获取关联度更高的运动影响因素。除了考虑自身运动习惯因素外,在拥挤的行人场景,行人会结合空间影响因素和自身运动习惯,得到适合自身的移动路径,故需考虑行人在空间上的交互性对于轨迹生成的影响。将每个行人上一时间点的个体运动信息和当前时间点的行人空间相对特征,输入到群体交互模块。建立一个包含所有行人的空间状态地图,模拟现实行人对周围环境和他人运动状态的观察机制[21],输出每个行人的群体交互信息。

个体运动模块公式为

Ei(τt)=fMLP3(hdi(τ-1),hei(t);WMLP3),(7)ai(τ)=fatt(Hei,Ei(τ)),(8)Ci(τ)=t=1τobsai(τt)·hei(t),(9)

式中:WMLP3为多层感知机fMLP3的网络参数。为了建立编码层与解码层的关联,将编码层的隐藏状态向量 hei(t),(t=1,2,…,τobs)与解码器上一时间点的隐藏状态向量 hdi(τ-1)输入到MLP中,得到分数矩阵 Ei(τ)。元素 Ei(τt)表示在τ时间点行人i的隐藏状态向量 hei(t)hdi(τ-1)的关联性得分,分数越高表示关联程度越高。把得到的分数矩阵 Ei(τ)与观测时段隐藏状态向量矩阵Hei=[ hei(1), hei(2),…, hei(τobs)]输入到注意力函数fatt,得到归一化的权值矩阵 ai(τ)。元素 ai(τt)之和为1,表示 hei(t)在个体运动信息 Ci(τ)里的权重。 Ci(τ)作为 hei(t)的加权平均,维度与 hei(t)相同。

群体交互模块根据上一时间点的个体运动信息和空间相对特征建立空间状态地图。计算τ时间点任意行人i的群体交互焦点,获取行人i的群体交互信息 Si(τ)。最后将场景中所有行人的群体交互信息存入矩阵S(τ)=[ S1(τ), S2(τ),…, Si(τ)…, SN(τ)]。相关公式为

fij(τ)=fFC2(xj(τ)-xi(τ),yj(τ)-yi(τ);WFC2),(10)qi(τ)=fatt(fi(τ),Cj(τ-1),ji),(11)Si(τ)=jiNqij(τ)·Cj(τ-1),(12)Ci(*τ)=tanh([Ci(τ);Si(τ)];Wtanh),(13)

式中:WFC2为全连接层fFC2的网络参数;Wtanh为带tanh的连接层的网络参数。首先,群体交互模块将行人i与其他行人的相对轨迹输入到全连接层,得到空间相对特征矩阵 fi(τ)=[fi1(τ),fi2(τ),,fij(τ),,fiN(τ)],ji,向量 fij(τ)表示在τ时间点行人i与行人j的空间相对特征。其次,将上一时间点的个体运动信息 Cj(τ-1)fi(τ)构成空间状态地图,输入到注意力函数fatt。将计算结果归一化处理,得到影响权重向量 qi(τ)=[ qi1(τ), qi2(τ),…, qij(τ)…, qiN(τ)],然后通过加权求和计算 Si(τ),元素 qij(τ)表示行人j对行人i在空间维度上的影响权重。影响权重之和为1,影响权重决定行人i对该行人的关注度大小。最后,将个体运动信息 Ci(τ)和群体交互信息 Si(τ)通过带tanh的连接层,输出包含整体时空影响因素的注意力向量 Ci(*τ)

3.4 鉴别器

鉴别器又被称为判别模型,本质上属于二分类模型,对生成器所生成的轨迹序列进行判断,判断其是否为行人真实轨迹序列。借助生成器与鉴别器的联合训练机制,可训练出一个优秀的判别模型,使得生成器生成更高精度的预测轨迹。鉴别器的编码函数为BiLSTM,网络参数为 Wdis。将行人 i的真实轨迹样本与生成轨迹样本依次输入到模型中,生成轨迹样本 T^i=(Oi, P^i)由观测轨迹和预测轨迹构成,真实轨迹样本Ti=(Oi,Pi)由观测轨迹与真实轨迹构成。Oi是行人观测时段轨迹序列,Pi是对应于预测轨迹序列 P^i的真实轨迹。将行人i的真实轨迹序列Ti映射为空间特征向量Ri,输入到BiLSTM网络,其中, Ri(τ)表示行人iτ时间点的空间特征信息。

hdisi(τ)=BiLSTM(hdisi(τ-1),Ri(τ);Wdis),(14)hdisi(τobs+τpred)=ϕ(hdisi(τobs+τpred);Wcut2),(15)Qdis=fMLP4(hdisi(τobs+τpred);WMLP4),(16)

式中:Wcut2为全连接神经网络ϕ的网络参数;WMLP4为多层感知机fMLP4的网络参数。BiLSTM网络学习轨迹序列的隐藏特征信息 hdisi(τ),经过序列在神经网络的传递不断更新学习。在序列的最后预测时间点(τobs+τpred)输出隐藏特征信息 hdisi(τobs+τpred)。将 hdisi(τobs+τpred)输入到嵌入层,输出匹配MLP嵌入维度的向量。通过MLP将输入向量解码,利用softmax分类器计算输出结果,输出分数为Qdis,分数越高,表示输出轨迹为真实轨迹的概率越大。生成轨迹序列输入鉴别器的步骤与真实轨迹输入鉴别器的步骤相同。

3.5 损失函数

损失函数由LGAN(G,D)和LL2(G)两部分组成,LGAN(G,D)是生成器与鉴别器的对抗训练损失值,LL2(G)基于最大似然定理和概率分布的函数,表示行人i的真实轨迹序列Ti映射的空间特征向量RiK个预测位移的空间特征向量Gspace(z)的最小差值,目的是使生成的预测轨迹能更好地拟合真实轨迹。λ为权重,作用是平衡这两部分的损失值。通过对损失反向传播,更新模型各层的网络参数和权重。

L=argminGmaxDLGAN(G,D)+λ·LL2(G),(17)LGAN(G,D)=Ex~Pi(x)[lnD(Ri)]+Ez~P^i(x)1-lnD[Gspace(z)],(18)LL2(G)=minkEz~P^i(x)[Ri-Gspace(z)2],(19)L(D)=12mi=1m[D(Ri)-1]2+i=1mD[Gspace(z)]2,(20)L(G)=1mi=1mD[Gspace(z)]-12+i=1mRi-Gspace(z)2,(21)

式中:L为损失函数;G为生成器;D为鉴别器; Ex~Pi(x)为鉴别器的损失函数,展开式为L(D), Ez~P^i(x)为生成器的损失函数,展开式为L(G);Pi是对应于预测轨迹序列 P^i的真实轨迹;k为超参数,表示单个行人的k条生成轨迹;m为一个batch里场景行人的数量。

对抗损失采用二元交叉熵作为损失函数,用来表征模型生成轨迹分布和真实轨迹分布的差异性。假设模型训练的轨迹数据与行人真实轨迹分布一致,利用最小化二元交叉熵使得生成轨迹分布和训练轨迹分布尽可能相似。

3.6 模型训练步骤

GI-GAN模型主体由生成器和鉴别器构成,在训练的时候,两者交替进行。设定鉴别器在batch中训练一次,生成器训练一次。鉴别器的训练步骤如下:

Step 1 从batch中抽取真实轨迹序列分布,其中包含历史观测轨迹和真实轨迹。将观测轨迹输入到生成器中,得到预测轨迹序列,并将观测轨迹与预测轨迹连接为生成轨迹分布。

Step 2 将两条轨迹序列依次输入到鉴别器中,计算各轨迹序列的评分结果,根据评分判断是否为真实轨迹。

Step 3 将两条轨迹序列的评分输入到鉴别器损失函数LGAN中,计算预测轨迹序列和真实轨迹序列的数据损失,通过梯度下降的方式,更新鉴别器的网络参数。

生成器的训练步骤为:

Step 1 将观测轨迹输入到生成器,得到预测轨迹序列,把真实轨迹序列和生成轨迹序列依次输入到鉴别器中;

Step 2 计算生成器与鉴别器之间的损失LGAN与真实位移-预测位移之间的LL2(G)损失,并将两种损失按(17)式相加得到损失值VLoss;

Step 3 根据损失值VLoss,采用梯度下降的方式调整生成器的网络参数。

通过这种训练方式,生成器与鉴别器的网络参数在训练中不断优化,两者性能也不断提高,使得生成轨迹趋近于行人的真实轨迹分布。

4 实验结果与分析

4.1 实验设置

为验证模型的轨迹预测性能,选用数据集ETH[22]、UCY[4]对模型进行训练和测试。ETH数据集中的子数据集为ETH和Hotel,分别为大学外部、公共汽车站的场景;UCY数据集包含子数据集Univ、Zara 1和Zara 2,场景为大学和购物街。训练数据集和测试数据集占比分别为70%和30%,采用五折交叉验证的方式训练模型,训练每个子数据集时,将其余4个子数据集作为训练数据,选取在验证集上性能最好的模型进行测试。为了判断模型性能的优劣,将模型与Linear、LSTM、S-LSTM、S-GAN和S-GAN-P这5种具有代表性的模型进行对比分析。实验的训练和测试工作均在Windows 7平台进行,python版本为3.5,Cuda版本为8.0,模型基于pytorch 0.4深度学习框架。计算机的配置为英特尔Xeon(至强)E3-1220v5@3.00 GHz、16 GB RAM、Nvidia Tesla K20c (GK107)。

4.2 模型训练参数及过程

模型训练分为生成器训练和鉴别器训练两部分,生成器的初始学习率设置为1×10-3,鉴别器的初始学习率设置为1×10-2。模型的优化算法采用Adam[23],为了防止过拟合,采用学习率衰减中的线性衰减方式,迭代次数每隔4000次将学习率降为一半,LL2(G)的初始权重值λ为1,每次迭代选取的样本数batch_size为64,且鉴别器和生成器在每次迭代结束时反向传播一次。在训练和测试时,根据下文数据列表,取生成器的采样次数K为20。训练的迭代次数设为8000次,观测时段序列τobs长度为8,预测时段序列τpred长度为8。GI-GAN模型与S-GAN模型的生成损失、鉴别损失和位置偏移损失对比如图2所示。

图2可知,通过不断迭代,两个模型的生成损失和位置偏移损失整体呈下降趋势。随着模型训练的进行,损失趋于平稳。鉴别损失总体平稳缓慢上升,在迭代到8000次时,损失都已趋于平稳。与S-GAN模型相比,GI-GAN模型训练所需迭代次数更少,更快趋于稳定,在小范围内波动也较小。

K值表示模型在训练或测试过程中生成的单个行人轨迹的数量。KV-K模型表示在训练和测试过程中,模型解码层对单个行人的预测时段进行了K次迭代,生成对应的K条预测轨迹。1V-K模型表示在训练过程中,模型解码层对单个行人的预测时段迭代1次,生成1条预测轨迹;在测试过程中对单个行人的预测时段进行了K次迭代,生成对应的K条预测轨迹。理论上K值越大,模型所能考虑的情况也更多,故预测准确度也更高。通过筛选模型生成的K条预测轨迹,选取其中预测轨迹与真实轨迹的最小误差值作为L2损失,生成器对于各层网络参数优化也更准确。K值会影响模型速率(单batch的训练和预测时间)和预测精度,K值过大,模型在序列迭代过程中耗费更多时间,模型速率下降;K值过小,模型的预测精度也会降低。因此要选定一个合理的K值作为模型的超参数。受文献[ 16]的启发,通过设置一些有代表性的K值点,查看预测损失下降趋势,得到最佳K值点。此过程无需对所有K值点进行对比,但由于数据集较大和训练迭代次数较多,模型单次训练时间成本较高。随着K值增大,模型的训练和运行速率不断降低。为了验证在最佳K值之后,随着K值的增大,预测损失下降趋势逐渐减缓,直至趋于平衡这一理论分析,将K值点设置为1、10、15、20、25、50和100,通过分析实验结果找到预测损失下降趋势最大的K值点。利用各个模型不同K值点的平均位移误差(ADE),得到各个模型在这些K值的预测损失下降趋势,从而找到使模型速率和预测精度最佳平衡的K值。

图 2. 模型训练损失对比。(a)生成损失;(b)鉴别损失;(c)位置偏移损失

Fig. 2. Comparison of model training loss. (a) Generated loss; (b) discriminant loss; (c) position offset loss

下载图片 查看所有图片

本实验对比了S-GAN模型、GI-GAN-NA模型和GI-GAN模型在不同K值时的预测精度。GI-GAN-NA模型不含双注意力模块,但其余各层结构和参数均与GI-GAN模型相同。3个模型在不同K值时的预测精度对比如图3所示。

图 3. 不同K值下各模型的ADE结果。(a) S-GAN预测损失;(b) GI-GAN-NA预测损失;(c) GI-GAN预测损失

Fig. 3. ADE results of models under different K values. (a) S-GAN predicting loss; (b) GI-GAN-NA predicting loss; (c) GI-GAN predicting loss

下载图片 查看所有图片

图3中各模型K值的预测损失值,为5个子数据集的ADE平均值。从图3可以看出随着K值增大,3个模型的预测损失值均下降,最后趋于稳定。从3个模型的预测损失值可以看出,当K值大于20,随着K值增大,模型预测损失的下降趋势开始减缓。通过选取图3较有代表性的K值,采用KV-K设定,得到3个模型的ADE结果对比如表1所示。

表1对比了K 值为1、20、25和50时,3个模型的预测损失值的变化。结合图3表1的数据可知,3个模型中预测损失下降趋势最大的K值为20,且S-GAN模型在K值为20和25时ADE相差很小。为使对比实验结果排除参数设置的干扰,且从模型速率和预测精度考虑,本研究将3个模型的最佳平衡K值选定为20。

表 1. 不同K值下3种模型的ADE结果对比

Table 1. Comparison of ADE results of three models under different K values

K-valueADE
S-GANGI-GAN-NAGI-GAN
10.4760.4830.488
200.3390.3310.310
250.3310.3220.298
500.3120.2970.280

查看所有表

4.3 预测精度结果与分析

为了评估不同模型的预测误差,引入文献[ 16]使用的ADE和绝对位移误差(FDE)[24]指标。ADE(EADE)是指预测时段内每一个时间点的预测轨迹和真实轨迹的平均欧氏距离,FDE(EFDE)是指预测时段最后一个时间点的预测轨迹和真实轨迹的平均欧氏距离。误差值越小,表明预测轨迹和真实轨迹越接近。

EADE=i=1nt=τobs+1τpred[(x^t(i)-xt(i))2+(y^t(i)-yt(i))2]n[τpred-(τobs+1)],(22)EFDE=i=1n(x^t(i)-xt(i))2+(y^t(i)-yt(i))2n(23)

在此次对比实验中,S-GAN系列模型为最新改进版本,相较于之前的模型,其预测精度有较大提升。对比实验包含线性模型Linear、LSTM系列模型、S-GAN系列模型和所提出的GI-GAN系列模型。由表2可知,GI-GAN模型的平均ADE和FDE值均为最低,预测轨迹精度最高,GI-GAN-NA模型的评价指标总体上也优于S-GAN模型。比较各个模型在单个数据集的表现,发现S-GAN模型在数据集Hotel、Zara 1的预测精度最高,GI-GAN-NA模型在数据集Zara 2取得了最高的预测精度,GI-GAN模型在数据集Univ和ETH的预测精度最高。

5个数据集所描述的场景分别为大学外部、公共汽车站、大学和购物街,其中Zara 1和Zara 2数据集行人相对较少,多数行人轨迹呈线性,行人之间的交互较少;ETH、Univ和Hotel数据集中行人较为密集,但Hotel数据集里的行人多为线性移动,ETH和Univ数据集的行人大多为非线性移动,且行人之间存在较多交互。GI-GAN模型在ETH和Univ数据集的误差值最小,说明双注意力模块比较完整地捕获行人之间的交互信息;但在Hotel、Zara 1和Zara 2数据集的表现不及S-GAN模型和GI-GAN-NA模型,这两个模型不含群体交互模块,无法捕捉行人的交互信息,且GI-GAN-NA模型除了不含双注意力模块,其余结构和参数设置与GI-GAN模型一致。故GI-GAN模型在Hotel、Zara 1和Zara 2数据集表现不及预期的原因,与双注意力模块有关。Hotel、Zara 1和Zara 2数据集场景中行人多呈线性移动,行人之间交互较少,导致群体交互信息所占影响权重较小,由双注意力模块得到的上下文信息在解码层利用信息的权重不符合实际情况,从而导致GI-GAN模型的预测精度降低。为了验证此次分析结果,通过设置行人交互较多和交互较少的场景,对比GI-GAN模型在这两种场景的性能差异。

综合表2的实验数据可知,GI-GAN模型更适用于复杂的行人交互场景。相对于其他模型,GI-GAN模型的ADE和FDE指标平均值均为最小,预测精度较高。

为了分析GI-GAN模型在Hotel、Zara 1和Zara 2数据集的表现不及S-GAN模型的原因,以及各个模型在真实场景的性能表现,对不同场景下各模型的预测轨迹进行对比。真实场景中的预测轨迹对比如图4所示,其中包含9个行人场景,本实验通过这些场景模拟现实行人环境。

表 2. 不同模型的ADE和FDE结果对比

Table 2. Comparison of ADE and FDE results of different models

ModelLinearLSTMS-LSTMS-GANS-GAN-PGI-GAN-NAGI-GAN
ETH0.840.710.730.600.650.570.41
Hotel0.350.550.480.310.370.330.39
ADE /mUniv0.560.360.420.350.400.320.31
Zara 10.410.250.270.220.230.230.25
Zara 20.540.310.330.200.210.190.21
AVG0.540.440.450.340.370.330.31
ETH1.591.461.481.131.231.120.73
Hotel0.601.171.010.570.890.590.64
FDE /mUniv1.010.770.840.710.790.720.69
Zara 10.730.540.550.420.430.430.46
Zara 20.950.650.740.430.440.400.45
AVG0.980.920.920.650.760.650.59

查看所有表

图 4. 不同模型的预测轨迹对比。(a)~(g) GI-GAN模型轨迹预测正确图;(h)(i) GI-GAN模型轨迹预测错误图

Fig. 4. Comparison of prediction trajectories of different models. (a)-(g) Correct graphs of GI-GAN model trajectory prediction; (h)(i) error graphs of GI-GAN model trajectory prediction

下载图片 查看所有图片

根据场景中各模型的预测轨迹点与真实轨迹点的距离,可比较各模型的性能差异。图4中箭头指向的圆点是观测时段的最后时刻τobs,其后为各模型对应的预测轨迹点。在这9个场景中,图4(a)、(c)、(e)~(i) 所示场景中行人较为密集,由视频数据可知行人之间的交互较多,图4(b)、(d)所示场景中行人较稀疏且交互较少。图4(a)~(g)包含多人并行、上方两行人保持水平向左行走,行人iτobs时刻匀速斜向上行走、行人i从站立的人群中穿过、两行人水平向左行走、行人i绕过站立人群等场景。在图4(h)、(i)所示的场景中,GI-GAN模型生成轨迹与真实轨迹差别较大。在图4(h)中,行人i前方出现一位行人,其往左躲避,移动距离较小,是较合理的一种方式。在图4(i)中,GI-GAN模型选择性地考虑周围行人的空间特征信息,为避免行人发生碰撞,选择改变轨迹方向。在这两个场景中,由于行人运动存在随机偶然行为,GI-GAN模型未能捕获这种信息,但所生成的预测轨迹具有其合理性。

综合各个模型在这些场景的表现,线性模型的预测轨迹未能捕获行人方向上的改变,预测轨迹呈线性展开,相比其他模型,其在复杂场景的预测结果不好。由于缺少鉴别器对生成轨迹优劣的评判,LSTM系列模型的表现不及GAN系列模型,GI-GAN-NA模型整体性能与S-GAN模型相差较小。在行人交互较多的场景中,GI-GAN模型的ADE和FDE指标最优;但在行人交互信息较少的场景中,GI-GAN模型的ADE和FDE指标不及S-GAN模型和GI-GAN-NA模型。由于GI-GAN-NA模型与GI-GAN模型的区别仅是不包含双注意力模块,其他结构和参数设置一致,因此双注意力模块的上下文信息在解码层利用信息的权重不符合该场景的交互情况,导致预测精度降低。图4(h)、(i)中行人运动具有偶然随机性,导致模型生成轨迹与真实轨迹有较大偏差,可通过生成多条合理轨迹,使模型充分考虑所能发生的情况,从而降低行人的偶然行为对模型预测结果的影响。综上所述,本实验证实了GI-GAN模型在行人交互信息较少的场景表现不及预期的原因,以及GI-GAN模型整体预测性能优于其他模型;相较于S-GAN模型,GI-GAN模型更适用于复杂多变的行人拥挤环境。

4.4 轨迹合理性

由于行人运动具有随机偶然性,仅生成单条预测轨迹是不够的,无法全面考虑未来将会发生的情况,致使模型的预测精度受偶然因素的影响较大。汽车的自动驾驶、机器人导航、行人道路交通、智能跟踪目标等技术中都需要预测行人的未来轨迹。若仅预测一种结果,突发的偶然因素可能会致使预测失败,从而导致严重的后果。因此,在这些技术中为单个行人预测多条轨迹,具有合理性和必要性。基于GAN结构的模型可通过设置超参数K值,为单个行人生成多条预测轨迹。本实验通过对比GI-GAN模型和GI-GAN-NA模型,判断双注意力模块在生成多条预测轨迹中的作用。由于GI-GAN-NA模型预测精度优于S-GAN模型,且都未提取行人之间的交互信息,因此选取GI-GAN-NA模型进行对比实验,对比结果如图5图6所示。

图 5. GI-GAN-NA模型生成的多条合理轨迹

Fig. 5. Multiple reasonable trajectories of GI-GAN-NA model

下载图片 查看所有图片

图 6. GI-GAN模型生成的多条合理轨迹

Fig. 6. Multiple reasonable trajectories of GI-GAN model

下载图片 查看所有图片

为使线条直观清晰,图5图6采用20V-10设定,即在训练过程中,选取K值为20,测试过程K取10;其他部分的实验采用20V-20的设定。图5图6所示分别为GI-GAN-NA模型和GI-GAN模型的多条合理轨迹。在模型训练过程中,对各行人的解码层迭代20次,每次迭代随机生成的输入噪声都不相同,上下文信息在每次迭代过程中也会发生细微变化。同理,在模型测试时,由于K值取10,因此得到每个行人10条不同的预测轨迹。

图5图6所示为场景中某一时段的行人移动路径,场景内包含6名行人,星形线段表示在τobs时刻后行人的真实轨迹,点状线段为模型生成的10条预测轨迹。可以看到GI-GAN-NA模型生成的轨迹在单步跨度和方向上与真实轨迹存在较大偏差,这可能是因为模型未考虑行人之间存在的交互性对轨迹生成所造成的影响,导致所生成的轨迹缺乏关联性,从而造成行人碰撞和方向跨度偏差等现象;GI-GAN模型利用双注意力模块为每个预测点汇集上下文信息,所生成的轨迹相较于GI-GAN-NA模型充分考虑了群体交互性和自身运动特征,生成的多条预测轨迹基本符合真实轨迹。综上所述,GI-GAN模型生成的多条预测轨迹相较于GI-GAN-NA模型更合理,双注意力模块可有效提高多条合理轨迹的预测精度,降低行人运动固有的随机偶然性对模型预测的影响。

鉴于GI-GAN模型能为单个行人生成多条合理预测轨迹,本研究选取几条预测轨迹数据,查看其在实际场景中所具有的合理性。图7所示为两个人迎面行走的场景,实线表示行人的真实轨迹,虚线表示预测轨迹。在图7(a)中,右边的行人为避免碰撞,调整了自己的行走方向,当确定不会碰撞时,则保持该方向继续行走。在图7(b)中,两位行人刚开始按原方向行走,当发现距离过近时,右边行人暂停前进,直到左边行人改变行走方向,右边行人才继续行走。在图7(c)中,两位行人为避让对方都调整了行走方向,并且朝着调整的方向继续行走。由图7所示的轨迹信息可知,GI-GAN模型生成的多条预测轨迹符合行人运动规律,结合行人交互考虑了未来会发生的状况,生成的K条轨迹具有其合理性。

图 7. 同一场景的多条合理预测轨迹。(a)保持原速度并转向水平方向;(b)减速等待并转向水平方向;(c)直接向左方向并加速

Fig. 7. Multiple reasonably predicted trajectories of same scene. (a) Maintain the original speed and turn to the horizontal direction; (b) slow down and wait, then turn to horizontal direction; (c) direct turn to the left and accelerate

下载图片 查看所有图片

4.5 模型效率比较

为测试模型的实时性是否满足实际应用,设置周期数为200,默认迭代次数为8000次,进行效率对比实验。由于每个子数据集的数据量不同,迭代次数会有所浮动,将模型在5个子数据集的平均运行速率作为实验结果。

由实验结果可知,LSTM、S-LSTM、S-GAN、S-GAN-P、GI-GAN-NA和GI-GAN模型的预测时间分别为0.52,0.83,1.49,1.83,1.67,1.92 s。在这些模型中,LSTM模型用时最少;S-LSTM模型由于添加了交互信息模块,相较于LSTM模型耗时较长,但与S-GAN、S-GAN-P、GI-GAN-NA、GI-GAN模型相比,模型运行用时较少;S-GAN-P模型在编码器层和解码器层嵌入池化模块,在解码器初始化时进行全局最大池化,相对于S-GAN模型,耗时性会有所增加;GI-GAN-NA模型采用了双向编码网络BiLSTM,相较于采用神经网络LSTM编码的S-GAN模型,其在编码过程所耗费的时间更长;GI-GAN模型中加入了双注意力模块,在解码层的每一个预测时间点,为每个行人单独汇集空间的群体交互信息和个体运动信息,相较于S-GAN模型和GI-GAN-NA模型,GI-GAN模型整体耗时较长。通过改进GI-GAN模型的代码循环迭代结构,可降低代码的时间复杂度,将batch中的序列进行预处理保存到全局向量中,以提高模型的运行速率。由模型预测实时性对比可知,GI-GAN模型在提升精度的同时,仍然符合实际应用的要求。

5 结论

所提出的GI-GAN模型借助于GAN的对抗训练机制和双注意力模块,提取行人自身运动特征和场景中行人之间的交互信息。与其他模型相比,GI-GAN模型的ADE和FDE指标均为最优,对行人轨迹的预测精度较高。对单个行人进行多条轨迹的预测工作,具有较高的应用价值。由实验结果可知,GI-GAN模型在复杂拥挤的环境中表现优异,对各个时间点的预测轨迹更趋近真实轨迹。由于GI-GAN模型解码器中引入了每一个时间点的交互信息模块,模型也存在耗时较长的问题,且在行人交互较少的场景,GI-GAN模型的表现与预期结果有所差距。因此,在接下来的研究中,通过改进模型的双注意力模块,进一步提高模型的预测精度,并在此基础上,着力提高模型的运行速率。

参考文献

[1] 茅正冲, 陈强. 基于PCA-LDA与SVM的AGV多分支路径识别与跟踪[J]. 激光与光电子学进展, 2018, 55(9): 091005.

    Mao Z C, Chen Q. Recognition and tracking of AGV multi-branch path based on PCA-LDA and SVM[J]. Laser & Optoelectronics Progress, 2018, 55(9): 091005.

[2] 赵立明, 叶川, 张毅, 等. 非结构化环境下机器人视觉导航的路径识别方法[J]. 光学学报, 2018, 38(8): 0815028.

    Zhao L M, Ye C, Zhang Y, et al. Path recognition method of robot vision navigation in unstructured environment[J]. Acta Optica Sinica, 2018, 38(8): 0815028.

[3] Kretzschmar H, Spies M, Sprunk C, et al. Socially compliant mobile robot navigation via inverse reinforcement learning[J]. The International Journal of Robotics Research, 2016, 35(11): 1289-1307.

[4] Lerner A, Chrysanthou Y, Lischinski D. Crowds by example[J]. Computer Graphics Forum, 2007, 26(3): 655-664.

[5] 周培培, 丁庆海, 罗海波, 等. 视频监控中的人群异常行为检测与定位[J]. 光学学报, 2018, 38(8): 0815007.

    Zhou P P, Ding Q H, Luo H B, et al. Anomaly detection and location in crowded surveillance videos[J]. Acta Optica Sinica, 2018, 38(8): 0815007.

[6] Helbing D, Molnar P. Social force model for pedestrian dynamics[J]. Physical Review E, 1995, 51(5): 4282-4286.

[7] 曹宁博, 陈永恒, 曲昭伟, 等. 基于社会力模型的行人路径选择模型[J]. 浙江大学学报(工学版), 2018, 52(2): 352-357.

    Cao N B, Chen Y S, Qu Z W, et al. Pedestrian path selection model based on social force model[J]. Journal of Zhejiang University (Engineering Edition), 2018, 52(2): 352-357.

[8] Kitani KM, Ziebart BD, Bagnell JA, et al. Activity forecasting[C]∥Proceedings of the 12th European Conference on Computer Vision, Florence, Italy. Berlin: Springer, 2012: 201- 214.

[9] 薛铸鑫. 视频数据驱动的智能人群仿真方法研究[D]. 北京:中国科学院大学, 2018: 34- 64.

    Xue ZX. Video data-driven intelligent population simulation method[D]. Beijing: University of Chinese Academy of Sciences, 2018: 34- 64.

[10] BahdanauD, ChoK, BengioY. Neural machine translation by jointly learning to align and translate[EB/OL]. [2019-10-08].https:∥arxiv.org/abs/1409. 0473.

[11] YaoY, HuangZ. Bi-directional LSTM recurrent neural network for Chinese word segmentation[C]∥23rd International Conference on Neural Information Processing, October 16-21, 2016, Kyoto, Japan. Berlin: Springer, 2016: 345- 353.

[12] XuK, QinZ, WangG, et al. Collision-free LSTM for human trajectory prediction[C]. Proceeding of International Conference on Multimedia Modeling, 2018: 106- 116.

[13] AlahiA, GoelK, RamanathanV, et al. Social LSTM: human trajectory prediction in crowded spaces[C]∥Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition, June 27-30, 2016, Washington, DC. New York: IEEE, 2016: 961- 971.

[14] Goodfellow I. Pouget-abadie J, Mirza M, et al. Generative adversarial networks[J]. Advances in Neural Information Processing Systems, 2014, 3: 2672-2680.

[15] 彭晏飞, 武宏, 訾玲玲. 基于哈希算法及生成对抗网络的图像检索[J]. 激光与光电子学进展, 2018, 55(10): 101002.

    Peng Y F, Wu H, Pei L L. Image retrieval based on hash algorithm and generated confrontation network[J]. Advances in Laser and Optoelectronics, 2018, 55(10): 101002.

[16] GuptaA, JohnsonJ, Li FF, et al. Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks[C]∥Proceedings of the 2018 IEEE Conference on Computer Vision and Pattern Recognition, June 18-22, 2018, Salt Lake. New York: IEEE, 2018: 2255- 2264.

[17] XueH, HuynhD, ReynoldsM. Bi-prediction: pedestrian trajectory prediction based on bidirectional LSTM classification[C]∥2017 International Conference on Digital Image Computing: Techniques and Applications (DICTA), November 29-December 1, 2017, Sydney, NSW, Australia. New York: IEEE, 2017: 1- 8.

[18] BartoliF, LisantiG, BallanL, et al. Context-aware trajectory prediction[EB/OL]. [2019-10-08].https:∥arxiv.org/abs/1705. 02503.

[19] 孙亚圣, 姜奇, 胡洁, 等. 基于注意力机制的行人轨迹预测生成模型[J]. 计算机应用, 2019, 39(3): 668-674.

    Sun Y S, Jiang Q, Hu J, et al. Pedestrian trajectory prediction generation model based on attention mechanism[J]. Computer Applications, 2019, 39(3): 668-674.

[20] 沈兰奔, 武志昊, 纪宇泽, 等. 结合注意力机制与双向LSTM的中文事件检测方法[J]. 中文信息学报, 2019, 33(9): 79-87.

    Shen L B, Wu Z H, Ji Y Z, et al. Chinese event detection based on attention mechanism and bidirectional LSTM[J]. Chinese Journal of Information Science, 2019, 33(9): 79-87.

[21] Yonetani R, Kitani K, Sato Y. Ego-surfing: person localization in first-person videos using ego-motion signatures[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(11): 2749-2761.

[22] PellegriniS, Ess A, van Gool L. Improving data association by joint modeling of pedestrian trajectories and groupings[C]∥Proceedings of the 2010 European Conference on Computer Vision, September 5-11, 2010, Heraklion, Crete, Greece. Berlin: Springer, 2010: 452- 465.

[23] Kingma DP, BaJ. Adam: a method for stochastic optimization[EB/OL]. [2019-10-08].https:∥arxiv.org/abs/1412. 6980.

[24] MehranR, OyamaA, ShahM. Abnormal crowd behavior detection using social force model[C]∥Proceeding of 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2009), June 20-25, 2009, Miami, Florida, USA. New York: IEEE, 2009: 935- 942.

欧阳俊, 史庆伟, 王馨心, 王亮. 基于GAN和注意力机制的行人轨迹预测[J]. 激光与光电子学进展, 2020, 57(14): 141016. Jun Ouyang, Qingwei Shi, Xinxin Wang, Liang Wang. Pedestrian Trajectory Prediction Based on GAN and Attention Mechanism[J]. Laser & Optoelectronics Progress, 2020, 57(14): 141016.

本文已被 3 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!