分享行人、车辆轨迹预测训练算法(PyTorch)

您所在的位置:网站首页 轨迹效果 分享行人、车辆轨迹预测训练算法(PyTorch)

分享行人、车辆轨迹预测训练算法(PyTorch)

2023-03-14 02:32| 来源: 网络整理| 查看: 265

声明:需要完整算法代码的可点击头像看个人介绍。

***每个算法都带有注释,文件夹都有对应的数据

代码运行时需安装pytorch及第三方库:

conda install pandas

conda install scikit-learn

conda install tqdm

conda install matplotlib

分享资料清单资料清单详尽的算法文档算法1:多步直接预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的单变量(即预测的数据维度为1)(如车辆行为预测或者轨迹预测,输出一维车道序列类别或输出1维纵向位置或1维横向位置)

算法实现思路:假设用历史10帧的多维特征数据来预测未来5帧的车道序列,先将数据分成训练集、验证集、测试集,过程中以未来5帧的车道序列为标签进行数据切片来生成训练数据,网络架构采用LSTM层+MLP层,在验证和测试时直接预测未来5帧的车道序列

预测效果示意图:

算法2:单步滚动预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的单变量(即预测的数据维度为1)(如车辆行为预测或者轨迹预测,输出一维车道序列类别或输出1维纵向位置或1维横向位置)

算法实现思路:假设用历史10帧的多维特征数据来预测未来5帧的车道序列,先将数据分成训练集、验证集、测试集,过程中以未来5帧的车道序列为标签进行数据切片来生成训练数据,网络架构采用LSTM层+MLP层,在训练时通过滚动预测来生成训练模型(过程:[1…10]来预测[11],然后利用[2…10 11]预测[12],最后再利用[3…10 11 12]预测[13]......)进而得到未来5帧的车道序列,也就是为了得到多个未来时刻的预测输出,直接预测多次,并且在每次预测时将之前的预测值带入。但这种方法容易让误差传递,精度降低。

预测效果示意图:

算法3:多模型单步预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的单变量(即预测的数据维度为1)(如车辆行为预测或者轨迹预测,输出一维车道序列类别或输出1维纵向位置或1维横向位置)

算法实现思路:假设用历史10帧的多维特征数据来预测未来5帧的车道序列,先将数据分成训练集、验证集、测试集,过程中以未来5帧的车道序列为标签进行数据切片来生成训练数据,网络架构采用LSTM层+MLP层,在训练时通过多个模型并行预测来生成训练模型(过程:利用[1…10]来预测[11],利用[1…10]预测[12],利用[1…10]预测[13]......)进而得到未来5帧的车道序列,也就是为了得到多个未来时刻的预测输出,需要多个模型并行预测多次,如果需要预测未来n个时刻,那么一共需要训练n个网络模型,非常耗费资源且精度不能保证。

预测效果示意图:

算法4:多模型滚动预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的单变量(即预测的数据维度为1)(如车辆行为预测或者轨迹预测,输出一维车道序列类别或输出1维纵向位置或1维横向位置)

算法实现思路:假设用历史10帧的多维特征数据来预测未来5帧的车道序列,先将数据分成训练集、验证集、测试集,过程中以未来5帧的车道序列为标签进行数据切片来生成训练数据,网络架构采用LSTM层+MLP层。具体实现可同时参照单步滚动预测算法和多模型单步预测

预测效果示意图:

算法5:时间序列预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的单变量(即预测的数据维度为1)(如车辆行为预测或者轨迹预测,输出一维车道序列类别或输出1维纵向位置或1维横向位置)

算法实现:两部分组成:编码器Encoder、解码器Decoder。编码器采用LSTM将原始数据进行编码,然后将LSTM的最后的隐状态和单元状态返回,解码器由LSTM+MLP组成,解码器的初始的隐状态和单元状态是编码器的输出,将多个历史时刻的的数据依次迭代输入解码器得到未来多个时刻的预测值

预测效果示意图:

算法6:多任务预测

输入:多个历史时刻的多变量(输入数据维度为多个)(如道路的多个特征 + 预测障碍物目标自身的多个特征 + 其他障碍物的特征)

输出:多个未来时刻的多变量(即预测的数据维度为多个)(如车辆轨迹预测,输出未来多个时刻的位置信息)

算法实现:假设需要预测2个变量(历史位置x和y),网络架构为LSTM+MLP,过程中经过LSTM后得到output,将output分别通过2个MLP,就能得到2个输出。得到2个输出后,就可以计算出2个损失函数,对这2个损失函数,将其简单求平均以得到最终的损失函数,然后再进行反向传播进行训练,得到最终的预测模型。

预测效果示意图:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3