英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
在FPGA上实现Sobel边缘检测
S. Nandy1*, B. Datta2, D. Datta3
1*ECE Dept. Brainware Group of Institution(BGI-SDET),MAKAUT(WBUT),Kolkata, India
2 ECE Dept. Brainware Group of Institution(BGI-SDET),MAKAUT(WBUT),Kolkata, India
3 ECE Dept. Brainware Group of Institution(BGI-SDET),MAKAUT(WBUT),Kolkata, India
摘要:近年来,可重构数字图像处理算法成为实时嵌入式系统研究的热点。边缘检测算法是数字图像处理中目标识别或检测的关键领域之一。这些算法通常在软件上实现,也可以在硬件上实现,具有计算速度快、精度高等特点。本文介绍了利用硬件描述语言(HDL)设计的Sobel边缘检测算法,并在现场可编程门阵列(FPGA)器件上实现,重点介绍了FPGA技术的特点。结果表明,与软件仿真相比,实现Sobel边缘算子的硬件具有更高的速度。该实现采用了改进的体系结构,有效地减少了硬件资源。图像通过UART串行通信从PC机传输到FPGA设备。FPGA器件将给定的设计和结果处理回PC机。在PC机中,两种结果都得到了验证。
关键词:边缘检测,FPGA,Sobel算子,VHDL,MATLAB.
1.简介
可重构边缘检测方法是图像分割、模式识别和纹理特征提取等实时图像处理应用的基础部分之一。针对各种类型的图像分析,开发了许多算法。但是,由于算法的复杂性和处理速度的不同,并不是所有的算法都能在硬件平台上实现。在高速硬件应用中,通常采用高效的边缘检测算法。在图像处理应用中,有多种边缘检测技术。它们是Prewitt、Canny、Sobel和Roberts的算法,它们在硬件架构、性能和准确性方面都有所不同。Sobel边缘检测是一种用于硬件实现的简单方法,使实时边缘检测应用程序[1]易于实现。
传统上,MATLAB和C/ C 是计算机视觉算法正确性的首选仿真工具和测试工具。如何实现这些计算机视觉算法,以满足实时处理、严格的功耗和硬件资源等市场的硬需求,是当前面临的一项具有挑战性的任务。硬件描述语言(HDL)的引入,如超高速集成电路与重点(VHDL)[2]提供了一个迷人的建模和仿真环境,快速原型的数字电路和系统的FPGA器件。FPGA技术[3]用于数字信号和图像处理的应用,在实际应用中具有更高的精度和高性能。FPGA器件提供了完全可编程的芯片上系统(SoC)环境。该体系结构由数千个逻辑门和可配置逻辑块组成,这些逻辑门和逻辑块使它们成为应用程序特定集成电路(ASIC)原型的合适解决方案,ASIC具有特定数字信号应用程序的专用体系结构。为了提高给定图像的性能,基于硬件的图像处理受到电子工程师的广泛关注。并行性和流水线[5]技术等硬件设计技术可以在FPGA平台上开发,这是其他处理器如数字信号处理器(DSP)或媒体处理器所不具备的。这些技术提供了更快的响应速度、灵活性和易于升级的能力。FPGA还提供了优化技术,比如能够并行I/O,这允许它们同时执行读(从内存)和写(到内存)。fpga具有可编程性强、计算速度快、功耗低、成本低等特点,是数字图像处理领域的理想选择。硬件设计人员可以对给定的体系结构进行优化和升级,并对系统进行仿真,对数字电路进行定时评估。仿真后,将生成的比特流输出到FPGA板上。通过修改系统级结构或电路级结构,可以提高系统的计算速度。硬件模拟器的唯一缺点是,除了二进制输入外,它不能支持任何格式。因此,所有输入和输出数据都应该采用以下二进制适用标准的形式。
在[4]中,提出了一种基于现场可编程门阵列的人脸检测和嘴唇特征提取新技术。介绍了一种基于FPGA的视频图像边缘检测系统的设计与实现。在[7]中提出了一种改进的Canny边缘检测器,并在FPGA上实现。在[8]中提出了基于FPGA的基于Verilog HDL的Prewitt边缘检测算法体系结构的实现。文献[9]描述了基于FPGA的图像边缘检测。在[10]中提出了一种新的基于fpga的Sobel边缘检测算子体系结构。在基于FPGA的[11]性能分析中,介绍了基于Sobel的FPGA边缘检测算子。
本文提出了一种基于FPGA的图像边缘实时检测系统的硬件描述方法。与其他现有的算子相比,Sobel算子的主要优点是不受噪声和相对较小的部件要求的影响。该操作符的使用方法实现简单,减少了处理时间。针对图像边缘检测中的高速处理问题,提出了一种基于VHDL语言的实时边缘检测系统的硬件结构。
本文的组织结构如下:第二部分介绍了Sobel边缘检测算法。第三部分介绍了硬件实现,第四部分报告了实验结果。最后,第五部分给出了本文的结论。
2.Sobel边缘检测算法介绍
Sobel算子[10]是一种离散微分算子,特别适用于图像检测算法。该离散微分算子用于计算边缘检测的图像强度函数梯度近似。在图像的每个像素处,Sobel算子的结果要么是对应的梯度向量,要么是该向量的法向量。该算子计算图像强度在每个点的梯度,给出从亮到暗的最大可能增加的方向和该方向的变化率。Sobel算子是基于图像与一个整数值滤波器的卷积,该滤波器同时计算水平方向和垂直方向。该运算符使用行和列邻域之间的离散差来计算梯度,其中每个行或列中的像素中心加权为2,以提供平滑。矩阵形式的Sobel掩模为
图1 x和y方向的卷积核
将上述两个核卷积得到的每个像素处的两个梯度可以看作梯度向量的x和y分量。这个向量的方向是沿法线方向改变到边的方向。梯度大小和方向由下式给出
近似大小如下
边缘的角度可以在x和y方向上计算梯度。边缘方向为
边缘强度和边缘方向分别等于梯度的大小和梯度的角度。计算速度快,计算简单。但与其他边缘检测算法相比,该算法的精度较低。
3. 硬件实现SOBEL边缘检测算法
HDL语言提供从内存中读写文件。VHDL是一种高级语言,它以结构描述、数据流描述和行为描述的形式描述任何数字电路。结构描述和数据流描述在本质上是并行的,而行为描述在本质上是顺序的。为任何VLSI工程师开发代码都相对容易。VHDL的优点是在综合工具将设计转化为实际硬件之前,可以使用任意的电路,在行为域或并行信号分配中进行设计,并进行验证或仿真。VHDL是不区分大小写的语言。测试台上的输入为特定的电路提供正确的输入,并查看输出波形。本文首先介绍了利用HDL语言Verilog实现Sobel边缘检测的方法。Verilog只读取和写入ASCII字符。它不编译位图或jpeg文件。本项目的基本思路是将HDL中的输入信息转换为可读数据,并将这些数据通过Verilog描述的电路进行传递,提取硬件仿真的二进制结果,再转换回信号。典型的计算机辅助设计(CAD)工具提供FPGA设计流程,其中包括用于任务的软件工具,如初始设计、逻辑综合、布局和路由,以及将设计编程到FPGA中。该工具用于FPGA实现,如ISE来自Xilinx, Modelsim来自Mentor Graphics,Quartus软件来自Altera。图2描述了Sobel运算符的硬件模型。
图2 Verilog块中的Sobel模型
这里P0、P1、P2、P3、P4、P5、P6、P7和P8表示Sobel模块的8个8位像素输入。该模块由符号减法、移位寄存器和模运算符组成。最后一个加法器块的输出为11位(加法器输出的最大值为4*255,第11位为符号位,数据为10位)。由于输出图像也由8位宽的像素组成,因此将输出数据与最大值255进行比较。可以实现的并行Sobel操作符数量的限制是目标设备中可用的逻辑资源。
图3 Sobel模型的体系结构
4.实验结果
以上讨论的图像处理算法是在ISE Design suite 14.2中设计的,所有的设计算法都是在基于Spartan-6 FPGA的硬件上实现的。使用Xilinx ISE工具检查综合、地图和地点及路线报告。图4显示了原始图像和Sobel图像。这里是用于Sobel操作的默认阈值。考虑图像大小,测试512 x 512像素分辨率灰度“Lena”图像。每个像素由8位表示,这意味着在像素处理过程中要考虑256个强度级别。
图4 原图和边缘检测图(右边)
图5。Sobel算子的硬件仿真结果
表1给出了实现算法的对比报告。考虑9个输入,每个输入有8位。这个表显示了这种体系结构中使用的片和输入-输出块。
表1 综合结果比较
表2显示了编译时间报告。该算法在软件和硬件两方面都进行了仿真。Matlab和HDL分别为软件和硬件领域提供仿真报告。
表2 仿真时间比较
实验结果表明,基于硬件的仿真在图像处理中具有较快的速度。
5.总结
本文在VHDL语言上描述了Sobel边缘检测算法,并在XC6SLX45上使用Spartan-6在FPGA器件上实现。与其他边缘检测算法相比,该结构需要较少的硬件资源。它使用16个片寄存器,利用率为1%。实验证明,与基于软件的图像处理相比,基于硬件的图像处理系统具有较快的速度。这种基于硬件的图像处理的主要缺点之一是缺乏灵活性。一旦配置好,它们就能很好地执行任务。本文的主要目标是在FPGA器件上实现Sobel边缘检测算法,重点研究FPGA技术的突出特点。该系统具有简单、灵活、开发成本合理等优点。该方法不仅降低了系统结构的复杂度,而且减少了计算时间。未来的工作改进可以通过管道结构来实现,以获得更高的性能。该体系结构可作为计算机视觉系统的一部分,且硬件较少。
致谢
作者要感谢电子与通信系、智库机构组提供的ISE设计套件14.2和Spartan 6 FPGA板。
参考文献
[1] R. Gonzalez and R. Woods, Digital Image Processing, Prentice Hall, 2008.
[2] H. C. Roth, Circuit Design with VHDL. Cambridge, MA: MIT Press, 2004.
[3] W. Wolf, FPGA-Based System Design. Englewood Cliffs, NJ: Prentice- Hall, 2004.
[4] D. Nguyen, D.Halupka, P. Aarabi and A. Sheikholeslami, “Real- Time Face Detection and Lip Feature Extraction Using Field-Programmable Gate Arrays,” IEEE Transactions on Systems, Man, and Cybernetics-Part B: Cybernetics, pp. 902- 912, 2006.
[5] S. Mittal, S Gupta and S. Dasgupta, “FPGA:An efficient And Promising Platform For Real-Time Image Processing Applications,” Proceedings of National Conference on Research and Development in Hardware amp; Systems, June 20-21,2008.
[6] J.Wu, J. Sun, and W. Liu, “Design and Implementation of Video Image edge Detection System Based on FPGA,” In Proceedings of 3rd IEEE International Congress on Image and Signal Processing, 2010.
[7] W. He and K. Yuan, “An Improved Canny Edge Detector and Its Realization on FPGA,” In Proceedings of 7th IEEE World Congress on Intelligent Control and Automation, 2008.
[8] M. N. Haque, “Implementation of a FPGA based Architecture of Prewitt Edge detection Algorithm using Verilog HDL,” In Proceedings of Conference on Electronic and Telecommunication, 2010.
[9] Z. Guo, W. Xu and Z. Chai, “Image Edge Detection Based on FPGA,” In Proceedings of Ninth IEEE International Symposium on Distributed Computing
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[20585],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。