Point cloud registration based on feature fusion and network sampling
-
摘要: 针对点云配准过程中,下采样时容易丢失关键点、影响配准精度的问题,本文提出一种基于特征融合和网络采样的配准方法,提高了配准的精度和速度。在PointNet分类网络基础上,引入小型注意力机制,设计一种基于深度学习网络的关键点提取方法,将局部特征和全局特征融合,得到混合特征的特征矩阵。通过深度学习实现对应矩阵求解中相关参数的自动优化,最后利用加权奇异值分解(singular value decomposition,SVD)得到变换矩阵,完成配准。在ModelNet40数据集上的实验表明,和最远点采样相比,所提算法耗时减少45.36%;而配准结果和基于特征学习的鲁棒点匹配(robust point matching using learned features,RPM-Net)相比,平移矩阵均方误差降低5.67%,旋转矩阵均方误差降低13.1%。在自制点云数据上的实验,证实了算法在真实物体上配准的有效性。Abstract: To solve the issue of easily losing key points during lower sampling, which affects the registration accuracy during point cloud registration, a registration method is proposed based on network sampling and feature fusion, and this method improves registration accuracy and speed. Based on the PointNet classification network, we design a deep learning (DL) network-based method for key point extraction. The method fuses local features with global features to obtain the feature matrix with fixed characteristics and uses DL to automatically optimize the parameters when calculating the corresponding matrix. Finally, we use weighted singular value decomposition to obtain the transformation matrix and complete the registration. Our experiments using the ModelNet40 dataset reveal that the time consumed for the process is reduced by 45.36% compared with that consumed by farthest point sampling. Compared with the RPM-Net algorithm, the mean square errors of the translation and rotation matrices obtained by the proposed method are reduced by 5.67% and 13.1%, respectively. Further, the designed model was subjected to experiments, which proved the effectiveness of the algorithm in registering real objects.
-
Keywords:
- point cloud registration /
- feature fusion /
- deep learning /
- network sampling /
- 3D vision /
- local feature /
- global feature /
- feature extraction
-
点云配准在三维点云技术中具有重要作用。点云配准的实质是解决同一对象或环境在不同视角下所获得点云的刚性变换问题[1-4]。现有点云配准方法根据实现方式可分为两类:一类是基于传统技术的点云配准方法。传统的点云配准方法兴起较早,一般包括粗配准和精配准两个阶段。常用的方法有随机抽样一致性(random sample consensus,RANSAC)配准算法、方向直方图签名特征(signature of histograms of orientations,SHOT)算法、迭代最近点(iterative closest point,ICP)及其变种算法。Segal等[5]提出的广义迭代最近点(generalized iterative closest point,Generalized-ICP)算法将概率模型融入误差度量最小化过程,有效降低了迭代次数;同时,该算法融合了点对点和面对面策略,从而提升了配准的准确性与鲁棒性。然而,这种算法在计算效率方面仍有待提高。Yang等[6]提出的三维ICP点集配准的全局最优解(globally optimal solution to 3D ICP point-set registration,Go-ICP)算法通过分支定界策略实现了全局最优探索,避免了配准时容易出现局部极小值的问题,但增加了计算的时间,并且对异常值比较敏感。Rusu等[7]提出了采样一致性初始配准(sample consensus initial alignment,SAC-IA)算法,该算法利用快速点特征直方图(fast point feature histograms,FPFH)描述符构建局部特征,然后使用RANSAC策略来估计点对间的变换,实现了点云的高效配准。Sang等[8]引入了颜色特征,提出了RGB-ICP算法,在提取关键点时,使用了RGB特征,然后通过ICP精配准,提高了配准精度。另一类则是基于深度学习的配准方法,此类方法将深度学习技术引入三维点云配准当中,通过不同的网络模型代替传统技术完成配准任务[9-11]。
在使用深度学习对点云进行配准时,通常有两种思路[12-14]。一种是基于特征优化的配准方法,该方法分为两段式:先通过深度学习网络处理点云数据,在保证其空间不变性的前提下输出点云的几何特征图;然后通过传统优化方法(例如随机一致性采样方法等)求取最终变换矩阵。Deng等[15]提出的点对特征网络(point pair feature network,PPFNet)将点的法线、点对特征等组合成原始特征,最终能生成理想的局部特征子。但该方法对点云旋转操作太过敏感,不能较好地适应旋转不变性。Choy等[16]提出了一种名为全卷积几何特征(fully-convolutional geometric features,FCGF)的全卷积网络,可以较快地得到点云的几何特征,并提出了一种新的损失函数,显著提高了网络的精确度,但在对具有不同旋转分布的数据配准时,配准的结果并不稳定。Bai等[17]受密集检测与描述网络(dense detection and description network,D2Net)联合学习框架的启发,基于核点卷积(kernel point convolution,KPConv)计算方法,提出了全卷积网络结构三维局部特征的密集检测与描述(dense detection and description of 3D local features,D3Feat),并提出了能够克服点云内密度变换的关键点学习策略。Huang等[18]针对低重叠度的点云配准任务,提出了Predator特征提取算法。另一种思路是完全采用神经网络进行点云配准。例如,Lu等[19]提出的深度体素上下文处理网络(deep voxel context processing,DeepVCP)同样使用端到端网络,通过点云特征提取网络PointNet++从源点云和目标点云中提取语义特征,使网络更加关注有利于配准的关键点及特征,有较好的配准精度及稳定性。Yew等[20]提出了基于特征学习的鲁棒点匹配(robust point matching using learned features,RPM-Net)算法,该算法保留了RPM对噪点和异常点的鲁棒性,同时使用特征距离的对应关系进行去敏化初始,在提取特征后使用退火算法得到点对应的软分配,提高了点云局部可见情况下的质量。Sarode等[21]提出的点云配准网络(point cloud registration network,PCRNet)在特征提取时采用了PointNet式结构,将源点云和目标点云进行拼接,然后使用全连接网络降维获取变换矩阵的参数。但由于采用PointNet式结构,该方法忽略了点云各点的局部特征。
为了减少点云配准过程中所使用点的数量,常使用点云下采样[22-25],在不破坏点云数据几何结构的前提下减少点云数量。通常使用的下采样方法为随机采样和最远点采样,但使用随机筛选关键点的方法很可能会剔除能代表点云特征的关键点,导致丢失点云信息[26-28]。为了解决这一问题,本文在PointNet网络基础上,引入了小型注意力机制,设计了一种新的关键点提取方法。并将采样阶段获得的全局特征和通过关键点集合得到的局部特征融合,设计了一种新的特征矩阵获取方法,在保留更多关键点信息的同时,可以有效地提取出用于获得对应点匹配的特征,提高配准精度。
1. 点云配准算法
本文的算法流程如图1所示,下面展开对算法各个模块做相应说明。
1.1 网络采样模块
原始点云包含很多几何信息,一般每幅点云的数据量具有几千到上万个点,激光点云甚至会有上百万个点。由于原始点云未经处理,数据庞大,为了减少点云数量,一般根据点云局部几何特征提取关键点,但该方法往往比较耗时,并容易产生关键点过于集中在局部区域等问题[29-31]。考虑到这个问题,本文参考PointNet中的分类方案思想,设计了网络采样模块。网络采样结构如图2所示,在分类网络中加入小型注意力模块,使采样网络在学习点云数据中单独一个点特征的同时,也能够关注其他点的特征向量,然后池化提取全局特征,并选择出对全局特征有较大贡献的点作为关键点筛选的依据,从而保证采样速度较快的同时,又能保留更多关键点信息,提高配准精度。下面以点云下采样时要求得到512个点为例,分别说明采样各部分的实现原理。
1.1.1 变换预测
对于输入的点云,经过旋转、平移之后表示的信息不变,只是描述物体的角度发生了改变,也就是点云具有几何不变性。为了使网络可以更好适应不同朝向的点云,可以使用变换预测模块将特征矩阵或原始点云矩阵转换为标准朝向,该模块使用大量一维卷积,在不改变特征向量数量的同时可以迅速提高特征向量维度,增强网络提取高维特征的能力。对于一个
$N \times 3$ 规模的点云,经过图3所示的多维卷积之后可以把维度提高至1024 维,通过池化和View函数调整形状,将获得1024 维的特征向量,然后叠加多个全连接层,得到降至9维并输出$3 \times 3$ 且已经单位化后的旋转矩阵。将该旋转矩阵和原始点云矩阵相乘,得到经过变换的$N \times 3$ 规模点云用于后续工作。变换预测模块结构如图3所示。1.1.2 全局特征提取
经过变换处理,保证网络能够处理任意朝向点云后,使用多层感知机对点云数据升维至
$N \times 256$ ,以便在下采样步骤中提取对点云的全局特征有较大贡献的特征点,如图2所示。然后将变换后的点云作为输入:首先利用多层感知机提取高维信息,再利用Softmax层将分数归一化(归一化后的数据大小表示各特征维度对全局特征的重要程度),得到的分数矩阵与原特征矩阵计算Hadamard积。这里使用注意力机制计算特征得分,可以使特征提取网络自动调整各个特征维度对最终全局特征的影响,而小型注意力机制比较简单,又不会使网络变得复杂,从而保证提取特征的速度。然后利用多层感知器(multilayer perception, MLP)将特征维度升至$N \times 512$ ,得到特征矩阵${{\boldsymbol{F}}_N}$ ,最大池化得到512维全局特征向量${{\boldsymbol{F}}_{\mathrm{g}}}$ ,流程如图4所示。假如想获得1 024维度的特征向量,只需要调整MLP将特征维度升至$N \times 1\ 024$ ,再按照相同流程池化即可。1.1.3 关键点筛选
上面得到了全局特征向量
${{\boldsymbol{F}}_{\mathrm{g}}}$ ,根据全局特征向量${{\boldsymbol{F}}_{\mathrm{g}}}$ 和特征矩阵${{\boldsymbol{F}}_N}$ 筛选出对点云全局特征贡献更大的点,图5中以6个具有$T$ 维特征的点云为例,给这6个点云分别编号$a\sim f$ ,$T_1、T_2、T_3$ 等为各维度特征。$T_1$ 所在列中最大值为7,对应行的点云编号为$a$ ,则认为$a$ 是点云中的一个关键点;$T_2$ 列中最大值为9,对应行的编号为$c$ ,则认为$c$ 也是一个关键点,其余依此类推。有时会重复筛选出同一个关键点,因此需要在关键点筛选完成后进行集合去重工作,以避免单个点因具有更多特征信息而被多次选入关键点集合中。筛选步骤的简易流程如图5所示。下采样常需要获得指定数量的关键点,为此,除了将上述步骤筛选出的关键点加入关键点集合以外,还需要在没有被选为关键点的点云数据中,使用原始采样方法对关键点集合中的空余位置进行补充,以达到要求的指定数目。
假如在下采样阶段想获得512个点,通过图4可以获得原点云512维的特征向量,按照图5描述的方法可以得到一些关键点。当关键点数量不足512时,可以使用随机或者最远点采样补充,这样就得到了512个关键点。当需要改变下采样所得点的数量时,只需要更改图4中得到的特征向量维度即可。本文提出的这种采样方法与单独的随机采样或最远点采样相比,可以获得较多数量关键点,从而提高配准精度。文章将在后续实验部分证明该采样方法的优越性。
本方法提出的网络参考了PointNet。为了确定网络采样模块中的参数,需要将该网络采样模块在ShapeNetCore数据集上进行训练。训练时,给网络输入不同类别的点云,并在该网络采样模块后加入多层感知机降维输出点云类别,从而训练网络提取全局特征的能力。训练好参数的网络可以直接进行点云的全局特征提取。
1.2 局部特征和融合特征提取
通过网络采样模块得到关键点后,根据关键点的邻域信息等进行编码。对于关键点集合中的一点
${x_p}$ ,使用球查询方法获得该点对应的邻域:当某点到关键点${x_p}$ 的欧氏距离小于查询半径时,将该点认为近邻点并加入近邻点集合,然后根据关键点${x_p}$ 及其近邻点的坐标信息完成特征提取。为了表示关键点及其近邻点的局部几何特征,使用点对特征(point pair feature, PPF)描述符对关键点局部几何特征进行描述,每个PPF描述符最终得到10维特征向量。当关键点的近邻点数目为
$k$ 时,使用该描述符可以形成关键点${x_p}$ 的$k \times 10$ 规模的初始特征矩阵,用于代表关键点附近的局部特征。本文设定近邻点数目$k$ 值不超过60,每个PPF描述符产生的数据格式为$(k, 10, b)$ 的特征,$b$ 由点的个数确定,对于${p_1}$ 规模的关键点,将描述符产生的$({p_1} \times k, 10, b)$ 的特征送入MLP,得到$({p_1} \times k, C_1, b)$ 特征,然后池化得到维度为$({P_1} \times k, C_1)$ 的过渡特征。而采样阶段获得的关键点,实际是从点云全局特征中筛选得到的,这些关键点也代表了源点云的全局特征。假如从全局特征筛选得到的关键点数目为${p_2}$ ,则这些关键点的原始维度仅由坐标贡献,特征矩阵维度为${p_2} \times 3$ ,通过MLP调整至$C_1$ 维后,可与过渡特征合并,形成$({p_1} \times k + {p_2}, C_1)$ 的融合特征。接着,将融合特征送入多层感知机并进行归一化操作,输出对应关键点的$C_2$ 维最终特征,最终将形成${p_3} \times C_2$ 规模的特征矩阵${\boldsymbol{F}}$ ,最终特征矩阵获取流程如图6。加入采样阶段从全局特征得到的关键点,在配准过程中将更加凸显关键点的作用。后续实验也将证明,使用该方法配准精度得到了提升,并保留了更多关键点。1.3 参数预测
在两帧点云配准中,需要判断两点是不是待配准点对,常利用最近距离或者软对应等方式来寻找待配准点对。本文使用软对应方式计算关键点集合中的两点的得分,将源点云
$ X $ 中的一点${x_i}$ 和目标点云$Y$ 中一点${y_j}$ 之间的得分映射至0~1,当得分收敛至0时代表两点不是待配准点,当得分收敛至1时代表两点可以视为待配准点。点云特征描述符建立时,得到了源点云$ X $ 的特征矩阵$ {{\boldsymbol{F}}_X} $ 和目标点云$Y$ 的特征矩阵$ {{\boldsymbol{F}}_Y} $ ,结合$ \alpha $ 和$ \beta $ 可以得到描述对应关系的软对应矩阵${\boldsymbol{M}}$ ,公式为$$ {m_{ij}} = {{\mathrm{e}}^{ - \beta \left(\left\| {{{\boldsymbol{F}}_{{X_i}}} - {{\boldsymbol{F}}_{{Y_j}}}} \right\|_2^2 - \alpha \right)}} $$ (1) 式中:
$ {{\boldsymbol{F}}_{{X_i}}} $ 表示点云$ X $ 关键点集合中的$ i $ 点在点云$ X $ 特征矩阵$ {{\boldsymbol{F}}_X} $ 中对应的特征向量,$ {{\boldsymbol{F}}_{{Y_j}}} $ 同理。$ {m_{ij}} $ 是对应矩阵${\boldsymbol{M}}$ 的第$i$ 行、第$j$ 列元素,代表源点云$ X $ 中的点${x_i}$ 和目标点云$Y$ 中的点${y_j}$ 组成的待配准点对的权重。由式(1)可知,当两点对应的特征向量欧氏距离$ \left\| {{{\boldsymbol{F}}_{{X_i}}} - {{\boldsymbol{F}}_{{Y_j}}}} \right\|_2^2 $ 大于阈值$ \alpha $ 时,$ {m_{ij}} $ 随着$ \beta $ 增大将趋近于0,使用$ \alpha $ 和$ \beta $ 可以表明$ i $ 、$ j $ 两点所组成的对应点对在配准任务中的重要性。为了求取对应矩阵$ {\boldsymbol{M}} $ ,需要确定$ \alpha $ 、$ \beta $ 参数,$ \alpha $ 为判定异常值的阈值,$ \beta $ 为每次迭代后要增加的退火参数,在传统迭代算法中,这两个参数依赖于数据集,并需在每次迭代时手动调整。为了替代人工操作,采用深度学习网络从源点云和目标点云中学习,可以得到$ \alpha $ 和$ \beta $ 的值。预测网络结构图如图7所示。对源点云和目标点云筛选后得到关键点集合
$P$ 、$Q$ 。将这两个集合合并,并分别在这两个集合上添加0和1(当该维度由源点云贡献时用0表示,1代表由目标点云贡献),使其变成四维,以此形成$(p + q) \times 4$ 规模的点信息矩阵。该矩阵送入网络后,经过共享参数的MLP并引入注意力机制,然后使用池化层降至1024 维特征向量,再通过MLP降至2维得到所需的$ \alpha $ 、$ \beta $ 参数,并使用Softplus激活函数以保证所得参数为正。得到
$ \alpha $ 、$ \beta $ 以后,可以求得对应矩阵,通过加权奇异值分解(singular value decomposition,SVD)求出当前$ {\boldsymbol{R}} $ 、$ {\boldsymbol{t}} $ (R表示旋转矩阵,t表示平移向量)。然后,将获得的变换阵作用于源点云$ X $ ,再次将变换后的点云和目标点云进行配准,再重复获取特征,求取参数$ \alpha $ 、$ \beta $ ,迭代一定次数后得到最终结果。这种基于深度学习根据特征来求取参数的过程,避免了每次迭代后手动设定参数的过程。1.4 变换矩阵和损失函数
本文SVD部分参考RPM-Net,为使数据处在同一度量单位以便处理,使用双
$ {\mathrm{SoftMax}} $ 归一化操作将点对应矩阵${\boldsymbol{M}}$ 近似归一化,使对应关系变成概率的形式,公式为$$ m_{ij}^{\prime} = {\mathrm{SoftMax}}(M(i, \cdot )) \cdot {\mathrm{SoftMax}}(M( \cdot ,j)) $$ 然后使用软对应方法,计算源点云关键点集合中各点的对应点,公式为
$$ {y_i} = \frac{1}{{{\omega _i}}}\sum\limits_{j = 0}^J {{m_{ij}}{y_j}} $$ $$ {\omega _i} = \sum\limits_{j = 0}^J {{m_{ij}}} $$ 式中:
$ {\omega _i} $ 为设计的权重,由${x_i}$ 在对应矩阵${\boldsymbol{M}}$ 中第$ i $ 行中的元素和构成,用于避免出现错误的对应关系;${y_i}$ 为${x_i}$ 的软对应点。源点云$ X $ 和目标点云$ Y $ 的加权质心计算公式为$$ \overline{x}=\frac{{\displaystyle \sum _{i=0}^{n-1}{\omega }_{i}{x}_{i}}}{{\displaystyle \sum _{i=0}^{n-1}{\omega }_{i}}}\text{,}\overline{y}=\frac{{\displaystyle \sum _{i=0}^{n-1}{\omega }_{i}{y}_{i}}}{{\displaystyle \sum _{i=0}^{n-1}{\omega }_{i}}} $$ 然后进行去中心化:
$$ {x_i} = {x_i} - \overline x ,{y_i} = {y_i} - \overline y $$ 最终协方差矩阵公式为
$$ {\boldsymbol{H}} = {\boldsymbol{XW}}{{\boldsymbol{Y}}^{\mathrm{T}}} $$ $$ {\boldsymbol{W}} = {\mathrm{diag}}({w_1},{w_2}, \cdots ,{w_{n - 1}}) $$ 式中:
$ {\boldsymbol{W}} $ 是由权重和$ {\omega _i} $ 按照顺序构成的对角阵。然后,对$ {\boldsymbol{H}} $ 进行SVD分解即可求得旋转矩阵和平移矩阵,并进行迭代即可。参考RPM-Net,将源点云关键点经过迭代网络预测和真实变换后各点之间的平均绝对误差作为主损失函数, 其公式为$$ {L_1} = \frac{1}{n}\sum\limits_{i = 0}^{n - 1} {\left| {({R_{{\rm{gt}}}}{x_i} + {t_{{\rm{gt}}}}) - ({R_{\rm{p}}}{x_i} + {t_{\rm{p}}})} \right|} $$ 式中:
$ {R_{{\rm{gt}}}} $ 和$ {t_{{\rm{gt}}}} $ 为点云配准变换矩阵的真实值,$ {R_{\rm{p}}} $ 和$ {t_{\rm{p}}} $ 为每次迭代输出结果。此外,使用辅助损失函数做出惩罚,避免源点云中关键点无对应的情况,以得到更具普适性的配准结果,其公式为$$ {L_2} = - \frac{1}{n}\sum\limits_{i = 0}^{n - 1} {\sum\limits_{j = 0}^J {{m_{ij}}} } $$ 将损失函数分成这两部分之后,总体损失函数为主损失函数和辅助损失函数的加权总和,其公式为
$$ L = \lambda {L_1} + (1 - \lambda ){L_2} + \theta \left\| {{{\boldsymbol{\omega}} _\theta }} \right\|_2^2 $$ 式中
$ \lambda $ 为平衡参数。同时附加网络中所有参数所组成的向量$ {{\boldsymbol{\omega}} _\theta } $ 的L2正则化项,使网络能够关注所有输入特征,避免对单独特征的依赖。2. 实验参数及评价指标
本文在PointNet网络基础上引入注意力机制,设计了一种新的关键点提取方法。该方法通过融合采样阶段获得的全局特征和通过关键点集合得到的局部特征,设计一种新的获得特征矩阵的方法。提出的基于特征融合和网络采样的配准方法,可以保留更多点云信息,在保证效率的前提下可有效提高后续配准网络的精度。本文将通过和其他算法进行对比实验验证此算法的有效性。
2.1 计算机配置
实验计算机配置为11th Gen Intel(R) Core(TM) i5-11260H @ 2.60 GHz、物理内存32 GB和GeForce RTX 2080 Ti。实验数据集采用ModelNet40,评价标准采用旋转矩阵和平移向量的均方根误差(RRMSE、tRMSE)和平均绝对误差(RMAE、tMAE),公式为
$$ \begin{gathered} {R_{{\mathrm{RMSE}}}} = \sqrt {\frac{1}{{{n_R}}}\sum\limits_{i = 1}^{{n_R}} {{{({R_{{\mathrm{F}}_i}} - {R_{{\mathrm{GF}}_i}})}^2}} } \\ {t_{{\mathrm{RMSE}}}} = \sqrt {\frac{1}{{{n_t}}}\sum\limits_{i = 1}^{{n_t}} {{{({t_i} - {t_{{\mathrm{G}}_i}})}^2}} } \\ \end{gathered} $$ $$ \begin{gathered} {R_{{\mathrm{MAE}}}} = \frac{1}{{{n_R}}}\sum\limits_{i = 1}^{{n_R}} {\left| {{R_{{\mathrm{F}}_i}} - {R_{{\mathrm{GF}}_i}}} \right|} \\ {t_{{\mathrm{MAE}}}} = \frac{1}{{{n_t}}}\sum\limits_{i = 1}^{{n_t}} {\left| {{t_i} - {t_{{\mathrm{G}}_i}}} \right|} \\ \end{gathered} $$ 式中
$ {R_{{\mathrm{F}}_i}} $ 和$ {R_{{\mathrm{GF}}_i}} $ 分别表示网络预测的旋转矩阵和真实旋转矩阵在平展为向量后索引$ i $ 对应的元素。同时,将3DRegNet及RPM-Net中配准方法的准确性指标作为配准结果的评价标准,以进一步评估配准结果的准确率以及变换后源点云与目标点云间的误差,其公式为$$ {\delta }_{{{R}}}=\text{acos}\left(\frac{\text{trace}({R}^{-1}{R}_{{\mathrm{G}}})-1}{2}\right),{\delta }_{t}={\Vert t-{t}_{{\mathrm{G}}}\Vert }_{2} $$ $$ {d_{{\mathrm{CD}}}} = \frac{1}{{\left| {{X_{{R}}}} \right|}}\sum\limits_{x \in {X_{{R}}}} {\mathop {\min }\limits_{y \in {Y_{{R}}}} } \left\| {x - y} \right\|_2^2 + \frac{1}{{\left| {{Y_{{R}}}} \right|}}\sum\limits_{y \in {Y_{{R}}}} {\mathop {\min }\limits_{x \in {X_{{R}}}} } \left\| {x - y} \right\|_2^2 $$ 式中:
$ {\delta _{{R}}}、{\delta _{{t}}} $ 分别为旋转矩阵和平移矩阵的误差评估指标;$ {X_{{R}}} $ 、$ {Y_{{R}}} $ 为经过变换矩阵之后的点云;$ {d_{{\mathrm{CD}}}} $ 为修正之后的点云的倒角距离,可以用于评估算法的配准效果。2.2 模型参数设置
将球查询方法中的搜索半径设置为0.3 cm,图6网络中通道
$ {C_1} $ 、$ {C_2} $ 分别为192和96,正则化项平衡参数和辅助损失平衡参数分别设置为0.05和0.95。配准网络训练时,Batch size设置为8,训练1000 轮次,学习率设置为0.0001 ,优化器设置为Adam。3. 实验结果分析
3.1 采样结果可视化分析
实验采用采样网络辅助随机采样和最远点采样,在采样时获取
1024 规模的点云子集,采样可视化结果如图8所示。从结果可以看出,最远点采样相比随机采样,点云密度更高,更均匀,具有更好的鲁棒性。而网络采样比较关注点云各点在全局特征中的重要程度,因此当点云疏密程度变化大时,变化处的关键点特征丰富,使用网络采样能够筛选出更多关键点。观察桌子腿脚处点云可以看到,使用网络采样辅助和直接采样相比可以筛选出更多的关键点。对比实验证明该方法在特征点提取时,可以保留更多关键点,使用不同方法耗时如表1所示。
表 1 采样耗时Table 1 Sampling time consumedms 采样方法 1024 关键点512关键点 随机采样 1.5 1.0 网络+随机采样 15.3 10.4 最远点采样 140.7 73.8 网络+最远点采样 76.3 43.1 可以看出随机采样所需时间最短,因为该方法采样不均匀,容易丢失大量的关键点信息。最远点采样所需时间最长,但是最远点采样加入网络采样后,采样时间会急剧下降。观察有网络采样加持和没有网络加持的最远点采样的时间,耗时能够减少45.36%,证明了采用该网络采样方法作用于采样模块的可行性和有效性。
3.2 点云配准结果分析
本文提出了一种基于特征融合和网络采样的配准方法。所设计的网络采样方法能在采样阶段获取点云全局特征,并将通过关键点集合得到的局部特征与采样阶段得到的全局特征融合,进而使用融合特征进行配准。使用该方法进行点云配准的可视化结果如图9所示。
从图9中可知,该方法不仅对简单的场景(如花瓶)完成了较好的配准,即使对复杂的花瓣场景,该网络采样仍能保留较多关键点信息并完成了较好配准,充分证明了该方法的有效性。
本文提出了一种网络采样筛选关键点的方法,通过将局部特征和采样阶段的全局特征融合来求取特征矩阵,在软对应方式和迭代过程中延续了RPM-Net算法的思想,但在特征提取阶段采用完全不同的方法。为了对比本文方法和RPM-Net的优劣,随机从待配准点云组中选取坐标,然后在坐标上添加高斯噪声采样后送入网络训练,得出误差对比结果如表2。其中RS代表随机采样(random sampling),FPS代表最远点采样(farthest point sampling),当使用本文提出方法提取的关键点不足时,采用RS或者FPS采样方式进行补充。
表 2 不同采样方法结果对比Table 2 Registration results for different sampling methods配准模型 $ {R_{{\mathrm{RMSE}}}} $ $ {t_{{\mathrm{RMSE}}}} $ $ {R_{{\mathrm{MAE}}}} $ $ {t_{{\mathrm{MSE}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 2.6567 0.0208 0.8993 0.0085 1.7443 0.0179 0.00089 本文方法(RS) 2.4132 0.0199 0.8710 0.0083 1.6677 0.0173 0.00084 RPM-Net(FPS) 2.3839 0.0190 0.7558 0.0072 1.4520 0.0152 0.00082 本文方法(FPS) 2.0705 0.0179 0.7332 0.0071 1.4066 0.0150 0.00081 从表2可知,本文提出的特征融合方法在平移矩阵均方误差上相比于RPM-Net算法降低了5.67%,在旋转矩阵均方根误差上降低了13.1%,证明了本文方法在配准精度上有所提升,这是因为本方法保留了更多关键点。而从表1可知使用本文方法也会提升采样速度,尤其是对于最远点采样而言,采样速度提升更快,证明了本文方法在采样速度和配准精度上都有极大提高。
为了验证网络在点云重叠度较低时的配准效果,通过修改平面截取后剩余点云的比例,以随机采样为基础,对比RPM-Net和本文方法的配准结果(表3)。
表 3 不同点云保留率配准结果Table 3 Registration results of different point cloud retention rates评价指标 点云保留率70% 点云保留率60% $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 1.7443 0.0179 0.00089 3.3394 0.0444 0.00165 本文方法(RS) 1.6677 0.0173 0.00084 3.0609 0.0406 0.00159 评价指标 点云保留率50% 点云保留率40% $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 7.7059 0.1249 0.00524 18.5692 0.2555 0.0124 本文方法(RS) 6.3175 0.1121 0.00463 16.9265 0.2392 0.0105 从表3可以看出,随着保留率的下降,各算法效果都出现了下降。通过单独使用评估指标
$ {d_{{\mathrm{CD}}}} $ 分析可知,在待配准点云重叠率降低之后,配准误差均会变大。但相对于RPM-Net,本文方法能够筛选更多的关键点,并在特征提取阶段融合了全局特征和局部特征,因此误差会比RPM-Net更低。这证明了该方法不仅精确度有所提高,鲁棒性也变得更好。为了对比更多常用的模型,使用本文方法和其他常用方法对数据集中的点云进行配准,部分对比结果如图10。
从配准结果可以看出,在特征比较明显的点云配准任务中,所有算法均能较好地处理配准任务,但在配准任务比较复杂的情况下(如花瓣和马桶),一些算法已经不能很好地完成任务。例如,DCP-v2及PointNetLK也仅能求取出相对正确的平移矩阵,而在旋转姿态上存在肉眼可见的误差。相比之下,本文方法在面对复杂的花瓣、马桶等场景时仍然具有较好的效果。观察图10最后一列马桶的配准结果,可以发现与DGR和PointDSC等较新常用算法相比,本算法在马桶上表面边缘处保留了更多关键点,并且配准结果也较为准确。
表4给出不同方法的误差结果。数据表明本文提出的算法相比于其他算法,在所求变换矩阵误差中,旋转矩阵的均方根误差
$ {R_{{\mathrm{RMAE}}}} $ 和误差评估指标$ {\delta _{{R}}} $ 均有所降低,这说明本文方法能够克服点云配准中旋转不变性问题。同时,平移矩阵的均方根误差$ {t_{{\mathrm{RMSE}}}} $ 和误差评估指标$ {\delta _{{t}}} $ 相比其他算法也有一定减小,而且在关键点筛选及特征提取步骤中,保留并挖掘出了更多重要点云信息,避免了算法在小规模点云配准时因信息缺失而导致的精度问题,可以稳定高效地完成点云配准任务,证实了本文方法的有效性。表 4 配准结果对比Table 4 Registration results配准模型 $ {R_{{\mathrm{RMAE}}}} $ $ {t_{{\mathrm{RMSE}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ ICP 13.719 0.132 27.250 0.2800 0.01530 PointNetLK 15.931 0.142 29.725 0.2970 0.02350 DCP-v2 6.380 0.083 12.607 0.1690 0.01130 RPM-Net(RS) 0.899 0.009 1.744 0.0180 0.00089 本文方法(RS) 0.871 0.008 1.668 0.0170 0.00084 DGR 0.912 0.107 1.769 0.0197 0.00130 PointDSC 0.893 0.102 1.693 0.0186 0.00097 为了进一步评估本文方法在真实点云中的效果,使用自制的点云数据进行配准实验。实验中,预先对点云数据进行采样,然后通过采样模块下采样至
1024 个点。配准结果如图11所示,可以看出本文算法在实际场景中的配准结果较为准确,具有很强的实用性。4. 结束语
本文针对点云下采样时,容易丢失代表点云特征的点,导致配准精度低的问题,提出了一种新的网络采样方法。该方法可以保留更多关键点,通过将采样阶段获得的全局特征和关键点集合得到的局部特征融合,设计了一种求取特征矩阵的新方法,保留了更多关键点特征,解决了传统点云下采样时,容易丢失更能代表点云特征的关键点的问题。通过和其他较新常用方法的实验对比,证实了该方法在保证效率的同时,能够保留更多特征,提高了点云的配准精度。
-
表 1 采样耗时
Table 1 Sampling time consumed
ms 采样方法 1024 关键点512关键点 随机采样 1.5 1.0 网络+随机采样 15.3 10.4 最远点采样 140.7 73.8 网络+最远点采样 76.3 43.1 表 2 不同采样方法结果对比
Table 2 Registration results for different sampling methods
配准模型 $ {R_{{\mathrm{RMSE}}}} $ $ {t_{{\mathrm{RMSE}}}} $ $ {R_{{\mathrm{MAE}}}} $ $ {t_{{\mathrm{MSE}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 2.6567 0.0208 0.8993 0.0085 1.7443 0.0179 0.00089 本文方法(RS) 2.4132 0.0199 0.8710 0.0083 1.6677 0.0173 0.00084 RPM-Net(FPS) 2.3839 0.0190 0.7558 0.0072 1.4520 0.0152 0.00082 本文方法(FPS) 2.0705 0.0179 0.7332 0.0071 1.4066 0.0150 0.00081 表 3 不同点云保留率配准结果
Table 3 Registration results of different point cloud retention rates
评价指标 点云保留率70% 点云保留率60% $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 1.7443 0.0179 0.00089 3.3394 0.0444 0.00165 本文方法(RS) 1.6677 0.0173 0.00084 3.0609 0.0406 0.00159 评价指标 点云保留率50% 点云保留率40% $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ RPM-Net(RS) 7.7059 0.1249 0.00524 18.5692 0.2555 0.0124 本文方法(RS) 6.3175 0.1121 0.00463 16.9265 0.2392 0.0105 表 4 配准结果对比
Table 4 Registration results
配准模型 $ {R_{{\mathrm{RMAE}}}} $ $ {t_{{\mathrm{RMSE}}}} $ $ {\delta _{{R}}} $ $ {\delta _{{t}}} $ $ {d_{{\mathrm{CD}}}} $ ICP 13.719 0.132 27.250 0.2800 0.01530 PointNetLK 15.931 0.142 29.725 0.2970 0.02350 DCP-v2 6.380 0.083 12.607 0.1690 0.01130 RPM-Net(RS) 0.899 0.009 1.744 0.0180 0.00089 本文方法(RS) 0.871 0.008 1.668 0.0170 0.00084 DGR 0.912 0.107 1.769 0.0197 0.00130 PointDSC 0.893 0.102 1.693 0.0186 0.00097 -
[1] 张新钰, 邹镇洪, 李志伟, 等. 面向自动驾驶目标检测的深度多模态融合技术[J]. 智能系统学报, 2020, 15(4): 758−771. doi: 10.11992/tis.202002010 ZHANG Xinyu, ZOU Zhenhong, LI Zhiwei, et al. Deep multi-modal fusion in object detection for autonomous driving[J]. CAAI transactions on intelligent systems, 2020, 15(4): 758−771. doi: 10.11992/tis.202002010 [2] CHEN Kai, HONG Lanqing, XU Hang, et al. MultiSiam: self-supervised multi-instance Siamese representation learning for autonomous driving[C]//2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 7526−7534. [3] MA Gang, WEI Hui. A novel sketch-based framework utilizing contour cues for efficient point cloud registration[J]. IEEE transactions on geoscience and remote sensing, 2023, 61: 5703616. [4] PEREZ-GONZALEZ J, LUNA-MADRIGAL F, PIÑA-RAMIREZ O. Deep learning point cloud registration based on distance features[J]. IEEE Latin America transactions, 2019, 17(12): 2053−2060. doi: 10.1109/TLA.2019.9011551 [5] SEGAL A, HAEHNEL D, THRUN S. Generalized-ICP[C]//Robotics: Science and Systems. Seattle: MIT Press, 2009. [6] YANG Jiaolong, LI Hongdong, JIA Yunde. Go-ICP: solving 3D registration efficiently and globally optimally[C]//2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013: 1457−1464. [7] RUSU R B, BLODOW N, BEETZ M. Fast point feature histograms (FPFH) for 3D registration[C]//2009 IEEE International Conference on Robotics and Automation. Kobe: IEEE, 2009: 3212−3217. [8] SANG Mengting, WANG Wei, PAN Yani. RGB-ICP method to calculate ground three-dimensional deformation based on point cloud from airborne LiDAR[J]. Remote sensing, 2022, 14(19): 4851. doi: 10.3390/rs14194851 [9] SHI Weijing, RAJKUMAR R. Point-GNN: graph neural network for 3D object detection in a point cloud[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 1708−1716. [10] XIE Yifan, ZHU Jihua, LI Shiqi, et al. Cross-modal information-guided network using contrastive learning for point cloud registration[J]. IEEE robotics and automation letters, 2024, 9(1): 103−110. doi: 10.1109/LRA.2023.3331625 [11] 陆军, 邵红旭, 王伟, 等. 基于关键点特征匹配的点云配准方法[J]. 北京理工大学学报, 2020, 40(4): 409−415. LU Jun, SHAO Hongxu, WANG Wei, et al. Point cloud registration method based on key point extraction with small overlap[J]. Transactions of Beijing Institute of Technology, 2020, 40(4): 409−415. [12] ISHIHARA K, KANERVISTO A, MIURA J, et al. Multi-task learning with attention for end-to-end autonomous driving[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Nashville: IEEE, 2021: 2902−2911. [13] WANG Li, DU Liang, YE Xiaoqing, et al. Depth-conditioned dynamic message propagation for monocular 3D object detection[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021: 454−463. [14] YAN Zihao, YI Zimu, HU Ruizhen, et al. Consistent two-flow network for tele-registration of point clouds[J]. IEEE transactions on visualization and computer graphics, 2022, 28(12): 4304−4318. doi: 10.1109/TVCG.2021.3086113 [15] DENG Haowen, BIRDAL T, ILIC S. PPFNet: global context aware local features for robust 3D point matching[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 195−205. [16] CHOY C, GWAK J, SAVARESE S. 4D spatio-temporal ConvNets: minkowski convolutional neural networks[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 3070−3079. [17] BAI Xuyang, LUO Zixin, ZHOU Lei, et al. D3Feat: joint learning of dense detection and description of 3D local features[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 6358−6366. [18] HUANG Shengyu, GOJCIC Z, USVYATSOV M, et al. PREDATOR: registration of 3D point clouds with low overlap[C]//2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021: 4267−4276. [19] LU Weixin, WAN Guowei, ZHOU Yao, et al. DeepVCP: an end-to-end deep neural network for point cloud registration[C]//2019 IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 12−21. [20] YEW Z J, LEE G H. RPM-net: robust point matching using learned features[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 11821−11830. [21] SARODE V, LI Xueqian, GOFORTH H, et al. PCRNet: point cloud registration network using PointNet encoding[EB/OL]. (2019−11−04)[2024−01−01]. https://arxiv.org/abs/1908.07906v2. [22] GE Xuming, HU Han, WU Bo. Image-guided registration of unordered terrestrial laser scanning point clouds for urban scenes[J]. IEEE transactions on geoscience and remote sensing, 2019, 57(11): 9264−9276. doi: 10.1109/TGRS.2019.2925805 [23] YUAN Hanjie, HE Yang, DONG Limeng, et al. Multi-spectral registration fusion based on laser point cloud[C]//2022 IEEE International Conference on Electrical Engineering, Big Data and Algorithms. Changchun: IEEE, 2022: 50−53. [24] WANG Huaqiang, HUANG Lu, YU Kang, et al. Deep-learning-based multiview RGBD sensor system for 3-D face point cloud registration[J]. IEEE sensors letters, 2023, 7(5): 7001804. [25] HE Chenhang, ZENG Hui, HUANG Jianqiang, et al. Structure aware single-stage 3D object detection from point cloud[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 11870−11879. [26] WU Yue, YAO Qianlin, FAN Xiaolong, et al. PANet: a point-attention based multi-scale feature fusion network for point cloud registration[J]. IEEE transactions on instrumentation and measurement, 2023, 72: 2512913. [27] KADAM P, ZHANG Min, LIU Shan, et al. R-PointHop: a green, accurate, and unsupervised point cloud registration method[J]. IEEE transactions on image processing, 2022, 31: 2710−2725. doi: 10.1109/TIP.2022.3160609 [28] WANG Yue, SOLOMON J. Deep closest point: learning representations for point cloud registration[C]//2019 IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 3522−3531. [29] YANG Zetong, SUN Yanan, LIU Shu, et al. 3DSSD: point-based 3D single stage object detector[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 11037−11045. [30] QI C R, YI Li, SU Hao, et al. PointNet++: deep hierarchical feature learning on point sets in a metric space[EB/OL]. (2017−06−07)[2024−01−01]. https://arxiv.org/abs/1706.02413v1. [31] WANG Yongqiang, ZHANG Di, NI Lihua, et al. A novel keypoint detection method for radar point cloud registration[J]. IEEE sensors letters, 2023, 7(12): 3503204.