计算机视觉---SIFT特征提取与检索

本文深入探讨SIFT特征在图像处理中的应用,介绍了尺度空间、高斯金字塔和DOG关键点检测等概念。通过实验展示了SIFT特征匹配和RANSAC算法在去除错配点上的效果,分析了景深丰富和单一场景下的匹配表现,揭示了SIFT的尺度不变性和实时性,同时指出了其局限性。
摘要由CSDN通过智能技术生成

SIFT特征介绍

是用于图像处理领域的一种描述。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。可用于特征匹配和特征检测。

运算流程

在这里插入图片描述

特征点匹配流程:

  1. 提取关键点
  2. 对关键点附加详细的信息
  3. 通过特征点的两两比较找出相互匹配的若干特征点,建立景物之间的联系。

相关概念

尺度空间

尺度空间是试图在图像领域中模拟人眼观察物体的概念与方法。例如:观察一颗树,关键在于我们想要观察是树叶子还是整棵树:如果是一整棵树(相当于大尺度情况下观察),那么就应该去除图像的细节部分。如果是树叶(小尺度情况下观察),那么就该观察局部细节特征。
SIFT算法在构建尺度空间时候采取高斯核函数进行滤波,使原始图像保存最多的细节特征,经过高斯滤波后细节特征逐渐减少来模拟大尺度情况下的特征表示。
利用高斯核函数进行滤波的主要原因有两个:
(1)高斯核函数是唯一的尺度不变核函数。
(2)DoG核函数可以近似为LoG函数,这样可以使特征提取更加简单。
表示:
L(x, y, σ) ,定义为原始图像 I(x, y)与一个可变尺度的2维高斯函数G(x, y, σ) 卷积运算。
在这里插入图片描述
*表示卷积运算,(x,y)代表图像的像素位置。是尺度空间因子,值越小表示图像被平滑的越少,相应的尺度也就越小。大尺度对应于图像的概貌特征,小尺度对应于图像的细节特征。

高斯金字塔

尺度空间在实现时使用高斯金字塔表示。
高斯金字塔的构建分为两步:
(1)对图像做高斯平滑;
(2)对图像做降采样。

在这里插入图片描述
高斯图像金字塔共o组、s层,表示如下:
在这里插入图片描述
σ:尺度空间坐标;s:sub-level层坐标;σ0:初始尺度;S:每组层数(一般为3~5)。
最后可将组内和组间尺度归为:
在这里插入图片描述
i:金字塔组数
n:每一组的层数

关键点检测 DOG

1.Dog函数:
在这里插入图片描述
2.DoG高斯差分金字塔
(1)对应DOG算子,需构建DOG金字塔。
可以通过高斯差分图像看出图像上的像素值变化情况。(如果没有变化,也就没有特征。特征必须是变化尽可能多的点。)DOG图像描绘的是目标的轮廓。
在这里插入图片描述
(2)DOG局部极值检测
特征点是由DOG空间的局部极值点组成的。为了寻找DoG函数的极值点,每一个像素点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。
在这里插入图片描述
中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。
(3)去除边缘响应
由于DoG函数在图像边缘有较强的边缘响应,因此需要排除边缘响应。DoG函数的峰值点在边缘方向有较大的主曲率,而在垂直边缘的方向有较小的主曲率。主曲率可以通过计算在该点位置尺度的2×2的Hessian矩阵得到,导数由采样点相邻差来估计:
在这里插入图片描述
D的主曲率和H的特征值成正比。令 α ,β为特征值,则
在这里插入图片描述
该值在两特征值相等时达最小。Lowe论文中建议阈值T为1.2,即
在这里插入图片描述
时保留关键点,其余剔除。

RANSAC算法介绍

当我们被给定了一堆点的时候,为了更好地分析这些点所代表的意义,能更好地进行分析,我们需要从这些点中抽象出一个模型,或者说用这些点去拟合出一个合适的模型,实现这个目标还有另一种方法就是最小二乘法。最小二乘法是通过最小误差的平方和来寻找数据的最佳模型。这种方法的缺点就是,当其他点可以拟合一个模型,但是出现了一个重大误差点,这时候就会使拟合出来的模型偏离本身,RANSAC就是解决这个问题的。

RANSAC原理:

  1. OpenCV中滤除误匹配对采用RANSAC算法寻找一个最佳单应性矩阵H,矩阵大小为3×3。RANSAC目的是找到最优的参数矩阵使得满足该矩阵的数据点个数最多,通常令 h 33 = 1 h_{33}=1 h33=1来归一化矩阵。由于单应性矩阵有8个未知参数,至少需要8个线性方程求解,对应到点位置信息上,一组点对可以列出两个方程,则至少包含4组匹配点对。

s [ x ′ y ′ 1 ] = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] [ x y 1 ] s\begin{bmatrix}x'\\y'\\1\end{bmatrix}=\begin{bmatrix}h_{11}&h_{12}&h_{13}\\h_{21}&h_{22}&h_{23}\\h_{31}&h_{32}& h_{33}\end{bmatrix}\begin{bmatrix}x\\ y\\1\end{bmatrix} sxy1=h11h21h31h12h22h32h13h23h33xy1

其中(x,y)表示目标图像角点位置,(x’,y’)为场景图像角点位置,s为尺度参数。
2.RANSAC算法从匹配数据集中随机抽出4个样本并保证这4个样本之间不共线,计算出单应性矩阵,然后利用这个模型测试所有数据,并计算满足这个模型数据点的个数与投影误差(即代价函数),若此模型为最优模型,则对应的代价函数最小。
∑ i = 0 n ( x i ′ − h 11 x i + h 12 y i + h 13 h 31 x i + h 32 y i + h 33 ) 2 + ( y i ′ − h 21 x i + h 22 y i + h 23 h 31 x i + h 32 y i + h 33 ) 2 \sum_{i=0}^{n}(x_i'-\frac{h_{11}x_i+h_{12}y_i+h_{13}}{h_{31}x_i+h_{32}y_i+h_{33}})^{2}+(y_i'-\frac{h_{21}x_i+h_{22}y_i+h_{23}}{h_{31}x_i+h_{32}y_i+h_{33}})^{2} i=0n(xih31</

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值