扫描匹配算法的使用(二)

博客主要介绍了3D中NDT对齐相关内容。阐述了3D中网格空间及PDF的变化,对比了PCL中NDT与ICP的建立步骤。说明了设置NDT主要参数的方法,介绍了用PCL实现NDT功能的代码设置,还提及可对ICP和NDT进行测试及NDT对齐的参考代码。

(续前)

五、使用NDT对齐概述

在3D中,网格空间是由立方体而不是正方形组成的
PDF现在是三维的,因为PDF的方程可以推广到任何维度。q变成3x1,而中心向量的和变成3x3。
g现在是6x1, H现在是6x6
Δp的计算仍然与2D情况相同


 

使用NDT进行对齐

现在已经实现了ICP,在下一个练习,进行相同的操作实现NDT。PCL中NDT的建立与ICP的步骤非常相似,但有一些不同。 首先让我们看看sm2-main.cpp中的NDT头函数,并将其与之前使用的sm1-main.cpp中的ICP头函数进行比较。

//NDT
Eigen::Matrix4d NDT(pcl::NormalDistributionsTransform<pcl::PointXYZ, pcl::PointXYZ> ndt, PointCloudT::Ptr source, Pose startingPose, int iterations)

//ICP
Eigen::Matrix4d ICP(PointCloudT::Ptr target, PointCloudT::Ptr source, Pose startingPose, int iterations)

 这两个函数的不同之处在于,来自ICP的目标参数现在在NDT中是一个ndt对象。具有点云图输入和集合空间分辨率的ndt对象只在开始时设置一次,然后传递给NDT函数使用。在sm2-main.cpp中,已经定义ndt对象。

pcl::NormalDistributionsTransform<pcl::PointXYZ, pcl::PointXYZ> ndt;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值