基于FPGA的图像形状边缘匹配算法的实现

时间:2022-10-13 10:43:39

基于FPGA的图像形状边缘匹配算法的实现

摘 要:文章以Altera公司Cyclone II系列FPGA为平台搭建图像处理系统,通过硬件方式实现图像形状边缘梯度匹配算法,完成了单一背景下具有规则形状物体图像的快速中值滤波、Sobel边缘检测和边缘梯度直方图统计及相关性匹配模块的设计,较好地体现了FPGA流水线结构和并行处理能力。实验结果证明,该图像处理系统可以成功匹配到单一背景下与目标模板形状相似的物体图像,匹配结果受物体平移、缩放、旋转的影响较小。

关键词:FPGA;图像匹配;边缘方向直方图;流水线;并行处理

引言

图像形状边缘蕴含着丰富的图像形态信息,形状特征作为图像的重要视觉特征之一,它不随周围环境(比如亮度)的变化而变化,是物体的稳定信息;人们对图像的理解也在很大程度上依赖于对图像中物体形状的感知和区别[1]。基于图像形状边缘梯度直方图相关性计算的图像匹配算法在图像检索领域应用前景突出,该算法的关键步骤在于图像形状特征的提取和相似性度量。首先,我们需要提取图像的边缘梯度方向直方图,量化分级后再计算图像间相关度。在实时图像匹配过程中,由于算法涉及到的运算数据量大,传统的软件方法或者一般处理器的顺序执行结构很难达到实时性要求。FPGA(Field Programmable Gate Array,现场可编程门阵列)是当今应用最为广泛的可编程逻辑器件[2]。目前,FPGA在运算速度和灵活性方面达到很高水平,基于其流水线结构和乒乓操作,可以完成复杂的逻辑运算和高速并行信号的处理,所以在视频图像处理系统中应用广泛。文章在研究图像形状边缘梯度匹配算法的基础上,对其进行优化,采用纯硬件方式在FPGA上得以实现。

1 图像匹配算法结构

图像边缘梯度方向直方图是表征图像形状的一种方法,图像中目标形状信息是由图像边缘表现的,边缘是图像中灰度发生急剧变化的区域边界,边缘上每一个像素都对应此处一个边缘梯度方向[3],对边缘像素点的梯度方向统计得到的直方图在一定程度上可以反映图像中目标的形状信息。本算法的实现可以分为几个步骤:(1)滤波:平滑噪声,保护图像边缘信息;(2)边缘检测:采用Sobel边缘检测,确定边缘像素点,计算边缘梯度方向;(3)直方图:划分边缘梯度区间,统计每一个区间内的像素点;(4)相关性:计算图像与待检测目标的边缘梯度方向直方图之间的距离。

2 图像匹配算法的硬件实现

2.1 快速中值滤波

中值滤波是一种能有效抑制图像噪声而提高信噪比的非线性滤波技术,本设计采用3X3模板的快速中值滤波算法,把3X3邻域中的像素按灰度值进行排序, 然后选择中间值作为输出灰度值。算法包括图像3X3模板数据的产生和排序模块,采用流水线结构。在这里我们将输入的图像数据经过行缓冲器模块,通过调用Altera公司提供的altshift_taps(基于RAM的移位寄存器)宏模块实现行延迟产生图像3X3模板数据[5],其中行缓存深度设定为图像的行像素总数,然后每行通过3个移位寄存器进行列延迟将数据并行输出,经过3个周期即可输出3X3模板数据。排序模块中,先将3X3模板数据按纵列方向从小到大排序,再按横列方向从小到大排序,最后取45度方向斜线的三个数取中值。

2.2 Sobel边缘检测

Sobel算子[6]在技术上是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。该算子包含两组3X3的矩阵,分别为横向和纵向,将它们与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。

2.4 相关性匹配

经由Block RAM统计得到的直方图虽然具有平移和尺度不变性,但是对图像旋转是敏感的。由于Block RAM的特殊结构,内存单元数据输出时的起始地址可以事先设定,可以方便我们对内存单元数据移位输出,所以在进行图像形状边缘梯度匹配时,我们采用边缘梯度方向直方图循环移位计算最小值的方法求待检测图像与模板之间的距离,图像中目标的旋转对应图像边缘梯度直方图的循环移位,有效消除了图像边缘梯度匹配过程中的旋转易变性。

式中,T为模板图像的边缘梯度方向直方图,H为待检测图像的边缘梯度方向直方图,Hi为H平移i个单位得到的直方图。

3 实验结果与分析

文章在友晶科技DE2开发板上搭建测试系统,对单一背景下、形状明显的物体具有较好的匹配效果。目标模板的边缘梯度方向直方图数据存储于ROM中,待测试物体图像由CCD摄像头采集输入FPGA,并将其边缘检测后的图像通过VGA显示器显示出来,用于对比,利用Altera公司Quartus II软件自带的SignalTap II Logic Analyzer(在线逻辑分析仪)获取待测试图像边缘梯度方向直方图与目标模板之间的最小距离。选取8个形状规则的物体置于白色背景下,获取其边缘检测后的图像,以及边缘梯度方向直方图与目标模板之间的最小距离,记录如图3所示。

图3中,第一行的两幅图像分别为目标模板及其边缘梯度直方图,第二、三行图像为测试物体图像,下面数字为测试物体与目标模板边缘梯度直方图之间的最小距离。由以上结果可以看出,当我们选择合适的阈值对测试结果进行判定,可以成功匹配到与目标模板形状相似的物体,匹配结果受物体平移、缩放、旋转的影响较小。

4 结束语

文章提出一种基于FPGA的图像形状边缘匹配算法的实现方法,借助Altera公司提供的众多宏模块,采用硬件方式实现图像快速中值滤波、Sobel边缘检测和边缘梯度方向直方图统计,构建了一种流水线处理结构,充分利用了硬件内部并行性,增加了数据处理能力和处理速度,可应用于对实时性要求较高的智能监控、安防、工业控制等领域。在后期研究中,我们将改进测试图像输入方式,细分图像边缘梯度方向区间,优化算法硬件结构,进一步提高系统处理能力。

参考文献

[1]陈宏.基于边缘方向直方图的形状检索[J].电子设计工程,2013,

23:188-190+193.

[2]李正明,刘春国,安明建.基于FPGA的Sobel图像边缘检测的设计[J].现代科学仪器,2012,4:84-86.

[3]杨晓强.基于边缘梯度方向直方图的图像检索算法[J].微计算机息,2008,21:302-303+311.

[4]李雷鸣,张焕春,张波.一种基于FPGA的图像中值滤波器的硬件实现[J].电子工程师,2004,2:48-50.

[5]李明,赵勋杰,毛伟民.Sobel边缘检测的FPGA实现[J].现代电子技术,2009,16:44-46.

[6]张洁.数字图像边缘检测技术的研究[D].合肥工业大学,2009.

[7]鱼明杰.HDTV视频图像灰度直方图统计算法设计[J].电子产品世界,2005,15:119-120.

作者简介:陈坤(1993-),男,本科生。

*通讯作者:黎煊(1980-),男,副教授。

上一篇:赤峰市敖汉旗贝子府镇“节水增粮行动”口琴村... 下一篇:基于缩短配网故障定位及抢修时间的技术手段探...