主要内容

pcregistericp

采用ICP算法配准两点云

描述

例子

tform= pcregistericp (移动固定返回将移动点云注册到固定点云的刚性转换。

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

点云法线是需要的配准算法,当你选择“pointToPlane”指标。因此,如果输入点云的正常的属性为空时,函数将填充它。当函数填充正常的属性,它使用6个点来适合本地平面。6点在任何情况下都可能不起作用。如在“pointToPlane”如果指标失败,考虑调用pcnormals函数,允许您选择要使用的点数。

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

___rmse) = pcregistericp (移动固定另外使用前面的任何语法返回内嵌对齐点之间的欧氏距离的均方根误差。

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

例子

全部折叠

加载点云数据。

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

图中包含一个轴对象。标题为Teapot的axis对象包含一个类型为scatter的对象。

创建一个旋转30度的变换对象z-axis和平移[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(一个);

转换点云。

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

图中包含一个轴对象。标题为transform Teapot的axis对象包含一个类型为scatter的对象。

应用刚性注册。

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

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

disp (tform1.T);
0.8660 0.5000 00 -0.5000 0.8660 0000 1.0000 0 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.0000 -0.0000 1.0000 0 5.0000 5.0000 10.0000 1.0000

输入参数

全部折叠

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

定点云,指定为pointCloud对象。

名称-值参数

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

例子:“指标”“点到点”将ICP算法的度量设置为“点到点”特征向量。

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

设置”度规“pointToPlane”可以减少处理的迭代次数。然而,这个度量在每次迭代中都需要额外的算法步骤。的“pointToPlane”度规改进了平面表面的配准。

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

度规 移动PointCloud Downsample方法 定点云下采样方法
“点到点” “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

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

嵌套的百分比,指定为逗号分隔对,由'InlierRatio'和标量值。使用此值可将匹配对的百分比设置为内嵌线。如果一对匹配点的欧氏距离在匹配距离的百分比范围内,则称其为嵌套匹配点。缺省情况下,使用所有匹配对。

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

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

初始刚性变换,指定为逗号分隔对,由'InitialTransform”和rigid3d对象。当您提供外部粗略估计时,初始的刚性变换是有用的。

rigid3d对象包含一个平移,该平移将移动点云的中心移动到固定点云的中心。

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

输出参数

全部折叠

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

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

均方根误差,作为一个正数值返回,表示内嵌对齐点之间的欧氏距离。

算法

全部折叠

提示

兼容性的考虑

全部展开

行为在R2020a中改变

参考文献

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

贝塞尔,保罗·J·北达科他州麦凯。一种三维形状的配准方法模式分析与机器智能学报.Los Alamitos, CA: IEEE计算机协会。1992年第14卷第2期239-256页。

介绍了R2018a