全自动驾驶汽车的一个关键策略是能够将来自多个传感器的输入融合在一起,这对于做出安全可靠的决策至关重要,但事实证明,这比最初想象的要困难得多。
需要解决的问题有很多,包括如何划分、确定优先级并最终组合不同类型的数据,以及如何构建车辆内部的处理,以便它能够根据这些不同的数据类型快速做出决策,以避免事故。对于如何实现这一目标,没有单一的最佳实践,这就是为什么许多汽车原始设备制造商采取了截然不同的方法。
西门子数字工业软件公司(Siemens Digital Industries Software)负责混合物理和虚拟系统、汽车和航空航天业务的副总裁大卫•弗里茨(David Fritz)表示:“主要有三种方法来看待这个问题。“一种方法是在处理之前融合来自多个传感源的原始数据。虽然这种方法可以降低功耗,但来自一个传感器阵列的不良数据可能会污染来自其他传感器的良好数据,从而导致不良结果。此外,大量原始数据的传输带来了带宽、延迟和系统成本等其他挑战。”
第二种方法是对象融合,其中每个传感器处理数据并将其特定传感器的处理结果表示为对其检测到的内容的解释。
“这样做的优点是可以无缝集成机载传感器的结果。基础设施传感器,以及其他车辆上的传感器。”“这种方法的挑战在于物体的通用表示和标记,以便它们可以在不同的车辆和基础设施之间共享。第三种选择是前两种方法的混合,从功率、带宽和成本的角度来看,这是我们发现的最引人注目的选择。在这种方法中,物体被传感器检测但不分类。在这种情况下,物体的点云被传输到机载中央计算系统,该系统对来自内部和外部不同传感器的点云进行分类(标记)。
关于汽车生态系统的讨论才刚刚开始,还有很多挑战需要克服。
“你需要弄清楚你拥有哪些物品,以及何时使用它们,”Arteris IP的业务开发副总裁弗兰克·施勒迈斯特(Frank Schirrmeister)说。“所有的形式都非常不同。如果你在看激光雷达,有一些很时髦的距离地图。在相机中,它是RGB的,有一组像素。对于热能,还有别的东西。甚至在你关联和融合所有这些东西之前,你需要以某种方式理解这些格式。从体系结构的角度来看,这可能会导致最理想的处理是在传感器上或靠近传感器。然后,在不同的位之间进行对象相关。但你需要弄清楚细节,比如物体有多热,物体有多远,等等。这是这些不同传感器的维恩图,它们有一组重叠的特征,其中一些比另一些更好。”
传感器融合是一个快速创新的领域,得益于算法的不断改进和芯片行业对SoC架构的深入了解。
Synopsys高级产品经理Markus Willems表示:“传感器融合的一个共同点是需要异构处理方法,因为它需要信号处理的组合——通常使用DSP、专用加速器上的人工智能处理,以及使用CPU的控制代码。”“根据传感器的类型,需要支持不同的数据类型。这包括用于图像数据的8位整数处理,或用于雷达处理的32位单精度(SP)浮点数,而人工智能处理可能需要bfloat16等。在单个芯片上运行不同类型的处理器需要复杂的软件开发流程,利用优化的C/ c++编译器和函数库,以及支持最新神经网络的图形映射工具,包括传感器融合中使用的变压器。内存、带宽和延迟是关键的设计参数,设计人员希望看到处理器仿真模型和SoC架构探索工具的早期可用性,以检查假设场景。”
虽然传感器融合在汽车领域受到了很多关注,但它对其他市场也很有用。
Cadence Tensilica IP集团产品管理组总监Pulin Desai表示:“我们专注于汽车领域,因为摄像头、雷达和激光雷达中将配备图像传感器。“在机器人应用中也可能有图像传感器和IMU。可能会有多个图像传感器,你会融合这些东西。其他传感器包括陀螺仪、磁力计、加速度计,这些传感器在许多不同的领域以各种不同的方式被使用。虽然在汽车方面有很多关注,但同样的图像传感器和雷达传感器也应用于家庭扫地机器人。它的结构可能与无人机非常相似。任何一种无人驾驶车辆都有这种传感器。”
有大量的数据流。弄清楚在哪里处理这些数据是一个挑战,部分原因是并非所有数据都采用相同的格式。
Arteris的Schirrmeister说:“这里存在经典的边缘计算情况,你需要决定如何平衡整个链条的处理——从你从模拟世界获得数据,到你在大脑中做出决定或与混合使用模型的驾驶员互动。”“对象关联听起来更现实,但也存在各种各样的挑战。热雷达、激光雷达和雷达都使用不同的类型来表示数据。如果你看激光雷达,因为它本质上是给你一定距离内的点,这是一种完全不同于你从相机得到的数据类型。将所有这些关联在一起当然不是微不足道的,而且可能需要大量的计算。更重要的是,你需要决定不同的项目是否彼此不一致。如果有,你会选择什么?你使用平均值吗?将所有这些传感器结合起来绝对是一个挑战。”
当涉及到数据的实际融合时,西门子的弗里茨已经观察到许多方法。“一些早期涉足这一领域的公司,也就是英伟达起步的时候,他们说,‘我们可以做很多人工智能方面的事情。当传感器数据输入时,我们可以使用我们的高端gpu,尝试降低它们的功耗,然后用神经网络处理。“这就是为什么几年前我们在后备箱里装了一个必须水冷却的架子。然后你把激光雷达的人扔进来,他们说,“我知道你不能为激光雷达支付每台2万美元,所以我们正在努力让激光雷达更便宜。”然后有人说,‘嗯,等一下。照相机只要35美分。为什么我们不放一堆摄像机把这些融合在一起呢?他说:“这始于几年前的一种蛮力的、几乎是脑残的方法。这就是“我有原始激光雷达数据”的方法。我有原始的相机数据。我有雷达,激光雷达,摄像头。我要怎么把这些联系起来?“人们做了一些疯狂的事情,比如把激光雷达数据转换成RGB。“我们有多个帧,因为有距离信息。然后我们将通过最简单的卷积神经网络运行它来检测物体并对它们进行分类。这就是它的程度。但有些人仍在试图这么做。”
相比之下,特斯拉仍然主要依赖于摄像头数据。Fritz表示,这是可能的,因为立体相机的功能,甚至单声道相机在固定时间内的连续帧,使用视差来确定深度。“正因为如此,他们说,‘我为什么需要激光雷达?因为我没有激光雷达,所以我没有传感器融合的问题。它只是简化了事情。但是如果相机的镜头被水或污垢覆盖。他们有这些问题需要担心。在另一个极端的情况下,如果你完全依赖激光雷达,我见过这样的场景,你有一个人走过街道的二维图像,汽车认为这是一个真实的人。为什么?因为反射。人们不知道激光雷达发生了各种各样的事情,而且很难过滤掉这些事情。”
融合不同的数据类型还取决于存在什么类型的传感器。“人们在谈论早期、中期和晚期的融合,”Cadence的德赛说。“这完全取决于我们的客户和我们客户的客户的系统设计,这表明他们试图解决什么类型的问题。我们对这些事情是不可知的,因为有立体传感器可以做早期融合,或后期融合,因为你的图像和数据都已经确定了目标,你做后期融合。也可能是中间融合,这更像是系统供应商的选择,他们想要如何进行融合,他们想要做多少计算,信息有多健壮,或者他们想要解决什么类型的问题。这有多难?嗯,这取决于核聚变的类型。”
Desai表示,另一个需要考虑的问题是,特别是在人工智能/机器学习技术备受关注的情况下,何时使用它们,或者经典DSP是否更合适。“我将我们过去所做的一些事情与我们今天所做的事情进行了比较。在某些问题上,你有一种确定的方法,你可以用人工智能获得很高的成功率。例如,我们在2012年和2013年做人脸和人的检测时,我们使用的是经典的计算机视觉算法,但是当时的算法并不是很准确。要达到这样的精度是非常困难的。然后,当我们转向人工智能时,我们在人脸检测和人物检测方面的表现非常强劲。所以现在有一个非常确定的情况,你说,‘我要做面部检测,我可以达到我们所说的人类99%的准确率,而人工智能可以给我97%的准确率。“为什么我要玩不够好的东西?”我会去用这个人工智能,因为我知道它是做什么的,它给出了最好的准确性。但在某些情况下,比如当我还在努力解决问题时,我需要尝试不同的算法,并在我的环境中发挥作用。我需要能够做X、Y或Z,我需要灵活性。在那里,你继续使用数字信号处理器来处理这些算法。”
此外,在使用AI引擎的很多时候,进入AI引擎的数据必须经过预处理,这意味着它必须采用特定的格式。
“在特定的数据类型中,你的人工智能引擎可能会说,‘我只做固定点,’”德赛解释道。“所以你可能会使用可编程引擎来做到这一点。然后,一旦你将某些东西放入AI中,你可能就没有太多的灵活性了。四年后,当有新的东西出现时,你可能不得不改变它。有很多不同的因素。本质上,如果你在做一些非常确定的事情,你会知道你可以达到一个非常高的性能率,你今天就知道了。你可能会说,‘我今天要用人工智能来解决这个问题。明天,我可能还会那样做。“然后,我通过使用可编程引擎来增加灵活性。或者,如果我不知道我需要处理它,那么我仍然会使用经典算法来处理它。即使我有人工智能,我仍然需要对数据进行预处理和后处理,所以我需要使用经典的DSP算法。”
结论
随着汽车原始设备制造商和系统公司将其计算架构向传感器融合发展,实验将成为一种需求。
西门子的Fritz认为,在这一发展阶段,处理开发的正确方法是雇佣或组建一些小团队来做大量的试点项目。“这可能是一打或二十多人。例如,到2026年或2028年,他们的目标可能是在测试环境中生产300辆原型车。”
尽管如此,每个OEM今天所处的位置取决于OEM,他们从事架构开发的时间,以及他们希望如何继续这样做。
新闻来自:西门子数字工业 David Fritz