SIFT 的变体与发展
在前两篇的内容里我们已经知道从 DoG 尺度空间开始到关键点检测、亚像素定位、方向分配再到 128 维描述子的构建和最终匹配SIFT 建立了一套完整且高度系统化的局部特征提取管道。解决了局部特征中的多个核心问题如尺度不变性、旋转不变性和一定程度上的光照变化鲁棒性等。直今SIFT 依然是评价局部特征算法的重要基准之一。但没有完美的算法随着应用场景越来越复杂人们发现 SIFT 仍然存在一些明显的不足问题 影响计算速度较慢 难以满足实时视觉任务描述子维度较高128维 存储和匹配开销较大对大视角变化支持有限 大倾角拍摄时匹配性能下降没有充分利用颜色、多光谱等信息 在特殊数据上表现受限自然在 SIFT 提出后的二十多年里大量研究工作开始围绕这些问题不断改进并提出变体和新算法。基于这些本篇内容围绕以下问题展开SIFT 的变体是否像其他领域一样将 SIFT 这样的起点算法完全取代特征检测算法是否有了新的突破DL 盛行的当下SIFT 现代价值是怎么样的为了较清晰地回答这些问题可以大致将后续发展分为以下四类让 SIFT 更快。让 SIFT 的描述能力更强、匹配更加准确。让 SIFT 能适应更多特殊应用场景。深度学习方法。前三类工作虽然采用的方法各不相同但都没有脱离 SIFT 的整体框架。真正改变这一领域发展方向的还是最后的深度学习时代以数据驱动的逻辑重新设计特征检测与匹配算法。6de0a39a-18cf-446c-9491-6ec5449054e0.png第一条路线让 SIFT 更快#那一大串复杂的算法管道让 SIFT 精度有了保障在很长一段时间里它一直都是局部特征匹配精度的标杆。但相应地SIFT 的计算速度也限制了它的广泛应用它几乎每一步都需要大量计算这些操作共同带来了较大的计算开销。对于图像拼接而言这样的速度通常还能接受因为拼接更关注最终精度。但对于另外一些视觉任务例如视频实时处理、机器人定位、自动驾驶等领域算法往往需要达到几十帧甚至上百帧每秒FPS的处理速度。此时SIFT 的计算量就成为最大的瓶颈。改进想法自然出现能否保留 SIFT 的整体思想尝试把那些计算最耗时的部分换成更简单、更快速的实现SURF就是围绕这个问题诞生的。2.1 SURF用近似计算换取速度#2006 年论文 SURF: Speeded Up Robust Features 提出了 SURF它的目标十分直接在尽量保持 SIFT 匹配性能的前提下大幅提高计算速度。SURF 几乎保留了 SIFT 的整个处理流程但在每一个计算量最大的地方都寻找了一种更加高效的替代方案。先摆个表格整体来看二者的对应关系如下SIFT SURFDoG 检测器 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它本质上是一张累加表8b71ab02-ccac-41bd-aea6-7d3e0e50683e.png同样如图积分图和 Box Filter 的配合起到了如下作用任意矩形区域内的像素和都可以通过四次加减运算直接得到。配合 Box Filter 的简化权重可以让卷积不再逐个加权求和而是通过常数级的计算构建金字塔。这是整个算法能够加速的基础。2.2 进一步简化描述子#除去对检测器的加速外SURF 对描述子的计算也进行了简化。SIFT 在每个子区域统计多个方向的梯度直方图最终得到 128 维描述子。而 SURF 则采用 Haar 小波响应其实就是差分只统计四个统计量cda1ecd8-b4c1-416d-bf4e-014100c4d4fd.png这样最终描述子维度变为了 64 维后续匹配速度进一步提高。经过这一系列近似替换SURF 在保持较高匹配性能的同时大幅降低了计算复杂度在典型情况下比 SIFT 约快 25 倍 。但实际加速比例会受到图像规模、特征点数量以及具体实现方式等因素影响因此不同实验中的速度提升并不存在统一数值。第二条路线让描述子更精确#SURF 解决了 SIFT 的速度问题。但研究者们很快便发现了新的优化空间SIFT 使用 128 维梯度直方图获取的描述子信息丰富区分能力强但带来了两个问题维度较高 需要更大的存储开销和更慢的匹配速度。各维度的重要性并不完全相同 有些方向上的梯度特别强而另一些方向虽然较弱却同样包含着有价值的信息。于是便有了另一种优化思路能不能保持 SIFT 检测器不变只改描述子本身的获取逻辑来提升精度随后几年大量工作开始围绕描述子展开。3.1 RootSIFT改动最小收益最大#2012 年论文 Three things everyone should know to improve object retrieval 提出的 RootSIFT 是一个改动极小的变体它唯一修改的仅仅是最后一步描述子的归一化方式。SIFT 在得到描述子以后会进行 L2 归一化这样可以减弱整体亮度变化带来的影响。但研究者发现仅使用 L2 归一化仍然存在一个问题假设某个方向上的梯度特别强欧氏距离会更多关注最大的那个数值80 与 79 的差异往往比 3 与 1 的差异更加影响最终距离。但对于局部特征来说那些较小的梯度方向同样可能包含着重要的信息。于是RootSIFT 把最后一步改成了少见的 L1 归一化后再开平方整个改动就只有这一行公式但它在多个公开数据集上都获得了约 10%20% 的匹配精度提升。其逻辑可以这么理解RootSIFT 会削弱那些特别大的梯度响应让原本较弱的方向拥有更多的话语权这样描述子的各个维度能够更加均衡地参与匹配。最终RootSIFT 几乎不增加任何额外计算却能够显著提升匹配效果因此被认为是性价比最高的 SIFT 改进之一在许多工程实践中已经成为默认配置。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 提出的 GLOHGradient Location and Orientation Histogram其采用 极坐标划分同心圆后统计方向 的方式生成描述子109342a5-a8a0-406b-b77b-805153d27013.png这种结构更加符合图像中局部区域的几何分布因此理论上能够表达更多空间信息。但这也意味着更复杂的计算而且最终 GLOH 仍然需要利用 PCA 再次降到 128 维。虽然实验结果表明它的描述能力略优于 SIFT但是提升并不算明显而实现复杂度却增加了不少。因此这类方法更多还是停留在学术研究中。第三条路线让 SIFT 适应更多场景#经过前面的改进SIFT 的速度越来越快描述子也越来越成熟。但在不断实验中研究者们发现 SIFT 还存在一点局限它的不变性其实是有限的当两张图像之间存在较大的拍摄角度变化比如无人机俯视拍摄或者手持相机斜拍建筑时SIFT 的匹配性能会明显下降。因为这些情况下同一个物体在图像中的形状已经发生了明显拉伸。这种变化已经不再是简单的旋转或缩放而属于仿射变换Affine Transformation 的范畴了一种介于刚体变换只允许平移和旋转保持长度与角度和更一般的投影变换之间的几何模型能够很好地描述许多实际拍摄场景中的局部形变是计算机视觉中应用最广泛的变换模型之一。7ee88804-eda0-4771-8a9a-17e56c02f33d.png

相关新闻

Nacos架构解析与服务治理最佳实践

Nacos架构解析与服务治理最佳实践

1. Nacos核心定位与架构解析Nacos作为阿里巴巴开源的服务发现和配置管理平台,其核心设计理念源于阿里内部十年以上的中间件实践经验。与传统的服务注册中心(如Zookeeper、Eureka)相比,Nacos采用了服务-集群-实例的三层数据模型&am…

2026/7/21 17:51:44 阅读更多 →
TonWeb核心功能全解析:钱包、NFT与Jetton合约开发实战

TonWeb核心功能全解析:钱包、NFT与Jetton合约开发实战

TonWeb核心功能全解析:钱包、NFT与Jetton合约开发实战 【免费下载链接】tonweb JavaScript SDK for TON (The Open Network) 项目地址: https://gitcode.com/gh_mirrors/to/tonweb TonWeb是TON区块链的官方JavaScript SDK,为开发者提供了完整的We…

2026/7/21 17:51:46 阅读更多 →
数据科学家SQL面试核心:指标建模、留存计算与业务逻辑拆解

数据科学家SQL面试核心:指标建模、留存计算与业务逻辑拆解

1. 这不是SQL语法速查表,而是数据科学面试现场的生存指南 “SQL For Data Science Interviews”——光看标题,很多人第一反应是:哦,又一本讲SELECT、JOIN、GROUP BY的书?但如果你真这么想,等坐在Zoom面试窗…

2026/7/21 17:51:48 阅读更多 →

最新新闻

Embedding 模型升级后检索质量漂移:影子索引、分数重标定与回滚验收

Embedding 模型升级后检索质量漂移:影子索引、分数重标定与回滚验收

RAG 系统上线一段时间后,团队往往会遇到一个看似矛盾的现象:Embedding 模型已经换成了新的路由别名,向量库写入没有报错,接口延迟也在可接受范围内,可用户反馈却变得更分散。有些问题仍能命中正确文档,有些…

2026/7/22 9:17:14 阅读更多 →
鸿蒙 ArkTS 实战:Network Account Map 从网络账号地图到生活安全工具完整解析

鸿蒙 ArkTS 实战:Network Account Map 从网络账号地图到生活安全工具完整解析

鸿蒙 ArkTS 实战:Network Account Map 从网络账号地图到生活安全工具完整解析 前言 Network Account Map 是一个基于鸿蒙 ArkTS 与 ArkUI 声明式 UI 实现的生活安全类单页应用,核心场景是 账号绑定关系与风险节点。 它把 维护当前账号节点、平台列表、…

2026/7/22 9:17:14 阅读更多 →
分享一个实验性的 DAG 流程审计 Skill

分享一个实验性的 DAG 流程审计 Skill

目前项目的内容只是为了展示架构的使用,所以比较简单,一共 5 个 node: env_setup:根据开发框架下载依赖库,完成编译 project_parsing:根据编译内容以及合约代码对项目的函数调用与业务流程进行解析与总结 b…

2026/7/22 9:17:14 阅读更多 →
昕维H601可打印彩色铜版纸

昕维H601可打印彩色铜版纸

昕维 H601 增强混合基碳带是一款适用于树脂基碳带打印机的通用型碳带,其核心性能与适用性如下:一、 昕维 H601 增强混合基碳带核心特性特性维度具体说明基材类型增强混合基。它结合了蜡基和树脂基的优点:表面附着力强(类似蜡基&am…

2026/7/22 9:17:14 阅读更多 →
编写程序记录每次只套用旧方法解决问题的场景,事后补充设计一种全新解法。

编写程序记录每次只套用旧方法解决问题的场景,事后补充设计一种全新解法。

用 Python 记录“路径依赖式解决问题”:用代码对抗思维惯性一、实际应用场景描述在《心理健康与创新能力》课程中,“思维定势”与“路径依赖”是阻碍创新的两大隐形杀手。典型场景如下:- 开发场景:遇到接口报错,条件反…

2026/7/22 9:17:14 阅读更多 →
RPM打包避坑指南:彻底搞懂RPATH的前世今生

RPM打包避坑指南:彻底搞懂RPATH的前世今生

从原理到实战,一篇文章终结你的RPATH焦虑引言:一个让人抓狂的打包错误 想象这样一个场景:你费尽心思在国产架构(如ARM、LoongArch)上编译好了一个高性能加速库,满心欢喜地执行 rpmbuild -bb 准备生成RPM包&…

2026/7/22 9:16:14 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻