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

轨迹预测方法和装置与流程

2022-09-03 23:32:11 来源:中国专利 TAG:


1.本公开的实施例涉及计算机技术领域,具体涉及轨迹预测方法和装置。


背景技术:

2.轨迹预测在自动驾驶等领域有着广泛的应用。随着深度学习技术的发展和应用,出现了基于循环神经网络、隐变量模型等的轨迹预测方法。而为了建模不同运动目标分别对于其他运动目标的关注度,出现了采用基于注意力机制的图注意力网络进行轨迹预测的方法。目前的轨迹预测方法通常会对运动目标的历史轨迹序列中的空间关联进行建模,但是在实际的多目标运动场景下,各运动目标之间的注意力关系会影响运动目标的运动轨迹。


技术实现要素:

3.本公开的实施例提出了轨迹预测方法和装置。
4.第一方面,本公开的实施例提供了一种轨迹预测方法,该方法包括:确定目标关系图,其中,目标关系图中的节点表示运动目标,目标关系图中的边表示运动目标之间的注意力关系;获取目标关系图中的每个节点的历史运动轨迹;利用预先训练的轨迹预测模型,基于双头注意力机制根据目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹,其中,轨迹预测模型基于图注意力网络构建,双头注意力机制包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算。
5.第二方面,本公开的实施例提供了一种轨迹预测装置,该装置包括:确定单元,被配置成确定目标关系图,其中,目标关系图中的节点表示运动目标,目标关系图中的边表示运动目标之间的注意力关系;获取单元,被配置成获取目标关系图中的每个节点的历史运动轨迹;预测单元,被配置成利用预先训练的轨迹预测模型,基于双头注意力机制根据目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹,其中,轨迹预测模型基于图注意力网络构建,双头注意力机制包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算。
6.第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
7.第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
8.本公开的实施例提供的轨迹预测方法和装置,通过图注意力网络进行轨迹预测,并将运动节点之间的注意力划分成每个节点在终点位置对其它节点的注意力和每个节点在运动过程中的每个时刻对其它节点的注意力,从而能够结合不同角度进行更准确地进行注意力计算,进而有助于提升轨迹预测结果的准确度。
附图说明
9.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
10.图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
11.图2是根据本公开的轨迹预测方法的一个实施例的流程图;
12.图3是节点划分方法的一个实施例的示意图;
13.图4是图注意力计算的一个实施例的示意图;
14.图5是根据本公开的轨迹预测装置的一个实施例的结构示意图;
15.图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
16.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
17.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
18.图1示出了可以应用本公开的轨迹预测方法或轨迹预测装置的实施例的示例性架构100。
19.如图1所示,系统架构100可以包括各种场景中的运动目标(如车辆101、行人102等)和服务器103。图中的箭头可以表示运动目标的运动方向。图中的虚线可以表示运动目标的历史运动轨迹。服务器可以将场景中的各个运动目标考虑在一个图中,图中的节点可以表示运动目标,图中的边可以表示节点之间的各种关系,进而服务器可以基于图注意力网络等方法预测场景中的各运动目标的运动轨迹,进而服务器还可以基于对各运动目标的运动轨迹的预测结果,辅助部分运动目标(如无人车等)的行驶决策等。
20.需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
21.需要说明的是,本公开的实施例所提供的轨迹预测方法一般由服务器103执行,相应地,轨迹预测装置一般设置于服务器103中。
22.还需要指出的是,系统架构100还可以包括各种终端设备,服务器可以103可以与终端设备通过如有线、无线通信链路或者光纤电缆等等各种连接方式进行通信连接。服务器103可以将得到的对于各运动目标的运动轨迹的预测结果发送至终端设备。
23.终端设备可以是硬件,也可以是软件。当终端设备为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、车载终端、膝上型便携计算机和台式计算机等等。当终端设备为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
24.终端设备上可以安装有各种客户端应用,例如网页浏览器应用、购物类应用、搜索
类应用、即时通信工具、社交平台软件、导航类应用、地图类应用等等。
25.还需要指出的是,终端设备中也可以安装有轨迹预测类应用,终端设备也可以基于轨迹预测类应用对各运动目标的运动轨迹进行预测,此时,轨迹预测方法也可以由终端设备执行,相应地,轨迹预测装置也可以设置于终端设备中。
26.应该理解,图1中的运动目标和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的运动目标和服务器。
27.继续参考图2,其示出了根据本公开的轨迹预测方法的一个实施例的流程200。该轨迹预测方法包括以下步骤:
28.步骤201,确定目标关系图。
29.在本步骤中,目标关系图中的节点可以表示运动目标。运动目标可以是各种能够运动的对象。例如,运动目标包括但不限于行人、车辆、机器人等等。不同的场景中可以具有不同的运动目标。例如,道路交通分析的场景中,运动目标可以包括行人和车辆。在一些情况下,车辆可以包括但不限于:有人驾驶车辆和无人车等。
30.目标关系图中的边可以表示各运动目标之间的注意力关系。一个运动目标“a”对另一个运动目标“b”的注意力(或称关注度)可以表示运动目标“b”对于运动目标“a”的运动轨迹的影响。具体地,注意力关系可以根据实际的应用场景设置。例如,注意力关系可以表示两个运动目标之间是否具有注意力。若两个运动目标之间没有边,即没有注意力关系,可以表示这两个运动目标对于彼此的运动轨迹没有较大地影响。又例如,注意力关系可以表示两个运动目标之间是否具有注意力,以及具有注意力关系的两个运动目标之间的注意力权重。其中,注意力权重可以表示一个运动目标对于另一个运动目标的运动轨迹的影响程度。
31.需要说明的是,在一些场景下,运动目标可以包括多种类别的运动目标。两个不同类别的运动目标之间的注意力关系可以不对称。作为示例,对于两个车辆“v1”和“v2”,由于两者同属于车辆类别,则若“v1”对于“v2”具有注意力,那么“v2”通常也对于“v1”具有同样的注意力。而对于一个车辆“v”和一个行人“p”,由于两者属于不同类别,两者的注意力产生条件可能不同,因此,“v”对于“p”是否具有注意力和“p”对于“v”是否具有注意力可以没有之间的关联关系。此时,目标关系图可以是有向图。
32.在本实施例中,轨迹预测方法的执行主体(如图1所示的服务器103等)可以采用各种方法确定目标关系图。由于各个运动目标在各个时刻的位置是不断变化的,而不同的位置关系可能具有不同的注意力,因此每个时刻所构建出的目标关系图可以相同,也可以不同。执行主体也可以根据需求确定所需时刻的目标关系图。
33.一般地,对于目标关系图中任意两个节点,可以根据这两个节点分别表示的运动目标之间的位置关系和预先针对每个节点设置的注意力条件确定这两个节点之间是否有注意力关系,即是否有边,由此可以构建目标关系图。
34.其中,位置关系可以灵活采用各种方式表示。例如,位置关系可以使用两个节点分别表示的运动目标之间的距离(如欧式距离、余弦距离等等)来表示。每个节点所表示的运动目标的位置可以也可以灵活采用各种方式表示。例如,可以采用坐标、经纬度等各种方式表示运动目标所在的位置。具体地,可以根据需求构建任意时刻的目标关系图。此时,注意力条件可以为小于预设的距离阈值。一般地,可以在预测时刻,根据各节点当前的位置构建
目标关系图。
35.需要说明的是,目标关系图的构建可以由上述执行主体实现,也可以由其它电子设备实现,此时,执行主体可以从其它电子设备获取构建好的目标关系图。
36.步骤202,获取目标关系图中的每个节点的历史运动轨迹。
37.在本实施例中,每个节点的历史运动轨迹可以由对应运动目标在预测时刻之前的各个时刻分别所在的位置构成。例如,每个节点的历史运动轨迹可以由对应运动目标在预测时刻之前的各个时刻分别所在的坐标按照时间从早到晚的顺序依次排列组成。上述执行主体可以从本地或其它存储设备(如车载终端、道路上的智能摄像头等)获取每个节点的历史运动轨迹。
38.步骤203,利用预先训练的轨迹预测模型,基于双头注意力机制根据目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹。
39.在本实施例中,轨迹预测模型可以基于图注意力网络(gat,graph attention network)构建。图注意力网络主要是通过注意力机制(attention mechanism)来对每个节点的邻居节点做聚合操作,以实现对不同邻居的注意力权重的自适应分配,能够提升对于每个节点特征的表达能力,从而提升基于每个节点特征的轨迹预测结果的准确度。其中,图注意力网络和注意力机制等是目前广泛研究和应用的公知技术,在此不再赘述。
40.在本实施例中,双头注意力机制可以包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算。对于每个节点,其它节点可以指目标关系图中除该节点之外的其它各节点,但是由于每个节点许多情况下只与周围部分节点具有注意力关系,因此,其它节点可以指目标关系图中该节点的邻居节点,邻居节点即指与该节点之间具有注意力关系的节点。
41.其中,第一注意力计算可以指在节点到达终点位置的时刻,根据该时刻各节点之间的注意力关系进行的注意力计算。第二注意力计算可以指在节点运动过程中的每个时刻,根据该时刻各节点之间的注意力关系进行的注意力计算。具体的注意力计算方式可以采用现有的注意力机制提供的计算方式,在此不再赘述。
42.作为示例,可以基于如下公式实现注意力计算中的邻居节点的特征聚合:
43.encv=lstm((x))
[0044][0045]
ence=atten(encv,ee)
[0046]
enc
x
=concat(encv,ence)
[0047]
其中,“x”表示各邻居节点的历史运动轨迹的向量。例如,可以采用求和-池化等方式将各邻居节点的历史运动轨迹加和为一个向量。“enc
v”表示利用lstm(long short-term memory,长短期记忆网络)提取的邻居节点的历史运动轨迹的特征向量。“a
t”表示“t”时刻的目标关系图的邻接矩阵。“k
add”和“k
remove”为两个预设的卷积核,以按时间通过滑动窗口的卷积聚合不同时刻的邻接矩阵,从而有助于增强目标关系图中的时序信息表示。
“★”
表示卷积。“e
i”表示邻居节点“i”的类别(如行人、车辆等),具体可以采用预设的不同数值等
来表示不同类别。“.”表示乘积。“e
e”表示目标关系图中各节点之间的注意力关系特征。“atten(encv,ee)”表示以“enc
v”作为“query”,以“e
e”作为“key”的注意力计算,“enc
e”即为注意力计算结果。“concat()”表示连接操作。“enc
x”表示邻居节点的特征聚合结果。
[0048]
由于第一注意力计算是针对节点在终点位置处的注意力计算,而第二注意力计算是针对节点在运动过程中的每个时刻所在位置处的注意力计算,因此,利用第一注意力计算和第二注意力计算实现双头注意力机制不仅可以从每个节点的运动轨迹的全过程这一维度进行节点之间的注意力分析,而且可以从每个节点在每个时刻的运动轨迹这一维度进行节点之间的注意力分析,从而有助于提升注意力机制的输出结果的准确性,从而提升对节点所表示的运动目标的特征的表达能力。
[0049]
轨迹预测模型可以基于双头注意力机制更准确的表达目标关系图中的每个节点的特征,然后可以根据每个节点的特征和该节点的历史运动轨迹,预测该节点之后的运动轨迹,从而得到每个节点的预测运动轨迹。具体的预测方法可以采用现有的各种轨迹预测方法,在此不再赘述。
[0050]
轨迹预测模型可以预先由技术人员基于机器学习的方法,利用训练样本训练得到。其中,训练样本可以从实际的各种运动场景中获取,也可以从第三方数据平台获取等。基于机器学习的神经网络的训练方法等是目前广泛研究和应用的公知技术,在此不再赘述。
[0051]
由于采用上述包括第一注意力计算和第二注意力计算的双头注意力机制能够提升对运动目标的特征的表达能力,因此轨迹预测模型基于较优的运动目标的特征表达也能够更准确地预测运动目标的运动轨迹,即有助于提升轨迹预测结果的准确度。
[0052]
在本实施例的一些可选的实现方式中,第一注意力计算可以通过如下步骤实现:
[0053]
步骤一,根据历史运动轨迹,预测每个节点的终点位置。
[0054]
在本步骤中,可以采用现有的各种预测方法对每个节点的终点位置进行预测。例如,对于每个节点,根据该节点的历史运动轨迹,确定该节点的运动方向和平均运动速度,然后基于运动方向和平均运动速度确定该节点的终点位置。
[0055]
可选地,可以利用高斯混合模型(gmm,gaussian mixture model)基于节点的历史运动轨迹,预测每个节点的终点位置。高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,以将一个事物分解成若干的基于高斯概率密度函数形成的模型。
[0056]
通过概率描述节点的位置变化的不确定性,能够更准确地进行节点的轨迹预测,因此可以利用高斯混合模型对每个节点的终点坐标分布进行预测,以更准确地表示每个节点的终点坐标。
[0057]
具体地,可以根据需求采用现有的各种基于高斯混合模型的预测方法来预测每个节点的终点位置。作为示例,假设节点的终点坐标分布为二维高斯分布,可以采用多层感知机(mlp,multi-layer perception)构建全连接网络以用于预测节点的终点坐标,并使用高斯混合模型表示节点的终点坐标。具体可以参考下述公式,全连接网络的输入可以为提取的节点的历史运动轨迹的特征向量,输出为该节点的终点坐标的分布参数:
[0058][0059]
其中,“i”为表示待预测的节点的历史运动轨迹的向量。“x”为表示其它节点(如待
预测的节点的邻居节点等)的历史运动轨迹的向量。“enc
x”表示基于预测时刻的目标关系图进行注意力计算后得到的表示待预测节点的特征向量。“des”表示节点的终点坐标的分布参数。“p”表示终点坐标的概率。“z”为隐变量。
[0060]
步骤二,基于各节点的终点位置之间的位置关系,确定第一矩阵。
[0061]
在本步骤中,第一矩阵中的各行可以分别对应目标关系图中的各节点,以及各列也可以分别对应目标关系图中的各节点。第一矩阵中的元素可以表示节点之间的注意力权重。需要说明的是,由于不同类型的运动目标之间互相的注意力条件可能不同,因此,两个节点互相对于对方的注意力权重可以相同,也可以不同。
[0062]
具体地,可以采用各种方法确定第一矩阵。例如,对于每个节点指示的运动目标,可以设置该运动目标与其它运动目标之间的位置关系与注意力权重两者的对应关系。此时,可以根据各节点之间的位置关系,查询对应的注意力权重以得到第一矩阵。
[0063]
步骤三,利用第一矩阵进行第一注意力计算。
[0064]
在本步骤中,可以利用第一矩阵中各节点之间的注意力权重对每个节点的邻居节点做聚合操作,以提升对于每个节点特征的表达能力,具体的计算方法可以根据应用需求灵活设置。
[0065]
通过各运动目标的预测终点之间的距离进行注意力计算,可以在一定程度上表示各运动目标在运动过程中一直存在的注意力关系,即实现一种长期注意力的建模。
[0066]
在本实施例的一些可选的实现方式中,第二注意力计算可以包括如下步骤:
[0067]
步骤一,在节点运动过程中的每个时刻,确定各节点之间的位置关系。
[0068]
在本步骤中,可以确定每个时刻各节点之间的位置关系。其中,节点之间的位置关系可以根据各节点每个时刻的位置确定。每个节点在每个时刻的位置可以根据具体的应用场景采用各种方法确定。例如,可以由每个节点在每个时刻采集自身的位置并上传至执行主体。又例如,执行主体可以通过监控每个节点的运动过程并采集每个节点在每个时刻的位置。
[0069]
步骤二,基于每个时刻各节点之间的位置关系,确定第二矩阵。
[0070]
在本步骤中,第二矩阵中的各行可以分别对应目标关系图中的各节点,以及各列也可以分别对应目标关系图中的各节点。第二矩阵中的元素可以表示节点之间的注意力权重。需要说明的是,由于不同类型的运动目标之间互相的注意力条件可能不同,因此,两个节点互相对于对方的注意力权重可以相同,也可以不同。此外,由于不同时刻各节点的位置不同,因此,节点之间的注意力权重在不同的时刻可以相同,也可以不同。
[0071]
具体地,可以采用各种方法确定第二矩阵。例如,对于每个节点指示的运动目标,可以设置该运动目标与其它运动目标之间的位置关系与注意力权重两者的对应关系。此时,可以根据各节点之间的位置关系,查询对应的注意力权重以得到第二矩阵。
[0072]
步骤三,利用第二矩阵进行第二注意力计算。
[0073]
在本步骤中,在每个时刻,可以利用第二矩阵中各节点之间的注意力权重对每个节点的邻居节点做聚合操作,以提升每个时刻对于每个节点特征的表达能力,具体的计算方法可以根据应用需求灵活设置。
[0074]
通过每个运动目标在运动过程中的每个时刻对其它节点的注意力计算,可以在一定程度上表示各运动目标在每个时刻互相存在的依赖关系,即实现一种短期注意力的建
模。
[0075]
在本实施例的一些可选的实现方式中,第一矩阵和第二矩阵中的元素可以通过如下步骤确定:
[0076]
需要说明的是,如下步骤可以用于确定第一矩阵中的元素,也可以用于确地第二矩阵中的元素。
[0077]
步骤一,对于表示第一节点对于第二节点的注意力权重的元素,获取第一节点对于第二节点的注意距离阈值。
[0078]
在本步骤中,第一节点和第二节点可以是待确定的元素所在的行和列分别表示的节点。注意力阈值可以用于判断节点之间是否具有注意力关系。注意距离阈值可以根据实际的应用场景由技术人员预先设置,或根据历史实验数据确定。第一节点对于第二节点的注意距离阈值可以用于判断第一节点对第二节点是否具有注意力。
[0079]
步骤二,确定以自然常数为底且以第一节点与第二节点之间的距离的负数为指数的运算结果。
[0080]
在本步骤中,第一节点与第二节点之间的距离可以是各种距离。例如,欧式距离、余弦距离等等。
[0081]
步骤三,响应于确定运算结果大于注意距离阈值,确定运算结果作为元素取值。
[0082]
在本步骤中,若运算结果大于第一节点对于第二节点的注意距离阈值,则可以将得到的运算结果作为表示第一节点对于第二节点的注意力权重的元素的取值。
[0083]
步骤四,响应于确定运算结果不大于所述注意距离阈值,确定元素取值为零。
[0084]
在本步骤中,若运算结果不大于第一节点对于第二节点的注意距离阈值,则可以将“0”作为表示第一节点对于第二节点的注意力权重的元素的取值。
[0085]
作为示例,可以使用如下式子确定表示第一节点对于第二节点的注意力权重的元素的取值:
[0086]
f(x,threshold)=e-x
,if e-x
>threshold
[0087]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
=0, otherwise
[0088]
其中,“x”表示节点之间的距离。“threshold”表示注意距离阈值。“f(x,threshold)”表示元素取值。“e”为自然常数。
[0089]
一般地,运动目标之间距离越近,注意力权重越大,而且运动目标通常会具有一定的选择性,如根据预期行为注意周围与其自身有关的运动目标,而会忽略其它一些运动目标,即对部分运动目标不再有注意力,因此,可以通过设置注意力阈值来筛选具有注意力关系的运动目标,同时利用指数函数刻画运动目标之间的注意力与距离之间关系,实现对注意力的一种较准确的量化。
[0090]
在本实施例的一些可选的实现方式中,各节点的终点位置之间的位置关系可以包括各节点的终点位置之间的欧式距离。每个时刻各节点之间的位置关系可以包括每个时刻各节点所在位置之间的欧式距离和/或余弦距离。例如,在上述第一注意力计算过程中可以使用各节点的终点位置之间的欧式距离,在上述第二注意力计算过程中,可以使用每个时刻各节点所在位置之间的欧式距离和余弦距离分别进行注意力计算。
[0091]
可选地,可以通过如下步骤确定第二矩阵:
[0092]
步骤一、基于每个时刻各节点之间的欧式距离,确定第一子矩阵。
[0093]
在本步骤中,可以使用节点之间的欧式距离作为节点之间的位置关系,利用上述确定第二矩阵的方法确定第一子矩阵。
[0094]
步骤二、基于每个时刻各节点之间的余弦距离,确定第二子矩阵。
[0095]
在本步骤中,可以使用节点之间的余弦距离作为节点之间的位置关系,利用上述确定第二矩阵的方法确定第二子矩阵。
[0096]
步骤三、利用第一子矩阵和第二子矩阵,确定第二矩阵。
[0097]
在本步骤中,在得到第一子矩阵和第二子矩阵之后,可以采用各种融合方法对第一子矩阵和第二子矩阵进行融合,得到第二矩阵。例如,融合方法包括但不限于:加权求和、哈达玛积(hadamard product)等等。
[0098]
实际应用中,可以根据应用场景或实际需求利用各节点之间的欧式距离或余弦距离等进行注意力计算,有注意提升计算过程的灵活性。
[0099]
在本实施例的一些可选的实现方式中,上述双头注意力机制所包括的注意力计算还包括:对于每个节点,可以根据其它节点分别与该节点之间的位置关系,将其它节点划分成三个节点集合。其中,三个节点集合可以分别对应于该节点的前方、侧方和后方。然后,可以对三个节点集合分别进行注意力计算,得到三个节点集合分别对应的注意力计算结果,再组合三个节点集合分别对应的注意力计算结果作为该节点的注意力计算结果。
[0100]
具体地,可以由位于该节点的前方的各节点组成第一节点集合、由位于该节点的侧方的各节点组成第二节点集合,以及由位于该节点的后方的各节点组成第三节点集合。每个节点的前方、侧方和后方分别对应的具体范围可以根据实际的应用场景灵活预先确定,然后通过判断其它每个节点位置所在的范围确定其它每个节点所属的节点集合
[0101]
例如,在每个时刻,可以先分别根据各节点的历史运动轨迹计算各目标的速度向量,然后利用速度向量计算任意两节点之间的余弦距离,从而将每个节点附近的其它节点划分成三个节点集合。作为示例,继续参考图3,其示出了节点划分方法的一个实施例的示意图。如图3所示,对于节点301来说,可以将以其运动方向为中心线的前侧120度范围内的节点组成第一类节点(如图中节点302),将后侧60度范围内的节点组成第二类节点(如图中节点303、304),将除前侧和后侧之外的位于旁侧范围内的节点组成第三类节点(如图中节点305)。
[0102]
对于每个节点,将其它节点划分成三类节点后,可以对于各种类型的节点分别进行注意力计算,然后通过多层感知机等各种方法聚合各种类型分别对应的注意力计算结果,从而得到该节点的注意力计算结果。在聚合过程中,针对不同类型可以设置不同的权重。
[0103]
一般地,不同类型的运动目标对彼此的注意力可能不同。而且,对于每个运动接目标来说,该运动目标对其周围不同范围内的运动目标的注意力一般不同。例如,运动目标通常对位于其前方的运动目标的注意力相对较大,而对位于其侧方的运动目标的注意力相对较小,而对位于其后方的运动目标的注意力相对更小。基于此,对于每个运动目标,通过将其周围的运动目标进行分类,如基于运动目标的视角的邻居节点的划分,以对不同类型的运动目标分别进行注意力计算,再聚合各注意力计算结果,有助于进一步提升注意力计算的灵活性和准确性。
[0104]
在本实施例的一些可选的实现方式中,每个节点的预测运动轨迹可以包括至少两
种预测运动轨迹。上述轨迹预测模型还可以用于输出每个节点的每种预测运动轨迹对应的概率。
[0105]
通过多种分布式的运动轨迹预测,更有利于表示轨迹预测具有的不确定性,便于给出不同情况下的运动轨迹演化。
[0106]
在本实施例的一些可选的实现方式中,上述双头注意力机制所包括的注意力计算还可以包括:先利用自注意力机制进行自注意力计算得到自注意力计算结果,然后融合第一注意力计算得到的计算结果与自注意力计算结果,得到第一融合结果,以及融合第二注意力计算得到的计算结果与自注意力计算结果,得到第二融合结果,再聚合第一融合结果和第二融合结果作为双头注意力机制的输出结果。
[0107]
作为示例,上述双头注意力机制所包括的注意力计算过程如下式所示:
[0108]ades
(y
des
)=f(distance(y
des
))
[0109]adis
(y
δ-1
)=f(distance(y
δ-1
))
[0110]aangle
(y
δ-1
)=f(angle(y
δ-1
))
[0111][0112][0113][0114]yδ-1
=mlp(a1·
(y
δ-1
wv),a2·
(y
δ-1w′v))
[0115]
f(x,threshold)=e-x
,ife-x
>threshold
[0116]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
=0,otherwise
[0117]
其中,“x”表示节点之间的距离。“threshold”表示注意距离阈值。“f(x,threshold)”表示元素取值。“e”为自然常数。
““ydes”和“y
δ-1”分别表示终点时刻和预测时刻的前一时刻的各节点的位置组成的矩阵。“a
des”、“a
dis”和“a
angle”分别表示在终点时刻计算的第一矩阵和在预测时刻的前一时刻计算的第一子矩阵和第二子矩阵。“w
q”、“w
k”、“w
v”、“wv`”和“a
attention”分别表示q参数矩阵、k参数矩阵、不同的v参数矩阵和注意力计算得到的注意力权重矩阵。“a
1attention”和“a
2attention”分别表示在预测时刻的前一时刻和终点时刻的自注意力计算结果。“a
1”和“a
2”表示分别表示在预测时刻的前一时刻和终点时刻的注意力计算结果。“softmax”表示激活函数。“cat”表示连接操作。“()
t”表示转置操作。
“⊙”
表示哈达玛积。“mlp”表示多层感知机。
[0118]
继续参见图4,其中,图4示出了图注意力计算的一个实施例的示意图。如图4示,图中的“h
i”表示节点的特征向量。实线表示特征聚合,节点之间的多条实线对应多头注意力计算中的多头。虚线表示不进行特征聚合。“concat”和“avg”分别为示例的合并或求平均等融合计算方法。以图4a为示例,“h
1”的自注意力计算结果,以及“h
i”分别对于“h
2”、“h
4”、“h
5”的注意力计算结果进行融合得到h1的注意力计算结果,即得到“h
1”的新的特征表示为“h
/1”。图中的“α
ij”表示节点“j”对于节点“i”的注意力权重。“exp”和“softmax
j”分别为示例计算“α
ij”所使用的指数函数和激活函数。“h
i”和“h
j”分别表示节点“i”和节点“j”的特征向量。“w
q”和“w
k”分别为节点“i”和节点“j”对应的权重。当“α
ij”为0时,可以表示去除“j”节点,即在对“i”节点进行注意力计算时不聚合“j”节点的特征,如图中的节点“h
3”和“h
6”。
[0119]
由于运动目标的注意力具有许多特点,如同时注意多个不同类型的运动目标、对
于不同的运动目标的注意力不同、不同场景下注意力分配不同、对部分运动目标即使失去注意力但会记忆这些运动目标的运动状态、根据预期行为选择周围运动目标分配注意力、未知因素会影响注意力变化等等,为了对运动目标的注意力建模,本技术方案通过将运动目标的注意力划分为基于运动目标对应的预测终点位置的长期注意力和基于运动目标之间的实时距离的短期注意力,再结合自注意力机制,能够更准确地聚合每个节点(即每个运动目标)对其邻居节点的注意力,从而更准确地表达每个节点的特征,而且能够适应邻居节点动态变化的运动场景,进而更准、更灵活地预测每个运动目标的运动轨迹。
[0120]
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了轨迹预测装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0121]
如图5所示,本实施例提供的轨迹预测装置500包括确定单元501、获取单元502和预测单元503。其中,确定单元501被配置成确定目标关系图,其中,目标关系图中的节点表示运动目标,目标关系图中的边表示运动目标之间的注意力关系;获取单元502被配置成获取目标关系图中的每个节点的历史运动轨迹;预测单元503被配置成利用预先训练的轨迹预测模型,基于双头注意力机制根据目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹,其中,轨迹预测模型基于图注意力网络构建,双头注意力机制包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算。
[0122]
在本实施例中,轨迹预测装置500中:确定单元501、获取单元502和预测单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202和步骤203的相关说明,在此不再赘述。
[0123]
在本实施例的一些可选的实现方式中,上述第一注意力计算包括如下步骤:根据历史运动轨迹,预测每个节点的终点位置;基于各节点的终点位置之间的位置关系,确定第一矩阵,其中,第一矩阵中的元素表示节点之间的注意力权重;利用第一矩阵进行第一注意力计算。
[0124]
在本实施例的一些可选的实现方式中,上述第一注意力计算包括如下步骤:根据历史运动轨迹,利用高斯混合模型预测每个节点的终点位置。
[0125]
在本实施例的一些可选的实现方式中,上述第二注意力计算包括如下步骤:在节点运动过程中的每个时刻,确定各节点之间的位置关系;基于每个时刻各节点之间的位置关系,确定第二矩阵,其中,第二矩阵中的元素表示节点之间的注意力权重;利用第二矩阵进行第二注意力计算。
[0126]
在本实施例的一些可选的实现方式中,位置关系包括节点之间的距离;以及第一矩阵和第二矩阵中的元素的取值通过如下步骤确定:对于表示第一节点对于第二节点的注意力权重的元素,获取第一节点对于第二节点的注意距离阈值,其中,第一节点和第二节点为元素所在行和列表示的节点;确定以自然常数为底且以第一节点与第二节点之间的距离的负数为指数的运算结果;响应于确定运算结果大于注意距离阈值,确定所述运算结果作为元素取值;响应于确定运算结果不大于注意距离阈值,确定元素取值为零。
[0127]
在本实施例的一些可选的实现方式中,各节点的终点位置之间的位置关系包括各节点的终点位置之间的欧式距离,每个时刻各节点之间的位置关系包括每个时刻各节点所
在位置之间的欧式距离和/或余弦距离。
[0128]
在本实施例的一些可选的实现方式中,上述每个时刻各节点之间的位置关系包括每个时刻各节点所在位置之间的欧式距离和余弦距离;以及上述基于每个时刻各节点之间的位置关系,确定第二矩阵,包括:基于每个时刻各节点之间的欧式距离,确定第一子矩阵;基于每个时刻各节点之间的余弦距离,确定第二子矩阵;利用第一子矩阵和第二子矩阵,确定第二矩阵。
[0129]
在本实施例的一些可选的实现方式中,上述双头注意力机制所包括的注意力计算还包括:对于每个节点,根据其它节点分别与该节点之间的位置关系,将其它节点划分成三个节点集合,其中,三个节点集合分别对应于该节点的前方、侧方和后方;对三个节点集合分别进行注意力计算,得到三个节点集合分别对应的注意力计算结果,以及组合三个节点集合分别对应的注意力计算结果作为该节点的注意力计算结果。
[0130]
在本实施例的一些可选的实现方式中,每个节点的预测运动轨迹包括至少两种预测运动轨迹;以及轨迹预测模型还用于输出每个节点的每种预测运动轨迹对应的概率。
[0131]
在本实施例的一些可选的实现方式中,上述双头注意力机制所包括的注意力计算还包括:利用自注意力机制进行自注意力计算得到自注意力计算结果;融合第一注意力计算得到的计算结果与自注意力计算结果,得到第一融合结果;融合第二注意力计算得到的计算结果与自注意力计算结果,得到第二融合结果;聚合第一融合结果和第二融合结果作为双头注意力机制的输出结果。
[0132]
本公开的上述实施例提供的装置,通过确定单元确定目标关系图,其中,目标关系图中的节点表示运动目标,目标关系图中的边表示运动目标之间的注意力关系;获取单元获取目标关系图中的每个节点的历史运动轨迹;预测单元利用预先训练的轨迹预测模型,基于双头注意力机制根据目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹,其中,轨迹预测模型基于图注意力网络构建,双头注意力机制包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算,从而通过图注意力网络进行轨迹预测,并将运动节点之间的注意力划分成每个节点在终点位置对其它节点的注意力和每个节点在运动过程中的每个时刻对其它节点的注意力,以结合不同角度进行更准确地进行注意力计算,进而有助于提升轨迹预测结果的准确度。
[0133]
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的终端设备)600的结构示意图。本公开的实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的终端设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
[0134]
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0135]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
[0136]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。
[0137]
需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0138]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定目标关系图,其中,目标关系图中的节点表示运动目标,目标关系图中的边表示运动目标之间的注意力关系;获取目标关系图中的每个节点的历史运动轨迹;利用预先训练的轨迹预测模型,基于双头注意力机制根据所述目标关系图和历史运动轨迹,得到每个节点的预测运动轨迹,其中,轨迹预测模型基于图注意力网络构建,双头注意力机制包括针对每个节点在终点位置对其它节点的注意力的第一注意力计算和针对每个节点在运动过程中的每个时刻对其它节点的注意力的第二注意力计算。
[0139]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、
smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0140]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141]
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、获取单元和预测单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取目标关系图中的每个节点的历史运动轨迹的单元”。
[0142]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献