LoFTR: Detector-Free Local Feature Matching with Transformers 2021

核心思想:本文的目的是为了解决传统匹配的时候detector不鲁棒的问题,例如下图,上边是本文匹配结果,下边是superglue匹配结果:

                

                 可以认为是在superglue上的简单改进

 

整体pipeline:

    如下图所示,整体pipeline分为四个模块:

 

网络输入两张待匹配的image,输出最终的local feature的匹配结果

 

1> local feature

     和传统的deepfeature网络类似,使用cnn网络输出dense的feature map,本文使用的是resnet-18。

     从网络中抽取两层feature map(分辨率分别为1/8和1/2,分别命名为coarse 和 fine feature map)

 

2> coarse loftr

     将1>中生成的coarse feature map pair输入到coarse loftr层对特征进行变换,生成较容易匹配的新的feature。

     具体这里使用了经典的gnn思想,

    2.1 首先将feature的位置和score信息融入coarse feature中(类似superglue)。生成带有位置信息的feature

    2.2 然后是self attention,分别输入每张feature map 融合局部邻域信息生成新的feature map

    2.3 再然后是cross attention,进行交叉运算,

    2.4 最终生成相对较容易匹配的 feature map

 

上述self attention 和 cross sttention 使用的是和superglue一样标准的多层gnn网络,如下:

            

核心思想其实就是对特征进行变换,融合本张图片的邻域信息,还有就是融入待匹配图像的信息

 

3> matching module

    该模块和super glue一样将上述生成的新的feature计算feature 距离。生成score matrix,然后对每一行每一列 sofmax归一化。生成P匹配矩阵

 

上述和super glu基本上一样,只不过不用进行detector使用的是dense 的feature map

 

4>coarse to fine module

    该部分是本文的创新,上述得到的match 是在1/8分辨率下的结果,这时候的detector其实是有误差的,感觉作者是借鉴了ETH的Patch2Pix论文

    将detector的位置进行处理,具体做法如下:

首先将上述得到的match提取出来,然后在1>中得到的较为精确的feature map上crop出w*w的window,然后将两个coarse 匹配 window 再次输入到loftr

 固定住query的window的中心作为query的feature,然后计算database的window中feature和query的中心的距离,score最高的即为精确的匹配点。

 

 

LOSS:

  最终的loss为:,其中和superglue一样使用最大似然,是位置误差

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值