点特征直方图(Point Feature Histograms, PFH)--特征描述子

优势:仅采用点特征表示法,其直接结果就减少了全局的特征信息,PFH特征不仅与坐标轴三维数据有关,同时还与表面法线有关。使得点云对应的曲面具有六姿态不变性(刚性变换不变性),在不同采样密度与噪声等级下具有鲁棒性。

缺点:计算量大,存在大量重复计算,反映了点对之间的几何关系,并未体现其空间信息。

 构建了一个高维超信息空间的点集合特征表达,形成一个多维直方图对点的k邻域几何属性进行描述,描述了中心点与其邻域范围点之间的空间差异。基于点与其k邻域之间的关系以及它们的估计法线,考虑估计法线方向之间所有的相互作用,试图捕获最好的样本表面变化情况,以描述样本的几何特征。

PFH描述子通过计算邻域内所有两点之间关系而得到的直方图,为了获得两点对应法线的相对偏差,定义一个坐标系:

之后计算三个几何不变特征及两点之间的距离d,此时,两点和它们法线相关的12个参数(xyz坐标值和法线信息)减少到4个。为每一对点计算四元组,以某种统计的方式放进直方图中。

参考文章:三维特征描述子:PFH、FPFH、VFH、PPF_pfh,fpfh一直是0-CSDN博客

PCLB-SHOT(Point Cloud Local Binary Shot Descriptor)是一种特征描述,基于二进制编码的SHOT(Signature of Histograms of OrienTations)描述。下面是一个简单的PCLB-SHOT特征描述的源码示例: ```cpp #include <pcl/features/shot_omp.h> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main(int argc, char** argv) { pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>); pcl::io::loadPCDFile<pcl::PointXYZRGB>("cloud.pcd", *cloud); pcl::PointCloud<pcl::SHOT352>::Ptr descriptors(new pcl::PointCloud<pcl::SHOT352>()); pcl::SHOTLocalReferenceFrameEstimation<pcl::PointXYZRGB, pcl::SHOT352> rf_est; rf_est.setInputCloud(cloud); rf_est.setRadiusSearch(0.03); rf_est.compute(*descriptors); pcl::SHOTEstimationOMP<pcl::PointXYZRGB, pcl::Normal, pcl::SHOT352> shot_est; shot_est.setInputCloud(cloud); shot_est.setInputNormals(normals); shot_est.setInputReferenceFrames(descriptors); shot_est.setRadiusSearch(0.03); pcl::PointCloud<pcl::SHOT352>::Ptr shot_features(new pcl::PointCloud<pcl::SHOT352>()); shot_est.compute(*shot_features); return 0; } ``` 该代码使用了PCL库中的SHOT算法,首先使用`SHOTLocalReferenceFrameEstimation`计算每个的局部参考系,并生成描述。然后使用`SHOTEstimationOMP`计算每个的描述。其中,`setRadiusSearch`指定了搜索半径,`setInputNormals`指定了法线估计,`setInputReferenceFrames`指定了局部参考系描述。最终,`shot_features`中保存了每个的SHOT描述。 需要注意的是,该代码中的`pcl::PointXYZRGB`、`pcl::Normal`和`pcl::SHOT352`是PCL库中定义的、法线和描述类型,如果使用其他云库,可能需要根据不同的类型进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值