APP下载

基于PointNet改进的无序工件点云配准算法*

2023-12-13梁艳阳叶达游周集华黄子健孙伟霖石峰王琼瑶曹梓涵何春燕

机电工程技术 2023年11期
关键词:无序位姿工件

梁艳阳,叶达游,周集华,黄子健,孙伟霖,石峰,王琼瑶,曹梓涵,何春燕

(五邑大学智能制造学部,广东 江门 529020)

0 引言

由于结构光传感器等三维相机的快速发展,三维点云逐渐被应用于各个领域[1]。因此,关于三维点云处理算法发展得到更多的关注,例如目标识别、位姿估计[2]和逆向工程等。点云配准是三维点云的基础技术,其原理是通过若干次旋转、平移等刚性变换,将不同视角的点云统一到同一个参考坐标系。近年来,深度学习领域有很大的突破,三维点云配准效率和准确性逐渐提高,这给三维点云数据处理提供了很好的解决方案,也带来了机遇和挑战[3]。

传统算法仍然是三维点云配准的常用方法。一种是基于局部特征的方法,通过特征描述符(如3DSC[4]、SHOT[5])找到模板点云与目标点云之间的对应关系实现粗配准,再求解精确配准。另一种为全局特征最优方法实现最优配准,但全局特征最优方法效率较低。迭代最近点(ICP)[6]仍然是主流的点云配准方法之一,但容易出现过拟合,改进的ICP算法[7]的计算效率和精度逐渐提高。FGR[8]为快速全局配准算法,提取点云表面特征通过特征距离进行匹配。PFH 算法[9]利用直方图对点云的几何特征进行点云配准。文献[10]提出采用因子分析法对点云进行表示,利用极大似然估计的方法求得因子载荷矩阵对含有噪声点云的配准。

基于深度学习的点云配准研究也得到更多的关注,PointNet[11]是首个直接处理点云的神经网络,以此为基础设计出先进的算法。PointNetLK[12]把点映射到高维空间,使用LK光流算法,进行点云配准,但对于含有噪声的点云数据鲁棒性较低。SCANet[14]提出基于空间和通道注意力的网络,用于两个输入全局特征向量之间的信息交互实现配准。ROPNet[15]使用代表重叠点提取全局特征来预测配准,将部分到部分的配准转变为部分到完全的配准。

基于上述的现状,本文研究引入基于PointNet 的点云配准网络i-SAM,对无序工件三维点云进行位姿估计。首先利用三维软件制作工件CAD模型,再基于CAD模型生成点云生成相应的无序工件数据集(WorkpiecesDataSet),用于配准算法训练测试与优化,并建立位姿估计预测模型,对无序工件位精确姿参数进行求解,最后引导机器人实现无序工件抓取。

1 三维点云配准流程

1.1 算法流程

研究提出的点云配准算法流程如图1 所示,无序工件三维点云配准算法的框架是利用PointNet 对点云数据进行编码,分别对模板点云和目标点云进行特征提取,求解全局特征向量。根据两组点云的特征向量计算初始变换矩阵,将求变换后的目标点云与模板点云输入ICP模块求解初始变换矩阵,最后通过多次迭代求解精确位姿矩阵,实现无序工件位姿估计。当达到设定的收敛阈值,结束迭代完成配准,最后通过奇异值分解(SVD)计算工件在空间的位姿参数。

1.2 构建网络

三维点云具有无序性和几何不变性,且保存了三维空间中原始的几何信息,包括三维坐标、类别、法向量等。在对点云进行配准时,利用对称函数以提供对输入点云变换的不变性,而对称函数的输出向量称为全局特征向量,点云全局特征向量包含点云的几何信息和方向信息,可以通过比较点云的特征向量来求解两片点云之间的变换关系。点云配准问题可以描述为给定两片点云X∈RN×3和Y∈RM×3,计算得出一个刚性变换矩阵(R,t)。定义目标点云为PT和模板点云为PS,目标函数为φ,计算出刚体变换矩阵T∈SE(3),使φ(PT)和φ(PS)之间的差异最小。

1.3 配准模块

图2 为算法的核心。将从结构光传感器采集的点云(称为目标点云PT)与对应要配准物体的已知模型的点云(称为模板点云PS)作为输入。SAM 包括特征提取层和回归层。特征提取层分别将PT和PS输入到PointNet 模块,对每个点进行一维卷积运算提取点云特征。首先通过T-Net 模块对数据做仿射变换,由共享的多层感知器(MLP),以连体结构排列,对点云逐点特征提取(64维);接着采用仿射变换实现点云的旋转平移不变性,避免损失过多的特征,需要将特征维度映射到高维度空间(1 024 维)。接着作最大池化操作(max-pool),得到全局特征。

图2 单次配准模块网络结构

点云配准模块的对称最大集合函数用于寻找φ(PT)和φ(PS)的全局特征向量。全局特征串联起来并作为输入特征配准模块,将2 片点云合并连接操作进行特征匹配。回归层对PT和PS之间的变换进行预测。为避免过拟合以及提高配准效果,网络设置了5 层全连接层FC(1024,1024,512,256,64)进行位姿估计。最后将变换后的目标点云(PT)和模板点云(PS)输入ICP 模块,输出7 维向量位姿参数,前3 位代表位置参数t∈R3,后4位代表旋转四元数q∈R4(qTq=1)。

1.4 迭代配准框架

在场景中,由于结构光三维相机采集到的点云数据通常为散乱的点。数据量大且含有一定量的噪声点和离群点,存在着遮挡和点云不完整的情况。求得的整体变换不满足精度要求。需要经过预处理等手段再运用迭代的方式获取精确整体变换,求解位姿参数。每次使用SAM 进行配准时,将求得目标点云和模板点云之间的变换矩阵T(i)应用于目标点云。变换后的PT与PS作为下一个SAM 的输入。当网络进行多次迭代后,配准结果到达设定的收敛阈值时,表示迭代结束;最后将每次迭代所求的变换矩阵相乘求得整体变换矩阵,得到模板点云和目标点云之间的整体变换,如式(1)所示。迭代配准框架如图3所示。

图3 迭代配准框架

1.5 位姿估计

由式(1)求解得到整体变换矩阵T后,将求解得到整体变换矩阵利用矩阵奇异值分解(SVD)解出具体姿势参数。

式中:X′= (xi-ux)=(x′i);P′= (xi-ux) = (x′i);ux=;δ1、δ2、δ3均为特征值。

1.6 损失函数

用于训练点云配准网络的损失函数的目的是使预测点云与模板点云之间的距离尽可能小。Earth Mover’s Distance(EMD)函数是对特征空间中的多维矩阵中某一维距离的一种度量。考虑S1,S2∈R3的大小相等s=。X和Y两片点云之间的EMD表示为:

EMD Loss 函数对下一节描述的训练数据集的学习比较有效,对于典型点云输入也有比较高度准确的结果。

2 实验与分析

2.1 网络训练

网络训练使用Adam 优化器对网络,初始学习率为10-6,批次大小为64。实验平台为CentOS 7,配置一个NVIDIA Tesla V100 GPU 和一个Intel 6133 CPU 上训练,CUDA 版本为11.2,Python 版本为3.7,网络都在PyTorch架构上实现。并且使用收敛标准:

实验根据各向同性的旋转误差Err(R)和平移误差Err(t)来评估配准的点云配准精度,其中,

式中:R、t,分别表示预测变换和真实变换。通过计算欧拉角和平移向量的平均绝对误差,评估各向异性旋转均方误差R(MSE,MAE)、 平移均方误差t(MSE,MAE)。

无序工件CAD 数据集(WorkpiecesDataSet)包含4个不同类别的工件,每类工件800 个点云图,共3 200个点云图,设置训练集为2 240 个训练图,测试集为960个测试图。基于CAD 模型表面区域均匀采样,使用最远点算法得到一个完整的点云模型。数据集模型的欧拉角旋转范围为[90°,90°],平移范围为[-0.5,0.5]单位,在模板点云上应用随机刚性转换来生成目标点云。

另外利用结构光相机采集点云场景数据,制作场景数据集。每类工件约1 000 个点云图,4 类工件约4 000个点云图。首先进行点云预处理操作,使得点云数据更加平滑,再按要求生成场景数据集,用作网络训练与测试,按比例分成2 部分:一部分作为训练数据(70%),另一部分为测试数据(30%)。

2.2 完整点云数据

实验对上述WorkpiecesDataSet数据集添加随机噪声、离群点进行训练,再使用测试集对网络进行评估;数据集未含大区域不完整的点云。采取随机种子点进行测试,以进行客观的比较评价。实验结果如表1、图4 所示,i-SAM 与ICP、FGR、PointNetLK、PCRNet、ROPNet 算法对比有较高的配准案例数量,设置i-SAM 的迭代次数为8 次,成功配准的旋转和平移误差更小,由于经过多次迭代配准效率不及其他网络,但也在可接受的范围。

表1 WorkpiecesDataSet不可见形状的测试结果

图4 WorkpiecesDataSet的所见类别物体的测试及预测结果

2.3 不完整点云数据

在真实的场景中,从三维结构光相机采集到的点云有部分含有残缺、不完整情况。在进行配准时,由于点云的部分轮廓特征缺失,导致配准得到的结果不太理想。实验使用含有残缺测试集测试i-SAM 的配准能力。测试集随机产生残缺、不同堆叠程度的模拟实际工况采样,得到95%、90%、75%、60%、50%、25%完整度的点云,最后在训练好的网络模型进行点云残缺配准测试。

配准结果如表2,在完整数据集上训练,将不同比例不完整的目标点云匹配到工件源模型的测试结果如图5所示。随着点云的完整度降低,当点云完整性从95%下降到75%准确度略有下降,从60%降到50%时,配准精确度逐渐降低。说明i-SAM可以较好地处理小幅度缺失情况,成功配准结果的示例有较小的旋转、平移误差。当点云存在大面积遮挡的情况,由于缺失轮廓特征导致误差较大。

表2 不同残缺点云进行配准测试结果

图5 在完整数据集上训练,将不同比例不完整的目标点云匹配到工件源模型的测试结果示例

2.4 含噪声点云数据

在不同的高斯噪声数据下对部分可见性测试, 在含有0.01~0.20的高斯噪声的测试集上进行测试。结果如图6所示,图中,纵轴是实验配准成功率,即旋转误差小于成功标准的测试案例的数量,横轴为不同的噪声标准差值。PointNetLK 对噪声非常敏感表现较差,i-SAM 在0.03~0.075 高斯噪声表现比较稳定,成功配准的示例旋转、平移误差相对其他配准方法较小。

图6 不同程度的高斯噪声下各配准方法的表现

2.5 场景点云数据

使用结构光相机在真实场景、光照良好,并存在一定的堆叠、遮挡等缺陷同时含有随机噪声等干扰情况进采集无序工件点云场景数据,并对场景点云数据进行预处理与分割。对处理后的点云模型用于配准算法的评估。配准结果如表3,配准示例如图7,实验表明配准网络在场景点云数据含有小面积遮挡场景、噪声的情况下,i-SAM 与ICP、FGR、PointNetLK、PCRNet、ROPNet 算法对比在场景点云数据中能够获得较高的精度,配准结果的旋转误差、平移误差更小。

表3 无序工件场景点云进行配准测试结果

图7 不同配准方法对无序工件场景数据配准结果示例

3 结束语

实验针对存在噪声和堆叠工况下,无序工件点云配准结果精度不高、效率低等问题,研究提出i-SAM 网络的点云配准方法。网络基于PointNet 架构的编码网络,利用点云数据进行特征提取与特征匹配,并结合ICP 算法,最后进行多次迭代实现点云精确配准,以进行无序工件位姿估计。实验使用无序工件数据集(Workpieces-DataSet)训练并测试对网络进评估,并使用结构光相机采集场景用于测试网络性能。实验证明提出的配准网络对含有噪声点云具有一定的鲁棒性,对工件含有小面积遮挡场景,含有残缺的情况下,配准框架以迭代的方式实现配准,能够获得较高及精度的位姿估计结果。

猜你喜欢

无序位姿工件
车身无序堆叠零件自动抓取系统
考虑非线性误差的五轴工件安装位置优化
三坐标在工件测绘中的应用技巧
张博庭:煤电不能再这么无序发展下去了
高速路上右行规则与无序行驶规则的比较研究
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
无序体系中的国际秩序
小型四旋翼飞行器位姿建模及其仿真
焊接残余形变在工件精密装配中的仿真应用研究