SIFT特征提取方法

1、SIFT简介

       SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述。这种描述具有尺度不变性,它对物体的尺度变化,刚体变换,光照强度和遮挡都具有较好的稳定性。算法实现特征匹配主要有三个流程:

  1. 提取特征点:搜索高斯尺度空间对于尺度和旋转不变的极值点;
  2. 特征点主方向确定:利用特征点邻域的梯度直方图确定特征点的主方向(梯度和最大的方向);
  3. 特征点描述:在特征点邻近区域生成描述算子(梯度直方图),生成4x4x8维的SIFT特征向量;
  4. 特征点匹配:使用欧氏距离计算关键点描述子的相似度。

2、高斯尺度空间

       两种图像在匹配的时候可能因为拍摄的距离、拍摄的角度问题,会导致在特征点提取的时候差异很大,所以我们希望SIFT的特征点可以具有尺度不变性和方向不变性。彩色图是三通道的,不好检测突变点。需要将RGB图转换为灰度图,此时灰度图为单通道,灰度值在0~255之间分布。而且当图像放大或者缩小时,它读取的特征点与原先可能差异很大,所以其中一个办法就是把物体的尺度空间图像集合提供给计算机,让它针对考虑不同尺度下都存在的特征点。

       高斯核是唯一可以产生多尺度空间的核,在输入的图像模型中,通过高斯模糊函数连续的对尺度进行参数变换,最终得到多尺度空间序列。图像中某一尺度的空间函数 L(x ,y, σ)由可变参数的高斯函数 G(x, y, σ)和原输入图像I(x ,y)卷积得出:

SIFT特征提取方法

SIFT特征提取方法

 

 

在早期图像的多尺度通常使用图像金字塔表述形式。图像金字塔是同一图象在不同的分辨率下得到的一组结果,其生成过程一半包含两个步骤:

  1. 对图像做高斯平滑(高斯模糊);
  2. 对图像做降采样,降维采样后得到一系列尺寸不断缩小的图像。

SIFT特征提取方法

 

       传统的SIFT算法是通过建立高斯差分函数(DOG) 方法来提取特征点。首先,在不同尺度参数的组数中,高斯差分图像是由某一相同尺度层的相邻图像作差值 得出。然后,将得到的差分图像与原图像 I(x, y)做卷积得到公式(3)的 DOG 函数:

SIFT特征提取方法

 

       从上式可以知道,将相邻的两个高斯空间的图像相减就得到了DOG的响应图像。为了得到DOG图像,先要构造高斯尺度空间,而高斯的尺度空间可以在图像金字塔降维采样的基础上加上高斯滤波得到,也就是对图像金字塔的每层图像使用不同的尺度参数σ进行高斯模糊,使每层金字塔有多张高斯模糊过的图像,然后我们把得到的同一尺寸大小的图像划分为一组。

 

 参考链接:

https://blog.csdn.net/zhou4411781/article/details/100713402

上一篇:SIFT算法简介


下一篇:Apache Maven 入门篇 ( 上 )