数字图像特征点检测算法研究 张冬梅

发表时间:2021/7/28   来源:《基层建设》2021年第14期   作者:张冬梅
[导读] 数字图像具有易于保存,输入和输出比较方便,便于修改和改善图像的优点,在生活中具有广泛的应用。随着计算机技术的发展人们生活水平

        重庆交通大学 土木工程学院  重庆  400041
        摘要:数字图像具有易于保存,输入和输出比较方便,便于修改和改善图像的优点,在生活中具有广泛的应用。随着计算机技术的发展人们生活水平的提升,图像处理技术也需要相应提高。对于一幅图像,我们只会对其比较突出的一部分感兴趣,可能是特征点,特征线或者特征面等。图像特征可以表示图像的一般属性,在图像中起代表性作用,其检测算法在图像特征提取过程中起着非常重要的作用。
        本研究主要从Forstner、Moravec、Harris、Susan四个算子的数学原理出发,研究特征点算子检测,并结合Matlab软件程序开发,实现图像特征点的检测。提出Moravec算子的改进,通过实验结果分析,得出结论:Forstner算子具有复杂的数学原理,程序运行时间周期长,提取精度高。Moravec算子抗噪能力较弱,提取效果不佳,对其进行改进后,检测结果较之前改善许多。Susan算子类似边缘提取算子,需要增大阈值来改善提取角点的效果。Harris算子的优势最为明显,计算时间短,提取角点数也适中,且提取精度高。
        关键词:特征点检测;算法分析;程序开发;Matlab;绪论


        1、引言
        图像特征是图像局部表面属性的显示,所以图像特征可根据图像的颜色,纹理,形状,空间位置等属性进行分类,形成不同类型的图像特征。图像中对应的事物由点、线、面构成,故点特征便属于形状特征的一种。特征点是指在一个模板中其灰度与其他灰度信息都不相同且差异较大的点,如角点、圆点等。在图像的特征检测中,角点具有较好的鲁棒性,所以角点检测结果不随光照条件改变、旋转而改变。使用角点对图像进行处理,既能使减少计算量,又能保留住图像原有的灰度信息。特征点在一幅图像中可以成百上千个,也可以数十个,根据不同的检测方法和阈值,检测不同数量的特征点。因为在不同物体上,点特征拥有不同的特征,比较好辨别,且提取速度快,故特征点的提取是最常用的图像特征提取方法。随着计算机技术发展和图像处理技术在生活中大量的应用,对点特征提取的深入研究也随之提出。
        随着研究人员对特征点的提取越来越多的重视,专家学者已进行相关的研究,提出了许多优秀的检测数字图像特征点的算法。根据现已有的研究,特征点检测算法大致可分为三类:基于图像边缘的角点检测、基于图像灰度信息的角点检测,和基于二值图像的角点检测。基于灰度图像的角点检测主要有Harris角点检测算法,Moravec角点检测算法,Forstner角点检测算法,Susan角点检测算法。20世纪中下旬Moravec算子被提出,主要是通过计算局部窗口在四个方向的像元灰度的差异来判断中心像元是否为兴趣点,但是这一算法并非能检测所有特征点,Moravec容易受到噪音以及边缘的干扰。在此之后提出的Forstner算子比Moravec算子原理更复杂,该算子首先选取合适的窗口计算图像各像元的Robert’s梯度,然后根据梯度进行协方差计算,根据协方差矩阵计算权值,此时计算的权值为窗口中心像元的权值。在随后图像中计算权值最大的兴趣值点作为特征点。在随后的八十年代里一些研究者提出了Kitchen-Rosenfeld角点检测算法、Pleesey算法,九十年代提出了Susan算法和SIFT算子。
        2、特征点检测
        Forstner算子首先计算图像各像元的Roberts梯度(图2),选取合适的窗口计算窗口中心像元的灰度协方差矩阵,在影像中寻找像元灰度与相邻像元灰度差尽可能小而接近圆的误差椭圆的点作为特征点。Susan算子是使用近似圆形模板来遍历整个图像。若模板内的其他任意像素的灰度值与模板中心像素(核)的灰度值之差小于一定阈值,则认为该点与模板中心像元具有相同或相近灰度值。我们把满足这样条件的像元组成的区域称为核值相似区。Susan计算基础就是把图像中每个像元与具有相似灰度值的像元区域相联系。Moravec算子在以像素(c,r)为中心的影像窗口,利用公式(2.8)计算图2.8四个方向相邻像素灰度差的平方和,计算窗口中心像元的兴趣值IV,其中k为窗口半径。


Harris算子利用信号处理中自相关函数的相关特性,利用了与自相关函数相联系的矩阵M,其中gx是灰度g在x方向的梯度,gy是方向上的梯度。矩阵M的特征值是自相关函数的一阶曲率即梯度的协方差矩阵,若两个曲率值都高,则认为该点为角点特征。Harris提取首先确定一个n×n大小的影像窗口,对窗口的每一个像元点进行一阶差分运算,求得在x,y方向的梯度gx,gy,并对梯度进行高斯滤波,其中G为高斯滤波模板
        3、实验及结果分析
        在了解算法数学原理的基础上,需要进行实际的操作。完成了四个算法的编程实现,其复杂度分析可以分为以下几个方面:
        (1)按照算法的原理来说,Forstner算子是最难的,复杂度最高,计算量也是最大的。Forstner算法实现需要Roberts梯度来实现协方差计算,而Moravec算法、Harris算法都只需要简单的差分算子,Susan算子也是找到一个近似圆形的模板即可计算。
        (2)从实验过程分析,Forstner算法需要两次根据阈值筛选,以权值为参考并求兴趣点中的权值的极大值点来作为特征点,最终获得想要的结果。Moravec算法通过一次阈值筛选,并求兴趣点中的极大值来获得特征点获得结果图。Harris算子通过高斯滤波,应用阈值来筛选兴趣点,并求兴趣点的极大值点作为特征点。Susan算子是比较简单的算子,直接选取模板,在模板中计算模板中心像元与相邻像元的灰度差,找到灰度差最大的像元即可。
        用MATLAB编程实现算法,结果是认识算法精度的最好标准。由图可以看出,Forstner算子提取的特征点数最少,但大部分的特征点都在正确的位置上,有少部分特征点提取错误。Moravec算子虽然算法简单,但提取的特征点最多,提取很精细,提取的精度不高。Susan算子提取的特征点类似于边缘提取,特征点提取只是在边缘的提取的基础上,采用模板进行极大值提取获得特征点。从图上看,Susan算子此次提取效果最佳,这跟模板的选取和阈值的选取都密切相关。Forstner、Moravec、Susan三种算子的提取在房顶上或多或少都有伪角点的出现,Moravec算子最为突出,表明Moravec算子抗噪能力较弱。需要通过增大模板的大小或者增大阈值来增强抗噪能力。Harris算子提取的效果最好,虽然提取的特征点不是最多,但是精确度高,且提取用时不多。综上所诉,Harris算子的提取特征点效果较好。
        对于Moravec算子改进后检测的效果图可以看出,改进后的检测效果明显较之前好了很多。通过高斯滤波对图像进行处理,减少了许多伪角点。但在图中还是能够看到未检测到的点和少量的伪角点,这可能与Moravec算法本身的原理有关。兴趣值的极大值点并非一定为角点或特征点,在Moravec算法中把灰度差值大于一定阈值的极大值点全都化为特征点会导致检测有偏差。
        4、结论
        本文通过对Forstner算子、Moravec算子、Harris算子、Susan算子数学原理研究并用编程实现,发现了算法的模板和阈值的选取对图像提取效果产生了直接性影响。通过选取不同的阈值和模板,图像提取的精度不一致。在本实验中,阈值是本人通过不断更改阈值的大小,查看提取效果,选取的比较适合的阈值。一般情况下的阈值会选取中间值或是最大值的2/3。选取阈值时,既要满足包含所有的特征值,又不能包含过多的非特征值点。否则导致特征点被遗漏或是过多的伪角点。
        参考文献:
        [1]孙向阳.数字图像特征点的检测及匹配算法研究[D].太原理工大学,2012.
        [2]朱少何.数字图像特征点检测算法的研究[D].合肥工业大学,2014.
        [3]3 KINOSHITA KOICH.Face feature point detection apparatus and feature point detection apparatus[P].:US7936902,2011-05-03.

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: