Learning Two-View Correspondences and Geometry Using Order-Aware Network 2019

 

 

 核心思想:借鉴pointnet的方式将局部邻域信息融入匹配

整体pipeline:

一共分为三部分:1>是pointCN模块,将无序匹配对转换成有序不变矩阵

                             2>DiffPool和DiffUnpool

                             3>Order-Aware Filtering block(这里边的是MLP多层感知机)

网络的整体输入是匹配对坐标(x1,y1,x2,y2), 输出的是匹配的置信度(可以设置阈值,小于某个置信度的即为outlier)

 

1> pointcnn 模块

     该模块是直接使用的pointCN网络,输入是,表示两张图上的匹配对,

    然后构成一个无序的N*4的矩阵,通过学习置换不变形矩阵(其实就是聚类然后使用残差将原始数据转换到local坐标下然后进行sofmax分类)将年N*4矩阵转换成N*M的类别矩阵(N行可以理解为是N个样本,M列可以理解为M个类别,比如(0,0,0,0,0,1,…….)),对每个样本分类之后其实即可解决分类顺序问题。

本文采用了500个类别,类别中心可以随机采取或者使用别的方法(具体需要看code)

 

2> Diff pooling layer

    然后输入到Diff pooling layer, 其实就是将,可以看到这一步其实是浓缩特征,生成的是M*D高纬度的特征,并且这个特征

    融合了不通类别之间的邻域信息,(可以试着推算一下M*D的每个元素是经过哪些数据得到)

通过:,其中P理解为置换不变形矩阵,可以看到P可消除,因此S变换也是置换不变的。

 

3>order-aware filtering block

    之后就是这个模块,其实是使用类似gnn的思想融合不同邻域之间的关系(完全cover pointcnn论文),得到高纬度的feature

 

4>diff unspooling layer

    由于我们的任务是需要为每个匹配样本生成匹配置信度,因此需要上采样,为了保证顺序一致性,这里使用,为了保证和原始样本的1-1关系,这里不需要重新计算s变换矩阵,直接使用2>中

得到的即可,至此完成了对每个匹配对的置信度的评估。

 

5>loss

    

其中第一项是交叉熵损失,0/1分布,正确匹配是1,错误匹配是0.

第二项是几何loss,

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值