广告

面向3D物体检测和碰撞预测的自动驾驶汽车仿真测试

2022-12-06 14:42:17 Vidya Sagar和Leya Lakshmanan 阅读:
汽车OEM及其关键技术合作伙伴已经在开发和测试真正的自动驾驶汽车——5级自动驾驶汽车——这种汽车可以在没有人类驾驶员的情况下沿着开阔的道路行驶。这在一定程度上是通过由机器学习算法驱动的传感器融合技术实现的。

曾经有一段时间,让自动驾驶汽车(AV)接管道路还是个遥远的愿景。今天,情况却发生了巨大变化。尽管自动驾驶汽车首次亮相的时间比预期的要长,但许多汽车专家认为,这项技术有望迅速成熟。QYnednc

汽车OEM及其关键技术合作伙伴已经在开发和测试真正的自动驾驶汽车——5级自动驾驶汽车——这种汽车可以在没有人类驾驶员的情况下沿着开阔的道路行驶。这在一定程度上是通过由机器学习算法驱动的传感器融合技术实现的。QYnednc

感知和决策

在通过机器学习开发自动驾驶汽车技术时,主要目标是实现以下里程碑:QYnednc

  • 感知
  • 决策

感知包括能够利用机器学习模型准确识别周围物体和对其进行分类,而决策则包括能够利用算法确定物体的未来位置和碰撞的可能性。只有当这两个里程碑都以接近100%的准确度实现时,才能实现5级自动驾驶汽车的愿景。QYnednc

这两个里程碑都对机器学习工程师提出了相当程度的挑战。为了测试并确保感知和决策过程的最高准确性,我们的工程团队设计了一个仿真环境来测试自动驾驶汽车。任何算法都可以使用这个仿真环境进行测试。算法可以利用来自激光雷达(LiDAR)、摄像头和雷达的输入(根据需要)并提供准确的预测。QYnednc

在本文中,我们讨论了点GNN(Point-GNN)算法在仿真环境中的测试。QYnednc

自动驾驶的发展现状如何?目前有哪些比较好的解决方案?12月28日,在“中国国际汽车电子高峰论坛”之“智能驾驶与预期功能安全”分论坛上,泛亚汽车、移远通信、英博超算、映驰科技、上海汽检和上海交通大学人工智能研究院等多家厂商和机构将分别带来“智能网联汽车预期功能安全应用实践”、“智能驾驶整体解决方案”、“智能驾驶领域的方案和实践”、“高性能计算软件平台的实践”、“智能网联汽车感知系统预期功能安全研究”和“智能驾驶感知对抗攻击与防御”等主题演讲。会议同期还设有“智能座舱与人机交互”、“电驱电控系统与功率半导体”和“动力电池与智能充电技术”三个分论坛。欢迎工程师朋友们前来学习交流。点击这里报名参加。QYnednc

什么是点GNN?

点GNN是一种机器学习算法,可用于处理点云数据,从而实现对象检测。在此,我们讨论了使用激光雷达数据和点GNN以及修改后的残差神经网络(ResNet)来检测和跟踪跨多个帧的3D对象。我们还使用了这些数据来预测碰撞和碰撞时间——这是避免事故的关键因素。QYnednc

我们使用了传感器融合来提高预测的准确性。与替代方法相比,我们还分析了图和点GNN的性能。QYnednc

仿真环境的开发

该项目的工作于2020年底开始。在项目的最初几天,我们专注于开发仿真环境。在仿真环境准备好进行测试后,传感器融合算法的开发就开始了。QYnednc

Carla仿真

在我们的项目中,我们使用了Carla仿真器来开发演示器。Carla的底层虚幻引擎可用来管理对象的渲染和物理及其运动。它还能控制对现实主义至关重要的非玩家角色(NPC)的移动。此外,Carla还支持对各种天气和照明条件的仿真,以便测试我们的高级驾驶辅助系统/自动驾驶(ADAS/AD)功能算法。QYnednc

Carla还提供各种传感器套件,例如雷达、激光雷达、彩色/灰度摄像头、惯性测量单元(IMU)等。对于这个项目,我们配置了一个用于3D点云数据的激光雷达传感器和一个用于可视化的摄像头。QYnednc

Carla还提供了用于训练和验证ADAS/AD算法的数据流水线。在我们的项目中,我们使用了包含感知、规划和控制子系统的经典数据流水线。QYnednc

Kitti视觉基准套件

自动驾驶应用中对仿真数据的需求变得越来越重要,无论是用于验证预训练模型还是训练新模型。为了使这些模型能够泛化现实世界的应用,就必须使基础数据集能包含各种驾驶场景,并且使仿真所得传感器读数能密切模仿现实世界的传感器。在这个项目中,我们使用了Kitti数据集进行训练和测试。QYnednc

因为每个传感器有多个坐标系,所以需要将坐标从一个参考转换到另一个参考,并融合来自多个传感器的数据。例如,执行变换操作并在图像数据中正确绘制边界框,以便准确表示点云数据(来自激光雷达传感器)中被检测对象的边界框,就非常重要。QYnednc

解决方案架构

我们项目的高级架构图如下所示:QYnednc

QYnednc

图1:此框图显示了解决方案架构的高级视图。(图片来源:Embitel)QYnednc

可执行以下步骤,从点云中检测3D对象:QYnednc

  • 点云到图的转换
  • “T”次迭代的GNN
  • 边界框合并和评分

图是一种用于表示点云数据的独特数据结构,因为它没有固定的形式。它由顶点/节点和边组成,如下所示:QYnednc

QYnednc

图2:点云到图的转换包括顶点/节点和边。(图片来源:Embitel)QYnednc

可针对点云将图(G)构建成G=(P,E),其中P表示点云,E表示固定半径内的邻居。QYnednc

我们还在构建初始图之前使用了体素下采样技术来降低计算复杂度。QYnednc

GNN使用由其邻居定义的节点概念来导出输出。因此,在图2中,可以根据B、E和D的状态以及AB、AE和AD三个边的特征来更新A的状态。QYnednc

碰撞预测和碰撞时间

在目标检测阶段之后,下一步是预测碰撞和计算碰撞时间。在这种情况下,“自主车辆(ego vehicle)”是指安装了传感器套件并由用户(手动或通过API调用)控制的车辆。QYnednc

预测分两步完成:QYnednc

  • 根据自主车辆的当前速度,找出在时间段t秒内可能发生碰撞的所有车辆。这是通过根据车辆的当前速度扩展边界框并使用多边形相交算法找到可能的重叠来完成的。
  • 一旦识别出可能的碰撞,对于每个对象,通过小步扩展边界框来计算碰撞时间——例如,在较小的时间间隔内,检查多边形的可能交叉点。

下面显示了扩展前后边界框的示例以及激光雷达数据。QYnednc

QYnednc

图3:此图显示了检测到的边界框。(图片来源:Embitel)QYnednc

不同算法的测试和评估

为编程环境安装必要的库后,我们使用了来自Kitti数据集的3D对象检测数据。对于点GNN,采用了预训练模型,并对所有7,500多个测试样本进行了评估。QYnednc

为了比较,我们使用了修改后的ResNet对Kitti数据进行训练和测试。我们使用了预训练的ResNet参数并添加了一个我们自己的层来调整训练数据集(Kitti)上的参数。QYnednc

对于修改后的ResNet,我们对近7,400多个训练数据进行了训练。测试中使用了7,500多个测试样本。QYnednc

Carla中点GNN的工作流程如下图所示:QYnednc

QYnednc

图4:Carla仿真器中显示了点GNN的工作流程。(图片来源:Embitel)QYnednc

我们发现,与修改后的ResNet相比,点GNN具有更好的平均精度。但是,行人的精度明显低于汽车。QYnednc

QYnednc

图5:这是使用激光雷达进行3D对象检测的样子。(图片来源:Embitel)QYnednc

QYnednc

图6:该比较显示了通过点GNN和改进的ResNet方法实现目标检测的差异。(图片来源:Embitel)QYnednc

前方的路QYnednc

  • 我们已经能够成功构建一个框架,用于在仿真环境中测试ADAS/AD算法,同时测试不同的算法。
  • 我们发现使用激光雷达在3D空间中进行目标检测是有效的。
  • 点GNN算法在3D环境中给出了最好的结果,检测汽车的精度接近90%。
  • 与点GNN相比,修改后的ResNet提供了合理的结果。通过修改配置,可以使用更多类和更大的检测区域来训练模型。
  • 我们正在探索行人检测精度低的原因。
  • 需要使用PyTorch等快速库重写点GNN,从而提高执行时间方面的性能。
  • 我们将开发API,以便更轻松地将不同算法与Carla集成。

目前,我们的团队正在研究这些方面,以便加强系统的感知和预测能力。QYnednc

Vidya Sagar Jampani是Embitel公司物联网业务部门的负责人。QYnednc

Leya Lakshmanan是Embitel公司的营销主管。QYnednc

(原文刊登于EDN美国版,参考链接:AV simulation testing for 3D object detection, collision prediction,由Franklin Zhao编译。)QYnednc

本文为《电子技术设计》2022年12月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里QYnednc

责编:Franklin
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了