引言
在上一节我们已介绍Moravec检测器,它仅仅在8个方向(水平、垂直和四个对角方向)计算灰度变化,为了对其扩展,有必要设计一个可以在任何方向对灰度变化进行测度的函数。1988年,Harris和Stephen通过对Moravec算子进行展开,推导得到了Plessey算子,也即Harris算子。即Harris比Moravec有所提升,因它考虑了角评分(平方差的和)的差分。
基本理论
考察一幅二维有灰度图像f,取出一个图像块,并平移
。图像块W内的图像f值与其平移后的图像之差平方和S为:
角点不受光圈问题的影响,对于所有,
都是高响应。如果平移图像用一阶泰勒展开近似。则可以表示为:
此时,的最小值有解析解。将式(5.7.5)的近似表达式代入式(5.7.4)后得到:
其中Harris矩阵是S在点(x, y) = (0, 0)处二阶导数。A为:
通常会使用一个各向同性窗,比如高斯窗,其响应也是各向同性的。局部结构矩阵A代表邻域:Harris矩阵A是半正定对称矩阵。其主要变化模式对应于正交方向的偏微分,并由矩阵A的特征值反映出来。在有关文献中建议,通过计算响应函数,可避免精确的特征值计算,其中det(M)为局部结构矩阵M的行列式,trace(M)为矩阵M的迹,K是可调参数。一般在0.04-0.15之间。
算法Harris角点检测
- 1.对图像进行高斯滤波。
- 2.对每个像素,估计其垂直两方向的梯度值。使用近似于导数的核做两次一维卷积即可。
- 3.对于每一个像素和给定的邻域窗口:
- 1)计算局部结构矩阵A
- 2)计算响应函数R(A)
- 4.选取响应函数R(A)的一个阈值,以选择最佳候选角点,并完成非最大化抑制。
Harris角点检测器的优点是对二维平移和旋转,少量光照变化,少量视角变化都不每感,而且其计算其很小。另一方面,当有较大变化,视角变化以及对比鲜明的剧烈变化时,它就失去了原先的不变性。