1.本发明属于自动驾驶领域,尤其涉及一种智能体多模态轨迹预测的方法。
背景技术:2.近年来,人工智能(ai)取得了前所未有的发展,自动驾驶技术现已成为人工智能领域中最具潜力的应用之一,相信它对人类社会生产生活方式的影响将不亚于百年前汽车的诞生。目前,自动驾驶技术尚不成熟,智能车辆需要与人类司机共享相同的交通场景。为了安全高效的行驶,智能车辆不仅要知道周围存在哪些物体,更要预测周围的智能体(车辆、骑行者和行人等)接下来会有怎样的轨迹,这就是自动驾驶领域中的轨迹预测问题。
3.轨迹预测作为自动驾驶环境感知和决策规划的中间环节,在动态的、交互的、不确定的场景中准确预测智能体的未来轨迹,对于自动驾驶汽车深度理解周围环境并做出决策、保障车辆行驶的稳定性以及安全性和经济性都有重要的意义。然而,由于智能体运动的随机性、交互的复杂性以及未来轨迹分布的多模态性,使得轨迹预测是一项非常具有挑战性的任务。为了解决轨迹预测问题,基于动力学和运动学的方法被率先提出,但这些方法的准确性和泛化能力很差,因此仅适用于简单驾驶场景中短暂的轨迹预测。近些年,基于深度学习的轨迹预测方法开始变得流行。在它们当中,有仅根据智能体的历史轨迹并通过设计各种交互机制来捕获智能体之间交互信息的方法,但它们忽略了其他影响智能体运动的重要因素,例如环境条件和交通规则,这可能导致在复杂交通场景下的预测结果变得无法接受,且大部分方法只产生一条预测轨迹,这并不符合未来运动具有多模态的本质;也有仅仅利用卷积神经网络(cnn)从序列图像中提取智能体的状态信息和场景信息的端到端的方式,尽管cnn擅长处理空间依赖关系,但它缺乏建模序列数据的机制,而在轨迹预测中需要建模智能体的状态随时间变化的依赖性;还有同时利用历史轨迹和场景信息进行轨迹预测的,但它们没有使用任何注意力机制,使得模型无法准确理解哪些是影响未来运动的最重要因素,通常造成数据冗余和模型空间度复杂,最终预测结果不准确、社会可接受程度差。
技术实现要素:4.为解决现有技术存在的上述问题,本发明要提出一种能够产生多条社会可接受的轨迹及其相关概率的通过注意场景和状态的多模态轨迹预测方法。
5.为了实现上述目的,本发明的具体技术方案如下:一种通过注意场景和状态的多模态轨迹预测方法,包括以下步骤:
6.a、全卷积神经网络提取场景信息并利用仿射变换关注目标智能体
7.a1、构建复合栅格地图。首先将环境信息渲染在鸟瞰视角下的高清地图上,以保留智能体的大小和位置以及道路几何特征,并忽略它们的纹理。为了体现智能体之间以及智能体与环境的动态交互,同时为了避免语义注释遮挡和数据冗余的问题,将连续的多张原始栅格化的高精地图进行拆分和重组以获得复合栅格地图h是复合栅格图的长度,w是复合栅格图的宽度,c是通道数。
8.a2、全卷积神经网络提取场景信息和交互信息。利用全卷积神经网络即fcn从步骤a1获得的复合栅格地图中学习具有代表性的拓扑信息、语义信息和交互信息,利用fcn提取信息的公式如下:
[0009][0010]
式中,fcn(
·
)为全卷积神经网络,是复合栅格地图,ws是全卷积神经网络的权重。
[0011]
为了减少模型参数,fcn内部的卷积神经网络即cnn选择使用mobilenetv2。利用fcn不仅能获得场景和交互信息,而且使输入的图像与输出的特征图的大小保持一致,这样根据目标智能体的初始位置来关注它。
[0012]
a3、关注目标智能体。智能体通常更关注那些与自己距离更近、交互性更强的对象,所以在步骤a2获得特征图后,根据目标智能体的位置裁剪一个小的特征图来关注它。在获得小特征图后根据智能体的朝向利用仿射变换旋转一定角度,以正规化智能体的朝向,仿射变换和仿射矩阵的公式如式(2)和(3)所示:
[0013][0014][0015]
式中,affine(
·
)是仿射变换函数,θ是仿射矩阵,h是智能体的朝向。
[0016]
b、利用transformer对智能体历史状态进行编码
[0017]
在利用transformer对历史状态信息进行编码之前,首先将状态信息连接在一起,然后应用多层感知器即mlp将状态信息嵌入到高维空间中得到f
t
以固定大小,最后f
t
被嵌入更高维的空间得到fa,利用mlp将状态信息嵌入高维空间和利用嵌入矩阵嵌入到更高维空间的公式如下:
[0018]ft
=mpl(concat(x
t
,y
t
,v
t
,sin(h),cos(h))
ꢀꢀꢀꢀꢀꢀ
(4)
[0019]
fa=f
t
·
wfꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0020]
式中,(x
t
,y
t
)是智能体的位置坐标,v
t
是智能体的速度,h是智能体的朝向,concat(
·
)是连接函数,mpl(
·
)是多层感知器,wf是嵌入矩阵,t是时间戳。所述历史状态信息包括位置、速度和朝向。
[0021]
利用transformer的“位置编码”对每个过去时间瞬间t进行时间编码,位置编码的公式如下:
[0022][0023][0024]
ia=fa+paꢀꢀꢀꢀꢀꢀꢀ
(8)
[0025]
式中,d是数据维度,d是模型嵌入维度。
[0026]
为了捕获智能体的历史状态之间的内在潜在依赖关系,先对ia执行三次线性投影变换得到三个矩阵,即qa=wqia,ka=wkia和va=wvia,其中wq是qa的投影矩阵,wk是ka的投影矩阵,wv是va的投影矩阵。然后,利用自注意力机制获得智能体历史状态之间的内在关系。最后,利用前馈网络得到智能体历史状态的最终表示ea。自注意力机制公式(9)和前馈网络公式(10)如下:
[0027][0028]
ea=ffn(att(qa,ka,va))
ꢀꢀꢀꢀꢀ
(10)
[0029]
式中,softmax(
·
)是softmax函数,att(
·
)是多头自注意力,ffn(
·
)是前馈网络,是ka的维度。
[0030]
c、特征融合和解码
[0031]
c1、特征融合。在步骤a3获得裁剪后的特征图后,利用深度可分离卷积进一步提取场景信息,即式中dsc(
·
)是深度可分离卷积。然后,利用mlp对智能体的历史状态ea进行降维得到k
′
和v
′
,如公式(11)。最后利用多头注意力机制将深度可分离卷积提取到的场景信息q
′
和降维后的状态信息k
′
与v
′
进行融合得到融合特征i,如公式(12)和(13),其中式(12)是一个注意力头函数,式(13)是将8个注意力头函数进行连接,公式如下:
[0032]k′
=v
′
=mlp(ea)
ꢀꢀꢀꢀꢀꢀ
(11)
[0033][0034]
i=concat(head1,
…
,head8)
ꢀꢀꢀꢀꢀ
(13)
[0035]
式中,mlp(
·
)是多层感知器,k
′
是降维后的状态信息的key值,v
′
是降维后的状态信息的value值,headi是注意力头,softmax(
·
)是softmax函数,是q
′
的投影矩阵,是k
′
的投影矩阵,是v
′
的投影矩阵,dk′
是k
′
的维度,concat(
·
)是连接函数。
[0036]
c2、融合特征解码。将融合特征i分别输入到回归分支和分类分支,最终获得k条预测的轨迹及其相关的概率,回归分支的公式如(14),分类分支的公式如(15)和(16):
[0037][0038]
logit=mlp2{concat(o
k,reg
,mlp1(i))}
ꢀꢀꢀꢀꢀ
(15)
[0039][0040]
式中,mlp1(
·
)、mlp2(
·
)和mlp3(
·
)分别是1层、2层和3层多层感知器,是第k条预测轨迹,是第k条预测轨迹的概率。
[0041]
与现有技术相比,本发明的有益效果和益处如下:
[0042]
1、本发明通过注意场景和状态进行多模态轨迹预测,综合考虑场景上下文的信息和智能体的历史状态信息生成多条准确的、可接受的未来轨迹及其概率。
[0043]
2、本发明利用独特的场景表示方法和仿射变换,能够避免语义注释遮挡和数据冗余的问题。
[0044]
3、本发明结合三种注意力机制(仿射变换即硬注意力机制、transformer的自注意力机制以及多头注意力机制)方法来融合场景信息和状态信息,相比传统轨迹预测方法,提高了预测精度和社会可接受度。
[0045]
4、综上,本发明综合考虑智能体的历史状态信息和周围环境信息,并结合三种注意力机制提取和融合这两种信息,即transformer的自注意力机制捕捉历史状态之间的潜在关系;仿射变换从特征图中裁剪关键位置即硬注意力机制来关注特定的智能体;多头注意机制可以有效地捕捉状态与场景的交互信息。最终,产生多条社会可接受的轨迹及其相关概率的通过注意场景和状态的多模态轨迹预测方法。
附图说明
[0046]
本发明共有附4张,其中:
[0047]
图1是通过注意场景和状态的多模态轨迹预测方法流程图。
[0048]
图2是通过注意场景和状态的多模态轨迹预测方法模型结构图。
[0049]
图3是复合栅格地图。
[0050]
图4是全卷积神经网络fcn结构图。
具体实施方式
[0051]
下面结合附图详细叙述本发明的具体实施方式。如图1所示,一种通过注意场景和状态的多模态轨迹预测方法,包括以下步骤:
[0052]
a、全卷积神经网络提取场景信息并利用仿射变换关注目标智能体
[0053]
a1、构建复合栅格地图。准确预测目标的轨迹不仅考虑目标智能体的历史状态信息,还需要考虑场景语义信息,如图2所示,为此将环境信息渲染在鸟瞰视角下的高清地图上。这样的好处是表示上下文信息的简单性,同时保留了智能体的大小和位置以及道路几何特征,并忽略它们的纹理。为了体现智能体之间以及智能体与环境的动态交互,同时为了避免语义注释遮挡和数据冗余,将原始栅格化高精地图拆分成图3所示的样子,然后每张图片只取其中一个通道的信息,最后将取得的所有通道堆叠在一起以获得复合栅格地图h=512是复合栅格图的长,w=512是宽,c=6是通道数。
[0054]
a2、全卷积神经网络提取场景信息和交互信息。全卷积神经网络fcn可将浅层精细的外观信息与深层粗糙的语义信息结合起来,能够从a1获得的复合栅格化地图中学习具有代表性的拓扑信息、语义信息和交互信息,用fcn提取信息的公式如:
[0055][0056]
式中,fcn(
·
)为全卷积网络,是复合栅格地图,ws全卷积网络的权重。
[0057]
为了减少模型参数,全卷积神经网络fcn内部的cnn网络选择使用一种不仅具有良好的性能,而且参数更少的轻量级网络mobilenetv2。利用跳跃连接将mobilenetv2的第7
层、第14层和第19层分别与反卷积的输出连接在一起,获得特征图具体可见图4。利用fcn不仅获得智能体之间以及智能体与环境上下文之间的交互,更重要的是,它使输入的复合栅格地图与输出的特征图的大小保持一致,这样可以根据目标智能体的初始位置来关注它。
[0058]
a3、关注目标智能体。智能体通常更关注那些与自己距离更近、交互性更强的对象,因此整个地图中的大部分信息对于单个智能体来说是无用的。在步骤a2获得特征图后,根据目标智能体的位置裁剪一个小的特征图来关注它。另外,智能体的朝向也是一个有价值的信息,在获得小特征图后根据智能体的朝向利用仿射变换旋转一定角度,以统一智能体的朝向,仿射变换和仿射矩阵的公式如(2)和(3):
[0059][0060][0061]
式中,affine(
·
)是仿射变换函数,θ是仿射矩阵,h是智能体的朝向。
[0062]
b、利用transformer对智能体历史状态进行编码
[0063]
在利用transformer对目标智能体的历史状态信息即位置、速度和朝向等进行编码之前,首先将所有状态信息连接在一起,然后应用多层感知器(mlp)将状态信息嵌入到高维空间中(16维)得到以固定输入大小,最后被嵌入一个更高维(64维)的空间得到fa,利用mlp将状态信息嵌入高维空间和利用嵌入矩阵嵌入到更高维空间的公式如下:
[0064]ft
=mpl(concat(x
t
,y
t
,v
t
,sin(h),cos(h))
ꢀꢀꢀꢀ
(4)
[0065]
fa=f
t
·
wfꢀꢀꢀꢀꢀꢀꢀ
(5)
[0066]
式中,(x
t
,y
t
)是智能体的位置坐标,v
t
是智能体的速度,h是智能体的朝向,concat(
·
)是连接函数,mpl(
·
)是多层感知器,wf是嵌入矩阵,t是时间戳。
[0067]
利用transformer的“位置编码”对每个过去时间瞬间t的状态进行时间编码,位置编码的公式如下:
[0068][0069][0070]
ia=fa+paꢀꢀꢀꢀꢀꢀꢀ
(8)
[0071]
式中,d=64是数据维度,d=512是模型嵌入维度。
[0072]
为了捕获智能体的历史状态之间的内在潜在依赖关系,先对ia执行三次线性投影变换得到三个矩阵,即qa=wqia,ka=wkia和va=wvia,其中wq是qa的投影矩阵,wk是ka的投影矩阵,wv是va的投影矩阵。然后,利用多头自注意力机制获得历史状态之间的内在关系。最后,利用前馈网络得到历史状态的表示ea,维度为2048。自注意力机制公式和前馈网络公式如:
[0073][0074]
ea=ffn(att(qa,ka,va))
ꢀꢀꢀꢀꢀꢀ
(10)
[0075]
式中,softmax(
·
)是softmax函数,att(
·
)是多头自注意力,ffn(
·
)是前馈网络,是ka的维度。
[0076]
在对智能体历史状态进行编码时,使用transformer的3个编码器层,每个编码器层有64个隐藏单元和8个注意头。
[0077]
c、特征融合和解码
[0078]
c1、特征融合。在a3步骤获得裁剪后的特征后,再利用深度可分离卷积进一步提取特征获得场景信息,即式中dsc(
·
)是深度可分离卷积,有4个隐藏层。然后,利用mlp对智能体的历史状态ea维度降到32得k
′
和v
′
,如公式(11)。最后利用多头注意力机制将深度可分离卷积提取到的场景信息q
′
和降维后的状态信息k
′
与v
′
进行融合得到融合特征i,如公式(12)和(13),其中(12)是一个注意力头函数,(13)是将8个注意力头函数进行连接,公式如下:
[0079]k′
=v
′
=mlp(ea)
ꢀꢀꢀꢀꢀꢀ
(11)
[0080]
,i=1,
…
,8
ꢀꢀ
(12)
[0081]
i=concat(head1,
…
,head8)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0082]
式中,mlp(
·
)是多层感知器,k
′
是降维后的状态信息的key值,v
′
是降维后的状态信息的value值,headi是注意力头,softmax(
·
)是softmax函数,是q
′
的投影矩阵,是k
′
的投影矩阵,是v
′
的投影矩阵,dk′
=32是k
′
的维度,concat(
·
)是连接函数。
[0083]
c2、融合特征解码。将融合特征i分别输入到回归分支和分类分支,最终获得k条预测的轨迹及其相关的概率,回归分支的公式如(14),分类分支的公式如(15)和(16):
[0084][0085]
logit=mlp2{concat(o
k,reg
,mlp1(i))}
ꢀꢀꢀꢀꢀ
(15)
[0086][0087]
式中,,mlp1(
·
)、mlp2(
·
)和mlp3(
·
)分别是1层、2层和3层mlp,是第k条预测轨迹,是第k条预测轨迹的概率。
[0088]
本发明不局限于本实施例,任何在本发明披露的技术范围内的等同构思或者改变,均列为本发明的保护范围。
技术特征:1.一种通过注意场景和状态的多模态轨迹预测方法,其特征在于:包括以下步骤:a、全卷积神经网络提取场景信息并利用仿射变换关注目标智能体a1、构建复合栅格地图;首先将环境信息渲染在鸟瞰视角下的高清地图上,以保留智能体的大小和位置以及道路几何特征,并忽略它们的纹理;为了体现智能体之间以及智能体与环境的动态交互,同时为了避免语义注释遮挡和数据冗余的问题,将连续的多张原始栅格化的高精地图进行拆分和重组以获得复合栅格地图h是复合栅格图的长度,w是复合栅格图的宽度,c是通道数;a2、全卷积神经网络提取场景信息和交互信息;利用全卷积神经网络即fcn从步骤a1获得的复合栅格地图中学习具有代表性的拓扑信息、语义信息和交互信息,利用fcn提取信息的公式如下:式中,fcn(
·
)为全卷积神经网络,是复合栅格地图,w
s
是全卷积神经网络的权重;为了减少模型参数,fcn内部的卷积神经网络即cnn选择使用mobilenetv2;利用fcn不仅能获得场景和交互信息,而且使输入的图像与输出的特征图的大小保持一致,这样根据目标智能体的初始位置来关注它;a3、关注目标智能体;智能体通常更关注那些与自己距离更近、交互性更强的对象,所以在步骤a2获得特征图后,根据目标智能体的位置裁剪一个小的特征图来关注它;在获得小特征图后根据智能体的朝向利用仿射变换旋转一定角度,以正规化智能体的朝向,仿射变换和仿射矩阵的公式如式(2)和(3)所示:向,仿射变换和仿射矩阵的公式如式(2)和(3)所示:式中,affine(
·
)是仿射变换函数,θ是仿射矩阵,h是智能体的朝向;b、利用transformer对智能体历史状态进行编码在利用transformer对历史状态信息进行编码之前,首先将状态信息连接在一起,然后应用多层感知器即mlp将状态信息嵌入到高维空间中得到f
t
以固定大小,最后f
t
被嵌入更高维的空间得到f
a
,利用mlp将状态信息嵌入高维空间和利用嵌入矩阵嵌入到更高维空间的公式如下:f
t
=mpl(concat(x
t
,y
t
,v
t
,sin(h),cos(h))
ꢀꢀꢀꢀ
(4)f
a
=f
t
·
w
f
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)式中,(x
t
,y
t
)是智能体的位置坐标,v
t
是智能体的速度,h是智能体的朝向,concat(
·
)是连接函数,mpl(
·
)是多层感知器,w
f
是嵌入矩阵,t是时间戳;所述历史状态信息包括位置、速度和朝向;利用transformer的“位置编码”对每个过去时间瞬间t进行时间编码,位置编码的公式如下:
i
a
=f
a
+p
a
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)式中,d是数据维度,d是模型嵌入维度;为了捕获智能体的历史状态之间的内在潜在依赖关系,先对i
a
执行三次线性投影变换得到三个矩阵,即q
a
=w
q
i
a
,k
a
=w
k
i
a
和v
a
=w
v
i
a
,其中w
q
是q
a
的投影矩阵,w
k
是k
a
的投影矩阵,w
v
是v
a
的投影矩阵;然后,利用自注意力机制获得智能体历史状态之间的内在关系;最后,利用前馈网络得到智能体历史状态的最终表示e
a
;自注意力机制公式(9)和前馈网络公式(10)如下:e
a
=ffn(att(q
a
,k
a
,v
a
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)式中,softmax(
·
)是softmax函数,att(
·
)是多头自注意力,ffn(
·
)是前馈网络,是k
a
的维度;c、特征融合和解码c1、特征融合;在步骤a3获得裁剪后的特征图后,利用深度可分离卷积进一步提取场景信息,即式中dsc(
·
)是深度可分离卷积;然后,利用mlp对智能体的历史状态e
a
进行降维得到k
′
和v
′
,如公式(11);最后利用多头注意力机制将深度可分离卷积提取到的场景信息q
′
和降维后的状态信息k
′
与v
′
进行融合得到融合特征i,如公式(12)和(13),其中式(12)是一个注意力头函数,式(13)是将8个注意力头函数进行连接,公式如下:k
′
=v
′
=mlp(e
a
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)i=concat(head1,...,head8)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(13)式中,mlp(
·
)是多层感知器,k
′
是降维后的状态信息的key值,v
′
是降维后的状态信息的value值,head
i
是注意力头,softmax(
·
)是softmax函数,是q
′
的投影矩阵,是k
′
的投影矩阵,是v
′
的投影矩阵,d
k
′
是k
′
的维度,concat(
·
)是连接函数;c2、融合特征解码;将融合特征i分别输入到回归分支和分类分支,最终获得k条预测的轨迹及其相关的概率,回归分支的公式如(14),分类分支的公式如(15)和(16):logit=mlp2{concat(o
k,reg
,mlp1(i))}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)式中,mlp1(
·
)、mlp2(
·
)和mlp3(
·
)分别是1层、2层和3层多层感知器,是第k条
预测轨迹,是第k条预测轨迹的概率。
技术总结本发明公开了一种通过注意场景和状态的多模态轨迹预测方法,包括以下步骤:全卷积神经网络提取场景信息并利用仿射变换关注目标智能体;利用Transformer对智能体历史状态进行编码;特征融合和解码。本发明综合考虑智能体的历史状态信息和周围环境信息,并结合三种注意力机制提取和融合这两种信息,即Transformer的自注意力机制捕捉历史状态之间的潜在关系;仿射变换从特征图中裁剪关键位置即硬注意力机制来关注特定的智能体;多头注意机制可以有效地捕捉状态与场景的交互信息。最终,产生多条社会可接受的轨迹及其相关概率的通过注意场景和状态的多模态轨迹预测方法。通过注意场景和状态的多模态轨迹预测方法。通过注意场景和状态的多模态轨迹预测方法。
技术研发人员:李琳辉 王雪成 连静 丁荣琪
受保护的技术使用者:大连理工大学
技术研发日:2022.02.16
技术公布日:2022/7/5