目录
一、导言
二、先导知识
1、超点匹配
2、KPConv
三、相关工作
1、基于对应的方法
2、直接配准方法
3、深度鲁棒估计
四、GeoTransformer模型
1、特征提取
2、超点匹配
几何自注意力模块
特征交叉注意力
计算高斯相关性
对应点采样
3、点匹配
4、局部到全局的配准
一、导言
该论文提出了一种Geometric Transformer的快速且鲁棒的点云配准方法。
(1)GeoTransformer 采用几何自注意力和特征交叉注意力模块,来学习点云的几何不变性。
(2)GeoTransformer 在建立全局与局部关系时采用超点匹配,并在超点匹配时使用了overlap-aware circle loss,而不是传统的Crossentropy损失,这种方法可以避免交叉熵损失带来的高置信度匹配的抑制问题。
(3)GeoTransformer 是一种无需关键点检测和RANSAC的方法,能够提取准确的对应关系来进行点云配准。
二、先导知识
1、超点匹配
超点匹配来自于图像匹配的启发,先使用特定网络(本文使用KPConv-FPN)将输入点云进行分层下采样,获得超点,然后提取超点之间的对应方法,即检查局部邻域是否重叠来进行匹配,最后将这种匹配关系传播到单点,产生密集点对。此时密集点对的精度也就会极大依赖于超点匹配的精度。
超点匹配的特点,超点之间是稀疏松散的,减少了严格的点匹配和patch overlap,放宽了重复性的要求。另外基于patch overlap的方法要比基于距离的point match有更为可靠、信息丰富的约束,也可以获得更为全局context的特征。
2、KPConv
简述KPConv的思路:
(1)以点为球心确定一个球体
(2)在球体中确定若干核心点,核心点不是点云的点,具体的取点规则在后文
(3)对于落在球体范围的点云中的点,用核函数计算该点的权重矩阵系数,并用矩阵对该点的特征进行变换
(4)最后将落在球体范围内点云中的所有点逐一进行(3)变换,并将变换后的特征叠加,得到该点的特征。
核心点取点规则:
(1)球心点作为第一个核心点
(2)看需要多少点,其余点保证相互斥力关系稳定情况下逐个选点(类似万有引力,其实就是正n-1面体,理论上应该都是球面点)
具体公式见:https://zhuanlan.zhihu.com/p/92244933
论文指南:https://arxiv.org/pdf/1904.08889
三、相关工作
1、基于对应的方法
相较于之前做的EGST论文解读基于无对应的方法,而该论文遵循基于对应的方法,依赖于显式的位置编码。
近期的基于对应的方法中一般有两大类:
第一类:检测更多可重复的关键点并学习更鲁棒的关键点描述子
第二类:无需关键点检测,而是考虑所有可能的匹配(本文属于后者)
2、直接配准方法
直接配准工作在单一合成形状中效果较好,但在大规模场景中会造成失败,原因在于过分依赖全局特征,在复杂场景中更要兼容局部与全局性。
直接配准工作一般两类:
第一类:ICP思想,通过建立软分配关系,使用可微分加权的SVD计算变换(在本文点云匹配后也是用可微分加权的SVD来提取局部特征)
第二类:提取点云全局特征向量进行回归变换
3、深度鲁棒估计
本文提到在高离群值比情况下,RANSAC方法收敛缓慢且不稳定,所以前人设计了一个深度鲁棒估计量,来摆脱异常值的干扰,而该论文GeoTransformer使用了一个无参数的LGR算法(局部到全局配准方案),实现高效准确配准。
四、GeoTransformer模型
GeoTransformer的步骤分为特征提取,超点匹配,点云匹配,局部全局配准四个过程。
1、特征提取
特征提取利用KPConv+FPN的结构提取多层次特征,输入源点云和目标点云,输出KPConv的output的两个点云特征,以及输出FPN后的output的两个点云特征。
特殊符号:
:源点云和目标点云
:KPConv的输出,点云特征
:将进行超点匹配后的若干点
:FPN的输出,密集点点云特征,一般是input分辨率的二分之一
:密集点及密集点特征分配到最近的超点,计算平均最小均方误差
2、超点匹配
对于KPConv输出的点对关系输入到超点匹配模块,输出全局密集的点对应关系。超点匹配模块包括:几何自注意力模块,特征交叉注意力模块,计算高斯相关性,对应点采样。
几何自注意力模块
使用几何自注意力模块和特征交叉注意力模块的目的是:学习不受变换影响且表达几何一致性的超点特征表示。
下面为几何自注意力模块(这个图简直深似结构自注意力机制),但是他的计算注意力得分公式并不一样:,几何自注意力机制中更多考虑了几何关系,比如引入超点特征向量,几何结构嵌入向量,通过作为注意力机制中的Q、K、R的权重系数,通过几何关系来影响注意力机制。
特殊符号:
:表示输入特征矩阵x的第i个和第j个超点特征向量
:表示第i个和第j个超点之间的几何结构嵌入向量,由两个部分构成包括:(编码超点之间的距离信息),(编码超点之间的角度信息)。嵌入向量构成关系及数学表达式:
特征交叉注意力
给定两个自注意力模块输出的特征矩阵,输入到交叉注意力机制,计算各自的特征矩阵,并且计算注意力得分,公式如下:。
为什么要进行这两个注意力模块?
几何自注意力模块用于对点云变换不变几何结构进行编码,特征交叉注意力模块用于对点云几何一致性进行建模,保证得到的混合特征对变换是不变的,不受变换影响。
计算高斯相关性
计算高斯相关性的目的:找互相重合的点云块(一块区域的点)
首先对超点特征向量归一化到单位超球面上,计算两个点云超点特征向量之间的高斯相关性得分,用来找到最相似的超点对,以得到高质量的超点对应关系(因为本文无需关键点匹配,所以只能优化匹配关系)。归一化公式如下,这个公式不太理解为什么放了个指数结构,估计是球面影响,不懂!
另外为了避免有一些与多个点都高度匹配的点,抑制歧义匹配,还会进行双向归一化操作。
对应点采样
top-k选择是用来对应点采样的一种方法,相较于随机采样,可以得到更确定性的点对应,用于后续的配准计算。
3、点匹配
对于上一环节已经找到相互重合的两个点云块,要继续找到里面的点云匹配对(化区域为个体)。
思路:计算一个点云块中一个点与另一个点云块中所有点的相似性,相似性最高的为匹配对。
首先计算相似关系矩阵,并使用Sinkhorn算法设计分配矩阵Z来选择匹配对,为了使得整体匹配置信度达到最优,使用选择置信度最高的K个作为匹配对。
4、局部到全局的配准
在局部阶段,使用超点对应关系计算匹配矩阵后,根据上一步取匹配对后作为本轮结果,并将上一轮的匹配矩阵与本轮的匹配对进行比较,若不满足则去除,多次进行迭代,计算新的变换矩阵。
5、损失函数
计算局部点对应关系损失(overlap-aware circle loss)和全局点对损失两部分相加。
关注点对间的重叠关系,给重叠较高的点对以更大权重,同时关注正负样本的重叠。
采用负对数似然损失,对稀疏的全局点对关系进行监督,分别考虑点对关系和两个点云的内部点间关系
五、实验
1、比较不同数据集下中RANSAC为基础的方法
在不同数据集中,相较于RANSAC方法为基础的如3DFeat-Net方法性能相当,略有优势。
2、比较无RANSAC的方法
该方法在RANSAC-free下优于其他诸如FMR的方法。
3、几何自注意力模块
相较于传统自注意力模块,几何自注意力在低重叠场景下更为鲁棒。
论文参考:https://arxiv.org/abs/2202.06688