主要内容

pcregistercpd

使用CPD算法注册两点云

描述

实例

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

笔记

考虑下采样点云的使用下采样之前使用pcregistercpd来提高注册的效率。

[tform,移动注册]=PCPD(移动,固定的)还返回与固定点云对齐的变换点云。

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

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

例子

全部折叠

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

handData =负载(“hand3d.mat”);moving=handData.moving;fixed=handData.fixed;

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

movingDownsampled=pcdownsample(移动,“网格平均”, 0.03);fixedDownsampled = pcdownsample(固定的,“网格平均”, 0.03);

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

图pcshowpair (movingDownsampled fixedDownsampled,“MarkerSize”, 50)包含(“X”) ylabel (“Y”)兹拉贝尔(“Z”)标题(“注册前的点云”)({传奇“移动点云”,“定点云”},“文本颜色”,“w”)传奇(“位置”,“南外”)

图中包含一个轴对象。配准前带有标题点云的轴对象包含两个散点类型的对象。这些对象分别代表移动点云和固定点云。

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

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

注册后显示下采样点云。

图pcshowpair (movingReg fixedDownsampled,“MarkerSize”, 50)包含(“X”) ylabel (“Y”)兹拉贝尔(“Z”)标题(“注册后的点云”)({传奇“移动点云”,“定点云”},“文本颜色”,“w”)传奇(“位置”,“南外”)

图中包含一个轴对象。配准后带有标题点云的轴对象包含2个散点类型的对象。这些对象分别代表移动点云和固定点云。

输入参数

全部折叠

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

定点云,指定为pointCloud对象。

名称值参数

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

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

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

数据类型:字符|一串

相对于正态分布的异常值的预期百分比,指定为逗号分隔对组成“离群值比率”和[0,1]范围内的标量。增加此值可减少异常值和噪声的影响。

数据类型:仅有一个的|

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

数据类型:仅有一个的|

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

数据类型:仅有一个的|

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

笔记

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

数据类型:仅有一个的|

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

笔记

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

数据类型:仅有一个的|

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

数据类型:必然的

笔记

这两个“最大迭代次数”“宽容”作为停止标准。当满足任意一个停止条件时,即迭代次数达到时,算法停止最大迭代次数或对数似然函数的绝对百分比变化小于或等于容忍

输出参数

全部折叠

转换,返回为刚性三维,仿射3d对象或位移场。tform是一种三维变换,用于记录移动的点云,移动对于定点云,固定的.属性的值决定输出类型变换所有物

变换财产价值 tform
“刚性” 刚性三维对象
仿射的 仿射3d对象
“非刚性” 属性的大小和数据类型相同的数字矩阵地方移动点云对象的属性,移动

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

均方根误差,作为一个正实数返回。rmse为对齐点云之间的欧氏距离。

数据类型:

算法

参考文献

Myronenko, A.,和X. Song。点集配准:相干点漂移IEEE模式分析和机器智能交易记录(TPAMI)第32卷第12期,2010年12月,第2262-2275页。

扩展能力

在R2018b中引入