1.一种用于双线结构光三维测量的点云配准方法,其特征在于,包括以下步骤:获取待测工件两个角度的三维点云P和Q;
分别对三维点云P和Q进行自适应栅格采样处理,得到降采样后的三维点云P和Q,并通过求解采样点加权协方差矩阵并设定自适应阈值提取特征点;
利用特征描述子记录特征点的特征,以找到对应的特征点点对,对降采样后的三维点云P和Q进行粗配准;
计算特征点点对的法向量夹角,根据夹角分布概率定义熵函数并设定熵阈值剔除误匹配点;包括:计算特征点点对的法向量夹角,并分为若干个区间;统计每个区间内的夹角数目,并计算每个区间内所有夹角的概率密度:其中,Pi′j′是第i′个区间内夹角j′的概率密度,使用概率密度Pi′j′计算每个区间的熵,定义熵函数为:其中,m′为区间内角度数量;
根据计算得到的每个区间的熵并比较大小,熵越小则表示该区间匹配可靠性高,根据算出来的每个区间的熵值,计算一个平均值设为熵阈值,熵阈值选取依次递减,直到达到要求停止递减,确定最佳熵阈值,把大于该熵阈值的区间点都剔除;
熵阈值设置方法如下:
(1)根据计算得到的每个区间的熵值,得到一个熵值数组M={e1,e2...en1},其中n1是区间数量;
(2)计算熵值数组的平均值m1;
(3)设定一个熵阈值T=m1,计算大于熵阈值T的区间数量并剔除:其中[x]为示性函数,表示当x成立时取值为1,否则为0;h从1至n1;
(4)如果k1<α1*n1或不再变化则停止递减,T即为最佳熵阈值,其中α1是预设阈值;
(5)否则,将阈值T递减一个步长δ;
利用剔除误匹配点的特征点点对进行精配准,得到待测工件的配准点云。
2.根据权利要求1所述的用于双线结构光三维测量的点云配准方法,其特征在于,利用双线结构光三维测量装置获取待测工件两个角度的三维点云P和Q,具体包括:双线结构光三维测量装置包括三坐标轴移动平台、垂直于三坐标轴移动平台的双远心相机以及与相机方向成两个相同角度的左右线激光器;
标定相机和线激光器,将待测工件置于三坐标轴移动平台上,线激光器发射激光投射在待测工件表面,通过相机捕捉物体表面反射的光线,再根据光线的形变来计算物体表面各点的位置信息,通过不断改变光源的位置或角度,获取待测工件两个角度的三维点云P和Q。
3.根据权利要求1所述的用于双线结构光三维测量的点云配准方法,其特征在于,自适应栅格采样处理包括:构建多尺度的体素网格,覆盖整个三维点云,根据点云密度确定采样步长和范围;假设一个三维点云中某个点P的局部邻域为N(P),邻域内包含NP个点,则点P的自适应采样步长Step(p)为:其中,P(p)表示P的局部密度,K是控制采样点密集程度的参数;此公式意味着点P的局部密度较大时,采样步长较大,采样点少,点P的局部密度较小时,采样步长较小,采样点多,从而实现自适应采样;
对于每个采样网格,选取靠近中心点的一个点作为采样点,从而得到三维点云P和Q经自适应栅格采样处理后的采样点云。
4.根据权利要求1所述的用于双线结构光三维测量的点云配准方法,其特征在于,通过求解采样点加权协方差矩阵并设定自适应阈值提取特征点包括:设采样点Xi的局部邻域采样点为Xi1,Xi2...Xin,则采样点Xi邻域的加权协方差矩阵C为:其中,n为局部邻域采样点的个数,j为第j个邻域采样点; 为距离权重函数,是一个递减函数,r为邻域半径,Dist()为距离函数;
根据加权协方差矩阵求得其所有特征值:λ1,λ2...λm,m为特征值总数;设λ1<λ2<...<λm,则最小的特征值λ1对应的特征向量为采样点Xi处的法向量,采样点Xi处曲率为:根据该公式计算所有采样点的曲率并按照曲率大小排序,得到一个曲率序列:δ(X1)≤δ(X2)≤...≤δ(Xn′),n′表示采样点的总数;
对于每个采样点Xi,选择其k个最近邻点,定义邻域为Ni,计算采样点Xi的曲率与最近邻点的曲率之差的平均值,则采样点Xi的曲率变化率定义为:其中,k是邻域大小,δ(Xj)表示采样点Xi的邻域点的曲率;
将所有采样点的曲率变化率再按从小到大顺序排序,即得到一个阈值序列Δδ(X1)≤Δδ(X2)≤...≤Δδ(Xn′),然后对于每个采样点判断其曲率变化率是否超过自适应阈值Ti,即:当Δδ(Xi)>Ti时,认定该采样点为特征点。
5.根据权利要求4所述的用于双线结构光三维测量的点云配准方法,其特征在于,其中,自适应阈值Ti定义为:其中,μ是松紧系数,Δδ(Xj)表示邻域内点j的曲率变化率。
6.根据权利要求1所述的用于双线结构光三维测量的点云配准方法,其特征在于,利用特征描述子记录特征点的特征,使用采样一致性方法找到对应的特征点点对,对降采样后的三维点云P和Q进行粗配准,具体包括:构建三维点云P和Q的特征点局部坐标系,设定一个邻域半径r使用最近邻搜索方法找到邻域内的所有点并分别计算特征点与所有邻域点间的特征,再分别以特征点邻域内的所有点为中心设定相同的半径搜索到每个邻域点的邻域点,并结合距离权重计算每个邻域点的特征,最后将特征点的特征与邻域点的特征进行相加得到最终的该特征点的直方图,得到其统计特征,公式如下:其中,SPFH是每个点的3元组特征,分别是α、 θ;
假设源点云中有一特征点为Ps,其邻域点为Pt,将两点相连有一条线,其中Ps的法向量为us=u,Pt的法向量为nt,若将这两点相连的线作为X轴,其Y轴计算方法为:v=(Pt‑Ps)×u,其Z轴计算方式为:w=u×v,根据该局部坐标系计算Pt与Ps的三元组特征,如下:α=v*nt
‑1
θ=tan (w*nt,u*nt)
其中,ωk是根据特征点Pq与其邻域点Pk之间的距离设置的距离权重, |Pq‑Pk|<r,r为邻域半径,k为邻域点个数;|| ||2是l2范数;
基于特征描述子的特征使用采样一致性方法进行三维点云P和Q的特征点粗配准,步骤如下:(1)设置采样最小距离d_min;
(2)在三维点云P的特征点中选取s个特征点,所选取的特征点之间的最小距离应满足大于d_min;
(3)对所选取的每一个特征点,在三维点云Q的特征点中通过最近邻搜索寻找一组统计特征相似的点,并从这些相似点中任选一个作为对应点;
(4)根据两个点云数据集的对应关系计算刚体变换矩阵,并通过计算度量错误来评价转换矩阵的质量,公式如下:其中,te为预先给定的值,li为变换后第i组对应点之间的距离差,返回最小误差E(ei)对应的变换矩阵(R,t),重复步骤(2)~(4)直到达到最佳度量错误结果。
7.根据权利要求1所述的用于双线结构光三维测量的点云配准方法,其特征在于,利用剔除误匹配点的特征点点对进行精配准包括:(1)将粗配准后的两片三维点云P′和Q,作为精配准的初始点集;
(2)对源点云P′中的每一点pj,在目标点云Q中寻找距离最近的对应点qj作为该点在源点云中的对应点,组成初始对应点对,计算其质心:其中,n是点的数量,P′_c是三维点云P′的质心,Q_c是三维点云Q的质心,pj是第j个点坐标;
对于每个点pj和qj去中心化,得到去中心化后的点:P′_prime_j=Pj‑P′_c
Q_prime_j=qj‑Q_c
(3)构建点到点度量距离的误差函数E(R,t):
其中,k为最邻近点个数,qj为目标点云Q中与pj对应的点,pj为源点云中第j个点,通过计算旋转矩阵R和平移矩阵t使得误差函数最小;
(4)对pj使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移,得到新的对应点集pj'={pj'=Rpj+t,pj∈P};
(5)计算pj'与对应点集qj的均方根误差d:
(6)设定一个阈值μ,当d<μ则迭代结束,此时求解得到的R和t共同组成最终刚性三维变换矩阵,完成点云精配准,否则继续回到第(2)步,直到满足收敛条件为止。
8.一种用于实现权利要求1至7中任意一项所述的用于双线结构光三维测量的点云配准方法的用于双线结构光三维测量的点云配准系统,其特征在于,包括:点云获取模块,用于获取待测工件两个角度的三维点云P和Q;
特征点提取模块,用于分别对三维点云P和Q进行自适应栅格采样处理,得到降采样后的三维点云P和Q,并通过求解采样点加权协方差矩阵并设定自适应阈值提取特征点;
粗配准模块,用于利用特征描述子记录特征点的特征,以找到对应的特征点点对,对降采样后的三维点云P和Q进行粗配准;
误匹配点剔除模块,用于计算特征点点对的法向量夹角,根据夹角分布概率定义熵函数并设定熵阈值剔除误匹配点;包括:计算特征点点对的法向量夹角,并分为若干个区间;统计每个区间内的夹角数目,并计算每个区间内所有夹角的概率密度:其中,Pi′j′是第i′个区间内夹角j′的概率密度,使用概率密度Pi′j′计算每个区间的熵,定义熵函数为:其中,m′为区间内角度数量;
根据计算得到的每个区间的熵并比较大小,熵越小则表示该区间匹配可靠性高,根据算出来的每个区间的熵值,计算一个平均值设为熵阈值,熵阈值选取依次递减,直到达到要求停止递减,确定最佳熵阈值,把大于该熵阈值的区间点都剔除;
熵阈值设置方法如下:
(1)根据计算得到的每个区间的熵值,得到一个熵值数组M={e1,e2...en1},其中n1是区间数量;
(2)计算熵值数组的平均值m1;
(3)设定一个熵阈值T=m1,计算大于熵阈值T的区间数量并剔除:其中[x]为示性函数,表示当x成立时取值为1,否则为0;h从1至n1;
(4)如果k1<α1*n1或不再变化则停止递减,T即为最佳熵阈值,其中α1是预设阈值;
(5)否则,将阈值T递减一个步长δ;
精配准模块,用于利用剔除误匹配点的特征点点对进行精配准,得到待测工件的配准点云。