简介
许多处理器控制着当今汽车的各个性能方面,而“车辆体验”的单一功能并未受到技术的影响。无论是气候控制,发动机控制还是娱乐,过去十年来制造商产品的功能都在不断发展。这种演变背后的力量之一,信号处理器的性能成本比迅速提高,即将对另一个关键的汽车组件 - 安全子系统产生深远的影响。
虽然目前大多数安全可靠功能利用各种传感器 - 主要涉及微波,红外线,激光,加速度计或位置检测 - 最近才推出处理器,可满足实时计算要求,允许视频图像处理为安全技术做出重大贡献。 ADI公司的Blackfin 媒体处理器系列具有高处理速度,多种数据移动功能和视频专用接口,为这个不断增长的市场提供了极具吸引力的解决方案。本文将讨论Blackfin处理器在新兴的基于视频的汽车安全领域可以发挥的作用。
汽车安全系统中的视频
在很多方面,汽车安全性可以大大提高通过使用高性能媒体处理器的视频系统进行增强。但是,由于响应时间短对于挽救生命至关重要,因此必须确定性地实时进行图像处理和视频过滤。自然倾向于使用处理器可以为给定应用处理的最高视频帧速率和分辨率,因为这为决策提供了最佳数据。此外,处理器需要再次实时地比较车辆速度和相对车辆 - 物体距离与期望条件。此外,处理器必须与许多车辆子系统(例如发动机,制动,转向和安全气囊控制器)交互,处理来自所有这些系统的传感器信息,并向驾驶员提供适当的视听输出。最后,处理器应能够与导航和电信系统连接,以对故障,事故和其他问题作出反应并记录。
图1显示了汽车安全系统的基本视频操作元素,指示图像传感器可能放置在整个车辆中的位置,以及车道偏离系统如何集成到底盘中。有一些值得注意的事情。首先,多个传感器可以由不同的汽车安全功能共享。例如,后部传感器可以在车辆后退时使用,以及在车辆向前移动时跟踪车道。此外,车道偏离系统可以接受来自多个摄像机源中的任何一个的馈送,为给定情况选择适当的输入。在基本系统中,视频流将其数据馈送到嵌入式处理器。在更先进的系统中,处理器接收其他传感器信息,例如来自GPS接收器的位置数据。
智能安全气囊
媒体处理器在汽车安全中的新兴用途是用于“智能安全气囊系统”,其基于部署决定谁坐在受安全气囊影响的座椅上。目前,基于重量的系统使用最广泛,但视频传感将在五年内变得流行。可以使用热相机或普通相机,速率高达每秒200帧,并且可以使用多于一个 - 以提供每个乘员的立体图像。目标是描述居住者的位置和姿势 - 而不仅仅是他们的体型。如果发生冲突,系统必须选择是完全限制部署,使用较低的力部署还是完全部署。在帮助确定身体姿势时,图像处理算法必须能够区分人的头部和其他身体部位。
在该系统中,媒体处理器必须以高帧率获取多个图像流,处理在所有类型的照明条件下分析每个乘员的大小和位置的图像,并持续监控位于整个车内的所有碰撞传感器,以便在几毫秒内做出最佳部署决策。
避碰和自适应巡航控制
另一个备受瞩目的安全应用是自适应巡航控制(ACC),防撞系统的子集。 ACC是一种便利功能,可控制发动机和制动系统,以调节汽车的速度及其与前方车辆的距离。采用的传感器包括微波,雷达,红外和视频技术的组合。媒体处理器可以通过安装在靠近汽车后视镜的道路上的摄像机实时处理每秒17到30帧的帧。图像处理算法可以包括用于变化的照明场景的帧到帧图像比较,对象识别和对比度均衡。视频传感器输入的目标是提供有关车道边界和道路曲率的信息,并对障碍物进行分类,包括汽车前方的车辆。
ACC系统被宣传为便利功能,而真正的防撞系统通过协调汽车的制动,转向和发动机控制器,积极致力于避免事故。因此,由于任务的复杂性,关键的可靠性考虑以及法律和社会后果,它们的发展速度较慢。据估计,到2010年,这些系统的部署可能正在顺利进行。鉴于典型的5年汽车设计周期,此类系统设计已在进行中。
碰撞警告系统,如ACC,是碰撞避免类别的子集。这些警告可能即将发生的事故,但他们没有积极地避免它。在这个利基市场中有两个主要的子类别:
盲点监视器战斗机围绕车辆周边策略安装,以提供驾驶员盲点的视觉显示,并在处理器感知到其他车辆存在时发出警告一个盲区。在倒档时,这些系统也可作为备用警告,提醒驾驶员注意车辆后部的障碍物。显示器可与后视镜集成,提供车辆周围环境的完整无障碍视野。此外,该系统可能包括在车厢内的“盲点”视频,允许驾驶员监控后方婴儿,例如。
Lane - 离开监视器 - 这些系统可以通知驾驶员,如果改变车道是不安全的,或者他们是偏离车道还是偏离道路 - 从而有助于检测驾驶员疲劳。前置摄像头监控汽车相对于道路中心线和侧标记的位置,距离汽车前方50至75英尺。如果汽车无意中开始离开车道,系统会发出警报。
车道偏离 - 系统示例
除了媒体处理器在基于视频的情况下可以扮演的角色汽车安全应用,分析这种应用的典型组件是有益的。为此,让我们进一步探讨可以使用Blackfin媒体处理器的车道偏离监控系统。
考虑到正在执行的信号处理功能的复杂性,图2的整个系统图非常简单。有趣的是,在基于视频的车道偏离系统中,大部分处理是基于图像的,并且在信号处理器内而不是通过模拟信号链来执行。这代表了系统物料清单的大量节省。驾驶员的输出包括警告,以在车辆无意中离开车道之前纠正汽车的预计路径。它可能是一个可听见的“隆隆声”声音,编程铃声或语音信息。
嵌入式处理器的视频输入系统必须在恶劣的环境中可靠地运行,包括广泛和剧烈的温度变化和改变道路状况。当数据流进入处理器时,它将实时转换为可以处理以输出决策的形式。在最简单的级别,车道偏离系统查找车辆相对于道路中的车道标记的位置。对于处理器,这意味着必须将输入的道路图像流转换为描绘路面的一系列线。
处理器可以通过查找边缘来查找数据字段内的线。这些边缘形成了驾驶员在向前行驶时应保持车辆的边界。处理器必须跟踪这些线标记并确定是否通知驱动程序不正常。
请记住,其他几个汽车系统也会影响车道偏离系统。例如,使用制动系统和转向信号通常会在故意换道和慢转时阻止车道偏离警告。
现在让我们深入了解车道偏离的基本组成部分系统示例。图3遵循与图2相同的基本操作流程,但更深入地了解正在执行的算法。进入系统的视频流需要经过滤波和平滑处理,以减少由温度,运动和电磁干扰引起的噪声。如果没有这一步骤,就很难找到干净的车道标记。
下一个处理步骤涉及边缘检测;如果系统设置正确,找到的边将代表车道标记。然后必须将这些线匹配到车辆的方向和位置。 Hough变换将用于此步骤。将跨越图像帧跟踪其输出,并且将基于所有编译的信息做出决定。最后的挑战是及时发出警告而不发出误报。
图像采集
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控制器,几乎可以在存储器填充过程中的任何一点产生中断,但通常配置为在每个视频行或帧的末尾发生。
一旦完整帧位于SDRAM中,数据通常会传输到内部L1数据存储器中,以便内核可以以单周期延迟访问它。为此,DMA控制器可以使用二维传输来引入像素块。图5显示了16×16“宏块”(许多压缩算法中使用的构造)如何通过2D DMA引擎线性存储在L1存储器中的示例。
有效导航通过源图像,需要控制四个参数:X Count,Y Count,X Modify和Y Modify。 X和Y计数分别描述了在“水平”和“垂直”方向上读入/读出的元素的数量。 Horizontal 和 vertical 是此应用程序中的抽象术语,因为图像数据实际上是线性存储在外部存储器中。 X和Y修改vaues通过在传输必要的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)
可以通过以下步骤描述高级算法:
将遮罩的中心放在输入矩阵的元素上。
通过相应的滤镜掩码元素将掩码邻域中的每个像素相乘。
将每个乘法值相加为单个结果。
将每个和放在与中心对应的位置。输出矩阵中的掩码
图7显示了输入矩阵F,3×3掩模矩阵H和输出矩阵G.
计算每个输出点后,掩码移动到右侧。在图像边缘,算法环绕到下一行中的第一个元素。例如,当掩模以元素F2M为中心时,掩码矩阵的H23元素乘以输入矩阵的元素F31。结果,输出矩阵的可用部分沿着图像的每个边缘减少了一个元素。
通过正确对齐输入数据,可以在单个处理器周期中使用Blackfin的乘法累加(MAC)单元,一次处理两个输出点。在同一周期期间,多个数据提取与MAC操作并行发生。该方法允许每次循环迭代有效计算2个输出点,或每个像素4.5个循环,而不是图7中每个像素的9个循环。
边缘检测
各种各样的边缘检测技术是常用的。在考虑如何检测边缘之前,算法必须首先确定边缘实际的合适定义,然后找到增强边缘特征的方法以提高检测机会。由于图像传感器不理想,因此必须处理两个问题 - 噪声和量化误差的影响。
图像中的噪声几乎preof video in video taken OVW disease腐choose in inliancesvoltage闹GF基于许多不易控制的因素,例如环境温度,车辆运动和外部天气条件,将引入噪音。图像中的量化误差将导致边缘边界在多个像素上延伸。这些因素共同作用使边缘检测复杂化。因此,所选择的任何图像处理算法都必须将抗噪性作为主要目标。
一种流行的检测方法使用一组基于常见导数的运算符来帮助定位图像中的边缘。每个衍生算子都旨在找到强度发生变化的地方。在这个方案中,边缘可以通过包含理想边缘属性的较小图像建模。
我们将讨论Sobel边缘检测器,因为它易于理解并说明了扩展到更多原理的原理。复杂的计划。 Sobel Detector使用两个卷积核来计算水平和垂直边缘的梯度。第一个用于检测垂直对比度的变化(S x )。第二个检测到水平对比度的变化(S y )。
输出矩阵为每个输出矩阵保持“边缘似然”幅度(基于水平和垂直卷积)图像中的像素。然后对该矩阵进行阈值处理,以便利用幅度上的大响应对应于图像内的边缘的事实。因此,在霍夫变换阶段的输入处,图像仅由“纯白色”或“纯黑色”像素组成,没有中间渐变。
如果应用程序不需要真正的大小,则可以节省昂贵的平方根操作。构建阈值矩阵的其他常见技术包括对每个像素的梯度求和或简单地取两个梯度中的最大值。
直线检测 - Hough变换
霍夫变换是一种广泛使用的方法,通过将它们本地化在参数化空间中来查找图像中的线条,圆形和椭圆形等全局图案。它在车道检测中特别有用,因为基于等式1的极坐标表示,线可以在Hough变换空间中轻松检测为点:
这个等式的含义可以通过延伸从给定直线到原点的垂线来显示,这样θ就是垂直与横坐标和θ的角度。是垂直的长度。因此,一对坐标(ρ,θ)可以完全描述该线。图8a中的线L1和L2证明了这一概念。图8b显示L1由θ1和红色垂线的长度定义,而L2由θ 2 和蓝色垂直线的长度定义。
查看Hough变换的另一种方法是考虑一种可以直观地实现算法的方法:
仅访问白色像素在二进制图像中。
对于每个像素和正在考虑的每个θ值,从原点以角度θ在像素上画一条线。然后计算ρ,它是原点和所考虑的直线之间的垂线长度。
在累积表中记录这个(ρ,θ)对。
重复步骤1
在累积表中搜索最常遇到的(ρ,θ)对。这些对描述了输入图像中最可能的“线”,因为为了记录高累积值,必须有许多白色像素沿着由(ρ,θ)对描述的线存在。
霍夫变换是计算密集型的,因为计算输入图像中每个像素的正弦曲线。但是,某些技术可以大大加快计算速度。
首先,可以提前计算一些计算项,以便通过查找表快速引用它们。在Blackfin的定点架构中,仅为余弦函数存储查找表非常有用。由于正弦值与余弦的相位相差90度,因此可以使用具有偏移的相同表格。使用查找表,等式(1)的计算可以表示为两个定点乘法和一个加法。
可以提高性能的另一个因素是关于输入图像中车道标记的性质和位置的一组假设。通过仅考虑那些可能是车道标记的输入点,可以避免大量不必要的计算,因为每个白色像素只需要考虑窄范围的θ值。
a的输出霍夫变换是一组可能是车道标记的直线。这些线的某些参数可以通过简单的几何方程来计算。可用于进一步分析的参数包括摄像机中心轴的偏移,检测到的线的宽度,以及角度相对于相机的位置。由于许多公路系统中的车道标记是标准化的,因此一组规则可以从车道标记候选列表中消除一些线。然后可以使用一组可能的车道标记变量来导出汽车的位置。
车道跟踪
车道信息可以从汽车内的各种可能来源确定。该信息可以与车辆相关参数(例如,速度,加速度等)的测量值组合以辅助车道跟踪。基于这些测量的结果,车道偏离系统可以明智地决定是否正在进行无意的离开。在高级系统中,可以建模其他因素,例如一天中的时间,道路状况和驾驶员警觉性。
估算车道几何形状的问题是一个挑战,通常需要使用卡尔曼滤波器来估算道路曲率。具体来说,卡尔曼滤波器可以预测未来的道路信息 - 然后可以在下一帧中使用,以减少霍夫变换所呈现的计算负荷。
如前所述,霍夫变换用于寻找线路在每个图像中。但是这些线也需要通过一系列图像进行跟踪。通常,卡尔曼滤波器可以描述为递归滤波器,用于估计对象的未来状态。在这种情况下,对象是一条线。线的状态基于其位置及其在几个帧上的运动路径。
随着道路状态本身,卡尔曼滤波器为每个状态提供方差。预测状态和方差可以结合使用,以缩小未来帧中霍夫变换的搜索空间,从而节省处理周期。
决策 - 目前的车位或车道交叉时间
根据我们的经验,我们知道误报总是不受欢迎的。没有更快的方法让消费者禁用可选的安全功能,而不是让它指出不存在的问题。
有了处理框架,系统设计人员可以添加自己的知识产权( IP)到每个处理线程的决策阶段。最简单的方法可能是在做出决定时考虑其他车辆属性。例如,当车道变换被认为是有意的时 - 如使用方向指示灯或应用制动器时,可以抑制车道变换警告。更复杂的系统可能会考虑GPS坐标数据,乘员驾驶概况,时间,天气和其他参数。
结论
在前面的讨论中,我们只描述了一个例子关于如何构建基于图像的车道偏离系统的框架。我们试图确定的一点是,当灵活的媒体处理器可用于设计时,有足够的空间来考虑功能添加和算法优化。
-
传感器
+关注
关注
2548文章
50740浏览量
752135 -
发动机
+关注
关注
33文章
2443浏览量
69176 -
控制器
+关注
关注
112文章
16214浏览量
177475
发布评论请先 登录
相关推荐
评论