• 通俗易懂的Harris 角点检测


    作者:追求卓越583

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

    干货第一时间送达

     

    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的值越小,能检测到的特征点越多。

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

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

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

    下载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视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

    ▲长按加微信群或投稿

    ▲长按关注公众号

    觉得有用,麻烦给个赞和在看~  

    个人微信公众号:3D视觉工坊
  • 相关阅读:
    vector order by function and object
    C++ Tree node ,when g++ compile multiple cpp files should list them respectively
    Node.1
    asp遍历xml节点
    redis扩展安装以及在tp5中的操作
    JS中在循环内实现休眠(for循环内setTimeout延时问题)
    一种开发软件的新思路,给Web页面穿个马甲,用web页面做软件UI,用C#(或者C++等其它语言)代码做功能 碧血黄沙
    高仿QQMusic播放器,浅谈WinForm关于UI的制作 碧血黄沙
    我的站(艾网城市生活新门户)重新上线了 碧血黄沙
    用WPF开发仿QQ概念版之MessageWindow开发以及Demo下载 碧血黄沙
  • 原文地址:https://www.cnblogs.com/YongQiVisionIMAX/p/13911003.html
Copyright © 2020-2023  润新知