Two-stage graph matching point cloud registration method based on graph attention network— 基于图注意力网络的两阶段图匹配点云配准方法
从两阶段点云配准方法中找一些图匹配的一些灵感。文章提出了两阶段图匹配点云配准网络(TSGM-Net) TSGM-Net
摘要概括
-
首先,我们设计了动态图到点(DGTP)模块来学习点云
局部图的特征表示
,以提高局部特征的识别能力。 -
然后,通过Transformer和引入的边缘阈值λ动态建立边缘,并使用图注意网络提取点云的
全局特征
以考虑拓扑结构中相似特征之间的关系。 -
同时,从节点本身、局部和全局三个维度计算分数,并求和以进行关键点检测。
-
最后,提出了一种两阶段图匹配方法,将具有高度相似特征的关键点分为不同的点组,并在第一阶段图匹配中建立点组的对应关系。在第二阶段的图匹配中建立了对应点群中的点的对应关系,从而减少了相似特征对点云配准精度的影响。
构造出来的是一个双阶段的点云配准网络。
导言与相关工作
因为自己对3d相关的一些知识接触的比较少,因此对于点云配准的相关经典算法不在进行解释,只是总结一下与本文密切相关的一些信息,着重学习网络和各个模块的设计方法。
两阶段图匹配点云配准网络(TSGM-Net),以更好地处理具有重复几何结构的点云。
-
我们设计了一个动态图到点(DGTP)模块,通过为一个点及其多个最近点构建局部完整图并将图的特征表示为点的特征来提取局部特征。
-
基于局部特征,使用图注意力网络提取点云的全局特征。基于Transformer计算的点间相关性与引入的边缘阈值λ进行比较,为重要节点建立边缘,动态构建点云的全局不完全图。
-
同时,关键点检测模块计算每个点的自得分、局部得分和全局得分,并将三者得分相加得到总得分
-
之后,该模块会将总得分最大的前 N 个点作为关键点,并使用 K 最近邻(KNN)将所选关键点划分为多个点组。对全局视图中的点群进行第一阶段图匹配,然后对局部视图中相应点群中的点进行第二阶段图匹配。
采用两阶段图匹配方法,将特征高度相似的点划分为不同的点组进行匹配,以减少错误对应的产生。
文章的贡献总结
-
我们提出了一种两阶段图匹配方法。 第一阶段对
点群进行图匹配
,第二阶段对对应点群中的点
进行图匹配,解决特征高度相似导致的对应错误问题。 -
我们设计了一个DGTP模块(动态图到点)。 我们为点云构建局部完整图,并利用图的特征表示作为点的特征,以提高提取
局部特征
的能力。 -
我们利用图注意力网络提取全局特征,并引入边缘阈值λ来动态构造重要节点的边缘,构建点云的全局不完全图,以充分利用图注意力网络来聚合拓扑结构。
-
我们从节点本身、局部和全局三个维度计算分数进行关键点检测,从而提高关键点的可靠性。
核心方法—问题描述
- 对于三维空间中的两个点云:X和Y 且 X为源点云,Y 为目标点云。
X = { x j ∈ R 3 ∣ j = 1 , ⋯ , J } and Y = { y k ∈ R 3 ∣ k = 1 , ⋯ , K } X=\left\{x_{j} \in \mathbb{R}^{3} \mid j=1, \cdots, J\right\} \text { and } Y=\left\{y_{k} \in \mathbb{R}^{3} \mid k=1, \cdots, K\right\} X={xj∈R3∣j=1,⋯,J} and Y={yk∈R3∣k=1,⋯,K}
xj 是X中第j个点的坐标,yk 是Y中第k个点的坐标 J 和 K 是 X 和 Y 中的点的个数。
- 点云配准的任务是寻找最优的刚性变换{R,t}对齐两个点云 X 和 Y。其中R代表的是旋转矩阵 t ∈ R3 是平移矩阵
R ∈ S O ( 3 ) R \in S O(3) R∈SO(3)
- 假设 J ==K 且 xj 和 yj 是一对对应点,我们可以通过最小化下面的方程来对齐两个点云。
E ( R , t ) = 1 J ∑ j J ∥ R x j + t − y j ∥ 2 E(R, t)=\frac{1}{J} \sum_{j}^{J}\left\|R x_{j}+t-y_{j}\right\|^{2} E(R,t)=J1j∑J∥Rxj+t−yj∥2
然而,通常情况下,J≠K,并且X和Y中的点的顺序是不同的。 也许xj和yk是一对对应点,并且X中可能没有点与Y中的点对应。
- 对于这种情况,我们决定选择 N 个关键点 点云配准是通过最小化方程来实现的
X k = { x p k ∈ R 3 ∣ p = 1 , ⋯ , N } X^{k}=\left\{x_{p}^{k} \in \mathbb{R}^{3} \mid p=1, \cdots, N\right\} Xk={xpk∈R3∣p=1,⋯,N}
Y k = { y q k ∈ R 3 ∣ q = 1 , ⋯ , N } . Y^{k}=\left\{y_{q}^{k} \in \mathbb{R}^{3} \mid q=1, \cdots, N\right\} . Yk={yqk∈R3∣q=1,⋯,N}.
其中 M 是从 Xk 中的点到 Yk 中的点的映射
E ( M , R , t ) = 1 N ∑ p N ∥ R x p k + t − y M ( x p k ) k ∥ 2 , E(M, R, t)=\frac{1}{N} \sum_{p}^{N}\left\|R x_{p}^{k}+t-y_{M\left(x_{p}^{k}\right)}^{k}\right\|^{2}, E(M,R,t)=N1p∑N Rxpk+t−yM(xpk)k 2,
核心过程具体实现
整体概述
TSGM-Net的架构如图所示
根据刚性变换 :
{ R i − 1 , t i − 1 } \left\{R_{i-1}, t_{i-1}\right\} {Ri−1,ti−1}
通过 i − 1 次迭代求解从而得到变换后的点云Xi−1。
- 对于输入点云 Xi−1 和 Y,我们使用 DGTP 模块进行局部特征提取,使用图注意网络进行全局特征提取
也就是对应图中的第一个部分和第二个部分所描述的结构。
- 选择质量较高的关键点,并基于KNN将其划分为点组。
通过KNN划分为多个组。
- 基于组的特征提取用于学习每个点组中关键点的拓扑结构并进行图特征表示。
也就是对应图中的第二个部分关键点检测模块和分组的阶段。
- 第一阶段的图匹配是对每个点群的图特征表示进行,以建立点群之间的对应关系。 第二阶段图匹配根据点群与关键点特征的对应关系建立对应关系M
M = { M R , M t } M=\left\{M_{R}, M_{t}\right\} M={MR,Mt}
对应点群中的点。
最后通过SVD的分解运算得到最后所需要第i次迭代的刚性变换的矩阵。
图1 TSGM-Net架构图。 TSGM-Net从点云Xi−1和Y中提取局部和全局特征,并通过关键点检测模块获得关键点。 在两阶段图匹配中,首先将关键点分为点组,并使用图特征表示进行基于组的特征提取。 然后,通过第一阶段的图匹配建立Xi−1和Y之间的点群对应关系Mgroup。 基于Mgroup,对对应点群的关键点进行第二阶段图匹配,得到两个点云之间的对应关系MR和Mt。 最后,使用基于 MR 和 Mt 的 SVD 求解第 i 次迭代的刚性变换 {Ri,ti}
Dynamic Graph-to-Point-DGTP模块
动态图到点模块(DGTP)
论文中对局部特征提取的描述部分
X中的点xj ∈ R3,将xj的3D坐标映射到高维空间,以获得xj的局部特征Fxj。 因此,我们使用DGTP进行特征提取,得到X的局部特征为Fx ∈ RF。
对于距离xj最近的点xi,通过MLP建立两点之间的边缘特征fji ∈ RF,并将该边缘特征作为点xi的特征