前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通俗易懂的Harris 角点检测

通俗易懂的Harris 角点检测

作者头像
计算机视觉
发布2020-12-11 15:16:30
4350
发布2020-12-11 15:16:30
举报
文章被收录于专栏:计算机视觉工坊

Harris 角点检测 认为 特征点具有局部差异性

如何描述“特征点具有局部差异性”:

以每一个点为中心,取一个窗口,窗口大小为5*5或7*7像素大小。

这个窗口描述了这个特征点周围的环境

如果这个特征点具有局部差异性,那么以这个特征点为中心,把窗口向360度任意一个方向移动,窗口的变化比较大,则这个特征点的周围环境变化比较大。

数学公式:

(x,y):表示像素的位置。

:表示窗口内的每个像素。

w(x,y):表示 这个位置的权重。

若w=1,则说明窗口中所有的像素贡献是一样的。

若w设置为以这个特征点为中心的高斯,

高斯权重,说明距离这个特征点越近,权重越大;越往周围发散,权重越小。

I(x,y):表示(x,y)这个位置的像素值。如果是灰度图,I就是灰度值,如果是彩色图,I就是RGB值。

u和v表示窗口移动的方向。

I(x+u,y+v) - I(x,y):表示对应像素的灰度差异。

:在整个窗口内,即在局部环境内求这个像素灰度差异的加权和。

对 I(x+u,y+v) - I(x,y)进行一阶泰勒展开,得到

在(x,y)处的灰度值,再加上u方向和v方向的偏导数。

整理后,结果为:

u和v表示窗口移动的方向, H表示Harris矩阵,主要由图像梯度表示。

对Harris矩阵进行特征分解:

得到两个特征值

,矩阵的这两个特征值反映了:两个相互垂直的方向上的变化情况

一个是变化最快的方向,一个是变化最慢的方向。

前面设置了u和v,这是两个向量,表示窗口移动的方向。以(x,y)这个点为中心,进行360度的旋转。

特征值

对应的特征向量,确定了变化最快的方向和变化最慢的方向。其他方向的变化情况,介于这两者之间。

通过对Harris矩阵的分析,得到如下结论:

只有当Harris矩阵的两个特征值

都非常大的时候,特征点才能和周围环境区别比较大,是我们想要的特征点。

现在检测特征的任务就变成了,计算Harris矩阵,并判断其两个特征值

的大小。

Harris角点准则

实际中,并不对Harris矩阵进行分解求其特征值,因为计算量太大。而是使用Harris角点准则。

C = Harris矩阵的行列式值 – k(Harris矩阵的迹)2

Harris矩阵的行列式值:Harris矩阵特征值

的乘积

Harris矩阵的迹:Harris矩阵特征值

的和

  • k的值越小,检测子越敏感。k的值越小,能检测到的特征点越多。
  • 只有当和同时取得最大值时, 才能取得较大值。
  • 避免了特征值分解,提高检测计算效率。

本文仅做学术分享,如有侵权,请联系删文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Harris角点准则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档