点集的视点特征直方图的评估
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图。
点集的视点特征直方图的评估相关推荐
- pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征
pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...
- 【PCL自学:Feature5】视点特征直方图VFH概念及使用 (持续更新)
一.视点特征直方图(VFH)原理 这篇博文描述了视点特征直方图(Viewpoint Feature Histogram[VFH])描述符,在一些其他文章也称为视角特征直方图,这是一种用于聚类识别和 ...
- 【PCL自学:Feature3】PFH点特征直方图的概念和使用 (持续更新)
一.点特征直方图(PFH)描述子介绍 Point Feature Histograms (PFH) 称为点特征直方图. 随着点特征的研究不断深入,利用点周围的邻近点估计表面法向和曲率的基本操作 ...
- pcl里面的点特征直方图(PFH)
表面法线和曲率可以好的代表一个点的几何特征.然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计.作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点, ...
- PCL之点特征直方图(PFH)
背景 表面法线和曲率估计是对某个点周围的几何特征的基本表示.虽计算速度快容易,但却无法获得太多信息,因为它们只使用很少的几个参数值来近似某个点的k-邻域特征.然而大多数场景会包含许多具有相同或非常相似 ...
- PCL:PCLPlotter可视化特征直方图
PCLPlotter提供了一个直接简单的绘图接口,可以绘制许多类型的二维图形,包括多项式函数和特征直方图,比如PFH,FPFH等. 利用PCLPlotter绘制图形,通常分为以下4步: (1)声明绘图 ...
- 一文了解点特征直方图
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 3D中特征检测和匹配的目标与2D中大致相同:从不同的角度查找可以与 ...
- Halcon_灰度直方图和特征直方图的使用
1.灰度直方图 在进行阈值分割的时候往往要确定一定的灰度范围,把自己想要的部分分割出来,这时就需要借助灰度直方图(如下图所示). 拖拉图中1处确定最小灰度值,拖拉图中2处确定最大灰度值,区间内的范围就 ...
- 灰度直方图与特征直方图的使用方法
要求:将下图的 的水果提取出来,去掉logo.使用到的知识,图像采集.灰度化.二值化.特征选择. 灰度直方图 首先采集图像,代码如下: read_image (Image, 'C:/Users/LWJ ...
最新文章
- 多迪人事主管揭秘:面试官是如何面试Web前端求职者?
- 扫盲 about session,Bean,网关等
- java实现线程间通信的四种方式
- /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
- 数据结构实验:哈希表
- 如何使用puttygen基于pem文件生成可供登录的ppk文件
- c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数
- php zip扩展文件,php使用ZipArchive扩展实现文件的zip压缩与zip解压
- python 基础代谢率计算_【Python 19】BMR计算器3.0(字符串分割与格式化输出)
- vue实时显示当前时间
- 随身计算机的硬盘是该换了,手提电脑硬盘可以换吗
- mac:系统存在两个Macintosh HD是怎么回事
- 蓝鹰立德丨2021年个税汇算清缴之未雨绸缪(上)
- Zabbix 配置钉钉告警
- 读论文《Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation》
- 专业方向系列-01-大数据与故障诊断概述
- 不容错过的优派upay
- VIM 快速参考指南
- 渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)
- html5 canvas视频放大
热门文章
- win7更改适配器设置没有本地连接解决方法
- lombok之@RequiredArgsConstructor注解
- @RequestParam详解
- 关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法
- linux概述、基本命令
- linux 中文意思,linux 中 ~/. 是什么意思
- 中北大学计算机学,中北大学计算机类专业好吗
- css如何实现一个小三角形,用纯css写一个常见的小三角形
- 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
- 服务端开发——云服务器的端口转发设置(SSH隧道)