计算机视觉-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时,认为是角点。
步骤
- 计算${I_x}$和${I_y}$
- 计算${I_xI_y}$
- 把${w(x,y)}$,一般是高斯滤波器,应用到${I_x}$、${I_y}$和${I_xI_y}$上,计算$M$矩阵
- 计算响应值R
特性
平移不变性
旋转不变性
不满足尺度不变性
高斯差分滤波器(DoG)
尺度不变性