关键字: 汽车视觉系统 交通信号识别 DSP Sobel滤波器
作者:Thorsten Lorenzen模拟器件公司
汽车行业对于带摄像头式驾驶协助系统的需求日益增长。交通信号识别可以提高司机和乘客的安全性,因而日益受到人们的关注。在可以应用到汽车和工业设计多个领域的图像识别技术中,交通信号识别技术就是其中的一种。
交通信号识别技术采用了机器视觉专家们最擅长的图案识别算法。本系列文章的前部分详细讲述了一套采用Blackfin处理器的摄像头式交通信号识别系统;Blackfin是一款来自模拟器件公司的低功耗、低成本的嵌入式DSP。这些配置展示了一套高效率软件架构的设计,以及如何使用一个滤波器块算法来执行交通信号识别应用。
本章节讨论了如何利用一个采用Blackfin处理器的摄像头式交通信号识别系统来以各种方式执行Sobel边缘检测滤波器。随后我们对结果进行了对比,并讲述了实现现有处理功能最佳利用的步骤。
Sobel滤波器
Sobel滤波器一般都被配置在一个处理链路的前端。计算结果显示了边缘及其方向(向量)的量值。这是通过一个二维卷积完成的。图1展示了一个典型卷积的工作。比如,为了计算G22值,将一个3 x 3滤波器矩阵H放在输入图象F上,矩阵H的每个点分别和一个图象数值相乘然后累计。3 x 3滤波器矩阵H在整个图象上移动,来从所有其它图象数值中计算出G值。等式1展示了一个卷积的工作。
图1:二维卷积。
等式1:二维卷积。
一个二维卷积包含了九个乘积的总和。对于Sobel滤波器,每个图象值必须执行两个卷积,一个是针对横向Gx上的边缘,另一个针对是纵向Gy上的边缘。边缘Gxy的实际量值和实际角度Theta可以从结果中得出。图1展示了Sobel运算符号。等式2和等式3展示了执行矩阵数值得出的计算。
图2:Sobel运算符号。
等式2:卷积Gx。
等式3:卷积Gy。
由于Sobel算符在矩阵中有多个0,乘机的数量可以减少。上面的等式2和等式3显示,只需要6次乘积。由于Sobel算符的矩阵以数值1占据了一些位置,此处不需要乘积。只有数值2那些位置需要考虑乘积。另外还可以通过将数值1快速移到左边来实现这一点。每个边缘的量值是通过Gx和Gy的几何加法来计算的。得出的向量通过下面的等式显示出了这一点:
等式4: 几何数量。
向量的角度也可以计算出来:
等式5:边缘方向。
在下一部分,我们以不同方法进行了Gx和Gy的卷积,并展示了所需的计算周期。
|
|
|
|||
|
|
|||
|
|
||||||||||
|







