一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于库普曼理论和关系推断的多智能体轨迹预测方法和装置

2023-03-02 00:04:48 来源:中国专利 TAG:


1.本发明涉及一种多智能体轨迹预测方法,尤其涉及一种以库普曼理论作为基本框架并结合智能体关系推断进行轨迹预测的方法和装置,属于计算机视觉和机器学习领域。
技术背景
2.多智能体轨迹预测在很多应用场景中都有着极为关键的作用,如自动驾驶、机器人交互、体育比赛分析等等。在一个多智能体系统中,每个智能体的未来轨迹受到很多因素的影响,包括该智能体自身的历史轨迹、与其他智能体之间的交互、以及全局背景信息等。一个完善的轨迹预测模型需要综合考虑以上所有因素,才能给出最合理的未来轨迹预测,这使得多智能体轨迹预测成为一项极富挑战的任务。
3.多智能体轨迹预测最大的难点之一,是如何在较长的未来时间段内进行比较精确的预测。现有的大部分工作主要依托于循环神经网络(rnn)及其变体作为基本架构,如长短时记忆网络(long short-term memory,lstm),变分循环神经网络(variational rnn,vrnn),来对轨迹的时序信息进行建模。然而,已有工作已经发现,rnn在处理较长的序列时,由于梯度爆炸和梯度消失等原因,无法精确地进行长期预测或获取有效的长期记忆。同时,rnn的状态空间缺乏可解释性,因此很难对整个模型的状态空间施加高阶的语义限制,也无法有效地对rnn所得到的特征向量进行数学上的深入分析。
4.多智能体轨迹预测的另一大难点,是如何对智能体之间的关系进行建模。较早的方法使用社会力模型(social force)来描述智能体间的关系,比如互相吸引或互相排斥。近年来,随着深度学习的兴起,一些工作使用循环神经网络来提取智能体的历史轨迹特征,然后设计一种rnn隐状态的共享机制,来描述智能体间的交互。比如,alahi等人提出对每个智能体使用lstm进行特征提取,并在每个时间点使用一种特殊设计的"social pooling"层来让智能体可以获取其他智能体当前的信息。很多方法都在这个架构的基础上进一步进行了改进和创新,其方法包括对"social pooling"层的进一步改进、图卷积网络的引入、加入生成对抗网络来增强模型的预测能力、采用条件变分自编码器(cvae)实现多模态预测等。此外,还有一些工作使用了注意力机制来描述智能体间的交互。概括来说,这些方法都是通过在不同智能体之间对rnn隐状态进行信息传播,来隐式地描述智能体之间的交互关系。然而,这种方法无法显式地推断智能体之间的关系,因此缺少对各种不同交互模式的刻画。近年来,一些工作开始尝试使用显式的关系推断方法来处理智能体间的关系。比如,kipf等人提出的nri模型假定整个系统存在一个隐含的关系图,每条边具有不同的种类,对应于不同类型的交互关系,从而显式地进行关系推断。一些工作在这一架构的基础上进行了改进,通过将静态关系图引申为动态关系图,来描述智能体间随着时间而改变的交互关系。然而,这类方法同样非常依赖于rnn基本架构,因此在长序列上的表现并不理想。
5.库普曼(koopman)理论最早用于处理非线性动力系统,并广泛应用于物理、生物等领域。koopman算子可以将一个非线性系统转化为一个线性演化的系统,在这个线性系统
中,一些数学工具如线性代数、谱分析可以用于对系统的内在特性进行深入的分析。人们可以通过对koopman算子的特征值模长、频率等信息,来对原来的动力系统进行理解和控制。然而,koopman算子一般作用在一个无穷维的希尔伯特空间上,因此无法直接对其进行计算。很多方法对koopman算子进行有穷维近似,如动态模态分解(dmd)。近年来,随着深度学习的兴起,一些工作尝试使用神经网络来对koopman算子进行近似。这些工作主要依托自编码器架构,用一个线性层的参数来近似koopman算子,从而以端到端训练的方式获取koopman模型各个结构的参数。然而,现有的koopman方法无法对每个智能体的历史信息进行编码,也无法刻画智能体间的交互,因此难以应用于多智能体轨迹预测任务。


技术实现要素:

6.针对以上提出的主要问题,本发明利用库普曼(koopman)理论,设计了一个统一、通用的多智能体轨迹预测模型,在这个统一的框架内同时处理每个智能体的历史轨迹信息、交互关系信息和全局背景信息,这是本领域第一个将传统koopman理论拓展到以深度学习为基础的多智能体轨迹预测的方法。
7.本发明采用了神经关系推断(nri)的思路,显式刻画智能体之间的关系,并采取在每个时间点都进行一次关系推断的方法,来刻画随着时间改变的动态智能体交互关系。同时,本发明设计了一个可以融合历史信息和交互信息的编码器,来生成koopman空间的编码。此外,还加入了一个全局背景信息分支,来对轨迹预测提供高层语义上的辅助。
8.本发明采用的技术方案如下:
9.一种基于库普曼理论和关系推断的多智能体轨迹预测方法,包括以下步骤:
10.根据给定的多智能体轨迹数据,提取每个智能体的历史轨迹信息;
11.对智能体之间的关系进行显式推断,得到交互关系信息;
12.利用编码器融合历史轨迹信息和交互关系信息,得到历史每个时刻各智能体的koopman编码;
13.利用koopman算子对历史每个时刻各智能体的koopman编码进行时间上的线性演化,得到未来每个时刻各智能体的koopman编码;
14.利用带有全局信息的解码器对未来每个时刻各智能体的koopman编码进行解码,得到各智能体未来的坐标,从而实现轨迹预测。
15.进一步地,所述对智能体之间的关系进行显式推断,得到交互关系信息,包括:
16.将每个智能体看作一个顶点,将关系信息刻画为一个随时间变化的动态关系图,智能体i,j之间的关系被表示为一个隐变量假定动态关系图一共有e种不同类型的边,每个类型对应一种特定的交互方式;的计算方式为:
17.node

edge:
18.edge

node:
19.node

edge:
20.其中,node

edge表示从顶点到边的信息传播,edge

node表示从边到顶点的信息传播;表示第一次点到边传播后每条边的特征向量;表示第一次边到点传播后每条边的特征向量;表示第一次点到边传播时所使用的全连接网络;表示第二次点到边传播时所使用的全连接网络;表示第一次边到点传播所使用的全连接网络;得到的是推断出的智能体i和j在时间t时的关系。
21.进一步地,所述利用编码器融合历史轨迹信息和交互关系信息,得到历史每个时刻各智能体的koopman编码,包括:
22.融合交互关系信息和历史轨迹信息得到最终的koopman编码
[0023][0024]
其中,表示的第k维元素;表示一个全连接网络,用两个顶点的特征来计算每条边的第k种类型的边的特征;表示一个全连接网络,用顶点的所有边的特征来计算该顶点的特征。
[0025]
进一步地,所述利用koopman算子对历史每个时刻各智能体的koopman编码进行时间上的线性演化,得到未来每个时刻各智能体的koopman编码,包括:使用一个有限维矩阵来近似无穷维的koopman算子,编码器将输入的数据映射到一个隐特征使用koopman算子k来在时间上演化整个系统,对进行线性演化,得到一系列未来的状态
[0026]
进一步地,所述利用带有全局信息的解码器对未来每个时刻各智能体的koopman编码进行解码,得到各智能体未来的坐标,包括:将每个智能体的lstm特征拼接在一起,通过一个前馈网络进行信息融合,得到全局信息向量,将该全局信息向量和koopman编码拼接后再送入前馈网络解码器,得到各智能体未来的坐标。
[0027]
一种采用上述方法的基于库普曼理论和关系推断的多智能体轨迹预测装置,其包括:
[0028]
编码模块,用于根据给定的多智能体轨迹数据,提取每个智能体的历史轨迹信息,并对智能体之间的关系进行显式推断,得到交互关系信息,然后利用编码器融合历史轨迹信息和交互关系信息,得到历史每个时刻各智能体的koopman编码;
[0029]
线性演化模块,用于利用koopman算子对历史每个时刻各智能体的koopman编码进行时间上的线性演化,得到未来每个时刻各智能体的koopman编码;
[0030]
解码模块,用于利用带有全局信息的解码器对未来每个时刻各智能体的koopman编码进行解码,得到各智能体未来的坐标,从而实现轨迹预测。
[0031]
本发明的关键技术贡献和有益效果主要包括:
[0032]
1)提出了一个新颖、通用的koopman模型来处理多智能体轨迹预测问题,该模型可以有效提取智能体的历史信息和全局信息,相比传统的rnn模型具有更好的长时预测能力;
[0033]
2)显式推断智能体之间的交互关系并将其融入koopman框架,从而使koopman编码
包含了智能体间的交互信息;
[0034]
3)在sportvu篮球运动员轨迹数据集上的实验表明,本发明的多智能体轨迹预测精度显著超过了该领域现有方法的最好结果。
附图说明
[0035]
图1为本发明的整体架构图;
[0036]
图2为图2为本发明的方法与nri、dnri两个模型在未来每个时间点预测时的误差对比;
[0037]
图3为本发明的方法预测轨迹、现有最好方法(dnri)预测轨迹以及真实轨迹的可视化。其中(a)、(b)、(c)表示三个不同场景样本。
具体实施方式
[0038]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
[0039]
图1为本发明的整体架构图。本发明提出的方法包括以下步骤:
[0040]
1)对于给定的多智能体轨迹数据,首先使用编码器得到每个智能体在每个时间点的koopman编码。这一过程中,首先使用lstm网络提取每个智能体的历史轨迹信息,接着使用一个关系推断模块对智能体之间的关系进行显式推断,得到交互关系信息,最后融合历史轨迹信息和交互关系信息得到各智能体在历史每个时刻的koopman编码。在模型的训练阶段,需要得到所有时刻(包括历史和未来)的koopman编码,将未来各时刻的koopman编码进行解码后和真实值进行比对从而训练模型。
[0041]
2)使用koopman算子来对各智能体在历史每个时刻的koopman编码进行时间上的线性演化,得到未来每个时刻各智能体的koopman编码。
[0042]
3)使用一个带有全局信息的解码器,对未来每个时刻各智能体的koopman编码进行解码,从而得到智能体未来的坐标,完成轨迹预测。
[0043]
1.输入数据及其预处理
[0044]
输入数据为多个轨迹序列,每个轨迹序列包括多个智能体在一段时间内的轨迹,即他们的xy坐标信息。对坐标进行归一化处理,即将所有坐标值限制在[-1,1]内。
[0045]
具体来说,给定一组智能体的历史轨迹坐标,我们的任务是预测每个智能体未来一段时间内的轨迹。假设一共有n个智能体,历史轨迹的观测时长记为h,预测时长为t。记所有智能体的历史轨迹为[x1,x2,

,xh],模型需要预测未来的轨迹[x
h 1
,x
h 2
,

,x
h t
],其中是智能体i在时间t的xy坐标。
[0046]
2.koopman编码器
[0047]
假定轨迹时间序列满足:
[0048][0049]
其中,f表示时间序列的转移方程,m表示序列状态空间,rd表示d维状态空间,d表示空间维度,x表示轨迹时间序列。
[0050]
定义一个带有历史信息的koopman编码器,使得:
[0051]
kφ(xk,

,x1)=φ(x
k 1
,xk,

,x1)
[0052]
其中,k表示koopman算子。
[0053]
换言之,φ将xk以及其历史信息一同映射到一个新的隐空间,在这一空间中,系统的动力学是线性演化的。下文中,为表达清晰,将φ(xk,

,x1)记为φ(xk)。φ可以被视作xk的一个带有历史信息的函数。对每个智能体i以及其历史轨迹在时间t,首先使用lstm来提取其历史轨迹信息:
[0054][0055]
这里使用了隐藏层神经元个数为256的单层单向lstm模型。
[0056]
接着显式的推断智能体之间的关系。将每个智能体看作一个顶点,并把关系信息刻画为一个随时间变化的动态关系图。智能体i,j之间的关系被表示为一个隐变量也就是说,假定动态关系图一共有e种不同类型的边,每个类型对应一种特定的交互方式。的计算方式为:
[0057]
node

edge:
[0058]
edge

node:
[0059]
node

edge:
[0060]
其中,node

edge表示从顶点到边的信息传播,edge

node表示从边到顶点的信息传播;表示第一次点到边传播后每条边的特征向量;表示第一次边到点传播后每条边的特征向量;表示第一次点到边传播时所使用的全连接网络;表示第二次点到边传播时所使用的全连接网络;表示第一次边到点传播所使用的全连接网络。
[0061]
得到的是推断出的智能体i和j在时间t时的关系。接着,融合交互关系信息和历史轨迹信息得到最终的koopman编码
[0062][0063]
其中,表示的第k维元素;表示一个全连接网络,用两个顶点的特征来计算每条边的第k种类型的边的特征;表示一个全连接网络,用顶点的所有边的特征来计算该顶点的特征;k∈{1,

,e}。对每个边的类型k,使用一个独立的前馈网络作为此外,均被实现为前馈网络线性层。融入了t时刻智能体的交互关系信息和历史轨迹信息,可以在koopman算子的作用下随着时间线性演化。
[0064]
3.koopman算子线性演化
[0065]
首先解释koopman线性演化的原理。将原来的多智能体系统视为一个离散时间非
线性动力系统,其动力学方程为:
[0066][0067]
其中xk,x
k 1
为状态空间上的状态向量,f是系统的状态转移方程。由于非线性系统较难进行分析,koopman理论将xk映射到另一个高维特征空间,在新的特征空间中,系统的演化是线性的。定义koopman算子k作用在标量函数φ:上,其中φ是某个无限维希尔伯特空间的元素:
[0068]
yk=φ(xk),
[0069]
yk是一个由φ得到的无限维特征表示。koopman算子可以被定义为:
[0070][0071]
即:
[0072]
kφ(xk)=φ(f(xk))=φ(x
k 1
),
[0073]
或用yk来表达:
[0074]yk 1
=kyk,
[0075]
如果将所有可能的φ组成的集合视为一个希尔伯特空间,则koopman算子k确定了这个空间上的一个状态转换。koopman算子往往是无穷维的,本发明使用了一个有限维矩阵来近似无穷维的koopman算子。编码器φ将输入的数据映射到一个隐特征在这个特征空间中,系统的演化是线性的,其转移函数由有限维近似的koopman算子k决定。模型使用k来在时间上演化整个系统,对进行线性演化,得到一系列未来的状态即:
[0076][0077]
在本发明中,koopman算子k由一个没有激活函数的线性层来表示。这样,整个模型就可以进行端到端的训练。将koopman编码的维度置为512,因此k是一个512*512的矩阵,其初始化方式为:
[0078]
u,d,v=svd(cdussian)
[0079]kinit
=uv
t
*initscale
[0080]
其中,u表示gaussian的左奇异向量所组成的矩阵,d表示gaussian的奇异值所组成的对角矩阵,v表示gaussian的右奇异向量所组成的矩阵,svd表示矩阵的svd分解操作,gaussian是一个按照高斯分布随机生成的512*512矩阵,initscale决定了初始的特征值模长,设定为0.99。这样,
init
(即k的初始值)的特征值就均匀分布在单位圆附近。
[0081]
4.带有全局信息的解码器
[0082]
解码器φ-1
将koopman编码映射回智能体的坐标空间。在一个多智能体交互系统中,特定的全局背景信息对于预测智能体的未来行为是至关重要的。除了传统的koopman解码器外,本发明添加了一个全局背景分支,来让解码器可以结合全局信息进行解码。具体来说,每个智能体的lstm特征被拼接在一起,通过一个前馈网络进行信息融合,得到全局信息向量。这一向量和koopman编码拼接后再送入前馈网络解码器得到各智能体未来的坐标(图1中用来表示):
[0083][0084][0085]
其中,g表示用计算全局信息g的一个函数,t=h 1,

,h t。
[0086]
5.模型训练
[0087]
为了训练整个模型,本发明设计了三个目标损失函数,来针对性的进行学习。
[0088]
1)第一个是重建损失函数。编码器φ和解码器φ-1
是一对在原始状态空间和koopman空间中互相映射的函数。因此,这两个映射应当满足循环一致性,即
[0089]
φ-1
(φ(x
t
))=x
t
.
[0090]
使用一个自编码器重建损失函数来达到这一优化目标:
[0091][0092]
2)第二个是线性损失。本模型应当保证koopman空间中的系统动力学是线性的,即
[0093]
kφ(x
t
)=φ(x
t 1
),
[0094]
或更一般的,
[0095]kk
φ(x
t
)=φ(x
t k
).
[0096]
因此,加入一个线性限制损失函数,来确保koopman模型学出一个线性演变的状态空间:
[0097][0098]
3)第三个是预测损失函数。为了让模型准确预测未来轨迹,采用常用的均方损失函数:
[0099][0100]
整体的损失函数表达式为:
[0101][0102]
其中α,β,γ是权衡各个损失的权重超参数,被分别设定为1,100,1。在训练时,使用adam作为优化器,初始学习率被设为1e-4,且每30轮训练将学习率按照0.5的系数进行指数衰减。模型一共训练300轮,批大小被设定为64。整个框架可以用pytorch进行实现,并在单块rtx 2080ti显卡上进行训练。
[0103]
6.实验效果
[0104]
为证明本发明在多智能体轨迹预测任务中的表现优于已有方法,在sportvu篮球运动员数据集上进行了实验。这一数据集为2012-2013nba赛季比赛的篮球运动员追踪数据,一共包含117,467个序列,每个序列记录了10个球员在8秒内的xy坐标轨迹。每两帧之间的时间间隔为0.16秒,因此每个序列包括50个时间点。按照以往工作的惯例,将数据集分为
3部分:90,539个训练序列,13,464个验证序列和13,464个测试序列。对于每个序列,设定观察的历史时长为25个时间步(4秒),预测时长为接下来的25个时间步(4秒)。采用了三个常用的轨迹预测评价指标:
[0105]
1)均方误差(mse):预测轨迹和真实轨迹的均方误差;
[0106]
2)平均位移误差(ade):预测轨迹和真实轨迹的平均l2距离;
[0107]
3)最终位移误差(fde):预测轨迹终点和真实轨迹终点的平均l2距离。
[0108]
本发明和现有的一些方法进行了对比,其中包括目前表现最好的方法dnri。实验结果如表1所示。
[0109]
表1本发明在sportvu数据集上的预测误差和现有方法的对比
[0110][0111]
与本发明做对比的方法有:lstm(hochreiter,sepp,and j
ü
rgen schmidhuber."long short-term memory."neural computation 9.8(1997):1735-1780),social lstm(alahi,et al."social lstm:human trajectory prediction in crowded spaces."cvpr 2016),c-vae(felsen,et al."where will they go?predicting fine-grained adversarial multi-agent motion using conditional variational autoencoders."eccv 2018),nri(kipf,et al."neural relational inference for interacting systems."icml 2018),dnri(graber,et al."dynamic neural relational inference."cvpr 2020),evolvegraph(li,jiachen,et al."evolvegraph:multi-agent trajectory prediction with dynamic relational reasoning."neurips 2020),nart(qi,mengshi,et al."imitative non-autoregressive modeling for trajectory forecasting and imputation."cvpr 2020)。
[0112]
图2为本发明的方法与nri、dnri两个模型在未来每个时间点预测时的误差对比。根据该图可以看出,本发明方法的误差最低,且本方法在长期预测时相比现有方法的优势尤为显著。
[0113]
图3为本发明的方法预测轨迹、现有最好方法(dnri)预测轨迹以及真实轨迹(ground-truth)的可视化结果。
[0114]
本发明中所使用的lstm可以替换为任意一种循环神经网络变体,如基本的循环神经网络(rnn),门控循环神经网络(gated recurrent unit networks,gru),双向循环神经网络(bidirectional recurrent neural network,brnn)等;
[0115]
本发明用到的各个全连接网络可以替换为不同层数的网络,其性能可能会有所不
同;
[0116]
本发明对全局背景信息和库普曼编码的融合采用的方法是简单的拼接,这里也可以使用全连接网络等方法来进行融合。
[0117]
基于同一发明构思,本发明的另一个实施例提供一种采用本发明方法的基于库普曼理论和关系推断的多智能体轨迹预测装置,其包括:
[0118]
编码模块,用于根据给定的多智能体轨迹数据,提取每个智能体的历史轨迹信息,并对智能体之间的关系进行显式推断,得到交互关系信息,然后利用编码器融合历史轨迹信息和交互关系信息,得到历史每个时刻各智能体的koopman编码;
[0119]
线性演化模块,用于利用koopman算子对历史每个时刻各智能体的koopman编码进行时间上的线性演化,得到未来每个时刻各智能体的koopman编码;
[0120]
解码模块,用于利用带有全局信息的解码器对未来每个时刻各智能体的koopman编码进行解码,得到各智能体未来的坐标,从而实现轨迹预测。
[0121]
其中各模块的具体实施过程参见前文对本发明方法的描述。
[0122]
基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
[0123]
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如rom/ram、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
[0124]
以上公开的本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例所公开的内容,本发明的保护范围以权利要求书界定的范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献