基于边缘检测法的运动目标的提取毕业设计论文.docx
- 文档编号:23685187
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:66
- 大小:1.15MB
基于边缘检测法的运动目标的提取毕业设计论文.docx
《基于边缘检测法的运动目标的提取毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于边缘检测法的运动目标的提取毕业设计论文.docx(66页珍藏版)》请在冰豆网上搜索。
基于边缘检测法的运动目标的提取毕业设计论文
LANZHOUUNIVERSITYOFTECHNOLOGY
毕业论文
题目基于边缘检测法的运动目标的提取
基于边缘检测法的运动目标的提取
Edgedetectionmethodbasedonthemovingobjectextraction
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
摘要
在智能视频监控、运动分析应用中,一个基础而又关键的任务是从视频序列中实时地检测和提取出运动目标,以便于对运动目标进行检测和跟踪。
当前边缘检测技术应用广泛、发展非常迅速。
它是图像处理的一项重要内容,在模式识别、图像理解、人工智能等领域发挥着重要作用。
本论文是基于边缘检测法的运动目标的提取。
运动目标的提取分为,图像采集、图像灰度化、图像滤波、图像边缘检测几个主要步骤。
本文先介绍了图像处理及边缘检测的一些基本内容,然后完成整体流程,通过理论分析从Roberts算子,Sobel算子,LoG算子,Canny算子四种典型的边缘检测算法选择最佳算法Canny算法,通过Matlab编程仿真对调用各算子函数算法进行实现,最终完成边缘检测及运动目标的提取。
关键词:
Canny算子;边缘检测;两帧差分;运动目标提取
Abstract
Intheapplicationsofintelligentvideosurveillanceandmotionanalysis,abasicbutcrucialtaskinrealtimefromvideosequencesistodetectandextractthemovingtargets,sothattodetectandtrackthemovingtarget.Thecurrentedgedetectiontechniqueiswidelyused,andisdevelopingveryrapidly.Itisanimportantcontentofimageprocessing,inareassuchofpatternrecognition,imageunderstanding,artificialintelligenceandotherareasplaysanimportantrole.
Edgedetectionofthemovingobjectextractionisstudiedinthispaper.Theextractionofmovingtargetsaredividedinto,imageacquisition,imagegradation,imagefiltering,imageedgedetection.Thisarticlefirstintroducedtheimageprocessionandedgedetectionwithsomebasiccontent,andthenthroughtheoreticalanalysisfromRobertsoperator,Sobeloperator,LoGoperator,CannyoperatorfourtypicaledgedetectionalgorithmtoselectsthebestalgorithmCannyalgorithm.ThroughMatlabsimulationoftheoperaterfunctionalgorithmimplementation,thegoalofedgedetectionandmovingobjectextractionhasbeenachieved.
Keywords:
Cannyoperator;Edgedetection;Twodifferencemethod;Movingobjectextraction
第1章绪论
图像是一种重要的信息源,图像处理的最终目的就是要帮助人类理解信息的内涵。
数字图像处理技术的研究内容涉及光学系统、微电子技术、计算机科学、数学分析等领域,是一门综合性很强的边缘学科。
随着计算机技术的迅猛发展,图像处理技术已经广泛应用于各个领域。
近30年来该技术取得了令人瞩目的成就[1]。
数字图像边缘检测技术起源于20世纪20年代,当时受条件的限制一直没有取得较大进展,直到20世纪60年代后期电子技术、计算机技术有了相当的发展,数字图像边缘检测处理技术才开始进入了高速发展时期。
经过几十年的发展,数字图像边缘检测处理技术目前己经广泛应用于工业、微生物领域、医学、航空航天以及国防等许多重要领域,多年来一直得到世界各科技强国的广泛关注[2]。
数字图像边缘检测处理技术在最近的10年发展尤为迅速,每年均有数以百计的新算法诞生,其中包括canny算法、小波变换等多种有相当影响的算法,这些算法在设计时大量运用数学、数字信号处理、信息论以及色度学的有关知识,而且不少新算法还充分吸取了神经网络、遗传算法、人工智能以及模糊逻辑等相关理论的一些思想,开阔了进行数字图像边缘检测处理的设计思路[2]。
数字图像边缘检测处理,即用计算机对图像的边缘进行处理,这一技术是随着计算机技术发展而开拓出来的一个新的应用领域,汇聚了光学、电子学、数学、摄影技术、计算机技术等学科的众多方面。
图像边缘检测处理作为一门学科已经被美国数学学会列为应用数学的一个研究分支。
在其短暂的发展历史中,已经被成功的应用在几乎所有与成像有关的领域。
近年来,图像分析和处理紧紧围绕理论、实现、应用三方面迅速发展起来。
它以众多的学科领域为理论基础,其成果又渗透到众多的学科中,成为理论实践并重,在高新技术领域中占有重要地位的新兴学科分支。
边缘检测是一个基本的工具用于大多数图像处理应用程序获得信息从帧作为前体的一步特征提取和对象分割。
这过程检测对象的轮廓和边界对象和背景之间的图像。
一个边缘检测滤波器也可以用来改善出现模糊或反锯齿的视频流。
基本的边缘检测算子是一个矩阵的面积梯度运算,以确定不同的像素之间的方差水平。
的边缘检测算子来计算所选择的像素为中心的矩阵区域的中心的形成的矩阵。
如果矩阵区域的值,这是一个给定的阈值以上,则中间的像素被分类为边缘。
基于梯度的边缘探测器是Roberts,Prewitt和Sobel算子的例子。
所有的基于梯度的算法的计算强度正交给对方,常用的垂直和水平方向的斜率。
斜坡的不同组成部分的贡献相结合,得到的边缘强度的总价值[3]。
随着科技的发展,许多高新知识都已经在图像处理上得到了广泛应用,并取得了较好的效果,但是,一些经典的图像处理方法仍然有其生命力,实际应用中还是离不开一些基本的技术。
Matlab是一种向量语言,它非常适合于进行图像处理。
而边缘检测是图像处理中基础且重要的课题,图像分析和理解的第一步常常是边缘检测[4]。
当前边缘检测技术应用广泛、发展非常迅速。
它是图像处理的一项重要内容,在模式识别、图像理解、人工智能等领域发挥着重要作用。
传统的边缘检测算法面临着许多难以克服的问题,同时由于图像本身的复杂性和边缘检测技术发展所遇到的难题,边缘检测本身也是一个难题。
然而,至今发表的有关边缘检测的理论和方法尚存在许多不足之处,比如在检测精度和去噪方面很难达到令人满意的效果。
本论文主要包括两部分,第一部分是基础部分,包括前两章内容,主要介绍了基础概念和基本特性,以及Matlab在本课题中的应用;第二部分是课题研究部分,包括第三章和第四章,主要介绍基本理论和方法在Matlab中的仿真和结果分析。
基础部分中,第一章是绪论,绪论部分主要介绍研究背景、研究目的和意义以及研究现状。
第二章是图像边缘检测的概述、边缘检测的原理以及算法,其中会介绍到Robert算子、Sobel算子、Prewitt算子、拉普拉斯(Laplacian)算子、Canny算子、拉普拉斯高斯(LOG)算子等等。
主要是Matlab在图像处理中的应用简单介绍。
课题研究部分,第三章是依照课题所需进行算法选择和基本流程确定,然后按照流程进行编程。
最后一章是仿真程序及结果分析,总结课题研究。
第2章边缘检测概述及各算子介绍
2.1边缘检测概述
边缘检测是图像处理和计算机视觉中的术语,尤其在特征检测和特征抽取领域,是一种用来识别数字图像亮度骤变点即不连续点的算法。
尽管在任何关于分割的讨论中,点和线检测都是很重要的,但是边缘检测对于灰度级间断的检测是最为普遍的检测方法[5]。
虽然某些文献提过理想的边缘检测步骤,但自然界图像的边缘并不总是理想的阶梯边缘。
相反,它们通常受到一个或多个下面所列因素的影响:
1.有限场景深度带来的聚焦模糊;2.非零半径光源产生的阴影带来的半影模糊;3.光滑物体边缘的阴影;4.物体边缘附近的局部镜面反射或者漫反射。
一个典型的边界可能是(例如)一块红色和一块黄色之间的边界;与之相反的是边线,可能是在另外一种不变的背景上的少数不同颜色的点。
在边线的每一边都有一个边缘。
图像的边缘是指图像局部区域亮度变化显著的部分。
该区域的灰度剖面一般可以看做一个阶跃,即从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。
图像的边缘部分集中了图像的大部分信息,图像的边缘的确定与提取对于整个图像场景的识别与理解是非常重要的同时也是图像分割所依赖的重要特性。
边缘检测主要是图像的灰度变化的度量、检测和定位。
边缘:
不同区域的分界线,是图像局部灰度变化最显著的那些像素的集合。
边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。
边缘检测原理:
边缘检测是根据数字图像中的突变信息检测图像的边缘灰度的不连续性,找出两种景物的分界线。
根据灰度变化的特点,可分为阶跃型、屋顶型、和凸缘型,如图2.1所示。
阶跃型凸缘型屋顶型
图2.1边缘灰度变化
利用边缘检测来分割图像,其基本思想就是先检测图像中的边缘点,再按照某种策略将边沿点连接长轮廓,从而构成分割区域。
由于边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开,因此边缘检测技术对于数字图像十分重要[6]。
图像中某物体边界上的像素点,其领域将是一个灰度级变化带。
衡量这种变化最有效的两个特征就是灰度的变化率和变化方向,它们分别以梯度向量的幅值和方向来表示。
对于连续图像f(x,y),其方向导数在边缘(法线)方向上有局部最大值。
因此,边缘检测就是求f(x,y)梯度的局部最大值和方向。
最早的边缘检测方法都是基于像素的数值导数的,在数字图像中应用差分代替导数运算。
由于边缘是图像上灰度变化比较剧烈的地方,在灰度变化突变处进行微分,将产生高值,因此在数学上可用灰度的导数来表示变化。
边缘检测是先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。
但是由于噪声和图像模糊,检测到的边界可能会有间断的情况发生。
所以边缘检测包含以下两项内容:
(1)用边缘算子提取边缘点集。
(2)在边缘点集合中饭去除某些边缘点,填充一些边缘点,将得到的边缘点集连接为线。
要做好边缘检测初步准备条件如下:
第一,清楚待检测的图像特性变化的形式,从而使用适应这种变化的检测方法。
第二,要知道特性变化总是发生在一定的空间范围内,不能期望用一种检测算子就能最佳检测出发生在图像上的所有特性变化。
当需要提取多空间范围内的变化特性时,要考虑多算子的综合应用。
第三,要考虑噪声的影响,其中一个办法就是滤除噪声,这有一定的局限性;再就是考虑信号加噪声的条件检测,利用统计信号分析,或通过对图像区域的建模,而进一步使检测参数化。
第四,可以考虑各种方法的组合,如先找出边缘,然后在其局部利用函数近似,通过内插等获得高精度定位。
第五,在正确检测边缘的基础上,要考虑精确定位的问题。
经典的边缘检测方法得到的往往是断续的、不完整的结构信息,噪声也较为敏感,为了有效抑制噪声,一般都首先对原图像进行平滑,再进行边缘检测就能成功地检测到真正的边缘。
从人的直观感受来说,边缘对应于物体的几何边界。
图像上灰度变化剧烈的区域比较符合这个要求,我们一般会以这个特征来提取图像的边缘。
但在遇到包含纹理的图像上,这有点问题,比如说,图像中的人穿了黑白格子的衣服,我们往往不希望提取出来的边缘包括衣服上的方格。
这就又涉及到纹理图像的处理等方法。
但一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是用高通滤波器,即保留高频信号。
用于图像识别的边缘提取往往需要输出的边缘是二值图像,即只有黑白两个灰度的图像,其中一个灰度代表边缘,另一个代表背景。
此外,还需要把边缘细化成只有一个像素的宽度。
图像边缘检测的基本步骤[7]如下:
(1)滤波。
边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。
需要指出的是大多数滤波器在降低噪声的同时也导致了边缘强度的损失。
因此增强边缘和降低噪声之间需要折中。
边缘检测主要基于导数计算,但受噪声影响。
而滤波器在降低噪声的同时也导致边缘强度的损失。
(2)增强。
增强边缘的基础是确定图像各点领域强度的变化值。
增强算法可以将领域(或局部)强度值有显著变化的点突显出来。
边缘增强一般是通过计算梯度幅值来完成的。
增强算法将领域中灰度有显著变化的点突出显示。
一般通过计算梯度幅值完成。
(3)检测。
在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。
最简单的边缘检测判据是梯度幅值阈值判据。
但在有些图像中梯度幅值较大的并不是边缘点。
最简单的边缘检测是梯度幅值阈值判定。
(4)定位。
如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。
如图2.2所示:
图梯度算子
像边缘增强
滤
波边缘检测
边缘定位
图2.2边缘检测算法的基本步骤
2.2边缘检测算子
边缘检测算子是利用图像边缘的突变性质来检测边缘的。
它主要分为以下几种类型:
一种是以一阶导数为基础的边缘检测算子,在算法实现过程中,通过2×2或3×3模板作为核与图像中的每个像素点做卷积和运算,然后提取合适的阈值以提取边缘,如Roberts算子,sobel算子,Prewitt算子;一种是以二阶导数为基础的边缘检测算子,通过寻求二阶导数中的过零点来检测边缘,如Laplacian算子;Canny算子是另外一类边缘检测算子,它不是通过微分算子实现边缘检测,而是在一定约束下推导出的最优边缘检测算子[8]。
2.2.1微分算子
1.Roberts算子
Roberts算子是一种利用局部差分算子寻找边缘的算子,它由下式给出:
(2-1)
Roberts算子是2×2算子模板,对具有灰度变化陡峭的低噪声图像响应最好,并且对边缘的定位准确,但由于2×2大小模板没有清楚地中心点所以很难使用。
用卷积模板,上式(2-2)变成:
(2-2)
其中
和
由下面图2.3的模板计算:
图2.3Roberts算子的卷积模板
2.Sobel算子和Prewitt算子
在比较复杂的图像中,仅用2*2的Robert算子得不到较好的边缘检测,而相对较复杂的3*3的Prewitt算子和Sobel算子检测效果好Sobel算子是一种一阶微分算子,它利用像素邻近区域的梯度值来计算1个像素的梯度,然后根据一定的阈值来取舍[8]。
它由(2-3)式给出:
(2-3)
其中的偏导数用下(2-4)、(2-5)式计算:
(2-4)
(2-5)
其中常数
。
和其他的梯度算子一样,
和
可用图2.4中卷积模板[8]来表示:
图2.4Sobel算子的卷积模板
图像中的每个点都用这两个模板做卷积。
一个模板对通常的垂直边缘影响最大,而另一个对水平边缘影响最大。
两个卷积的最大值作为该点的输出值。
运算结果是一幅边缘幅度图像。
Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。
一般来说,距离越大,产生的影响越小。
此算子对灰度渐变噪声较多的图像处理得较好。
2.2.2高斯拉普拉斯算子(LaplacianofaGaussian,LoG)
利用图像强度二阶导数的零交叉点来求边缘点的算法很容易受到噪声干扰,所以在边缘检测前滤除噪声是十分必要的。
为此,Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(LaplacianofGaussian,LoG)算法,也称之为拉普拉斯高斯算法[9]。
他的基本特征有:
(1)平滑滤波器是高斯滤波器;
(2)增强步骤采用二阶导数(二维拉普拉斯函数);
(3)边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值;
(4)使用线性内插方法在子象素分辨率水平上估计边缘的位置。
LoG算子的输出
是通过式(2-6)卷积运算得到的:
(2-6)
又根据卷积求导法可得式(2-7):
(2-7)
其中:
(2-8)
是方差,
,
分别是图像的横坐标和纵坐标。
常用的LoG算子是5×5的模板[9],如下图2.5所示:
图2.5拉普拉斯算子卷积模板
模板中各点到中心点的距离与位置加权系数的关系用曲线很像一顶墨西哥草如图2.6所示,所以人们常把LoG滤波器叫做墨西哥草帽滤波器[9]。
图2.6LOG到中心点的距离与位置加权系数的关系曲线
由于图像的平滑会引起边缘的模糊。
LOG算法中的高斯平滑运算会导致图像中边缘和其他尖锐不连续部分的模糊。
值越大,噪声滤波效果越好,但同时会丢失一些重要的边缘信息;
值小时又会平滑不完全而留有太多噪声。
即大
值的滤波器产生鲁棒边缘,小
值的滤波器产生精确定位的边缘。
只有当两者结合的很好时才能较好地检测出图像的最佳边缘。
基于高斯拉普拉斯算子的图像边缘检测过程如图2.7所示。
图2.7基于高斯拉普拉斯算子的图像边缘检测过程
2.2.3Canny算子
传统的边缘检测算子:
Sobel算子,Prewitt算子,Roberts算子,Krich算子等,大部分处理的效果都不很好,在实际处理中不太实用,而Canny算子检测的性能较好,常被作为其他实验的标准来参考。
Canny算子是JohnCanny在1986年发表的论文中首次提出的一种边缘检测算法,当时弥补了其他算法的不太好的缺点,因此Canny算子被认为是边缘检测领域较好的算法,并一直被引用,近几年来,随着研究的深入,性能更加完善的改性型的Canny算子也层出不穷,例如自适应Canny算子等。
用一句话说,就是希望在提高对景物边缘的敏感性的同时,可以抑制噪声的方法才是好的边缘提取方法[9]。
Canny算子检测边缘的实质是求信号函数的极大值问题来判定图像边缘像素点。
Canny算子三大准则[10]:
好的检测性能:
检测出的边缘信息的漏检率最小,误检率最小,评判参数信噪比SNR越大越好[11],
(2-9)
其中G(-x)表示图像边函数,f(x)滤波器函数,
表示噪声的均方差。
高的定位精度:
Location越大越好,
(2-10)
边缘响应次数最少:
要保证只有一个像素响应,检测算子的脉冲响应导数的零交叉点平均距离D(f)满足式:
(2-11)
最后通过以下式得出算子的近似实现:
边缘点位于图像被高斯平滑后的梯度值的极大值点。
(2-12)
这里用下图的流程图来简单表示Canny算法过程:
图2.8Canny算法过程
Canny算法详细过程:
高斯函数:
(2-13)
n表示高斯滤波器窗口大小
偏导数:
使用微分算子求出偏导数
(2-14)
梯度大小
(2-15)
非极大值抑制:
沿幅角方向检测模值的极大值点,即边缘点,如图1.9和图1.10所示。
遍历8个方向图像像素,把每个像素偏导值与相邻像素的模值比较,取其MAX值为边缘点,置像素灰度值为0。
图2.9边缘方向示意图图2.10邻域幅角方向
双阈值检测[12]:
由于单阈值处理时,合适的阈值选择较困难,常常需要采用反复试验,因此采用双阈值检测算法。
对经过非极大值抑制后的图像作用两个阈值th1,th2,th1=0.4th2,两个阈值作用后得到两个图像a、b,较大阈值检测出的图像b去除了大部分噪声,但是也损失了有用的边缘信息。
较小阈值检测得到的图像a则保留着较多的边缘信息,以此为基础,补充图像b中的丢失的信息,连接图像边缘[13]。
Canny边缘检测基本原理:
(1)具有既能滤去噪声又保持边缘特性的边缘检测最优滤波器,其采用一阶微分滤波器。
采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。
根据对信噪比与定位乘积进行测度,得到最优化逼近算子。
这就是Canny边缘检测算子[14]。
(2)类似与Marr(LOG)边缘检测方法,也属于先平滑后求导数的方法。
Canny边缘检测算法:
step1:
用高斯滤波器平滑图象;
step2:
用一阶偏导的有限差分来计算梯度的幅值和方向;
step3:
对梯度幅值进行非极大值抑制;
step4:
用双阈值算法检测和连接边缘。
第3章基于边缘检测的运动目标提取算法选择及实现
3.1应用软件介绍
能够进行图像处理的软件很多,其中就有Matlab。
针对不同的图像处理算法,因此用户最好还是根据对某个图像处理软件或高级程序语言的掌握程度来编写自己的图像处理程序。
Matlab是一个交互式的系统其基本运算单元是不需要制定维数的矩阵,并按照IEEE数值计算标准进行计算。
系统本身提供了大量的矩阵及其他运算函数,可以方便地进行很复杂的计算,且运算效率极高。
而且,Matlab命令与数学中的符号、公式非常接近,可读性很强,容易掌握,并可利用它所提供的高级编程语言进行编程,完场特定的工作[14]。
此外,Matlab还具备图形用户界面(GUI)工具,允许用户把Matlab当做一个应用开发工具来使用。
除基本部分外,Matlab还根据各专门领域中的特殊需要提供了许多可选的工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 边缘 检测 运动 目标 提取 毕业设计 论文