【Attention-LSTM行人轨迹预测模型与实验分析案例9400字】_第1页
【Attention-LSTM行人轨迹预测模型与实验分析案例9400字】_第2页
【Attention-LSTM行人轨迹预测模型与实验分析案例9400字】_第3页
【Attention-LSTM行人轨迹预测模型与实验分析案例9400字】_第4页
【Attention-LSTM行人轨迹预测模型与实验分析案例9400字】_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Attention-LSTM行人轨迹预测模型与实验分析案例目录TOC\o"1-3"\h\u181371Attention-LSTM行人轨迹预测模型 281011.1引言 243121.2行人行为模块 2162311.2.1行人的外表特征 237011.2.2行人的活动特征 3116541.3行人与对象交互模块 557151.3.1行人与周围场景的交互 525261.3.2行人与周围对象的交互 7260081.4轨迹生成模块和注意力机制 9119811.4.1轨迹特征模块 9326881.4.2Attention模块 106241.5行为预测模块 12269141.5.1行为标签预测 14150151.6损失函数 14322501.7本章小结 15292632Attention-LSTM预测精度实验 16267732.1实验环境及相关设置 1685432.1.1实验环境 1691802.1.2深度学习框架 16222112.2实验数据集简介 1631112.3评价指标 17189812.4实验设置 18236442.5实验结果及分析 18Attention-LSTM行人轨迹预测模型引言在真实场景中,行人的运动受自己本身的意图支配,同时也会受到周围其他因素的影响。这些影响因素大致可以分为两大类,一类是静态因素,即包括周围场景在内的静态物体,例如桥梁、禁止通行区域、允许通行区域、人行横道、机动车道等,另一类是动态因素,即行人周围的运动物体,如人行横道上的其他行人、机动车道上的车辆、草坪上的小动物等。静态因素和动态因素都会给行人的轨迹带来影响,通常表现为行人会与其他物体之间保持一定的安全距离以免发生碰撞等事故。因此,在行人的轨迹预测任务中如何对这些不同的影响因素进行建模并综合考虑这些因素对行人轨迹的影响程度是模型能否具有优良性能的关键。基于此,本文提出了Attention-LSTM行人轨迹预测模型。如图3-1所示为Attention-LSTM模型的整体结构。图3-1Attention-LSTM模型整体结构行人行为模块行人的外表特征在行人的外表特征这一部分,本文采用MaskR-CNN[21]中RoIAlign的目标检测方法来提取每个时间步中行人的外表特征。RoIAlign的思路如下,通过双线性内插方法得到坐标是浮点数的像素点上的图像数值,然后将整个特征聚集过程转换为一个连续的操作。在算法流程上,RoIAlign的流程如下。遍历所有的候选区域,保证边界的浮点数不做量化处理。把候选区域切割成y×y个单元,每一个单元的边界仍然不做量化处理。计算每一个单元中固定的四个位置坐标,使用双线性内插的方法计算得到这四个位置的值,之后进行最大池化操作。对上述步骤中的第三点做一些说明,固定位置指的是在每个矩形单中按照固定的规则确定的位置。例如,假设采样点数是1,那么这个单元的中心点就是固定位置;假设采样点数是4,那么将这个单元平均切割成4个正方形以后它们分别的中心点就是固定位置。显然,这些采样点的坐标值通常是浮点数,因此其像素值需要使用插值的方法来获得。 提取了场景中每个人的外表特征后,沿着空间维度平均特征将它们送入LSTM编码器,然后得到一个Tobs图3-2提取特征并送入LSTM编码过程示意图行人的活动特征本文使用在MSCOCO[22]数据集上训练得到的人物关键点检测模型来进行人物关键点特征的提取,然后使用线性变换来进行关键点特征地嵌入,通过使用embedding的方法将关键点特征的维度转换为Tobs本文在embedding操作中使用one-hot编码。one-hot编码方式中只有0和1,有多少种状态需要编码表达,one-hot编码的每一行的长度便会是多长,假设字典中一共有5个字“车”“辆”“工”“程”“系”被0-4进行了编码,那么one-hot编码的每一行就会有5个用0或1表示的位置,即使需要表示的语句是一个很短的句子,例如:[1,0,0,0,0]车——0[0,1,0,0,0]辆——1[0,0,0,0,1]系——4在每一行相对应的编码位置会设置为1,其他位置都是0,即每一行只会有一个1。one-hot编码的优势体现在表达能力强和计算快捷方便。对于这样比较稀疏的矩阵做矩阵计算的时候,只需要将位置1对应的数相乘求和即可,但这么做的问题也很明显,比较稀疏的矩阵占用的计算资源巨大,尤其体现在长篇编码的处理中。例如常用3000个简体汉字被0-2999编码,意味着这套系统中每一个字的one-hot编码是3000位,假设现在有一篇20000字的文章,那么用one-hot编码的方式编码之后其大小为3000×20000=60000000,占用的资源极大,并且这篇文章中有一部分字是重复使用的,只是位于文章的不同位置而已,这样便会浪费大量存储空间。而embedding可以很好地解决浪费存储空间的问题,embedding的本质是使用矩阵乘法来进行降维,假设有一个2×7的矩阵,这个2×7的矩阵乘上一个7×3的矩阵之后就变成了一个2×3的矩阵。在这个过程中,我们将一个14个元素的矩阵变成了一个只有6个元素的矩阵,相比之前,在矩阵规模上缩小了很多,并且尽管直观上矩阵的大小改变了,但实际上原矩阵包含的信息并没有改变,只是原矩阵包含的信息被按照某种映射关系转换到了另一个新的维度的矩阵里面,只需要按照逆向映射关系对变换后的矩阵进行相乘,便会回到原始矩阵的状态。embedding是在保证不造成信息的损失的前提下把数据用另外一个维度的张量来表示。embedding不仅能实现数据的降维,还有一个相对应的逆向功能——升维。在对低维的数据升维的过程中,可能放大了一些其他特征,或者分开了笼统的特征,但是,embedding是一直在进行学习和优化的,这使得整个过程可以缓慢地形成一个良好的观察点。通过使用embedding进行嵌入关键点特征处理后,行人的活动特征和外表特征就变成了具有相同维度的张量,方便后续对它们进行一致的处理。图3-3人类行为模块结构图行人与对象交互模块行人与周围场景的交互行人与周围场景的交互里的场景指的是行人是站在草坪上,还是站在路边,或是靠近一幢办公楼、一处水池……为了编码行人周围的场景,本文使用经过预训练的场景分割模型来提取像素级场景语义类的每一帧。总共使用Ns=10个常见场景类,如人行道、机动车道等,经过了Tobs个时间步后,得到尺寸为Tobs×h×w的场景语义特征图,其中h、w表示分辨率。对最后的场景语义特征图,应用两个卷积层(步长为2)对一张已经进行语义分割后的场景特征图进行CNN特征提取,如图3-4所示。最终得到两种尺度下的场景CNN特征。之后,给定一个行人i的(x,y)坐标,从卷积特征图中汇集行人i当前位置(x,y)的场景特征。简单来说,就是首先给定行人i所在位置的(x,y)坐标,之后将特征图的场景信息和行人图3-4场景语义分割特征图的卷积特征提取如图3-4底部所示,卷积特征的红色部分是人在当前时刻的离散位置。特征在每个时刻的感受域,即模型所观察的人周围的空间窗口的大小,取决于从哪个尺度集合和卷积核大小。本文将比例设置为1,核大小设置为3,这意味着Attention-LSTM模型在每个瞬间都会观察这个人周围3×3的区域。一个行人的人——场景交互表示为RTobs×C,其中C是卷积层中的通道数,即每个卷积层中卷积核的数目。简单来说这个集合如此表示的意义,共有Tobs个时间步,每一个时间步都会把行人的位置坐标在相对应的场景特征图中标注出来以建立联系,也就等同于将场景中的位置特征嵌入到场景特征图,融合这两个特征,因此当Tobs个时间步结束之时,总共有Tobs张图将场景特征图与行人的特征建立了联系。对每一张场景特征图使用2层卷积层来做卷积运算,每一个卷积层的通道数为C。因此,RTobs×C表示在T图3-5行人与周围场景交互模块结构图行人与周围对象的交互行人与周围对象的交互,这里的对象指的是除了目标行人以外其他的人或物体,例如目标行人周围是否有车辆、其他的人或者小动物经过。行人与对象的交互分为两部分,一部分是目标行人与周围对象之间的几何特征,另一部分是周围对象的类型特征。目标行人与周围对象之间的几何特征。在任意时刻,给定场景{(xk,yk,wk,Gk(3–1)该编码方式根据分式和几何距离来计算几何关系,使用对数函数来反映观测的结果,也就是行人的轨迹更有可能受到附近对象的影响,此编码方式已被证明在检测中有效。单时间步下目标行人与周围对象交互的几何特征张量如图3-6所示。在式3-1中,将|xb−xk|和而使用对数函数的原因是对数函数可以反映目标行人受其与周围对象之间的距离影响程度,距离越近时,目标行人受周围行人的影响越大,距离越远时,目标行人受周围行人的影响越小。 图3-6单个时间步目标行人与周围对象交互中几何特征的张量展示示意图目标行人周围对象的类型特征。针对周围对象的类型,本文通过独热编码(one-hotencoding)来获得ℝK×N0的类型特征,N0是周围对象的类型总数。一共有Tobs目标行人与周围对象之间的几何特征的张量规模为Tobs×K×4,目标行人周围对象的类型特征的张量规模为Tobs×K×N0,将这两个张量的规模进行整合后的规模为Tobs×K×之后我们将几何特征与类型特征嵌入de(d维的embedding向量)维向量中来完成独热编码矩阵的维度调整,然后将其输入到LSTM编码器,最终得到的输出为规模是T从整体来看,同行人与周围场景中的信息整合一样,行人与周围对象交互部分也是将类型特征与几何特征整合到一个张量里,整合后的张量表示目标行人与周围K个类型的对象在各个时刻空间上的关系。行人与对象交互模块的示意图如图3-7所示。图3-7行人与对象交互模块示意图轨迹生成模块和注意力机制轨迹特征模块前面提到的四种视觉特征,即行人的外观特征、行人的活动特征、行人与周围场景的交互、行人与周围对象的交互,通过独立的LSTM编码器编码到同一维度。此外,给定目标行人最后一个时刻的输出轨迹,即最后一个时刻的坐标,我们可以通过式3-2给出轨迹预测:e(3–2)式3-2从本质上来说就是一个全连接层的公式,式3-2的输入是一个坐标的矩阵[xt−1,yt−1],与权重We做乘法运算后加偏置be,然后经过激活函数tanh,最终得到特征向量et−1,表示输出的轨迹预测特征。[将前文提到的5个LSTM单独特征编码器的隐藏状态全部集中在一起并压缩为一个张量Q,Q∈ℝAttention模块本文使用LSTM编码器直接预测行人的未来轨迹,表示为(x,y)坐标形式。使用目标行人轨迹特征LSTM编码器的最后一个时间步的状态来对这个编码器的隐藏状态进行初始化。在每一时刻,系统将根据解码器状态:h(3–3)以及一个全连接层共同计算坐标(x,y)的值。式3-3是一个典型的LSTM解码公式,其中q~图3-8解码端依据轨迹特征向量和注意力机制特征向量进行坐标预测每个特征向量Q都是由相同时间步的5个不同特征叠加的,若将全部的隐藏层特征向量hij(i表示行,j表示列)放到一个图里,那么这个图的每个部分都是Q的一个切片。而包含了所有特征的向量Q之所以可以发挥作用的关键点在于其将多个特征投射到一个相关的空间中去,之后通过注意力机制使得“具有识别性”的特征更容易被注意力机制捕获。在每个时间步t计算一个相似度矩阵St,以此来比较ht−1St∈S(3–4)式3-4衡量相似度采用的方法是把两个矩阵进行“点积”。将St每个单独的LSTM形成的h1,h1`,h1``……都进行相似度计算,最后Sijt的值表示每一个特征向量hn的注意力得分,也就是说,分配给Q之后用式3-5和式3-6计算两个注意力权重分配矩阵:A(3–5)B(3–6)式3-5计算的是纵向的权重分配w,即不同特征被赋予的注意力系数,简单来说就是相同时间步的不同特征里哪一个更重要一些。式3-6里的每一项表示的是一行之中注意力分配情况,简单来说就是同一个特征在不同时间步的注意力分配情况。直观表示为图3-8所示。图3-9注意力权重分配示意图从图中可以看出,At负责在不同的特征之间分辨出M=1到M=5这些不同的特征中哪一个对当前时间步影响最大,Bq(3–7)通过以上计算步骤,注意模型可以建立对不同特征、不同时间步特征向量的不同关注度,并把它们综合为一个添加注意的特征向量q~t。并且,从公式中可以看出,q~行为预测模块前文提到,轨迹生成模块在每个时间步产生一个位置坐标(x,y),但是产生的误差可能会随着时间累积,从而导致最后的预测位置产生较大的偏差。而使用误差较大的预测位置进行活动预测则可能无法保证准确性,因此,为了克服这个缺点,在这个模块除了实现预测目标行人未来的活动之外,还引入了一个辅助的任务——预测行人活动发生的位置。为了弥补轨迹预测和活动预测之间可能出现的偏差甚至错误我们使用曼哈顿网格进行行人活动位置的预测,从而帮助轨迹预测在出现偏差时进行修正。曼哈顿网格主要完成以下任务:分类任务:预测轨迹预测的最终位置坐标位于哪一个网格块。回归任务:预测网格块中心(图中绿点)到最终预测位置坐标(绿箭头末端)的偏差。图3-10分类任务与回归任务示意图添加回归任务的原因是相比于只提供区域范围,这种方式会更加准确。通常来讲,预测的行人轨迹的位置和行人活动发生的位置应该是相近的,因此为了达到最佳预测轨迹位置的目的,我们可以利用这两个位置来进行结果的修正。轨迹预测和预测活动发生的位置这两种方法是互补的。在不同尺寸的曼哈顿网格上重复上述过程,同时使用不同的预测前端对它们建模。模型的其余部分与这些预测前端进行端对端的训练。在这里需要一种经济高效的方式使用多尺度特征进行精准定位。将最后一个时刻的编码器的隐藏状态QTobs(包含了Q图3-10QTobsQTobs的张量维度是M×d,但为了保证与图像特征的兼容性,我们将这个特征张量的维度调整为M×d×w×h,w×h是曼哈顿网格块的总数,也即特征图的尺寸。这一过程也就是相当于将原本M×d的信息按照某种映射规则放到了一张特征图上,此特征图的大小和从CNN网络出来的尺寸一致,均为w×h用于网格分类的卷积输出的结果为clsgrid∈Rw·h×1,此输出结果表示每个网格成为正确预测位置的概率。用于网格回归的卷积输出的结果为rggrid∈Rw·h×2,此输出结果表示行人的最终位置所在的网格与每个网格中心在坐标下(x,y)的误差。行为标签预测在这部分,我们使用Q最后时刻的隐藏状态来计算行人未来行为Nαcls(3–8)式3-8中,Wa是一个可以学习的权重。一个人未来的行为可能是并行的,比如一个人可以同时进行“搬运”和“行走”损失函数损失函数,又称代价函数,即评价训练模型所得到的预测值与真实值之间误差大小的一种方式。损失函数能在一定程度上表征训练的模型的好坏程度,优化模型的目的就是尽量减小损失函数的收敛值。行人轨迹预测属于回归问题,由于损失函数反映的是预测值与实际值的偏差大小,因此选择合适的损失函数对模型的优化来说至关重要。Attention-LSTM模型所用的损失函数如式3-9。L=(3–9)式3-9中Lxy这一项属于L2损失,表示Tobs+1到式3-9中Lgrid_cls和Lgrid_reg分别表示定位分类损失和回归损失。其中,Lgrid_cls=i=1Nce(clsgrid式3-9中Lact这一项是为活动标签预测这一部分而设计的损失,这里使用的是交叉熵损失函数,具体计算过程为L本章小结在本章中,从影响行人轨迹预测的主要静态因素和动态因素出发,提出了基于长短时记忆网络的Attention-LSTM行人轨迹预测模型。本章依次介绍了组成Attention-LSTM模型的主要模块,详细分析了建模过程中用到的主要方法及某几种方法的原理,紧接着阐述了如何利用注意力机制对影响行人轨迹预测的各个特征进行权重分配,包括相同特征在不同时间步上的权重分配。最后介绍了Attention-LSTM模型的损失函数。Attention-LSTM预测精度实验实验环境及相关设置实验环境Attention-LSTM预测精度实验在Ubuntu16.04LTS系统上进行,所用显卡型号为NVIDIAGeForceGTX1060,CUDA版本为10.0,处理器型号为Intel(R)Core(TM)i7-7700HQCPU@2.80GHz×8,使用Tensorflow1.15.0深度学习框架,Python版本为2.7。深度学习框架本文进行的实验使用的深度学习框架为TensorFlow,由Google开发并开源。Tensorflow具有可移植性,用户可以在安卓、IOS、GPU、CPU等计算平台上利用Tensorflow搭建神经网络并进行深度学习任务。深度学习的各类算法可以在Tensorflow得到很好地实现,Tensorflow中Tensor(张量)可以简单理解为N维数组,Flow(流)则表示了其计算模型——基于数据流图。Tensoflow中的最基本概念是计算图,计算图是由有向边和节点组成,用来表示计算过程,不表示计算结果,计算图不能形成回路。节点指具体的运算操作,在计算过程中tensorflow会自动将已定义的计算转化为计算图上的节点,同级节点的操作具有彼此独立的属性,并且每个操作都会产生新的张量。有向边描述了计算之间的依赖关系,即节点之间的输入、输出关系。TensorFlow中的核心概念是会话(Session),用来执行已经定义好的计算。使用Tensorflow进行任务分为两个步骤,第一个步骤是对计算图中的所有计算进行定义,第二部分是使用会话来执行计算操作。实验数据集简介本次实验采用的是ETH[23]/UCY[24]数据集。ETH/UCY是常用的行人轨迹预测数据集,该数据集采集的行人轨迹场景包含了商业步行街道、学校、公共汽车站旁边的人行道等具有复杂性和真实性的场景,两个数据集一共标注了2206条行人运动轨迹,其中,UCY数据集一共标注了786个行人的运动轨迹,分为UNIV、ZARA1和ZARA2三个不同的子数据集,ETH数据集一共标注了750个行人的运动轨迹,分为ETH和HOTEL两个不同的子数据集。该联合数据集的详细信息如表4-1所示。表4-1ETH/UCY数据集详细信息场景人数分组数帧数障碍物数ETH360243144844HOTEL390326116825UNIV43429754116ZARA11489186634ZARA2204140105234评价指标在行人轨迹预测问题上,常用的轨迹预测精度评价指标有三种,平均位移误差、最终位移误差、非线性平均位移误差。ADE(AverageDisplacementError),平均位移误差,即在所有时间点上预测的行人轨迹的坐标与行人实际轨迹的坐标之间的平均欧式距离,其计算公式如式4-1所示。ADE=(4–1)FDE(FinalDisplacementError),最终位移误差,即最终的预测时间点下预测的行人轨迹的坐标与行人实际轨迹的坐标之间的欧式距离,其计算公式如式4-2所示。FDE=(4–2)n−ADE(Averagenon-lineardisplacementerror),非线性平均位移误差,即在所有时间点上预测的行人轨迹中非线性轨迹段与行人实际轨迹中非线性轨迹段之间的平均欧式距离,其计算公式如式4-3所示:n−ADE=(4–3)式4-1中,N表示测试集中行人的轨迹数量,Y~ti表示行人i在t时刻的模型预测坐标,Yti表示行人i在t时刻的真实坐标。式4-2中,Y~T本论文使用平均位移误差和最终位移误差这两种评价指标来对训练得到的模型的性能进行评价。实验设置本文所做的实验通过使用五折交叉验证的方法来做到充分利用数据集,即用ETH/UCY组合数据集下的四个子数据集来训练模型,剩下的一个子数据集作为测试数据集用来测试模型,每个子数据集中,选择80%的数据用做训练,20%用做验证。训练过程中,batchsize的大小设置为64,每100个时间步为一个训练周期,初始学习率设置为0.2,为了防止过拟合将dropout设置为0.7,每300个时间步对模型进行一次评估并保存这个训练周期内损失最小的模型。实验结果及分析图4-1、4-2、4-3、4-4、4-5所示分别为五个数据子集里用其中一个作为测试集时,在剩余4个数据子集上训练模型的过程中训练损失函数和验证损失函数的收敛图,图中蓝色曲线表示验证损失值,红色曲线表示训练损失值。由图4-1到图4-5各图中的曲线可以看出,随着训练周期数的增加,两条曲线都呈现缓慢下降的趋势,并且,在时间上相对靠后的训练周期中,训练损失值曲线和验证损失值曲线的波动都逐渐减小。图4-1ETH作为测试集时训练损失与验证损失收敛曲线图4-2HOTEL作为测试集时训练损失和验证损失收敛曲线图4-3UNIV作为测试集时训练损失和验证损失收敛曲线图4-4ZARA1作为测试集时训练损失和验证损失收敛曲线图4-5ZARA2作为测试集时训练损失和验证损失收敛曲线表4-2是Attention-模型在ETH、HOTEL、UNIV、ZARA1、ZARA2这五个数据子集上进行测试时所得的ADE和FDE评价指标统计表。根据实验设置,该结果为在观测8帧行人运动轨迹的坐标后对行人接下来12帧的轨迹所做的预测。表4-2Attention-LSTM模型测试所得指标评价指标数据集ADEFDEETH0.881.98HOTEL0.360.74UNIV0.621.32ZARA10.420.90ZARA20.340.75从表中可以看出,在ETH数据集上进行测试的精度比在其他几组上测试的精度低,查看ETH原始数据集后发现ETH数据集的场景中出现了雪地,这使得行人轨迹在短时间内发生了很大的变化,因此预测精度相比于其他几组要低一些。表4-3各模型ADE指标对比数据集模型ETHHOTELUNIVZARA1ZARA2Linear1.330.390.820.620.77LSTM1.090.860.610.410.52Social-LSTM1.090.790.670.470.56Attention-LSTM0.880.360.620.420.34表4-4各模型FDE指标对比数据集模型ETHHOTELUNIVZARA1ZARA2Linear2.940.721.591.211.48LSTM2.411.911.310.881.11Social-LSTM2.351.761.401.001.17Attention-LSTM1.980.741.320.900.75表4-3和表4-4为Attention模型与前文提到的其他几种模型的预测精度对比,从表中的数据我们可以看出,Attention-LSTM行人轨迹预测模型在5个数据集上的整体表现优于Linear和LSTM。分析原因我们可以发现传统的线性算法Linear和基于循环神经网络的LSTM均是对每个行人的轨迹单独建模,未考虑行人轨迹之间的相互影响作用。SocialLSTM模型仅考虑了行人的位置信息和结伴而行的因素,相比之下,本文提出的Attention-LSTM模型通过考虑行人与周围的场景和对象的关系来嵌入轨迹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论