一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于高斯混合模型隐变量监督学习的多点云配准方法与流程

2022-02-22 05:37:32 来源:中国专利 TAG:


1.本发明属于三维视觉测量技术领域,具体涉及一种基于高斯混合模型隐变量监督学习的多点云配准方法。


背景技术:

2.自由曲面是工业制造中最为复杂的曲面,由于现代工业的飞速发展,对产品性能和外观提出了更高的要求,因此自由曲面得到了广泛应用,如飞机机翼、涡轮叶片、舰船船体、汽车车身等。自由曲面形状复杂、难以用数学表达式精确表示且加工精度要求高,其测量是生产制造中的难点问题。传统的测量方法使用三坐标测量机,使用测头接触工件表面进行测量,容易对工件造成划伤,且工件较大时检测效率低下,不适用于大型构件的测量。近年来,光学扫描仪凭借测量速度快、效率高的特点,且测量精度不断提高,在许多测量现场得到了应用。
3.使用光学扫描仪进行数模对比检测的步骤如下:首先扫描工件多个视角的点云数据,然后将多个视角的点云进行配准,再将配准后的点云数据与设计的cad模型进行对齐,分析测量数据与设计模型之间的差别,最终得到误差对比图。其中,多点云配准是数模对比中的关键步骤,配准的精度和速度直接影响到检测结果和检测效率。
4.由于自由曲面工件多无纹理,使用特征匹配的方法配准成功率低,现有测量方法在工件表面贴标志点以方便配准,或使用激光跟踪仪实时定位相机位姿实现配准,增加了操作复杂度和硬件成本。


技术实现要素:

5.有鉴于此,本发明公开了一种基于高斯混合模型隐变量监督学习的多点云配准方法,将cad模型离散化为点云并建模为高斯混合模型,来指导多点云的配准,以解决无纹理工件的多视角点云配准问题,同时省去了测量数据与cad模型对齐的过程。
6.本发明的目的通过以下技术方案实现:提供一种基于高斯混合模型隐变量监督学习的多点云配准方法,包括以下步骤:
7.步骤1、构建标准点云w和待配准点云集合v:对待检工件的预设cad模型进行采样,将其离散化为点云数据,进行预处理,得到标准点云w;使用三维扫描仪对待检工件进行采样,得到n个视角的点云数据,将n个点云数据进行预处理,得到待配准点云集合v,其中,n为正整数;
8.步骤2、将标准点云w和待配准点云集合v建模为同样的高斯混合模型,设置高斯混合模型的超参数为k;
9.步骤3、设标准点云w为步骤2所述高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,求解最优高斯混合模型参数;
10.步骤4、设待配准点云集合v经刚性变换后配准完成的点云集合t(v)为步骤2所述高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,使用步骤3所求的最优高
斯混合模型参数求解最优变换参数t;
11.步骤5、根据所述最优变换参数t完成多点云的配准,同时也完成了与标准点云w的对齐。
12.作为进一步的改进,所述步骤1中得到待配准点云集合v的预处理过程具体为:首先去除离群点,然后使用体素降采样方法得到密度均匀的点云数据,再使用随机采样得到点数均为m的n个点云数据,得到待配准点云集合v,其中,vi表示第i次采样得到的点云,v
ij
表示点云vi中的第j个点,表示实数集。
13.作为进一步的改进,所述步骤2中得到标准点云w的预处理过程具体为:对待检工件的预设cad模型采样得到点云数据,使用体素降采样方法得到密度均匀的点云,再使用随机采样得到点数为m的标准点云w,其中,wj表示标准点云w中的第j个点。
14.作为进一步的改进,所述步骤3的具体步骤如下:
15.步骤3a、将标准点云w=[w1,...,wj,...,wm]建模为高斯混合模型,模型参数为其中,w1、wj、wm均表示标准点云w中的点,右下标为标准点云w中每个点的序数,m为标准点云w的总点数,为正整数,pk、uk、∑k分别表示第k个高斯模型的权重、均值和方差,k为高斯混合模型的超参数,表示高斯混合模型由k个高斯模型加权求和而成;
[0016]
步骤3b、引入隐变量z={zj|j∈[1...m]},zj表示第j个点与高斯混合模型成分的对应关系,且zj=k表示标准点云w=[w1,...,wj,...,wm]中的点wj由第k个高斯模型生成;
[0017]
步骤3c、将标准点云w=[w1,...,wj,...,wm]输入到预设的神经网络3d network中,得到m
×
k的矩阵a=[α
jk
],其中α
jk
表示点wj由第k个高斯模型生成的概率,即p(zj=k)=α
jk

[0018]
步骤3d、通过预设的第一优化函数求解最优高斯混合模型参数使得生成标准点云w的似然最大,其中p
k*
、u
k*
、∑
k*
分别表示第k个高斯模型的最优权重、最优均值和最优方差。
[0019]
作为进一步的改进,步骤3d中预设的第一优化函数为:
[0020][0021]
通过上式分别对μk、σk、pk求导并使导数为零,解得最优高斯混合模型参数为:
[0022][0023]
式中,表示l(
·
)取得最大值时对应的θ值,右上标t表示矩阵转置。
[0024]
作为进一步的改进,所述步骤4的具体步骤如下:
[0025]
步骤4a、将点云集合建模为高斯混合模型,模型参数为式中,分别表示第k个高斯模型的权重、均值和方差,n表示待配准点云集合v中点云的数量,i表示待配准点云集合v中每个点的序数;
[0026]
步骤4b、引入隐变量z
ij
表示点云vi中的第j个点与高斯混合模型成分的对应关系,z
ij
=k表示点云vi中的点v
ij
由第k个高斯模型生成;
[0027]
步骤4c、将待配准点云集合v输入到预设的神经网络中3d network中,得到n个m
×
k的矩阵b=[β
ijk
],其中β
ijk
表示点v
ij
由第k个高斯模型生成的概率,即p(z
ij
=k)=β
ijk

[0028]
步骤4d、通过预设的第二优化函数求解最优变换参数使得高斯混合模型生成点云t(v)的似然最大,其中,分别表示第i个最优旋转矩阵和第i个最优平移矩阵。
[0029]
作为进一步的改进,步骤4d中预设的第二优化函数为:
[0030][0031][0032]
其中,表示函数取得最小值时对应的ri值和ti值,ri表示旋转矩阵,ti表示平移矩阵,移矩阵,表示第i个点云经过加权计算后的点云,表示实数集,是匹配到第k高斯混合分布的第i个点云的加权平均值,为单位向量,右上标t表示矩阵转置,为对角阵,其对角线元素为||
·
||f为f范数,i表示单位矩阵,s.t.之后的表达式为第二优化函数的约束条件;
[0033]
求解预设的第二优化函数,得到最优变换参数t为:
[0034][0035][0036]
其中,分别是矩阵经过svd分解后的左矩阵和右矩阵,式中
diag(
·
)表示对角矩阵,tr(
·
)表示矩阵的迹,为单位向量。
[0037]
作为进一步的改进,步骤3及步骤4中所述预设的神经网络的处理流程如下:
[0038]
输入点数为m的点云,每个点云由三维坐标表示,构成m
×
3的矩阵,输入到mlp网络中,将点云从三维空间映射到高维空间中,得到m
×
1024的点特征矩阵,其中每个点云的特征维度为1024;所述点特征矩阵经过最大值池化操作得到1
×
1024的全局特征,将其扩展为m
×
1024的矩阵并与点特征矩阵进行拼接,得到m
×
2048矩阵,拼接后的m
×
2048矩阵输入到mlp网络中,将高维数据映射到k维,得到m
×
k的矩阵,k即高斯混合模型的超参数。
[0039]
作为进一步的改进,所述步骤3和步骤4预设的神经网络求得隐变量前需先进行训练,具体过程如下:
[0040]
步骤a:构建训练数据集,训练数据集使用模拟数据集或真实数据集,所述模拟数据集的构建通过对待检工件的预设cad模型进行采样,同时记录采样的位姿,作为训练的真值;所述真实数据集的构建则使用三维扫描仪对待检工件进行采样,同时在采样时记录位姿,作为训练的真值;
[0041]
步骤b:训练神经网络,将待配准点云集合v和对应的标准点云w输入到预设的神经网络中,设点云vi到标准点云w的变换矩阵为ti,给定点云vi到w变换的真值为t
igt
,神经网络训练的loss函数为:loss=||tit
igt-1-i||,其中,i为单位矩阵,通过所述loss函数训练预设的神经网络,直到测试误差达到预设的阈值范围,ti(v
ij
)表示点v
ij
经过变换ti后得到的点,t
igt
(v
ij
)表示点v
ij
经过变换t
igt
后得到的点。
[0042]
与现有技术相比,本发明的优点在于:
[0043]
(1)鲁棒性好。点云测量中存在很多离群点和噪点,使用现有算法无法完全去除,影响配准精度,本发明将点云建模为高斯混合模型(即概率模型),减少了离群点或噪点对配准精度的影响。
[0044]
(2)重建速度快。由于对重叠区域没有要求,只需使采集的点云覆盖被测区域,可以最大限度地减少采样次数;使用训练好的神经网络实现配准参数求解,无需进行迭代,减少了程序运行时间。
[0045]
(3)重建成本低,步骤简单。无需粘贴标志点,减少了时间成本;也无需激光跟踪仪等精密外部定位设备,降低了系统复杂度和硬件成本。
附图说明
[0046]
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
[0047]
图1是基于高斯混合模型隐变量监督学习的多点云配准方法的流程图。
[0048]
图2为本发明所述方法中神经网络3d network的训练框架图。
[0049]
图3为本发明所述方法中神经网络3d network的结构图。
[0050]
图4为使用三维扫描仪对自由曲面工件进行采样的示意图。
具体实施方式
[0051]
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0052]
如图1所示为本发明所述方法的整体流程图,一种基于高斯混合模型隐变量监督学习的多点云配准方法,包括以下步骤:
[0053]
步骤1、构建标准点云w和待配准点云集合v:对待检工件的预设cad模型进行采样,将其离散化为点云数据,进行预处理,得到标准点云w;使用三维扫描仪对待检工件进行采样,得到n个视角的点云数据,将n个点云数据进行预处理,得到待配准点云集合v,其中,n为正整数;需要说明的是,如图4所示,对于圆柱形状的工件,在六个视角(v1~v6)进行采样即可覆盖整个工件,实际采样时,采样区域尽可能完全覆盖待检工件,采样次数n尽可能少,以提高配准速度;
[0054]
步骤2、将标准点云w和待配准点云集合v建模为同样的高斯混合模型,设置高斯混合模型的超参数k;
[0055]
需要说明的是,高斯混合模型的表达式为其中,pk、μk、σk分别为每个高斯分布的权重、均值和协方差,表示单个高斯模型的表达式,模型参数为优选地,k取值为16。
[0056]
步骤3、设标准点云w为步骤2所述高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,求解最优高斯混合模型参数;
[0057]
步骤4、设待配准点云集合v经刚性变换后配准完成的点云集合t(v)为步骤2所述高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,使用步骤3所求的最优高斯混合模型参数求解最优变换参数t,使得待配准点云集合v的高斯混合模型与标准点云w的高斯混合模型一致;
[0058]
步骤5、根据所述最优变换参数t完成多点云的配准,同时也完成了与标准点云w的对齐。
[0059]
本发明提供的基于高斯混合模型隐变量监督学习的多点云配准方法,首先对待检工件的预设cad模型采样、预处理后得到标准点云,同时,用三维扫描仪测量待检工件,预处理后得到待配准点云集合;然后将标准点云和待配准点云集合建模为同样的高斯混合模型,设置高斯混合模型的超参数为k;设标准点云为高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,求解最优高斯混合模型参数;设待配准点云集合经刚性变换后配准完成的点云集合为高斯混合模型生成的一个样本,使用预设的神经网络求得隐变量,使用前述所求的最优高斯混合模型参数,求解最优变换参数,使得变换后待配准点云集合的高斯混合模型与标准点云的高斯混合模型一致;根据前述所求的最优变换参数完成多点云的配准,同时也完成了与标准点云的对齐。该方法使用高斯混合模型(即概率模型)建模点云数据,对噪声有较好的鲁棒性;用预设的cad模型指导多点云的配准,扫描时无需考虑
相邻点云重叠度;使用预设的神经网络建模模型隐变量,无需迭代过程,提高了配准速度;无需增加标志点或外部定位设备,简化了配准步骤。
[0060]
在一个实施例中,步骤1中预处理过程具体为:首先去除离群点,然后使用体素降采样方法得到密度均匀的点云数据,再使用随机采样得到点数均为m的n个点云数据,得到待配准点云集合v,其中,中,vi表示第i次采样得到的点云,v
ij
表示点云vi中的第j个点,表示实数集;优选地,在本实施例中n=6,m=1024;
[0061]
步骤2中预处理过程具体为:对待检工件的预设cad模型采样得到点云数据,使用体素降采样方法得到密度均匀的点云,再使用随机采样得到点数为m的标准点云w,其中,wj表示标准点云w中的第j个点。需要说明的是,高斯混合模型的超参数k的值应当远小于m,以提高运算速度和减少内存占用。
[0062]
作为进一步优选的实施方式,步骤3的具体步骤如下:
[0063]
步骤3a、将标准点云w=[w1,...,wj,...,wm]建模为高斯混合模型,模型参数为其中,w1、wj、wm均表示标准点云w中的点,右下标为标准点云w中每个点的序数,m为标准点云w的总点数,取正整数,pk、uk、∑k分别表示第k个高斯模型的权重、均值和方差,k为高斯混合模型的超参数,表示高斯混合模型由k个高斯模型加权求和而成;
[0064]
步骤3b、引入隐变量z={zj|j∈[1...m]},zj表示第j个点与高斯混合模型成分的对应关系,且zj=k表示标准点云w=[w1,...,wj,...,wm]中的点云wj由第k个高斯模型生成;
[0065]
步骤3c、将标准点云w=[w1,...,wj,...,wm]输入到预设的神经网络3dnetwork中,得到m
×
k的矩阵a=[α
jk
],其中α
jk
表示点云wj由第k个高斯模型生成的概率,即p(zj=k)=α
jk

[0066]
其中,三维神经网络(3d network)的具体结构参见图3,该神经网络的处理流程如下:
[0067]
输入点数为m的点云,每个点云由三维坐标表示,构成m
×
3的矩阵,输入到多层感知机网络(mlp)中,将点云从三维空间映射到高维空间中,得到m
×
1024的点特征矩阵(point feature),其中每个点云的特征维度为1024;所述点特征经过最大值池化(point-wise maxpool)操作得到1
×
1024的全局特征,将其扩展(expand)为m
×
1024的矩阵并与点特征矩阵进行拼接,得到m
×
2048矩阵(combined feature),拼接后的m
×
2048矩阵输入到mlp网络中,将高维数据映射到k维,得到m
×
k的矩阵(correspondence),k即高斯混合模型的超参数;
[0068]
步骤3d、通过预设的第一优化函数求解最优高斯混合模型参数使得生成标准点云w的似然最大,其中p
k*
、u
k*
、∑
k*
分别表示第k个高斯模型的最优权重、最优均值和最优方差。
[0069]
具体地,上述预设的第一优化函数可以表示为:
[0070][0071]
其中,三维高斯模型表达式为:
[0072][0073]
其中,|σk|表示矩阵σk的行列式,y为变量的示例,代表上式中的w
j-μk,||
·
||为一个运算符,即为上式中计算方式的描述。对高斯分布函数取log,并忽略常数项,得到最终的优化函数如下:
[0074][0075]
通过上式分别对μk、σk、pk求导并使导数为零,解得最优高斯混合模型参数为:
[0076][0077]
式中,表示l(
·
)取得最大值时对应的θ值,右上标t表示矩阵转置。
[0078]
在一个实施例中,步骤4的具体步骤如下:
[0079]
步骤4a、将点云集合建模为高斯混合模型,模型参数为式中,分别表示第k个高斯模型的权重、均值和方差,n表示点云集合v中点云的数量,i表示待配准点云集合v中每个点的序数;
[0080]
步骤4b、引入隐变量z
ij
表示点云vi中的第j个点与高斯混合模型成分的对应关系,z
ij
=k表示点云vi中的点v
ij
由第k个高斯模型生成;
[0081]
步骤4c、将待配准点云集合v输入到预设的神经网络中3d network中,得到n个m
×
k的矩阵b=[β
ijk
],其中β
ijk
表示点v
ij
由第k个高斯模型生成的概率,即p(z
ij
=k)=β
ijk

[0082]
步骤4d、通过预设的第二优化函数求解最优变换参数使得高斯混合模型生成点云t(v)的似然最大,其中,分别表示第i个最优旋转矩阵和第i个最优平移矩阵。
[0083]
具体地,对的最大似然估计为要使步骤3所求标准点云w的高斯混合模型参数θ
*
与经刚性变换后配准完成的点云集合t(v)
的高斯混合模型趋于一致,即最小化两个模型分布函数的kl散度(即相对熵),具体表达式为:式中,表示其后公式取得最小值时对应的t值,该问题(即最小化两个模型分布函数的kl散度)等价于最大化点云集合t(v)的高斯混合模型在标准点云分布θ
*
下的对数似然:
[0084][0085]
式中,表示其后公式取得最大值时对应的t值。
[0086]
为了消除log函数中的求和符号,引入隐变量得到优化函数:
[0087][0088]
将前述三维高斯模型表达式代入上式,消去高斯模型表达式中指数函数的负号,上述最大化问题可以并简化为最小化如下的优化函数:
[0089][0090]
为得到闭式解,假设高斯分布是各向同性的,则协方差矩阵可表示为σk=σki3,其中,i3为单位阵,σk为常数,得到最终的优化函数:
[0091][0092]
变换矩阵的最优值求解问题可以转化为如下矩阵形式的约束最优化问题:
[0093][0094][0095]
其中,表示函数取得最小值时对应的ri值和ti值,ri表示旋转矩阵,ti表示平移矩阵,移矩阵,表示第i个点云经过加权计算后的点云,表示实数集,是匹配到第k高斯混合分布的第i个点云的加权平均值,为单位向量,右上标t表示矩阵转置,为对角阵,其对角线元素为||
·
||f为f范数,i表示单位矩阵,s.t.之后的表达式为第二优化函数的约束条件;
[0096]
求解预设的第二优化函数,得到最优变换参数t为:
[0097][0098][0099]
其中和是矩阵经过svd分解后的左右矩阵,经过svd分解后的左右矩阵,diag(
·
)表示对角矩阵,tr(
·
)表示矩阵的迹,为单位向量。
[0100]
求得旋转矩阵后,可得平移矩阵为:
[0101][0102]
其中,tr(
·
)表示矩阵的迹。
[0103]
需要说明的是,该步骤5中神经网络的处理流程与步骤4中神经网络的处理流程相同,此处不再赘述。
[0104]
此外,步骤4和步骤5预设的神经网络求得隐变量前需先进行训练,具体参见图2,过程如下:
[0105]
步骤a:构建训练数据集,训练数据集使用模拟数据或真实数据,模拟数据集的构建通过对待检工件的预设cad模型进行采样,同时记录采样的位姿,作为训练的真值;真实数据集的构建则需要使用三维扫描仪对待检工件进行采样,同时在采样时记录位姿,作为训练的真值;需要说明的是,神经网络训练过程中,选取训练数据与测试数据的比例为3:1。
[0106]
步骤b:训练神经网络,将待配准点云集合v和对应的标准点云w输入到预设的神经网络中,设点云vi到标准点云w的变换矩阵为ti,给定点云vi到w变换的真值为t
igt
,神经网络训练的loss函数为:其中,i为单位矩阵,通过所述loss函数训练预设的神经网络,直到测试误差达到预设的阈值范围,ti(v
ij
)表示点v
ij
经过变换ti后得到的点,t
igt
(v
ij
)表示点v
ij
经过变换t
igt
后得到的点。上述过程具体参见图3。
[0107]
本发明使用概率模型建模点云数据,对噪声有较好的鲁棒性;用cad模型指导多点云的配准,扫描时无需考虑相邻点云重叠度;使用深度学习算法建模模型隐变量,无需迭代过程,提高了配准速度;无需增加标志点或外部定位设备,简化了配准步骤。
[0108]
上面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,不能理解为对本发明保护范围的限制。
[0109]
总之,本发明虽然列举了上述优选实施方式,但是应该说明,虽然本领域的技术人员可以进行各种变化和改型,除非这样的变化和改型偏离了本发明的范围,否则都应该包括在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献