一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

使用Blackfin 处理器,视频技术提高汽车安全性变得更加可行

来源:analog 发布时间:2024-01-09

摘要: 讨论实时计算要求,使视频图像处理对安全技术作出实质性贡献。

几十个处理器控制着当今汽车的每一个性能方面,没有一个“汽车体验”的特征是不受技术影响的。无论是气候控制、发动机控制还是娱乐,在过去十年中,制造商提供的功能一直在不断发展。信号处理器性能成本比的迅速提高,将对汽车的另一个关键部件——安全子系统产生深远的影响。

虽然目前大多数可用的安全功能都利用了广泛的传感器,主要包括微波、红外光、激光、加速度计或位置检测,但直到最近才引入了能够满足实时计算要求的处理器,这使得视频图像处理能够为安全技术做出重大贡献。Devices Blackfin媒体处理器系列以其高处理速度,多功能数据移动功能和视频特定接口为这个不断增长的市场提供了有吸引力的解决方案。本文将讨论Blackfin处理器在基于视频的汽车安全新兴领域中可以发挥的作用。

汽车安全系统中的视频

在许多方面,使用高性能媒体处理器的基于视频的系统可以大大提高汽车的安全性。然而,由于短响应时间对于挽救生命至关重要,因此图像处理和视频过滤必须确定地实时完成。对于给定的应用程序,使用处理器可以处理的最高视频帧率和分辨率是一种自然的趋势,因为这为决策提供了最好的数据。此外,处理器还需要实时比较车速和车辆与目标之间的相对距离。此外,处理器必须与许多车辆子系统(如发动机、制动、转向和安全气囊控制器)交互,处理来自所有这些系统的传感器信息,并向驾驶员提供适当的视听输出。最后,处理器应该能够连接到导航和电信系统,以便对故障、事故和其他问题作出反应并记录下来。

图1显示了汽车安全系统的基本视频操作元素,显示了图像传感器可能放置在整个车辆中的位置,以及如何将车道偏离系统集成到底盘中。有几件事值得注意。首先,多个传感器可以被不同的汽车安全功能共享。例如,当车辆倒车时,可以使用后置传感器,也可以在车辆向前行驶时跟踪车道。此外,车道偏离系统可能会接受来自多个摄像机源中的任何一个的输入,并根据给定的情况选择适当的输入。在基本系统中,视频流将其数据馈送到嵌入式处理器。在更高级的系统中,处理器接收其他传感器信息,例如来自GPS接收器的位置数据。


图1所示。用于汽车安全应用的基本摄像机放置区域。

智能安全气囊

媒体处理器在汽车安全领域的一个新兴应用是“智能安全气囊系统”,该系统根据坐在受安全气囊影响的座位上的人做出部署决策。目前,基于重量的系统应用最广泛,但视频传感将在五年内普及。热像仪或普通摄像机都可以使用,速率高达每秒200帧,并且可以使用多个摄像机,以提供每个居住者的立体图像。目标是描述乘客的位置和姿势,而不仅仅是他们的体型。在发生碰撞的情况下,系统必须选择是完全限制部署,以较低的力量部署,还是完全部署。为了帮助确定身体位置,图像处理算法必须能够区分一个人的头部和其他身体部位。

在这个系统中,媒体处理器必须以高帧率获取多个图像流,处理图像以在各种照明条件下描绘每个乘员的大小和位置,并不断监控位于整个汽车的所有碰撞传感器,以便在几毫秒内做出最佳部署决策。

避碰与自适应巡航控制

另一个引人注目的安全应用是自适应巡航控制(ACC),它是避碰系统的一个子集。ACC是一种方便的功能,通过控制发动机和制动系统来调节汽车的速度和与前方车辆的距离。所使用的传感器包括微波、雷达、红外和视频技术的组合。媒体处理器可以实时处理17到30帧每秒的图像,这些图像来自安装在汽车后视镜附近的摄像头,摄像头聚焦在道路上。所述图像处理算法可包括用于不同照明场景的帧对帧图像比较、对象识别和对比度均衡。视频传感器输入的目标是提供有关车道边界和道路曲率的信息,并对障碍物进行分类,包括汽车前面的车辆。

ACC系统被宣传为一种方便的功能,而真正的防撞系统通过协调汽车的制动、转向和发动机控制器来主动避免事故。因此,由于任务的复杂性、关键的可靠性考虑以及法律和社会后果,它们的发展速度较慢。据估计,这些系统的部署将在2010年顺利进行。鉴于典型的5年汽车设计周期,这样的系统设计已经在进行中。

碰撞警告系统,如ACC,是碰撞避免类别的一个子集。它们提供了可能即将发生事故的警告,但它们不会主动避免事故。在这个细分市场中有两个主要子类:

盲点监视器——摄像头战略性地安装在车辆周边,以提供驾驶员盲点的视觉显示,如果处理器感知到另一辆车在盲点区域存在,则发出警告。在倒挡时,这些系统还可以作为备用警告,提醒驾驶员注意汽车后部的障碍物。显示器可以与后视镜集成在一起,提供汽车周围环境的完整、无阻碍的视图。此外,该系统还可能包括车厢内“盲点”的视频,例如,驾驶员可以监控一个面朝后的婴儿。

车道偏离监视器——这些系统可以通知司机是否改变车道是不安全的,或者他们是否偏离了车道或偏离了道路,从而有助于检测司机的疲劳。前方摄像头监控汽车相对于道路中心线和侧标的位置,距离汽车前方50至75英尺。如果汽车无意中偏离车道,系统就会发出警报。

车道偏离- a系统示例

除了媒体处理器在基于视频的汽车安全应用中可以发挥的作用外,分析此类应用的典型组件也很有指导意义。为此,让我们进一步探讨可以使用Blackfin媒体处理器的车道偏离监控系统。

考虑到所执行的信号处理功能的复杂性,图2的整体系统图相当直观。有趣的是,在基于视频的车道偏离系统中,大部分处理都是基于图像的,并且是在信号处理器而不是信号链中进行的。这在系统材料清单上节省了一大笔钱。输出到驾驶员的内容包括在车辆无意中离开车道之前纠正汽车的预测路径的警告。它可能是一个可听到的“隆隆声”,一个程序编钟,或语音信息。

嵌入式处理器的视频输入系统必须在恶劣的环境中可靠地运行,包括广泛而剧烈的温度变化和不断变化的路况。当数据流进入处理器时,它被实时转换成一种可以处理以输出决策的形式。在最简单的层面上,车道偏离系统根据道路上的车道标记寻找车辆的位置。对于处理器来说,这意味着输入的道路图像流必须转换成一系列描绘路面的线条。

处理器可以通过查找边缘来查找数据字段中的行。这些边缘形成了驾驶员在车辆向前行驶时应保持的边界。处理器必须跟踪这些线标记,并决定是否通知驱动程序异常。

请记住,其他几个汽车系统也会影响车道偏离系统。例如,在故意变道和慢转弯时,刹车系统和转向灯的使用通常会阻止车道偏离警告。


图2。车道偏离算法的基本步骤以及处理器如何与外部世界连接。

现在让我们更深入地研究车道偏离系统示例的基本组件。图3遵循与图2相同的基本操作流程,但更深入地了解所执行的算法。进入系统的视频流需要进行过滤和平滑,以减少由温度、运动和电磁干扰引起的噪声。如果没有这一步,将很难找到干净的车道标记。


图3。算法流程,显示中间图像处理步骤的结果。

下一个处理步骤是边缘检测;如果系统设置正确,找到的边缘将代表车道标记。这些线必须与车辆的方向和位置相匹配。这一步将使用霍夫变换。它的输出将在图像帧之间进行跟踪,并根据所有编译的信息做出决定。最后一个挑战是及时发出警告,而不发出假警报。

图像采集

Blackfin处理器的一个重要特点是它的并行外设接口(PPI),它被设计用来处理输入和输出视频流。PPI无需外部逻辑即可连接到各种视频转换器。除了符合ITU-R 656标准的视频编码器和解码器外,PPI还可以连接CMOS相机芯片和LCD显示器,这在汽车工业中很常见。因为它可以实时捕获视频,所以PPI对于本文讨论的各种汽车安全应用非常有用。

在支持ITU-R 656的设备中,空白数据和活动视频数据之间的每个边界都使用嵌入在数据流中的4字节数据序列来设置。PPI自动解码该序列,无需处理器干预,以收集传入的活动视频帧。使用这种嵌入式控制方案,物理连接仅仅是8条数据线和一个时钟。

PPI还可以连接各种没有嵌入式控制方案的图像传感器和数据转换器。在这些情况下,PPI提供多达三个帧同步来管理传入或传出数据。对于视频流,这些帧同步的功能是物理水平同步、垂直同步和场线(HSYNC、VSYNC和field)。

对于汽车安全应用,图像分辨率通常从VGA (640 × 480像素/图像)到QVGA (320 × 240像素/图像)不等。无论实际图像大小如何,传输的数据格式保持不变——但是当传输的数据较少时,可以使用较低的时钟速度。此外,在最基本的车道偏离预警系统中,只需要灰度图像。数据带宽因此减半(从16位/像素到8位/像素),因为色度信息可以忽略。

内存和数据移动

对于系统设计者来说,有效的内存使用是一个重要的考虑因素,因为外部内存非常昂贵,而且它们的访问时间可能有很高的延迟。虽然Blackfin处理器有一个片上SDRAM控制器,以支持更大的片外存储器的经济高效添加,但在仅传输应用程序所需的视频数据时,仍然很重要。通过智能解码ITU-R 656前导码,PPI可以帮助这种“数据过滤”操作。例如,在某些应用中,只需要活动视频字段。换句话说,可以忽略水平和垂直的空白数据,而不将其传输到内存中,从而使带入系统的数据量最多减少25%。此外,这种较低的数据速率有助于节省内部和外部数据总线上的带宽。

由于视频数据速率要求很高,因此必须在外部内存中设置帧缓冲区,如图4所示。在这个场景中,当处理器在一个缓冲区上操作时,PPI通过DMA传输填充第二个缓冲区。可以设置一个简单的信号量来保持帧之间的同步。使用Blackfin灵活的DMA控制器,中断几乎可以在内存填充过程中的任何一点产生,但它通常被配置为在每个视频线或帧的末尾发生。


图4。使用外部存储器作为帧缓冲区。

一旦一个完整的帧在SDRAM中,数据通常被传输到内部L1数据存储器中,以便内核可以以单周期延迟访问它。为此,DMA控制器可以使用二维传输来引入像素块。图5展示了如何通过2D DMA引擎将16 × 16“宏块”(许多压缩算法中使用的结构)线性存储在L1内存中的示例。


图5。从SDRAM到L1内存的2D到1D DMA传输。

为了有效地浏览源图像,需要控制四个参数:X Count、Y Count、X Modify和Y Modify。X和Y计数分别描述在“水平”和“垂直”方向上读取/输出的元素数量。水平和垂直在这个应用程序中是抽象的术语,因为图像数据实际上是线性地存储在外部存储器中。修改值通过指定在传输必需的X Count或Y Count之后通过数据“跨”的量来实现这种抽象。

从性能的角度来看,多达四个独特的SDRAM内部银行可以在任何时候处于活动状态。这意味着在视频框架中,当2d到1d DMA从一家银行提取数据,而PPI向另一家银行提供数据时,没有观察到额外的银行激活延迟。

投影校正

车道偏离系统使用的摄像头可以安装在前挡风玻璃的中上方,面向前方,也可以安装在后挡风玻璃上,面向已经行驶的道路,或者作为“鸟瞰”摄像头,提供前方道路的最广阔视角,因此可以代替多个视线摄像头使用。在后一种情况下,由于广角镜头,视图是扭曲的,因此在解析图片内容之前,必须将输出图像重新映射到线性视图中。

图像滤波

在进行任何类型的边缘检测之前,重要的是对图像进行过滤,以平滑图像捕获期间拾取的任何噪声。这是必不可少的,因为引入边缘检测器的噪声会导致检测器输出假边。

显然,图像过滤器需要足够快地运行,以跟上输入图像的连续变化。因此,必须对图像过滤器内核进行优化,以便在尽可能少的处理器周期内执行。一种有效的滤波方法是通过基本的二维卷积运算来完成的。让我们看看如何在Blackfin处理器上有效地执行此计算。

卷积是图像处理的基本运算之一。在二维卷积中,对给定像素执行的计算是该像素附近像素的强度值的加权和。由于蒙版的邻域以给定像素为中心,因此蒙版区域通常具有奇数维。相对于图像而言,掩模尺寸通常较小;3 × 3掩模是一种常见的选择,因为它在每个像素的基础上计算合理,但足够大,可以检测图像中的边缘。

3 × 3内核的基本结构如图6所示。例如,对图像中第20行第10列的像素进行卷积处理的输出为:

Out (20,10) = A × (19,9) + B × (19,10) + C × (19,11) + D × (20,9) + E × (20,10) + F × (20,11) + G × (21,9) + H × (21,10) + I × (21,11)


图6。3 × 3卷积核的基本结构。

高级算法可以用以下步骤描述:

  1. 将蒙版的中心放置在输入矩阵的一个元素上。

  2. 将蒙版邻域中的每个像素乘以相应的滤光蒙版元素。

  3. 将每个乘法求和为一个结果。

  4. 将每个和放在输出矩阵中对应于掩码中心的位置

图7显示了输入矩阵F、3 × 3掩模矩阵H和输出矩阵G。


图7。输入矩阵,F;3 × 3掩模矩阵,H;输出矩阵G。

计算每个输出点后,掩码向右移动。在图像边缘,算法绕到下一行的第一个元素。例如,当掩码以元素F2M为中心时,掩码矩阵的H23元素乘以输入矩阵的F31元素。结果,输出矩阵的可用部分沿着图像的每个边缘减少一个元素。

通过正确调整输入数据,Blackfin的两个多重累积(MAC)单元可以在单个处理器周期内同时处理两个输出点。在同一周期内,多个数据读取与MAC操作并行进行。这种方法允许在每次循环迭代中高效地计算2个输出点,或者每个像素4.5个循环,而不是图7中每个像素9个循环。

边缘检测

各种各样的边缘检测技术是常用的。在考虑如何检测边缘之前,算法必须首先确定一个合适的边缘定义,然后找到增强边缘特征的方法来提高检测的机会。由于图像传感器是非理想的,必须处理两个问题-噪声和量化误差的影响。

图像中的噪声几乎可以保证原始图像中具有相同灰度级的像素在噪声图像中不会具有相同的灰度级。噪声是由许多不容易控制的因素引起的,例如环境温度、车辆运动和外部天气条件。图像中的量化误差将导致边缘边界在多个像素上延伸。这些因素共同作用使边缘检测复杂化。因此,选择任何图像处理算法都必须将抗噪性作为首要目标。

一种流行的检测方法使用一组通用的基于导数的算子来帮助定位图像中的边缘。每一个导数算子都是用来找到强度变化的地方。在这种方案中,可以用包含理想边缘属性的较小图像来建模边缘。

我们将讨论索贝尔边缘检测器,因为它很容易理解,并说明了扩展到更复杂方案的原理。Sobel检测器使用两个卷积核来计算水平和垂直边缘的梯度。第一个用于检测垂直对比度(S(x))的变化。第二个检测水平对比度的变化(S(y))。


输出矩阵保存图像中每个像素的“边缘似然”幅度(基于水平和垂直卷积)。然后,这个矩阵被阈值化,以便利用这样一个事实,即大的响应幅度对应于图像内的边缘。因此,在霍夫变换阶段的输入,图像只由“纯白色”或“纯黑色”像素组成,没有中间渐变。

如果应用程序不需要真实幅度,则可以节省昂贵的平方根操作。构建阈值矩阵的其他常用技术包括对每个像素的灰度求和,或者简单地取两个灰度中最大的一个。

直线检测-霍夫变换

霍夫变换是一种广泛使用的方法,通过在参数化空间中定位图像中的直线、圆和椭圆等全局模式。它在车道检测中特别有用,因为基于式1的极坐标表示,可以很容易地将线作为霍夫变换空间中的点检测出来:



(1)

这个方程的意义可以通过从给定的直线向原点延伸一条垂线来直观地表达出来,这样西塔是垂线与横坐标的夹角,西塔是垂线的长度。因此,一对坐标(ρ, 西塔)可以完全描述直线。图8a中的L1和L2行演示了这个概念。从图8b可以看出,L1由西塔(1)和红色垂线的长度定义,L2由西塔(2)和蓝色垂线的长度定义。


图8。边缘检测器的输出是像这样的二值图像,可以由人类观察者通过视觉检查来显示线条。霍夫变换允许对这两条线进行定位。

图8 b。上图中的两条白线可以通过从原点延伸的红色和蓝色垂直线段的长度和角度来描述。

图8 c。图8a中图像的霍夫变换。西塔的范围为[0,2 π], ρ的范围为图8a中输入图像对角线的二分之一。两个明亮的区域对应于局部最大值,可以用来重建图8a中的两条线。

另一种看待霍夫变换的方式是考虑一种直观实现算法的方式:

  1. 只访问二值图像中的白色像素。

  2. 对于考虑的每个像素和每个西塔值,从原点出发,在角度西塔处通过像素画一条线。然后计算ρ,它是原点和所考虑的直线之间的垂线的长度。

  3. 将(ρ, 西塔)对记录在累加表中。

  4. 对图像中的每个白色像素重复步骤1-3。

  5. 在积累表中搜索最常遇到的(ρ, 西塔)对。这些对描述了输入图像中最可能的“线”,因为为了注册高累积值,必须有许多白色像素存在于(ρ, 西塔)对描述的直线上。

霍夫变换的计算量很大,因为输入图像中的每个像素都要计算正弦曲线。然而,某些技术可以大大加快计算速度。

首先,可以提前计算一些计算项,以便可以通过查找表快速引用它们。在Blackfin的定点架构中,仅为余弦函数存储查找表是非常有用的。由于正弦值与余弦值的相位相差90度,因此可以使用相同的表,但要有偏移。在使用查找表的情况下,公式(1)的计算可以表示为两个定点乘法和一个加法。

另一个可以提高性能的因素是一组关于输入图像中车道标记的性质和位置的假设。通过只考虑那些可能是车道标记的输入点,可以避免大量不必要的计算,因为每个白色像素只需要考虑很小范围的西塔值。

霍夫变换的输出是一组直线,这些直线可能是车道标记。这些直线的某些参数可以用简单的几何方程计算出来。对进一步分析有用的参数包括与相机中心轴的偏移量、检测线的宽度以及与相机位置相关的角度。由于许多高速公路系统的车道标记是标准化的,一套规则可以从候选车道标记列表中删除一些线路。然后,可以使用可能的车道标记变量集来推导汽车的位置。

车道跟踪

车道信息可以从汽车内各种可能的来源确定。这些信息可以与车辆相关参数(例如,速度、加速度等)的测量相结合,以辅助车道跟踪。基于这些测量的结果,车道偏离系统可以做出一个智能的决定,是否有无意的偏离正在进行中。在先进的系统中,其他因素也可以建模,比如一天中的时间、路况和驾驶员的警觉性。

估计车道几何形状是一个难题,通常需要使用卡尔曼滤波来估计道路曲率。具体来说,卡尔曼滤波器可以预测未来的道路信息,这些信息可以在下一帧中使用,以减少霍夫变换带来的计算负荷。

如前所述,霍夫变换用于在每个图像中找到直线。但这些线条也需要通过一系列图像进行跟踪。一般来说,卡尔曼滤波器可以被描述为一个递归滤波器,用来估计一个对象的未来状态。在这种情况下,对象是一条线。线的状态是基于它的位置和它在几帧中的运动路径。

除了道路状态本身,卡尔曼滤波器还提供了每个状态的方差。预测状态和方差可以结合使用,在以后的帧中缩小霍夫变换的搜索空间,从而节省处理周期。

决策-当前车辆位置或穿越车道的时间

根据我们的经验,我们知道误报总是不可取的。要让消费者禁用一个可选的安全功能,没有比让它指出一个不存在的问题更快的方法了。

有了适当的处理框架,系统设计人员可以将他们自己的知识产权(IP)添加到每个处理线程的决策阶段。最简单的方法可能是在做出决定时考虑车辆的其他属性。例如,当变道被认为是故意的时候,比如当使用闪光灯或刹车时,可以抑制变道警告。更复杂的系统可能会考虑GPS坐标数据、乘员驾驶概况、一天中的时间、天气和其他参数。

结论

在前面的讨论中,我们只描述了如何构建基于图像的车道偏离系统的示例框架。我们试图建立的观点是,当设计中有一个灵活的媒体处理器时,就有足够的空间来考虑功能添加和算法优化。

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: