7

通俗易懂的Harris 角点检测

 3 years ago
source link: https://mp.weixin.qq.com/s/gAwJTB7QgQh5DTa5_XS3Cw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

通俗易懂的Harris 角点检测

Original 追求卓越583 计算机视觉工坊 10/8

点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

Image

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

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

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

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

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

数学公式:

Image

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

640?wx_fmt=png:表示窗口内的每个像素。

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

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

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

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

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

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

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

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

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

640?wx_fmt=png

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

整理后,结果为:

640?wx_fmt=png

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

对Harris矩阵进行特征分解:

640?wx_fmt=png

得到两个特征值640?wx_fmt=png,矩阵的这两个特征值反映了:两个相互垂直的方向上的变化情况

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

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

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

640?wx_fmt=png
640?wx_fmt=png

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

只有当Harris矩阵的两个特征值640?wx_fmt=png都非常大的时候,特征点才能和周围环境区别比较大,是我们想要的特征点。

现在检测特征的任务就变成了,计算Harris矩阵,并判断其两个特征值640?wx_fmt=png的大小。

Harris角点准则

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

640?wx_fmt=png

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

Harris矩阵的行列式值:Harris矩阵特征值640?wx_fmt=png的乘积

Harris矩阵的迹:Harris矩阵特征值640?wx_fmt=png的和

  • k的值越小,检测子越敏感。k的值越小,能检测到的特征点越多。

  • 只有当和同时取得最大值时, 才能取得较大值。

  • 避免了特征值分解,提高检测计算效率。

本文仅做学术分享,如有侵权,请联系删文。下载1在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。下载2在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。下载3在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

640?wx_fmt=jpeg▲长按加微信群或投稿

640?wx_fmt=jpeg

▲长按关注公众号

觉得有用,麻烦给个赞和在看~640?wx_fmt=gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK