曾经有一段时间,让自动驾驶汽车(AV)接管道路还是个遥远的愿景。今天,情况却发生了巨大变化。尽管自动驾驶汽车首次亮相的时间比预期的要长,但许多汽车专家认为,这项技术有望迅速成熟。
汽车OEM及其关键技术合作伙伴已经在开发和测试真正的自动驾驶汽车——5级自动驾驶汽车——这种汽车可以在没有人类驾驶员的情况下沿着开阔的道路行驶。这在一定程度上是通过由机器学习算法驱动的传感器融合技术实现的。
在通过机器学习开发自动驾驶汽车技术时,主要目标是实现以下里程碑:
感知包括能够利用机器学习模型准确识别周围物体和对其进行分类,而决策则包括能够利用算法确定物体的未来位置和碰撞的可能性。只有当这两个里程碑都以接近100%的准确度实现时,才能实现5级自动驾驶汽车的愿景。
这两个里程碑都对机器学习工程师提出了相当程度的挑战。为了测试并确保感知和决策过程的最高准确性,我们的工程团队设计了一个仿真环境来测试自动驾驶汽车。任何算法都可以使用这个仿真环境进行测试。算法可以利用来自激光雷达(LiDAR)、摄像头和雷达的输入(根据需要)并提供准确的预测。
在本文中,我们讨论了点GNN(Point-GNN)算法在仿真环境中的测试。
自动驾驶的发展现状如何?目前有哪些比较好的解决方案?12月28日,在“中国国际汽车电子高峰论坛”之“智能驾驶与预期功能安全”分论坛上,泛亚汽车、移远通信、英博超算、映驰科技、上海汽检和上海交通大学人工智能研究院等多家厂商和机构将分别带来“智能网联汽车预期功能安全应用实践”、“智能驾驶整体解决方案”、“智能驾驶领域的方案和实践”、“高性能计算软件平台的实践”、“智能网联汽车感知系统预期功能安全研究”和“智能驾驶感知对抗攻击与防御”等主题演讲。会议同期还设有“智能座舱与人机交互”、“电驱电控系统与功率半导体”和“动力电池与智能充电技术”三个分论坛。欢迎工程师朋友们前来学习交流。点击这里报名参加。
点GNN是一种机器学习算法,可用于处理点云数据,从而实现对象检测。在此,我们讨论了使用激光雷达数据和点GNN以及修改后的残差神经网络(ResNet)来检测和跟踪跨多个帧的3D对象。我们还使用了这些数据来预测碰撞和碰撞时间——这是避免事故的关键因素。
我们使用了传感器融合来提高预测的准确性。与替代方法相比,我们还分析了图和点GNN的性能。
该项目的工作于2020年底开始。在项目的最初几天,我们专注于开发仿真环境。在仿真环境准备好进行测试后,传感器融合算法的开发就开始了。
在我们的项目中,我们使用了Carla仿真器来开发演示器。Carla的底层虚幻引擎可用来管理对象的渲染和物理及其运动。它还能控制对现实主义至关重要的非玩家角色(NPC)的移动。此外,Carla还支持对各种天气和照明条件的仿真,以便测试我们的高级驾驶辅助系统/自动驾驶(ADAS/AD)功能算法。
Carla还提供各种传感器套件,例如雷达、激光雷达、彩色/灰度摄像头、惯性测量单元(IMU)等。对于这个项目,我们配置了一个用于3D点云数据的激光雷达传感器和一个用于可视化的摄像头。
Carla还提供了用于训练和验证ADAS/AD算法的数据流水线。在我们的项目中,我们使用了包含感知、规划和控制子系统的经典数据流水线。
自动驾驶应用中对仿真数据的需求变得越来越重要,无论是用于验证预训练模型还是训练新模型。为了使这些模型能够泛化现实世界的应用,就必须使基础数据集能包含各种驾驶场景,并且使仿真所得传感器读数能密切模仿现实世界的传感器。在这个项目中,我们使用了Kitti数据集进行训练和测试。
因为每个传感器有多个坐标系,所以需要将坐标从一个参考转换到另一个参考,并融合来自多个传感器的数据。例如,执行变换操作并在图像数据中正确绘制边界框,以便准确表示点云数据(来自激光雷达传感器)中被检测对象的边界框,就非常重要。
我们项目的高级架构图如下所示:
图1:此框图显示了解决方案架构的高级视图。(图片来源:Embitel)
可执行以下步骤,从点云中检测3D对象:
图是一种用于表示点云数据的独特数据结构,因为它没有固定的形式。它由顶点/节点和边组成,如下所示:
图2:点云到图的转换包括顶点/节点和边。(图片来源:Embitel)
可针对点云将图(G)构建成G=(P,E),其中P表示点云,E表示固定半径内的邻居。
我们还在构建初始图之前使用了体素下采样技术来降低计算复杂度。
GNN使用由其邻居定义的节点概念来导出输出。因此,在图2中,可以根据B、E和D的状态以及AB、AE和AD三个边的特征来更新A的状态。
在目标检测阶段之后,下一步是预测碰撞和计算碰撞时间。在这种情况下,“自主车辆(ego vehicle)”是指安装了传感器套件并由用户(手动或通过API调用)控制的车辆。
预测分两步完成:
下面显示了扩展前后边界框的示例以及激光雷达数据。
图3:此图显示了检测到的边界框。(图片来源:Embitel)
为编程环境安装必要的库后,我们使用了来自Kitti数据集的3D对象检测数据。对于点GNN,采用了预训练模型,并对所有7,500多个测试样本进行了评估。
为了比较,我们使用了修改后的ResNet对Kitti数据进行训练和测试。我们使用了预训练的ResNet参数并添加了一个我们自己的层来调整训练数据集(Kitti)上的参数。
对于修改后的ResNet,我们对近7,400多个训练数据进行了训练。测试中使用了7,500多个测试样本。
Carla中点GNN的工作流程如下图所示:
图4:Carla仿真器中显示了点GNN的工作流程。(图片来源:Embitel)
我们发现,与修改后的ResNet相比,点GNN具有更好的平均精度。但是,行人的精度明显低于汽车。
图5:这是使用激光雷达进行3D对象检测的样子。(图片来源:Embitel)
图6:该比较显示了通过点GNN和改进的ResNet方法实现目标检测的差异。(图片来源:Embitel)
前方的路
目前,我们的团队正在研究这些方面,以便加强系统的感知和预测能力。
Vidya Sagar Jampani是Embitel公司物联网业务部门的负责人。
Leya Lakshmanan是Embitel公司的营销主管。
(原文刊登于EDN美国版,参考链接:AV simulation testing for 3D object detection, collision prediction,由Franklin Zhao编译。)
本文为《电子技术设计》2022年12月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。