主要内容

pcregistercpd

注册两个用CPD算法点云

自从R2018b

描述

例子

tform= pcregistercpd (移动,固定)返回一个注册一个移动的点云转换使用CPD算法与一个固定的点云。相干点漂移(CPD)算法[1]万博1manbetx支持非刚性的转换。

请注意

考虑将采样点云使用pcdownsample使用前pcregistercpd提高准确性和登记的效率。

(tform,movingReg)= pcregistercpd (___)返回转换后的点云,与固定的点云。

(___,rmse)= pcregistercpd (___)还返回均方根误差之间的欧几里得距离对齐的点云。

(___)= pcregistercpd (___,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,MaxIterations = 20停止CPD算法经过20迭代。

例子

全部折叠

点云数据装载到工作区。提取移动和固定在工作空间点云的点云数据。

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

提高效率和精度的CPD注册算法,downsample移动和固定的点云。

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

显示downsampled点云之前注册。

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

图包含一个坐标轴对象。坐标轴对象标题点云在登记之前,包含X, Y ylabel包含2散射类型的对象。这些对象代表点云移动,固定的点云。”width=

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

[tform, movingReg] = pcregistercpd (movingDownsampled fixedDownsampled);

注册后显示downsampled点云。

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

图包含一个坐标轴对象。坐标轴对象标题点云登记后,包含X, Y ylabel包含2散射类型的对象。这些对象代表点云移动,固定的点云。”width=

输入参数

全部折叠

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

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

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:MaxIteration = 20停止CPD算法经过20迭代。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

类型的转换、指定为“非刚性的”,“刚性”,或“仿射”

数据类型:字符|字符串

预期对正态分布比例的异常值,指定为一个标量范围在[0,1),增加这个值减少离群值和噪声的影响。

数据类型:|

最大数量的迭代CPD停止之前,指定为一个正整数。

MaxIterations宽容都是CPD算法的停止条件。算法停止当它满足停止条件。

数据类型:|

公差之间连续CPD迭代,指定为一个标量。算法停止当绝对百分比变化值之间的对数似然函数测量连续迭代达到或低于指定的公差值。降低这个值会增加更好的对齐的可能性。

MaxIterations宽容都是CPD算法的停止条件。算法停止当它满足停止条件。

数据类型:|

积极互动点,指定为标量代表标准差的高斯滤波器。典型值在范围内(1.5,3)。增加这个值增加点云之间的交互点。作为一个结果,你可以观察到连贯的运动点云,每一点经历相同的位移。另外,降低这个值可以减少点云之间的交互点。作为一个结果,你可以观察到局部位移点和输出位移场展厅的局部变形。

请注意

使用这个名称参数,变换必须“非刚性的”

数据类型:|

运动平滑重量,指定为一个积极的标量。典型值在范围内(0.1,10)。增加这个值来产生一个更加团结的运动输出位移场。

请注意

使用这个名称参数,变换必须“非刚性的”

数据类型:|

显示进度信息,指定为一个数字或逻辑0()或1(真正的)。显示进度信息,设置详细的真正的

输出参数

全部折叠

转换,作为一个返回rigidtform3d对象,一个affinetform3d对象,或位移场。tform是一个三维变换,注册移动的点云,移动固定的点云,固定。的输出类型取决于价值变换论点。

变换价值 tform
“刚性” rigidtform3d对象
“仿射” affinetform3d对象
“非刚性的” 位移场,一个数字矩阵的大小和数据类型一样位置点云移动对象的属性,移动

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

均方根误差,作为一个积极的实数返回。rmse之间的欧几里得距离对齐的点云。

数据类型:

算法

这两个MaxIterations宽容作为停止准则。算法停止当它满足停止条件,即。,当迭代的数量达到MaxIterations或对数似然函数的绝对变化百分比小于或等于宽容

引用

[1]Myronenko,。,x的歌。“点集登记:相干点漂移。”IEEE模式分析与机器智能学报》(TPAMI)32卷,12号,2010年12月,页2262 - 2275。

扩展功能

版本历史

介绍了R2018b

全部展开