点云特征提取及分类、VFH、SVM、CNN

随着激光雷达,RGBD相机等3D传感器在机器人,无人驾驶领域的广泛应用。
针对三维点云数据的研究也逐渐从低层次几何特征提取( PFH, FPFH,VFH等)向高层次语义理解过渡(点云识别,语义分割)。与图像感知领域深度学习几乎一统天下不同,针对无序点云数据的深度学习方法研究则进展缓慢。分析其背后的原因,不外乎三个方面:

1.点云具有无序性。受采集设备以及坐标系影响,同一个物体使用不同的设备或者位置扫描,三维点的排列顺序千差万别,这样的数据很难直接通过End2End的模型处理。

2.点云具有稀疏性。在机器人和自动驾驶的场景中,激光雷达的采样点覆盖相对于场景的尺度来讲,具有很强的稀疏性。在KITTI数据集中,如果把原始的激光雷达点云投影到对应的彩色图像上,大概只有3%的像素才有对应的雷达点。这种极强的稀疏性让基于点云的高层语义感知变得尤其困难。

点云特征提取及分类、VFH、SVM、CNN
https://robotica.unileon.es/index.php?title=PCL/OpenNI_tutorial_4: 3D_object_recognition (descriptors)

点云特征提取及分类、VFH、SVM、CNN

数据与特征决定了机器学习的上限,
模型/算法/参数只是来逼近这个上限。

; 0: 分类方式

按照特征的物理属性,可以将特征分为:几何域,强度域。

按照特征的空间尺度,可以分为:单点特征,局部特征,全局特征。

1:传统特征

在点云分类任务中,可直接利用特征向量训练SVM或者多层感知机来进行分类,而在以点为单位的点云分割或者分块任务中,需要结合每一点的局部特征和全局特征进行特征融合和处理,实现逐点的分类。

单点特征

主要有:三维坐标(X, Y, Z), 回波强度 Intensity, 法线 (Nx,Ny,Nz),主曲率(PCx, PCy, PCz, 及两个特征值 PC1, PC2)

局部特征

(一)几何域
局部特征常见的有各种几何特征描述子:PFH,FPFH,SHOT,C-SHOT,RSD,3D形状描述子等。

点特征直方图(Point Feature Histograms)
点特征直方图(PFH)表示法是基于点与其k邻域之间的关系以及它们的估计法线,简言之,它考虑估计法线方向之间所有的相互作用,试图捕获最好的样本表面变化情况,以描述样本的几何特征。

#include
#include
...

pcl::PointCloud<pcl::PointXYZ>::Ptrcloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::Normal>::Ptrnormals(new pcl::PointCloud<pcl::Normal>());
...

pcl::PFHEstimation<pcl::PointXYZ,pcl::Normal,pcl::PFHSignature125> pfh;
pfh.setInputCloud(cloud);
pfh.setInputNormals(normals);

pcl::KdTreeFLANN<pcl::PointXYZ>::Ptrtree(new pcl::KdTreeFLANN<pcl::PointXYZ>());
pfh.setSearchMethod(tree);

pcl::PointCloud<pcl::PFHSignature125>::Ptrpfhs(new pcl::PointCloud<pcl::PFHSignature125>());

pfh.setRadiusSearch(0.05);

pfh.compute(*pfhs);

(二)强度域

强度梯度(IGx, IGy, IGz):

全局特征

(一)几何域

常见的几何域全局特征有:
PFH:
VFH:Viewpoint Feature Histogram
CVFH:在VFH基础上解决了点云残缺的问题。

发展历程:PFH、 FPHF、VFH

PFH点特征的描述子一般是基于点坐标、法向量、曲率来描述某个点周围的几何特征。用点特征描述子不能提供特征之间的关系,减少了全局特征信息。因此诞生了一直基于直方图的特征描述子:PFH–point feature histogram(点特征直方图)。

PFH通过参数化查询点和紧邻点之间的空间差异,形成了一个多维直方图对点的近邻进行几何描述,直方图提供的信息对于点云具有平移旋转不变性,对采样密度和噪声点具有稳健性。PFH是基于点与其邻近之间的关系以及它们的估计法线,也即是它考虑估计法线之间的相互关系,来描述几何特征。

统计点对直接的关系,所有的四元组将会以某种统计的方式放进直方图中

点云特征提取及分类、VFH、SVM、CNN
通过点对数据,转为四组值,
把两点和它们法线相关的12个参数(xyz坐标值和法线信息)减少到4个。
如下方式:
点云特征提取及分类、VFH、SVM、CNN

`cpp

include

include

Original: https://blog.csdn.net/nh54zyt/article/details/122185176
Author: SensorFusion
Title: 点云特征提取及分类、VFH、SVM、CNN

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/667521/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球