SIFT的一些内容

最近在看之前用过的SIF方法代码, 这个代码用来实现运动跟踪匹配,主要是根据得到的匹配对来计算二维的旋转平移矩阵。

1.1 什么是 SIFT?

SIFT,全称为 Scale-Invariant Feature Transform(尺度不变特征变换),是一种用于图像特征检测和描述的经典算法。它通过提取图像中的局部关键点,并为每个关键点生成具有尺度和旋转不变性的描述子,使其能够在不同的图像中进行特征匹配。SIFT 算法尤其适合处理视角变化、尺度变换、部分遮挡和光 照变化的问题,因此被广泛应用于计算机视觉领域。

1.2 SIFT 的发展历程

SIFT 由计算机科学家 David G. Lowe 于 1999 年首次提出,并在 2004 年发表的论文《Distinctive Image Features from Scale-Invariant Keypoints》中进一步完善。其革命性的设计使得 SIFT 成为了特征提取领域的重要里程碑。

虽然 SIFT 曾因专利保护限制了开源使用,但随着专利过期(美国专利于 2020 年到期),SIFT 再次成为开源社区的重要工具,并在许多实际项目中被广泛应用。

此外,SIFT 的思想也启发了许多后续算法的诞生,例如 SURF(Speeded-Up Robust Features)和 ORB(Oriented FAST and Rotated BRIEF),进一步推动了特征提取技术的发展

主要流程是:

输入图像

构建高斯金字塔

构建DOG金字塔

尺度空间极值检测

关键点筛选

计算SIFT描述子

特征匹配(NN + ratio test)

RANSAC去除错误匹配

计算几何变换矩阵

代码涉及了:

尺度空间理论Gaussian Pyramid;

特征检测DoG Blob Detection

特征描述SIFT Descriptor

特征匹配Nearest Neighbor;Ratio Test

误匹配剔除RANSAC

几何估计Homography / Affine / Similarity

1. 尺度空间理论

通过不同尺度的高斯模糊构建多尺度图像,在空间 + 尺度中寻找稳定结构

主要体现在 两个金字塔结构:

1️⃣ Gaussian Pyramid(高斯金字塔)

2️⃣ DoG Pyramid(差分高斯金字塔)

这两个正是 SIFT 构建 尺度空间(Scale Space) 的核心步骤。

SIFT (Scale-Invariant Feature Transform) 是一种经典的图像特征检测与描述算法,由 David G. Lowe 在 1999--2004 年提出。它的核心目标是:

在图像中找到稳定且具有辨识度的关键点(Keypoints),并为这些关键点生成特征描述子(Descriptor),从而实现不同图像之间的匹配。】

2. 特征检测DoG Blob Detection

DoG Blob Detection = 在尺度空间中检测"斑点结构(blob)"的极值点。



3. 特征描述SIFT Descriptor





为什么要实现旋转不变形以及为什么什么是关键点的主方向





也就是说,对于两张待匹配的图像,先计算特征点,然后计算特征点的描述子。 为了使得特征点的描述子具有旋转一致性,对每个特征点都先计算主方向,然后还原到0时,再计算描述子。这样描述子都是在主方向为0°时候的。就可以进行后续匹配。

4. 特征匹配Nearest Neighbor;Ratio Test

特征匹配(Feature Matching) 就是把两张图中的特征点对应起来。Nearest Neighbor

SIFT 中常用的就是Nearest Neighbor (最近邻)+Ratio Test (比例测试)

最近邻匹配的思想:找到描述子距离最小的那个特征点。


描述子每个维度是什么数值? 为什么可以相减,有什么含义


SIFT描述子的每个维度

表示某个局部区域中某个方向的梯度强度(边缘能量)。

描述子可以相减

因为它是一个描述局部结构的向量,向量差异表示结构差异。

这里欧氏距离的含义 用来表示两个关键点周围局部结构的相似程度。

5.误匹配剔除RANSAC

SIFT 特征匹配中,即使经过 Nearest Neighbor + Ratio Test,仍然会存在一些 错误匹配(outliers)。因此需要一个方法把这些错误匹配剔除掉,这一步通常使用 RANSAC。

Ransac就是对匹配的点集对进行筛选。




6. 计算几何变换矩阵



7. SVD求解




8.SIFT涵盖的步骤


参考文献

SIFT 全面解析:原理、实现与应用
万字长文详解SIFT特征提取
SIFT算法原理:SIFT算法详细介绍

Lowe D G. Object recognition from local scale-invariant featuresC//Proceedings of the seventh IEEE international conference on computer vision. Ieee, 1999, 2: 1150-1157.

Lowe D G. Distinctive image features from scale-invariant keypointsJ. International journal of computer vision, 2004, 60(2): 91-110.

相关推荐
兵慌码乱6 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
小小杨树8 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
通信小呆呆10 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick10 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee10 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
计算机科研狗@OUC10 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
Alsn8610 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e10 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨10 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙