行人轨迹预测方法、装置、设备及存储介质

文档序号:29160527发布日期:2022-03-09 00:06阅读:257来源:国知局
行人轨迹预测方法、装置、设备及存储介质

1.本技术实施例涉及数据处理技术领域,尤其涉及一种行人轨迹预测方法、装置、设备及存储介质。


背景技术:

2.预测行人的轨迹是一个非常关键的问题,因为它在智能系统中有着广泛的应用,从交通系统到监控系统,例如自动驾驶、自主机器人和监控系统等应用离不开对行人轨迹的预测。预测行人的运动对于自主车辆避免碰撞和减少事故至关重要。在城市地区,监控系统基于对视频轨迹的准确预测,检测和跟踪任何可疑行人的活动。然而行人的轨迹是一个多模式的过程,这个过程受到与物理场景之间的物理互动,及与行人或其他道路使用者之间复杂的社会互动影响。相关技术中多是通过“情境感知”的深度学习方法来进行物理互动的提取,以实现对行人轨迹的预测,例如采用卷积网络等,但是这些方法中行人只根据邻近的相互作用来调整他们的路径,而不考虑场景中其他人的存在,即并未在预测中考虑社会交互类型,不同的社会互动模式,如跟随或避免碰撞,会产生不同的后续运动趋势。相关技术中社会互动建模方法中,行人之间的互动用社会互动的强度来表示,一般是基于事先拟定的函数和规则,不能很好地扩展到更复杂的互动场景。并且相关技术中预测的多是单模态的轨迹并非轨迹的概率分布信息。


技术实现要素:

3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本技术实施例提供一种行人轨迹预测方法、装置、设备及存储介质,利用互动类型进行预测,得到行人轨迹预测概率分布结果,提高行人轨迹预测准确率。
5.第一方面,本技术实施例提供一种行人轨迹预测方法,包括:
6.获取行人历史轨迹数据;
7.将所述行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量;
8.将所述行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息;
9.将所述交互类型潜变量信息、所述行人轨迹特征向量和所述行人历史轨迹数据输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。
10.在一可选的实现方式中,所述特征向量编码模型包括自编码模块、社会编码模块和特征向量时间模块,所述将所述行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量,包括:
11.将所述行人历史轨迹数据输入到预先训练的所述自编码模块得到自编码特征向量;
12.将所述行人历史轨迹数据输入到预先训练的所述社会编码模块和所述特征向量时间模块得到社会编码特征向量;
13.将所述自编码特征向量和所述社会编码特征向量输入到所述特征向量时间模块,得到所述行人轨迹特征向量。
14.在一可选的实现方式中,所述交互类型估计模型包括:社会互动分类模型和潜变量估计模型,所述将所述行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息,包括:
15.将所述行人轨迹特征向量输入到所述社会互动分类模型,得到交互类型分布结果;
16.将所述交互类型分布结果输入到所述潜变量估计模型,得到所述交互类型潜变量信息。
17.在一可选的实现方式中,所述社会互动分类模型为感知器分类模型,所述将所述行人轨迹特征向量输入到所述社会互动分类模型,得到交互类型分布结果,包括:
18.将所述行人轨迹特征向量输入到所述感知器分类模型得到交互类型分布结果;
19.对所述交互类型分布结果进行随机梯度估计得到所述交互类型分布结果。
20.在一可选的实现方式中,所述获取行人历史轨迹数据之前,还包括:
21.获取训练数据,所述训练数据包括:行人历史轨迹训练数据和行人未来轨迹训练数据;
22.将所述行人历史轨迹训练数据和所述行人未来轨迹训练数据输入所述特征向量编码模型,得到行人历史轨迹特征向量和行人未来轨迹特征向量;
23.将所述行人历史轨迹特征向量输入所述社会互动分类模型得到先验交互类型分布结果;
24.将所述行人未来轨迹特征向量输入所述社会互动分类模型得到后验交互类型分布结果;
25.将所述先验交互类型分布结果和所述后验交互类型分布结果输入所述潜变量估计模型,最小化潜变量损失函数,得到训练后的所述潜变量估计模型。
26.在一可选的实现方式中,还包括:
27.根据所述先验交互类型分布结果和所述后验交互类型分布结果最小化社会互动分类损失函数,得到训练好的所述社会互动分类模型。
28.在一可选的实现方式中,所述将所述先验交互类型分布结果和所述后验交互类型分布结果输入所述潜变量估计模型,最小化潜变量损失函数,得到训练后的所述潜变量估计模型,包括:
29.将所述先验交互类型分布结果和所述后验交互类型分布结果输入所述潜变量估计模型,利用重参数化方式得到先验交互类型潜变量信息和后验交互类型潜变量信息;
30.根据所述先验交互类型潜变量信息和所述后验交互类型潜变量信息,计算所述潜变量损失函数;
31.最小化所述潜变量损失函数,得到训练后的所述潜变量估计模型。
32.第二方面,本技术实施例提供一种行人轨迹预测装置,包括:
33.行人历史轨迹数据获取模块,用于获取行人历史轨迹数据;
34.行人轨迹特征向量获取模块,用于将所述行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量;
35.交互类型潜变量信息获取模块,用于将所述行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息;
36.行人轨迹预测模块,用于将所述交互类型潜变量信息、所述行人轨迹特征向量和所述行人历史轨迹数据输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。
37.第三方面,一种计算机设备,包括处理器以及存储器;
38.所述存储器用于存储程序;
39.所述处理器用于根据所述程序执行如第一方面中任一项所述的行人轨迹预测方法。
40.第四方面,本技术实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面中任意一项所述的行人轨迹预测方法。
41.本技术实施例第一方面提供的一种行人轨迹预测方法,与相关技术相比,获取行人历史轨迹数据,将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量,将行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息,将交互类型潜变量信息和行人轨迹特征向量输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。本实施例中根据行人轨迹特征向量得到交互类型潜变量信息,利用行人之间的社会交互类型,避免相关技术中,行人之间无差别互动的问题,提高轨迹预测准确率。并且利用多模态的行为预测模型得到行人轨迹预测概率分布结果,即生成行人可行轨迹的概率分布,而不是单一的轨迹,使得预测能够得到多个行人的合理轨迹,提高轨迹预测的普适性。
42.可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1是本技术一个实施例提供的示例性系统架构的示意图;
45.图2是本技术一个实施例提供的行人轨迹预测方法的流程图;
46.图3是本技术一个实施例提供的特征向量编码模型结构示意图;
47.图4是本技术一个实施例提供的行为预测模型结构示意图;
48.图5是本技术一个实施例提供的行人轨迹预测方法的又一流程图;
49.图6是本技术一个实施例提供的训练交互类型估计模型流程示意图;
50.图7是本技术一个实施例提供的训练交互类型估计模型过程中信号流向示意图;
51.图8是本技术一个实施例提供的预测结果示意图;
52.图9是本技术一个实施例提供的预测结果又一示意图;
53.图10是本技术一个实施例提供的行人轨迹预测装置的结构框图。
具体实施方式
54.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术实施例的描述。
55.需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
56.还应当理解,在本技术实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
57.预测行人的轨迹是一个非常关键的问题,因为它在智能系统中有着广泛的应用,从交通系统到监控系统,例如自动驾驶、自主机器人和监控系统等应用离不开对行人轨迹的预测。预测行人的运动对于自主车辆避免碰撞和减少事故至关重要。在城市地区,监控系统基于对视频轨迹的准确预测,检测和跟踪任何可疑行人的活动。然而行人的轨迹是一个多模式的过程,这个过程受到与物理场景之间的物理互动,及与行人或其他道路使用者之间复杂的社会互动影响。其中,物理场景互动在开放世界中是一种常见的现象。物理场景中包含各种可能阻碍或影响行人行动的静态结构,例如建筑物、无法通行的道路和树木等。社会互动与物理场景互动相比,社会互动由于其动态性、多样性和隐私性而更为复杂。例如典型的个人与他人的社会互动有多种模式,包括跟随-领导、避免碰撞和群组等。
58.相关技术中为了学习上述的物理场景互动,多是通过“情境感知”的深度学习方法来进行物理互动的提取,物理场景理解任务采用景区图像生成注释的方案间接解决,以实现对行人轨迹的预测,例如采用卷积网络等,但是这些方法中行人只根据邻近的相互作用来调整他们的路径,而不考虑场景中其他人的存在,即并未在预测中考虑社会交互类型,不同的社会互动模式,如跟随或避免碰撞,会产生不同的后续运动趋势。相关技术中社会互动建模方法中,行人之间的互动用社会互动的强度来表示,一般是基于事先拟定的函数和规则,不能很好地扩展到更复杂的互动场景。又或者采用数据驱动的社会互动模型,主要是基于不变的对称函数,例如通过欧氏距离表达行人之间的互相影响程度,这种方式也不能准确地表示行人之间的互动类型。并且相关技术中预测的多是单模态的轨迹并非轨迹的概率分布信息。
59.因此,本技术实施例提供了一种行人轨迹预测方法,通过获取行人历史轨迹数据,将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量,将行
人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息,将交互类型潜变量信息和行人轨迹特征向量输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。本实施例中根据行人轨迹特征向量得到交互类型潜变量信息,利用行人之间的社会交互类型,避免相关技术中,行人之间无差别互动的问题,提高轨迹预测准确率。并且利用多模态的行为预测模型得到行人轨迹预测概率分布结果,即生成行人可行轨迹的概率分布,而不是单一的轨迹,使得预测能够得到多个行人的合理轨迹,提高轨迹预测的普适性。
60.可以理解的是,本技术实施例提供的行人轨迹预测方法可以由各种具备运算处理能力的电子设备实施,例如可以为笔记本电脑、平板电脑、台式计算机、机顶盒、移动设备(例如,移动电话、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备)等各种类型的用户终端实施,也可以由服务器实施。
61.需要说明的是,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,本发明在此不做限制。
62.为了便于理解本技术实施例提供的技术方案,下面以本技术实施例提供的行人轨迹预测方法应用于服务器为例,对本技术实施例提供的行人轨迹预测方法适用的应用场景进行介绍。
63.参见图1,图1为本技术实施例提供的行人轨迹预测方法的应用场景示意图。
64.如图1所示,系统架构100可以包括数据库101、网络102和服务器103。网络102用以在数据库101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
65.在本发明的一个实施例中,服务器103从数据库101中获取行人历史轨迹数据,将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量,将行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息,将交互类型潜变量信息和行人轨迹特征向量输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果,提高轨迹预测准确率和普适性。
66.需要说明的是,本发明实施例所提供的行人轨迹预测方法一般由服务器103执行,相应地,行人轨迹预测装置一般设置于服务器103中。但是,在本发明的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本发明实施例所提供的行人轨迹预测方案。
67.本技术实施例描述的系统架构以及应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本技术实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
68.基于上述系统架构,提出本技术实施例的行人轨迹预测方法的各个实施例。
69.如图2所示,图2是本技术一个实施例提供的行人轨迹预测方法的流程图,包括但
不限于有步骤s110和步骤s140。
70.步骤s110,获取行人历史轨迹数据。
71.在一实施例中,行人轨迹预测即根据过去观察到行人的t
obs
时刻的运动信息,预测该行人未来t
pre
时刻的运动信息。
72.本实施例中,将n个行人的行人历史轨迹数据(属于先验数据)表示为:x={x1,

,xn},其中每个行人的轨迹都是一个在x轴和y轴上位置坐标的联合状态序列,其中第i个行人的行人历史轨迹数据表示为:
[0073][0074]
其中,表示第i个行人在t时刻x轴上的坐标值,表示第i个行人在t时刻y轴上的坐标值,r2表示实数二维空间,t
obs
表示总共采集t
obs
时刻的历史轨迹数据。
[0075]
该实施例中,将该n个行人的未来轨迹数据表示为:y={y1,

,yn},其中每个行人的轨迹都是一个在x轴和y轴上位置坐标的联合状态序列,其中第i个行人的未来轨迹数据表示为:
[0076][0077]
其中,表示第i个行人在t时刻x轴上的坐标值,表示第i个行人在t时刻y轴上的坐标值,r2表示实数二维空间,t
pre
表示总共预测t
pre
时刻的未来轨迹数据。
[0078]
步骤s120,将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量。
[0079]
在一实施例中,特征向量编码模型包括自编码模块、社会编码模块和特征向量时间模块。
[0080]
上述行人历史轨迹数据包括:行人历史速度数据v、行人历史相对距离数据d和行人历史相对方向数据r,即根据速度、距离和方向能够表征该行人的历史轨迹。例如可以在gps信息中计算得到n个行人的上述三种数据,表示为:
[0081]
v={vi∈r2|i=1,2,...n}
[0082]
d={d
i,j
∈r2|i,j∈{1,2,...n}}
[0083]
r={r
i,j
∈r2|i,j∈{1,2,...n}}
[0084]di,j
=xj–
xi[0085]ri,j
=v
j-vi[0086]
其中,vi表示第i个行人的行人历史速度数据,d
i,j
表示第i个行人和第j个行人的行人历史相对距离数据,r
i,j
表示第i个行人和第j个行人的行人历史相对方向数据。
[0087]
在一实施例中,可以理解的是,在进行行人轨迹预测前,对特征向量编码模型进行预先训练,即对自编码模块、社会编码模块和特征向量时间模块均进行预先训练,上述步骤s120包括以下步骤:
[0088]
步骤s121,将行人历史轨迹数据输入到预先训练的自编码模块得到自编码特征向量。
[0089]
步骤s122,将行人历史轨迹数据输入到预先训练的社会编码模块和特征向量时间模块得到社会编码特征向量。
[0090]
步骤s123,将自编码特征向量和社会编码特征向量输入到特征向量时间模块,得到行人轨迹特征向量。
[0091]
在一实施例中,参照图3,为本技术一实施例中特征向量编码模型结构示意图,(1)表示自编码模块,(2)表示社会编码模块,(3)表示特征向量时间模块,可以理解的是,由于特征向量编码模型中存在自回归,因此上述划分方法只是一种示例,凡是能实现特征向量编码模型的功能的均属于本实施例的范围,在此不做具体限定。
[0092]
参照图3,自编码模块包括全连接层(fully connected layers,fc),通过全连接层将输入的行人历史轨迹数据中的行人历史速度数据转变成高维的自编码特征向量,表示为:
[0093]hself
=fc(v)
[0094]
其中,v表示行人历史速度数据,fc(
·
)表示全连接层,h
self
表示自编码特征向量,h表示一种隐藏状态。
[0095]
社会编码模块包括至少一个全连接层和多层注意力网络,其中多层注意力网络由m个自注意力网络构成,其输入包括:查询向量query(表示为q)、键值向量key(表示为k)和值向量value(表示为v)。
[0096]
特征向量时间模块可以采用长短期记忆网络(long short-term memory,lstm),长短期记忆网络是一种特殊的循环神经网络(rnn),能够解决长序列训练过程中的梯度消失和梯度爆炸问题,就是相比普通的rnn,lstm网络能够在更长的序列中有更好的表现,通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息。
[0097]
首先,将行人历史轨迹数据中的行人历史相对距离数据d和行人历史相对方向数据r分别输入对应的全连接层得到对应的输出,表示为:
[0098]hdist
=fc(d)
[0099]hdir
=fc(r)
[0100]
其中,h
dist
表示行人历史相对距离数据的输出,h
dir
表示行人历史相对方向数据的输出。其次,计算上述多层注意力网络的查询向量q、键值向量k和值向量v,表示为:
[0101]
q=fc(concat(h
dist
,h
dir
,fc(h
lstm
)))
[0102]
k=fc(concat(h
dist
,h
dir
,fc(h
lstm
)))
[0103]
v=fc(concat(h
dist
,h
dir
,fc(h
lstm
)))
[0104]
其中,concat(
·
)表示串联不同的输入,h
lstm
表示特征向量时间模块的输出,结合图3,通过自回归机制输入到多层注意力网络中,fc(h
lstm
)表示经过对应的全连接层得到的输出。
[0105]
社会编码模块的输出社会编码特征向量表示为:
[0106]hsocial
=concat(head,

,head)w
[0107][0108]
其中,h
social
表示社会编码特征向量,和分别表示第n个自注意力网络对应于查询向量q、键值向量k和值向量v的加权系数,w表示输出权重系数矩阵,dk表示缩放因子。
[0109]
最后,将上述得到的自编码特征向量h
self
和社会编码特征向量h
social
输入到特征向量时间模块(例如lstm网络),对不同时间下的轨迹特征进行建模,得到行人轨迹特征向量h
enc
,表示为:
[0110]henc
=lstm(concat(h
self
,h
social
))
[0111]
其中,h
enc
表示行人轨迹特征向量。
[0112]
步骤s130,将行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息。
[0113]
可以理解的是,上述不同全连接层均通过fc来表示,但是每个连接层均具有对应的权值参数。
[0114]
在一实施例中,交互类型估计模型包括:社会互动分类模型和潜变量估计模型,该实施例中,步骤s130包括但不限于步骤s131至步骤s132:
[0115]
步骤s131,将行人轨迹特征向量输入到社会互动分类模型,得到交互类型分布结果。
[0116]
在一实施例中,社会互动分类模型可以是感知器分类模型,例如可以是多层感知器模型mlp(multi-layerperceptron),mlp是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量,mlp可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元。可以使用bp反向传播算法的监督学习方法来训练mlp。mlp克服了感知器不能对线性不可分数据进行识别的弱点。相对于单层感知器,mlp多层感知器输出端从一个变到了多个,输入端和输出端之间也不光只有一层,现在又两层:输出层和隐藏层。基于反向传播学习的是典型的前馈网络,其层与层之间是全连接的,信息处理方向从输入层到各隐藏层再到输出层,逐层进行,隐藏层实现对输入空间的非线性映射,输出层实现结果的线性分类。
[0117]
在一实施例中,社会互动分类模型是三层感知器分类模型tlp(three-layerperceptron),即只包含一个隐藏层的mlp模型,该tlp模型的参数表示为θ,通过该社会互动分类模型对交互类型的分布进行建模,是一种无监督的多分类方式。
[0118]
在一实施例中,步骤s131但不限于步骤s1311至步骤s1312:
[0119]
步骤s1311,将行人轨迹特征向量输入到感知器分类模型得到先验交互类型分布结果。
[0120]
在一实施例中,由于行人之间的社会互动模式是不对称的,因此需要将第i个行人的上述行人轨迹特征向量和第j个行人的上述行人轨迹特征向量进行有序串联,表示为:
[0121][0122]
其中,p表示行人轨迹特征向量串联结果,满足p∈rn×
(n-1)
×
2e
,n表示n个行人,e表示行人轨迹特征向量的维度。
[0123]
将上述串联后的行人轨迹特征向量输入到感知器分类模型得到交互类型分布结果,表示为:
[0124]hpair
=tlp(p)
[0125]
其中,h
pair
表示先验交互类型,该感知器分类模型的输出层维度设为可能的交互
类型数量h,该数量可以根据实际需要设定,例如可以将社会交互类型分为四个主要类型(静态、线性、互动和非互动),也可以进一步分为四个子类别(领导者-跟随者、避免碰撞、群体和其他互动)等,在此不做具体限定。
[0126]
步骤s1312,对先验交互类型进行随机梯度估计得到交互类型分布结果。
[0127]
在一实施例中,由于感知器分类模型的输出按照概率分布来表示,社会互动类型表示为c,表示为:c={c
ij
},其中,c
ij
表示行人i和行人j之间的社会互动类型,因此通过条件先验网络p
θ
(c|x)表示输入x时,其对应的社会互动类型。由于先验交互类型h
pair
是一种离散分布,因此该实施例中,利用softmax函数,将向量归一化,既能估计随机梯度,同时得到的值的大小还能表示概率分布的含义,在该实施例中基于gumbel-softmax进行采样,实现随机梯度估计,得到的梯度值可以通过重参数化方式计算,并用该梯度值近似社会交互模式分布中的分布样本,表示为:
[0128]
p
θ
(c|x)=softmax((h
pair
+g)/τ)
[0129]
其中,p
θ
(c|x)表示交互类型分布结果,是一种基于行人历史轨迹数据x计算该行人社会交互模式c的概率分布,g表示从gumbel(0,1)中进行采样得到的值,τ表示超参数。
[0130]
在一实施例中,超参数τ较小时,计算的随机梯度方差较大,趋近于one-hot类型,当超参数τ较大时,产生的随机梯度更均匀,方差较小,因此可以根据实际需求选取对应的超参数。
[0131]
步骤s132,将交互类型分布结果输入到潜变量估计模型,得到交互类型潜变量信息。
[0132]
在一实施例中,为了实现多模态的行为预测,得到行人轨迹预测概率分布结果,即生成行人可行轨迹的概率分布,而不是单一的轨迹,使得预测能够得到多个行人的合理轨迹,提高轨迹预测的普适性,引入潜变量z,即交互类型潜变量信息,该潜变量可以作为某个预测轨迹的噪声。
[0133]
在一实施例中,潜变量估计模型可以是cvae(conditional autoencoder)生成模型,其中cvae生成模型是一种条件自编码机,主要有两个部分组成,编码器(encoder)和解码器(decoder),对于编码器来说,输入真实的数据,并且可以通过计算得到输入图像的均值和方差,并通过一个显式的高斯分布表示出来,并从该高斯分布中采样得到一个随机向量,也就是上面所说的潜变量z,然后decoder的输入就是encoder中输出的随机向量,从而重构真实的数据。
[0134]
在一实施例中,潜变量z的样本符合各向同性的高斯分布,引入潜变量z的上述交互类型分布结果p
θ
(c|x)表示为p
θ
(z|x,c),其分布符合:
[0135]
p
θ
(z|x,c)~n(μ,σ2i)
[0136]
其中,n表示高斯分布,μ表示均值,σ2表示方差,i表示单位矩阵。
[0137]
在一实施例中,均值和方差的计算方式表示为:
[0138]
μ=fc(h
enc
)
[0139]
logσ2=fc(h
enc
)
[0140]
其中,fc(
·
)表示全连接层,两者的网络参数是不同的。
[0141]
在一实施例中,利用重参数化方式从上述p
θ
(z|x,c)中得到潜变量z的样本,表示为:
[0142]
ε~n(0,i)
[0143]
z=μ+εσ
[0144]
其中,z表示交互类型潜变量信息。
[0145]
步骤s140,将交互类型潜变量信息、行人轨迹特征向量和行人历史轨迹数据输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。
[0146]
在一实施例中,上述得到交互类型潜变量信息z和行人轨迹特征向量h
enc
后,将两者输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。
[0147]
参照图4,为本技术一实施例中行为预测模型结构示意图,行为预测模型结构与特征向量编码模型结构较为相似,也是一种生成网络,首先将上述得到交互类型潜变量信息z和行人轨迹特征向量h
enc
连接起来,作为lstm网络的初始隐含层状态,表示为:h
lstm
=h
enc

z,该行为预测模型中每次输出一步的轨迹,然后当前生成的输出通过自回归形式被反馈为输入,以产生下一时间步骤的轨迹信息,通过自回归形式,能够减少预测中的复合误差。
[0148]
在一实施例中,获取行人历史轨迹数据之前,还包括预先训练交互类型估计模型,包括训练社会互动分类模型和潜变量估计模型,参照图5,训练潜变量估计模型包括但不限于步骤s510至步骤s550:
[0149]
步骤s510,获取训练数据,训练数据包括:行人历史轨迹训练数据和行人未来轨迹训练数据。
[0150]
在一实施例中,由于行人社会交互类型不仅由历史轨迹决定,也由其未来运动轨迹决定,因此在训练过程中,可以同时获取行人历史轨迹训练数据x
train
={x1,

,xn}和行人未来轨迹训练数据y
train
={y1,

,yn}。
[0151]
步骤s520,将行人历史轨迹训练数据和行人未来轨迹训练数据输入特征向量编码模型,得到行人历史轨迹特征向量和行人未来轨迹特征向量。
[0152]
在一实施例中,参照图6,为训练交互类型估计模型流程示意图。将上述行人历史轨迹训练数据x
train
={x1,

,xn}和行人未来轨迹训练数据y
train
={y1,

,yn}分别输入到特征向量编码模型中得到行人历史轨迹特征向量和行人未来轨迹特征向量。参照图4,训练中采用y
t
,预测时候采用x
t

[0153]
步骤s530,将行人历史轨迹特征向量输入社会互动分类模型得到先验交互类型分布结果。
[0154]
步骤s540,将行人未来轨迹特征向量输入社会互动分类模型得到后验交互类型分布结果。
[0155]
在一实施例中,参照图6,将得到的行人历史轨迹特征向量和行人未来轨迹特征向量分别输入社会互动分类模型(即图中的三层感知器分类模型tlp)后,分别进行gumbel-softmax采样得到先验交互类型分布结果p

(c|x),其参数用θ表示,以及后验交互类型分布结果q
φ
(c'|x,y),其参数用φ表示,该后验交互类型分布结果中以行人历史轨迹和行人未来轨迹为条件,输出对应的社会交互类型c'。
[0156]
步骤s550,将先验交互类型分布结果和后验交互类型分布结果输入潜变量估计模型,最小化潜变量损失函数,得到训练后的潜变量估计模型。
[0157]
在一实施例中,由于潜变量z的样本符合各向同性的高斯分布,引入潜变量z的上述先验交互类型分布结果p

(c|x)表示为p

(z|x,c),其分布符合:
[0158]
p

(z|x,c)~n(μ1,σ
12
i)
[0159]
其中,n表示高斯分布,μ1表示均值,σ
12
表示方差,i表示单位矩阵。
[0160]
引入潜变量z的上述后验交互类型分布结果q
φ
(c'|x,y)表示为q
φ
(z'x,y,c'),其分布符合:
[0161][0162]
其中,n表示高斯分布,μ2表示均值,表示方差,i表示单位矩阵。
[0163]
在一实施例中,参照图6,分别利用重参数化方式得到潜变量z的样本(先验交互类型潜变量信息和后验交互类型潜变量信息)。例如图6中利用全连接层fc(
·
)和relu激活函数得到:先验交互类型分布结果和后验交互类型分布结果对应的(μ
θ
~logσ
θ2
)和(μ
φ
~logσ
φ2
),从而得到对应的先验交互类型潜变量信息和后验交互类型潜变量信息,表示为:
[0164]
ε~n(0,i)
[0165]zx
=μ
θ
+εσ
θ
[0166]
zy=μ
φ
+εσ
φ
[0167]
其中,z
x
表示先验交互类型潜变量信息,zy表示后验交互类型潜变量信息。
[0168]
在一实施例中,训练过程中,根据先验交互类型分布结果和后验交互类型分布结果,最小化社会互动分类损失函数,得到训练好的社会互动分类模型,然后根据上述先验交互类型潜变量信息和后验交互类型潜变量信息计算潜变量损失函数,目标函数为最小化潜变量损失函数,得到训练好的潜变量估计模型,从而得到训练后的交互类型估计模型。
[0169]
在一实施例中,社会互动分类损失函数为先验交互类型分布结果和后验交互类型分布结果之间的相对熵,即kullback-leibler距离,kullback-leibler距离用于度量同一概率空间两个概率分布p和q(即本实施例中先验交互类型分布结果和后验交互类型分布结果)之间的距离,目标函数是最小化kullback-leibler距离,表示为:
[0170]
d[c'||c]=d[q
φ
(c'|x,y)||p

(c|x)]
[0171]
在一实施例中,潜变量损失函数为先验交互类型潜变量信息和后验交互类型潜变量信息之间的相对熵,即kullback-leibler距离,目标函数是最小化kullback-leibler距离,表示为:
[0172][0173]
本实施例中最小化kullback-leibler距离通过变分推理的方式实现,要实现变分推理需要获取证据下界(evidence lower bound,elbo),这里的证据指概率密度。当社会互动类型c'在训练期间从后验交互类型分布结果q
φ
(c'|x,y)中采样时,变分推理的目标时使得估计得到的q
φ
(z'|x,y,c')和p

(z|x,c)之间的kullback-leibler距离最小,表示为:
[0174]
d[q
φ
(z'|x,y,c')||p

(z|x,c)]=e[logq
φ
(z'|x,y,c')-logp

(z x,c)]
[0175]
通过贝叶斯法则展开计算得到证据下界,当c

~q
φ
(c

|x,y)和c~p

(c|x)时,证据下界推导为:
[0176]
logp

(y|x,c

)≥e[logp

(y|x,z,c

)]-d[q
φ
(z|x,y,c

)||p

(z|x,c)]-d[p

(z|x,c)||p

(z|x,c

)]
[0177]
其中,e[logp

(y|x,z,c

)]表示对数似然logp

(y|x,z,c

)的数学期望。
[0178]
根据上式,即可进行最小化社会互动分类损失函数,得到训练好的社会互动分类
模型,然后最小化潜变量损失函数,得到训练好的潜变量估计模型,从而得到训练后的交互类型估计模型。
[0179]
在一实施例中,训练过程还包括:将交互类型潜变量信息、行人轨迹特征向量和行人历史轨迹数据输入到行为预测模型中,得到行人轨迹预测概率分布结果(表示为),将该预测的行人轨迹预测概率分布结果与输入的标签值(实际参考的行人未来轨迹数据,表示为y)进行比较,最小化两者之间的损失函数l,作为训练目标,训练行为预测模型,调整对应的模型权值,以提高预测准确率。
[0180]
在一实施例中,损失函数l时负的证据下界,表示为:
[0181][0182]
其中,λz和λc分别表示用于权衡损失函数的超参数,由于p

(z|x,c)和q
φ
(z'|x,y,c')均服从高斯分布:p

(z|x,c)~n(μ1,σ
12
i),
[0183]
因此有:
[0184][0185]
d[q
φ
(c

|x,y)||p

(c|x)]=en(q
φ
(c

|x,y),p

(c|x))-en(q
φ
(c

|x,y),q
φ
(c

|x,y))
[0186]
其中,en(q,p)表示p和q的交叉熵,en(q,p)=-q log(p)。
[0187]
在一实施例中,参照图7,为训练交互类型估计模型过程中信号流向示意图。图中每个节点表示一种数学运算或者网络功能模块的实例,每条边表示执行运算的多维数据。
[0188]
图7中可知,训练过程中,首先将行人历史轨迹训练数据x
train
和行人未来轨迹训练数据y
train
分别输入社会互动分类模型得到先验交互类型分布结果p

(c|x)和后验交互类型分布结果q
φ
(c'|x,y),然后通过社会互动分类模型gumbel-softmax采样计算得到社会互动分类损失函数,对社会互动分类模型进行训练,该实施例中社会互动分类损失函数表示为:d[c'||c]。
[0189]
接着通过输入潜变量估计模型估计引入潜变量,得到p

(z|x,c)和q
φ
(z'|x,y,c'),进行重参数化得到先验交互类型潜变量信息z
x
和后验交互类型潜变量信息zy,根据先验交互类型潜变量信息z
x
和后验交互类型潜变量信息zy计算潜变量损失函数,对潜变量估计模型进行训练,该实施例中潜变量损失函数表示为:
[0190]
本技术实施例提供了一种行人轨迹预测方法,通过获取行人历史轨迹数据,将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量,将行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息,将交互类型潜变量信息和行人轨迹特征向量输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。本实施例中根据行人轨迹特征向量得到交互类型潜变量信息,利用行人之间的社会交互类型,避免相关技术中,行人之间无差别互动的问题,提高轨迹预测准确率。并且利用多模态的行为预测模型得到行人轨迹预测概率分布结果,即生成行人可行轨迹的概率分布,而不是单一的轨迹,使得预测能够得到多个行人的合理轨迹,提高轨迹预测的普适性。
[0191]
在一实施例中,为了体现本技术中行人轨迹预测方法的预测结果,在两个成熟的
数据集上进行分析:eth和ucy,其中,eth数据集出自于eth zurich(苏黎世联邦理工学院),当中记录了12298个行人的样本,ucy数据集是一种标准测试数据集,两者都包含了现实世界中多行人的轨迹,包括大量的社会互动。eth数据集包含两个场景eth和hotel。ucy数据集包含三个场景zara1、zara2和univ。这五个数据集是行人轨迹预测的主要基准。按照之前的数据集分割,模型在特定数据集的一部分上进行训练,并在其余部分上进行测试。其他四个场景的数据集被用于验证。数据集中的所有轨迹每0.4秒采样一次。评估发生在8秒内(20个时间段),其中前3.2秒(8个时间段)被设定为行人历史轨迹,模型被训练来预测接下来的4.8秒(12个时间段)。
[0192]
接下来在上述数据集中,将本技术实施例提出的行人轨迹预测方法(对应的模型表示为social-dualcvae)与相关技术中已有模型进行比较,相关技术中预测模型有:
[0193]
1)一个非概率的方法,linear是一个线性回归器,通过最小化最小平方误差输出预测轨迹;
[0194]
2)四个预测模型,分别是:
[0195]
social-lstm:一个基于lstm的网络,具有隐藏状态的社会集合。
[0196]
social-stgcnn:将相互作用建模为一个图,并通过tcn预测序列。
[0197]
pif:利用人的行为序列的视觉信息。
[0198]
gat:一个基于图的网络,应用图注意网络来捕捉社会互动。
[0199]
3)四个生成模型,分别是:
[0200]
social-gan:将gan应用于social-lstm。
[0201]
sophie:将注意力网络引入social-gan。
[0202]
cgns:将变异发散最小化应用于潜在空间学习。
[0203]
social-bigat:将潜在场景编码器附加到gat中。
[0204]
本实施例利用平均位移误差(ade)和最终位移误差(fde)来评估不同预测方法对应模型的性能,ade被定义为沿着预测的未来轨迹的最小平均位移误差,而fde被定义为终点的最终位移误差,同时采用了保持-淘汰交叉评估策略,通过从n(0,i)中随机抽样产生k=20个样本,将ade和fde的最小值,ade20和fde20被保留作为定量结果。
[0205][0206][0207]
其中,n个行人,表示预测得到的第n个行人t时刻的轨迹预测结果,表示实际参考的第n个行人t时刻的行人未来轨迹数据,t
pre
表示预测时长。
[0208]
参照下表1,是上述不同预测模型中平均位移误差(ade)和最终位移误差(fde)值。
[0209][0210]
上表1中,将本技术实施例的social-dualcvae与相关技术中其他预测模型进行了比较,报告了12个时间段的行人运动的ade和fde。可以看到预测性和生成性模型的表现都超过了简单的线性模型。具体来说,从20个样本中评估,social-bigat通过诱导潜在变量提高了gat的性能,而social-stgcnn通过使用时空图对场景进行建模,进一步超过了social-bigat。就本技术实施例提出的模型而言,与baseline生成模型相比,单独的cvae模型确实提高了性能,因为vae结构有一个很好的概率表述,这是最大化对数似然的下界的结果,但是本技术实施例中social-dualcvae模型在cvae模型基础上引入了一个无监督分类网络,social-dualcvae,在表1所示的所有预测性和生成性模型中取得了最好的性能。
[0211]
另外,就social-dualcvae模型与不同的社会互动类型的超参数h而言,可以看到social-dualcvae的ade(h=4)在所有比较的模型中取得了最好的性能,使得ade比最先进的模型social-stgcnn减少14%,fde减少8%。而social-dualcvae架构在h=2和h=6时对性能没有明显帮助。性能的下降表明,选择不合适的社会交往类别的超参数h会导致分类结果的不合适,误导预测性能。
[0212]
本实施例中,训练时,将训练批次大小设置为128,行人轨迹预测方法对应的模型使用adam优化器训练了60个epochs,初始学习率为0.001,在30个epochs之后将改为0.0001。为了避免过度拟合,采用了l2正则化,正则化参数被设置为0.1。此外所有dropout层的dropout概率被设置为0.2,交互类型超参数h的数量被设置为2、4和6。超参数τ被设定为0.1。损失函数中的权重超参数λz和λc都被设置为0.005。
[0213]
参照图8为本实施例中预测结果示意图。图8中前五副图是相关技术中social-stgcnn的预测结果,图8的后五副图是本技术实施例的行人轨迹预测结果。图中行人历史轨
迹用虚线表示,真实的参考预测轨迹用实线表示,而生成的多模态样本则被表示为等高线图。在eth和ucy数据集的五个场景帧中,将本技术实施例的行人轨迹预测方法与相关技术中social-stgcnn得到的预测结果进行比较。图中分别示出了5个场景下的预测轨迹:scene1(场景1)、scene2(场景2)、scene3(场景3)、scene4(场景4)、scene5(场景5),这五个场景包含了现实世界中通常的社会互动,例如平行或分组行走(如场景1中1,2,3号行人),跟随或引领(如场景2中的1,2号行人),相遇或避免碰撞(如场景2中的3,4号行人)和没有互动(如场景5中的1,2号行人)。
[0214]
与social-stgcnn相比,本技术实施例的social-dualcvae更好地捕捉了社会互动。如场景2所示,social-dualcvae中的3号个体试图避免与4号个体发生碰撞。social-dualcvae还产生了较小的多模态未来轨迹的方差,预测区域更加集中。此外,在social-dualcvae中,多模态预测轨迹覆盖了更多的目标轨迹,代表了更好的多模态预测精度。
[0215]
为了通过社会交互分类更好地理解社会行为,本实施例进一步将zara1场景中无监督分类结果中每一类的典型社会交往进行了可视化处理,总共包含4类(class),参考图9,为本实施例中预测结果又一示意图,其中超参数h的取值为4。在zara1场景中存在的38382个社会互动中,有25519个实例属于第1类,这主要包括在同一方向的平行行走或平行趋势。5263个实例属于第2类。第2类中大多数轨迹的预测区域并不重叠,这意味着行人之间的互动很弱或没有互动。1854个实例属于第3类,它主要包含同方向的社会互动,有追赶或跨越的趋势。5746个实例属于第4类。第4类中的大多数轨迹具有相反的方向,有更多的重叠,代表了某种相遇或碰撞的可能性。由图9可见不同社会互动类别之间有明显特征差异,并能够验证了申请实施例的行人轨迹预测方法在具有各种社会互动的广泛场景中的良好表现。
[0216]
另外,本技术实施例的一个实施例还提供了一种行人轨迹预测装置,参照图10,装置包括:
[0217]
行人历史轨迹数据获取模块1010,用于获取行人历史轨迹数据;
[0218]
行人轨迹特征向量获取模块1020,用于将行人历史轨迹数据输入到预先训练的特征向量编码模型,得到行人轨迹特征向量;
[0219]
交互类型潜变量信息获取模块1030,用于将行人轨迹特征向量输入到预先训练的交互类型估计模型得到交互类型潜变量信息;
[0220]
行人轨迹预测模块1040,用于将交互类型潜变量信息、行人轨迹特征向量和行人历史轨迹数据输入到预先训练的行为预测模型,得到行人轨迹预测概率分布结果。
[0221]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0222]
需要说明的是,本实施例中的行人轨迹预测装置,可以执行如图2所示实施例中的行人轨迹预测方法。即,本实施例中的行人轨迹预测装置和如图2所示实施例中的行人轨迹预测方法,均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
[0223]
另外,本技术实施例的一个实施例还提供了计算机设备,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
[0224]
处理器和存储器可以通过总线或者其他方式连接。
[0225]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0226]
实现上述实施例的行人轨迹预测方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的行人轨迹预测方法,例如,执行以上描述的图2中的方法步骤s110至s140等。
[0227]
此外,本技术实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的行人轨迹预测方法,例如,执行以上描述的图2中的方法步骤s110至s140等。
[0228]
又如,被上述计算机设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的行人轨迹预测方法,例如,执行以上描述的图2中的方法步骤s110至s140等。
[0229]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0230]
以上是对本技术实施例的较佳实施进行了具体说明,但本技术实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术实施例精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术实施例权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1