原文站点:https://senitco.github.io/2017/06/18/image-feature-harris/
角点检测(Corner Detection)也称为特征点检测,是图像处理和计算机视觉中用来获取图像局部特征点的一类方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模以及目标识别等领域中。
局部特征
不同于HOG、LBP、Haar等基于区域(Region)的图像局部特征,Harris是基于角点的特征描述子,属于feature detector,主要用于图像特征点的匹配(match),在SIFT算法中就有用到此类角点特征;而HOG、LBP、Haar等则是通过提取图像的局部纹理特征(feature extraction),用于目标的检测和识别等领域。无论是HOG、Haar特征还是Harris角点都属于图像的局部特征,满足局部特征的一些特性。主要有以下几点:
- 可重复性(Repeatability):同一个特征可以出现在不同的图像中,这些图像可以在不同的几何或光学环境下成像。也就是说,同一物体在不同的环境下成像(不同时间、不同角度、不同相机等),能够检测到同样的特征。
- 独特性(Saliency):特征在某一特定目标上表现为独特性,能够与场景中其他物体相区分,能够达到后续匹配或识别的目的。
- 局部性(Locality);特征能够刻画图像的局部特性,而且对环境影响因子(光照、噪声等)鲁棒。
- 紧致性和有效性(Compactness and efficiency);特征能够有效地表达图像信息,而且在实际应用中运算要尽可能地快。
相比于考虑局部邻域范围的局部特征,全局特征则是从整个图像中抽取特征,较多地运用在图像检索领域,例如图像的颜色直方图。
除了以上几点通用的特性外,对于一些图像匹配、检测识别等任务,可能还需进一步考虑图像的局部不变特征。例如尺度不变性(Scale invariance)和旋转不变性(Rotation invariance),当图像中的物体或目标发生旋转或者尺度发生变换,依然可以有效地检测或识别。此外,也会考虑局部特征对光照、阴影的不变性。
Harris角点检测
特征点在图像中一般有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、以及某些梯度特征等。角点可以简单的认为是两条边的交点,比较严格的定义则是在邻域内具有两个主方向的特征点,也就是说在两个方向上灰度变化剧烈。如下图所示,在各个方向上移动小窗口,如果在所有方向上移动,窗口内灰度都发生变化,则认为是角点;如果任何方向都不变化,则是均匀区域;如果灰度只在一个方向上变化,则可能是图像边缘。
对于给定图像 I(x,y) 和固定尺寸的邻域窗口,计算窗口平移前后各个像素差值的平方和,也就是自相关函数
其中,窗口加权函数 w(x,y) 可取均值函数或者高斯函数,如下图所示:
根据泰勒展开,可得到窗口平移后图像的一阶近似
因此 E(u,v) 可化为
E(u