新闻  |   论坛  |   博客  |   在线研讨会
识别道路标志的汽车视野系统:第1部分――基本功能
lulu888 | 2009-06-24 12:42:56    阅读:1468   发布文章

    这种图像处理仍是高端选项,需要政府和汽车行业领袖们联合推动,逐渐形成大规模市场机会。该技术是图像识别的应用实例之一,可用于汽车和工业设计的许多领域。

    交通标志识别基于模式识别算法,机器视野专家们对这种算法有深刻理解。毫无疑问,经典模式识别算法甚至能让高级的通用微处理器相形见拙。对于这种类型的信号处理应用,选择具有这种体系结构的处理器是有利的:可有效处理搜索交通标志图像的连续视频流带来的特殊计算和I/O挑战。同样以最大速度和最高效率对这些算法进行编码也是基本要求。

    本文详细描述在Blackfin?处理器上实现的一种基于摄像头的交通标志识别系统。该处理器是Analog Devices公司生产的一种低功率低成本的嵌入式DSP。我们将介绍一种高效软件的设计,并展示如何利用筛选模块算法来实现标志识别应用。文中比较了这些结果,随后描述了为获得最理想的计算性能该采取的步骤。

一种基于摄像头的驾驶员辅助系统

    基于摄像头的模式识别系统一般由一个视频摄像头和一个监控器组成,二者连接到同一个处理器的I/O接口上,该处理器控制系统的运行并进行必要的信号处理。通常需要外部SDRAM提供视频处理要求的足够存储空间,用于从输入的视频流中提取道路标志信息。下图示出了这种系统的模块图。虽然最终应用不一定配置显示器,但它是应用程序开发和显示的一种有用工具。

图像传感器

领先的汽车产商们将合格的CMOS图像传感器用作驾驶员辅助系统的视频源。目前,大多数摄像头抓取VGA大小(640 x 480象素)的灰度图片,灰阶深度达10比特。帧频一般是30帧每秒,CMOS传感器的高度灵敏性使之既可在阴暗光线下和夜间使用,也可在炫目的阳光下和近距离光线下使用。

    未来的系统需要具有较大画面面积和彩色功能的传感器。本设计实例中的摄像头以亮度/色度YUV差分图像格式传输彩色图像。大多数传感器由一个外部时钟产生器驱动,通过一个宽度高达10比特的同步并行数据总线提供图像数据。两个附加信号使线长和图像高度能够一致。

TFT显示器

    LCD TFT显示器在汽车仪表板领域应用普遍,它要求RGB格式的图像数据。每个显示单元要求输入3种显示颜色(红、绿和蓝)的值。在视频系统中图像捕获和显示器之间格式不匹配很常见,著名的色彩空间转换算法可使RGB和YUV格式互相转化。下图显示了TFT显示器与处理器的连接。

多核嵌入式处理器使信号处理速度加快

    驾驶员辅助系统实例中应用的中央处理器为Blackfin BF561。Blackfin体系结构专为信号和图像处理而开发,它拥有算数和逻辑单元(ALU),允许同时执行多份数据指令流。如前所述,由于具有高效的信号处理指令组和硬件特征,利用专为信号处理应用设计的处理器可确保筛选模块和模式匹配算法有效灵活运行。BF561是一种双核处理器,具有两个对称的处理器内核,因此实际具有两倍的原始计算能力。

    我们已提过用于图像捕获和显示视频接口的并行I/O端口。此外,Blackfin处理器还提供大量其他接口,如I2C和NAND闪存接口,用于普通的系统级接口及在特殊应用环境中工作的接口,如汽车系统中通常需要CAN总线和MOST总线。

软件架构

    我们下面利用软件架构这个名词来指代控制系统的软件。它是指包含系统状态机的控制代码。这种控制代码设定所有的接口;以预先确定的顺序调用必不可少的筛选模块;开始直接存储器存取(DMA)数据转化;以及使暂停或重复处理的事件同步。

处理器内核

    处理器内核执行控制软件,实施数学计算。每个Blackfin处理器内核拥有两个ALU,最多允许同时进行四个运算。读写操作从存储器中检索计算所需数据,并存储结果。下面显示的是一个具有最大宽度的指令。该指令在每个处理器内核上同时进行两个独立的乘法运算,随后进行加法和两次取操作。

若地址冲突,不能安排这个最大宽度的指令,可以执行该并行指令的一部分。下面是几个例子:

可以并行执行的操作类型有无数种,部分取决于硬件执行情况。

利用DMA和交通标志识别

    DMA通道利用最小的CPU周期,从内部或外部存储器传输数据。可以利用DMA传输重新组织数据。在图像处理应用软件(代表传感器拍摄的二维平面像)中常可以发现二维数据场,许多经典的筛选操作包含对这些数据场进行矩阵乘积(2D转换)。

    由于这种DMA通道独立于处理器内核运行,那么处理当前数据的同时可以取下一个数据组。此外,由于DMA控制器保证DMA通道同步,则即使它们在访问同一个存储器,几个DMA通道也可以同时工作。

    如下图所示,DMA转移初始,系统向DMA控制器的两个寄存器写入数据。然后DMA控制器利用一个详细说明将处理事件的存储叙词表。叙词表含有目标或/和数据源地址以及要转移的要素的数目,以及在只需要数据的子集时,可能的地址跳转。数百兆比特数据的转移可从向DMA控制器中的两个寄存器写入开始。

存储系统

Blackfin处理器将存储器分为三级。一级存储器(L1)允许以处理器内核的时钟频率访问。根据处理器的不同,这种时钟频率可以高达600 MHz。这种处理器可以执行在一个时钟周期内从L1存储器中读取数据的指令。二级存储器(L2)允许以处理器内核的时钟频率的一半的速度访问。因此,读取数据需要两个处理器时钟频率。三级存储器(L3)代表外部存储器。连接的SDRAM存储器可以以高达133 MHz的频率工作。读取这种存储器需要几个处理器周期。为确保高效处理,对时间要求严格的数据和指令应存储在最快的空闲存储器中。

交通标志识别处理模块

将交通标志识别的问题作为程序方块序列来考虑很有帮助,如下所述:

1、视频接口(PPI)接收视频图像并将它们通过DMA通道存入存储器。

2、Sobel边缘检测器筛选图像,仅边缘仍然可见。只有高频图像部分通过。从剩下的图像中,计算边缘厚度和边缘方向。

3、利用Sobel筛选模块中的向量场,Hough变换产生一个具有可能圆圈集合的向量场。

4、簇状构造收集临近点,确定所有可能圆圈的高度并存储它们的位置信息。

5、基于簇状结构步骤的位置信息,圆圈探测器利用从Sobel筛选模块处理步骤获得的边缘数据,提取圆圈。这时已识别通用型的圆形交通标志,但还未识别圆圈内部的数字(限速)。

6、在数字识别模块,读取圆形交通标志,缩小并与标志上使用的数字图像数据库中的图案或样本比较。具有最高相似性的数字将位于列表的最高位置。

7、选择具有最大可能性的交通标志图像,拷贝到要传输的视频图像上。利用该标志图像创建一个视频覆盖层。显示器纵向显示数据。

    必须执行三个附加步骤:从YUV格式到RGB格式的彩色空间转换;从VGA缩小到显示格式(本例中为VGA/4);以及旋转。通过第二个并行接口将图像传送到TFT显示器。下面的图像表格中示出了这些步骤。

[大 中 小][打印]

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客