PCL:点云特征描述子3D_object_recognition_(descriptors)

更新时间:2023-06-17 08:45:56 阅读: 评论:0

PCL:点云特征描述⼦
3D_object_recognition_(descriptors)
⽬录
现在是学习点云处理最有趣应⽤之⼀的基础知识的时候了:3D对象识别。与2D识别类似,该技术依赖于在云中找到好的关键点(特征点),并将它们与之前保存的⼀组关键点进⾏匹配。但是3D⽐2D有⼏个优势:也就是说,我们能够相对于传感器精确地估计物体的确切位置和⽅向。此外,3D对象识别往往对于杂乱的环境有更强⼤的鲁棒性(⽐如在⽐较拥挤的场景,前⾯的物体会遮挡住在后边背景中物体)。最后,掌握物体形状的信息将有助于避免碰撞或抓取操作。
在第⼀个教程中,我们将了解什么是描述符,PCL中有多少类型可⽤,以及如何计算它们。
1、概述
3D对象识别的基础是在两个不同的云之间找到⼀组对应关系,其中⼀个包含我们要寻找的对象。 为此,我们需要⼀种以明确的⽅式⽐较点的⽅法。 到现在为⽌,我们已经使⽤了存储XYZ坐标,RGB颜⾊的点,但是这些属性都不够独特。 在两次连续扫描中,尽管属于不同表⾯,但两个点仍可以共享相同的坐标,and using the color information takes us back to 2D recognition, will all the lightning related proble
ms。
在之前的教程中,在介绍法线之前我们讨论了特征(feature)。法线是特征的⼀个例⼦,因为它们编码关于点附近的信息。也就是说,计算时要考虑到相邻的点,这样我们就可以了解周围的表⾯是怎样的了。但这还不够。⼀个特征要想是最佳的,它必须满⾜以下条件:
1.It must be robust to transformations: 像平移和旋转这样的刚体变换(并不改变点之间距离的变换)⼀定不会影响特征。Even if we play with the cloud a bit beforehand, there should be no difference。
2.It must be robust to noi:产⽣的噪声的测量误差不应对特征估计造成太⼤影响。(对噪声鲁棒性)
3.It must be resolution invariant:  如果进⾏不同密度的采样(如执⾏下降采样),结果必须相同或相似。
这就是描述符的作⽤。点的特征越复杂(和精确),他们就会编码⼤量关于周围⼏何图形的信息。其⽬的是在多个点云之间明确地识别⼀个点,不管噪声、分辨率或变换。另外,描述符获取⼀些关于它们所属对象的额外数据,⽐如视点(可以让我们检索姿态)。
Finding correspondences between point features of two clouds (image from
PCL中实现了许多3D描述符。 每⼀个描述符都有它⾃⼰的⽅法来计算⼀个点的唯⼀值。 例如,某些⽅法会使⽤该点及其相邻点的法线⾓度之间的差异。 其他⽅法则使⽤两点之间的距离。 因此,对于⼀定的标准⽬标,⼀些⽅法可能是好的也可能是坏的。 ⼀个给定的描述符可能是尺度不变的,⽽另⼀个描述符可能对于遮挡和物体局部视图是更好的。 选择哪种描述符取决于你要做什么。
关于直⽅图的介绍见链接:
计算完必要的值(the necessary values)之后,执⾏附加步骤以减⼩描述符的⼤⼩:并将结果合并到直⽅图中。为此,将构成描述符的每个变量的值范围划分为n个细分,并计算每个变量中出现的次数。
试着想象⼀个计算单个变量的描述符,它的范围从1到100,我们选择为它创建10个bins(容器),因此第⼀个bin将收集1到10之间的所有匹配项,第⼆个bin将收集11到20之间的所有匹配项,依此类推。我们看⼀下第⼀个点-邻居对的变量值,它是27,所以我们将第三个bin的值(也就是20到30的bin划分)增加1。我们⼀直这样做,直到获得该关键点的最终直⽅图。必须根据该变量的描述性来仔细选择bin的⼤⼩(变量不必共享相同数量的bins,并且bins的⼤⼩也不必相同;例如,如果前⼀个⽰例中的⼤多数值都在50-100范围内,那么在该范围内使⽤更多较⼩⼤⼩的容器将是明智的)。
描述符可分为两⼤类:全局描述符和局部描述符。计算和使⽤每⼀个(⽐如识别管道)的过程是不同的,因此本⽂将在各⾃的部分中进⾏解释。
Tutorials:
:链接如下: 博客翻译链接如下
:链接如下:  博客翻译链接如下:
链接如下: 博客翻译链接如下
Publication:
(Aitor Aldoma et al., 2012)
下表将告诉你PCL中有多少描述符,以及它们的⼀些特性:
英国短毛猫价格
† Values marked with an asterisk (*) indicate that the descriptor's size depends on some parameter(s), and the one given is for the default values.
心理安慰
Optionally, you can download a document with a less simple version of the table. Page format is A4, landscape:
Local descriptors
1)PFH
PFH代表点特征直⽅图。它是PCL提供的最重要的描述符之⼀,也是其他(如FPFH)的基础。PFH试图通过分析该点附近法线⽅向的差异来捕获该点周围的⼏何信息(正因为如此,不精确的法线估计可能产⽣低质量的描述符)。
⾸先,该算法将附近的所有点配对(不仅将选定的关键点与其邻居配对,⽽且还将邻居与其⾃⾝配对)(First, the algorithm pairs all points in the vicinity (not just the chon keypoint with its neighbors, but also the neighbors with themlves).)。然后,对于每⼀对,根据其法线计算固定坐标系。 在此框架下,法线之间的差异可以⽤3个⾓度变量进⾏编码。 保存这些变量以及点之间的欧⼏⾥得距离,然后在计算所有点对时将它们合并到直⽅图中。 The final descriptor is the concatenation of the histograms of each variable (4 in total). (总共4个)。
-----⾃⼰个⼈理解-----
点特征的描述⼦⼀般是基于点坐标、法向量、曲率来描述某个点周围的⼏何特征。⽤点特征描述⼦不能提供特征之间的关系,减少了全局特征信息。因此诞⽣了⼀直基于直⽅图的特征描述⼦:PFH--point feature histogram(点特征直⽅图)。
工商管理专业毕业论文
2.PFH的原理
PFH通过参数化查询点和紧邻点之间的空间差异,形成了⼀个多维直⽅图对点的近邻进⾏⼏何描述,直⽅图提供的信息对于点云具有平移旋转不变性,对采样密度和噪声点具有稳健性。PFH是基于点与其邻近之间的关系以及它们的估计法线,也即是它考虑估计法线之间的相互关系,来描述⼏何特征。
为了计算两个点( ps is defined as the source point and pt as the target point)及其相关法线之间的偏差,在其中⼀个点上定义了⼀个固定坐标系。
科研项目申请
使⽤上图的uvw坐标系,法线ns,nt之间的偏差可以⽤⼀组⾓度表⽰
d是两点之间的欧⽒距离, ,利⽤α,φ,θ,d,四个元素可以构成PFH描述⼦。
问题来了,PFH翻译成点特征直⽅图,四个元素和直⽅图有什么关系?
⾸先计算查询点Pq近邻内的对应的所有四个元素,如图所⽰,表⽰的是⼀个查询点(Pq) 的PFH计算的影响区域,Pq ⽤红⾊标注并放在圆球的中间位置,半径为r, (Pq)的所有k邻元素(即与点Pq的距离⼩于半径r的所有点)全部互相连接在⼀个⽹络中。最终的PFH描述⼦通过计算邻域内所有两点之间关系⽽得到的直⽅图,因此存在⼀个O(k) 的计算复杂性。
为了创建最终的直⽅图,将所有四元素组以统计的⽅式放⼊⼀个直⽅图中,这个过程⾸先把每个特征值范围划分为b个⼦区间,并统计落在每个⼦区间的点数量,前三个元素均是⾓度,都和法向量有关系,可以将三个元素标准化并放到同⼀个区间内。哪种奶粉最好
横坐标表⽰⾓度,纵坐标表⽰区间内点云的数量。
3.FPFH的由来
具有n个点的点云p的点特征直⽅图的理论计算复杂度为o(nk^2),其中k是点云p中每个点p的邻近数。在密集点邻域中计算点特征柱状图可以表⽰映射框架中的主要瓶颈之⼀。本节提出了PFH公式的简单化,称为快速点特征直⽅图(FPFH:fast point feature histograms),它将算法的计算复杂度降低
到O(NK),同时仍然保留了PFH的⼤部分判别能⼒。
吴雨蝉4.FPFH的原理
step1,只计算每个查询点Pq和它邻域点之间的三个特征元素(参考PFH),在这⾥不同于PFH:PFH是计算邻域点所有组合的特征元素,⽽这⼀步只计算查询点和近邻点之间的特征元素。如下图,第⼀个图是PFH计算特征过程,即邻域点所有组合的特征值(图中所有连线,包括但不限于Pq和Pk之间的连线),第⼆个图是step1中计算内容,只需要计算Pq(查询点)和紧邻点(图2中红线部分)之间的特征元素。可以看出降低了复杂度我们称之为SPFH(simple point feature histograms)。
(看清楚两个图的区别,⼀个是PFH所有点之间的关系,⼀个是FPFH只考虑当前关键点与其相邻节点之间的直接连接,删除相邻节点之间的附加连接。)
step2,重新确定k近邻域,为了确定查询点Pq的近邻点Pk的SPFH值、查询点Pq和近邻的距离以及k的数值(⼀般使⽤半径kdtree搜索,只能确定某半径范围内的近邻点,不能确定具体的查询点与近邻的距离、k数值----PS:应该是这样,不过重新确定k近邻主要还是计算查询点Pq的近邻点Pk的SPFH值),则
Wk权重,⼀般为距离。
这⾥的FPFH是由查询点的简化特征直⽅图SPFH()加上周边K邻域内的各个邻域点的SPFH()的加权和两部分构
吉他名曲成,SPFH()或SPFH(pk)的每个区间内的值都是整数,且区间内的值加起来等于邻域内的邻域点数。但是每个区间经过后半部的加权之后,使得最终的FPFH(pq)的每个区间变成了⼩数。
5.⼆者区别和联系
法人资格证书
(1)FPFH没有对近邻点所有组合进⾏计算可能漏掉⼀些重要点对
(2)PFH特征模型是对查询点周围精确的邻域半径内,⽽FPFH还包括半径r范围以外的额外点对(不过在2r内,这是由于计算SPFH(Pk)导致的)
(3)FPFH降低了复杂度,可以在实时场景中使⽤
(4)因为重新计算权重,所以FPFH结合SPFH值,重新获取重要的紧邻点对⼏何信息
(5)在FPFH中,通过分解三元组(三个⾓特征)简化了合成的直⽅图,即简单地创建b个相关的的
特征直⽅图,每个特征维数(dimension)对应⼀个直⽅图(bin),并将它们连接在⼀起。pcl默认,in PFH assume the number of quantum bins (i.e. subdivision intervals in a feature’s value range),bins(b)=5即⼦区间数量(为什么默认5不知道),三个⾓特征元素,5^3=125,(⾄于为什么5的3次⽅不知道)也就是⼀个查询点就有125个⼦区间,PFHSignature125的由来。这样有⼀个问题:对于点云特别是稀疏点云来说,很多区间存在0值,即直⽅图上存在冗余空间。因此,在FPFH中,通过分解三元组(三个⾓特征)简化了合成的直⽅图,即简单地创建b个不相关的的特征直⽅图,每个特征维数(dimension)对应⼀个直⽅图(bin),并将它们连接在⼀起。pcl默认FPFH的b=11,3*11=33,也就是FPFHSignature33的由来。
参考⽂献:RUSU博⼠论⽂,以及RUSU发表的会议论⽂Fast Point Feature Histograms (FPFH) for 3D Registration
-------个⼈理解结束,接着翻译理解------
计算描述符在PCL是⾮常容易的,PFH也不例外:

本文发布于:2023-06-17 08:45:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/974283.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:特征   计算   描述符   邻域   区间   查询   法线
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图