Pcregistercpd.

采用CPD算法配准两点云

描述

例子

tform.= pcregistercpd(移动固定返回使用相干点漂移(CPD)算法将移动点云与固定点云注册的转换[1]

请注意

考虑使用下采样点云pcdownsample在使用PCRegisterCPD之前提高注册效率。

tform.movingReg) = pcregistercpd (移动固定还返回与固定点云对齐的转换点云。

___RMSE.) = pcregistercpd (移动固定也返回对齐点云之间的欧氏距离的均方根误差,使用前面的任何语法。

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

例子

全部收缩

将点云数据加载到工作区中。从工作空间中的点云数据中提取移动点云和不动点云。

handdata = load('hand3d.mat');移动= handData.moving;固定= handData.fixed;

为了提高CPD配准算法的效率和精度,对移动点云和定点云进行下采样。

movingDownsampled = pcdownsample(移动,“gridAverage”, 0.03);固定下载= pcdownsample(修复,“gridAverage”, 0.03);

在注册前显示下采样点云。

图pcshowpair(移动,固定地采样,'Markersize',50)Xlabel('X')ylabel('是') zlabel ('z') 标题(“注册前的点云”) 传奇({'移动点云'固定的点云的},“输入TextColor”' w ')传说('地点'“southoutside”

使用CPD算法执行非刚性注册。

tform = pcregistercpd(移动展开,固定下拉采样);vishtreg = pctransform(移动到移动,tform);

注册后显示下采样的点云。

图pcshowpair(voldereg,positeddowns采样,'Markersize',50)Xlabel('X')ylabel('是') zlabel ('z') 标题(“注册后的点云”) 传奇({'移动点云'固定的点云的},“输入TextColor”' w ')传说('地点'“southoutside”

输入参数

全部收缩

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

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

名称值对参数

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

例子:“MaxIterations”,20在20次迭代后停止CPD算法。

转换类型,指定为逗号分隔对组成'转变'“非刚性的”“刚性”,或仿射的字符向量或字符串标量。

数据类型:char|字符串

预期的异常值与正常分布的百分比,指定为逗号分隔的对组成“OutlierRatio”和范围[0,1)的标量。增加这个值可以减少离群值和噪声的影响。

数据类型:|双倍的

CPD停止前的最大迭代次数,指定为逗号分隔对“MaxIterations”和一个正整数。

数据类型:|双倍的

连续CPD迭代之间的容忍度指定为逗号分隔对组成'宽容'和一个标量。当在连续迭代之间测量的日志似然函数的值的绝对百分比变化达到或低于指定的公差值时,算法停止。减少此值增加了更好的对齐的可能性。

数据类型:|双倍的

点之间的交互,指定为逗号分隔对,由“InteractionSigma”和表示高斯滤波器标准差的正标量。典型值在[1.5,3]范围内。增加这个值会增加点云中的点之间的交互。因此,你可以观察到点云中的相干运动,并且每个点都经历相同的位移。或者,降低这个值会减少点云中的点之间的交互。因此,可以观察到点的局部位移,输出位移场表现出局部变形。

请注意

要使用此名称-值对,'转变'必须是“非刚性的”

数据类型:|双倍的

运动平滑的重量,指定为逗号分隔对'smoothingweight'和正标量。典型值在[0.1,10]范围内。增加此值以在输出位移场中产生更相干的运动。

请注意

要使用此名称-值对,'转变'必须是“非刚性的”

数据类型:|双倍的

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

数据类型:逻辑

请注意

两个都“MaxIterations”'宽容'用作停止标准。算法在满足停止条件中的任一个时,算法停止,即迭代次数达到时MaxIterations或者对数似然函数的绝对百分比变化小于等于宽容

输出参数

全部收缩

转型,返回rigid3daffine3d物体,或者位移场。tform.是一种三维变换,用来记录移动的点云,移动到定点云,固定.输出类型取决于值转变财产。

转变属性值 tform.
“刚性” rigid3d对象
仿射的 affine3d对象
“非刚性的” 位移字段,相同大小和数据类型的数字矩阵位置移动点云对象的属性,移动

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

根均方误差,返回正面实数。RMSE.是对齐点云之间的欧几里德距离。

数据类型:双倍的

算法

参考

[1] Myronenko,A.和X.歌曲。“点设置注册:相干点漂移。”模式分析与机器智能(TPAMI)论文集.第32卷,第12期,2010年12月,第2262-2275页。

扩展功能

介绍了R2018b