CN114898550B - 一种行人轨迹预测方法和系统 - Google Patents
一种行人轨迹预测方法和系统 Download PDFInfo
- Publication number
- CN114898550B CN114898550B CN202210257609.1A CN202210257609A CN114898550B CN 114898550 B CN114898550 B CN 114898550B CN 202210257609 A CN202210257609 A CN 202210257609A CN 114898550 B CN114898550 B CN 114898550B
- Authority
- CN
- China
- Prior art keywords
- pedestrian
- encoder
- speed
- future
- hidden
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 58
- 239000003795 chemical substances by application Substances 0.000 claims description 31
- 238000006073 displacement reaction Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 18
- 230000001133 acceleration Effects 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Analytical Chemistry (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种行人轨迹预测方法和系统,包括:对行人数据集中坐标进行插值,并计算此时行人速度;基于行人的位置和速度构建场景图,按照时间戳对场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;通过过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;将历史数据输入训练好的过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的未来编码器,得到隐变量;将隐变量输入解码器获得下一时刻行人的位置和速度。其不仅可以提高智能体轨迹预测的精度和多模态的预测能力,还能够加快模型训练的速度。
Description
技术领域
本发明涉及一种行人轨迹预测方法和系统,属于智能交通态势感知技术领域,特别涉及一种基于条件变分自编码器和神经网络Transformer的行人轨迹预测。
背景技术
轨迹预测是交通态势感知中一个十分重要的组成部分,而交通态势感知是未来智能交通系统里最为重要的一环。在未来的智能交通系统里,由于交通很可能会变得更加复杂,智能交通系统需要拥有检测、理解并且能够对于各种不安全因素做出响应的能力。
轨迹预测主要是根据场景中各个智能体的过去轨迹,预测智能体未来的一小段时间内的运动轨迹。如果智能体能够对其他交通参与者的轨迹做出预测,那么诸如碰撞等因素将可以被避免,也可以为自动驾驶的决策提供重要的信息。轨迹预测往往分为行人轨迹预测、车辆轨迹预测以及混合场景下的轨迹预测问题。
然而,进行智能体的轨迹预测会面临许多的挑战。首先,在一个场景中,智能体并非是相互独立存在的,其运动会受到其他智能体的影响,需要避免与其他智能体相撞,同时还有可能需要跟随其他智能体运动。并且,智能体还会同周围的物理环境发生交互,需要考虑到桥梁建筑的阻挡作用,以及人行道红绿灯等涉及到交通规则的交互。其次,智能体的轨迹需要是连续的,不能出现飞跃或者违反运动规律的轨迹。最后,还需要考虑到轨迹的多模态性质,即智能体轨迹可能并非是固定的一条,而可能是一个概率分布,例如行人可能会从左边也可能会从右边绕过一个障碍物。
现有技术中有多种用于解决该问题的方法。早期的轨迹预测技术主要采用基于概率的方法,这其中又可以分为基于运动学与动力学的建模和基于机动信息的方法;人工智能方法开始为轨迹预测领域所使用后,深度学习逐渐成为主导,如基于循环神经网络(RNN)、基于生成式网络(如生成对抗网络(GAN)、变分自编码器(VAE))、基于图神经网络以及近来基于Transformer等方法。其中,单纯基于RNN的方法由于难以建模空间的交互,也无法体现轨迹的多模态性质,因此很难达到很高的精度。而引入生成式模型后,使用概率分布的方法,往往可以实现预测的多模态性质。如果引入图神经网络,则能够进行空间交互的建模,提高预测的精度。然而,基于循环神经网络的模型往往只能顺序处理,而不能并行化处理,同时由于循环结构,因而训练难度较大,时间较长。
发明内容
针对上述问题,本发明的目的是提供了一种行人轨迹预测方法和系统,其基于条件变分自编码器和神经网络Transformer对行人轨迹进行预测,其不仅可以提高智能体轨迹预测的精度和多模态的预测能力,还能够加快模型训练的速度。
为实现上述目的,本发明提出了以下技术方案:一种行人轨迹预测方法,包括:对行人数据集中坐标进行插值,并计算此时行人速度;基于行人的位置和速度构建场景图,按照时间戳对场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;通过过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;将历史数据输入训练好的过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的未来编码器,得到隐变量;将隐变量输入解码器获得下一时刻行人的位置和速度。
进一步,计算此时行人速度的方法为:对行人数据集中坐标先进行若干次样条插值,在智能体相邻记录之间插入若干个值,再通过时序差分法算出此时行人的速度:
其中,是第i个行人t时刻x方向的速度;/>是第i个行人t时刻y方向的速度;是第i个行人t时刻x方向的坐标值;/>是第i个行人t时刻y方向的坐标值;dt为时间步长。
进一步,构建场景图的方法为:将同一时间步长的行人的位置和速度集合,将所有场景均补充至最大长度,成为一个场景,将相邻两个时间步长的场景分别作为过去编码器和未来编码器的输入数据。
进一步,过去编码器的输入数据包括特征编码和场景编码,特征编码通过多层感知器编码行人位置和速度集合获得;场景编码通过卷积神经网络处理场景图获得。
进一步,未来编码器的输入数据包括过去编码器的输入和已知的行人未来信息的编码。
进一步,过去编码器获得隐变量的方法为:对过去编码器的输入数据施加多头注意力机制,其通过多个矩阵取平均的方式全方位地对场景施加注意力机制,使得智能体能够充分与其他智能体交互,经过多头注意力机制编码交互后,将得到的向量与特征编码的向量相加并做标准化;通过线性层结合ReLU函数激活,将上一步获得的注意力向量映射到隐藏层向量;将得到的隐藏层向量映射到隐变量的概率分布,得到隐变量的概率分布后,对其进行采样得到隐变量。
进一步,未来编码器获得隐变量的方法为:获得历史信息的隐藏层向量;根据已知的行人未来信息,得到未来信息的注意力向量;将隐藏层向量作为查询和键矩阵,将未来信息的注意力向量作为值矩阵,输入多头注意力机制中,并通过线性层结合 ReLU函数激活,获得过去与未来的联合隐藏向量;将得到的联合隐藏层向量映射到隐变量的概率分布,得到联合隐变量的概率分布后,对其进行采样得到未来编码器的隐变量。
进一步,将隐变量输入解码器获得下一时刻行人的位置和速度的方法为:对未来编码器的隐变量进行编码,施加多头注意力机制后得到注意力向量;将隐藏层向量作为查询和键矩阵,将上一步获得的注意力向量作为值矩阵,再次输入多头注意力机制中,获得隐变量带有交互的隐藏向量;将上一步获得的隐藏向量通过一线性层映射为行人的加速度;设运动为匀加速运动,通过单积分器,由加速度以及前一时刻的速度和位置计算出行人下一时刻的速度和位移。
进一步,行人下一时刻的速度和位移的计算公式为:
其中,N为行人的总数,为此时的速度,/>为上一时刻的速度,/>为此时的位移,/>为上一时刻的位移,a是加速度。
本发明还公开了一种行人轨迹预测系统,包括:插值模块,用于对行人数据集中坐标进行插值,并计算此时行人速度;场景图构建模块,用于根据行人的位置和速度构建场景图,按照时间戳对场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;模型训练模块,用于通过过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;测试模块,用于将历史数据输入训练好的过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的未来编码器,得到隐变量;解码输出模块,用于将隐变量输入解码器获得下一时刻行人的位置和速度。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明采用Transformer网络进行场景中智能体交互的编码,由于Transformer的全连接特性以及多头注意力的机制,能够使得场景中各个智能体充分与其他智能体交互,从而实现更加精确的轨迹预测。
2、本发明实现了特征编码和场景编码,通过多层感知器进行智能体历史信息中位置和速度的编码,同时对当时的场景图像进行编码,进而实现轨迹预测。
3、本发明采用条件变分自编码器的结构,使得模型具有生成能力,同时能够以概率预测的形式输出最终轨迹。
4、本发明采用逐场景预测的方式,省去了对时间和智能体身份做区别的模块。
5、本发明在历史信息中加入了经过插值得到的速度,在利用位置信息的同时也利用了相对速度信息,提高预测的精度。
6、本发明由于省去了循环神经网络的编码部分,模型训练速度较快。
附图说明
图1是本发明一实施例中行人轨迹预测方法示意图;
图2是本发明一实施例中编码器的结构示意图;
图3是本发明一实施例中解码器的结构示意图;
图4是本发明一实施例中序列Hotel预测结果的示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方案,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
为了解决现有技术中循环神经网络的模型往往只能顺序处理,而不能并行化处理,同时由于循环结构,因而训练难度较大,时间较长的问题,本发明提供了一种行人轨迹预测方法和系统,其基于条件变分自编码器(Conditional Variational Autoencoder)和Transformer网络的对行人轨迹进行预测,Transformer网络本质上是一种全连接的图神经网络,因此可以很好地编码交互作用,且可以并行训练,充分利用计算资源,训练难度较小,时间较短,能够很好地建模交互,因此可以替代先前模型的循环神经网络以及图神经网络的编码部分。而使用条件变分自编码器的框架,可以通过概率生成的方式采样轨迹,实现多模态的智能体轨迹预测。该方案既可以实现时间和空间上更加全面的编码,又符合轨迹多模态的特性,同时可以充分并行化,提高训练效率。下面结合附图,通过几个实施例对本发明方案进行详细说明。
实施例一
本实施例公开了一种行人轨迹预测方法,如图1所示,包括:
S1对行人数据集中坐标进行插值,并计算此时行人速度。
本实施例主要针对的是行人数据集。每个数据集可以包含多个场景,场景以.txt格式存储。每个场景内的数据格式如表1所示。
表1各个场景内的数据格式表
时间戳t | 行人编号id | 横坐标x | 纵坐标y |
int | int | float | float |
本实施例中有两种预测方式,一种是单步预测,另一种是8/12预测。单步预测需要提供过去1个时间步长内的信息,包括场景中所有行人的位置、速度以及可能的场景的俯视图像,模型会输出下一个时间步长内各个行人的位置和速度。8/12预测需要场景内行人在过去8个时间步长内的信息,模型将会逐步输出的是接下来12个时间步长内的信息,每一步需要将模型预测值与刚刚观测到的地面真实值共同输入模型。在本实施例中,采用的每一个时间步长为0.4s。
计算此时行人速度的方法为:对行人数据集中坐标先进行若干次样条插值,在智能体相邻记录之间插入若干个值,本实施例中对行人数据集中坐标先进行三次样条插值,在智能体相邻记录之间插入十个值,再通过时序差分法算出此时行人的速度:
其中,是第i个行人t时刻x方向的速度;/>是第i个行人t时刻y方向的速度;是第i个行人t时刻x方向的坐标值;/>是第i个行人t时刻y方向的坐标值;dt为时间步长。将所有的vx和vy加入行人数据集,并同样以.txt格式存储。在原始的行人数据集中,通常以0.4s为一个时间步长,经过插值后,以0.04s为一个时间步长。在读入数据的时候,需要对其进行标准化,即使得数据的平均值为0,方差为1,提升训练效果。同时需要记录标准化的值,使得计算得到的位移误差仍然以米为单位。
S2基于行人的位置和速度构建场景图,按照时间戳对场景图进行拆分,从而生成过去编码器和未来编码器的输入数据。
本步骤的目的是构建矩阵式场景图,用于编码器输入。构建时,将同一时间步长的行人历史信息集合,包括位置和速度集合,将所有场景均补充至最大长度,成为一个场景,将相邻两个时间步长的场景分别作为过去编码器和未来编码器的输入数据。
过去编码器的输入数据包括特征编码和场景编码,特征编码通过多层感知器编码(Multilayer Perception,MLP)编码行人的历史信息,即此时的行人位置和速度集合获得,即FeaureX。该多层感知器的输入为构建的场景图矩阵,输出为对应于每一个智能体的特征编码。FeaureX的公式如下:
其中,表示在t时刻智能体1到N的历史信息,即位置和速度;MLP表示多层感知器;得到的特征编码表示为FeatureX。
场景编码通过卷积神经网络的延伸TNet设计场景编码器,处理场景图获得,即ContextX,ContextX的公式如下:
ContextX=TNet(image)
将场景图输入网络,得到场景表示向量ContextX。如果没有使用该模块,则ContextX置为0向量。
于是,编码模块最终得到
X=ContextX+FeatureX
其中,X表示特征的最终编码。
将行人未来信息使用多层感知器编码,记为Y;未来编码器的输入数据包括过去特征的编码X和已知的行人未来信息的编码Y。
S3通过过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小,即两个概率分布之间的差异,使得p(z|x)可以更好地估计p(z|x,y)。
在训练过程中,将过去特征的编码X输入过去编码器(Past Encoder),该网络直接输出表示行人轨迹信息的隐变量,记该网络为p(z|x);同时将X,Y分别输入未来编码器(Future Encoder),记该网络为p(z|x,y);该网络输出根据概率分布进行采样获得的隐变量z,将过去编码器和未来编码器获得的隐变量分别进行损失函数计算,进而保证整体模型的可微分性。
基于Transformer网络的编码器,本实施例设计了过去编码器用于历史信息的编码,如图2所示,编码的过程可以细分为:
对过去编码器的输入数据施加多头注意力机制,注意力机制是更高精度、更高效率建模交互的方法,使用多头注意力机制可以通过多个矩阵平均的方式全方位对场景施加注意力使得智能体能够充分与其他智能体交互,其公式如下:
Q=Linearq(X)=XWQ
K=Lineark(X)=XWK
V=Linearv(X)=XWV
MultiHead(Q,K,V)=Concat(head1,head2,…headh)WO
Xattention=MultiHead(Q,K,V)
其中,Linear代表维度不同的线性层,Q代表查询矩阵,K代表键矩阵,V代表值矩阵,各W均表示权重矩阵,Concat表示连接。多个头表达的是有多个权重矩阵,分别与查询、键和值矩阵相乘,这样每个头代表一个注意力,通过多个头的连接实现全方位注意力。在本实施例中,通常选择8个头,但不以此为限。
经过多头注意力机制编码交互后,将得到的向量Xattention与特征编码的向量X相加并做标准化,通过公式表达如下:
Xattention=X+Xattention
Xattention=LayerNorm(Xattention)。
出于提高模型泛化性的需要,上述注意力向量需要经过前馈神经网络做进一步的编码,即通过线性层结合ReLU函数激活,将上述注意力向量映射到隐藏层向量,同时依靠残差连接结构,解决深层网络的退化问题。其用公式可以表示为:
Xhidden=Linear(ReLU(Linear(Xattention)))
Xhidden=Xhidden+Xattention
Xhidden=LayerNorm(Xhidden)
最终得到隐藏层向量Xhidden。
将得到的隐藏层向量映射到隐变量的概率分布,本实施例中该函数为线性映射,得到隐变量的概率分布后,对其进行采样得到隐变量z。
z~p(z|x)=GenerateZ(Xhidden)
未来编码器需要学习智能体的相邻两个时间步长之间的联系,故未来编码器获得隐变量的方法为:
获得历史信息的隐藏层向量Xhidden,隐藏层向量Xhidden的获得方法和过去编码器相同,故此处不再赘述。
根据已知的行人未来信息Y,得到未来信息的注意力向量Yattention,其获取方法与注意力向量Xattention是相同的。
将隐藏层向量Xhidden作为查询和键矩阵,将未来信息的注意力向量Yattention作为值矩阵,输入多头注意力机制中,并通过前馈神经网络层,即线性层结合ReLU函数激活,获得过去与未来的联合隐藏向量,即Yhidden。
将得到的联合隐藏层向量映射到隐变量的概率分布,得到联合隐变量的概率分布后,对其进行采样得到未来编码器的隐变量。
z~q(z|x,y)=GenerateZ(Yhidden)
根据条件变分自编码器的模型以及轨迹预测问题需要,训练主要是希望能够优化两个目标:其一是预测所得的轨迹与地面真值之间的L2距离(即欧式距离),其二是使得未来编码器与过去编码器得到的概率分布尽可能接近,以使测试过程能够达到训练过程的准确度。因此,损失函数如下:
训练过程与各种神经网络大体相同,计算得到该损失函数后,使之反向传播,尽可能减小其值,每轮训练以后都会有验证集来进行验证并观察训练效果。训练全部完成以后,在测试集上进行测试。
本实施例中采用了K折交叉验证方法,例如,在序列Hotel上测试时,将整个Hotel序列作为测试集,而将其他序列按照时间分别划分成训练集和验证集用于训练;对每个序列重复该操作,以求尽可能大的数据量并保证模型的严谨性。
S4将历史数据输入训练好的过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的未来编码器,得到隐变量。
测试时,将预测得到的t时刻的位置和速度通过自回归的方式,与t时刻得到的地面真值做平均,作为新的编码器输入进入模型。
S5将隐变量输入解码器,结合动力学机制,获得下一时刻行人的位置和速度。
如图3所示,通过多层感知器,对未来编码器的隐变量z进行编码,施加多头注意力机制后得到注意力向量Zattention;类似于未来编码器,隐变量与历史轨迹信息同样进行交互编码,即将隐藏层向量Xhidden作为查询和键矩阵,将上一步获得的注意力向量Zattention作为值矩阵,再次输入多头注意力机制中,获得隐变量带有交互的隐藏向量Zhidden;将上一步获得的隐藏向量Zhidden通过一线性层映射为行人的加速度,即:
其中,表示在t时刻的场景中各行人的加速度向量,包括横向加速度和纵向加速度。
设运动为匀加速运动,通过单积分器,由加速度以及前一时刻的速度和位置计算出行人下一时刻的速度和位移,其公式为:
其中,N为行人的总数,为此时的速度,/>为上一时刻的速度,/>为此时的位移,/>为上一时刻的位移,a是加速度。
通过这种方式,解码器解码得到了下一时刻的位置和速度。
实施例二
基于相同的发明构思,本实施例通过一个具体的多个行人数据集,对实施例一中行人轨迹预测方法的效果进行验证,并与现有技术中指标相同的方法做出了对比,其结果如下:
本实施例中的行人数据集为ETH和UCY数据集,其中ETH使用了eth_univ和 Hotel两个序列,记为ETH和Hotel;其中UCY使用了university,zara01和zara02三个序列,记为Univ、Zara1和Zara2,因此共有5个序列。
本实施例中采用PyTorch来搭建模型,同时进行模型的训练和测试。
在轨迹预测领域,通常使用两个指标来进行评判,即平均位移误差(AverageDisplacement Error,ADE)和最终位移误差(Final Displacement Error,FDE)。其中,平均位移误差是指预测的时间步长之内,预测得到轨迹和真实轨迹的平均欧式距离;最终位移误差是指在预测终点位置和真实终点位置之间的欧式距离。
本实施例采用的是最大可能结果预测,即按照概率分布采样得到隐变量z,通过解码器得到预测的期望值。本实施例的结果分为两种,一种是单步预测,即对于每一时刻计算下一时刻的位置和速度,同时计算其平均位移误差作为指标;第二种是8/12预测,即使用已知的8个时间步长的信息,逐步预测未来12个时间步长的轨迹,分别计算平均位移误差和最终位移误差。单步预测的结果如表2所示,8/12预测的结果如表 3所示。
表2是行人轨迹单步预测结果表
序列 | 本实施例 |
ETH | 0.131 |
Hotel | 0.070 |
Univ | 0.018 |
Zara1 | 0.012 |
Zara2 | 0.013 |
表3是行人轨迹单步预测结果表
序列 | Linear | LSTM | S-LSTM |
ETH | 1.33/2.94 | 1.09/2.41 | 1.09/2.35 |
Hotel | 0.39/0.72 | 0.86/1.91 | 0.79/1.76 |
Univ | 0.82/1.59 | 0.61/1.31 | 0.67/1.40 |
Zara1 | 0.62/1.21 | 0.41/0.88 | 0.47/1.00 |
Zara2 | 0.77/1.48 | 0.52/1.11 | 0.56/1.17 |
Dataset | S-ATTN | Trajectron++ | 本实施例 |
ETH | 0.39/3.74 | 0.71/1.66 | 0.61/0.66 |
Hotel | 0.29/2.64 | 0.22/0.46 | 0.31/0.35 |
Univ | 0.33/3.92 | 0.44/1.17 | 0.42/0.66 |
Zara1 | 0.20/0.52 | 0.30/0.79 | 0.39/0.52 |
Zara2 | 0.30/2.13 | 0.23/0.59 | 0.46/0.59 |
从上述的两张表中可以看出,本实施例的算法在ADE/FDE上均可以超过大多数现有技术中的模型,能够获得方差较小的预测轨迹。
在行人数据集Hotel序列上的预测场景之一如图4所示。其中,黑点代表智能体,在本实施例中即行人,实线代表智能体的历史轨迹,点划线代表智能体的未来轨迹的地面真值,虚线代表本实施例模型的预测结果。虚线和点划线起点不一致的原因是由于本实施例把智能体放在了未来轨迹的起点而不是在历史轨迹的终点。从图中可以看出,本实施例的预测很接近地面真值。
实施例三
基于相同的发明构思,本实施例公开了一种行人轨迹预测系统,包括:
插值模块,用于对行人数据集中坐标进行插值,并计算此时行人速度;
场景图构建模块,用于根据行人的位置和速度构建场景图,按照时间戳对场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;
模型训练模块,用于通过过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;
测试模块,用于将历史数据输入训练好的过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的未来编码器,得到隐变量;
解码输出模块,用于将隐变量输入解码器获得下一时刻行人的位置和速度。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种行人轨迹预测方法,其特征在于,包括:
对行人数据集中坐标进行插值,并计算此时行人速度;
基于行人的位置和速度构建场景图,按照时间戳对所述场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;
通过所述过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;
训练过程中的损失函数如下:
将历史数据输入训练好的所述过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的所述未来编码器,得到隐变量;
将所述隐变量输入解码器获得下一时刻行人的位置和速度;
所述过去编码器获得隐变量的方法为:
对所述过去编码器的输入数据施加多头注意力机制,其通过多个矩阵取平均的方式对场景施加注意力机制,使得智能体能够充分与其他智能体交互,经过多头注意力机制编码交互后,将得到的向量与特征编码的向量相加并做标准化;
通过线性层结合ReLU函数激活,将上一步获得的注意力向量映射到隐藏层向量;
将得到的隐藏层向量映射到隐变量的概率分布,得到隐变量的概率分布后,对其进行采样得到隐变量;
所述未来编码器获得隐变量的方法为:
获得历史信息的隐藏层向量;
根据已知的行人未来信息,得到未来信息的注意力向量;
将所述隐藏层向量作为查询和键矩阵,将所述未来信息的注意力向量作为值矩阵,输入所述多头注意力机制中,并通过线性层结合ReLU函数激活,获得过去与未来的联合隐藏向量;
将得到的联合隐藏层向量映射到隐变量的概率分布,得到隐变量的概率分布后,对其进行采样得到未来编码器的隐变量;
将所述隐变量输入解码器获得下一时刻行人的位置和速度的方法为:
对所述未来编码器的隐变量进行编码,施加多头注意力机制后得到注意力向量;
将所述隐藏层向量作为查询和键矩阵,将上一步获得的注意力向量作为值矩阵,再次输入所述多头注意力机制中,获得与所述隐变量交互的隐藏向量;
将上一步获得的隐藏向量通过一线性层映射为行人的加速度;
设运动为匀加速运动,通过单积分器,由所述加速度以及前一时刻的速度和位置计算出行人下一时刻的速度和位移。
2.如权利要求1所述的行人轨迹预测方法,其特征在于,所述计算此时行人速度的方法为:
对行人数据集中坐标先进行若干次样条插值,在智能体相邻记录之间插入若干个值,再通过时序差分法算出此时行人的速度:
其中,是第i个行人t时刻x方向的速度;/>是第i个行人t时刻y方向的速度;/>是第i个行人t时刻x方向的坐标值;/>是第i个行人t时刻y方向的坐标值;dt为时间步长。
3.如权利要求1所述的行人轨迹预测方法,其特征在于,所述构建场景图的方法为:在同一时间步长的行人位置和速度集合中,将所有数据均补充至最大长度,组成一个场景,将相邻两个时间步长的场景分别作为过去编码器和未来编码器的输入数据。
4.如权利要求3所述的行人轨迹预测方法,其特征在于,所述过去编码器的输入数据包括特征编码和场景编码,所述特征编码通过多层感知器编码行人位置和速度集合获得;所述场景编码通过卷积神经网络处理所述场景图获得。
5.如权利要求4所述的行人轨迹预测方法,其特征在于,所述未来编码器的输入数据包括所述过去编码器的输入和已知的行人未来信息的编码。
6.如权利要求1所述的行人轨迹预测方法,其特征在于,行人下一时刻的速度和位移的计算公式为:
其中,N为行人的总数,为此时的速度,/>为上一时刻的速度,/>为此时的位移,/>为上一时刻的位移,a是加速度。
7.一种行人轨迹预测系统,用于实施如权利要求1-6任一项所述的行人轨迹预测方法,其特征在于,包括:
插值模块,用于对行人数据集中坐标进行插值,并计算此时行人速度;
场景图构建模块,用于根据行人的位置和速度构建场景图,按照时间戳对所述场景图进行拆分,从而生成过去编码器和未来编码器的输入数据;
模型训练模块,用于通过所述过去编码器和未来编码器的输入数据对过去编码器和未来编码器进行训练,使下一时刻速度和位置与地面真值的欧式距离最小,且过去编码器和未来编码器的KL散度最小;
测试模块,用于将历史数据输入训练好的所述过去编码器,获得预测的行人位置和速度,将预测的行人位置和地面真值输入训练好的所述未来编码器,得到隐变量;
解码输出模块,用于将所述隐变量输入解码器获得下一时刻行人的位置和速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210257609.1A CN114898550B (zh) | 2022-03-16 | 2022-03-16 | 一种行人轨迹预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210257609.1A CN114898550B (zh) | 2022-03-16 | 2022-03-16 | 一种行人轨迹预测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114898550A CN114898550A (zh) | 2022-08-12 |
CN114898550B true CN114898550B (zh) | 2024-03-19 |
Family
ID=82714679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210257609.1A Active CN114898550B (zh) | 2022-03-16 | 2022-03-16 | 一种行人轨迹预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114898550B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024105767A1 (ja) * | 2022-11-15 | 2024-05-23 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
CN116259176B (zh) * | 2023-02-17 | 2024-02-06 | 安徽大学 | 一种基于意图随机性影响策略的行人轨迹预测方法 |
CN117332033A (zh) * | 2023-09-27 | 2024-01-02 | 中国科学院深圳先进技术研究院 | 一种时空轨迹生成方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347923A (zh) * | 2020-11-06 | 2021-02-09 | 常州大学 | 一种基于对抗生成网络的路侧端行人轨迹预测算法 |
CN113269114A (zh) * | 2021-06-04 | 2021-08-17 | 北京易航远智科技有限公司 | 一种基于多隐变量预测器及关键点的行人轨迹预测方法 |
CN113269115A (zh) * | 2021-06-04 | 2021-08-17 | 北京易航远智科技有限公司 | 一种基于Informer的行人轨迹预测方法 |
CN114022847A (zh) * | 2021-11-23 | 2022-02-08 | 清华大学 | 一种智能体轨迹预测方法、系统、设备和存储介质 |
CN114067371A (zh) * | 2022-01-18 | 2022-02-18 | 之江实验室 | 一种跨模态行人轨迹生成式预测框架、方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114170680A (zh) * | 2021-11-25 | 2022-03-11 | 北京易航远智科技有限公司 | 一种基于多细分特征控制的行人轨迹预测方法 |
-
2022
- 2022-03-16 CN CN202210257609.1A patent/CN114898550B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347923A (zh) * | 2020-11-06 | 2021-02-09 | 常州大学 | 一种基于对抗生成网络的路侧端行人轨迹预测算法 |
CN113269114A (zh) * | 2021-06-04 | 2021-08-17 | 北京易航远智科技有限公司 | 一种基于多隐变量预测器及关键点的行人轨迹预测方法 |
CN113269115A (zh) * | 2021-06-04 | 2021-08-17 | 北京易航远智科技有限公司 | 一种基于Informer的行人轨迹预测方法 |
CN114022847A (zh) * | 2021-11-23 | 2022-02-08 | 清华大学 | 一种智能体轨迹预测方法、系统、设备和存储介质 |
CN114067371A (zh) * | 2022-01-18 | 2022-02-18 | 之江实验室 | 一种跨模态行人轨迹生成式预测框架、方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114898550A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114898550B (zh) | 一种行人轨迹预测方法和系统 | |
CN110610271B (zh) | 一种基于长短记忆网络的多重车辆轨迹预测方法 | |
CN112766561B (zh) | 一种基于注意力机制的生成式对抗轨迹预测方法 | |
CN111339867B (zh) | 一种基于生成对抗网络的行人轨迹预测方法 | |
CN112734808B (zh) | 一种车辆行驶环境下易受伤害道路使用者的轨迹预测方法 | |
CN111930110A (zh) | 一种结合社会生成对抗网络的意图轨迹预测方法 | |
Yang et al. | A novel graph-based trajectory predictor with pseudo-oracle | |
Cho et al. | Deep predictive autonomous driving using multi-agent joint trajectory prediction and traffic rules | |
CN111931902A (zh) | 一种生成对抗网络模型、及利用该生成对抗网络模型的车辆轨迹预测方法 | |
CN112651374B (zh) | 一种基于社会信息的未来轨迹预测方法及自动驾驶系统 | |
CN114399743B (zh) | 一种障碍物未来轨迹的生成方法 | |
CN113076599A (zh) | 一种基于长短时记忆网络的多模态车辆轨迹预测方法 | |
CN112347923A (zh) | 一种基于对抗生成网络的路侧端行人轨迹预测算法 | |
CN117077727B (zh) | 基于时空注意力机制和神经常微分方程的轨迹预测方法 | |
CN114611663A (zh) | 一种基于在线更新策略的定制化行人轨迹预测方法 | |
Schöller et al. | Flomo: Tractable motion prediction with normalizing flows | |
CN115829171A (zh) | 一种联合时空信息和社交互动特征的行人轨迹预测方法 | |
CN115293237A (zh) | 一种基于深度学习的车辆轨迹预测方法 | |
Mirus et al. | An investigation of vehicle behavior prediction using a vector power representation to encode spatial positions of multiple objects and neural networks | |
CN113033902A (zh) | 一种基于改进深度学习的自动驾驶换道轨迹规划方法 | |
CN117351038A (zh) | 一种使用频谱信息的行人轨迹预测方法 | |
CN116382267B (zh) | 一种基于多模态脉冲神经网络的机器人动态避障方法 | |
CN116543214A (zh) | 一种基于均匀泊松编码的脉冲神经网络目标检测方法 | |
CN115700509A (zh) | 一种基于仿真反馈数据的引导线生成方法及系统 | |
CN114792320A (zh) | 轨迹预测方法、轨迹预测装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |