基于Harris 算子的灰度图像角点检测方法研究
2015-01-23□赵慧
□赵 慧
随着计算机应用的发展,数字图像处理在人们的生活中有了很广泛的应用。角点是图像的重要特征,它是图像灰度局部曲率的极大点,决定了对目标轮廓特征的掌握程度。角点在各种影像特征中有很多优点,例如旋转不变性、不随光照变化而变化等。在图像匹配中,角点也发挥着很大的作用,利用角点特征可以大大提高图像匹配的速度。另外,角点还可以作为输入,用于3D 目标跟踪、3D 建模等领域。由于角点检测的广泛应用,角点检测的研究己成为很多课题的重要环节[1]。本文利用Harris 算法对灰度图像提取角点,并定性比较了基本的Harris 角点检测算法和在此基础上改进的基于散布矩阵的Harris 角点检测算法的性能。
一、Harris 角点检测算子原理
角点是灰度变化足够大的点,人眼对角点的识别通常是在一个小窗口内完成的。当一个窗口在图像上移动时,窗口内灰度在各个方向上都没有发生变化,则它在平坦区域,如图1(a)所示;如果窗口沿某一方向上移动,窗口内灰度发生了较大的变化,而沿另一方向移动,窗口内灰度没有发生变化,则它有可能在边缘区域,如图1(b)所示;如果窗口沿任意方向移动时,窗口内灰度发生明显的变化,则认为在窗口内遇到了角点,如图1(c)所示。Harris 算子就是通过这一物理现象,来判断角点的[2]。
图1 窗口的移动与角点检测
将图像窗口平移[u,v]产生灰度变化E(u,v):
其中w(x,y)是窗口函数,是原像素点的灰度,是平移后像素点的灰度。
根据泰勒公式展开,上式可近似写为:
于是对于局部微小的移动量[u,v],可以近似得到下面的表达:
其中实对称矩阵M 的可表示为:
其中Ix、Iy 分别是I 沿x 和y 方向的一阶导数。
图像灰度的自相关函数在某一点处的曲率极值可用矩阵的特征值λ1、λ2表示。一是两个特征值都很小且近似相等,即λ1≈λ2≈0,则证明在各个方向上的自相关函数都很小,检测为平坦区域。二是两个特征值都很大且近似相等,即λ1≈λ2≥0,则证明在所有方向上的自相关函数都很大,检测为角点。三是两个特征值中一个大,一个小,即λ1≥λ2或λ1≤λ2,即自相关函数在某一方向上大,在其他方向上小,则检测为边缘。
由于Harris 角点检测中需要计算图像灰度的梯度,所以Harris 角点检测受噪声影响严重,检测出的角点效果不好。因此,有人提出了基于散布矩阵的角点检测方法。
散布矩阵的定义如下:
式中Iσ表示以σ 为平滑参数的Gaussian 平滑图像,Gρ表示以ρ 为参数的Gaussian 核。
矩阵Jρ有两个特征向量,它们的方向矢量分别是:
其中代表图像的梯度方向,即垂直图像特征的方向;代表沿图像特征的方向,也就是图像边缘的切线方向;是与水平轴的夹角。
由于散布矩阵在对图像I 求微分前后两次采取了高斯平滑的手段,通过考虑局部邻域增强结构方向估计的鲁棒性,因而可以有效屏蔽噪声对角点检测的影响。邵文泽[3]基于散布矩阵提出了一个角点检测算子:
其中
因而可以根据散布矩阵,得出(7)和(8)中
二、实验结果及讨论
在无噪、高斯模糊和有高斯噪声三种情形下,对基于散布矩阵的Harris 角点求取方法进行了实验,实验结果如图2所示。这里没有对检测的角点强度图进行二值化,只给出了角点强度的灰度图,图中灰度值越高的点表示此处的角形结构越强。从实验结果可以看出,由于散布矩阵根据图像的局部邻域结构特征识别和确定角形结构,因此该方法的抗噪性好,求取的角点稳定。
图2 Harris 算子角点检测的抗噪性测试结果
三、结语
角点是重要的图像特征点,角点检测在各种图像处理技术中被广泛应用。本文研究了基本的Harris 角点检测算法,以及在此基础上改进的基于散布矩阵的Harris 角点检测算法。实验结果表明,基于散布矩阵的Harris 角点检测算子稳定性更高,抗干扰性强,鲁棒性更好。
[1]王玉珠.图像角点检测算法研究[D].重庆大学,2007
[2]胡俊.图像角点检测方法的研究[D].重庆邮电大学,2011
[3]邵文泽.基于图像建模理论的多幅图像正则化超分辨率重建算法研究[D].南京理工大学,2008