计算机软件及应用数字图像中SUSAN特征点检测算法实现_第1页
计算机软件及应用数字图像中SUSAN特征点检测算法实现_第2页
计算机软件及应用数字图像中SUSAN特征点检测算法实现_第3页
计算机软件及应用数字图像中SUSAN特征点检测算法实现_第4页
计算机软件及应用数字图像中SUSAN特征点检测算法实现_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要在图像理解、图像匹配、三维重建及模式识别等领域中,特征点的检测具有十分重要的意义。特征点在保留图像中物体的重要特征信息的同时有效地减少了信息的数据量,使得对图像处理时运算量大大减少。特征点的的定义有多种不同的表述,如图像中灰度值和像素剧烈变化的点、图像边界上具有较高曲率的点等。对于特征点的定义决定了特征点的特性,同时也决定了所检测出的特征点的检测所采用的方法。SUSAN(Smallest Univalue Segment Assimilating Nucleus)算法是上世纪九十年代中期提出的一种边角点检测算法,该算法是一种基于图像局部灰度特征,利用一个圆形的模板对图像进行扫描,比较模板

2、内部的点与模板中心点的灰度值,如果灰度差值小于一定的阈值,就认为该点与中心点的灰度相同,否则就认为该点与中心点有明显的差异。统计模板内部与中心点灰度相同的点的个数,与一个全局阈值进行比较,判断该点是否属于角点,从而实现对图像特征点的检测。本文采用matlab语言实现了SUSAN特征点监测并利用模拟图像和真实图像对算法进行了验证,实验表明SUSAN特征点检测算法能有效提取图像中的特征点。与传统的角点检测算法相比,SUSAN算法是一种基于图像灰度比较的算法,不涉及梯度的计算。具有速度快、抗干扰能力强等特点。关键字:SUSAN算法 边缘检测 角点检测 matlabAbstractIn image u

3、nderstanding,image matching,reconstruction, and pattern recognition, the feature point detection is of great significance.Feature points of objects while retaining the important features of the image information, while effectively reducing the amount of data information, making the image processing

4、operations is greatly reduced.Feature points, there are different definitions of expression, if the image has a gray value and dramatic changes in the point image pixel on the boundary of high curvature points.For the definition of the feature points of the feature points of the characteristics of t

5、he decision, but also determines the feature points detected in the detection method used. SUSAN(Smallest Univalue Segment Assimilating Nucleus) algorithm is the mid nineties of last century a corner detection algorithm, which is based on local gray level image features, using a circular template to

6、 scan the image, comparetemplate within the template center point and the gray value, if the gray level difference is less than a certain threshold, to that point and the center of the gray level of the same, otherwise the point that there are significant differences with the center.Statistics cente

7、r gray inside and the same template the number of dots, with a global threshold value for comparison to determine whether the corner point, enabling the detection of image features. In this paper, matlab language of the SUSAN feature point detection and the simulated images and real images validate

8、the algorithm, experiments show that SUSAN feature point detection algorithm can extract the image feature points.With the traditional corner detection algorithm in comparison, SUSAN algorithm is a comparison of the algorithm based on image gray, do not involve the calculation of gradient.High speed

9、, anti-interference ability and other characteristics. Keywords: SUSAN corner detection algorithm for edge detection matlab目 录1 绪论11.1研究目的11.2角点检测的意义11.3特征点检测研究现状2基于灰度图像的角点检测2基于二值图像的角点检测5基于轮廓曲线的角点检测缘61.4角点检测技术小结82 特征点检测的原理及方法102.1 SUSAN算法基本原理102.2 SUSAN算法的实现13读入图像132.2.2 SUSAN算法显示边缘图14检测的角点15显示角点172

10、.3算法的应用173 算法的评析213.1算法的改进213.2参数对角点的影响21去除真角点附近的伪角点21边缘轮廓上的伪角点处理233.3 Harris与SUSAN算法的比较253.3.1 Harris基本原理25实验分析变化273.4 Harris与SUSAN小结284 总结与展望304.1总结304.2展望30致谢31参考文献32附录341已修改 绪论1.1研究目的目前SUSAN特征点检测已经检测在许多领域中得到了广泛的应用,在三维场景重建、运动估计、目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。图像配准就是建立两幅图像之间的对应关系,确定相应几何变换参数,对两幅

11、图像中的一幅进行几何变换的过程。通常图像配准是先采用人工的方法,从两个图像上找出各自的对应点,然后,再进行配准参数的计算。利用SUSAN算子提取两幅图像的角点,通过粗匹配和细匹配两个步骤可得到匹配角点对。车辆行驶道路上的前方车辆检测是汽车辅助驾驶研究中的关键技术。目前,各个国家都在积极进行该领域的研究,提出了许多算法和实施手段,如基于立体视觉的车辆检测、基于激光雷达的车辆检测及基于神经网络训练的方法等。其中立体视觉法的缺点在于其计算量比较大,算法比较复杂。而且对双目摄像机进行 匹配和标定仍然是个技术难题;激光雷达深度信息探测准确,但探测范围小、获取信息不充足;神经网络训练方法具有较高的鲁棒性,

12、但选取训练样本数据和精确定位车辆位置比较困难。SUSAN检测算法在噪声图像上很容易获得精确的图像边缘。通过上面的分析我们可以看到,SUSAN特征点检测算法在许多领域中都起到了非常重要的作用,因此对SUSAN特征点检测算法的研究也就极为重要。1.2角点检测的意义角点目前为止还没有明确的数学定义。角点可以是两条线的交叉处,也可以是位于相邻的两个主要方向不同的事物上的点。角点的提取在图像匹配、轮廓提取、模式识别等方面具有重要意义。“角点”、“兴趣点”、“特征”在文献中的使用是相互间可替换的,这是个令人困惑的问题。角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征

13、的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。本文就是利用SUSAN算法来进行图像边缘及角点的提取。基于图像边缘的方法首先要对图像进行分割和边缘提取,其角点提取的准确性很大程 度上依赖于图像分割以及边缘提取的精度。基于图像灰度的方法主要考虑像素点邻域内的灰度变化,通过计算点的曲率以及梯度来提取角点,目前这种方法有着广泛的应用。本文采用基于图像灰度的SUSAN算法提取角点。1.3特征点检测研究现状目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。基于灰度图像的角点检

14、测又可分为基于梯度、基于模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮度的变化,将与邻点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有Kitchen-Rosenfeld角点检测算法、Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法。和其他角点检测算法相比,SUSAN角点检测算法具有算法简单、位置准确、抗噪声能力强等特点,在图像边缘提取。角点提取方面得到广泛的应用。基于灰度图像的角点检测 基于梯度的方法基于梯度的方法1是通过计算边缘的曲率来判断角点的存在性,角点计算数值的大小不仅与边缘强度有关,而且与边缘方向的变化率有关

15、,该方法对噪声比基于模板的角点检测方法对噪声更为敏感。L.Kchen和A.Rosedfeld2给出了具体的角点检测算子K,通过检测K在图像某一领域的极大值来达到提取角点的目的。该算子为 (1.1)它表现为水平面截线上某点的曲率与该点的最大梯度的乘积。但田原和梁德群等人3指出在最大梯度方向上并不是极大值点,而是呈现单调变化的,所以在某一个邻域内曲率和该点的最大梯度乘积的极大值并不会出现在角点上。因此通过计算基于梯度的算法来确定的角点是不合理的。 考虑到角点作为一种重要的信号特征,属于图像的细节,按照Witkin尺度空间理论,该角点应该在较大的尺度空间存在。基于小波多尺度分析的角点检测,通过提出不

16、同尺度上角点的对应关系准则由大尺度跟踪到小尺度上精确的角点位置。设定提取角点的最大尺度、梯度阈值和曲率值,对图像进行小波变换,得到各个尺度上的小波分量和,利用各个尺度上的小波分量在相应的尺度上提取角点,记录这些角点的位置,从最大的尺度k开始,按照前面所确定的原则寻找较小尺度上的对应角点,直到最小的尺度为止;清除最小尺度上与上一尺度不对应的点,得到最终角点结果。针对文献的错误,就对某一尺度上的角点检测算法,文献指出角点不仅是水平面截线上的曲率极值点,也是该点在最大梯度方向上其最大梯度的模达到极大值,是满足两个条件的点集的交集。 基于模板的方法基于模板的方法主要考虑像素邻域点的灰度变化,即图像亮度

17、的变化,将与邻点亮度对比足够大的点定义为角点。 较早的直接基于灰度图像角点检测是文献4提出的Kitchen-Rosenfeld算法,通过模板窗口局部梯度幅值和梯度方向的变换率来计算角点度量值 (1.2) 根据C与给定的阈值大小关系来判定该点是否是角点。Harris5等人检测方法考虑的是用一个高斯窗或矩形窗在图像上移动,由模板窗口取得原图像衍生2×2的局部结构矩阵, (1.3) 为窗口函数。对该模板矩阵求取特征值和,建立度量函数 (1.4) (1.5) (1.6)根据R是否大于0即可判断该点是否是角点。值得注意的是该方法具有旋转不变性,但检测的角点有较大的冗余,需要根据实际经验来确定R

18、的阈值。 被大多数人所熟悉的KLT6,7角点检测算法也是对基于一个计算窗口模板D×D下的图像计算局部结构矩阵,计算其特征值和,根据给定阈值按照式子来判定其是否为角点。这里的关键是阈值和窗口D的大小的确定,D的大小一般为210,太大的窗口会引起角点移动,窗口太小则会丢失相距较近的角点。近年来USAN或SUSAN角点检测算法得到越来越多的关注,最小亮度变化算法(MIC)8、同值分割吸收核(Univalue Segment Assimilating Nucleus,USAN)算法9都是基于像素邻域半径为k的圆形模板。该算法基于角点响应函数(CRF),对每个像素基于其模板邻域的图像灰度计算C

19、RF值,如果大于某一阈值且为局部极大值,则认为该点为角点,一般k取1或2。由算法的实现和相关结果可以看出,KLT算法比Harris算法检测角点的质量高,但KLT算法适用于角点数目不多且光源简单的情况,Harris适用于角点数目较多且光源复杂的情况。除了对单幅图像能进行角点检测以外,KLT算法和Harris算法对图像序列的角点检测效果更好。Kitchen-Rosenfeld算法和USAN算法一般来说不适合序列图像的角点跟踪,对于单幅图像的角点检测,USAN算法要比Kitchen-Rosenfeld算法好得多。但Harris算法的实现公式中有平滑部分,因此具有较强的鲁棒且对噪声也不太敏感。但在实际

20、计算过程中,圆形模板需要离散化,这就带来了较大的量化误差,容易导致边缘点和角点的判断混乱。对于边缘模糊的图像,使用小模板会丢失角点,这就需要动态地判断究竟用哪种模板最优。杨莉等人10针对此问题提出模糊度的概念,对每一个像素在计算其CRF值之前首先测定其模糊度。若达到模糊的标准,就使用大的模板来计算;若清晰,则选用小的模板来计算。这使得判定的准确性得到很大的提高,减少了虚报概率。 费旭东等人11采用基于知识的查表技术来进行角点的快速提取,其特点是便于用硬件来实现,但必须先得到图像的边界链码表示,原则上属于模板匹配。 一般来说,各种角点检测算子要与图像进行卷积运算,所以也应该属于模板类的方法。G

21、Giraudon等人12采用高斯拉普拉斯二阶微分算子来检测角点。采用高斯二阶微分函数与离散信号的卷积相当于高斯函数与信号的卷积再求二阶差分,因此对噪声的敏感度较大。陈燕新等人13基于神经细胞(Gauglion Cell,GC)感受野数学模型提出双高斯差(Difference Of Gaussian,DOG)模型来检测角点,指出高斯二阶微分函数是DOG函数在其两个高斯函数相互逼近时的一个极端形式特例。DOG函数与信号的卷积相当于两个高斯函数与信号的卷积结果之差,因此抗噪声的能力较强。 基于模板梯度组合的方法除了直接对灰度图像的像素操作以外,罗斌等人采用了变换的方法,用电磁场理论中矢势的鞍点检测来

22、代替角点的检测,是一种综合了模板角点检测和灰度曲率角点检测的方法。通过高斯模板和图像的卷积获得Canny边缘映射图,再计算梯度和边缘矢量就得到了矢势。对于矢势计算高斯曲率和平均曲率来判定是否是鞍点,对应的应该是图像的角点。因为涉及到了曲率的计算,也有人将该方法归到边缘曲线的角点检测。基于二值图像的角点检测刘文予等人提出一种基于形态骨架的角点检测方法,该方法将原始图像看多边形的角点一定在骨架的延长线上,且角点所对应的骨架点的最大圆盘半径应该趋于0,检测骨架中的最大圆盘为0的点,即为角点。应为在二值图像阶段处理,计算量不是很大,所以保证了计算的实时性。但是基于灰度图像的各种处理方法对此仍然有效。二

23、值图像处理于灰度边缘轮廓图像的中间步骤,所以专门针对此类图像的角点检测方法并不多见。基于轮廓曲线的角点检测缘这种类型的角点检测方法是通过计算轮廓曲线的曲率来检测角点是否存在,角点计算数值的大小与边缘强度K有关,该方法有三个步骤,即图像预分割、轮廓链码提取和角点检测。 计算角点强度k早在1975年,Rosenfeld A等人和Freeman H等人就提出通过计算角点强度k来提取角点,不过这种方法虽然简单,但容易受噪声干扰,效果不是很理想。为了将干扰去除,减少边缘毛刺干扰,Asada等人提出首先对边缘采用高斯平滑,即减少了将局部弯曲度突然增大而误判为角点的概率。但角点强度k是预先确定还是根据曲线的

24、弯曲度自适应调节,对于检测的结果影响很大。肖茜、鲁宏伟等人14指出自适应的弯曲度测定实际上是要自适应地确定曲线段支持区域的大小,支持区域的选择应该能够根据曲线的弯曲程度自适应地调整,在此支持区域上求取的曲线弯曲度才能较为准确地反映平面对象边界曲线的平滑和弯曲程度。Witkin A P.Scale等人15提出采用自适应弯曲度求取算法计算曲线上任意点所在位置的曲线弯曲度,将曲线边界点集中满足限定条件的点组成候选角点集合,增加平滑参数开始新的循环,直到达到预先设定的最大平滑因子为止,最后将所有候选角点集合中出现次数满足一定门限的边界点定义为角点。钟宝江等人16认为数字化曲线是离散的,是基于像素基础的

25、,这样隐含的一个假设就是数字化曲线上相邻两个像素之间的距离是一个常数,但在实际中该假设并不成立,因此质疑早先对角点的估计方法是否可拟合稳定。基于这个发现,文章提出了基于曲线累加弦长的角点检测方法,主要是在确定支持域时充分考虑相邻像素点之间的实际距离,即相邻的距离应该是1和2,并由此出发提出隐式精化数字化曲线的策略,推导出了一种新的角点强度计算公式。利用该公式可以对如尖角和圆角进行区别,检测结果具有旋转不变性。该方法被认为是在数字化图像处理中引入了纳米技术。 计算曲线曲率的极值对于曲线曲率的计算,一种是直接对离散的曲线进行计算,另一种是用某类函数对原始曲线分段拟合,然后根据拟合后的曲线分段方程,

26、计算曲线曲率极值得到角点的位置。 Langridge D J.Curve Encoding17使用了三次多项式来拟合离散的数据点,Mediono G等人18提出了B样条来拟合曲线,由于要事先实现计算曲线的拟合方程,其运算量比较大。邱卫国等人19提出算法根据曲线上任意点的弯曲度,结合模糊识别的方法来检测对象边界曲线的角点。而文献16认为既然角点是曲线上曲率较大的点,角点检测的关键是估计当前轮廓点前后曲线的方向,该方向的度量采用定义的一个方向差角: (1.7)差角越大,表示曲率越大。其中基于距离误差的直线拟合可以自适应地调整拟合窗口,很好地减少了边缘噪声的干扰。在中除了像乔宇等人20对角点两侧的点

27、构成向量的夹角继续关注以外,还对曲线角点的特征进行了多方位的考虑,同时引用模糊集合的概念,采用隶属度对点领域的四个特征进行描述。这四个特征分别为角点前后点组成的向量与角点的距离特征、角点前后向量夹角特征、角点的前向直线特征、角点的后向直线特征。采用隶属度描述后,对真实角点的相邻点有很强的抑制作用,检出的角点符合人类视觉感知规律。但该算法仅考虑了角点的局部特性,没有考虑全局特征,因此存在一定的漏检现象。在关注角点细节特征的同时,如何能有效地考虑全局整体特征,应该是该算法需要完善的地方。 多尺度角点检测滤波器的尺度选择并不是一件容易的事情,要求在滤掉噪声的同时保持边界曲线的基本形状特征。同时曲线上

28、各角点均有着不同尺度的支撑域,无法事先定义出一个最优的分辨率来进行角点检测。在使用多尺度分析后求取不同尺度的空间时,轮廓曲线已经被不同的小波函数所平滑,所以能最大限度地减少边缘毛刺噪声。 Witkin和Koenderink提出基于尺度空间的图像分析理论后,多尺度曲线分析成为解决该问题的主要方法,在曲线尺度空间中,随着曲线尺度由小变大,一直保持较高弯曲度的点必定是所要求取的角点。基于此,Anothai Rattarangsi等人21提出基于尺度空间的角点检测思想,王展等人22对采用二阶导数零交叉边缘检测算子和围线跟踪算法得到的边缘曲线,使用一组自相似二进Gabor小波变换的滤波器将整个频域从高频

29、到低频分为多个子带,对两个不同尺度下的滤波器输出求差并取模,根据结果即可判定该点是否是角点。 在上面的多尺度检测中,仅考虑了角点的位置信息,戚飞虎等人23提出在利用角点的位置信息时不能忽略有关角点的幅度信息。在选定小波为高斯函数的一阶导数后,对图像轮廓的Freeman链码,投影成函数, (1.8)进行小波变换,在不同的尺度上,角点的小波变换幅值始终是最大的,位置始终是不变的。如果有噪声,那么噪声的幅值只存在于有限的尺度空间上,结合幅值判据和位置判据就能够很好地确定角点,剔除伪角点,结果的准确性很高。同时结合不同的角点模型,还可以对角点是单角、双角、三角的属性作出判别。 1.4角点检测技术小结基

30、于实际应用需求,从角点检测的快速性、准确性、鲁棒性等要求出发,可以看出上面对各种角点检测算法的分析各有利弊。直接基于图像的角点检测基本上是全局搜索;基于边缘轮廓的角点检测数据量较少,可以采用多分辨分析并行处理,从灰度图像得到边缘轮廓曲线要经过两次以上的全局搜索,速度并不是很快,但对角点的误检和漏检要比直接基于图像的方法好得多。如果在得到轮廓曲线的过程中应用一些其他的变换方法,就计算的速度而言,下降不少,所以一般快速的、较准确的角点检测使用直接基于图像模板的方法完全可以满足需要,但如果对角点的完备性要求较高,那么使用基于轮廓线的多尺度分析方法应该给予考虑。2 已修改特征点检测的原理及方法2.1

31、SUSAN算法基本原理 SUSAN算法24是由SimthSM和BradyJM首先提出的一种低层次图像处理小核值相似区的方法SUSAN(Small Univalue Segment Assimilating Nucleus)即小核值相似区。该算法直接利用像素的灰度进行角点检测。而不考虑曲率等复杂的角点特征。SUSAN检测算子的基本原理是通过统计某一像素局部区域内与该像素等灰度值近似的的点的个数,实现角点检测。该算法一般利用一个37像素的圆形模板来实现的,如图2.1所示。图2.2中圆形模板e的圆心称为核心,假如模板中的某些像素的亮度与核心相同或相似,就定义这些像素组成的区域为USAN(核值相似区)

32、区域。图2.3显示出了不同位置的USAN区域面积大小。USAN区域包含了图像结构的以下信息:在a位置,核心点在角点上,USAN面积达到最小:在b位置,核心点在边缘线上时,USAN区域面积接近最大值的一半;在 c、d位置,核心点处于黑色矩形区域之内,USAN区域面积接近最大值。因此,可以根据USAN区的面积大小检测出角点。图2.1 已修改;包含37个像素的圆形模版图2.2 简单图像中的四个圆形模板边框edcba图2.3 不同位置USAN区域面积的大小具体检测时,是用圆形模板扫描整个图像,比较模板内每一像素与中心像素的灰度值。并给定阈值来判别该像素是否属于USAN区域,式2.1是SUSAN算法的原

33、始相似比较函数。式2.2是在实际应用中比较常用的相似比较函数 : (2.1) (2.2) 用于计算以每个像素点为核心的USAN区的像素个数;是模板中心像素(核)的灰度值;为模板内其他任意像素的灰度值;t是区分特征目标与的一个重要阈值,一般取25。图像中某一点USAN区域大小可由下式2.3表示: (2.3)式中,是以为圆心的模板。在得到每个像素的USAN区域后。再由下式2.4角点响应函数(Corner- Response Function,CRF )产生角点初始响应: (2.4)式中,g是抑制噪声的几何阈值 ,它决定了输出角点的USAN区域的最大值。同时它还决定了所检测到的角点的尖锐程度。g取得

34、越小,所检测到的角点越尖锐。用这种原理,取不同的几何门限,不但能检测角点还可以检测交点、边缘等特征。SUSAN算子计算简单,不需要用导数求边缘强度及方向梯度,增强了抗噪能力;且计算时间明显减少,易于硬件实现。然而SUSAN算法并不能完全消除孤立噪声点及由于模糊导致而致立体匹配误差率较高。SUSAN算法流程图如图2.4所示。图2.4 SUSAN算法流程图2.2 SUSAN算法的实现读入图像关闭所有窗口(程序运行产生的,不包括命令窗,editor窗和帮助窗),清除所有工作空间中的变量,读入图像并显示原始图像,相关的matlab代码如下: close all;clear all;读入图像并显示dat

35、a=imread('F:0.tif');figure(1);读入图像如图2.5所示。图2.5原始图 SUSAN算法显示边缘图构造半径为3个像素的圆型模板,遍历图像的每一个点。当像素位于模板内时,根据公式(10)求c 和n(n的最大值为37), (2.5) 其中,为掩模核在图像中的坐标,为掩模区域其它点的坐标。、分别为点和的灰度值。阈值决定了两个点相似的最大差异。C为输出的结果。掩模区域的USAN值可以由式(2.4)计算出,其中:为USAN中象素个数,它给出了USAN值。将与某固定阈值相比较,得到SUSAN算法对图像角点的响应函数(2.5):其中,(为的最大值),恰好是理想边缘的

36、USAN区大小,而对于实际有噪声影响的图像,边缘的USAN区一般都大于。并以n为基础创建一个新的窗口figure(2)并显示结果为图像的边缘,相关的matlab代码如下:imshow(data);data = double(data); img_var = zeros(size(data); t=12; for ii = 4:size(data,1)-3 for jj = 4:size(data,2)-3 n = 0; for i=-3:3 for j=-3:3 if abs(i)+abs(j)>4 else c = exp(-(data(ii+i,jj+j)-data(ii,jj)/t

37、)6); n = n + c; end end end img_var(ii,jj)=n; endend figure(2); imshow(uint8(img_var); g=max(img_var(:)*1/2;检测的角点调整参数细化边缘图像并调用非极大值函数检测出角点,相关matlab代码如下:img_var2 = zeros(size(img_var); for ii=4:size(data,1)-3 for jj = 4:size(data,2)-3 if img_var(ii,jj)<g r = g - img_var(ii,jj); else r = 0; end img_

38、var2(ii,jj)=r; endend figure(3);imshow(uint8(img_var2);im_mixmum = findMixmum(img_var2);子函数非极大值抑制函数相关matlab代码如下:function im_mixmum = findMixmum(im); r,c = size(im); im_mixmum = zeros(r,c); T = 13*mean2(im); for i = 3:r-2 for j = 3:c-2 matrixS = im(i-2:i+2,j-2:j+2); maxV = max(matrixS(:); pp = size(f

39、ind(matrixS = maxV);if im(i,j) = maxV & maxV > T & pp = 1;m_mixmum(i,j) = 1; end end end 显示角点获得角点的坐标后,在原图像上显示检测到的角点相应的matlab代码如下:corner_rr,corner_cc=find(im_mixmum);figure(1);hold on; plot(corner_cc,corner_rr,'gx');hold off;其中find函数表示找出矩阵中菲林防止的横坐标和纵坐标,使用plot函数在角点使用红色的“+”标示出角点的位置结果

40、如图2.6所示:图2.6 叠加了角点的原图角点用其他的颜色,如蓝色标示,绿色不明显;另外,这个图和2.5图大小不一样,在截图时大小要一致,不然感觉是两个图。2.3算法的应用为了更好地验证本文中所提出算法的有效性,利用复杂模拟图像和真实图像对算法进行了检测。输入模拟图像如图2.7所示:图2.7 输入的模拟图像提取了角点后的模拟图像如图2.8所示:图2.8 提取了角点的模拟图像角点用其他颜色标示。输入真实的楼房图像如图2.9所示:图2.9 楼房原始图提取了角点后的楼房图如2.10所示:图2.10 提取了角点后的楼房图像 因为各个图形的角点离其他图形很近,且在一张图内,各个角点相距较远,所以使用较大

41、的抑制窗口,如果两个真角点在同一个抑制窗口内就会有一个不剔除。实验结果表明本算法可以有效提取图像中好的角点,并使角点均匀的分布在图像上。3 算法的评析3.1算法的改进 本文通过在灰度图像上寻找SUSAN算子的极值提取特征点,使用matlab语言编程实现了SUSAN特征点检测算法,首先构造一个圆形模板遍历整个图像利用相似比较函数得出的结果与阈值t进行比,然后计算出USAN区域的大小n与阈值g比较得到角点的相应函数,与原来的SUSAN算法相比,为了得到正确的角点对检测出的角点群利用非极大值抑制函数(NMS)方法筛选出具有局部最大角点响应值的候选点,并把它们确认为最终的角点检测结果。NMS法的范围选

42、定在以被检测点为中心的方形邻域内,最大值抑制使伪角点大大减少。3.2参数对角点的影响在运用SUSAN研究发现,在使用基本SUSA算法提取角点时经常会提取到两种不相关的点,一种是真角点附近的点,另外一种是边缘轮廓上的点,这些点成为伪角点被一起提取出来。针对两种伪角点的产生原因分别提出两种简洁的方法进行处理,达到较好的效果。去除真角点附近的伪角点算法对图像进行处理时,很难对一些曲率较高的角点进行单像素精度的提取这是因为当进行USAN区域面积与门限值g的对比时,一些曲率较大的角点,其周围一些边缘点或内部点同样满足USAN面积小于g的条件因此,在角点提取时这些点同时被提取出来并成为伪角点。原则上可以令

43、g取较小的值而避免这些伪角点的出现,但这样同时造成对曲率较大的角点提取失败的结果。在SUSAN算法中,可以根据不同的情况,即根据图像边缘的形状,以及目标和背景的灰度对比度,选择合适的门限t和g。图3.1是当g取20时对一幅二值化图像进行角点提取的处理结果图,从图中可以看出在提取到真正角点的同时检测到大量的不相关点(定义其为伪角点)。图3.2是当g取16时对同一幅图像进行处理的结果图,可以看出棋盘的几个角点中出现漏检测现象。图3.3显示了当g取18时,能准确有效地检测到全部角点,并且避免了对边缘的一些不相关的点进行提取。图3.1 当g取20时角点检测结果图3.2 当g取16时的角点检测结果图3.

44、3 当g取18时角点检测的结果边缘轮廓上的伪角点处理有时候在提取角点时发现一些边缘上经常会产生大量的伪角点。这主要是因为圆形模板面积过小而导致阈值g的选取过于粗糙,而若对所有像素都采用大模板进行覆盖处理,则必将大大降低处理速度。因此,在进行一轮小的模板提取角点后,针对边缘上的伪角点进行第二轮的角点提取。主要算法思路是选取更大的模板(例如11×11的模板)对第一轮检测到的所有角点进行覆盖,同时选择合适的阈值g剔除不满足阈值要求的伪角点。图3.4为采用基本SUSAN算法进行角点提取后的示意图,可以看到边缘上产生了大量的伪角点。图3.5为采用大模板进行二次检测并剔除边缘 伪角点后的处理图。

45、仿真实验表明,经过二次SUSAN模板覆盖后能有效地删除边缘上的伪角点并提取到大部分清晰的角点。 图3.4 祛除边缘伪角前的角点提取示意图图3.5 剔除了大量边缘伪角点的后的提取示意图3.3 Harris与SUSAN算法的比较和SUSAN算法一样,Harris算法也是基于灰度图像特征点检测的算法suansan算法原理在第二章已论述过不再赘述,下面介绍Harris基本原理。 Harris基本原理Harris角点检测算法是由Chris Harris和MikeStephens 在1988年提出该算法是在Moravec算法的基础上发展起来的Moravec算法是研究图像中一个局部窗口在不同方向进行少量的偏

46、移后考察窗口内图像亮度值的平均变化需要考虑下面三种情况:(1) 如果窗口内区域图像的亮度值恒定那么所有不同方向的偏移几乎不发生变化。(2) 如果窗口跨越一条边那么沿着这条边的偏移。几乎不发生变化 但是与边垂直的偏移会发生很大的。(3) 如果窗口包含一个孤立的点或者角点那么所有不同方向的偏移会发生很大的变化。下面介绍Moravec算法以及Harris算法在其基础上做出的一些改进 (1)计算像素点的自相关值的时候只考虑了像素点的8个方向Harris等通过区域变化扩展将一些灰度强度变化比较小的体现出来 如式(11)所示: (3.1) 这里一阶导数可以近似为: (3.2)因此灰度强度变化比较小的情况可

47、以写成: (3.3)其中。 (3.4) (2)Moravec算法没有对图片进行降噪处理所以对噪声比较敏感Harris算法使用平移的圆形窗口对图像进行预处理来降噪这里使用了高斯窗口: (3.5)(3)Moravec算法对边缘响应比较敏感解决方法灰度变化比较小时可以精确写为,式中M为: (3.6)为了避免求M的特征值使用TrM和Det(M): (3.7)定义角点响应函数(CRF)为: (3.8)上式中角点响应函数R在角点的区域是正值在边界的区域是负值不变化的区域是很小的值在图像角点检测的过程中如果R值大于某个给定的阈值则这个点为角点。总体来说Harris算法是一种非常有效的角点检测算法优点主要表现

48、在以下两个方面:(1) 提取的角点比较稳定只要不是在大尺度状态下提取的角点Harris算法提取出来的角点是比较稳定的。(2) Harris 算法提取的角点比较均匀合理根据实验可以得出在纹理信息比较丰富的区域Harris算法可以提取出比较多的有用的角点而在纹理信息比较少的区域提取的角点则比较少。实验分析变化通过某计算机立体视觉系统分别获取模型汽车的单幅影像与立体影像对,在matlab7.8平台上编程实现对SUSAN、Harris算子的点特征提取,并采用基于匹配支持度的松弛匹配算法对立体影像对进行匹配比较。对于单幅影像,由于Harris算子点特征提取操作是通过确定图像中所能提取的最大可能的特征点数

49、目来选择值最大的若干象素点作为特征点,因此,当采用Harris算子提取同一目标物影像中的特征点时,可设置不同数目的来观察提取特征点的分布和数量。图3.6为设置分别为100、200,高斯模板方差为0.7时,提取出的特征点数目分别为61、134。(a)(b)图3.6 分别为100,200的特征提取结果(分别提取出61,134个特征点)从影像可以看出,随着的不同,提取出特征点的数量和分布在相应不断调整。在SUSAN算子特征提取中,包括掩模核与掩模区域中其它点灰度值最大差异的阈值,SUSAN算法对影像特征点响应的阈值,排除影像孤立噪声点干扰的阈值等多组阈值参数。相比之下,采用Harris算子提取影像中

50、的特征点,其阈值参数的选择就要简单的多,只需选择确定影像中所能提取的最大可能的特征点数目,并可以此作为调整特征点分布的参考。 当对大小为2400×1600象元的航空影像分别采用上述两种算子进行点特征提取时,整幅影像中SUSAN算子有些房屋角点未能提取出,而Harris算子提出了几乎所有角点特征。但SUSAN算子提取所用时间较Harris算子少近10倍。3.4 Harris与SUSAN小结 Harris算子是计算机视觉界使用较为广泛的一种点特征提取算子,SUSAN算子是国际上新近推出并已得到广泛应用的保持结构算子。与传统点特征算子比较,前者具有简单、稳定、易于实现的特点。由上述点特征提

51、取与随后的立体影像匹配结果分析可得出:利用Harris算子不需设置阈值,整个过程的自动化程度高,可以根据匹配结果,定量调整提取的特征点数。同时它抗干扰强、精度高。SUSAN算子提取特征点分布合理,较适合提取图像边缘上的拐点,由于它不需对图像求导数,所以也有较强的抗噪声能力,利用SUSAN算法提取图像拐点,阈值的选取是关键。它没有自适应算法,也不象Harris算法可根据需要提出一定数目的特征点。但该算法编程容易,易于硬件实现。为克服影像灰度值分布不均对提取SUSAN算子角点的影响,可对影像采取二值化(或多值化)分割,以进一步改进提取效果。4 总结与展望4.1总结 随着互联网的发展,人们对图形视频

52、的需求与来越大,图像中角点包含了大量的信息,所以对图像中角点的提取也就日益重要。本文介绍的SUSAN角点检测算法运算简单,无需梯度运算,具有积分特性(在一个模板内计算SUSAN面积),这样既保证了算法的效率也使得SUSAN算法在抗噪和方面有了较大的改进。本文用matlab语言实现了SUSAN角点算法,并着重分析了基本的SUSA算法在提取角点时出现多余的伪角点,并讨论了真角点附近及边缘轮廓上的伪角点的处理方法。经实验证明,采用改进的算法后,角点提取精度有较明显的提高。对各种类型的角点都能能获得较好的结果。但是SUSAN角点检测存在不足有:采用固定阈值不适合一般的情况,需要只有阈值g自适应,阈值t

53、只能手动修改图像中的噪声对所提取的特征有较大影响,实验表明此算法可靠性稍差。4.2展望角点检测算法的设计与实现涉及多方面的理论、方法和技术,本算法还有许多新的问题需要解决,需要在实际应用中不断的积累和完善,在以下几个方面还需要做进一步的完善和开发: 能智能选取阈值t及检测模版的大小,减少参数输入的个数。 能判断角点的好坏,去除大量无用的伪角点。有效的减少噪点。能在复杂的图像中有效剔除噪点。致谢SUSAN算法是图像处理方面的热门话题,老师的谆谆诱导、同学的出谋划策及家长的支持鼓励,是我坚持完成论文的动力源泉。刘老师在我大学的最后学习阶段毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、

54、修改,到论文定稿,她给了我耐心的指导和无私的帮助。为了指导我们的毕业论文,她放弃了自己的休息时间,她的这种无私奉献的敬业精神令人钦佩,在此我向她表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意。 通过这一阶段的努力,我的毕业论文“数字图像中SUSAN特征点检测算法实现”终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅。在本论文的写作过程中,我的导师刘老师倾注了大量的心血,一遍又一遍地指出每稿中的具体问题,

55、严格把关,循循善诱,在此我再次表示衷心感谢。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的生活的开始。我将铭记我曾是一名理工学子,在今后的工作中把理工的优良传统发扬光大。感谢各位专家的批评指导。参考文献1R eriche,G. A Giraudon. Computational Approach for Corner andVertexDetectionJ.Computer Vision,1993,10(2):101-124 .2L Kitchen,A Rosenfeld.Gray.Level Corner DetectionJ.Pattern Recognitio Letters,1982,3 (1):95-102.3田原,梁德群,吴更石.直接基于灰度图像的多尺度角点检测方法J信号处理,1998,14(7-11):6-9.4L Kitchen,A Rosenfeld.Analysis of Gray Level CornerDetectionJ.Pa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论