一种车辆轨迹预测深度学习模型的鲁棒性增强方法

文档序号:32252448发布日期:2022-11-19 02:08阅读:74来源:国知局
一种车辆轨迹预测深度学习模型的鲁棒性增强方法

1.本发明涉及一种车辆轨迹预测深度学习模型的鲁棒性增强方法,本发明属于智能交通与机器学习信息安全交叉领域。


背景技术:

2.人类越来越依赖自动驾驶系统来摆脱繁琐的任务,自动驾驶就是一个典型的例子。为了安全高效地通过由人类驾驶员组成的复杂交通,自动驾驶汽车需要具备主动能力,例如决定何时变道、超车或减速让其他车辆合并。这就要求自动驾驶汽车具备一定的推断周围车辆未来运动的能力。预测参与者的未来轨迹有助于自动驾驶系统找到合理的局部路径规划方案,防止可能发生的碰撞。
3.近年,基于深度学习的车辆轨迹预测模型由于其高性能而备受关注,但研究显示深度学习模型易受各类噪声的影响而使其性能不同程度地下降。作为基于深度学习的车辆轨迹预测模型,预测性能下降意味着其在使用场景中的安全性能不可靠。


技术实现要素:

4.为了解决已有模型存在的不足,本发明提供了一种车辆轨迹预测深度学习模型的鲁棒性增强方法,可以通过对车辆轨迹预测模型的车辆轨迹坐标进行噪声检测并重构噪声点来提高车辆轨迹预测模型的预测鲁棒性,以此解决车辆轨迹噪声对轨迹预测模型的预测结果影响严重的问题。
5.本发明的技术方案是:
6.一种车辆轨迹预测深度学习模型的鲁棒性增强方法,包括以下步骤:
7.步骤1:将干净数据集d分成训练集d
n1
,d
n2
分别用于轨迹预测模型和鲁棒性增强模型的训练与测试集d
t1
,d
t2
,d
t3
用于各类测试;使用训练集dn训练车辆轨迹预测深度学习模型m
pre
,训练完成后模型的网络参数不再发生变化,并在测试集d
t1
上进行m
pre
性能测试。
8.步骤2:对轨迹预测模型进行鲁棒性分析,构建轨迹预测模型的鲁棒性测试数据集,首先对干净数据集d
t1
,d
t2
添加随机噪声,得到d
rt1
,d
rt2
,使用d
rt1
测试在随机噪声条件下m
pre
的预测鲁棒性;使用对抗攻击方法在干净数据集d
t3
上对m
pre
进行攻击,使其变道/车道保持判断发生错误,得到对抗攻击情况下的鲁棒性分析样本集d
at3
,使用该样本集对m
pre
进行鲁棒性分析,得到对抗攻击情况下的轨迹预测鲁棒性结果;
9.步骤3:构建轨迹预测鲁棒性增强模型mr,使用训练集dn训练mr并使用鲁棒性测试集d
rt1
测试mr噪声检测性能。将轨迹样本集d
rt2
送入mr中,得到经过检测-重构的轨迹样本集d
r’t2
。将d
at3
送入mr,得到经过检测-重构的轨迹样本集d
a’t3

10.步骤4:将样本集d
a’t3
,d
r’t2
送入车辆轨迹预测模型m
pre
,将结果与d
at3
,d
rt2
送入m
pre
得到的结果做对比,得到鲁棒性增强模型mr的鲁棒性提升测试结果。验证得,鲁棒性增强模型可以实现深度学习车辆轨迹预测模型的预测鲁棒性增强。
11.步骤1具体包括:
12.1.1:对于某一场景下的数据集d,首先将整个场景划分为若干网格,对场景中每辆车都分配到对应的网格;其次对场景中整个数据集的车辆轨迹以轨迹长度作为依据进行分割,取同一时间域内的所有车辆轨迹的(n+m)个连续采样点,其中前n个采样点作为车辆历史轨迹,剩余m个采样点作为未来轨迹;
13.1.2:将干净数据集d分成训练集d
n1
,d
n2
分别用于轨迹预测模型和鲁棒性增强模型的训练与测试集d
t1
,d
t2
,d
t3
用于各类测试;
14.1.3:搭建轨迹预测模型m
pre
;对于数据集d
n1
中某一样本x,其车辆历史轨迹使用x
tar
=[x
tar0
,x
tar1
,

,x
tarn-1
]表示,其中x
tarn-1
=(x
n-1
,y
n-1
),其余车辆使用x
nbr
=[x
nbr0
,x
nbr1
,

,x
nbrn-1
]表示,其中x
nbrn-1
=(x
n-1
,y
n-1
),x
n-1
,y
n-1
为第n-1个时刻轨迹坐标,模型使用lstm提取车辆轨迹特征:
[0015]
x
emb
=lstm(x
tar
,x
nbr
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0016][0017]
其中lstm为长短期记忆网络,x
emb
为所有车辆轨迹的嵌入表示,x
taremb
为目标车辆的轨迹嵌入表示,将x
emb
放置入划分好的对应网格中;先使用卷积网络对x
emb
进行卷积,再使用最大池化层进行池化,x
taremb
通过fc层后与x
emb
卷积池化后的特征进行拼接:
[0018]
x
social
=maxpool(conv(x
emb
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0019]
x
dyn
=fc(x
taremb
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0020]
x
enc
=concat(x
social
,x
dyn
)
ꢀꢀꢀꢀꢀꢀ
(5)
[0021]
其中maxpool为最大池化层,conv为卷积网络,fc为全连接层,concat为拼接操作,x
social
为提取的所有车辆空间特征,x
dyn
目标车辆的运动特征,x
enc
为所有车辆轨迹的时空编码;
[0022]
模型使用lstm作为解码器进行解码得到预测轨迹:
[0023]
x
pre
=lstm(x
enc
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0024]
其中x
pre
为输出的目标车辆预测轨迹坐标,表示为x
pre
=[x
pre0
,x
pre1
,

,x
prem-1
],其中x
prem-1
=(x
m-1
,y
m-1
)为m-1时刻的预测轨迹坐标;样本对应的作为监督信息的未来轨迹表示为x
gt
=[x
gt0
,x
gt1
,

,x
gtm-1
],其中x
gtm-1
=(x
m-1
,y
m-1
)为m-1时刻的真实轨迹坐标;
[0025]
模型的损失函数为负对数似然函数:
[0026][0027]
其中θ是未来每个时间步长的双变量高斯分布的参数,对应于未来位置的均值和方差;m
true
为车辆真实轨迹的运动类型;
[0028]
1.4:在某一时间段以场景中某一车辆为目标车辆,其周围同时存在的车辆为邻居车辆,在数据集d
n1
上以目标车辆和邻居车辆的历史轨迹作为样本,未来轨迹作为监督信息训练轨迹预测深度学习模型,对轨迹预测模型在d
n1
上训练并在d
t1
上测试。
[0029]
步骤2具体包括:
[0030]
2.1:考虑到实际应用中的情况,从某一时刻的历史轨迹点开始对车辆历史轨迹添加噪声;
[0031]
对无噪声数据集d
t1
,d
t2
添加随机噪声构成鲁棒性分析测试集d
rt1
,d
rt2

[0032]
xr=x+n(μ,σ2)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0033]
其中x为d
rt1
,d
rt2
的样本,xr为添加了高斯随机噪声后的数据集样本,μ为一维高斯分布的期望,σ2为其方差;使用测试集d
rt1
对m
pre
进行随机噪声情况下的鲁棒性分析,得到m
pre
在该情况下的轨迹预测精度,即随机噪声下的鲁棒性分析结果;
[0034]
2.2:使用对抗攻击方法在无噪声数据集d
t3
上对轨迹预测模型进行攻击,攻击目标为使得轨迹预测模型对于车辆未来轨迹的换道/车道保持判断出错,以对抗样本构成鲁棒性测试集d
at3
:
[0035]
xa=attack(x,m)
ꢀꢀꢀꢀꢀ
(9)
[0036]
其中xa为攻击方法产生的对抗样本,x为干净数据集d
at3
中的样本,attack为攻击方法,m为轨迹预测模型,使用测试集d
at3
对m
pre
进行预测鲁棒性分析,得到误分率与预测精度,即对抗样本下的鲁棒性分析结果。
[0037]
步骤3具体包括:
[0038]
3.1:搭建轨迹预测鲁棒性增强模型mr;对于数据集d
n2
中某一样本x’,其车辆历史轨迹信息使用x’=[x0,x1,

,,x
n-1
]表示,其中x
n-1
=(x
n-1
,y
n-1
,δy
n-1

n-1
,c
n-1
,d
n-1
),其中x
n-1
,y
n-1
为第n-1个时刻历史轨迹坐标,δy
n-1
为第n-1个时刻两个时刻之间车辆沿着车道的位移,θ
n-1
为第n-1个时刻车头朝向,d
n-1
为车身宽度与车道宽度之比,c
n-1
为车辆类别;使用lstm提取x’特征后分别输入卷积模块与fc层中,将车辆信息的时空特征拼接后得到车辆信息编码:
[0039]
x'
emb
=lstm(x')
ꢀꢀꢀꢀꢀꢀ
(10)
[0040][0041][0042][0043]
模型使用lstm作为解码器:
[0044]
x'
recon
=lstm(x'
enc
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0045]
其中x’recon
=[x’recon0
,x’recon1
,

,x’reconm-1
],x’reconm-1
=(x
m-1
,y
m-1
)为m-1时刻的重构轨迹坐标;作为样本监督信息的真实轨迹表示为x’gt
=[x’gt0
,x’gt1
,

,x’gtm-1
],其中x’gtm-1
=(x
m-1
,y
m-1
)为m-1时刻的真实轨迹坐标;在d
n2
上训练m
pre
并在d
t1
上测试;
[0046]
3.2:进行噪声检测,将噪声轨迹样本无噪声部分输入轨迹预测鲁棒性增强模型,输出对下一帧历史轨迹点的预测,计算预测点与噪声轨迹样本的该历史轨迹点的欧氏距离,并与检测阈值对比,判断该历史轨迹点是否携带噪声;
[0047]
3.3:将判断为携带噪声的历史轨迹点由轨迹预测鲁棒性增强模型预测的对应点替换;
[0048]
3.4:重复步骤3.2-步骤3.3得到整条重构历史轨迹,从而得到d
rt2
和d
at3
的重构样本集d
r’t2
和d
a’t3

[0049]
步骤4具体包括:
[0050]
将经过检测-重构后的样本集d
r’t2
和d
a’t3
的历史轨迹用于m
pre
的鲁棒性增强性能分析,将随机噪声重构测试集d
r’t2
、对抗样本重构测试集d
a’t3
分别作为轨迹预测模型的输入,得到对应的模型在d
r’t2
上的预测精度和在d
a’t3
上的预测精度、模型误分率,并与对预测模型鲁棒性分析的结果做对比,得到鲁棒性增强模型的性能分析结果。
[0051]
本发明的技术构思为:根据已有的深度学习车辆轨迹预测模型,利用生成的噪声包括:pgd(投影梯度下降)算法生成对抗噪声,以及高斯随机噪声,测试噪声对于深度学习车辆轨迹预测模型的影响。设计一种基于深度学习的车辆轨迹噪声检测与重构方法,对车辆历史轨迹点进行逐点噪声检测与重构,并在ngsim数据集上进行验证。
[0052]
本发明的有益效果主要表现在:1.在一定程度上摆脱了类似于对抗训练方法的局限性,可以针对不同类型、不同攻击方法产生的噪声重构轨迹,2.作为独立的模型,可以用于多种类型的车辆轨迹预测深度学习模型,3.对车辆历史轨迹噪声轨迹进行去噪,使得预测模型在输入数据带有噪声的情况下保持较好的预测鲁棒性。
附图说明
[0053]
图1是本发明的轨迹预测应用场景示意图。
[0054]
图2是本发明的算法流程图。
[0055]
图3是本发明的噪声添加示意图。
[0056]
图4是本发明的重构过程示意图。
具体实施方式
[0057]
实施例1:
[0058]
下面结合附图对本发明做进一步描述。
[0059]
参照图1~图4,应用本发明的深度学习模型的鲁棒性增强方法的一种车辆轨迹预测方法,包括以下步骤:
[0060]
步骤1将干净数据集d分成训练集d
n1
,d
n2
分别用于轨迹预测模型和鲁棒性增强模型的训练与测试集d
t1
,d
t2
,d
t3
用于各类测试;使用训练集dn训练车辆轨迹预测深度学习模型m
pre
,训练完成后模型的网络参数不再发生变化,并在测试集d
t1
上进行m
pre
性能测试。
[0061]
1.1:以500-600米长的高速公路场景下的数据集d为例,首先将整个高速公路路段划分为3*13的网格(如图1所示),对场景中每辆车都分配到对应的网格,其次对场景中整个数据集的车辆轨迹以轨迹长度作为依据进行分割,取同一时间域内的所有车辆轨迹的(n+m)个连续采样点,其中前n个采样点作为车辆历史轨迹,剩余m个采样点作为未来轨迹。以典型车辆轨迹为例,应为16个历史轨迹点与25个未来轨迹点。
[0062]
1.2:将干净数据集d分成训练集d
n1
,d
n2
分别用于轨迹预测模型和鲁棒性增强模型的训练与测试集d
t1
,d
t2
,d
t3
用于各类测试;
[0063]
1.3:搭建轨迹预测模型m
pre
。对于数据集d
n1
中某一样本x,其车辆历史轨迹使用x
tar
=[x
tar0
,x
tar1
,

,x
tarn-1
]表示,其中x
tarn-1
=(x
n-1
,y
n-1
),其余车辆使用x
nb
=[x
nbr0
,x
nbr1
,

,x
nbrn-1
]表示,其中x
nbrn-1
=(x
n-1
,y
n-1
),x
n-1
,y
n-1
为第n-1个时刻轨迹坐标,模型使用lstm提取车辆轨迹特征:
[0064]
x
emb
=lstm(x
tar
,x
nbr
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0065][0066]
其中lstm为长短期记忆网络,x
emb
为所有车辆轨迹的嵌入表示,x
taremb
为目标车辆的轨迹嵌入表示,将x
emb
放置入划分好的对应网格中。先使用卷积网络对x
emb
进行卷积,再使用最大池化层进行池化,x
taremb
通过fc层后与x
emb
卷积池化后的特征进行拼接:
[0067]
x
social
=maxpool(conv(x
emb
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0068]
x
dyn
=fc(x
taremb
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0069]
x
enc
=concat(x
social
,x
dyn
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0070]
其中maxpool为最大池化层,conv为卷积网络,fc为全连接层,concat为拼接操作,x
social
为提取的所有车辆空间特征,x
dyn
目标车辆的运动特征,x
enc
为所有车辆轨迹的时空编码。
[0071]
模型使用lstm作为解码器进行未来轨迹解码:
[0072]
x
pre
=lstm(x
enc
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0073]
其中x
pre
为输出的目标车辆预测轨迹坐标,表示为x
pre
=[x
pre0
,x
pre1
,

,x
prem-1
],其中x
prem-1
=(x
m-1
,y
m-1
)为m-1时刻的预测轨迹坐标。样本对应的作为监督信息的未来轨迹表示为x
gt
=[x
gt0
,x
gt1
,

,x
gtm-1
],其中x
gtm-1
=(x
m-1
,y
m-1
)为m-1时刻的真实轨迹坐标。
[0074]
模型的损失函数为负对数似然函数。
[0075][0076]
其中θ是未来每个时间步长的双变量高斯分布的参数,对应于未来位置的均值和方差。m
true
为车辆真实轨迹的运动类型。
[0077]
1.4:在某一时间段以场景中某一车辆为目标车辆,其周围同时存在的车辆为邻居车辆,在数据集d
n1
上以目标车辆和邻居车辆的历史轨迹作为样本,未来轨迹作为监督信息训练轨迹预测深度学习模型,对轨迹预测模型在d
n1
上训练并在d
t1
上测试。
[0078]
步骤2,对轨迹预测模型进行鲁棒性分析,构建轨迹预测模型的鲁棒性测试数据集。
[0079]
2.1:考虑到实际应用中的情况,从某一时刻的历史轨迹点开始对车辆历史轨迹添加噪声。如图3所示。
[0080]
对无噪声数据集d
t1
,d
t2
添加随机噪声构成鲁棒性分析测试集d
rt1
,d
rt2

[0081]
xr=x+n(0,0.12)
ꢀꢀꢀꢀꢀꢀ
(8)
[0082]
其中x为d
rt1
,d
rt2
的样本,xr为添加了高斯随机噪声后的数据集样本,0为一维高斯分布的期望,0.12为其方差。使用测试集d
rt1
对m
pre
进行随机噪声情况下的鲁棒性分析,得到m
pre
在该情况下的轨迹预测精度,即随机噪声下的鲁棒性分析结果;
[0083]
2.2:使用对抗攻击方法在无噪声数据集d
t3
上对轨迹预测模型进行攻击,攻击目标为使得轨迹预测模型对于车辆未来轨迹的换道/车道保持判断出错,以对抗样本构成鲁棒性测试集d
at3
[0084]
xa=pgd(x,m
pre
)
ꢀꢀꢀꢀꢀ
(9)
[0085]
其中xa为攻击方法产生的对抗样本,x为干净数据集中的样本,attack为攻击方法,m
pre
为轨迹预测模型,使用测试集d
at3
对轨迹预测模型进行预测鲁棒性分析,得到其误分率和预测精度,即随机噪声下的鲁棒性分析结果。
[0086]
所述步骤3,随机噪声和对抗样本的检测-重构步骤一致。如图4所示。
[0087]
3.1:搭建轨迹预测鲁棒性增强模型mr。对于数据集d
n2
中某一样本x’,其车辆历史轨迹信息使用x’=[x
’0,x
’1,

,,x’n-1
]表示,其中x’n-1
=(x
n-1
,y
n-1
,δy
n-1

n-1
,c
n-1
,d
n-1
),其中x
n-1
,y
n-1
为第n-1个时刻轨迹坐标,δy
n-1
为第n-1个时刻两个时刻之间车辆沿着车道的
位移,θ
n-1
为第n-1个时刻车头朝向,d
n-1
为车身宽度与车道宽度之比,c
n-1
为车辆类别。使用lstm提取x’特征后分别输入卷积模块与fc层中,将车辆信息的时空特征拼接后得到车辆信息编码:
[0088]
x'
emb
=lstm(x')
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0089][0090][0091][0092]
模型使用lstm作为解码器:
[0093]
x'
recon
=lstm(x'
enc
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0094]
其中x’recon
=[x’recon0
,x’recon1
,

,x’reconm-1
],x’reconm-1
=(x
m-1
,y
m-1
)为m-1时刻的重构轨迹坐标。作为样本监督信息的真实轨迹表示为x’gt
=[x’gt0
,x’gt1
,

,x’gtm-1
],其中x’gtm-1
=(x
m-1
,y
m-1
)为m-1时刻的真实轨迹坐标。在d
n2
上训练mr并在d
rt1
上测试其噪声检测性能。
[0095]
3.2:进行噪声检测,将噪声轨迹样本无噪声部分输入轨迹预测鲁棒性提升模型,输出对下一帧历史轨迹点的预测,计算预测点与噪声轨迹样本的该历史轨迹点的欧氏距离,并与检测阈值对比,判断该历史轨迹点是否携带噪声;
[0096]
3.3:将判断为携带噪声的历史轨迹点由轨迹预测鲁棒性增强模型预测的对应点替换;
[0097]
3.4:重复步骤3.2-步骤3.3得到整条重构历史轨迹,从而得到d
gt
和d
at
的重构样本集d
r’t2
和d
a’t3

[0098]
步骤4,将经过检测-重构后的样本集d
r’t2
和d
a’t3
的历史轨迹用于mr的鲁棒性增强性能分析,将随机噪声重构测试集d
r’t2
、对抗样本重构测试集d
a’t3
分别作为轨迹预测模型的输入,得到对应的m
pre
在d
r’t2
上的预测精度和在d
a’t3
上的预测精度、模型误分率,并与对预测模型鲁棒性分析的结果做对比,得到鲁棒性增强模型的性能分析结果。
[0099]
步骤5,将预测鲁棒性增强模型应用于深度学习车辆轨迹预测模型上。
[0100]
5.1:将鲁棒性增强模型于车辆轨迹预测模型组合,组成含有鲁棒性增强模块的深度学习车辆轨迹预测模型。
[0101]
5.2:将输入的车辆历史轨迹数据x=[x0,x1,

,,x
n-1
]输入鲁棒性增强模块,其中x
n-1
=(x
n-1
,y
n-1
,δy
n-1

n-1
,c
n-1
,d
n-1
),其中x
n-1
,y
n-1
为第n-1个时刻轨迹坐标,δy
n-1
为第n-1个时刻两个时刻之间车辆沿着车道的位移,θ
n-1
为第n-1个时刻车头朝向,d
n-1
为车身宽度与车道宽度之比,c
n-1
为车辆类别,得到经过鲁棒性增强处理的车辆历史轨迹数据,x’=[x
’0,x
’1,

,,x’n-1
],其中x’n-1
=(x
n-1
,y
n-1
),其中x
n-1
,y
n-1
为第n-1个时刻轨迹坐标
[0102]
5.3:将x’输入车辆轨迹预测模块中,模块输出使用鲁棒性增强历史轨迹数据的车辆轨迹预测结果。
[0103]
实施例2:
[0104]
(1)选取实验数据。
[0105]
实验采用公开的大型高速路ngsim数据集上进行评估。ngsim数据集分为三个15分钟的时段数据集;我们从三个子集中选择四分之一的数据作为测试集,并分将其余数据分
为训练集和验证集;并对所有数据重新采样为5帧,并将车辆轨迹数据划分为8秒的时间段,将前3秒作为历史轨迹数据,并预测未来5秒的轨迹数据。
[0106]
(2)确定参数。
[0107]
编码器lstm的输入为64维状态,所有lstm网络层的尺寸均为64维,隐藏状态由非线性relu激活。我们使用adam对模型进行优化,学习率设定为0.001。该模型是使用pytorch来训练的,在训练集与验证集的运行中,我们将批量大小均设置为32,训练轮数为100轮。
[0108]
(3)应用实验结果评估模型性能。
[0109]
实验结果采用指标均方根误差(rmse),对模型的性能进行评估,其中rmse的计算公式为:
[0110][0111]
其中c为测试集的样本个数,与分别为测试集的真实未来轨迹数据与预测的未来轨迹数据。
[0112]
在结果分析中,使用不带噪声、带噪声的轨迹分别在cs-lstm轨迹预测模型上和加入了鲁棒性增强模块的鲁棒性增强cs-lstm轨迹预测模型上进行轨迹预测误差的实验,实验结果如下:
[0113]
表1:ngsim数据集车辆轨迹预测实验结果
[0114]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1