pcregistericp

注册使用ICP算法两个点云

描述

tform= pcregistericp(移动固定返回一个刚性变换,其登记移动点云到固定点云。

配准算法基于“迭代最近点”(ICP)算法。这个迭代过程的最佳性能需要调整数据的属性。考虑使用向下采样点云pcdownsample使用前pcregistericp提高配准精度和效率。

当您选择点云法线要求的注册算法'pointToPlane'指标。因此,如果输入点云的正常属性为空,函数将填充该属性。函数填充时正常财产,它利用6分,以适应当地的平面。六分可能不会在所有情况下工作。如果与注册'pointToPlane'度量失败,考虑调用pcnormals函数,允许您选择要使用的点数。

[tformmovingReg) = pcregistericp (移动固定另外返回转换点云,与固定点云对齐。

[___RMSE) = pcregistericp (移动固定另外,使用前面的任何语法返回对齐点云之间的欧式距离的均方根误差。

[___) = pcregistericp (移动固定名称,值使用由一个或多个指定的附加选项名称,值对参数。

例子

全部折叠

负载点云数据。

ptCloud = pcread('teapot.ply');pcshow(ptCloud);标题(“茶壶”);

创建一个旋转30度的transform对象ž轴和翻译[5,5,10]。

A = [cos(/6) sin(/6) 0 0;...-sin(/6) cos(/6) 0 0;...0 0 1 0;...5 5 10 1];tform1 = affine3d(A);

变换的点云。

ptCloudTformed = pctransform(ptCloud,tform1);pcshow(ptCloudTformed);标题(“转化茶壶”);

申请刚性注册。

tform = pcregistericp (ptCloudTformed ptCloud,“推断”,真正);

将结果与真实的转换进行比较。

DISP(tform1.T);
0.8660 0.5000 00 -0.5000 0.8660 000 1.0000 0 5.0000 10.0000 1.0000
tform2 =反转(tform);disp (tform2.T);
0.8660 0.5000 0.0000 0 -0.5000 0.8660 0.0000 -0.0000 0 -0.0000 1.0000 5.0000 0 5.0000 10.0000 1.0000

输入参数

全部折叠

移动点云,指定为apointCloud对象。

固定点云,指定为pointCloud对象。

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值为对应值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“指标”'点对点'将度量的ICP算法对'点对点'特征向量。

最小化度量,指定为逗号分隔的一对组成的“度规“和'点对点''pointToPlane'特征向量。移动和固定的点云之间的刚性变换由迭代最近点(ICP)算法来估计。ICP算法最小化根据给定度量的两个点云之间的距离。

设置 '度规'pointToPlane'可以迭代的数量减少到过程。但是,该指标要求每个迭代中额外的算法步骤。该'pointToPlane'度量提高平坦表面的登记。

下采样方法的选择
下采样使用点云pcdownsample功能。二者必选其一的'随机''gridAverage'为输入pcdownsample根据功能度规下面的表。

度规 移动点云缩减像素采样方法 定点云下样方法
'点对点' '随机' '随机'
'gridAverage' 'gridAverage'
'pointToPlane' 'gridAverage' 'gridAverage'
'随机' 'nonuniformGridSample'

外推法,指定为逗号分隔的一对组成的“推断'和布尔值真正的。当您将此属性设置为真正的时,该函数添加一个外推步骤,该步骤跟踪注册状态空间中的路径,如中所述[2]。将此属性设置为真正的可以减少迭代收敛次数。

inliers的百分比,指定为逗号分隔的对,由“InlierRatio'和标量值。使用这个值来设置配对为正常值的百分比。如果欧几里德距离落在百分比集匹配距离内的匹配点对被认为是一个内点。默认情况下,使用所有匹配的对。

最大迭代次数,指定为逗号分隔的一对组成的“MaxIterations'和一个正整数。此值指定ICP停止前的最大迭代次数。

连续的ICP迭代之间的容差,指定为逗号分隔的对,包括宽容'和2元素向量。2-元素矢量,[TDIFFRdiff],表示连续ICP迭代估计的平移和旋转绝对差的容差。TDIFF测量两个平移向量之间的欧氏距离。Rdiff以度数来度量角差。当最近的三个连续迭代中估计的刚性变换的平均差低于指定的公差值时,算法停止。

初始刚性变换,指定为逗号分隔的一对组成的“InitialTransform“和rigid3d对象。如果只提供一个外部粗略估计的初始刚性变换是有用的。

rigid3d对象包含移动所述移动点云的中心到固定点云的中心的翻译。

显示进度信息,指定为逗号分隔的一对组成的“详细的'和逻辑标量。组详细的真正的显示进度信息。

输出参数

全部折叠

刚性变换,返回为rigid3d对象。的刚性变换寄存器的运动点云到固定点云。该rigid3d对象描述刚性3- d变换。迭代最近点(ICP)算法估计的移动和固定的点云之间的刚性变换。

变换点云,返回为pointCloud对象。变换后的点云与不动点云对齐。

均方根误差,返回对齐的点云之间的欧氏距离。

算法

兼容性的考虑

全部展开

R2020a改变了行为

参考

[1] Chen, Y.和G. Medioni。多距离图像配准的目标建模。图像视觉计算。Butterworth-Heinemann。第10卷第3期1992年4月第145-155页

bb0 Besl, Paul J., n.d. McKay。“三维形状的配准方法。”IEEE模式分析与机器智能汇刊。洛斯阿拉米托斯,CA:IEEE计算机学会。卷。14,第2期,1992,第239-256。

介绍了在R2018a