Reinforced Feature Points: Optimizing Feature Detection and Description for a High-Level(2020)(八)

本文是一套提高feature提取以及描述能力的通用方案,可以认为是一种refine原始网络的方案。
可以应用到任何类似superpoint这样的网络上,不需要数据标注,而且改造成本很小!!!!!
 
问题描述:像superpoint这样的网络训练的时候是在一些合成图上训练,并且这样的网络几乎都是在low-level层次训练,
                  并没有在high-level层次训练网络,因此往往在解决实际任务的时候泛化能力不强
                (比如我想进行2d-3d求解pose任务上,或者想在求解两张图的relative pose任务上(high-level),
                   那么假设我的任务是求解两张图的relative pose是不是网络直接在这样的任务上训练好呢,答案是肯定的,
                   是否能实现呢,答案也是肯定的)。下边看实现方法。
 
本文选择执行两张图的匹配获取relative任务
 
符号说明:
         :    表示匹配的两张图
         : 表示这两张图之间的relative pose,
         :            表示第i个位置的特征点(x,y)坐标
         :    表示特征点I的descriptor(superpoint中是256维)。
         :表示两张图中某一个匹配。
 
特征点选择转换成概率问题(detector)
 
       在superpoint中存在两个网络分支,一个是detector一个是descriptor,这里先解释detector的转换。
假设原始网络输出detector层是 (在superpoint中这是一个W*H*1的score 层)而且他还是被归一化了,那么我们很可以将其当成是一个概率呀:  ,这个概率表示一个pixel是一个keypoint的概率,那么假设我们要随机选择N个keypoint是不是概率就是: (每个pixel都是独立同分布的)。
        那么我们如果想在待匹配的这两张图上找两组匹配keypoint是不是概率是:
        
 
feature匹配转换成概率问题(match)        
 
    上述公式表示某个匹配是匹配的概率,先看分母:k的取值是集合i中所有的数值,k’的取值是集合j中的所有匹配。
    再来看分子:就是要求解的这个匹配的descriptor之间的距离。
            
 
上述概率可以发现,越是正确的匹配概率越大,所以按照这个方向如果最大化概率网络将向着正确的匹配的descriptor越来月接近,
 不正确的匹配的descriptor越来越远离。
 
那么如果有一堆匹配(可以通过最近邻算法得到),他的概率就是:
 
有了上述经验,我们看怎样学习网络以及如何设置loss
 
       因为我们的目的是学习的descriptor用来做求解relative pose,那么我们是可以得到relative pose的ground truth的,这件事很简单。
  假设我们得到了通过上述选择的N个keypoint也通过descriptor计算出来match的P,那么我们是可以通过ransac+5点法求解出relative pose的。
  这个pose:T和ground truth T之间的差值(角度+translation)定义为误差:
(这是一个具体的数,根据选择的detector和descriptor计算得到的)
现在有了误差,还有得到这个误差的概率。这样问题就很明确了啊,那么其实我们的网络的任务就是将上述误差的期望最小化即可。
怎么办呢??全概率公式啊,因此定义loss: ,好了可以直接求导了:
    
反向传播吧!!!!!!!!!!,网络已经可以run起来了。
 
最后完整的网络结构图如下(可以将ransac+5点法求解T的过程当成黑盒子,目的就是为了求解出来具体的误差数,然后好用来求解期望)
 
 
 
备注:!!!选择keypoint的时候要随机多选择几次每次都会得到pose,使用最大的误差进行回传。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值