传感器和车辆应用之间的API
没有预定的结果
越来越多的集成
如今,越来越多的芯片厂商正在努力将更多的智能设备集成到传感器附近。例如,最近Recogni计划将非常高性能的推理引擎插入传感器模块。
鉴于SoC将提升集成曲线,资深汽车行业分析师Egil Juliussen问道:“这种在摄像头模块和计算硬件之间开发API的计划是否会在五年内成为讨论的重点?”
根据Trevett的说法,不一定。他说,这项计划并不是要将传感器和计算系统之间的硬件接口标准化。
对于系统供应商而言,硬件级别的连接(将传感器和摄像头模块连接在一起)只是第一步。对于OEM开发下一代车型或设计工厂车间解决方案的机器视觉专家而言,下一步重要的是编写应用程序,使他们的系统安全准确地运行。
Trevett解释说,要做到这一点,软件开发人员需要聚焦在传感器上,并使用摄像头生成的一系列帧。“传统的摄像头模块供应商将提供一个非常简单的API,以控制其模块上的所有内容。由于这些模块通常是由硬件供应商设计的,因此它们使用的API非常以硬件为中心。这是你必须戳入和读取寄存器的API级别。”如果像ISP这样接近传感器处理,则模块供应商通常会隐藏它们,并仅使用一个或两个高级功能来渲染图像。
想象一下,系统集成商在丰田汽车中部署了紧密耦合摄像头模块和推理引擎的系统。如果要求该集成商在奔驰车型上部署相同的解决方案怎么办?他们将不得不再次重写所有内容。如果模块供应商将他们的解决方案升级为分辨率更高的传感器(可以更改所有寄存器),该怎么办?他们还是不得不从头开始。
Trevett指出,这个问题涉及代际和平台之间的变化。
总而言之,如果没有一致的互操作性API,OEM将无法部署多个供应商的解决方案。Trevett强调说,这也阻碍了设计良好的系统的开发,该系统可以在连续几代硬件中仍得到保留。
图像传感器的专有性
VSI Labs的创始人兼总裁Phil Magney表示,“视觉传感器的输出可以是原始的,即使原始格式没有标准化,你也可以用它来做自己想做的事。大多数传感器使用专有软件将原始数据转换为JPEG或TIFF格式。许多传感器都以这种格式出售。”
他补充说:“另一方面,Mobileye在传感器上添加了大量IP来创建模块,并在该模块中包含处理IP和支持其特征检测器、分类器甚至控制逻辑所必需的软件。”Magney认为,“Mobileye实际上是一个系统,而不仅仅是传感器。OEM和开发者不喜欢这种方法,因为它是封闭的,你无法获得原始输出应用自己的算法。”
Magney又补充说:“但是,如果你需要ADAS却不具备构建解决方案的技能,则可以选择Mobileye,这样就可以更快地将解决方案推向市场。这就是在过去十年左右的时间里,Mobileye在ADAS市场中获得了如此大的渗透率的原因。”
时代在变。Magney补充说:“OEM、Tier1和开发者都想做自己的事。因此,封闭方法并不理想。该工作组的目标是朝着标准化迈进,以消除一些限制因素。”
深刻的教训
Khronos Group的Trevett坦言,Khronos制定API标准的所有举措并非都像OpenGL、Vulkan或OpenCL一样成功。
在2013-2015年之间,Khronos致力于开发用于手机摄像头控制的“OpenKCAM API标准”。当时的想法是创建“一种开放的、免版税的标准,用于对移动和嵌入式摄像头和传感器进行高级、低级控制。”
Trevett说,该小组希望创建一种标准化的方式来控制手机中的摄像头,但从未发布该规范。这是因为最终苹果和谷歌创建了专有的API,这些API主导了移动市场。由于“对OpenKCAM毫无需求”,Khronos小组放弃了该项目。
Trevett称这是一个经验教训,他说:“我希望我们这次不会遇到准相同的命运”。
乐观的原因之一是机器视觉和汽车的嵌入式空间更加多样化。Trevett指出:“你的系统带有8个摄像头,你的系统将视觉、激光雷达和雷达混合在一起,并且在所有这些多个传感器之间都具有实时要求。这是一个更大的问题空间。”
他补充说:“谷歌的摄像头API不能解决所有这些问题。”
他补充说,这项工作可能成功的另一个原因是,没有任何一个平台供应商可以大笔一挥就决定结果。“有数百个玩家希望集成硬件和软件,并以各种方式使用传感器。因此,没有人会说,好吧,这就是所有人都会使用的东西。”
尽管OpenKCAM规范从未公开发布,但Khronos小组在其网页上指出:“如果OpenKCAM设计的要素满足了Embedded Camera API Exploratory小组制定的议定工作范围的要求,则可能会被重新启用。”
[参考文章]
Looking for APIs that Sit Between Sensors and Vehicle Apps?— Junko Yoshida
from A to B