点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 论文信息
标题:ETO:Efficient Transformer-based Local Feature Matching by Organizing Multiple Homography Hypotheses
作者:Junjie Ni, Guofeng Zhang, Guanglin Li, Yijin Li, Xinyang Liu, Zhaoyang Huang, Hujun Bao
机构:State Key Lab of CAD&CG, Zhejiang University、CUHK MMLab
原文链接:https://arxiv.org/abs/2410.22733
1. 导读
我们解决了学习局部特征匹配的效率问题。最近的进步已经产生了纯粹基于CNN和基于transformer的方法,每种方法都用深度学习技术进行了增强。虽然基于CNN的方法通常在匹配速度上更胜一筹,但基于transformer的方法往往能提供更准确的匹配。我们提出了一个有效的基于变压器的局部特征匹配网络架构。该技术基于构建多个单应性假设来近似真实世界中的连续对应,以及单向交叉注意来加速改进。在YFCC100M数据集上,我们的匹配精度与LoFTR(一种基于变压器的先进架构)相当,而推理速度提高了4倍,甚至超过了基于CNN的方法。在Megadepth、ScanNet和HPatches等其他开放数据集上的综合评估证明了我们方法的有效性,突出了其显著增强各种下游应用的潜力。
2. 引言
局部特征匹配是计算机视觉领域的一个基本问题,并在下游应用中发挥着重要作用,包括但不限于SLAM(即时定位与地图构建)、三维重建、视觉定位和物体姿态估计。然而,传统的基于卷积神经网络(CNN)的方法由于缺乏全局感受野,在极端条件下往往失效,因此在尺度、光照、视角发生剧烈变化或场景纹理较弱时,会遭遇失败。
最近,一些方法放弃了传统的基于CNN的方法,转而基于Transformer来更好地建模长距离依赖关系。然而,Transformer以其高计算复杂度而广为人知,尤其是在将其应用于视觉任务时,计算复杂度随输入图像标记(即图像块)的数量二次增长。为了降低Transformer固有的复杂度,这些方法通常采用由粗到细的策略,并融入计算效率更高的Transformer变体,如线性Transformer。尽管如此,计算开销仍然很大,严重阻碍了需要低延迟操作的应用,如跟踪,或那些需要处理大量数据集的应用,如大规模地图构建。推荐课程:扩散模型入门教程:数学原理、方法与应用。
在本文中,我们提出解决基于Transformer的局部特征匹配的效率问题。我们的见解有两方面。首先,我们提出在流程中引入单应性假设。单应性假设是对场景的一种分段平滑先验,在视觉任务中已被长期研究。它使我们能够创建更大的图像块,并减少Transformer需要处理的标记数量。然而,这并非易事,因为单应性假设引入的规则形状可能会带来显著误差,尤其是在边界处。此外,在没有真实值的情况下,如何监督多个单应性假设的训练仍然是一个问题。其次,我们凭经验发现,先前的方法在精细阶段采用多个自注意力和交叉注意力是冗余的,因为粗阶段已经进行了充分的传播。因此,可以进一步降低计算复杂度。具体来说,我们提出了ETO(基于多个单应性假设的高效Transformer局部特征匹配)。ETO遵循先前的方法,并采用两阶段由粗到细的流程。它首先在图像块级别建立匹配,然后将匹配细化到亚像素级别。在第一阶段,ETO学习预测一组假设,每个假设包含要匹配的多个图像块。我们近似假设每个要在一个假设内匹配的图像块位于同一平面上,并因此根据单应性变换描述这些匹配。单应性假设使我们能够减少输入到Transformer的图像标记(图像块)。对于分辨率为640×480的典型图像,先前的方法以1/8的分辨率将80×60个标记输入到Transformer中,而我们仅需要以1/32的分辨率将20×15个标记输入,这带来了显著的速度提升。为了减少由于单应性假设的规则形状可能带来的误差,ETO将图像块细分为多个子图像块,并为每个子图像块重新选择正确的假设。我们将重新选择的问题建模为分割问题。之后,ETO在第二阶段细化匹配。与先前采用多个自注意力和交叉注意力的方法不同,ETO仅执行一次交叉注意力,并且其使用的查询标记的大小远小于先前的方法。我们称之为单向交叉注意力。凭经验发现,单向交叉注意力在训练时收敛速度显著更快,同时提供了更高的效率。
3. 效果展示
如图1所示,ETO超越了现有方法,比LoFTR快4-5倍,比LightGlue快2-3倍,同时保持了与它们相当的准确性。
4. 主要贡献
我们的贡献可以总结如下:1)我们为局部特征匹配问题引入了多个单应性假设,这可以极大地压缩Transformer中涉及的标记数量。2)我们在细化阶段引入了单向交叉注意力。这种结构提供了快速的推理效率,同时保持了准确性。3)我们的方法不仅在各种开源数据集(如Megadepth、YFCC100M、ScanNet和HPatches)上与其他基于Transformer的方法性能相当,而且运行速度显著提高,超越了所有对比方法。
5. 方法
图3展示了我们的综合特征匹配过程,分为三个结构化模块。这些模块通过受U-Net启发的特征提取器和神经网络生成的局部属性相互连接。对于分辨率为H/32×W/32的特征图M1上的每个单元i,我们估计单应性假设Hi的属性。对于分辨率为H/8×W/8的特征图M2上的每个单元j,它从附近的9个假设中重新选择最优单应性假设ˆHj,以最小化投影误差。对于在分辨率为H/2×W/2的特征图M3上选择的单元kj,我们将其在源图像中的中心点Psj固定,并根据ˆHj细化其在目标图像中投影点的坐标Ptj,然后得到最终匹配Pt∗j。
为了将M1预测的单应性假设传播到更高分辨率的细节中,我们在分辨率为H/8 × W/8的特征图M2上引入了一个分割操作。分割是一个逐单元的分类任务,我们为M2上的每个单元j预测一个类别。在这里,我们仅考虑局部相邻的3×3图像块,并将所有可能的类别定义为H =Hi。这一分类(分割)操作涉及,对于每个单元j,从H中选择一个假设,该假设使得单元j中心的投影误差最小。在我们提出的分割阶段之后,每个子单元j都可以在所有可能的假设H中找到使其误差最小的假设ˆHj。我们在图4中展示了分割的直观过程。
6. 实验结果
我们将ETO与SuperPoint、SuperGlue、LightGlue和LoFTR进行了比较。根据表1,我们的实验结果表明,与SuperGlue相比,我们的方法在单应性估计准确性方面表现更优,与SuperGlue和LightGlue相比,在1像素阈值内实现了更低的误差。此外,我们的方法显著更快,在评估中比其他方法快了几倍。
我们将ETO与SuperPoint、SuperGlue、LightGlue、LoFTR、ASpanFormer和Quadtree进行了比较。根据表2所示的结果,在MegaDepth数据集中较简单的户外情况下,我们的方法在姿态估计的准确性方面低于先进的无检测器方法,但高于任何基于检测器的方法,而我们的运行时间最多为无检测器方法的23%,基于检测器方法的81%,基于卷积神经网络(CNN)方法的90%。而在YFCC100M数据集中更困难的户外情况下,我们的模型性能远优于基于检测器的方法,且可与无检测器方法相媲美。而且,我们依然保持了运行时间上的优势。
我们将我们的方法与SuperPoint、SuperGlue、LoFTR、ASpanFormer和Quadtree进行了比较。结果如表3所示。我们发现,我们的结果与LoFTR相当,优于SuperPoint+search和SuperPoint+SuperGlue,且比其他任何方法都快得多。
7. 总结 & 限制性
在本文中,我们提出了通过组织多个单应性假设实现的高效基于Transformer的局部特征匹配方法(ETO)。ETO试图用较少的输入令牌(fed to the transformer)和多个单应性假设来近似一个连续的对应函数。多个数据集表明,ETO在相对姿态估计和单应性估计方面的性能几乎与其他基于Transformer的方法相当,但其速度远超其他所有方法。然而,ETO在匹配准确性方面仍有很大的提升空间。接下来,我们可以探索端到端的训练模式,这将允许对特征提取器进行更精细级别的进一步优化。此外,我们认为中级特征不仅可以提供分割信息,还可以提供有利于更精确匹配的数据。最后,我们提出的参数化方案可能不是单应性变换的最优和完整形式,因此我们将继续探索更好的参数化方案。这些策略有望使我们的方法在匹配精度方面与PATS和DKM等方法相媲美,同时不会显著降低速度。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
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
点这里👇关注我,记得标星哦~