游乐游手机版
首页/AI热点日报/热点详情

弱纹理场景下特征点SfM算法表现研究

类型:热点整理2026-07-18
提出一种无需检测器的SfM框架,先利用LoFTR进行稠密匹配构建粗糙模型,再通过Transformer多视图匹配迭代优化特征坐标,结合光束法平差和拓扑调整精化位姿与点云。该方法在弱纹理场景重建中表现优异,于2023年IMC夺冠,显著优于传统基于特征点的方案。

在弱纹理场景下,传统SfM(运动恢复结构)的表现长期面临挑战。尽管COLMAP等框架在通用场景中已相当成熟,但其核心逻辑始终依赖一个先决条件:先提取特征点,再进行匹配。当面对白墙、天空、雪地等缺乏纹理的区域时,特征点要么难以提取,要么重复性极差,最终恢复出的相机位姿与三维点云往往混乱不堪。

那么,是否存在一种方法——直接跳过特征点提取,转而进行图像匹配?

近期,浙江大学基于这一思路,提出了一套全新的SfM框架。其核心流程为:首先利用LoFTR这类无检测器(Detector-Free)匹配算法获取粗略的位姿和点云,然后通过一个基于Transformer的多视图匹配模块优化特征点坐标,最后采用BA(光束法平差)和TA(拓扑调整)进行精化。该方案一举夺得2023年IMC冠军,整体表现极为亮眼。下面将详细拆解这项工作的技术细节。

1. 效果展示

先来看一组对比图,直观感受传统基于特征点的SfM在弱纹理场景下的糟糕表现:

特征点重复性差,匹配效果极差,位姿和点云自然随之崩塌。再看Detector-Free SfM的表现——不仅常规场景稳定,连海底、月球表面等极端环境也能重建出可靠结果:

有了精确的位姿和点云,下游任务如新视点合成、稠密重建便水到渠成:

不过略显遗憾的是,该算法目前尚未开源,感兴趣的朋友可以关注项目GitHub的更新动态。接下来,我们直接深入论文的具体内容。

概括一下核心贡献:提出了一种全新的SfM框架,能够从无序图像中恢复出高精度的相机位姿和点云。传统方法依赖跨视图的可重复特征点,这在弱纹理场景下极为脆弱;而新框架充分发挥无检测器匹配器的优势,绕开了早期特征点的硬性约束,并同时解决了多视图不一致的问题。具体而言,首先从量化的无检测器匹配中构建一个粗糙的SfM模型,然后通过一个迭代优化管道——交替进行基于注意力的多视图匹配与几何优化——逐步提升精度。实验表明,该框架在通用基准数据集上优于现有的基于检测器的SfM系统,同时作者还收集了一个弱纹理SfM数据集,专门用于验证这类场景的重建能力。

2. 算法解析

整体流程非常直观:输入是一组无序图像,输出是相机位姿、内参和点云。采用由粗到精的两阶段策略。第一阶段,使用Detector-Free匹配器(LoFTR)直接对图像对进行稠密匹配,彻底避开特征点重复性差的问题。然后将匹配位置量化到粗网格上,提升一致性,再重建出一个粗糙的SfM模型,为后续优化提供初始值。第二阶段,交替进行轨迹优化和几何优化,不断迭代,最终获得高精度的位姿和点云。

Detector-Free匹配器本身也采用由粗到精的结构:先在下采样特征图的粗网格上进行稠密匹配,然后固定一幅图像上的粗匹配位置,在另一幅图像的精细特征图上搜索亚像素对应。理论上直接套用到SfM似乎可行,但这里存在一个关键问题——特征位置是在两幅图像之间相互依赖产生的,一旦涉及多视图匹配,特征轨迹很容易断裂!

作者的处理方法十分巧妙:将匹配的2D位置量化为网格⌊x / r⌉(r为网格尺寸),使得多个相近的亚像素位置合并到同一个网格节点上。简单来说,就是牺牲一点精度,换来一致性上的大幅提升。

后续的迭代优化环节才是真正的亮点。优化的对象是匹配点的2D坐标,核心思想是对所有视图中的特征点位置进行局部调整,使它们之间的特征相关性最大化。那么具体如何操作?

如果直接计算所有关联视图,计算量会急剧膨胀。作者采用了一个技巧:选择一个参考视图,提取该视图中特征点处的特征,然后与其他视图(查询视图)中特征点周围大小为p×p的局部特征图进行关联,生成一组p×p的热图——这可以理解为特征点位置的分布概率。接着计算每个热图上的期望和方差,将方差之和作为优化的目标函数。

还有一个实际问题:参考视图如何选择?准则是最小化参考视图与查询视图之间的特征点尺度差异。具体做法是:根据当前恢复的位姿和点云计算每个特征点的深度值,然后选择中位数所在的视图作为参考。

再深入看一个技术细节:如何提取以2D特征点为中心的局部特征块?这里是将每个关键点周围的p×p图像块送入CNN,得到特征块,再通过Transformer的自注意力和交叉注意力生成最终的特征图。

最后还有级联的BA(光束法平差)和TA(拓扑调整)优化,用于精化位姿和点云。经过Transformer优化和BA后,整个场景已经比较准确,在TA过程中还会加入之前未能配准的2D点。整个优化流程就是反复交替进行BA和TA,然后将优化后的点云投影回图像更新2D位置,再进入下一轮迭代。

3. 实验

模型需要训练的部分包括Detector-Free匹配器和多视图特征提取Transformer,训练数据采用MegaDepth,优化目标是使预测轨迹与真实轨迹之间的平均l2损失最小化。对比方案非常全面:既有SIFT这类手工特征点,也有R2D2、SuperPoint等深度学习特征点,数据集方面使用了IMC、ETH3D以及他们自己采集的Texture-Poor SfM数据集。

结果显示,该算法搭配LoFTR能够达到非常出色的性能(当然也欢迎读者尝试其他匹配算法)。值得注意的是,SuperPoint + SuperGlue + PixSfM这个组合表现也相当亮眼,说明SP+SG在很多场景下依然是万金油。

定性对比更加直观。红框代表Ground Truth,在低纹理场景下,新算法的优势一目了然,甚至有几个场合SP+SG组合直接失效。

再来看三角化结果——这进一步验证了位姿和内参估计的准确性。同样是基于LoFTR的组合取得了更高精度,其中AspanTrans配置牺牲了一点精度,但完整性更好。

接下来是验证优化模块影响的实验,通过热力图对比:O和X分别代表粗糙和精细的特征点位置。结果显示,引入优化后热力图的对比更加清晰,点云也更精确。

消融实验部分,分别测试了量化比值、迭代次数、视图数量以及各个模块的影响,主要目的是确定模型和迭代的最优参数。

很多人肯定关心运行效率。作者最后对比了处理大规模场景时的3D点数、优化时间和内存开销。内存占用并不高——原因是算法先进行多视图匹配,再进行几何优化,BA不需要像PixSfM那样存储每个2D点的特征块或代价图。

4. 总结

这项工作是针对弱纹理这一特定场景量身定制的,设计思路清晰流畅,效果也非常出色。如果要挑毛病,那就是计算效率——毕竟LoFTR匹配本身就很耗时。不过话说回来,SfM本身不像SLAM那样追求实时性,所以效率问题并非致命,完全可以通过并行BA等方法进一步优化。此外,作者也提到可以与深度图、IMU等多模态数据融合,这个方向同样值得关注。

来源:https://m.elecfans.com/article/2218189.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。