yolov3数据集下载训练_使用LyftLevel5的预测数据集训练机器学习运动预测模型

来源:汽车电子与软件

预测自动驾驶汽车(AV)周围的实体的行为是实现全自动驾驶的关键难题之一。使用我们的预测数据集和L5级工具包,您可以在一个闲暇的下午或周末开始构建行为预测模型,即使您之前没有任何有关自动驾驶汽车的经验。如果成功了,您可以帮助推动自动驾驶行业整体向前发展,如果您的解决方案在我们的Kaggle竞争中取得优胜,您甚至可以赢得我们30000美元奖金的一部分。

什么是行为预测?为什么它这么重要?

a44cb186-a112-eb11-8da9-e4434bdf6706.png

让我们从自动驾驶汽车的工作原理开始。在自动驾驶堆栈中,构建自动驾驶系统的第一步是感知(识别我们周围的事物)。接下来的两个任务是预测(决定下一步会发生什么)和计划(决定自动驾驶汽车将来要做什么)。我们正专注于第二项任务。

自动驾驶汽车需要能够对未来做出预测——这是人类驾驶员一直在潜意识里做的事情。想象一下,当一辆自动驾驶汽车在路上直行,并尝试左转,而这时有另一辆车从相反的方向驶来。为了让自动驾驶汽车安全地执行此操作,它需要确定另一辆车是右转还是继续直行并干扰它的左转。这就是行为预测。

a54cb186-a112-eb11-8da9-e4434bdf6706.png

尽管感知技术在自动驾驶行业已经发展得较为成熟了,但预测和规划仍需改进。那么为什么这两部分在自动驾驶堆栈中的问题还没解决呢?

目前,行为预测和规划的模型主要是使用基于规则的系统建立的。然而,未来是不确定的,规则可能并不总是随不确定性而变化。当您将其他实体添加到组合中时,规则的数量和制定规则的成本将成倍增长。深度监督学习方法可以解决这一问题,但需要大量数据来正确捕捉道路上罕见和意外的行为。好消息是:我们的预测数据集是同类数据集中最大的,并且包含了这些罕见的行为。

a84cb186-a112-eb11-8da9-e4434bdf6706.png

训练你的模型

要训练你的模型,你需要:

1.下载Lyft L5级预测数据集

2.获取任务的输入和输出数据

3.定义模型

4.训练模型

为了简化这些步骤,我们准备了一个Jupyter笔记本。

1.下载L5级预测数据集

访问我们的预测数据集网页注册并下载数据集。该数据集包括我们在加利福尼亚州帕洛阿尔托市收集的超过16000英里的1000小时的行驶数据。我们已经在内部生产感知堆栈中运行了数据集,因为很难从原始数据开始构建预测模型。这意味着您可以立即开始为交通环境中的实体(在我们的感知输出中,已经进行了辨别)构建运动预测模型了,并根据我们的正确标注来把握您的进度。

除了数据之外,我们还提供一张航空地图和由五级自动驾驶研究人员注释的高清晰度语义地图。

a94cb186-a112-eb11-8da9-e4434bdf6706.png

2.为任务获取输入和输出

预测数据集以不同的时间戳记录自动驾驶汽车周围的世界。每个时间戳包括:

1. 帧

帧是自动驾驶汽车本身的记录。包含它的位置和旋转,以及在那一瞬间检测到的所有实体和红绿灯的列表。

2. 实体

实体是真实世界中可移动的实体。实体通过类别(汽车、行人等)和位置信息进行标记。实体也有唯一的身份,通过连续的帧进行追踪。

获取帧和实体的信息非常简单,只需运行以下代码片段:

ab4cb186-a112-eb11-8da9-e4434bdf6706.png

在处理自动驾驶数据时,一个常见的选择是使用俯视图(BEV)栅格化来输入系统,该输入由场景的自顶向下的视图组成。这简化了模型的构建,因为输入和输出的坐标空间是相同的。

获得俯视图和用来训练DCNN的输出轨迹,只需要运行以下代码:

ad4cb186-a112-eb11-8da9-e4434bdf6706.png

3.定义模型

定义一个使用输入和输出进行训练的模型。您可以通过调整标准CNN架构(例如ResNet50)来创建一个简单的基线。尽管您可以保留原网络的核心部分,但您需要更改其输入和输出层以匹配您的设置。

为此,将第一个卷积层中的通道数与俯视图中的通道数匹配。一个3通道的卷积层不足以将不同层次的不同语义信息栅格化。下一步,确保输出数与您未来的预测范围(下面的示例中使用XY位移表示)相匹配。对于50步的视野,最后一层网络总共需要100个神经元。

b04cb186-a112-eb11-8da9-e4434bdf6706.png

在Pythorch中,是下面这样的:

b24cb186-a112-eb11-8da9-e4434bdf6706.png

4.训练模型

现在一切准备就绪,您可以根据数据训练基线模型了。将俯视图输入该模型,预测未来的轨迹。您可以设置均方误差(MSE)标准,并使用ADAM优化器优化网络。在Pythorch中,是下面这样:

b34cb186-a112-eb11-8da9-e4434bdf6706.png

我们也可以在几次迭代后,在以自动驾驶汽车为中心的俯视图光栅上绘制预测的轨迹。

进一步训练你的模型

以下是一些改进和测试模型的一些想法和小技巧:

l 如果你想提高速度并想用EfficientNet来取代ResNet,只需更换第一层和最后一层。

l 想看看实体的历史记录是否可以提高性能吗?这只是一个改变一个配置值的问题,一切都是现成的。

l 如果光栅看起来太粗糙,可以提高其分辨率,甚至可以更改其纵横比。

l 每个实体仅一条轨迹不足以捕捉不确定性?我们已经提供了多模型预测的评分标准,因此您可以直接了解您的模型是否有改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值