计算机视觉-harris算法

计算机视觉-harris算法

复习一下hw1所需知识。

四、特征检测

2、角点检测

Moravec

Harris角点检测器

原理

窗口在角点上按任意角度移动时,窗口的灰度图都会有明显的变化。

窗口滑动分别按x和y方向移动[u, v]后,灰度的变化为

${w(x,y)}$是窗口函数,二维的滤波器。

${I(x+u,y+v)}$和${I(x,y)}$分别是平移前和平移后的窗口灰度图。

再用泰勒公式${f(x+u,y+v) = f(x,y)+uf_x(x,y)+vf_y(x,y)}$ 简化为

${I_x}$和${I_y}$为x和y方向的梯度值,可以用Sobel进行计算。

接着${M}$可以用实对称矩阵对角化进一步化简:

最后根据${\lambda_1}$和${\lambda_2}$计算角点响应函数R:

k为经验常数,一般取0.04-0.06。

当R很小且小于threshold时,认为是平坦区域;

当R<0且R<threshold时,认为是边缘;

当R>0且R>threshold时,认为是角点。

步骤
  1. 计算${I_x}$和${I_y}$
  2. 计算${I_xI_y}$
  3. 把${w(x,y)}$,一般是高斯滤波器,应用到${I_x}$、${I_y}$和${I_xI_y}$上,计算$M$矩阵
  4. 计算响应值R
特性

平移不变性

旋转不变性

不满足尺度不变性

高斯差分滤波器(DoG)

尺度不变性