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