主要内容

pcregistercpd

用CPD算法对两个点云进行配准

描述

例子

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

请注意

考虑使用下采样点云pcdownsample使用前使用pcregistercpd,提高注册效率。

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

(___,rmse) = pcregistercpd (移动,固定)还使用前面的任何语法返回对齐点云之间的欧几里德距离的均方误差的均方根。

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

例子

全部折叠

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

handData =负载(“hand3d.mat”);移动= handData.moving;固定= handData.fixed;

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

movingDownsampled = pcdownsample(移动,“gridAverage”, 0.03);fixedDownsampled = pcdownsample(固定的,“gridAverage”, 0.03);

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

图pcshowpair (movingDownsampled fixedDownsampled,“MarkerSize”, 50)包含(“X”) ylabel (“Y”) zlabel (“Z”)标题(“登记前的点云”)({传奇“移动点云”,固定的点云的},“输入TextColor”,' w ')传说(“位置”,“southoutside”)

使用CPD算法进行非刚性配准。

tform = pcregistercpd (movingDownsampled fixedDownsampled);movingReg = pctransform (movingDownsampled tform);

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

图pcshowpair (movingReg fixedDownsampled,“MarkerSize”, 50)包含(“X”) ylabel (“Y”) zlabel (“Z”)标题(“登记后的点云”)({传奇“移动点云”,固定的点云的},“输入TextColor”,' w ')传说(“位置”,“southoutside”)

输入参数

全部折叠

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

定点云,指定为apointCloud对象。

名称-值对的观点

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

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

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

数据类型:字符|字符串

相对于正态分布的异常值的预期百分比,指定为由逗号分隔的一对“OutlierRatio”和在[0,1)范围内的一个标量。增大该值可以减小离群值和噪声的影响。

数据类型:|

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

数据类型:|

连续CPD迭代之间的公差,指定为逗号分隔的对,由“宽容”和一个标量。当连续迭代之间测量的对数似然函数值的绝对百分比变化达到或低于指定的容许值时,算法停止。减少这个值会增加更好的对齐的可能性。

数据类型:|

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

请注意

要使用这个名称-值对,“转换”必须“非刚性的”

数据类型:|

运动平滑权重,指定为逗号分隔的对,由“SmoothingWeight”和一个正标量。典型值在[0.1,10]范围内。增加这个值可以在输出位移场中产生更连贯的运动。

请注意

要使用这个名称-值对,“转换”必须“非刚性的”

数据类型:|

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

数据类型:逻辑

请注意

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

输出参数

全部折叠

转换,返回为arigid3d,affine3d对象或位移字段。tform是一个三维变换,它记录了移动点云,移动对于定点云,固定。的值决定输出类型变换财产。

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

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

均方根误差,返回正值实数。rmse为排成一线的点云之间的欧氏距离。

数据类型:

算法

参考文献

Myronenko, A.和X. Song[1]。点集配准:连贯的点漂移。IEEE模式分析与机器智能汇刊(TPAMI)。第32卷第12期,2010年12月,第2262-2275页。

扩展功能

介绍了R2018b