阈值自适应视频边缘检测算法的FPGA快速实现

 2022-01-18 00:05:24

论文总字数:24402字

目 录

1 绪论 1

1.1 课题研究的意义及背景 1

1.2 边缘检测算法和FPGA发展与现状 1

1.3 论文的主要工作和章节安排 2

2 常用边缘检测算法的研究比较 2

2.1 边缘检测的基本概念 2

2.2 常用的边缘检测方法 3

2.2.1 Roberts算子 3

2.2.2 Prewitt算子 3

2.2.3 Sobel算子 4

2.2.4 Laplacian算子 4

2.2.5 Canny算子 5

3 系统整体设计 5

3.1 系统设计思路 5

3.1.1 锁相环时钟 6

3.1.2 图像采集模块 6

3.1.3 图像缓存模块 6

3.1.4 边缘检测算法模块 7

3.1.5 VGA驱动显示模块 9

3.2 本系统的特点 9

3.2.1 实时高速特性 9

3.2.2 阈值自适应Sobel边缘检测算法 9

4 FPGA视频采集硬件平台的设计与驱动 10

4.1 电源电路 10

4.2 程序烧录电路 11

4.3 图像采集电路 12

4.4 图像缓存电路 15

4.5.1 VGA硬件接口 16

4.5.2 VGA协议 17

5 阈值自适应边缘检测算法的软件实现 18

5.1 算法运行环境的建立 18

5.1.1 图像缓存和读取方式的设计 18

5.1.2 灰度处理 19

5.2 中值滤波 19

5.3 增加滤波模板 22

5.4 环境自适应阈值生成 24

5.5 腐蚀操作 25

5.6 膨胀操作 26

6 系统验证与效果分析 27

7 结束语 28

参考文献 28

致 谢 30

本科期间获得的科研成果及获奖情况 31

阈值自适应视频边缘检测算法的FPGA快速实现

陈彭鑫

,China

Abstract: In the field of Machine Vision, Pattern Recognition, etc, edge information is usually required. Aiming at acquiring edge information of an image more effectively, an adaptive threshold edge detection algorithm is introduced. The algorithm is based on the thought of sacrificing area in exchange for the speed, completing a series operation of median filtering, multi-template Sobel opreator, adaptive threshold generation, erosion and dilation. Taking the advantage of paralleling and stream-lined features, the system can be realized on FPGA with high speed.

Keywords: edge detection; median filter; Sobel operator; adaptive threshold; erosion and dilation;

1 绪论

1.1 课题研究的意义及背景

随着FPGA的问世和发展,借助其并行高速处理的优越性能,受到了从事图像处理工作和研究人员的青睐,FPGA也开始充当视频采集、帧缓存与处理的平台。现今的图像处理多以计算机为平台,借助Matlab等软件进行算法仿真和调试但无法真正将算法嵌入到便携式设备中[1]。生产实践中,多以高性能单片机或DSP芯片作为主控单元,采集一帧图片放在大容量FIFO中,便停止采集,待主控单元处理完此帧图片后再采集下一帧图片。因此,这种利用单片机和DSP进行图像处理的方案缺乏快速性而无法处理视频流,通常适用于处理静态图片的场合,例如指纹识别、人脸识别等人工智能领域,缺乏实时性是由主控单元的单一线程造成的。而将图像处理的算法平台放在FPGA上之后,配合SDRAM、DDR2或DDR3作为图像缓存帧,以其多线程流水线的特性为助力,实时性的问题将彻底解决,以片内逻辑单元(LE)的面积来换取速度,兼顾视频图像的流畅性和处理算法的高效性,可以给用户带来实时快速流畅的感官体验[2]

在形态学上,图像的轮廓包含着一幅图像最基本的特征和极其重要的信息,甚至可以通过物体的轮廓信息来辨识物体,所以,边缘检测算法也成为了图像处理中的一个经典课题,也是一个只能不断完善而无法彻底解决的课题。从摄像头的角度来看,所谓图像边缘就是指像素阵列中亮度(灰度值)突变的位置,寻找图像边缘就是寻找图像前景和背景的交界处;

边缘检测是许多数字图像处理应用案例中很重要也很基础的一个环节[3]。例如,在图像压缩技术中,需要保留图像的边缘信息,而抛弃远离边缘的低频信息,这是由于人眼的“掩盖效应”,更在意图像的边缘突变部分,而很少将注意力停留在背景中相对平坦的低频部分。在人工智能领域,实现机器视觉的首要条件就是能将目标物从背景中分离出来,而对图像进行分割也需要边缘检测的算法。由此可以看出,边缘检测算法在数字图像处理和人工智能等领域中占据着举足轻重的地位[4]

1.2 边缘检测算法和FPGA发展与现状

在计算机(机器)视觉领域,边缘检测是最基础性的算法之一,边缘检测的目的是以像素集合的形式找出视频或图像的轮廓位置。

1970年以来,人们就意识到边缘提取的重要性并陆续做了很多相关工作和研究。由于边缘检测就是对图像信号傅里叶变换后的高频分量提取,所以早期的边缘提取算法主要针对高频滤波模板的设计。1963年,Roberts提出了一种大小为2行2列的滤波模板,直接对模板中两组对角线方向的像素作差,对噪声很敏感。后来,在Roberts算子的基础上又出现了Prewitt算子,这种算子通过像素平均来实现模糊处理,虽然可以消除一定数量的噪声但同样也模糊了边缘信息。1970年,Irwin Sobel提出了一种3x3双滤波模板,分别对横向和纵向的像素作平面卷积,可以得到梯度的大小和方向,从而定位到边缘。

随着时间的推移,越来越多的边缘检测算法涌现出来。比如John F Canny在20世纪80年代提出的一种多步骤边缘检测算法和R.Kirsch提出的八模板检测算法以及在一阶滤波模板基础上发展而来的二阶模板LOG算子、Laplacian算子[5]

如今的边缘检测算法,已经不单单是滤波模板的设计和优化,人们不断地加入优化滤波器来抑制摄像头和传输线带来的噪声来提高信噪比,使提取的图像边缘更加完整和干净。

1.3 论文的主要工作和章节安排

本文主要讨论一种对Sobel算子的改进方法,包括加入中值滤波、多模板设计、自适应阈值生成、腐蚀膨胀等优化滤波器。并阐述如何以ALTERA公司的Cyclone IV FPGA为平台进行CMOS摄像头OV7670的视频图像采集,控制SDRAM作图像缓存、图像VGA显示、SDRAM乒乓操作、IP核的调用、优化滤波器的Verilog HDL实现,最终给出实验结论和硬件效果。

本文主要包括七节内容:

第一节 绪论:介绍了课题研究的意义和背景以及边缘检测算法的发展与现状。

第二节 常用边缘检测算法的研究比较:通过对Robert, Prewitt, Sobel, Laplacian, Canny等算子的介绍来阐述它们原理以及优缺点。

第三节 系统整体设计概述:从系统实现框图的角度按模块介绍了系统实现的整体结构以及各个功能模块。

第四节 FPGA视频采集硬件平台的设计与驱动:介绍了硬件平台的各个模块,包括电源模块电路、程序烧录电路、图像采集、缓存和显示模块。

第五节 阈值自适应边缘检测算法:介绍了如何搭建算法环境,引入3种SDRAM控制技巧来提高SDRAM的吞吐量和利用率并阐述了边缘检测算法的FPGA实现。

第六节 系统验证与效果分析:通过对传统Sobel算法和增加了去噪模块以及自适应阈值生成模块的Sobel算法的效果图进行比较,进行效果分析并验证了改进算法的有效性。

第七节 结束语:对本文所作工作的总结。

2 常用边缘检测算法的研究比较

2.1 边缘检测的基本概念

形态学上,图像的边缘即图像的轮廓,是前景和背景的交界处,色彩值或亮度值在此处会发生突变,突变的方向可以是任意方向,而这些突变点的集合就是图像的边缘。信号系统上,图像信号的低频成分是亮度值变化缓慢的地方,高频成分是亮度值变换迅速的地方,当频率超过一个阈值之后,则认为是边缘。从形态学到信号系统的转变,也就是从定性分析到定量分析的转变,这提供了边缘检测的一个思路,那就是求取梯度值。

2.2 常用的边缘检测方法

2.2.1 Roberts算子

Roberts算子具有X方向和Y方向的两个方向模板,分别为:

将方向模板与2x2像素“对应相乘相加”后可得

(2.1)

(2.2)

当前像素的梯度可以表示为:

(2.3)

梯度方向为:

(2.4)

Roberts算子是最简单也是最基础的的一种算子,通过对模板对角线的像素值作差来判断边缘[6],其优点是计算量小且能大致实现边缘定位功能但缺点是对噪声非常敏感。

2.2.2 Prewitt算子

Prewitt算子具有X方向和Y方向的3x3模板,分别为:

剩余内容已隐藏,请支付后下载全文,论文总字数:24402字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;