前言
下图展示了系统级功能框图中的ISP提取,以及摄像头、预处理和感知模块。
系统级功能模块框图
本文为第二部分,主要介绍自动驾驶ISP应用案例。
第一部分:自动驾驶中图像信号处理(ISP)系统的参考介绍(一)
四、不同使用案例的摄像头
注意:摄像头及其参数的列表表示发布时可用的摄像头的示例。不同使用案例的摄像头规格可能会随时更改。摄像头的选择完全取决于实现者。这包括几何形状、帧速率、彩色滤波阵列、每像素位数和视场。
4.1 前视场摄像头
前视场摄像头参数
4.2 驾驶环视摄像头
驾驶环视摄像头参数
4.3 停车环视摄像头
停车环视摄像头参数
4.4 倒车摄像头
倒车摄像头参数
eMirror摄像头参数
4.5 驾驶员监控摄像头
驾驶员监控摄像头参数
4.6 车厢监控
车厢监控摄像头参数
4.7 事故录像摄像头
注:事故录像可能复用其他摄像头的数据流(例如前视场或环视)
五、 摄像头到系统芯片(SoC)的输入接口
5.1 移动行业处理器接口 – 摄像头串行接口2(MIPI CSI-2)
通常,每个摄像头或摄像头交换机(又名反串联器)连接有1到4个通道。并行数据通道始终提供一个数据字的位。不预见对不同数据流拆分位,因为数据通道需要与由发送方(摄像头或反串联器)提供的数据时钟高度同步。如果一个4通道MIPI CSI-2接口被拆分,例如成2个数据流,每个有2个通道,也需要两个时钟线,因此形成2个完整的2通道MIPI接口。
上表总结了不同MIPI-CSI PHY标准相对于每个数据通道的最大带宽。然后需要考虑这些带宽数据与每个用例的带宽需求。
5.2 远程相机连接
MIPI CSI-2 C-PHY或D-PHY连接被设计用于短距离连接(主板内)。由于相机可能远离实际接收这些数据的SoC,因此需要长距离连接。为此,采用MIPI CSI-2 A-PHY、千兆级多媒体串行链路(GMSL)或专有的Future Technology Devices Interglobal(FTDI)接口,在相机端使用串行器,在SoC端使用对应的反串行器。反串行器然后将A-PHY、GMSL或FTDI连接解码成MIPI CSI-2 C-PHY或D-PHY接口。反串行器还可以允许连接多个远程相机输入,因此可以切换多个相机到一个MIPI-CSI-2端口。这些接口完全支持先进驾驶辅助系统(ADAS)所需的高带宽、复杂互联和数据完整性。
5.3 外设组件互连Express(PCIe)
PCIe接口不提供固定的协议用于数据流,如一行的开始或结束,或者一帧的开始或结束。因此,数据的发送方和接收方需要对数据格式及各自的数据缓冲区位置进行对齐。或者,可以将MIPI CSI-2数据流语法与纯数据流一起使用,即没有给出特定的地址。目前,对这种方案还没有定义标准。
5.4 以太网
对于高速以太网通信,数据包大小起着重要作用。如果使用短数据包,数据包解析本身也可能在CPU负载上产生明显的开销,以管理以太网接口。尽管在物理层具有名义高比特率,但这是可实现带宽的一个限制。
六、ISP输出
T3:每个后处理模块(几何畸变校正和缩放)之后的提取。
6.1 RAW传感器数据提取
系统应提供在ISP修改之前访问传感器数据的可能性。这些数据的格式将是RAW和取决于传感器。除RAW数据外,还可以添加传感器元数据。元数据格式也依赖于传感器。默认情况下,ISP将CRC字段(如果可用)与图像数据进行校验,如果CRC无效,则在元数据字段中设置标志。
6.2 ISP像素级函数后的提取
减少输出格式数量的目的如下:
•有一个定义的输出格式增加了不同功能模块之间的互操作性,,这些模块可能由不同提供商提供(例如,ISP来自供应商A,神经网络算法来自供应商B,光流硬件加速器来自供应商C)。因此,如果未来设计的IP能够协调颜色格式,那将是有益的。
•如果现有遗留IP模块需要不同的格式放入内存,其中内存后转换代价过高(例如软件中),则转换功能可以是ISP的一部分。
•YUV来自电视技术,经常用于视频编码和解码,包括静态图像JPEG格式。它也经常用作ISP实现中的中间和本机输出格式,因为色调映射、亮度和颜色滤波或边缘增强。大多数显示控制器和GPU也支持YUV输入格式。与RGB相比,YUV将最重要的信息浓缩在Y(亮度)通道,而在RGB中信号能量分布在3个通道上。
•如果只处理一个通道,则平面缓冲模型允许减少要加载的数据量。
使用半平面通道模型允许仅使用Y通道或完整的YUV数据进行处理。此外,它允许为亮度通道和颜色通道使用不同的位深度和空间分辨率。
图像格式的下一属性是用于对颜色分辨率进行子采样的变体。这主要适用于具有亮度和色度通道的颜色格式。这里色度信息以较低分辨率进行,因为与亮度相比,它被认为包含较少的重要信息。在视频应用中,这也符合人眼的特点,色彩分辨率低于亮度分辨率。例如,在YUV格式中,我们观察到444(完整颜色分辨率)、422(水平子采样)和420格式(水平和垂直子采样)。
使用420色度子采样可减少外部存储器带宽。例如,8/8/8 bpp的YUV 420需要比8/8/8 bpp的YUV444或RGB少一半的存储器带宽,因为视频编码通常需要YUV 420。YUV 420也可以通过使用图像金字塔并将完整分辨率的Y通道与半分辨率的UV通道组合来生成。
YUV422格式仅在水平方向上子采样。这主要源自隔行视频,其中两个相邻的线不属于同一时间点,因此无法进行垂直滤波。YUV422的一个方面是它可以支持交织像素格式,如YUYV(或UYVY)。
对亮度通道和色度通道使用不同的位深度可以通过适度增加所需的内存带宽来提高图像数据的保真度。例如,YUV 444 16/8/8 bpp需要RGB 16/16/16 bpp的2/3内存带宽。8/8/8 bpp可用于人眼视觉和显示。
为了将典型的20或24 bpp的动态范围减小,可能需要局部色调映射。对于计算机视觉,更高的位深度可能是有益的,这需要较少的压缩,因此可以进行保持压缩函数单调性的全局色调映射。要从更高的位分辨率(例如16/8/8 bpp)转换为较低(例如8/8/8 bpp),可能需要(局部)色调映射步骤。格式数量的依赖性取决于自动驾驶级别。
6.3 每个后处理模块后的提取
每个GDC和缩放模块之后都可以提取。每个提取点的选定格式由实现者决定。但是,出于效率原因,建议与GDC和缩放模块的输入格式保持一致。
6.4 统计输出
七、ISP吞吐量
•所需的DDR内存带宽,该带宽与读取和写入处理步骤之间的次数相乘。由于外部DDR内存带宽是成本驱动因素之一,此数字有助于确定DDR内存系统的尺寸,或通过外部内存或SoC内部数据流来架构处理步骤之间的数据流。
•计算的ISP输出带宽数字假设一种情况下为RGB 8/8/8 bpp,另一种情况下为计算机视觉的YUV420 16/8/8和人眼视觉的YUV420 8/8/8。
注意:以下表格对中间结果进行了舍入,因此表格值的精确计算会有所不同。
7.1 L1级系统计算
对于L1级自动驾驶系统,下表中给出了四个示例计算。因此,表中的每一行表示单个相机系统的不同实现。
7.2 L2级系统计算
对于L2级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。
7.3 L3级系统计算
对于L3级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。
7.4 L4级系统计算
对于L4级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。
7.5 L5级系统计算
对于L5级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。
7.6 比较各级
下图可视化了上述自动驾驶级别的总像素计数,从L1案例中的1x 4M像素相机情况选择。
像素数的等级比较
八、ISP图像质量关键性能指标
需要注意的是,各种ISP实现方式在如何对给定的硅片面积、功耗、性能目标和/或系统所需的功能进行图像处理以优化输出图像质量方面有所不同。例如,计算机视觉引擎可能需要很少的处理就可以使用图像,而在显示器上为人查看的图像需要非常高的图像质量。ISP模块也基于典型的ISP实现,但绝不限制或规定图像处理应该如何完成。例如,专用的CNN可以替代参考管线中的典型降噪器和去马赛克器。
为示例工作负载派生了五个系统。下图概述了这些系统。
如图所示,从ADAS到自动驾驶的转变需要更充分地意识到汽车周围的一切。为实现这一目标,汽车上的传感器数量正在急剧增加,需要多个激光雷达、多台摄像头和雷达传感器来基本上取代和增强人的视觉和情境意识。这些传感器不仅价格昂贵,而且理解它们“看到”的内容以及汽车外部演变的情况所需的处理与更简单的ADAS功能(如自适应巡航控制或紧急制动)所需的计算大不相同。此外,就摄像头而言,同一摄像头可用于人类和计算机视觉。这一事实对ISP的指定施加了很大约束,以便为人类和机器视觉生成适当的图像质量。因此,为了加快自动驾驶的发展,重要的是根据终端用例在自动驾驶平台中定义客观要求。
九、行业质量标准
通过使用通用语言和客观的性能测量,就可以按照预期的应用指定ISP。到目前为止,行业内还没有一致的方法来测量图像质量,包括在摄像头对汽车感知和理解周围环境至关重要的新兴汽车行业。
这一事实促使IEEE-SA创建了汽车系统质量标准 – IEEE-SA P2020工作组。P2020的目标是塑造相关的指标和关键性能指标(KPI),用于汽车图像质量,使客户和供应商能够有效地定义、测量和传达其成像系统的图像质量。
来都来了,点个在看再走吧~~~
原文始发于微信公众号(智车Robot):自动驾驶中图像信号处理(ISP)最佳实践(二)