文档帮助中心
注册使用CPD算法两个点云
TForm的= pcregistercpd(移动,固定)
[TForm的,movingReg] = pcregistercpd(移动,固定)
[___,RMSE] = pcregistercpd(移动,固定)
[___] = pcregistercpd(移动,固定,名称,值)
例
TForm的= pcregistercpd(移动,固定)返回一种变换寄存器使用相干点漂移的运动点云具有固定点云(CPD)算法[1]。
TForm的
移动
固定
考虑使用采样点云pcdownsample之前使用pcregistercpd改善登记的效率。
pcdownsample
[TForm的,movingReg] = pcregistercpd(移动,固定)也返回转换点云,与固定点云对齐。
movingReg
[___,RMSE] = pcregistercpd(移动,固定)还返回对齐的点云之间的欧几里德距离的根均方误差,使用根据前述任一语法。
RMSE
[___] = pcregistercpd(移动,固定,名称,值)使用由一个或多个指定的附加选项名称,值对参数。
名称,值
全部收缩
加载点云数据到工作区。提取运动并在工作区的点群数据的固定点云。
handData =负载('hand3d.mat');移动= handData.moving;固定= handData.fixed;
为了提高CPD配准算法的效率和准确性,下采样的移动和固定点云。
movingDownsampled = pcdownsample(移动,'gridAverage',0.03);fixedDownsampled = pcdownsample(固定,'gridAverage',0.03);
显示注册之前下采样的点云。
图pcshowpair(movingDownsampled,fixedDownsampled,'MarkerSize',50)xlabel('X')ylabel('Y')zlabel('Z')标题(“登记前点云”)图例({“运动点云”,“固定点云”},'TEXTCOLOR','W')图例('位置','southoutside')
使用CPD算法来执行非刚性配准。
TForm的= pcregistercpd(movingDownsampled,fixedDownsampled);movingReg = pctransform(movingDownsampled,TForm的);
显示注册后下采样的点云。
图pcshowpair(movingReg,fixedDownsampled,'MarkerSize',50)xlabel('X')ylabel('Y')zlabel('Z')标题(“登记后点云”)图例({“运动点云”,“固定点云”},'TEXTCOLOR','W')图例('位置','southoutside')
点云
移动点云,指定为点云目的。
固定点云,指定为点云目的。
指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和值是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N。
名称
值
名1,值1,...,NameN,值N
'MaxIterations',20
'转变'
“非刚性”
“刚性”
“仿射”
类型的变换,指定为逗号分隔的一对组成的'转变'和“非刚性”,“刚性”, 要么“仿射”字符向量或标量的字符串。
数据类型:烧焦|串
烧焦
串
'OutlierRatio'
0.1
异常值的预期百分比相对于正态分布,指定为逗号分隔的一对组成的'OutlierRatio'和在范围[0,1)标量。增加该值减少异常值和噪声的影响。
数据类型:单|双
单
双
'MaxIterations'
20
CPD停止之前的迭代的最大次数,指定为逗号分隔的一对组成的'MaxIterations'和一个正整数。
'公差'
1E-5
连续CPD迭代之间的公差,指定为逗号分隔的一对组成的'公差'和一个标量。当连续迭代之间达到测量或在对数似然函数的值绝对百分比变化低于指定公差值的算法停止。减小该值增加了更好地调整的可能性。
'InteractionSigma'
2.0
点之间的相互作用,指定为逗号分隔的一对组成的'InteractionSigma'和一个正标量,表示高斯滤波器的标准偏差。典型值是在范围[1.5,3]。增加该值增加点云点之间的相互作用。其结果是,你可以在点云观察相干运动和每一个点进行相同的排量。可替换地,减小该值可减少在点云中的点之间的相互作用。其结果是,你可以观察局部点和局部变形输出位移场呈现的位移。
要使用这个名称 - 值对,'转变'一定是“非刚性”。
'SmoothingWeight'
3.0
运动平滑权重,指定为逗号分隔的一对组成的'SmoothingWeight'和正标量。典型值是在范围[0.1,10]。增加该值,以产生在输出位移场更连贯运动。
“放牧”
假
真正
显示进度信息,指定为逗号分隔的一对组成的“放牧”和一个逻辑标量。组“放牧”至真正显示进度信息。
数据类型:合乎逻辑
合乎逻辑
都'MaxIterations'和'公差'被用作停止标准。算法停止时,它满足任一的停止条件,即,当达到迭代的数目MaxIterations或数似然函数的绝对变化率小于或等于公差。
MaxIterations
公差
rigid3d
affine3d
转型,返回为rigid3d,affine3d对象或位移场。TForm的是一个3 d变换那个寄存器中的移动点云,移动到固定点云,固定。输出类型取决于的值转变属性。
转变
位置
变换点云,返回为点云目的。经变换的点云与固定点云对齐,固定。
均方根误差,返回正实数。RMSE是对齐的点云之间的欧几里得距离。
数据类型:双
[1] Myronenko,A.,和X.乐曲。“点集注册:相干点漂移”。模式分析与机器智能IEEE交易的程序(TPAMI)。第32卷第12号,2010年12月,第2262至2275年。
的名称 - 值对参数'转变'必须在编译时间常数。
pcdenoise
pcfitplane
pcmerge
pcregistericp
pcregisterndt
pcshow
pcshowpair
pctransform
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处