点集的视点特征直方图的评估
2017-03-15 15:38
459 查看
转载:http://m.blog.csdn.net/article/details?id=51106621
VFH(Viewpoint Feature Histgram)视角特征直方图描述器,可以很直观的表现点的聚类在处理聚类识别与6DOF位姿估计。
下面的图像展示了一个VFH识别和位姿估计的例子。给一些训练集,除了左下角的那个杯子,用来学习,用左下角的杯子作为检测。
VFH源于FPFH描述器,因为它的速度与区别能力,我们决定利用FPFH的识别结果,但是在保持比例不变的情况下增加了一个视角变量。
我们在物体识别和位姿检测上的贡献是扩展了FPFH使其能够评估整个物体的聚类,并且计算了额外的视角方向和法
4000
线之间的额外数据。为了做到这一点,我们使用了把视角方向混合到法线方向的计算中去。
视点成分是通过收集角度直方图来计算的,这个角度是由每个法线产生的。注意,我们并不意味着对每个法线的视角具有伸缩不变性,而是意味着从视点方向到每个法线的方向转换。第二个成分是测量相对水平,倾斜和偏转角度就像上一节FPFH里面讲的那样,不过现在是通过视点方向和表面法线方向来测量。
我们把这个新的组合特征叫做VFH,下图表明了这是由2部分组成的:
1.一个视点方向组成
2.一个表面形状组成包括扩展的FPFH
要使用VFH在pcl里面得通过pcl_features这个库。
PFH和FPFH与VFH的主要区别是,对于一个给定的点云数据集,只有一个单一的VFH描述器被预估,而PFH/FPFH将有和点云里面相同的点的数量的输入。
下面是一个代码段。
我们可以看到这比以前使用的FPFH和PFH更简单了,只要输入点云即可。
可视化VFH特征,libpcl_visualization包含了一个特殊的PCLHistogramVisulization类,也是通过pcl_viewer来显示VFH图。
VFH(Viewpoint Feature Histgram)视角特征直方图描述器,可以很直观的表现点的聚类在处理聚类识别与6DOF位姿估计。
下面的图像展示了一个VFH识别和位姿估计的例子。给一些训练集,除了左下角的那个杯子,用来学习,用左下角的杯子作为检测。
VFH源于FPFH描述器,因为它的速度与区别能力,我们决定利用FPFH的识别结果,但是在保持比例不变的情况下增加了一个视角变量。
我们在物体识别和位姿检测上的贡献是扩展了FPFH使其能够评估整个物体的聚类,并且计算了额外的视角方向和法
4000
线之间的额外数据。为了做到这一点,我们使用了把视角方向混合到法线方向的计算中去。
视点成分是通过收集角度直方图来计算的,这个角度是由每个法线产生的。注意,我们并不意味着对每个法线的视角具有伸缩不变性,而是意味着从视点方向到每个法线的方向转换。第二个成分是测量相对水平,倾斜和偏转角度就像上一节FPFH里面讲的那样,不过现在是通过视点方向和表面法线方向来测量。
我们把这个新的组合特征叫做VFH,下图表明了这是由2部分组成的:
1.一个视点方向组成
2.一个表面形状组成包括扩展的FPFH
要使用VFH在pcl里面得通过pcl_features这个库。
PFH和FPFH与VFH的主要区别是,对于一个给定的点云数据集,只有一个单一的VFH描述器被预估,而PFH/FPFH将有和点云里面相同的点的数量的输入。
下面是一个代码段。
#include <pcl/point_types.h> #include <pcl/features/vfh.h> { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal> ()); ... read, pass in or create a point cloud with normals ... ... (note: you can create a single PointCloud<PointNormal> if you want) ... // Create the VFH estimation class, and pass the input dataset+normals to it pcl::VFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::VFHSignature308> vfh; vfh.setInputCloud (cloud); vfh.setInputNormals (normals); // alternatively, if cloud is of type PointNormal, do vfh.setInputNormals (cloud); // Create an empty kdtree representation, and pass it to the FPFH estimation object. // Its content will be filled inside the object, based on the given input dataset (as no other search surface is given). pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ> ()); vfh.setSearchMethod (tree); // Output datasets pcl::PointCloud<pcl::VFHSignature308>::Ptr vfhs (new pcl::PointCloud<pcl::VFHSignature308> ()); // Compute the features vfh.compute (*vfhs); // vfhs->points.size () should be of size 1* }
我们可以看到这比以前使用的FPFH和PFH更简单了,只要输入点云即可。
可视化VFH特征,libpcl_visualization包含了一个特殊的PCLHistogramVisulization类,也是通过pcl_viewer来显示VFH图。
相关文章推荐
- 点集的视点特征直方图的评估
- 使用opencv作物件识别(一) —— 积分直方图加速HOG特征计算
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
- 【图像特征提取1】方向梯度直方图HOG---从理论到实践------附带积分图像的解析
- 特征直方图的特征参数
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
- 基于直方图特征的图像搜索
- 向梯度直方图(Histogram of Oriented Gradient, HOG)特征
- PCL_FPFH特征提取及直方图显示
- C++ 图像RGB直方图特征提取
- 【图像特征提取1】方向梯度直方图HOG---从理论到实践------附带积分图像的解析
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN
- 积分直方图加速HOG特征计算
- Python机器学习:4.9 利用随机森林评估特征重要性
- SHOT(Signature of Histograms of OrienTations)方向直方图特征
- 颜色直方图特征代码
- 梯度方向直方图HOG(Histogram of Gradient)特征总结
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器 - 数据集转换 - 用户指南 | ApacheCN