主要内容

pcregistericp

注册两个点云使用ICP算法

描述

例子

tform= pcregistericp (移动,固定)返回一个刚性变换,注册一个移动的点云一个固定的点云。

注册算法是基于迭代最近点(ICP)算法。这种迭代过程的最佳性能需要调整你的数据的属性。考虑将采样点云使用pcdownsample使用前pcregistericp提高准确性和效率的登记。

点云法线是当您选择所需的注册算法“pointToPlane”指标。因此,如果输入的点云正常的属性是空的,函数填充它。当函数填充正常的财产,它使用6分,以适应当地的飞机。6分可能不会在任何情况下工作。如果登记“pointToPlane”度量失败,考虑调用pcnormals函数允许您选择要使用的点数。

(tform,movingReg)= pcregistericp (移动,固定)此外返回转换后的点云,与固定的点云。

(___,rmse)= pcregistericp (移动,固定)另外返回均方根误差之间的欧几里得距离内围层对齐的点,使用任何前面的语法。

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

例子

全部折叠

加载点云数据。

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

图包含一个坐标轴对象。坐标轴对象与标题茶壶包含一个散射类型的对象。

创建一个转换对象与旋转30度z设在和翻译(5、5、10)。

= (cos(π/ 6)sin(π/ 6)0 0;sin(π/ 6)因为(π/ 6)0 0;0 0 1 0;5 5 10 1];tform1 = affine3d(一个);

将点云。

ptCloudTformed = pctransform (ptCloud tform1);pcshow (ptCloudTformed);标题(把茶壶的);

图包含一个坐标轴对象。坐标轴对象与标题把茶壶包含一个散射类型的对象。

应用严格的登记。

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

比较的结果和真正的转变。

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

输入参数

全部折叠

移动的点云,指定为一个pointCloud对象。

固定的点云,指定为一个pointCloud对象。

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“指标”,“点到点”集度规的ICP算法“点到点”特征向量。

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

设置”度规“pointToPlane”可以减少迭代过程。然而,这个指标在每个迭代中需要额外的算法步骤。的“pointToPlane”指标改善平面表面的登记。

Downsample方法选择:
Downsample点云使用pcdownsample函数。使用“随机”“gridAverage”输入的pcdownsample函数根据度规下面的表。

度规 移动PointCloud Downsample方法 固定的点云Downsample方法
“点到点” “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

推断,指定为逗号分隔两人组成的“推断”和布尔真正的。当你设定这个属性真正的,函数添加一个外推一步,跟踪路径的注册状态空间,中描述[2]。将这个属性设置为真正的可以减少迭代收敛。

比例的窗,指定为逗号分隔组成的InlierRatio“和一个标量值。使用这个值来设置一个百分比的配对窗。一对匹配点被认为是一个窗如果欧几里得距离属于组匹配距离的百分比。默认情况下,所有匹配的成对使用。

最大迭代次数,指定为逗号分隔两人组成的“MaxIterations”,一个正整数。这个值指定的最大数量的迭代ICP之前停止。

公差之间连续ICP迭代,指定为逗号分隔两人组成的“宽容”和2-element向量。2-element向量,Tdiff,Rdiff),代表了绝对差的公差在平移和旋转估计连续ICP迭代。Tdiff措施两个翻译之间的欧几里得距离向量。Rdiff测量角度的差异度。算法停止时的平均估计刚性转换之间的区别三个最近连续的迭代低于指定的公差值。

最初的刚性变换,指定为逗号分隔两人组成的“InitialTransform”和rigid3d对象。最初的刚性变换是有用的,当你提供一个外部粗估计。

rigid3d对象包含一个翻译,将点云的中心的中心固定的点云。

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

输出参数

全部折叠

刚性变换,作为一个返回rigid3d对象。刚性变换注册一个移动的点云到一个固定的点云。的rigid3d对象描述了刚性三维变换。迭代最近点(ICP)算法估计刚性移动和固定的点云之间的转换。

将点云,作为一个返回pointCloud对象。转换后的点云与不动点云对齐。

均方根误差,作为一个积极的返回数值代表之间的欧几里得距离内围层对齐点。

算法

全部折叠

提示

兼容性的考虑

全部展开

行为改变R2020a

引用

[1],y和g . Medioni。“对象模型通过注册多个图像。”图像视觉计算。Butterworth-Heinemann。问题3卷。10日,1992年4月,第145 - 155页。

[2]Besl,保罗J。:d·麦凯。“3 d形状登记的方法。”IEEE模式分析与机器智能。洛杉矶类似CA: IEEE计算机协会。问题2卷。14日,1992年,页239 - 256。

介绍了R2018a