自动驾驶中图像信号处理(ISP)最佳实践(二)

汽车安全 1年前 (2023) admin
495 0 0

前言


本文将介绍图像信号处理(ISP)行业的最佳实践和实用案例。目的并非提供针对ISP的最佳单一实现方案。相反,这些示例旨在为性能和功能的可移植性提供建议,并解决自动驾驶和辅助驾驶计算平台中涉及的图像格式和图像功能的互操作性需求。
另外,本文还探讨了图像处理功能在摄像头数据进行预处理之前如何对传感器融合算法和检测进行进一步处理的问题。主题涵盖ISP体系结构的运作、图像格式、关键性能指标、精度、精确度、吞吐量以及实时成像等要点。
本文的讨论的范围仅限于ISP领域,从图像传感器的输出开始,到预处理模块(如GDC和缩放)的输出结束。尽管安全性和保密性也是重要的考虑因素,但它们属于整个系统的问题,因此不在本文讨论之列。

下图展示了系统级功能框图中的ISP提取,以及摄像头、预处理和感知模块。

自动驾驶中图像信号处理(ISP)最佳实践(二)

系统级功能模块框图

本文为第二部分,主要介绍自动驾驶ISP应用案例。

第一部分:自动驾驶中图像信号处理(ISP)系统的参考介绍(一)     

四、不同使用案例的摄像头


本节提供了用于不同使用案例的候选摄像头类型列表。这些摄像头类型通过典型的空间分辨率、颜色模式、每秒帧数(FPS)、摄像头到SoC接口的数据通道数量和位宽以及视场来进行特征化。然后这些参数可以用来确定ISP性能和其他低像素处理功能的规模,例如直化器。
在比较颜色模式时,Bayer CFA有25% 红色(R)像素,25% 蓝色(B)像素和25% 绿色(G)像素。对每个像素,只有R、G或B可用,但为了完整的颜色呈现需要完整的RGB信息。ISP通过称为CFA插值或去马赛克的技术来实现这一点。插值参数可通过寄存器接口编程。
红色清晰清晰清晰(RCCC)有75%的“清晰”像素,提供光强度信息而没有颜色信息。25%的像素具有红色颜色信息。蓝色被完全丢弃。这对于单色观察或仅需要红色信息的分析应用(例如交通信号检测)来说是可以接受的。这种格式的优点是它对光更敏感,因此在暗条件下效果更好。

注意:摄像头及其参数的列表表示发布时可用的摄像头的示例。不同使用案例的摄像头规格可能会随时更改。摄像头的选择完全取决于实现者。这包括几何形状、帧速率、彩色滤波阵列、每像素位数和视场。


4.1 前视场摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)

前视场摄像头参数


4.2 驾驶环视摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)

驾驶环视摄像头参数


4.3 停车环视摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)

停车环视摄像头参数


4.4 倒车摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)

倒车摄像头参数

自动驾驶中图像信号处理(ISP)最佳实践(二)

eMirror摄像头参数


4.5 驾驶员监控摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)

驾驶员监控摄像头参数


4.6 车厢监控


自动驾驶中图像信号处理(ISP)最佳实践(二)

车厢监控摄像头参数


4.7 事故录像摄像头


自动驾驶中图像信号处理(ISP)最佳实践(二)
事故录像摄像头参数

注:事故录像可能复用其他摄像头的数据流(例如前视场或环视)

五、 摄像头到系统芯片(SoC)的输入接口



5.1 移动行业处理器接口 – 摄像头串行接口2(MIPI CSI-2)


MIPI CSI-2 是将摄像头连接到SoC的标准移动接口。它由于易用性及支持广泛的高性能应用(包括1080p、4K、8K及以上的视频和高分辨率图像)而获得广泛采用。设计人员可以放心地在移动设备的任意单摄像头或多摄像头实现中使用MIPI CSI-2。
MIPI CSI-2被设计来传输以行和列组织的数据。帧中的第一行和最后一行以及一行中的第一个像素和最后一个像素由数据流中的特定数据标记表示。此外,该标记指示每行的数据类型,这与典型的图像数据格式以及一些通用数据格式(包括8位、10位或12位原始数据)对齐。这形成了图像数据的优化接口。
MIPI CSI-2是一个具有高速数据通道的串行端口。为了达到这些高频率,数据通道使用每个通道有2个差分物理信号的LVDS连接实现(D-PHY)。为了每个通道达到更高的带宽,一个数据通道使用3个物理信号(C-PHY)。

通常,每个摄像头或摄像头交换机(又名反串联器)连接有1到4个通道。并行数据通道始终提供一个数据字的位。不预见对不同数据流拆分位,因为数据通道需要与由发送方(摄像头或反串联器)提供的数据时钟高度同步。如果一个4通道MIPI CSI-2接口被拆分,例如成2个数据流,每个有2个通道,也需要两个时钟线,因此形成2个完整的2通道MIPI接口。

MIPI-CSI PHY最大带宽

自动驾驶中图像信号处理(ISP)最佳实践(二)

上表总结了不同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)


将相机数据传输到SoC的另一种接口可以是PCIe。PCIe与特定类型的数据流(例如相机数据)无关,被认为是一种通用接口。这种通用特性意味着与优化的MIPI-CS2接口相比,实现这种接口需要更多的资源。
PCIe标准允许不同PCIe标准代之间良好的向后兼容性,因此可以连接较旧的现有相机系统到具有较新PCIe接口版本的SoC。

PCIe接口不提供固定的协议用于数据流,如一行的开始或结束,或者一帧的开始或结束。因此,数据的发送方和接收方需要对数据格式及各自的数据缓冲区位置进行对齐。或者,可以将MIPI CSI-2数据流语法与纯数据流一起使用,即没有给出特定的地址。目前,对这种方案还没有定义标准。


5.4 以太网


将图像数据输入SoC的另一种接口是以太网。在这种情况下,同样提供了纯数据流,,以便接收器可以根据需要组织数据。可能的是以一个数据包传输一行。如果数据包缓冲区排列良好,可以产生完整的帧内存图像。但是,目前还没有这样的标准来定义这些要求。混合不同的数据流也可能会阻止在不解析数据包的情况下正确地在内存中对齐数据包缓冲区。另一方面,如果接收到的图像数据不需要复制,那么对内存带宽是有利的。

对于高速以太网通信,数据包大小起着重要作用。如果使用短数据包,数据包解析本身也可能在CPU负载上产生明显的开销,以管理以太网接口。尽管在物理层具有名义高比特率,但这是可实现带宽的一个限制。

六、ISP输出


提取指的是在流程中对数据的提取,并使其可用于进一步处理。如图像处理模块图所示,ISP模块从图像传感器获取数据,并将数据传递给后续模块用于存储和/或进一步处理。系统应该为数据提供多个提取点。对于每个提取点,数据可以存储在内存中和/或流传输到后续模块。建议的提取点如下:
T1:RAW传感器数据提取。
T2:像素级函数模块之后的提取。

T3:每个后处理模块(几何畸变校正和缩放)之后的提取。


6.1 RAW传感器数据提取


系统应提供在ISP修改之前访问传感器数据的可能性。这些数据的格式将是RAW和取决于传感器。除RAW数据外,还可以添加传感器元数据。元数据格式也依赖于传感器。默认情况下,ISP将CRC字段(如果可用)与图像数据进行校验,如果CRC无效,则在元数据字段中设置标志。


6.2 ISP像素级函数后的提取


第二个数据提取点是在所有像素级函数模块之后、后处理模块之前。对于此提取点,AVCC建议未来的系统将进入存储器的格式数量限制在某个范围内。

减少输出格式数量的目的如下:

•通过使外部存储器中ISP处理后的输出数据的表示形式最小化(单一),可以保持写入图像数据的带宽在可控范围内。假设外部存储器带宽是性能限制的关键资源,扩展代价高昂。这使外部存储器带宽成为图像处理系统最宝贵的资源之一。
•在将ISP输出流传输到后处理模块(例如几何校正)的情况下,后续模块不需要支持多种格式。

•有一个定义的输出格式增加了不同功能模块之间的互操作性,,这些模块可能由不同提供商提供(例如,ISP来自供应商A,神经网络算法来自供应商B,光流硬件加速器来自供应商C)。因此,如果未来设计的IP能够协调颜色格式,那将是有益的。  

如果后处理需要不同的颜色格式,则后处理模块应即时执行颜色空间转换。对于硬件加速器,这特别推荐。对于基于软件的加速器(例如DSP),颜色空间转换可能很耗时。因此,系统应提供硬件单元,代表后处理模块执行颜色空间转换。为避免冗余内存访问,未来的系统应考虑将转换后的图像数据多播流传输到多个并行单元。

•如果现有遗留IP模块需要不同的格式放入内存,其中内存后转换代价过高(例如软件中),则转换功能可以是ISP的一部分。

除了提取到内存外,还可以添加多路流提取作为流选项。留给实现者选择这些流通道的数据格式。以下是一些选择良好ISP输出格式的考虑因素:
•ISP输出的突出颜色格式是RGB和YUV,但在视觉处理功能中也使用其他格式。
•RGB本质上与光的物理性质(波长)相关,因此被传感器、显示器和GPU使用。原始数据图像格式也经常使用RGB格式(例如ppm)。

•YUV来自电视技术,经常用于视频编码和解码,包括静态图像JPEG格式。它也经常用作ISP实现中的中间和本机输出格式,因为色调映射、亮度和颜色滤波或边缘增强。大多数显示控制器和GPU也支持YUV输入格式。与RGB相比,YUV将最重要的信息浓缩在Y(亮度)通道,而在RGB中信号能量分布在3个通道上。    

图像格式的另一个特性是数据交织,如交织(所有像素的所有通道一起保存,如RGB、RGB、RGB,… 或 YUYV、YUYV、YUYV,…),平面(每个通道存储在不同的缓冲区中,如RRRR…、GGGG…、BBBB…),或半平面(在不同的缓冲区中分离亮度和颜色,如YYYY…、UVUVUVUV…)
•交织提供了在图像处理功能需要所有通道进行处理的情况下最佳的数据局部性。

•如果只处理一个通道,则平面缓冲模型允许减少要加载的数据量。

使用半平面通道模型允许仅使用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 统计输出


除像素数据外,统计信息也由IPS处理链生成。有关统计数据的更多信息,请参阅第一部分ISP计量(2.21)。
这些统计数据由高级控制功能处理。统计数据在输入帧的ISP像素级处理期间生成,并在下一帧开始时重置,因此需要在ISP像素级处理的短垂直消隐期间救援这些数据。请注意,即使与像素数据相比,所需带宽也可能相当高,因为时间窗口也可能很短。
由于统计数据在高级控制功能(例如AEC、AWB)中进行处理,因此所得的新的相机和ISP设置需要写入相机或ISP配置寄存器。一旦传感器中的捕获或ISP中的处理开始,就不能再对该帧应用新设置。因此,从统计数据通过高级控制、将捕获参数写入相机的IIC、捕获图像以最终获得下一个生成的统计数据,可能需要3-4帧的周转时间。

七、ISP吞吐量


本节根据示例相机选择提供关键性能要求的指示。所示的性能值涵盖:
系统的总像素吞吐量,作为要处理的数据的测量。该值与处理步骤的数量(即后处理功能以及感知功能)相乘。结果数字需要与处理内核的数量和性能相匹配。
相机数据的输入数据速率,驱动接口数量及其吞吐量。

所需的DDR内存带宽,该带宽与读取和写入处理步骤之间的次数相乘。由于外部DDR内存带宽是成本驱动因素之一,此数字有助于确定DDR内存系统的尺寸,或通过外部内存或SoC内部数据流来架构处理步骤之间的数据流。  

我们还看到所选输出格式的影响。如果需要两种格式,带宽也会相加。本节根据用例中的相机计数给出一些示例计算,计算根据自动驾驶级别定义组织。计算还考虑了典型的开销。示例计算应用以下规则:
•对于输入带宽计算,例如在串行MIPI CSI接口上,我们需要考虑相机接口上的图像消隐期。这包括垂直消隐和水平消隐。计算的数字假设相机输出16位压缩HDR输出格式。然后将16位原始图像数据解压缩为20或24位,以线性化相机数据。对于非HDR图像,选择了实际位宽。
•对于ISP处理及其输出带宽,假设可以忽略水平消隐。因此,只需要考虑垂直消隐。
•在示例计算中,我们假设水平消隐因子为1.3倍(有效行长度+ 0.3倍有效行长度的消隐)。假设垂直消隐对于最高1080行@ 30 fps约为1.2倍,对于> 1080行@ 30 fps为1.1倍。
•对于通常与主动照明结合使用的全局快门相机,垂直消隐可以大大变化。在示例计算中,我们使用了2倍的系数。

•计算的ISP输出带宽数字假设一种情况下为RGB 8/8/8 bpp,另一种情况下为计算机视觉的YUV420 16/8/8和人眼视觉的YUV420 8/8/8。

注意:以下表格对中间结果进行了舍入,因此表格值的精确计算会有所不同。


7.1 L1级系统计算


对于L1级自动驾驶系统,下表中给出了四个示例计算。因此,表中的每一行表示单个相机系统的不同实现。

自动驾驶中图像信号处理(ISP)最佳实践(二)


7.2 L2级系统计算


对于L2级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。

自动驾驶中图像信号处理(ISP)最佳实践(二)


7.3  L3级系统计算


对于L3级自动驾驶系统,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。

自动驾驶中图像信号处理(ISP)最佳实践(二)


7.4 L4级系统计算


对于L4级自动驾驶系,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。

自动驾驶中图像信号处理(ISP)最佳实践(二)


7.5 L5级系统计算


对于L5级自动驾驶系,下表中给出了一个示例计算。实际的相机空间-时间分辨率由实现者定义。计算出的总带宽对应于各个相机的总和。

自动驾驶中图像信号处理(ISP)最佳实践(二)


7.6 比较各级


下图可视化了上述自动驾驶级别的总像素计数,从L1案例中的1x 4M像素相机情况选择。

自动驾驶中图像信号处理(ISP)最佳实践(二)

像素数的等级比较

八、ISP图像质量关键性能指标


需要注意的是,各种ISP实现方式在如何对给定的硅片面积、功耗、性能目标和/或系统所需的功能进行图像处理以优化输出图像质量方面有所不同。例如,计算机视觉引擎可能需要很少的处理就可以使用图像,而在显示器上为人查看的图像需要非常高的图像质量。ISP模块也基于典型的ISP实现,但绝不限制或规定图像处理应该如何完成。例如,专用的CNN可以替代参考管线中的典型降噪器和去马赛克器。

通常,ISP仅通过列出所需的ISP功能来指定,但仅列出模块不能给出系统需要什么的任何具体指示,也不能指出所提议的ISP是否适合其用途。因此,在定义系统的图像处理要求时,ISP KPI至关重要。

为示例工作负载派生了五个系统。下图概述了这些系统。

自动驾驶中图像信号处理(ISP)最佳实践(二)

如图所示,从ADAS到自动驾驶的转变需要更充分地意识到汽车周围的一切。为实现这一目标,汽车上的传感器数量正在急剧增加,需要多个激光雷达、多台摄像头和雷达传感器来基本上取代和增强人的视觉和情境意识。这些传感器不仅价格昂贵,而且理解它们“看到”的内容以及汽车外部演变的情况所需的处理与更简单的ADAS功能(如自适应巡航控制或紧急制动)所需的计算大不相同。此外,就摄像头而言,同一摄像头可用于人类和计算机视觉。这一事实对ISP的指定施加了很大约束,以便为人类和机器视觉生成适当的图像质量。因此,为了加快自动驾驶的发展,重要的是根据终端用例在自动驾驶平台中定义客观要求。

九、行业质量标准


通过使用通用语言和客观的性能测量,就可以按照预期的应用指定ISP。到目前为止,行业内还没有一致的方法来测量图像质量,包括在摄像头对汽车感知和理解周围环境至关重要的新兴汽车行业。

有些标准组织如IEEE、ISO、IEC和ICC等正在努力建立行业公认的测量和KPI。
ISO TC42工作组18包括:
ISO 17957:均匀性/阴影测量
ISO 18844:眩光
ISO 19084:色偏
ISO 19567:纹理复制–部分支持
ISO TC 22公路车辆SC 35:照明和可见性
ISO 16505:汽车侧视镜替代系统标准(部分支持)
ISO 12233用于摄影和电子静止图像成像的分辨率和空间频率
ISO 12232用于ISO速度评级、标准输出灵敏度和推荐曝光指数
ISO 15739:噪声和动态范围
ISO 14524:色调曲线OECF标准
ISO 17850:几何畸变
另一个工作组是IEEE-SA P1858工作组 – 相机手机图像质量(CPIQ)。该小组致力于行业内的图像质量指标和实践的标准,以将客观测量与人类感知相关联,从而对系统进行排名。
EMVA1288 机器视觉传感器和摄像头的测量和规格表征标准是另一个关注标准化图像质量的团体。EMVA1288一直关注图像传感器而不是完整的摄像系统。
认为IEEE Std 1858、EMVA1288或ISO在汽车成像质量用例方面存在缺陷。由于其多样化和独特的成像条件景观,汽车成像带来了独特的挑战,上述标准没有很好地解决这些条件。

这一事实促使IEEE-SA创建了汽车系统质量标准 – IEEE-SA P2020工作组。P2020的目标是塑造相关的指标和关键性能指标(KPI),用于汽车图像质量,使客户和供应商能够有效地定义、测量和传达其成像系统的图像质量。

来都来了,点个在看再走吧~~~



自动驾驶中图像信号处理(ISP)最佳实践(二)

原文始发于微信公众号(智车Robot):自动驾驶中图像信号处理(ISP)最佳实践(二)

版权声明:admin 发表于 2023年8月29日 下午11:28。
转载请注明:自动驾驶中图像信号处理(ISP)最佳实践(二) | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...