复杂场景下行人轨迹预测方法
2021-03-23吴伯雄张丽园
张 睿,吴伯雄,张丽园,张 博
大连海事大学 信息科学技术学院,辽宁 大连 116026
在视觉监控领域,预测人群中行人的未来路径已经成为相当热点的问题。预测任务通过观察场景中运动目标的历史轨迹信息来对其未来轨迹进行预测。在某些特定的应用场景中(例如,预警[1],异常事件检测[2]),轨迹预测起着更重要的作用。考虑到安全性因素,在当前城市公共安全领域中,需要对潜在的危险行为做出警告,这就需要通过对目标行人未来轨迹进行预测从而分析潜在的危险行为。每个行人未来的行走轨迹,不仅受到其目的地的驱动,还受到多种社会和物理环境因素的驱动,包括当地行人的密度,场景布局(例如,十字路口、路灯等)以及隐含的群体社会行为规范(例如,在售票柜台排成队列,提前在相距遥远的地方分散以避免发生碰撞)。综上所述,想要预测行人未来的轨迹,需要考虑到以下三个方面的限制。
第一,物理环境的限制。为了能够在场景中行走并避开障碍物或类似的物理限制,必须处理好局部和全局空间信息,并且关注到周围的重要元素。例如,当要到达弯道时,会更加专注在弯道而不是环境中的其他约束限制,称此为物理关注。
第二,考虑到场景中其他行人对目标行人的影响。例如,避免与周围行人发生碰撞,不干涉他们的私人空间,或者打断一些交互行为(握手、聊天等),这就要求必须对其他人的移动方向和社会规范有很好的理解,从而相应调整自己的路径。而且应当考虑到对未来轨迹决策有更大的影响力的一些行人。例如,在走廊上行走时,更应该关注走在面前的人而不是在身后的人,称此为社会关注。
第三,寻找多条可行的路径。为了到达目的地,行人的路径经常存在不止一个选择,这是行人运动的模糊性质。然而实际上,行人到达目的地的可行性路径往往在一个范围之内[3-4]。
近年来,行人轨迹预测问题在国内外研究中已经引起了广泛关注。例如,Helbing等人[5]提出的社会力模型就考虑到行人流的离散特征,根据行人之间的相互作用力对行人进行建模。也有利用马尔可夫模型[6-8]可以进一步考虑行人环境之间互相影响,从而概率性地预测目标未来的路径。到目前深度学习发展热烈的如今,开始有利用循环神经网络RNN对轨迹序列进行建模实现预测的方法。
Alahi 等人[9]提出的Social-LSTM 为每个行人都配备一个长短期记忆神经网络LSTM 网络来预测其未来路径,后面又增加了一个社会池化层模块来计算周围其他行人对目标行人的影响。Vemula 等人[10]提出了结构化RNN 对各个行人进行建模,并利用时空关系图对场景中多个行人交互建模,一个行人代表时空图上的一个节点,每个节点与其他节点用空间边相连,与自己用时间边相连,空间边和时间边都用 RNN 来描述其随时间的变化,最后在每个节点更新时使用注意力机制来融合与其相邻的边的信息。Gupta等人[11]提出了Social-GAN,该方法引入了生成对抗网络GAN,通过生成器和判别器网络之间的动态博弈过程,结合新增加的汇聚模块并依据损失函数激励网络实现多样化的输出,从而生成多条合理的预测轨迹。Lee 等人[12]提出从俯视图中学习场景上下文信息以预测每个行人的未来路径的方法。Russakovsky 等人[13]将图像输入到注意力机制中去,以显著标示每个行人未来可能道路的重要区域。最近的一些方法[14-15]在某种程度上都考虑到了场景信息和社会交互因素,这些方法在解决其他行人的状态对目标行人未来路径的影响方面取得了很大进展,能够把场景作为重要信息进行考虑,但对于行人的未来轨迹往往只预测单个路径,通常最终会优化成取一条“平均轨迹”。
本文提出了一种基于生成对抗网络并结合注意力机制的方法来处理行人轨迹预测问题,该方法可以考虑到来自不同行人的场景上下文信息和交互行为信息,用于预测行人的未来路径。本文首先使用物理注意力模型来处理静态场景上下文信息以及使用社会注意力模型处理行人之间交互的动态信息。然后,应用基于长短期记忆网络LSTM 的生成对抗模块来学习多模态生成模型,该模型能够生成行人未来的一系列合理的轨迹路径分布。本文提出的框架生成了多个符合社会和物理规范的轨迹路径,并在多个标准轨迹数据集上实现了较好的结果。
1 轨迹预测模型
1.1 问题定义
给定一组行人的轨迹X=(X1,X2,…,Xn),其中:
n为当前场景中的行人总个数,tobs为行人历史轨迹序列的时间步长度。
本文的任务是预测场景中的目标行人未来的行走路径,即Y=(Y1,Y2,…,Yn),其中:
tpred为需要预测的行人轨迹序列的时间步长度。
本文使用Y表示行人未来的真实轨迹,用Y表示使用本文提出的模型得到的相关预测轨迹。
1.2 模型整体结构
如图1所示,本文提出的模型由初始的环境特征提取模块以及后续的生成对抗网络构成。其中环境特征提取模块对场景图片和行人相对位移轨迹数据进行特征提取,生成对抗网络由生成器和判别器组成,生成器部分引入两个软注意力模块,分别考虑行人交互及场景限制等因素。将从环境特征提取模块得到的图片特征信息输入到物理注意力模块,得到的轨迹位移信息输入到生成器开始部分及社会注意力模块,开始模型的训练。
图1 模型整体结构图
通过引入物理注意力模块,对场景图片的信息处理,得到整体地形及障碍物等限制条件,在后续的模型预测中,会相对避开此类障碍物或按照得到的地形信息进行相对预测。通过引入社会注意力模块,对行人之间位移信息进行处理,分析得到行人之间可能的交互模式,例如避让对面走来的其他行人,从侧边超过前方行人等交互,从而实现对行人行为的更精确预测。
整体的生成对抗网络机制更是通过不断地最大最小化博弈过程,通过生成器生成的预测轨迹与行人真实的未来轨迹的在判别器中的鉴别,对模型参数不断优化,直至模型预测效果满足初始设定的阈值,才停止训练,这样也相对保证了模型的准确性和可靠性。
1.3 环境特征提取模块
该模块对环境信息进行特征提取,以及计算场景中行人之间相互位移差并处理得到轨迹位移特征向量。具体过程如公式(1)所示:
其中,CNN 和FC 分别代表卷积神经网络和全连接层。Vphy表示输入原始场景图片I 到CNN 中得到的特征图,是通过将行人j关于行人i的相对位移输入到全连接层而获得的固定长度的特征向量,Wfc是全连接层的权重和偏差,是所有的集合。
称Vphy和(1 ≤i≤N,N是场景中的行人个数)分别为物理特征向量和社会特征向量。
本文中的CNN 使用的是在ImageNet 数据集上预训练过的VGGnet-16网络模型,并对网络的最后几层进行微调。首先对输入的原始图片进行预处理,统一为224×224 的分辨率大小,再将其输入到预训练过的VGGnet-16 模型中,通过反复堆叠3×3 的卷积核和2×2的最大池化层,经过多次卷积、池化操作,得到大小为512×14×14的特征图。
1.4 注意力模块
输入的图像是相对较大的复杂场景的俯视图。希望模型能够更多地关注到当前场景的显著区域和与当前预测行人相关性更大的其他行人,这类似于人们更加关注前方的障碍物以及走向他们的行人,而不是在他们后面的建筑物或人。为了实现这一目标,使用两个软注意力模块对数据进行处理,分别对应物理和社会特征。
物理注意力模块可以帮助分析整体场景地形的限制因素,考虑到行人可行及不可行区域的区分,从而在模型进行行人未来轨迹预测时,得到更精确的、可能性更高的预测路径,相对提高了模型预测的准确度。社会注意力模块可以帮助分析场景中不同行人之间的交互信息,得到行人未来行走的考虑因素,例如避让、穿行、汇聚等行为,从而预测出更符合社交规范的准确路径。
1.4.1 物理注意力模块
物理注意模块的输入是生成器LSTM 的隐藏状态和从图像中提取的物理特征,将这些输入传递给物理注意力模块。输出是一个上下文向量Ctpi,它表示从代理i中提取出的物理特征的重要性。
其中,表示在t-1 时刻行人i对应的生成器中编码器LSTM的隐藏状态。它包含了用于计算每个的物理特征向量的信息。
物理注意力模块主要是通过对提取的场景图像特征进行处理,得到整体场景的环境地形限制等特征,从此中得到行人更注意哪一些场景区域的信息,对后续其未来轨迹的预测起到提高预测精度的作用。
1.4.2 社会注意力模块
类似于物理注意力模块,社会特征向量与第i个行人的生成器LSTM 的隐藏状态被馈送到社会Attention模块,得到社会上下文向量。该向量显著表示了在预测行人i的轨迹时,其周围哪一个行人最值得关注。
通过引入的两个可微软注意力机制,整个模型结构可以通过反向传播进行端到端的训练。
两个软注意力模块分别对不同的输入信息进行处理。物理注意力模块接收场景的图片特征信息,这些从场景图片中提取出的物理特征,在经过物理注意力模块处理后再反馈到预测模型中,对生成的预测轨迹进行修正,得到更符合当前场景地形限制的预测轨迹。社会注意力模块接收训练数据中行人之间相对位移经全连接层处理得到的轨迹位移特征信息,此注意力模块提取对行人轨迹预测最重要的信息,考虑到行人交互的重要性,并反馈至预测模型中,得到更符合社交规范的预测轨迹。
社会注意力和物理注意力模块聚集了场景中所有涉及到的行人和物理地形的信息,以处理在拥挤地区对行人进行建模的复杂交互,同时增加了预测模型的可解释性。这也以一种有用的方式抑制了输入数据的冗余,允许预测模型将重点放在相对更加重要的特征上。
1.5 生成对抗模型
当前的主流轨迹预测方法侧重于在预测行人未来轨迹时,取预测的轨迹距真实未来轨迹的L2 距离最小的路径,这使得预测路径必须适应平均路径。然而,在本文中,想要预测在社会和物理意义上多条合理的轨迹。由于生成模型可以使用时间序列数据来模拟可能的未来轨迹,因此设计了自己的生成对抗网络结构,使用GAN结构解决多模态输出的问题。
在本节中,将介绍GAN模块,它将对社会与物理上下文向量、进行加工,在GAN 模块中进行解码处理,得到在社会与物理上均有效的输出轨迹。
生成对抗模块由两个部分组成,生成器G和用于相互比较的鉴别器D。一方面,G试图生成社会和物理上可接受的轨迹来欺骗D。另一方面,D被训练以用来区分真实轨迹与G 生成的路径。这些网络同时在两人最小最大博弈框架中进行训练。最后,G可以稳定生成出D不能清楚区分的轨迹输出,此时可以认为该输出是真实的,实现了可以接受的训练效果。本文中G 将Xi作为输入并输出预测轨迹。D的输入包括真实的未来轨迹Yi和未来预测的整个序列,最后将它们归类为“真/假”。
1.5.1 生成器
生成器G 由编码器和解码器组成。编码器旨在实现从和中提取有意义的特征用于第i个人的轨迹预测。
公式(4)中FCR是使用Relu激活函数的全连接层,公式(5)中LSTM 指循环长短期记忆神经网络,能够考虑到前一时刻的信息并加以处理。Wen和Wencoder是对应网络的权重与偏差。
连结代理轨迹的隐藏状态表示、物理及社会注意力上下文向量及随机噪声,并将其送入到解码器中进行解码处理,将解码后的结果通过全连接层生成预测轨迹。
其中,z是从标准正态分布里取样的噪声向量,MLP是使用Relu激活函数的多层感知器。Wdecoder和Wde是分别是对应LSTM层和MLP层的权重与偏差。
1.5.2 判别器
判别器D的结构如下:
其中,是t时刻来自 [Xi,]或 [Xi,](真实轨迹或生成轨迹)的行人坐标,hdisi连接了所有时刻的,Ydisi是分类的结果。Wen1,Wen2和Wencoder分别是FCR、LSTM 以及MLP 层的权重和偏差。
1.5.3 损失函数
除了对抗性损失LGAN(G,D)之外,还在预测轨迹上应用了L2 损失LL2(G),用于测量生成的预测轨迹样本与实际轨迹的距离,其中λ是权重系数。
2 实验
2.1 轨迹多模态性质验证
真实数据集中轨迹数据比较分散,每个行人的轨迹路径都很杂乱,并不能明显表现出轨迹多模态的性质,因此生成了仿真数据集进行实验,从而用于验证轨迹数据多模态性质。
首先生成简单的仿真轨迹数据,分别有两种不同的数据形式,二叉树形以及三叉树形。二叉树形具体数据为前8 个时刻是均从(0,0)到(0,7)从下向上生成的带噪声的轨迹点,后8个时刻分别向左或向右生成对应的带噪声的轨迹点。此16个轨迹点就是最后得到的二叉树形仿真数据。三叉树形具体数据为前8 个时刻也是均从(0,0)到(0,7)从下向上生成的带噪声的轨迹点,后八个时刻分别向左45°或竖直向上或向右45°生成对应的带噪声的轨迹点。此16个轨迹点就是最后得到的三叉树形仿真数据。生成的二叉树及三叉树形仿真轨迹可视化结果如图2及图3所示。
图2 二叉树形仿真轨迹数据可视化图
图3 三叉树形仿真轨迹数据可视化图
可以看到模拟的仿真轨迹数据比较简单,可以通过此类简单的无属性轨迹性质更好地对本文的模型进行验证而不受到干扰。针对同一类型的历史轨迹,本文的模型在多次测试中能够实现不同可能的预测结果,相应也就验证了模型所具有的多模态预测性质。进行实验时,分别对二叉树形、三叉树形的轨迹数据进行不同数据量的模拟训练,在此基础上又对轨迹数据依据方向及比例的不同进行了实验,得到的具体测试结果如表1、表2所示。
表1 二叉树形不同样本测试结果
表2 三叉树形不同样本测试结果
从表1 和表2 测试结果数据可以看出,随着训练样本数的增加,不论是平衡或非平衡仿真数据,从不同方向的训练比例来看,其测试结果也慢慢地趋近于与之相对应的初始仿真数据的比例。因此,可以得出结论,生成对抗GAN 模型能够生成多样化的路径输出,具备多模态预测的性质。
2.2 生成对抗模型效果评估
本文在两个核心标准数据集ETH[16]和UCY[17]上进行了基准比较实验。这些数据集都包含现实世界的行人在各种社交场合中交互的轨迹。其中包括平凡运动、行人碰撞、避撞行为和群体运动。这两个数据集合起来共有五个独特的场景,Zara1、Zara2、Univ(来自UCY)、Eth和Hote(l来自ETH)。这些基准数据集包含行人、自行车和汽车在大学校园中航行等独特场景的俯视图。
本文使用了一些基准方法与本文提出的方法进行对比。其中包括线性回归[18],通过最小化最小平方误差来估计线性参数;Social-LSTM,一种将LSTM与社会统筹层相结合的预测模型,由Alahi 等人提出;和S-GAN,一种将生成建模应用于Social-LSTM的预测模型。
本文使用平均位移误差ADE(Average Displacement Error)以及最终位移误差FDE(Final Displacement Error)来评估所有模型。评估任务为对超过8 s 的视频帧,使用过去8 个位置组成的前3.2 s 作为输入,并预测最后4.8 s的剩余12个未来位置。对于ETH和UCY数据集,通过执行留一法交叉验证来进行评估,在4个场景上得到训练参数,并在剩下的一个场景进行测试。得到的对比数据如表3及表4所示。
表3 各种轨迹预测模型在ADE上的结果对比
表4 各种轨迹预测模型在FDE上的结果对比
根据表3的实验结果,可以得到在计算平均位移误差ADE 这一指标时,本文提出的模型在Eth、Zara1 和Zara2 数据集上的预测指标效果最好。S-LSTM 加入了社会池化层,S-GAN在整体框架上引入生成对抗机制,因此比普通的LSTM 及线性Linear 模型预测效果更好。本文提出的模型在以上模型考虑到的基础上,不仅考虑到了人群中行人间互相交互的因素,还考虑到整体场景地形等因素的限制,从而使得模型预测的范围更为细致,进而可以更加精确地预测出行人未来轨迹。根据表4的实验结果,可以得到在计算最终位移误差FDE这一指标时,本文提出的模型在Eth、Zara1和Zara2数据集上的预测指标效果最好。值得注意的是,在Hotel 数据集场景下,后续的较复杂预测模型ADE 及FDE 指标都不如最基础的线性回归Linear模型效果好,这可能跟该场景下行人交互过少,线性的轨迹偏多,考虑的越多反而结果越不理想,在后续改进中,可以加入对场景复杂度的判断,据此对模型进行简化,不同场景使用不同形式的模型进行预测,得到更好的预测效果。
综上,本文方法在行人未来轨迹预测效果方面可以确认有一定的优势,但因为需要加入对整体场景图片信息的处理,因此对显卡的要求也就有相应提高,实验采用的GPU 为GTX1080ti,在如今常见的深度学习模型训练配置的范围内,对整体运算成本要求并未提升太多,符合预期要求。通过与无需处理场景图片信息的SocialGAN 方法进行对比,如表3、表4 中所示,可以看到,本文方法经过多考虑了对整体场景图片信息的处理,虽然显卡等运算成本较S-GAN等方法高,但仍然在ADE、FDE等评价标准上得到了较大提升,在Eth、Zara2数据集上表现更为突出,足以体现出本文方法在综合性能方面的提升,可以确认在行人未来轨迹预测效果方面有一定的优势。
2.3 多模态轨迹可视化分析
将本文提出的模型在相关行人标准数据集上进行了测试,得到了很好的预测效果。在ETH 及UCY 标准行人数据集中使用本模型得到的可视化效果图如图4及图5所示。可以看出,该模型可以预测出不同场景下行人未来可能的多条合理轨迹,而且能够基本满足物理约束和社会规范。
图4 ETH数据集场景下轨迹预测效果可视化图
图5 UCY数据集场景下轨迹预测效果可视化图
3 结束语
针对复杂场景下行人轨迹预测的问题,本文提出了一种有效的轨迹预测模型,该模型在多个在基准数据集上测试的结果优于最先进的方法。
本文提出的方法利用了完整的环境信息和场景中行人的交互信息,通过将社会和物理注意力机制引入基于LSTM的生成对抗网络中,使用物理注意力机制考虑整体场景的地形限制等因素,使用社会注意力机制考虑多个行人的交互行为,从而实现了对行人未来轨迹可解释的预测。
而生成对抗网络的使用也实现了行人轨迹预测的多模态性质,能够成功生成多条物理和社会意义上可接受的路径。