英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
基于FPGA的SOBEL边缘检测算法的数字图像处理
DHANABAL R #1,BHARATHI V *2,S.KARTIKA #3
#1助理教授(高年级),VLSI师,SENSE,VIT大学,
*2助理教授,GGR工程学院,韦洛尔,
#3Btech学生,VIT大学,Vellore-632014,泰米尔纳德邦,印度
电子邮件: rdhanabal@vit.ac.in,bharathiveerappan@yahoo.co.in,,kartikasekar001@yahoo.co.in
摘要
图像处理在现代数据存储和数据传输中尤为重要,特别是在逐步传输图像,视频编码(电话会议),数字图书馆和图像数据库以及遥感等领域。它与由算法来产生所需的图像的图像操作有关。数字信号处理(Digital Signal Processing,DSP)通过多种方式提高在极端不利条件下拍摄的图像的质量,包括亮度和对比度调整,边缘检测,降噪,焦点调整,运动模糊减少等。优点是图像处理允许更广泛的算法以应用于输入数据,以避免在处理期间诸如噪声和信号失真的问题。数字图像处理的应用已经渗透到我们的日常生活中,如医药,监控,自动化行业检测等等。在特定应用程序的硬件上实现这些应用程序比在通用计算机上执行这种应用程序要快得多,因为它可以轻松完成。在这个项目中,实现了用于图像处理的协处理器。协处理器被建模为图像的边缘检测。边缘检测算法将在FPGA上实现,其中固有的并行性提供更好的性能。该架构就像ARM处理器一样,主处理器具有必须处理的图像。ARM会将图像传送到FPGA进行处理,在图像处理完成后,FPGA将通过VGA显示器显示处理后的图像。ARM发送的图像将存储在FPGA中的实例化存储器中。FPGA中实现的边缘检测的内核从内存中读取图像,对其进行处理并将处理后的图像存储回内存。设计的VGA控制器从内存中读取已处理的图像并显示它。Sobel边缘检测算法用于图像的边缘检测,它在获得平滑边缘方面非常高效并且对噪声不敏感。
关键词:图像处理,数字信号处理(DSP),协处理器,现场可编程门阵列(FPGA),ARM处理器,VGA控制器,Sobel边缘检测算法
- 介绍
数字图像处理是一个不断扩展和动态发展的领域,应用领域涉及我们的日常生活,如医学,空间探索,监控,认证,自动化工业检测和更多领域。这些应用程序涉及不同的过程,如图像增强和对象检测。随着VLSI技术的进步,硬件实现已成为一种有吸引力的选择。在硬件上实现复杂的计算任务并通过在算法中利用并行和流水线操作可显著缩短执行时间。
有两种类型的技术可用于硬件设计。完全定制的硬件设计也称为专用集成电路(ASIC)和半定制硬件设备,它们是可编程设备,如数字信号处理器(DSP)和现场可编程门阵列(FPGA)。全定制ASIC设计提供最高性能,但与设计相关的复杂性和成本非常高。ASIC设计用于大批量商业应用。DSP在性能和设计复杂性方面属于ASIC和PC之间的一类硬件设备。DSP是专门的微处理器,通常使用C语言编程,或者使用汇编代码来提高性能。它非常适合极其复杂的数学密集型任务,如图像处理。
现场可编程门阵列是可重新配置的器件。诸如并行和流水线技术的硬件设计技术可以在FPGA上开发,这在专用DSP设计中是不可能的。在可重构硬件上实现图像处理算法可最大限度地缩短上市时间成本,实现复杂算法的快速原型设计并简化调试和验证。因此,FPGA是实现实时图像处理算法的理想选择。在这个项目中,我们的目标是设计和实现一个用于FPGA中图像处理的协处理器。协处理器将被设计用于图像的边缘检测。边缘检测将使用Sobel边缘检测算法执行。
-
使用设计工具
- Xilinx ISE 10.1
Xilinx ISE 10.1用于verilog HDL建模的硬件系统的设计,仿真和综合。在Xilinx中,用于实现该设计的目标器件是xc3s1500-4fg676。
-
- TLL电力监视器应用程序
此应用程序监视电路板的电源。该电路板有一个家务管理ARM处理器,可以通过软件控制电路板的电源。此外,硬件的编程也是一样的。
-
- MATLAB 7.5
MATLAB用于对整个系统进行建模,以便于理解该算法的硬件实现。一旦算法成功实现,从网络流传输的实时视频的边缘检测在Simulink中完成。
-
- Eclipse IDE
ARM的C代码是在Eclipse IDE中设计和构建的。在Eclipse中还构建了另一个将位图图像转换为RGB565像素数据格式的C程序。
- 边缘检测
边缘被认为是为人类图像感知提供有价值信息的最重要的图像属性。边缘检测是一个非常复杂的过程,受不同程度的噪声影响而变差。在早期的工艺中,边缘检测主要是在软件上进行的,因为它的硬件要求很高,而专用集成电路也没有获得很大进步。但是目前对可编程器件的研究使得可以在设计周转时间从几小时到几天不等的设备上实现边缘检测算法。边缘是物体和背景之间的边界。边缘检测是识别图像亮度急剧变化或更正式地具有不连续性的数字图像中的点。检测图像亮度急剧变化的目的是捕捉重要事件和世界特性的变化。图像亮度中的不连续性可能对应于
bull;深度不连贯
bull;表面方向的不连续性
bull;材料属性的变化
bull;场景照明的变化
- SOBEL边缘检测
在这个项目中,Sobel边缘检测算法的FPGA实现已经完成。Sobel边缘检测算子的选择是因为它们同时包含了边缘检测和平滑算子,因此它们在噪声条件下具有良好的边缘检测能力。
Sobel算子对图像执行二维空间梯度测量。将二维像素阵列转换为统计不相关的数据集可增强冗余数据的去除; 结果,需要减少数据量来表示数字图像。Sobel边缘检测器使用一对3times;3卷积掩模,一个估计x方向的梯度,另一个估计y方向的梯度。Sobel检测器对图像中的噪点非常敏感,它有效地将它们突出显示为边缘。因此,推荐Sobel算子在数据传输中发现海量数据通信。
运算符由一对3times;3卷积核构成,如图所示。一个内核只是另一个旋转90°。
-1 |
0 |
1 |
-2 |
0 |
2 |
-1 |
0 |
1 |
Gx
1 |
2 |
1 |
0 |
0 |
0 |
-1 |
-2 |
-1 |
Gy
内核被设计为最大限度地响应相对于像素网格垂直和水平运行的边缘,两个垂直方向中的每一个都有一个内核。内核可以单独应用于输入图像,以产生每个方向上的梯度分量的独立测量(称这些为Gx和Gy)。梯度大小由下式给出:
通常情况下,使用以下公式计算近似大小:
Sobel边缘检测算法的实现如下;考虑我们有图像G(c,r),那么Gx由下式给出
;
Gy也是由下式给出
;
一旦你有了Gx和Gy,就可以计算它的总和来获得梯度幅度并与阈值进行比较。如果比较值高于阈值,则该像素被替换为一个一否则为一个零。对图像的所有像素进行同样的操作以找到边缘。
- 实施方法
图像处理的传统硬件实现使用数字信号处理器(DSP)或专用集成电路(ASIC)。对速度更快,成本效益更高的系统的需求日益增长,这引发了向现场可编程门阵列(FPGA)的转变,其中固有的并行性带来更好的性能。针对FPGA的计算要求较高的功能(如卷积滤波器,运动估计器,二维离散余弦变换(2D DCT)和快速傅立叶变换(FFT))得到了更好的优化。
-
- 设计方法
使用MATLAB程序例程对矩阵数据表示的图像进行操作,该软件算法被设计为尽可能接近硬件算法。
使用TLL 5000板,因为它配备了SPARTAN 3 FPGA,而且就协处理器的设计而言,80引脚夹层连接器也可用于主协处理器通信。另外TLL带有ARM 9处理器的6219板与附带的80针夹层连接器一起用作主设备。该板还配备了一个24针GPIO端口,可用于访问1.3 Mp摄像头以进行实时图像捕获。
一旦算法在MATLAB中实现,硬件设计就使用verilog HDL完成。Xylinx ISE 10.1被用于设计和仿真。一旦设计采用XSVF(xylinx串行矢量格式)文件格式,它就会转储到FPGA进行验证。
-
- 系统实施流程
bull;边缘检测使用Sobel边缘检测算法完成。
bull;该模型在Matlab中实现。
bull;使用Simulink完成视频信号实时边缘检测模型。
bull;边缘检测模块使用verilog HDL开发并进行仿真。
bull;用于显示的VGA显示器控制器在FPGA(XC3S1500)中实现,颜色模式显示在显示器上。
bull;ARM处理器成为主设备,存储在其SDRAM中的图像被传送到FPGA进行图像处理,处理后的图像通过VGA显示。
bull;作为互连ARM和FPGA的第一步,将八位数据写入数据总线并将其写回FPGA。
bull;然后将图像从ARM转移到FPGA并通过VGA显示
bull;最后插入边缘检测核心进行图像处理。
-
- ARM
TLL 6219板上安装有飞思卡尔的i.MX21处理器。i.MX21利用通过AMBA总线连接到各种外设的ARM926EJ-S内核。板的主要特点包括
bull;飞思卡尔i.MX21 SOC ARM9处理器。
bull;内存:64MB SDRAM和16MB NOR闪存。
bull;两个90针夹层连接器。
bull;mu;mon boot-loader用于低级实时编程应用程序。
i.MX21利用一个32位地址来寻址4 GB物理地址空间。外部接口用于ARM和FPGA之间的通信。CS1用于选择夹层存储器。从TLL 6219输出CS1信号以选择连接到FPGA的64MB存储器。CS1的存储器解码范围从0 * CC00_0000到0 *CFFF_FFFF。CS1映射16MB板载(TLL 5000)SDRAM,16MB板载闪存。
i.MX21信号说明
*A [25:0] 地址总线信号
*D [31:0] 数据总线信号
*RW RW信号指示外部访问是读(高)还是写(低)周期。
* CS [5:0] 片选-片选信号CS [3:2]与CSD[1:0]复用并被选中。
通过系统控制部分中的功能复用控制寄存器(FMCR)。默认情况下,选择CSD [1:0]。DTACK与CS4复用。
CS5用于选择夹层寄存器。从TLL6219输出CS5信号以选择FPGA中的16MB寄存器。CS5在0 *D300_0000至0 * D3FF_FFFF范围内解码存储器。图像通过超级终端发送给ARM,您可以在mu;mon的帮助下访问ARM。使用的图像格式是RGB565,其中5位用于红色和蓝色,6位用于绿色。
-
- FPGA-ARM接口
FPGA-ARM接口
FPGA和ARM通过80引脚夹层连接器连接。存储在ARM中的图像将通过32位数据总线传送到FPGA。指定的地址将对应于FPGA中的实例化存储器。使用双端口存储器的xylinx IP Core。数据宽度保持在16位,使用深度19200。
-
- 现场可编程门阵列(FPGA)
现场可编程门阵列(FPGA)表示可重配置计算技术,它在某些方面非常适合视频处理。FPGA通常由一系列逻辑块(通常查表和触发器)和一些随机存取存储器(RAM)组成,所有这些都使用大量互连线连接在一起。FPGA中的所有逻辑都可以通过不同的设计重新布线或重新配置,就像设计人员喜欢的那样。今天,可以开发FPGA来实现并行设计方法,这在专用DSP设计中是不可能的。
该项目使用xylinx的Spartan 3 FPGA。收到的图像存储在实例化的内存中。内存使用来自Xylinx的双端口内存的IP内核。像素数据将被sobel边缘检测核心读取用于处理,处理后的图像将被存储回去。待处理的图像准备就绪后,设计的VGA控制器就可以读取像素数据并将
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22570],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。