主要内容

pcregistericp

采用ICP算法配准两点云

描述

例子

tform.= pcregistericp (移动固定返回一个僵化的变换,将移动点云注册到固定点云。

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

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

tform.movingReg] = Pcregistericp(移动固定另外,返回与固定点云对齐的转换点云。

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

___] = Pcregistericp(移动固定名称,价值使用一个或多个指定的其他选项名称,价值对论点。

例子

全部收缩

加载点云数据。

ptcloud =缺陷('茶壶.ply');pcshow (ptCloud);标题('茶壶');

图包含轴。带有标题茶壶的轴包含类型分散的对象。

创建具有30度旋转的变换对象z- 轴和翻译[5,5,10]。

a = [cos(pi / 6)sin(pi / 6)0 0;...-sin(pi / 6)cos(pi / 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 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

输入参数

全部收缩

移动点云,指定为apointcloud.对象。

定点云,指定为pointcloud.对象。

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'公制''点对点'将ICP算法的度量设置为'点对点'特征向量。

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

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

Downsample方法选择
下采样点云使用pcdownsample函数。使用“随机”要么“gridAverage”输入的pcdownsample根据公制下表。

公制 移动PointCloud Downsample方法 固定点云下载方法
'点对点' “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

推断,指定为逗号分隔对,由'外布'和布尔值真的要么错误的.当您将此属性设置为时真的,该功能添加了在注册状态空间中横销的外推步,如图所示[2].将此属性设置为真的可以减少迭代的数量来融合。

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

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

连续ICP迭代之间的容忍度,指定为由'逗号分隔的配对宽容'和一个2元向量。2元向量,[TdiffRDIFF.[表示连续ICP迭代中估计的平移和旋转的绝对差异的容差。Tdiff测量两种平移载体之间的欧几里德距离。RDIFF.测量角度的角度差异。当三个最近连续迭代中的估计刚性变换之间的平均差异低于指定的公差值时,该算法停止。

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

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

显示进度信息,指定为由“逗号分隔的配对”组成verb和一个逻辑标量。集verb真的显示进度信息。

输出参数

全部收缩

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

变换点云,返回为pointcloud.对象。转换的点云与固定点云对齐。

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

算法

全部收缩

提示

兼容性考虑因素

展开全部

R2020A中的行为发生了变化

参考

[1]陈,Y.和G. Medioni。“通过登记多个范围图像的对象建模。”图像视觉计算.Butterworth-Heinemann。卷。10,问题3,1992年4月,第145-155页。

[2] Besl,Paul J.,N.D.Mckay。“一种用于注册3-D形状的方法。”图案分析和机器智能的IEEE交易.Los Alamitos, CA: IEEE计算机协会。1992年第14卷第2期239-256页。

介绍了R2018a