PCL快速点特征直方图配准算法

已知点云P中有n个点,那么它的点特征直方图(PFH)的理论计算复杂度是O(nk^2) , 其中k是点云P中每个点p计算特征向量时考虑的邻域数量。对于实际应用中,密集点云的点特征直方图(PFH)的计算,是十分耗时的。本博文介绍一种快速快速点特征直方图FPFH(Fast Point Feature Histograms)算法。FPFH把算法的计算复杂度降低到了O(nk) ,但是任然保留了PFH大部分的识别特性。
理论基础
直方图特征计算步骤:
Step 1.计算了每个查询点Pq的一系列这里写图片描述值,并把它叫做SPFH(Simplified Point Feature Histgram)
Step 2.重新确定每个点的k邻域,使用邻近的SPFH值来计算 的最终直方图(称为FPFH),如下所示:
这里写图片描述
这里的Wk代表了两点的距离。权重(weight)的组合是非常重要的,下面的图显示了这一点:
这里写图片描述
可以看到越近的权重越大,线越粗。

因此,给定一个点Pq,这个算法第一步评估了SPFH的值,通过创造它和它的近邻的匹配。这个过程将一直重复,通过近邻SPFH的值不停的改变权重,最终生成了Pq的FPFH。

PFH与FPFH之间的差异

1.FPFH没有和它所有的近邻有着联系,因此可能会丢失一些值的匹配。

2.PFH模型可以更精确的描述表面,而FPFH则包括了额外的点的配对在半径为r的圆的外面(最多不会超过2r)

3.因为权重的组合,FPFH结合了SPFH的值并且重新获取了一些点的近邻。

4.FPFH复杂度大大降低,计算更快。

5.最终的直方图是简化了。
这里写图片描述
预估FPFH的特征值

FPFH的执行使用了11个分发的子区间,和一个非相关的组合(33位的数组),把它存在pcl::FPFHSignature33这个点类型里面。
下面看一段代码:

// Feature.cpp : 定义控制台应用程序的入口点。
//
//  用于特征提取学习 

// NARF (Normal Aligned Radial Feature 法向径向特征对齐)

// FPFH (Fast Point Feature histograms 快速点特征直方图)

// SIFT (Scale-invariant Feature Transform 尺寸不变特征变换)

// BRIEF (Binary Robust Independent Elementary Features 二进制健壮的独立的基本特性)

#include "stdafx.h"

#include <iostream>
#include <pcl\io\pcd_io.h>
#include <ctime>
#include <Eigen\Core>
#include <pcl\point_types.
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值