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.

相关推荐
李日华大战鸡红9 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
Curious*9 小时前
意识障碍研究-论文阅读2
论文阅读
小蒋观天下9 小时前
专项方案:大场景港口AI安防、多干扰环境下的算法调优与落地实操
人工智能·深度学习·算法·安全·机器学习·计算机视觉·ai大模型
kkkkkkkkkk_Z10 小时前
新手自学嵌入式 | 学习日记:异常与中断基础、i.MX6ULL裸机开发环境搭建、GPIO模块与点灯原理
学习
福兮说10 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
m4Rk_11 小时前
【论文阅读】Agent 记忆机制(94):MemGen——在推理过程中动态生成并织入潜在记忆
论文阅读·人工智能·学习·开源·github
晓德11 小时前
0、LLM大模型安全学习系列(启)
学习·安全
Titan202412 小时前
MySQL索引学习笔记
笔记·学习·mysql
JWASX12 小时前
Java 转 go 学习 - kitex(5)
学习·golang
AOI小白新手上路13 小时前
VDMamba·AutoDL 复现笔记 · 学习笔记
笔记·学习