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.

相关推荐
试剂界的爱马仕2 分钟前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
指针向南21 分钟前
PDF 转 HTML 免费5种方法,体积0.5%到368%
图像处理·人工智能·计算机视觉·pdf
小向是个Der28 分钟前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍42 分钟前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent1 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
小oo呆1 小时前
【学习心得】MCP工具开发学习笔记
笔记·学习
kyrie_sakura1 小时前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus
女神下凡2 小时前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
星恒随风2 小时前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
陕西亿鑫鸿物联技术有限公司2 小时前
传统安防利旧升级实战:如何基于边缘计算接入海康大华IPC构建AI分析系统?
深度学习·计算机视觉·边缘计算·物联网架构·流媒体技术