前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PCL中PFH、FPFH理论

PCL中PFH、FPFH理论

作者头像
点云PCL博主
发布2019-07-30 17:09:07
5.1K1
发布2019-07-30 17:09:07
举报
文章被收录于专栏:点云PCL点云PCL

上周点云公众号开始分享群友们的反馈分享,由博主分配任务,半个月甚至一个月参与学习小伙伴的反馈给群主,并在微信交流群中进行学术交流,加强大家的阅读文献能力,并提高公众号的分享效果。已经有一些开始陆续反馈中,在此期待之前参与任务的小伙伴赶紧将你们的分享发送给群主吧,同时也希望更多的同学能参与进来,参与我们下一轮学习!

基本概述

快速点特征直方图(Fast Point Feature Histograms,FPFH)是一种基于点及其邻域点之间法向夹角、点间连线夹角关系的特征描述子,是一种由点特征直方图(Point feature Histograms,PFH)改进的算法,保留了PFH中对点描述的主要几何特性,并将计算复杂度从O(nk^2)降低到O(nk),其中n为点云数据中点的个数,k为每个点的邻域包含的点的个数。

PFH特征描述子

PFH描述子通过参数化查询点与邻域点之间的空间差异,形成一个多维直方图对点的k邻域几何属性进行描述。直方图所在的高维超空间为特征表示提供了一个可度量的信息空间,对点云对应曲面的6维姿态来说它具有不变性,并且在不同的采样密度或邻域噪音等级下具有鲁棒性。点特征直方图(PFH)表示法是基于点与其k邻域之间的关系以及它们的估计法线,它考虑法线方向之间所有的相互作用,试图捕获最好的样本表面变化情况,以描述样本的几何特征。因此,表面法线估计的质量对PFH来讲是一个重要的因素。PFH的计算原理如图1所示,对于空间中任意一点Dq(用红色标注),D1~D5是Dq以为中心,半径为r内的邻域点。为描述任意两点Ds、Dt及点对应法线之间的关系,需要以其中一个点为原点建立局部坐标系,如图2所示,以Ds点为例,局部坐标系的建立过程如下:

(1)以点Ds的法向量Ns作为为局部坐标系的U轴;

(2)构建Ds指向Dr的向量并与U轴确定一个平面,找到过Ds且与平面垂线的向量作为V轴,即

(3)由W=Ns * V 得到局部坐标系的W轴 。

由上述描述可知,PFH 描述子是四维的,且Dq和k近邻点共k+1个点,就会得到四元组。

忽略信息并不重要的d,并将剩余的三维高维空间上的向量转化为直方图表示,首先把每一维都当作是一个坐标轴,并将其分为b个子区间,则PFH特征描述空间转换为 b^3 个子空间。然后分别统计落在每个子空间的点的数目,就得到了区间数目为 b^3个的直方图。

FPFH特征描述子

对PFH特征进一步优化升级就得到了快速点特征直方图(FPFH)。FPFH计算过程与PFH计算过程大同小异。对于任意一点Dq(红色标注)和其k邻域点D1~D5,分别根据与每一个邻域点构建局部坐标系,得到与每一个k邻域点的四元组,经过统计得到点特征直方图由于缺少了邻域点与邻域点之间的两两互联关系被称作简化的点特征直方图 (Simple Point Feature Histograms, SPFH)。如图3,然后分别以D1~D5作为目标点寻找其k邻域点并计算法向量、构建局部坐标系、获得SPFH。这样就得到了以Dq和其邻域点为目标点的SPFH(Dk),最终点Dq的FPFH特征计算公式为

式中,以Dq和其邻近点Di之间的距离作为权重Wk。

默认的FPFH算法中将

每一个特征所在的区间进行11份分割,然后合并得出了浮点值的一个33元素的特征向量,这样我们就得到了一个拥有33个元素的特征描述子,也就是SPFH。

三、PFH和FPFH的主要区别

(1)FPFH没有对全互联点Pq的所有邻近点的计算参数进行统计,因此可能漏掉了一些重要的点对,而这些漏掉的点对可能对捕捉查询点周围的几何特征有贡献。

(2)PFH特征模型是对查询点周围的一个精确的邻域半径内,而FPFH还包括r范围以外2r以内的额外点对。

(3)因为重新计算权重的方式,FPFH通过结合SFPH的值,重新捕获邻近重要点对的几何信息。

(4)FPFH的整体复杂性低,FPFH在实际的应用中更为常见。

(5)FPFH通过分解三元组简化了合成的直方图。先将每个特征维度分区单独绘制,最后将它们连接在一起。

此分享来自群友绍红旭同学,在此感谢他为公众号的付出,并号召大家积极分享共同营造良好的交流分享的氛围,并且此文章已经上传至github组群。

群主心声

越来越多小伙伴的关注,感谢大家无私的分享,最近的文章都是来自群友们的学习分享,我们即将组织第二次学习分享交流,仍然关注PCL中涉及到的算法理论学习。请有意的童鞋们积极联系群主,由群主指定你要学习算法,小伙伴自行查询相关文献半个月之后写成word反馈到群主邮箱dianyunpcl@163.com.并且有意加群的小伙伴后台申请后,我们将统一拉进群,目前两个群已经超过600人,同时你也可以申请加入github组群,希多多为github组群https://github.com/dianyunPCL做出贡献!!同时我们招募想加入经营微信公众号的小伙伴,以及想在公众号中创建自己原创专栏分享的童鞋(点赞收入将全部给到作者)。让我们一起分享并进步!欢迎大家积极转发!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档