数学方法
一、构造尺度空间
高斯差分金字塔(DoG pyramid) 是 SIFT 检测的基础。
物体在不同的观测尺度下有不同的表现形态。人在距离目标由近到远时,各尺度图像的模糊程度逐渐变大,尺度越大图像越模糊。图像高斯金字塔是一种图像的尺度空间,模拟人眼看到物体的远近程度以及模糊程度。
图像的尺度空间表达就是图像在所有尺度下的描述。尺度空间表达是由不同高斯核平滑卷积得到,在所有尺度上具有相同的分辨率,而高斯金字塔的多分辨率表达在每层分辨率减少。
高斯核是唯一可以产生多尺度空间的核。一个图像的尺度空间
定义为原始图像I(x,y) 与一个可变尺度二维高斯函数
的卷积运算。
尺度空间:
二维空间高斯函数:
输入图像I(x,y) 依次与标准差为的高斯核卷积,生成一组由常量因子 k 分隔的高斯平滑图像。
SIFT 将尺度空间细分为倍频程(八音度),每个倍频程对应于 σ 的加倍。倍频程是指音乐中的频率之比为 2 的两个频段之间的间隔,每个频段的上限频率是下限频率的 2倍,如 31.25、62.5、125、250、500、1K …。
SIFT 将每个倍频程细分为 n 个区间。对于行高为 M、列宽为 N 的图像,可以求得图像高斯金字塔的组数 O、每组的层数 S:
则:
式中 o 为组 Octave 的索引号,r 为组内各层的索引号,为各组各层中图像的高斯模糊系数,初值被设为
(考虑相机采样带来的模糊,修正为
。
二、检测局部极值
关键点是由高斯差分空间的局部极值点组成的。
关键点的初步探查是通过对同一组内各相邻层之间的高斯差分图像进行局部最大值搜索,在空间位置和尺度空间定位局部特征点。为了寻找局部极值点,每一个检测点要与其同尺度的 8 个相邻点及上下相邻尺度对应的 9*2 个点进行比较,以确保检测到尺度空间和图像空间的极值点。
-
SIFT 检测一个倍频程中两幅相邻尺度空间图像的高斯差的机制,然后与对应于这个倍频程的输入图像进行卷积。在实际计算中,对两个不同高斯尺度空间的图像相减,就得到高斯差分图像
:
Lindberg 证明尺度空间中的尺度不变性要求使用
对高斯差分算子进行归一化:
构造尺度空间和检测局部机制的具体实现步骤如下:
(1)对原图进行不同尺度的高斯模糊,得到一组图片,称为一个倍频程(Octave)。每个倍频程内的图片尺寸相同,高斯模糊系数 σ 不同;
(2)对第一个倍频程内的图片进行差分操作,得到一组差分数据;
(3)对第一个倍频程中最上面的图片进行高斯降采样,得到尺寸缩小的图片,再对缩小图片进行不同尺度的高斯模糊,得到一组尺寸缩小的图片。
(4)对第二个倍频程内的图片进行差分操作,得到一组差分数据;
(5)重复以上过程,得到各组差分数据。
三、资料
youcans_的博客:
https://blog.csdn.net/youcans/article/details/126018654
