点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 论文信息
标题:Image Matching Filtering and Refinement by Planes and Beyond
作者:Fabio Bellavia, Zhenjun Zhao, Luca Morelli, Fabio Remondino
机构:Universit`a degli Studi di Palermo, Italy、The Chinese University of Hong Kong, China、Bruno Kessler Foundation, Italy
原文链接:https://arxiv.org/abs/2411.09484
代码链接:https://github.com/fb82/MiHo
1. 导读
介绍了一种模块化的非深度学习方法,用于过滤和细化图像匹配中的稀疏对应。假设场景内的运动流可以通过局部单应变换来近似,使用基于迭代RANSAC的方法将匹配聚集到对应于虚拟平面的重叠群中,丢弃不一致的对应。此外,底层平面结构设计提供了与匹配相关联的局部补片之间的显式映射,使得能够在补片重新投影之后通过互相关模板匹配来可选地细化关键点位置。最后,为了增强对违反分段平面近似假设的鲁棒性和容错性,通过引入将两个面片投影到公共平面的中间单应性,设计了另一种策略来最小化平面重投影中的相对面片失真。所提出的方法在标准数据集和图像匹配管道上进行了广泛的评估,并与最先进的方法进行了比较。与当前的其他比较不同,建议的基准还考虑了更一般、真实和实际的情况,即相机内部特性不可用的情况。实验结果表明,我们提出的非深度学习,基于几何的方法实现了优于或相当于最近最先进的深度学习方法的性能。最后,这项研究表明,在实际的图像匹配解决方案中,在所考虑的研究方向上仍有发展潜力,可以在未来纳入新的深度图像匹配架构。
2. 引言
图像匹配是大多数需要图像配准以恢复3D场景结构(包括相机姿态)的高级计算机视觉任务和应用的核心。图像拼接、运动恢复结构(SfM)、同时定位与地图构建(SLAM)以及最近兴起的神经辐射场(NeRF)和高斯溅射(GS)可能是目前最常见、最广泛且最关键地依赖于图像匹配的主要任务。
图像匹配的传统范式可以组织成一个模块化流程,涉及关键点提取、特征描述以及适当的对应匹配。由于现代端到端深度图像匹配方法内在的设计保证了更好的全局优化,但牺牲了系统的可解释性,因此这种表示在现代方法中被忽视。尽管端到端深度网络在图像匹配方面代表了许多方面的最新技术(SOTA),例如在复杂场景中估计姿态的鲁棒性和准确性方面,但手工制作的图像匹配流程,如广受欢迎的尺度不变特征变换(SIFT),至今仍因其可扩展性、适应性和可理解性而在实际应用中被采用。此外,在后处理现代单体深度架构中,手工或深度模块仍然存在,以进一步根据几何约束(如基于随机抽样一致算法(RANSAC))过滤最终输出的匹配项。
图像匹配滤波器用于修剪对应项,不仅限于RANSAC,RANSAC在任何形式下至今仍作为最终步骤必不可少,并且已经从手工制作的方法演变为深度方法。此外,最近还开发了受由粗到细范式启发的方法,如局部特征变换器(LoFTR),以细化对应项,这可以视为在匹配过程的流水线解释中引入了反馈系统。
3. 效果展示
MOP+MiHo聚类以及部分图像对示例的经过滤的匹配项。每种标记与颜色的组合都对应一个唯一的虚拟平面单应性,而被丢弃的匹配项则用黑色菱形表示。所采用的匹配流程是依赖于Key.Net的流程。中间行和底部行的图像分别属于MegaDepth数据集和ScanNet数据集。
4. 主要贡献
本文的贡献在于介绍了一种模块化方法来过滤和细化匹配项,作为RANSAC之前的后处理步骤。关键思想是图像中的运动流(即对应项)可以通过局部重叠的单应性变换来近似。这是传统图像匹配流程的核心概念,其中局部块通过从精细到粗略尺度级别的约束较少的变换来近似。具体来说,除了相似性和仿射变换外,还在更高层次上引入了平面单应性。整个方法流程如下:
• 多重叠平面(MOP)模块将匹配项聚合成软聚类,每个聚类与一个平面单应性相关,大致表示所包含匹配项的变换。一方面,无法拟合到任何聚类中的匹配项被视为异常值而被丢弃;另一方面,可以使用相关的平面图来规范化相关关键点对应项的块。随着更多匹配项参与单应性估计,块规范化过程变得比SIFT中使用的规范方法更鲁棒。此外,单应性比相似性或仿射变换更具一般性,因此能更好地适应扭曲。MOP通过迭代RANSAC贪婪地根据多模型拟合策略估计下一个最佳平面来实现。与之前类似方法的主要区别在于,根据两种不同的重投影误差来指导聚类划分,从而在迭代过程中保持强内点和弱内点的匹配。推荐课程:保姆级线结构光(单目&双目)三维重建系统教程。
• 中间单应性(MiHo)模块通过进一步最小化相对块失真来额外改进块规范化。更详细地说,不是根据与聚类相关的单应性将一幅图像的块重投影到作为参考的另一幅图像上,而是将两个对应的块都重投影到选择为基单应性变换中间的虚拟平面上,从而全局上将变形分布到两个块上,减少了相对于原始图像因插值和平面近似而产生的块失真。
• 采用归一化互相关(NCC)遵循传统模板匹配来改进参考中间单应性虚拟平面中的关键点定位,使用一个块作为模板在另一个块上定位。在虚拟平面上找到的相对位移调整最终通过反投影回到原始图像中。为了改进该过程,模板块通过小旋转和异性缩放变化进行扰动,以便在解空间中更好地搜索。
MOP和MiHo完全基于几何,仅需要关键点坐标,而NCC依赖于块局部区域的图像强度。MOP+MiHo+NCC的早期想法可以在中找到。所提出的方法是手工制作的,因此更通用,因为它不需要重新训练以适应特定类型的场景,并且其行为更可解释,因为没有被深度架构隐藏。如本文后续所述和讨论,在大多数配置和场景类型中,RANSAC在从MOP+MiHo作为预过滤器之前获得了显著的好处,并且在任何情况下都不会使匹配恶化。关于MOP+MiHo+NCC,关键点定位的准确性似乎强烈依赖于提取的关键点类型。特别是,对于角点状关键点,它们在关键点网络(Key.Net)或SuperPoint等检测器中占主导地位,NCC极大地改进了关键点的位置,而对于斑点状关键点(例如SIFT中主要存在的),NCC的应用可能会降低关键点定位的准确性,这可能是由于它们周围区域的不同性质所致。然而,所提出的方法表明,即使利用深度方法,当前图像匹配解决方案仍有改进的空间。
5. 好用吗?
当作为RANSAC的预处理步骤时,MOP+MiHo能够持续提升匹配质量,且在任何情况下都不会对最终结果产生负面影响。在类似Key.Net或SuperPoint等方法中常见的角点匹配情况下,MOP+MiHo+NCC带来了额外的改进。然而,对于在诸如SlFT等方法中更为典型的斑点匹配情况,遗憾的是,MOP+MiHo+NCC往往会降低性能。
与其他基准测试不同,它假设没有可用的相机内参,这反映了一个更通用且更真实的场景。在表格中,Auc_代表通过计算基础矩阵后添加相机内参来检索本质矩阵,从而估计出的位姿;而AUc._则表示通过内参对关键点坐标进行归一化后,再使用cv2.findEssentialMat通过五点法直接计算本质矩阵来估计位姿。在lMC PhotoTourism的情况下,考虑到度量而非角度平移误差的AUC被报告为Auc,和AUc’,为此选择了约13K个随机图像对。
为了获得更好的RANSAC效果,采用了阈值分别为1和0.75像素的MAGSAC,分别用MAGSAC和MAGsAc_表示。此处提供了进一步的RANSAC实现(DegenSAC和Poselib)以及阈值的消融研究。与默认值不同,对于所有RANSAC实现,为了获得更好的性能,最大迭代次数增加到了2000次。
6. 实验结果
表1报告了SIFT的结果。在计算基本矩阵(AUCE∡,黄色列)时,MOP+MiHo在Megadepth上获得了最佳的姿态估计,而添加NCC后精度略有下降。基于MOP的滤波器、FC-GNN和ACNe的姿态估计即使改进幅度不大,也比基础SIFT更准确。在这种特定设置中,其他匹配滤波器对基础精度的影响微乎其微。当姿态由基础矩阵(AUCF∡,绿色列)导出时,FCGNN得分最高,其次是MOP。MiHo对MOP的影响微乎其微,而NCC再次对其产生了负面影响。与基础SIFT相比,AUCF∡的改进比AUCE∡的改进更明显。考虑到AUCF∡,所有滤波器在SIFT的基础上都有所改进,但只有MOP基滤波器、FC-GG、ACNe和CC在精度提升方面表现突出。这种表现也反映在召回率(红色列)和精确率(蓝色列)上。
表2报告了Key.Net的结果。与SIFT不同,在所有非平面数据集(无论是否包含MAGSAC)中,仅基于MOP的滤波和FC-GNN在AUCF∡和AUCE∡的情况下,分别实现了比基础Key.Net更高的姿态精度。在AUCF∡的情况下,MOP+MiHo+NCC的AUCE∡得分高于FC-GNN,反之亦然。这一结论同样适用于度量分数AUCF和AUCE。对于平面数据集,与SIFT一样,CC和基于MOP的滤波器提供了最佳的AUCH分数。
表3报告了SuperPoint的结果。总体而言,SuperPoint在数据集和流水线中的相对排名与Key.Net相当。这并非偶然,因为Key.Net和SuperPoint都基于角点类关键点,因此对Key.Net所做的相同考虑和观察也适用于SuperPoint。此外,在绝对分数方面,SuperPoint与MOP+MiHo+NCC在MegaDepth上实现了所有评估流水线中的最高AUCE∡值,或几乎与LoFTR为ScanNet提供的最佳绝对AUCE∡值相等。最后,与Key.Net相比,在添加NCC以提高召回率和精确度方面,改进虽然较小但仍然相关,这表明SuperPoint的基线角点重新定位更加准确。
7. 总结 & 未来工作
本文提出了一种新颖的手工模块化方法,用于过滤和精炼图像匹配,该方法基于场景流可以近似为虚拟局部和重叠平面单应性的原理。广泛的评估表明,该方法有效且稳健。MOP+MiHo+NCC能够有效地丢弃异常值,并改善Key.Net、SuperPoint和LoFTR的匹配定位以及姿态精度。不使用NCC滤波的MOP+MiHo能够去除SIFT中的异常值,从而提供更好的RANSAC估计。在ALIKED、DISK和DeDoDe v2的情况下,由于基线流水线仅包含精确匹配,因此所提出的流水线不会改变最终输出。然而,在绝对精度方面,当在三个评估的数据集中使用所提出的方法进行优化时,LoFTR和SuperPoint在所有评估的流水线中达到了整体最佳结果,而在剩余的IMC-PT数据集中,DISK与FC-GNN的组合达到了最佳,FC-GNN是目前MOP+MiHo+NCC的深度竞争对手和替代方案。
总体而言,上述行为表明,当前的端到端深度基线匹配架构在去除可能经过精炼的非精确匹配方面通常过于严格。在这个意义上,所提出的分析和设计的方法提供了进一步的见解,可用于开发更好的深度图像匹配网络。对于未知相机内参的情况,FC-GNN提供的姿态估计优于所提出的方法,并且与在MegaDepth中使用已知相机内参进行姿态估计的差距极小。未来的研究将涉及在RANSAC框架内纳入相机内参统计信息和启发式方法。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、最前沿、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿:具身智能、大模型、Mamba、扩散模型等
除了这些,还有求职、硬件选型、视觉产品落地、产品、行业新闻等交流群
添加小助理: cv3d001,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
3D视觉工坊知识星球
「3D视觉从入门到精通」知识星球,已沉淀6年,星球内资料包括:秘制视频课程近20门(包括结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云等)、项目对接、3D视觉学习路线总结、最新顶会论文&代码、3D视觉行业最新模组、3D视觉优质源码汇总、书籍推荐、编程基础&学习工具、实战项目&作业、求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。
3D视觉工坊官网:www.3dcver.com具身智能、3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。
3D视觉模组选型:www.3dcver.com
点这里👇关注我,记得标星哦~