【译】PCL官网教程翻译(18):估计一组点的视点特征直方图(VFH)签名 - Estimating VFH signatures for a set of points

本文主要是介绍【译】PCL官网教程翻译(18):估计一组点的视点特征直方图(VFH)签名 - Estimating VFH signatures for a set of points,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

英文原文查看

估计一组点的视点特征直方图(VFH)签名

本文描述了视点特征直方图([VFH])描述符,这是一种针对聚类(如对象)识别和6DOF姿态估计问题的点簇表示方法。
下图展示了一个VFH识别和姿态估计的例子。给定一组火车数据(除最左边的点云外,最上面一行、最下面一行),学习一个模型,然后使用一个云(最左边的部分)查询/测试模型。匹配的结果按从最好到最差的顺序从左到右从左下角开始。有关更多信息,请参见使用VFH描述符和/或[VFH]的集群识别和6DOF位姿估计。
在这里插入图片描述

理论基础

视点特征直方图(或VFH)起源于FPFH描述符(参见快速点特征直方图(FPFH)描述符)。由于其速度快、识别能力强,我们决定利用FPFH的强识别结果,在保持尺度不变的同时增加视点方差。
我们对目标识别和姿态识别问题的贡献是将整个对象集群的FPFH扩展到估计值(如下图所示),并计算视点方向和每一点估计的法线之间的额外统计量。为此,我们采用了将视点方向直接混合到FPFH中相对法线角计算中的关键思想。
在这里插入图片描述
视点分量是通过收集视点方向与每个法线形成的角度的直方图来计算的。注意,我们不是指每个法线的视角,因为这不是尺度不变的,而是指中心点方向到每个法线的角度。第二个分量测量快速点特征直方图(FPFH)描述符中描述的相对平移、倾斜和偏航角,但现在测量的是中心点的视点方向和表面上的每个法线之间的角度。
在这里插入图片描述
因此,新组合的特征称为视点特征直方图(VFH)。下图展示了这个想法,新特性由两部分组成:
1/一个视点方向分量
2/由扩展的FPFH组成的表面形状分量。
在这里插入图片描述

估计VFH特性

视图特征直方图在PCL中作为pcl_features库的一部分实现。
默认的VFH实现为三个扩展的FPFH值中的每一个使用45个binning子分区,为每个点到质心的距离再加上45个binning子分区,为视点组件使用128个binning子分区,这样就得到了一个308字节的浮点值数组。它们存储在pcl::VFHSignature308点类型中。
PFH/FPFH描述符与VFH之间的主要区别在于,对于给定的点云数据集,只估计一个VFH描述符,而生成的PFH/FPFH数据的条目数与云中点的个数相同。
下面的代码片段将为输入数据集中的所有点估计一组VFH特性。

#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) ...// 创建VFH估计类,并将输入数据集+法线传递给它pcl::VFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::VFHSignature308> vfh;vfh.setInputCloud (cloud);vfh.setInputNormals (normals);// 或者,如果cloud类型为PointNormal,则执行vfh.setInputNormals(cloud);// 创建一个空的kdtree表示,并将其传递给FPFH估计对象。// 它的内容将根据给定的输入数据集填充到对象中(因为没有其他搜索表面)。pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ> ());vfh.setSearchMethod (tree);// 输出数据集pcl::PointCloud<pcl::VFHSignature308>::Ptr vfhs (new pcl::PointCloud<pcl::VFHSignature308> ());// 计算特征vfh.compute (*vfhs);// vfhs->points.size () 应该为 1
}

可视化VFH签名

libpcl_visualization包含一个特殊的PCLHistogramVisualization类,pcl_viewer也使用这个类自动将VFH描述符显示为浮点值的直方图。有关更多信息,请参见http://www.pointclouds.org/documentation/overview/visualiz.php。

注意
[VFH] (1, 2) http://www.willowgarage.com/sites/default/files/Rusu10IROS.pdf
@InProceedings{Rusu10IROS, author = {Radu Bogdan Rusu and Gary Bradski and Romain Thibaux and John Hsu}, title = {Fast 3D Recognition and Pose Using the Viewpoint Feature Histogram}, booktitle = {Proceedings of the 23rd IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, year = {2010}, address = {Taipei, Taiwan}, month = {October} }

这篇关于【译】PCL官网教程翻译(18):估计一组点的视点特征直方图(VFH)签名 - Estimating VFH signatures for a set of points的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126980

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

poj 3050 dfs + set的妙用

题意: 给一个5x5的矩阵,求由多少个由连续6个元素组成的不一样的字符的个数。 解析: dfs + set去重搞定。 代码: #include <iostream>#include <cstdio>#include <set>#include <cstdlib>#include <algorithm>#include <cstring>#include <cm

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已