深度学习特征匹配算法 LoFTR、DKM、RoMa 介绍
LoFTR、DKM 和 RoMa 代表了深度学习特征匹配从“稀疏关键点”向“密集像素级”演进的三个阶段。它们共同抛弃了传统的“先检测特征点再匹配”的流水线,转而采用“直接回归对应关系”的范式,极大地提升了在弱纹理、重复纹理和大视角变化下的鲁棒性。
一、算法核心特性对比
|
算法 |
核心思想 |
匹配粒度 |
技术亮点 |
典型场景 |
|---|---|---|---|---|
|
LoFTR |
利用 Transformer 进行全局上下文推理 |
稀疏(但远多于传统方法) |
Detector-Free(无特征点检测阶段),Coarse-to-Fine(由粗到细) |
通用 SfM、SLAM、位姿估计 |
|
DKM |
核回归 + 深度卷积细化 |
稠密(Dense) |
核化匹配(类似高斯过程回归),输出全图稠密对应场 |
3D 重建、深度估计、高精度配准 |
|
RoMa |
冻结基础模型特征 + 专用解码器 |
稠密(Dense) |
利用 DINOv2/v3 的强泛化性,预测不确定性(协方差) |
极端视角/光照变化(WxBS)、鲁棒位姿估计 |
二、LoFTR:基于 Transformer 的无检测器匹配
LoFTR (CVPR 2021) 是这一范式的开创性工作,它解决了传统方法在低纹理区域完全失效的痛点。
1. 核心原理
-
Detector-Free:不再依赖不稳定的特征点检测器(如 SIFT 的 DoG)。它直接处理整张图像,让模型自己决定哪里该匹配。
-
Transformer 注意力机制:通过 Self-Attention 和 Cross-Attention 层,让图像 A 的每个像素都能“看到”图像 B 的所有像素。这意味着即使某个点本身纹理很弱,也能通过周围的上下文信息(如边缘、形状)找到对应点。
2. 工作流程
-
特征提取:CNN 提取 1/8 分辨率(粗粒度)和 1/2 分辨率(细粒度)的特征图。
-
粗匹配:对粗特征图应用 Transformer,计算匹配概率矩阵,筛选出高置信度的粗略匹配对。
-
细匹配:在粗略匹配点周围裁剪局部窗口,利用细粒度特征图进行亚像素级精化。
3. 优势与局限
-
优势:在弱纹理、重复纹理上表现极佳,匹配数量远超传统方法。
-
局限:本质仍是“半稠密”匹配(只输出高置信度点对),且 Transformer 的计算量较大。
三、DKM:稠密核化特征匹配
DKM (CVPR 2024) 将匹配任务推向了全稠密级别,旨在为图像中的每一个像素(或大部分像素)找到对应点。
1. 核心原理
-
核回归全局匹配:将匹配问题建模为高斯过程回归(GPR)。它不像 LoFTR 那样直接输出离散匹配,而是学习一个连续的“变形场(Warp Field)”,描述像素间的平滑映射关系。
-
深度卷积细化:通过堆叠特征图和深度卷积核,逐步将低分辨率的粗略变形场优化到高分辨率,实现亚像素精度。
2. 工作流程
-
特征金字塔:提取多尺度特征。
-
核回归解码:利用核函数计算全局相关性,输出低分辨率的稠密变形场和置信度图。
-
迭代上采样:通过卷积网络逐步将变形场细化到原图分辨率。
3. 优势与局限
-
优势:输出是稠密的,非常适合需要密集几何信息的下游任务(如 MVS 稠密重建)。
-
局限:在极端视角变化(如 90 度旋转)下,基于 CNN 的特征泛化能力有时不足。
四、RoMa:鲁棒密集特征匹配
RoMa (CVPR 2024) 及其升级版 RoMa v2 是目前 SOTA 的代表,核心思路是“站在巨人的肩膀上”,利用视觉基础模型来获得极强的泛化能力。
1. 核心原理
-
冻结的基础模型:直接使用 DINOv2(RoMa)或 DINOv3(RoMa v2)的预训练特征作为粗特征。这些特征在互联网级数据上训练,对视角、光照变化极其鲁棒。
-
特征金字塔融合:DINO 特征虽然鲁棒但分辨率低(粗),因此配合一个轻量级的 CNN 提取高分辨率细特征,两者结合得到既鲁棒又精确的特征金字塔。
-
不确定性估计:RoMa v2 不仅能输出匹配点,还能输出每个点的协方差矩阵,告诉下游任务(如 BA)这个匹配点有多“不可靠”。
2. 工作流程
-
特征提取:冻结的 DINO 提取粗特征 + CNN 提取细特征。
-
Transformer 解码:使用定制的解码器预测锚点概率,进行粗匹配。
-
精化:利用细特征进行局部精化,达到亚像素精度。
3. 优势与局限
-
优势:在 WxBS(极端宽基线)等挑战性数据集上表现碾压级优势,泛化能力极强。
-
局限:依赖基础模型,模型参数量相对较大(但推理时可冻结主干,实际效率尚可)。
五、总结与选型建议
|
你的需求 |
推荐算法 |
理由 |
|---|---|---|
|
快速原型 / 通用 SfM |
LoFTR |
成熟度高,开源支持好(COLMAP 已集成),在大多数室内外场景表现稳定。 |
|
稠密重建 / 深度估计 |
DKM |
输出稠密对应,能直接服务于 MVS 或深度图生成。 |
|
极端条件(无人机、跨季节) |
RoMa (v2) |
利用 DINO 的强泛化能力,在视角/光照剧烈变化时最不容易“翻车”。 |
|
高精度位姿 + 可信度 |
RoMa v2 |
唯一提供逐像素协方差估计,可与 BA 优化紧密结合,实现加权优化。 |
技术演进趋势:LoFTR 引入了 Transformer 的全局建模,DKM 推进了稠密化,RoMa 则证明了冻结基础模型(Foundation Model)是提升视觉特征匹配泛化能力的终极路径。如果你在做 SFM 中的 rig 约束 BA,RoMa v2 提供的协方差信息可以作为 BA 优化的权重先验,进一步提升重建精度。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)