数字影像特征提取COLLECTEDBYCRYSTALLO2017-05-16SOGSCNU一、特征点的提取算法•Moravec(莫拉韦克)点特征提取算子•Forstner(福斯特纳)点特征提取算子•Harris(哈瑞斯)点特征提取算子•二、特征线的检测方法•直方图法•梯度算子•差分算子•拉普拉斯算子一、特征点的提取算法点特征主要指明显点,提取点特征的算子称为兴趣算子或有利算子1、Moravec算子Moravec于1977年提出利用灰度方差提取点特征的算子。(1)计算各像元的兴趣值(有利值)IV(2)给定一经验阈值,将兴趣值大于阈值的点作为候选点。(3)选取候选点中的极值点作为特征点。一、特征点的提取算法1、Moravec算子Moravec算子思想是:以像元的四个方向上最小灰度方差表示该像元与邻近像元的变化情况,然后在图像的局部选择具有最大的兴趣值的点。一、特征点的提取算法2、Forstner算子Forstner算子思想是:Forstner算子通过计算各个像素Robert梯度和像素(r,c)为中心的一个窗口灰度协方差矩阵,在影像中寻找尽可能小且接近圆的误差椭圆的点作为特征点。2、Forstner算子•(1)计算各像素的Robert’s梯度•(2)计算ll(如55或更大)窗口中灰度的协方差矩阵•(3)计算兴趣值q与w•(4)给定一经验阈值,将兴趣值大于阈值的点作为候选点。•(5)选取候选点中的极值点作为特征点。即在一个适当窗口中选择最大的待选点3、Harris算子『Review』Moravec角点检测算子的思想其实特别简单,在图像上取一个W*W的“滑动窗口”,不断的移动这个窗口并检测窗口中的像素变化情况E。像素变化情况E可简单分为以下三种:A如果在窗口中的图像是比较平坦的,那么E的变化不大。B如果在窗口中的图像是一条边,那么在沿这条边滑动时E变化不大,而在沿垂直于这条边的方向滑动窗口时,E的变化会很大。C如果在窗口中的图像是一个角点时,窗口沿任何方向移动E的值都会发生很大变化。Harris角点检测算子实质上就是对Moravec算子的改良和优化。E就是像素的变化值。Moravec算子对四个方向进行加权求和来确定变化的大小,然后设定阈值,来确定到底是边还是角点。3、Harris算子(1)Moravec算子对方向的依赖性太强,在上文中我们可以看到,Moravec算子实际上只是移动了四个45度角的离散方向,真正优秀的检测算子应该能考虑到各个现象的移动变化情况。为此,Harris采用微分的思想。(2)由于Moravec算子采用的是方形的windows,因此的E的响应比较容易受到干扰,Harris采用了一个较为平滑的窗口——高斯函数。(3)Moravec算子对边缘响应过于灵敏。为此,Harris提出了对E进行变形,变成了二次型。3、Harris算子Harris算子实现的步骤如下:(1)首先确定一个n×n大小的影像窗口,对窗口内的每一个像素点进行一阶差分运算,求得在x,y方向的梯度。(2)对梯度进行高斯滤波,高斯卷积模板σ取值为0.3~0.9。(3)根据公式计算出矩阵M值。(4)选择局部极值点在一个适当大小的窗口内选取兴趣的最大值或者最大的几个值的像元作为角点提取出来。3、Harris算子Harris角点检测算法有诸多优点:A旋转不变性,椭圆转过一定角度但是其形状保持不变(特征值保持不变)B对于图像灰度的仿射变化具有部分的不变性,由于仅仅使用了图像的一阶导数,对于图像灰度平移变化不变;对于图像灰度尺度变化不变当然Harris也有许多不完善的地方:A它对尺度很敏感,不具备几何尺度不变性。B提取的角点是像素级的。以至于后来又有许多牛人提出了更多更完善的检测算子二、特征线的检测方法1、直方图法2、梯度算子3、差分算子4、拉普拉斯算子二、特征线的检测方法1、直方图算子•前景、背景的灰度值域的确定•X轴-----灰度,Y轴------灰度出现的频率•理想状态,存在双峰分布•波谷对应的分割点X0即为分割点直方图法优势•算法简单,易于实现•存在明显双峰分布的图象,效果较好,•受单个噪声的影响不大二、特征线的检测方法1、直方图法注意:应用灰度直方图双峰法来分割图像,也需要一定的图像先验知识,因为同一个直方图可以对应若干个不同的图像,直方图只表明图像中各个灰度级上有多少个象素,并不描述这些象素的任何位置信息。该方法不适合直方图中双峰差别很大或双峰间的谷比较宽广而平坦的图像,以及单峰直方图的情况。二、特征线的检测方法2、梯度算子图像的梯度可以用一阶导数和二阶偏导数来求解。但是图像以矩阵的形式存储的,不能像数学理论中对直线或者曲线求导一样,对一幅图像的求导相当于对一个平面、曲面求导。对图像的操作,我们采用模板对原图像进行卷积运算,从而达到我们想要的效果。而获取一幅图像的梯度就转化为:模板(Roberts、Prewitt、Sobel、Lapacian算子)对原图像进行卷积,不过这里的模板并不是随便设计的,而是根据数学中求导理论推导出来的。二、特征线的检测方法2、梯度算子Roberts算子采用对角线方向相邻两像素之差近似的梯度幅值来检测边缘。算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感,检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。二、特征线的检测方法3、差分算子Prewitt算子(平均差分法)是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。因为平均能减少或消除噪声,Prewitt梯度算子法就是先求平均,再求差分来求梯度。水平和垂直梯度模板分别为:二、特征线的检测方法3、差分算子Sobel算子(加权平均差分法)根据图像的像素点上下、左右邻点灰度加权差在边缘处达到极值这一现象来检测边缘。算子对噪声具有平滑作用,能提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的图像边缘检测方法。二、特征线的检测方法4、拉普拉斯算子Laplacian算子是二阶微分算子,利用边缘点处二阶导函数出现零交叉原理来检测图像的边缘。算子不具方向性,对灰度突变比较敏感,定位精度高,同时对噪声比较敏感,且不能获得边缘方向等信息。