zoukankan      html  css  js  c++  java
  • SIFT算法

    介绍这个算法的网上的博客很多,这个百度一下就有很多篇,我写一下我的认识。

    前面考虑的一个图像的特征点是角点,这边提出了,图像的特征点可以是一个斑点,就像

    sf

    明显的就是部分向日葵的原型就是一个特征,而这样的特征就是斑点。不过在谈这个斑点检测的时候,我们先说一下边缘检测,边缘检测中比较有名的是Canny算法,这个这边不说,主要引出斑点检测。我们看下面一副图

    image

    我们可以知道的对于一维的(我们画一条线),边缘点是横坐标为线的长度,纵坐标为,线上的每个点对应的像素值,则边缘点也就是像素突兀最大的那个点,也就是一阶导数的极大值点。

    好,我们首先要给图像作一个预处理,高斯平滑,然后求一阶导数。

    image

    image

    σ指的是当前尺度,这边就涉及到尺度的概念。而很多人都证明了高斯核是实现尺度变换的唯一核,这边证明没有看懂

    一阶导数的极大值点:

    image

    其中,图像梯度向量:

    image

    梯度幅值表示边缘的强弱

    image

    梯度方向代表灰度变化最快的方向

    image

    我们再看一看一维的图,image

    image

    对于二阶求导使用拉普拉斯算子,这个就有点不太懂了,为什么它只是对x的二阶导+对y的二阶导,而没有其他项呢?

    二阶导数的过零点:

    image

    拉普拉斯算子:

    image

    图如下:

    image

    而对于斑点,可以认为是两个相邻的边缘组成。然后采用高斯的二阶导数跟图像进行卷积。即

    图像先进行高斯卷积(即高斯平滑)然后进行二阶求导

    image

    我们再看一下一维斑点的情况

    image

    斑点信号与高斯二阶导数卷积1的响应

    image

    发现尺寸为2的斑点,在卷积后响应值取得最大,且斑点尺寸正好等于高斯函数方差的2倍大小

    但是发现高斯二阶导数随着方差的增大呈阶梯衰减现象,然后为了去除方差导致的衰减现象,对其进行了尺度规范化处理

    image

    为什么规范化处理就是这个样子,是实验得到的呢,还是证明得到,怎么个证明法?这边不是太懂

    Lindeberg在文献《Scale-space theory: A basic tool for analysing structures at different scales》也指出尺度规范化的LoG算子具有真正的尺度不变性。没看得懂

    LoG算子即(Laplacion of Gaussian)

    image

    尺度规范化的LoG算子

    image

    然后呢David G. Lowe 发现

    image

    根据差分公式

    image

    移项发现

    image

    由于常数k-1并不会影响极值点的位置,即关键点中心的位置。

    于是David G. Lowe 引入了一种新的算子DoG(Difference of Gaussians)高斯差分算子。

    因此对斑点检测不要用规范化的LoG算子进行计算,而是通过相邻尺度高斯平滑后图像相减,因此简化了计算。

  • 相关阅读:
    About Me
    洛谷 P2633 Count on a tree
    【题解】牛客编程巅峰赛S1赛季第1场
    洛谷 P4132 [BJOI2012]算不出的等式
    洛谷 P5970 [POI2016]Nim z utrudnieniem
    DP没入门就入土
    洛谷 P4042 [AHOI2014/JSOI2014]骑士游戏
    洛谷 P3592 [POI2015]MYJ
    51Nod 1683 最短路
    51Nod 1327 棋盘游戏
  • 原文地址:https://www.cnblogs.com/fengbing/p/3075507.html
Copyright © 2011-2022 走看看