SIFT算法概念理解

Posted on 2016-05-05

SIFT一直用,但是最近因为做报告不得不认真看了它的原理,在浏览很多博客之后结合自己的理解写下来,以便他日有人遇到遇到和我相同的问题时,于此有所收获。

SIFT(Scale invarient feature transform)最经典的在于其尺度不变性。 常用于图片局部特征提取与图片识别。(视频也可,将视频看作连续帧的图片即可)

SIFT的优越性

对于图像被防缩,拍摄角度发生变化,光照变化时。依然可以建立匹配关系,并识别

怎么理解尺度?

可以理解为观察者处于不同位置,不同角度观察某一场景或者物体。例如用显微镜查看叶片的脉络和站在十米开外百步穿杨(假设观察对象是同一片杨树叶)时两者的观察状态,就是在不同尺度。

从信号学的角度看,如果原图像是一个信号,不同尺度下的图像就可以理解为一系列不同的信号,不同尺度下的信号叠加,卷积后还原原始图像。

SIFT的工序

  • 1、提取特征点
  • 2、特征点描述
  • 3、比较两幅图像找出匹配的特征点,建立对应关系

    什么是特征点:

    image 显性角度:

特征点可不是我们通过肉眼就明显知道的哟,除了部分十分强烈的噪点,比如黑暗中的亮点。他们不会因为光照条件的改变的变化就完全消失,這样的稳定点,才能帮助SIFT做匹配。

数学角度:

特征点是尺度空间内利用henssian矩阵获取图像局部最值后所对应的点。(目前Sift都是基于灰度图所做,彩色的我们拭目以待)

特征点描述

找到這样的稳定的特征点,怎么描述成量化的东西?這就是描述子的工作。

利用特征点领域内像素的梯度方向分布特性为每个特征点指定方向参数。

以特征点为中心,在其领域内16X16像素窗内采样,在每个4x4的1/16象限中,通过加权梯度值加到直方图8个方向区间中的一个,计算出一个梯度方向直方图。 这样就可以对每个feature形成一个4X4x8=128维的描述子,每一维都可以表示4*4个格子中一个的scale/orientation. 将这个向量归一化之后,就进一步去除了光照的影响。

image

128个描述子最终表示为128维的特征向量。

其中还有大量的数学知识,求高斯卷积,高斯差分等等,太Math了,我就不赘述了。

同时附上我认为写的比较好的别人的详细解释,以及官方SIFT算法的PPT下载。


最后SIFT已经有Online版了,不想配置,只是看看效果的,传送门在這里!

IPOL Journal · Image Processing On Line

SIFT详解

PPT讲解

PDF详解(结尾有彩蛋)


蚊子再小也是肉~
本站总访问量 本站访客数