Loading

高光谱拼接算法(五)SIFT 的变体与发展

前两篇完整展开了 SIFT 的算法逻辑,本篇关于其后续变体和这类特征检测和匹配算法的发展,更类似于综述一些,之后再完整展开部分现代算法。

1. SIFT 的局限和改进路线

在前两篇的内容里我们已经知道:从 DoG 尺度空间开始,到关键点检测、亚像素定位、方向分配,再到 128 维描述子的构建和最终匹配,SIFT 建立了一套完整且高度系统化的局部特征提取管道。解决了局部特征中的多个核心问题,如尺度不变性、旋转不变性和一定程度上的光照变化鲁棒性等。

直今,SIFT 依然是评价局部特征算法的重要基准之一。

但没有完美的算法,随着应用场景越来越复杂,人们发现 SIFT 仍然存在一些明显的不足:

问题 影响
计算速度较慢 难以满足实时视觉任务
描述子维度较高(128维) 存储和匹配开销较大
对大视角变化支持有限 大倾角拍摄时匹配性能下降
没有充分利用颜色、多光谱等信息 在特殊数据上表现受限

自然,在 SIFT 提出后的二十多年里,大量研究工作开始围绕这些问题不断改进,并提出变体和新算法。

基于这些,本篇内容围绕以下问题展开:

SIFT 的变体是否像其他领域一样将 SIFT 这样的起点算法完全取代?特征检测算法是否有了新的突破?DL 盛行的当下,SIFT 现代价值是怎么样的?

为了较清晰地回答这些问题,可以大致将后续发展分为以下四类:

  1. 让 SIFT 更快。
  2. 让 SIFT 的描述能力更强、匹配更加准确
  3. 让 SIFT 能适应更多特殊应用场景
  4. 深度学习方法

前三类工作虽然采用的方法各不相同,但都没有脱离 SIFT 的整体框架
真正改变这一领域发展方向的还是最后的深度学习时代:以数据驱动的逻辑重新设计特征检测与匹配算法。

6de0a39a-18cf-446c-9491-6ec5449054e0.png

2. 第一条路线:让 SIFT 更快

那一大串复杂的算法管道让 SIFT 精度有了保障,在很长一段时间里,它一直都是局部特征匹配精度的标杆。

但相应地,SIFT 的计算速度也限制了它的广泛应用:它几乎每一步都需要大量计算,这些操作共同带来了较大的计算开销。

对于图像拼接而言,这样的速度通常还能接受,因为拼接更关注最终精度。
但对于另外一些视觉任务,例如视频实时处理、机器人定位、自动驾驶等领域,算法往往需要达到几十帧甚至上百帧每秒(FPS)的处理速度。

此时,SIFT 的计算量就成为最大的瓶颈。改进想法自然出现:

能否保留 SIFT 的整体思想,尝试把那些计算最耗时的部分换成更简单、更快速的实现?

SURF,就是围绕这个问题诞生的。

2.1 SURF:用近似计算换取速度

2006 年,论文 SURF: Speeded Up Robust Features 提出了 SURF,它的目标十分直接:

在尽量保持 SIFT 匹配性能的前提下,大幅提高计算速度。

SURF 几乎保留了 SIFT 的整个处理流程,但在每一个计算量最大的地方,都寻找了一种更加高效的替代方案。

先摆个表格整体来看,二者的对应关系如下:

SIFT SURF
DoG 检测器 Hessian 行列式
高斯卷积 Box Filter(箱式滤波)
梯度计算 Haar 小波响应
128维描述子 64维描述子

下面来简要展开一下:

2.2 Box Filter 和积分图

SIFT 为了计算 LoG,需要不断进行高斯卷积,高斯卷积虽然精确,但卷积核越大,计算量也越大。

于是 SURF 采用了一种更简单的近似方法:Box Filter(箱式滤波器)

8341caac-b7c3-4beb-b272-f8f27fe482f8.png

如图所示,Box Filter 其实就是用了更简单的权重取代高斯核。
这样,SURF 不再需要像 SIFT 那样不断建立高斯金字塔,而是直接通过改变滤波器尺寸来模拟不同尺度。

而与其搭配使用的是一种数据结构:积分图(Integral Image),它本质上是一张累加表:

\[I_{\Sigma}(x,y)= \sum_{i=0}^{x}\sum_{j=0}^{y}I(i,j) \]

8b71ab02-ccac-41bd-aea6-7d3e0e50683e.png

同样如图,积分图和 Box Filter 的配合起到了如下作用:

任意矩形区域内的像素和,都可以通过四次加减运算直接得到。配合 Box Filter 的简化权重,可以让卷积不再逐个加权求和,而是通过常数级的计算构建金字塔。

这是整个算法能够加速的基础。

2.2 进一步简化描述子

除去对检测器的加速外,SURF 对描述子的计算也进行了简化。

SIFT 在每个子区域统计多个方向的梯度直方图,最终得到 128 维描述子。
而 SURF 则采用 Haar 小波响应(其实就是差分),只统计四个统计量:

\[\sum d_x,\quad \sum|d_x|,\quad \sum d_y,\quad \sum|d_y| \]

cda1ecd8-b4c1-416d-bf4e-014100c4d4fd.png

这样,最终描述子维度变为了 64 维,后续匹配速度进一步提高。

经过这一系列近似替换,SURF 在保持较高匹配性能的同时,大幅降低了计算复杂度,在典型情况下,比 SIFT 约快 2~5 倍
但实际加速比例会受到图像规模、特征点数量以及具体实现方式等因素影响,因此不同实验中的速度提升并不存在统一数值。

最终,RootSIFT 几乎不增加任何额外计算,却能够显著提升匹配效果,因此被认为是"性价比最高"的 SIFT 改进之一,在许多工程实践中已经成为默认配置。

3. 第二条路线:让描述子更精确

SURF 解决了 SIFT 的速度问题。

但研究者们很快便发现了新的优化空间:SIFT 使用 128 维梯度直方图获取的描述子信息丰富,区分能力强,但带来了两个问题:

  1. 维度较高: 需要更大的存储开销和更慢的匹配速度。
  2. 各维度的重要性并不完全相同: 有些方向上的梯度特别强,而另一些方向虽然较弱,却同样包含着有价值的信息。

于是便有了另一种优化思路:

能不能保持 SIFT 检测器不变,只改描述子本身的获取逻辑来提升精度?

随后几年,大量工作开始围绕描述子展开。

3.1 RootSIFT:改动最小,收益最大

2012 年,论文 Three things everyone should know to improve object retrieval 提出的 RootSIFT 是一个改动极小的变体,它唯一修改的,仅仅是最后一步:描述子的归一化方式。

SIFT 在得到描述子以后,会进行 L2 归一化:

\[\mathbf h_{SIFT} = \frac{\mathbf h} {\|\mathbf h\|_2} \]

这样可以减弱整体亮度变化带来的影响。

但研究者发现,仅使用 L2 归一化仍然存在一个问题:
假设某个方向上的梯度特别强,欧氏距离会更多关注最大的那个数值,80 与 79 的差异往往比 3 与 1 的差异更加影响最终距离。
但对于局部特征来说,那些较小的梯度方向,同样可能包含着重要的信息。

于是,RootSIFT 把最后一步改成了少见的 L1 归一化后再开平方:

\[\mathbf h_{RootSIFT} = \sqrt{ \frac{\mathbf h} {\|\mathbf h\|_1} } \]

整个改动,就只有这一行公式,但它在多个公开数据集上,都获得了约 10%~20% 的匹配精度提升。

其逻辑可以这么理解:

RootSIFT 会削弱那些特别大的梯度响应,让原本较弱的方向拥有更多的话语权,这样,描述子的各个维度能够更加均衡地参与匹配。

3.2 PCA-SIFT:更精简的描述子

除了提高精度,还有另一部分研究者提出了一个问题:

128 维描述子中是否存在冗余?

还是图像数据的偏置:相邻方向之间、相邻网格之间,本身就存在较强相关性。
因此,128 维之间并不是完全独立的,能不能把这些重复的信息压缩掉?

04 年,论文 PCA-SIFT: A More Distinctive Representation for Local Image Descriptors 提出了 PCA-SIFT,显然,其关键技术是我们之前展开过的 PCA

但其改进了 PCA 的使用思路,做法是这样的:

对大量训练图像提取 SIFT 描述子组成矩阵进行 PCA,取最终结果中固定维度的主成分组成投影矩阵,对之后新的描述子直接使用该投影矩阵降维。

0ecd47a5-833a-412a-a7ce-834e311355c3.png

这么做是因为如果两张图各自 PCA,那么同一个点投影以后就在不同坐标系,描述子无法比较,所以必须都用同一个 PCA。

直观来看这样不仅减少了存储空间,也提高了匹配速度。
但由于 PCA 投影矩阵需要提前训练,让其泛用性较低:自然图像训练得到的投影矩阵,未必适用于遥感图像;可见光训练得到的模型,也未必适用于高光谱图像。

因此,PCA-SIFT 虽然理论出色,但实际应用远没有 RootSIFT 广泛。

3.3 GLOH:重新设计描述子

此外,还有一部分工作,则没有选择修改归一化方式,也没有选择降维,而是重新设计描述子的空间结构。

其中比较具有代表性的是 05 年的论文 **A Performance Evaluation of Local Descriptors 提出的 GLOH(Gradient Location and Orientation Histogram),其采用 极坐标划分同心圆后统计方向 的方式生成描述子:

109342a5-a8a0-406b-b77b-805153d27013.png

这种结构更加符合图像中局部区域的几何分布,因此理论上能够表达更多空间信息。

但这也意味着更复杂的计算,而且最终 GLOH 仍然需要利用 PCA 再次降到 128 维。
虽然实验结果表明,它的描述能力略优于 SIFT,但是提升并不算明显,而实现复杂度却增加了不少。
因此,这类方法更多还是停留在学术研究中。

4. 第三条路线:让 SIFT 适应更多场景

经过前面的改进,SIFT 的速度越来越快,描述子也越来越成熟。

但在不断实验中,研究者们发现 SIFT 还存在一点局限:它的不变性其实是有限的,当两张图像之间存在较大的拍摄角度变化,比如无人机俯视拍摄或者手持相机斜拍建筑时,SIFT 的匹配性能会明显下降。

因为这些情况下,同一个物体在图像中的形状已经发生了明显拉伸。
这种变化已经不再是简单的旋转或缩放,而属于仿射变换(Affine Transformation) 的范畴了:

一种介于刚体变换(只允许平移和旋转,保持长度与角度)和更一般的投影变换之间的几何模型,能够很好地描述许多实际拍摄场景中的局部形变,是计算机视觉中应用最广泛的变换模型之一。

7ee88804-eda0-4771-8a9a-17e56c02f33d.png

而对这类情况的处理思路其实我们已经见过很多次了:

既然 SIFT 无法直接适应这种变化,那就想办法主动"制造"这些变化让模型提前适应。

ASIFT,就是这一思路下具有代表性的工作。

4.1 ASIFT:模拟仿射变换

09 年,论文 ASIFT: A New Framework for Fully Affine Invariant Image Comparison 提出了 ASIFT,相比上面各种改进,它的思路显得非常简单,连 SIFT 本身都几乎没有修改,它只是增加了一步:

在运行 SIFT 之前,先人为模拟不同拍摄角度下的图像。

整个流程如下:
37755218-698a-4aba-ad01-edeecceda8e9.png

最终,同一张图像会扩展成几十张不同视角的图像,每一张都运行一次完整的 SIFT,因此,它能够覆盖绝大多数真实拍摄角度。

ASIFT 大幅提高了大视角变化下的匹配成功率, 但代价也同样明显:整体计算量几乎增加了几十倍。

所以在很多工程中,如果只是普通无人机航拍,通常不会使用 ASIFT。只有在大倾角摄影、建筑摄影等特殊任务中,它才真正发挥价值。

4.2 进一步细分特殊场景

ASIFT 之后,一种特征检测领域的共识逐渐出现:

不存在一种能够适用于所有数据的局部特征。

于是,越来越多针对特殊场景的 SIFT 变体开始出现,列举如下:

变体 解决的问题
ASIFT 大视角变化
Color SIFT / CSIFT 利用颜色信息
SAR-SIFT SAR 图像中的相干斑噪声
光谱 SIFT 多光谱、高光谱数据

这些工作已经不再追求设计一种新的通用算法,而是根据不同数据特点,不断对 SIFT 的某一个模块进行定制。

至此,SIFT 家族已经发展得相当成熟,几乎所有能够改进的方向,都已经有人尝试过。

那么,新的突破还能来自哪里?

5. 其他传统特征检测算法

在进入 DL 前,要说明的是虽然传统特征检测算法中 SIFT 可以说是最高的山,但这个领域同样存在其他优秀作品。
其中,11 年的论文 ORB: an efficient alternative to SIFT or SURF 提出的 ORB(Oriented FAST and Rotated BRIEF) 以实时性为目标,采用 FAST 关键点检测和二值描述子,大幅降低了特征提取与匹配的计算开销,因此被广泛应用于 SLAM、视觉定位以及移动端视觉等对速度要求较高的场景。

此外,还有 12 年 KAZE Features提出的 KAZE(这不是英文缩写,而是日语"风"的读音):它重新设计了传统的高斯尺度空间,引入非线性扩散构建尺度空间,在保持边缘结构的同时完成多尺度分析,并进一步发展出计算效率更高的 AKAZE。

到此为止,上面的所有算法仍然属于人工设计特征(Handcrafted Features) 的范畴,即研究者根据经验设计关键点检测器和描述子,只是在速度、尺度空间或描述方式等方面进行了不同方向的优化。
而真正改变局部特征发展方向的,是下面的深度学习方法:它们开始利用大量数据自动学习如何检测关键点、构建描述子以及建立匹配关系。

6. DL:数据驱动的特征检测

DL 领域的常见逻辑就是让模型自己去学以前我们手工设计的特征,在特征检测中也不例外:

既然神经网络能够学习图像分类、目标检测,那么它能不能自己学会什么叫"好的局部特征"?

这部分如果展开内容较多,DL 相关的算法内容之后会再单独详细展开。

6.1 第一阶段:网络开始学习关键点

18 年,论文 SuperPoint: Self-Supervised Interest Point Detection and Description 提出了 SuperPoint,第一次让神经网络同时完成关键点检测和描述子生成。

其大致流程是这样的:

ec7d3c3c-87c4-4b8d-992a-f46cdad5b3ff.png

总之,现在网络不再依赖固定公式,而是通过大量数据学习:

什么样的位置最容易重复检测,什么样的描述子最容易区分。

6.2 第二阶段:网络开始学习匹配

虽然 SuperPoint 已经能够学习检测器,但是后面的匹配过程仍然和传统方法类似:

于是,又有人提出新的问题:

为什么匹配规则也要人为设计?

20 年的论文 SuperGlue: Learning Feature Matching with Graph Neural Networks 提出的 SuperGlue 便第一次尝试让网络直接学习哪些点应该互相匹配。

b10c6518-102a-45eb-bfca-be9247a4d061.png

相比传统最近邻匹配,它在复杂场景下具有明显更好的鲁棒性。

6.3 第三阶段:无检测器匹配

进入 20 年度,一个更大胆思路出现了:

为什么一定要先检测关键点?如果整幅图像都交给网络,是不是也能够直接找到对应关系?

于是,21 年的 LoFTR: Detector-Free Local Feature Matching with Transformers 出现了,其提出的 LoFTR 最大的特点就是彻底放弃关键点检测。

d4cf05e0-2d24-4f15-9931-3e8011516278.png

现在,网络直接学习整幅图像中,哪些位置应该互相对应。这种方法被称为:Detector-Free Matching(无检测器匹配)。
但需要注意的是,Detector-Free 并不意味着完全没有"特征",而是网络不再显式检测离散关键点,而是直接在稠密特征图上建立对应关系。

相比传统稀疏特征,LoFTR 能够获得更加密集的匹配结果,尤其是在传统方法几乎检测不到关键点的背景区域,仍然能够建立稳定对应关系。

这也是近年来图像匹配领域最重要的发展方向之一。

6.4 后续的发展

当然,局部特征的发展并没有停止。近年来,研究者围绕检测器设计、描述子学习、训练策略、推理效率以及匹配算法等多个方向持续优化,部分成果简单列举如下:

方法 主要改进方向 核心思想
D2-Net: A Trainable CNN for Joint Description and Detection of Local Features 检测器 + 描述子联合学习 将关键点检测与描述子提取融合,直接从深层特征中同时获得关键点和描述子。
R2D2: Repeatable and Reliable Detector and Descriptor 检测器设计、训练策略 在训练过程中同时学习关键点的可重复性和可靠性,筛选更稳定、更适合匹配的特征点。
DISK: Learning local features with policy gradient 训练策略 将关键点检测视为可学习的决策过程,采用强化学习思想优化检测与描述,使匹配性能直接驱动网络训练。
LightGlue: Local Feature Matching at Light Speed 匹配速度、推理效率 在匹配阶段采用轻量级 Transformer,并根据匹配难度动态调整计算量,实现更快、更高效的特征匹配。

7. 总结

最后,一个很自然的问题是:

既然深度学习已经成为主流,SIFT 是否已经没有价值了?

答案是否定的。直到今天,SIFT 仍然具有不可替代的重要地位:它是大量算法的重要基线,在很多数据获取困难的工程场景中,SIFT 依然具有很高的实用价值。

就像我们之前提到的高光谱遥感,此外还有医学影像等领域,往往缺乏足够规模的训练数据。相比需要大量数据训练的深度学习模型,SIFT 仍然能够提供稳定、可靠且可解释的匹配结果。
反而是 DL 方法在这些领域由于数据驱动的特性显露出了部分局限,因此小样本、自监督学习甚至零样本学习也成为了 DL 的重要研究方向。

而总结来看,从 SIFT 到现在的 DL 方法,局部特征的发展都围绕着三个核心问题:

  1. 如何找到更稳定的关键点?
  2. 如何构建更具判别性的描述子?
  3. 如何建立更加准确、高效的匹配关系?

无论是 SIFT、SuperPoint、LoFTR ,还是其他现有算法,它们本质上仍然围绕这三个问题不断演进。

posted @ 2026-07-03 12:16  哥布林学者  阅读(55)  评论(0)    收藏  举报