角点检测算法综述
- 格式:doc
- 大小:90.50 KB
- 文档页数:5
一种自适应阈值的角点检测算法摘要针对SUSAN算子只采用固定阈值和定位不够精确的问题,本文利用角点像素与其所在的角之间具有连通性的特点,给出了一种角点精确定位的改进方法,并采用了自适应阈值,在图像中每个像素的 SUSAN 模板内单独计算阈值 t,使其在各种不同的对比度下仍能正确提取出角点。
实验结果证明了该方法的有效性。
关键词 SUSAN 算法;角点提取;自适应阈值;图像连通性1 引言角点是图像上曲率足够高、并且位于图像中不同亮度区域交界处的点。
由于角点包含了很多的图像中的信息,因此,角点在图像匹配、运动物体的跟踪以及目标识别等方面有着广泛的应用。
如何快速准确的提取出图像中的角点成为了一个关键的问题。
SUSAN算法是由英国牛津大学的Brady首先提出的,它是一种直接利用图像灰度有效地进行边缘、角点检测的低层次图像处理算法。
它具有方法简单,抗噪能力强和处理速度快等特点。
本文首先介绍SUSAN角点提取的原理,然后分析了该算法的缺点,提出SUSAN模板中自适应阈值的选取的方法,并利用角点像素与其所在的角之间具有连通性的特点,给出了一种角点精确定位的改进方法。
2 SUSAN算法的基本原理[1]图1显示了一个在白色背景下的黑色的长方形,图中a,b,c,d,e五个位置分别是五个圆形的模板在图像中不同的位置,窗口的中心被称之为“核”。
窗口中所有具有与核相同或相似灰度的像素,把这些像素构成的区域称为USAN ( Univalue Segment Assimilating Nucleus)。
由图1可以看出,当核像素处在图像中的灰度一致区域时,USAN的面积会达到最大(超过一半),当核处在直边缘处约为最大值的一半,当核处在角点处更小,约为最大值的四分之一。
因此,利用USAN面积的上述变化性质可检测边缘或角点。
图1 SUSAN模板在图像中的几种位置本文所使用的是一个包含37个像素的圆形模板,半径为3.4个像素,如图2。
0 引言图像特征点是一幅图像中比较典型的特征标志之一,它含有显著的结构性信息。
一般为图像中的线条、交叉点、边界封闭区域的重心或者曲面的高点等。
图像特征点检测的方法是对一幅图像进行描述的必要手段。
在图像匹配、目标检测与识别等图像处理与分析应用中都是关键重要的步骤。
本文对图像匹配中采用的特征点以及提取方法进行深入研究探讨,分析比较几种成熟的特征点检测方法和一些新的特征点提取方法,对这些特征点的基本特点、改进方法、性能优缺点进行详尽分析。
1 特征点检测图像中存在明显表现图像特征的特征点 (角点或关键点),图像匹配通常利用特征点来估计图像之间的变换, 而不是利用图像全部的信息。
特征点的检测方法很多,本文对图像拼接中常用的重要特征点进行分析比较。
1.1 Harris角点检测Harris角点检测是一种基于图像灰度的一阶导数矩阵检测方法。
检测器的主要思想是局部自相似性/自相关性,即在某个局部窗口内图像块与在各个方向微小移动后的窗口内图像块的相似性。
虽然Harris角点检测算子具有部分图像灰度变化的不变性和旋转不变性,但它不具有尺度不变性。
但是尺度不变性对图像特征来说至关重要。
2001年Mikolajczyk等人把Harris-Laplace和Hessian-Laplace 结合在一起[2],创造出了一种鲁棒的、尺度不变、重复检测率很高的检测算子,弥补了Harris算子在尺度不变性上的不足。
1.2 SIFT (Scale Invariant Feature Transform)特征点检测1999年Lowe首次提出了SIFT算法特征点检测,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有良好的不变性和很强的匹配能力。
2004年,Lowe提高了高效的尺度不变特征变换算法(SIFT)[3],利用原始图像与高斯核的卷积来建立尺度空间,并在高斯差分空间金字塔上提取出尺度不变性的特征点。
该算法具有一定的仿射不变性,视角不变性,旋转不变性和光照不变性,所以在图像特征提高方面得到了最广泛的应用。
棋盘角点检测算法棋盘角点检测算法,也称为棋盘格标定算法,是计算机视觉中常用的一种图像处理算法。
在机器视觉应用中,棋盘角点检测可以用于相机标定、三维重建、姿态估计等任务。
本文将详细介绍棋盘角点检测算法的原理、流程和一些改进方法。
一、原理二、流程1.图像预处理:先将彩色图像转换为灰度图像,然后进行高斯滤波或其他滤波操作,以去除图像中的噪声和干扰。
2. 边缘检测:使用边缘检测算法(如Canny边缘检测)来提取图像中的边缘。
这些边缘通常是由棋盘格的线条组成的。
3.直线检测:通过霍夫变换等方法,检测出图像中的直线。
这些直线通常是由边缘检测得到的边缘组成的。
4.直线交点检测:对于每一对相互垂直的直线,计算它们的交点坐标。
这些交点就是棋盘格的角点。
5.角点筛选:根据棋盘格的特点,筛选出合理的角点坐标。
比如,可以使用基于像素距离的阈值,去除过近或过远的角点。
6.角点亚像素精确定位:通过图像插值等方法,对角点进行亚像素级别的精确定位,以提高角点的精度。
7.角点输出:将角点的坐标输出,可以用于后续的计算和应用。
三、改进方法除了上述基本流程,还可以使用一些改进方法来提高棋盘角点检测算法的准确性和鲁棒性。
下面介绍几种常用的改进方法:1.非极大值抑制:在直线检测时,使用非极大值抑制来减少直线的数量,从而减小计算复杂度。
2.子像素角点检测:通过图像插值等方法,对角点进行亚像素级别的定位,提高角点坐标的精度。
3.自适应阈值:根据图像的亮度和对比度等特征,自适应地调整阈值,以适应不同的图像特点。
4.形态学操作:对图像进行形态学操作,如膨胀和腐蚀,可以增强角点的检测结果。
5.模板匹配:使用模板匹配方法,将棋盘格模板与图像进行匹配,可以提高角点检测的准确性。
以上是常见的一些棋盘角点检测算法及其改进方法的介绍。
随着计算机视觉技术的不断发展,棋盘角点检测算法在实际应用中的性能和精度还有进一步提高的空间。
slam特征点SLAM特征点SLAM(Simultaneous Localization and Mapping)是一种在未知环境中同时进行定位和建图的技术。
在SLAM中,特征点是非常重要的一部分,它们被用来描述环境中的关键信息,帮助机器人进行定位和建图。
本文将介绍SLAM特征点的定义、提取方法以及在SLAM中的应用。
一、特征点的定义特征点,又称为关键点,是图像中具有显著性、可重复性和独特性的点。
它们通常在不同图像中具有相似的外观和特征,可以被用来进行匹配和跟踪。
在SLAM中,特征点被用来构建地图和进行机器人的定位。
二、特征点的提取方法1. 角点检测:角点是图像中具有尖锐变化的点,通常位于物体的边缘或转角处。
常用的角点检测算法有Harris角点检测和Shi-Tomasi角点检测。
2. 边缘检测:边缘是图像中灰度变化较大的区域,通常可以通过计算梯度来检测。
常用的边缘检测算法有Sobel算子和Canny边缘检测。
3. 斑点检测:斑点是图像中具有一定纹理的区域,通常可以通过计算图像的局部方差来检测。
常用的斑点检测算法有Harris-Laplace 和Hessian-Laplace。
4. SIFT特征:尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)是一种在不同尺度和旋转下具有不变性的特征描述子。
SIFT特征点可以通过检测图像中的极值点来提取。
5. SURF特征:加速稳健特征(Speeded Up Robust Features,SURF)是一种快速计算的特征描述子。
SURF特征点可以通过检测图像中的兴趣点来提取。
三、特征点在SLAM中的应用SLAM中的特征点主要用于定位和建图。
在定位过程中,机器人通过匹配当前图像中的特征点和地图中已知的特征点,来估计自己的位置。
在建图过程中,机器人通过检测当前图像中的新特征点,并将其加入地图中,来实时更新地图。
特征点的应用使得SLAM系统能够在未知环境中实现精确的定位和建图。
特征点又叫兴趣点或者角点。
常被用于目标匹配,目标跟踪,三维重建等应用中。
点特征主要指图像中的明显点,如突出的角点、边缘端点、极值点等等。
特征点具有以下三种特性:▪旋转不变性;▪光照不变性;▪视角不变性。
用于点特征提取的算子称为兴趣点提取(检测)算子。
常用的有▪Harris角点检测;▪FAST特征检测;▪SIFT特征检测;▪SURF特征检测。
预备数学实对称矩阵如果有n阶矩阵A,其矩阵的元素都为实数,且矩阵A的转置等于其本身,则称A为实对称矩阵。
性质:▪实对称矩阵A的不同特征值对应的特征向量是正交的;▪n阶实对称矩阵A必可相似对角化,且相似对角阵上的元素即为矩阵本身特征值。
对角化:优点:满秩的对角方阵,可以直接看出特征值,特征向量等重要特征。
卷积算子—Sobel算子主要用于边缘检测,分别对水平和垂直方向上的边缘敏感。
对图像任意一点使用会产生对应的梯度矢量或者其法矢量。
对噪声具有平滑抑制作用,但是得到的边缘较粗,且可能出现伪边缘。
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
如果以A代表原始图像,Gx 及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:梯度计算公式梯度方向计算公式如果等于零,代表图像该处拥有纵向边缘,左边比右边要暗。
基础知识1、角点使用一个滑动窗口在下面三幅图中滑动,可以得出以下结论:▪左图表示一个平坦区域,在各方向移动,窗口内像素值均没有太大变化;▪中图表示一个边缘特征(Edges),如果沿着水平方向移动(梯度方向),像素值会发生跳变;如果沿着边缘移动(平行于边缘) ,像素值不会发生变化;▪右图表示一个角(Corners),不管你把它朝哪个方向移动,像素值都会发生很大变化。
所以,右图是一个角点。
2、角点类型下图展示了不同角点的类型,可以发现:如果使用一个滑动窗口以角点为中心在图像上滑动,存在朝多个方向上的移动会引起该区域的像素值发生很大变化的现象。
Harris角点检测算法编程步骤及示例演示也不说那么多废话了,要介绍啥背景意义之类的,角点检测,顾名思义,就是检测角点,最简单的就是两条线的交点了,还有比如下国际象棋的棋盘格子的交点之类的,反正就是检测这些点。
简单将Harris角点检测算法的思想说下,就是拿一个小窗在图像中移动,通过考察这个小窗口内图像灰度的平均变换值来确定角点。
(1)如果窗口内区域图像的灰度值恒定,那么所有不同方向的偏移几乎不发生变化;(2)如果窗口跨越一条边,那么沿着这条边的偏移几乎不发生变化,但是与边垂直的偏移会发生很大的变化;(3)如果窗口包含一个孤立的点或者角点,那么所有不同方向的偏移会发生很大的变化。
下面给出具体数学推导:设图像窗口平移量为(u,v),产生的灰度变化为E(u,v),有E(u,v)=sum[w(x,y)[I(x+u,y+v)-I(x,y)]^2],其中w(x,y)为窗口函数,I(x+u,y+v)为平移后的灰度值,I(x,y)为平移前的灰度值。
有泰勒公式展开可得:I(x+u,y+v)=I(x,y)+Ix*u+Iy*v+O(u^2,v^2);Ix,Iy分别为偏微分,在图像中为图像的方向导数.因此E(u,v)=sum[w(x,y) [Ix*u+Iy*v+O(u^2,v^2)]^2],可以近似得到E(u,v)=sum[w(x,y) [Ix*u+Iy*v]^2],即E(u,v)=[u,v][Ix^2,Ix*Iy;Ix*Iy,Iy^2][u,v]T令M=[Ix^2,Ix*Iy;Ix*Iy,Iy^2],因此最后对角点的检测成了对矩阵M的特征值的分析了,令M其特征值为x1,x2;当x1>>x2或者x2>>x1,则检测到的是边缘部分;当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化.当X1,X2都很大时且相当,检测到的是角点。
编程时用x1,x2不方便,因此定义角点响应函数;R=det(M)-k(trace(M))^2;其中det(M)为矩阵M的行列式,trace(M)为矩阵M的迹。
harris角点检测算法步骤Harris角点检测算法步骤:一、引言Harris角点检测算法是计算机视觉中常用的角点检测算法之一。
它通过分析图像的局部灰度变化来寻找图像中的角点,被广泛应用于图像处理、物体识别、图像匹配等领域。
本文将介绍Harris角点检测算法的步骤及其原理。
二、灰度处理Harris角点检测算法首先需要将彩色图像转换为灰度图像,这是因为角点检测主要关注图像的灰度变化而非颜色信息。
通过将彩色图像的每个像素的RGB值加权平均,可以得到相应的灰度值。
三、计算梯度接下来,对灰度图像进行梯度计算。
梯度表示图像中的灰度变化,是图像中像素灰度值变化最快的方向。
通过对图像使用Sobel算子或其他梯度计算算法,可以计算出每个像素的梯度幅值和方向。
四、计算结构张量在Harris角点检测算法中,结构张量是一个重要的概念。
对于每个像素点,结构张量是一个2x2的矩阵,它描述了该像素点周围区域的灰度变化情况。
结构张量的计算公式包括对梯度幅值的平方、梯度幅值的乘积以及梯度方向的加权。
五、计算角点响应函数角点响应函数是Harris角点检测算法的核心。
它通过对结构张量进行特征值分解,得到每个像素点的角点响应值。
角点响应值的计算公式是通过特征值的乘积减去特征值的和,再乘以一个经验系数。
如果特征值的乘积较大,说明该像素点是角点。
六、非极大值抑制由于角点响应函数在角点处达到最大值,但在边缘和平坦区域也可能有较大值,为了提取出准确的角点,需要进行非极大值抑制。
在非极大值抑制过程中,对于每个像素点,比较其角点响应值与周围像素点的角点响应值,如果大于周围像素点的角点响应值,则保留,否则抑制。
七、阈值处理为了进一步提取出准确的角点,可以根据角点响应值设置一个阈值。
只有角点响应值大于阈值的像素点才被认为是角点。
阈值的选择是一个关键问题,需要根据具体应用场景和图像特点进行调整。
八、角点标记最后一步是将检测到的角点在原始图像上进行标记。
harris角点检测算法原理Harris角点检测算法原理引言:角点检测是计算机视觉中一项重要的任务,它可以帮助计算机识别和跟踪图像中的角点特征。
Harris角点检测算法是一种经典的角点检测方法,它通过计算图像中像素点的角点响应函数来确定角点的位置。
一、角点的定义和特点角点是图像中突然变化的区域,其特点是在多个方向上都具有较大的灰度变化。
由于角点在图像中具有明显的特征,因此检测角点可以帮助计算机识别和跟踪物体。
二、角点响应函数Harris角点检测算法通过计算每个像素点的角点响应函数来确定是否为角点。
角点响应函数的计算公式如下:R = det(M) - k * trace^2(M)其中,M是一个2×2的矩阵,表示像素点附近的灰度变化情况。
det(M)表示矩阵M的行列式,trace(M)表示矩阵M的迹,k是一个常数。
三、角点响应函数的计算步骤1. 图像梯度计算:首先,对图像进行梯度计算,得到每个像素点的梯度幅值和梯度方向。
2. 构建自相关矩阵:对于每个像素点,根据其周围像素点的梯度幅值和梯度方向,构建一个2×2的自相关矩阵M。
3. 计算角点响应函数:根据自相关矩阵M的行列式和迹,计算角点响应函数R。
4. 阈值化和非极大值抑制:对于每个像素点,根据角点响应函数的值,进行阈值化操作,并对超过阈值的像素点进行非极大值抑制。
四、Harris角点检测算法的优缺点1. 优点:(1)计算简单:Harris角点检测算法的计算量相对较小,适合在实时应用中使用。
(2)稳定性好:Harris角点检测算法对图像的旋转、缩放和亮度变化具有较好的稳定性。
(3)可靠性高:Harris角点检测算法在各种场景下都能够较为准确地检测到角点。
2. 缺点:(1)对噪声敏感:Harris角点检测算法对噪声比较敏感,噪声会影响角点的检测结果。
(2)对尺度变化不敏感:Harris角点检测算法对于图像的尺度变化比较不敏感,可能会漏检或误检角点。
角点检测算法综述范娜,俞利,徐伯夏(中国航天科工集团第三研究院8357所天津300308)摘要:角点作为图像的一个重要特征,它保留了图像绝大部分的特征信息。
角点在三维场景重建、运动估计、目标跟踪以及图像配准与图像匹配等计算机视觉领域有着重要的作用。
本文对角点检测算法的类别进行总结,对各类算法进行了详细介绍,并对近几年来各类算法发展与改进进行了总结。
关键词:特征信息;计算机视觉;角点检测Survey of Corner Detection AlgorithmsFAN Na, YU Li, and XU Bo-xia(The 8357 Research Institute of the Third Research Academy of CASIC Tianjin 300308)Abstract:As a more important feature of image, corner contains voluminous information of image features.In the domain of computer vision, such as three-dimensional reconstruction, motion estimation, object tracking, image registration and image matching, corner of image play an important role.this paper attempt to summarize and detailedly introduce corner detection algorithms, and summarize the developments of these algorithms in recent years.Key words: Feature Information;Computer Vision;Corner Detection1 引言角点并没有明确的定义,一般将图像中亮度变化剧烈的点或图像边缘上曲率取极大值的点认为是角点。
从形态上来说,角点包括L、T、Y、X和箭头型角点等。
角点作为图像的重要特征,保留了图像的绝大部分的特征信息,又有效地减少了信息的数据量,从而有效地提高了运算速度以及匹配的可靠性。
总结现有的角点检测算子的评价方法,总体上有以下几个标准[1]:(1)稳定性:即同一场景图像在亮度、对比度等因素变化的情况下,检测出的角点数目及位置应当稳定(2)可靠性:即在算子的可变参数改变情况下,不影响生成的角点的质量,只改变检测出角点的数目;检测到的角点具有平移、旋转、伸缩不变性(3)鲁棒性:即算法的抗噪性能,在一定的噪声干扰下,算子仍然具有很强的角点检测能力(4)准确性:主要指不发生误检测以及角点位置定位准确(5)高效性:是指算法的计算速度快慢,算法速度必须足够快以满足图像处理系统的要求经过几十年的研究与探索,产生了许多检测角点的方法,但大致可以分为四类:基于灰度图像的角点检测算法、基于二值图像的角点检测算法、基于边缘特征的角点检测算法以及支持矢量机角点检测算法。
本文中对上述四类方法进行了阐述,并详细的介绍了这四类方法中典型的具有代表性的角点检测算法。
2 角点检测算法研究现状 2.1 基于灰度图像的角点检测 2.1.1 Harris 角点检测算法Harris 角点检测算法是 C.Harris 和M.J.Stephens 于1988年提出的一种基于信号特征提取算子,它是对Moravec 角点检测算法的改进。
Harris 算子利用角点与自相关函数的曲率特性有关这一特点,定义自相关函数,自相关函数描述了局部图像灰度的变化程度,可表示为:2,,(,)(,)(,)u v u vE x y w f x u y v f u v =++-∑利用泰勒公式将上式展开,化简上式可得:,u,2,2,(,)[](,)(,)u v vTu v u v E X Y w uX vY X XY w u v u v XYY ≈+⎡⎤=⎢⎥⎣⎦∑∑其中,u v w 为高斯窗口在(,)u v 处的系数,fX x∂=∂, f Y x ∂=∂,X 、Y 是一阶方向微分,反映了图像中每个像素点的灰度变化方向。
定义M 为像素点(,)x y 的自相关矩阵,则22XXY M XY Y ⎡⎤=⎢⎥⎣⎦,为了避免矩阵M 进行特征值分解,方便运算,则将角点响应函数表示为:[][]2(,)det (,)(,)R x y M x y k tr M x y =-∙其中1λ、2λ为矩阵M 的特征值,k 为经验值,一般在0.04-0.06之间取值。
只要在某一点(,)x y 处,(,)R x y 超过某一设定的阈值,即认为该点为角点。
阈值的设置是Harris 角点检测算法的关键,阈值设置过大会产生伪角点,阈值过小则会漏掉角点。
文献[2]中首先应用一定规则进行备选角点预筛选,然后对提取到的备选角点进行Harris 角点检测。
Harris 算法中的阈值利用自适应的方法得到,即将每一幅图像角点响应函数最大值的p 倍定义为阈值。
文献[3]在进行非极大值抑制时采用双阈值法检测角点,消除了一些伪角点;最后利用SUSAN 算法的思想消除剩余的伪角点。
文献[4]用Harris 算法求得角点响应函数,利用双掩膜来定义进行非极大值抑制的局部范围,然后结合K 均值聚类方法进行非极大值抑制,最终通过像素点的角点响应函数是否满足预设角点判定条件来确定角点。
2.1.2 SUSAN 角点检测算法SUSAN 角点检测算法是1997年由英国牛津大学的S.M.Smith 和J.M.Brady 提出的一种低层次图像处理小核值相似区的方法。
该方法的原理是定义一个圆形模板对图像中的像素进行覆盖,将圆形模板的中心像素(定义其为‘核’)与同一模板中的其他像素分别进行灰度值的比较,当灰度值之差少于某一设定阈值t 时,认为该像素与核具有相同或相似的灰度值并把由这些像素组成的区域定义为核值相似区(Univalue Segment Assimilating Nucleus ,USAN)。
当圆形模板处于图像背景或图像内部时,USAN 区域的面积最大;当模板开始与图像边缘重叠时,USAN 区域的面积变小,当模板的中心像素位于角点处时,USAN 区域面积达到最小。
文献[5]中用在响应圆域内与核像素点灰度值相同,且与核像素点邻接连通的区域来代替SUSAN核同值吸收区,避免了传统SUSAN方法中漏检和误检的问题。
文献[6]中首先将图像的像素点分为边缘点、内部点和背景点,在此基础上对边缘点进行SUSAN算法处理,然后检查提取到的角点,分别对真角点附近的伪角点以及边缘轮廓上的伪角点采用不同的方法进行去除。
2.1.3 基于模板匹配的角点检测算法基于模板匹配的角点检测算法利用一个n n的二维矩阵作为角点检测的模板,分析常见角点的类型,根据角点的类型对模板内的各像素进行编码;然后利用模板与待测图像作相关匹配,让模板在待测图像中逐点移动,在每一点处,计算角点响应函数,角点响应函数值越大说明相似性越高,则该检测图像与该模板越相似。
基于模板匹配的角点检测方法中模板的半径越大,能够检测到的角点类型越多,但同时计算量也大大增加。
针对上述特点,文献[7]中扩大模板半径,同时对算法进行改进,简化模板,在增加可检角点类型的同时也提高了计算速度。
2.2 基于二值图像的角点检测二值图像角点检测的形态骨架法[8]是刘文予等人提出的一种基于二值图像和形态骨架的角点检测方法,该方法中将二值图像看成是一个多边形,则多边形的角点一定在骨架的延长线上,并且角点所对应的骨架点的最大圆盘应该趋于0,检测骨架点中最大圆盘为0的点,即为角点。
同时为了获得凹角点,对原图像求补,为了克服原图与补图的边界不一致问题,对补图做一次膨胀运算;最后利用文献中提出的算子求出凹角点。
将原图和补图获得的角点进行异或操作,得到全部角点。
二值图像处于灰度和边缘轮廓图像的中间步骤,所以专门针对此类图像的角点检测方法并不多见。
2.3 基于边缘特征的角点检测方法2.3.1 基于边缘链码的角点检测基于边缘链码的角点检测算法是在20世纪七十年代末Freeman H等人提出的,是最早的基于边缘的角点检测算法。
该算法是沿着数字曲线或边界像素以8或4邻接的方式移动,对每一个移动方向进行数字编码;然后根据相邻码值之间的差别确定角点和可疑角点。
对于可疑角点,通过曲率大小进一步判断是否为真正的角点。
20世纪九十年代,Bribiesca对Freeman链码进行了两次改进:用小直线段的斜率对其进行编码以及顶点链码的方式。
顶点链码中的每个码的码值表示该码元有几个顶点是区域边界的顶点。
基于边界链码的角点检测方法主要包括图像预分割、对预分割后得到的图像的边界轮廓进行顺序编码和根据边缘轮廓链码对图像中的角点进行提取三个步骤[9]。
2.3.2 基于小波变换的角点检测基于小波变换的角点检测方法的思想是:首先用边缘检测算子提取目标边缘,选取具有极大值检测能力的小波,在多个尺度下进行小波变换,求取小波系数的模极大值点得到角点的候选点集;然后使用一定的筛选规则,选出正确的角点集。
文献[10]基于协方差矩阵和小波变换来提取角点,该方法中利用协方差矩阵来构建方向角函数;然后对该方向角函数在不同尺度下进行小波变换,最终根据小波变换的响应值确定角点。
2.3.3 基于曲率尺度空间的角点检测在Witkin和Koenderink提出的尺度空间的图像分析理论的基础上,Mokhtarian及Suomela提出了基于曲率尺度空间(Curvature Scale Space,CSS)的角点检测算法。
该算法首先使用canny算子在原图像中检测边缘,计算不同尺度下边缘曲线的曲率值;然后将高尺度下的局部曲率极值点作为候选角点,最后逐步减小尺度,在多个低尺度处跟踪定位角点。
文献[11]提出了一种以CSS角点检测为基础,在较小的尺度检测出所有的局部极值点的方法,并根据曲率的局部性质构造自适应阈值,先获得候选角点;然后计算出候选角点的角度,根据角度大小来决定真伪角点并去除伪角点。
基于CSS算法的角点检测精度依赖于尺度选择的好坏,以及自适应阈值的CSS算法在小尺度下阈值和夹角的计算受离散数据引起的噪声的影响,文献[12]提出一种基于多尺度曲率乘积的角点检测算法(MSCP),该算法的思想是利用canny 算子提取边缘轮廓;然后计算多个尺度下的曲率乘积,以此来增强角点曲率,抑制噪声曲率;最后通过一个全局阈值来提取角点。
文献[13]提出一种基于多尺度曲率多项式的角点检测方法,该方法的基本思想是首先获得不同尺度下轮廓上各点的曲率值,然后针对不同尺度下局部极大值点计算曲率的加权和;对于非极值点计算曲率积,最终利用多尺度曲率积和多尺度曲率和与设定的判定凹凸角点的阈值进行比较来获取角点。