VFH(Viewpoint Feature Histgram)视角特征直方图描述器,可以很直观的表现点的聚类在处理聚类识别与6DOF位姿估计。

下面的图像展示了一个VFH识别和位姿估计的例子。给一些训练集,除了左下角的那个杯子,用来学习,用左下角的杯子作为检测。

VFH源于FPFH描述器,因为它的速度与区别能力,我们决定利用FPFH的识别结果,但是在保持比例不变的情况下增加了一个视角变量。

我们在物体识别和位姿检测上的贡献是扩展了FPFH使其能够评估整个物体的聚类,并且计算了额外的视角方向和法线之间的额外数据。为了做到这一点,我们使用了把视角方向混合到法线方向的计算中去。

视点成分是通过收集角度直方图来计算的,这个角度是由每个法线产生的。注意,我们并不意味着对每个法线的视角具有伸缩不变性,而是意味着从视点方向到每个法线的方向转换。第二个成分是测量相对水平,倾斜和偏转角度就像上一节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 itpcl::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 datasetspcl::PointCloud<pcl::VFHSignature308>::Ptr vfhs (new pcl::PointCloud<pcl::VFHSignature308> ());// Compute the featuresvfh.compute (*vfhs);// vfhs->points.size () should be of size 1*
}

我们可以看到这比以前使用的FPFH和PFH更简单了,只要输入点云即可。

可视化VFH特征,libpcl_visualization包含了一个特殊的PCLHistogramVisulization类,也是通过pcl_viewer来显示VFH图。



点集的视点特征直方图的评估相关推荐

  1. pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征

    pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩  RoPs特征  视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...

  2. 【PCL自学:Feature5】视点特征直方图VFH概念及使用 (持续更新)

    一.视点特征直方图(VFH)原理   这篇博文描述了视点特征直方图(Viewpoint Feature Histogram[VFH])描述符,在一些其他文章也称为视角特征直方图,这是一种用于聚类识别和 ...

  3. 【PCL自学:Feature3】PFH点特征直方图的概念和使用 (持续更新)

    一.点特征直方图(PFH)描述子介绍   Point Feature Histograms (PFH) 称为点特征直方图.   随着点特征的研究不断深入,利用点周围的邻近点估计表面法向和曲率的基本操作 ...

  4. pcl里面的点特征直方图(PFH)

    表面法线和曲率可以好的代表一个点的几何特征.然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计.作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点, ...

  5. PCL之点特征直方图(PFH)

    背景 表面法线和曲率估计是对某个点周围的几何特征的基本表示.虽计算速度快容易,但却无法获得太多信息,因为它们只使用很少的几个参数值来近似某个点的k-邻域特征.然而大多数场景会包含许多具有相同或非常相似 ...

  6. PCL:PCLPlotter可视化特征直方图

    PCLPlotter提供了一个直接简单的绘图接口,可以绘制许多类型的二维图形,包括多项式函数和特征直方图,比如PFH,FPFH等. 利用PCLPlotter绘制图形,通常分为以下4步: (1)声明绘图 ...

  7. 一文了解点特征直方图

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 3D中特征检测和匹配的目标与2D中大致相同:从不同的角度查找可以与 ...

  8. Halcon_灰度直方图和特征直方图的使用

    1.灰度直方图 在进行阈值分割的时候往往要确定一定的灰度范围,把自己想要的部分分割出来,这时就需要借助灰度直方图(如下图所示). 拖拉图中1处确定最小灰度值,拖拉图中2处确定最大灰度值,区间内的范围就 ...

  9. 灰度直方图与特征直方图的使用方法

    要求:将下图的 的水果提取出来,去掉logo.使用到的知识,图像采集.灰度化.二值化.特征选择. 灰度直方图 首先采集图像,代码如下: read_image (Image, 'C:/Users/LWJ ...

最新文章

  1. 多迪人事主管揭秘:面试官是如何面试Web前端求职者?
  2. 扫盲 about session,Bean,网关等
  3. java实现线程间通信的四种方式
  4. /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
  5. 数据结构实验:哈希表
  6. 如何使用puttygen基于pem文件生成可供登录的ppk文件
  7. c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数
  8. php zip扩展文件,php使用ZipArchive扩展实现文件的zip压缩与zip解压
  9. python 基础代谢率计算_【Python 19】BMR计算器3.0(字符串分割与格式化输出)
  10. vue实时显示当前时间
  11. 随身计算机的硬盘是该换了,手提电脑硬盘可以换吗
  12. mac:系统存在两个Macintosh HD是怎么回事
  13. 蓝鹰立德丨2021年个税汇算清缴之未雨绸缪(上)
  14. Zabbix 配置钉钉告警
  15. 读论文《Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation》
  16. 专业方向系列-01-大数据与故障诊断概述
  17. 不容错过的优派upay
  18. VIM 快速参考指南
  19. 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)
  20. html5 canvas视频放大

热门文章

  1. win7更改适配器设置没有本地连接解决方法
  2. lombok之@RequiredArgsConstructor注解
  3. @RequestParam详解
  4. 关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法
  5. linux概述、基本命令
  6. linux 中文意思,linux 中 ~/. 是什么意思
  7. 中北大学计算机学,中北大学计算机类专业好吗
  8. css如何实现一个小三角形,用纯css写一个常见的小三角形
  9. 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
  10. 服务端开发——云服务器的端口转发设置(SSH隧道)