PCL中PFH、FPFH理论
上周点云公众号开始分享群友们的反馈分享,由博主分配任务,半个月甚至一个月参与学习小伙伴的反馈给群主,并在微信交流群中进行学术交流,加强大家的阅读文献能力,并提高公众号的分享效果。已经有一些开始陆续反馈中,在此期待之前参与任务的小伙伴赶紧将你们的分享发送给群主吧,同时也希望更多的同学能参与进来,参与我们下一轮学习!
基本概述
快速点特征直方图(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组群。
群主心声