【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)

目的是为了定位的时候的解决奇异性,目前有很多解决的方法是使用LSTM网络记录之前的query数据,但是由于LSTM所可表达记录的信息有限,因此本文提出一种gnn的方式。
 
收到slam和三维重建的启发,使用类似pose graph的方式表示网络,这样即使时间上相对较远的帧也可以提供相互关系
 
为了表示不同帧直接的相互作用,使用cnn表示feature,gnn表示不同feature之间的相互作用关系(融合)
 
整体思路如下:
    【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
输入的是一些image(可以不用知道relative pose,可以是时间上跨度比较大的image,也可以是类似slam相近的image)(构成graph)
输出的是这些image 对应的pose(构成graph)
 
文章使用了cnn和gnn的融合。
 
3.1. Graph Definition(定义节点以及边,目标是学习从image的graph到pose graph的过程)
    【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
    对比结构:
【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
      a显示的是lstm这样的网络一般都是链接的相邻关系,而本文的初始节点使用的是dense的链接,然后使用相思性度量取topk的相似度的所有的节点进行连接:【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020),x代表每个节点的feature,也就是image 的整体feature,cs是cose值
 
 
3.2. Message Passing(指的是怎样在节点之间feature进行传播以及相互作用)
定义:【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020),表示feature x i(也就是image I)到x j之间的相互作用message
为了防止某些权重失衡,在每个channel上作用了一个权重【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020),k表示feature的chennal,每个channel都有一个比例因子。
 
最终节点i的message表示为所有相邻的节点的message之和求平均【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
然后和本节点的feature融合得到最终本节点的feature【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
 
3.3 Multi-level Graph Modeling
文中使用了multi gnn的方法,在feature的1,2,3,4层分别使用上述网络进行迭代,得到最终的graph feature,然后gap+fc得到pose
【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
 
loss:
【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)
第一项是6D-pose的误差,第二项是相连的变的relative pose的误差
 
实验结果:
             【论文笔记】Learning Multi-view Camera Relocalization with Graph Neural Networks(CVPR2020)