点云基础

一,点云的概念

点云是在和目标表面特性的海量点集合。

根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。

根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB)。

结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。

在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)

点云的格式:; *.pts; *.asc ; *.dat; *.stl ;*.imw;*.xyz;

1,点云

点云是用于表示多维点集合的数据结构,通常用于表示三维数据。在三维点云中,这些点通常表示底层采样曲面的XYZ几何坐标。当存在颜色信息时,点云变为4D

2PCD文件格式

用于存储多维点数据的简单文件格式。它由一个文本头(带下面的字段)和一个ASCII(带单独行上的点)或二进制(PC的点向量的内存副本)格式的数据组成。

VERSION – PCD文件版本(通常.7)

FIELDS -点可以具有的每个维度/字段的名称(例如字段x y z

SIZE -每个维度的大小(字节)(e.g. a float is 4)

TYPE -作为字符的每个维度的类型(I= signed,U= unsigned,F= float)

COUNT -每个维度中元素的数量(例如xyz只有1个,而直方图只有N个)

WIDTH – 点云数据的宽度

HEIGHT – 点云数据的高度

VIEWPOINT –可获取的点云观察角度:平移(tx ty tz+四元数(qw qx qy qz

POINTS – 总点数

DATA – 点云数据的存储类型-ASCII 或者 Binary

HEIGHT – 点云数据的高度

VIEWPOINT –可获取的点云观察角度:平移(tx ty tz+四元数(qw qx qy qz

POINTS – 总点数

DATA – 点云数据的存储类型-ASCII 或者 Binary

二,三维特征点

1,计算点云中的曲面法线

       曲面法线是几何曲面的重要属性,在许多领域(如计算机图形应用程序)中被大量使用,以应用生成阴影和其他视觉效果的正确光源。

给定一个几何曲面,将曲面上某个点的法线方向推断为该点上垂直于曲面的向量通常是很简单的。但是,由于我们获取的点云数据集代表真实曲面上的一组点采样,因此有两种可能:

a,利用曲面网格技术,从获取的点云数据集中获取下垫面,然后从网格中计算出曲面的法线;

b,直接使用粗略估计的方法从点云数据集中推断出曲面法线。

理论基础:

虽然存在许多不同的法线估计方法,但是我们将集中讨论一个最简单的方法,并且公式如下。确定表面上的点法线的问题近似于估计平面切线的法线的问题,这又变成最小二乘平面拟合估计问题。

因此,估计表面法向的解决方案简化为对从查询点的最近邻创建的协方差矩阵的特征向量和特征值的分析(或PCA-主成分分析)。更具体地说,对于每个点Pi,我们将协方差矩阵C组合如下

其中k是在Pi的邻域中考虑的点邻域的数目,𝑝¯p表示最近邻域的3D质心,λj是协方差矩阵的第j个特征值,𝑣𝑗(vj) ⃗是第j个特征向量。

要从PCL中的一组点估计协方差矩阵,可以使用:

一般来说,由于没有数学方法来求解法向量的符号,因此通过主成分分析(PCA)计算的法向量的方向是不明确的,并且在整个点云数据集上方向不一致。下图显示了这些影响对表示厨房环境一部分的较大数据集的两个部分的影响。图的右侧显示扩展高斯图像(EGI),也称为法向球体,它描述了所有从球体点云数据的法向量方向。由于数据集是2.5维的,是从一个单一的视角获取的,因此法线应该只出现在EGI中球体的一半上。但是,由于方向不一致,它们分布在整个球体上

如果视点vp事实上是已知的,那么此问题就无法解决。要使所有法线一致地朝向视点,它们需要满足以下等式

下图显示了上图中数据集中的所有法线始终指向视点后的结果。

选择合适的比例

    如前所述,需要根据点的周围点邻域支持(也称为k邻域)来估计一点处的曲面法线。最近邻估计问题的细节提出了一个正确的比例因子的问题:给定一个采样点云数据集,在确定一个点的最近邻集时应该使用的正确 k r 值是多少?

这个问题非常重要,并且在点特征表示的自动估计(即,没有用户给定的阈值)中构成限制因素。为了更好地说明这一问题,下图展示了选择小尺度(即小rk)与大尺度(即大rk)的效果。图的左边部分描绘了一个合理选择的比例因子,估计的表面法线近似垂直于两个平面,小的边缘在整个桌子上可见。但是,如果比例因子太大(右侧部分),并且因此相邻曲面的邻域集合是来自相邻曲面的更大覆盖点,则估计的点特征表示会失真,在两个平面的边上旋转曲面法线,并且会涂抹边并抑制精细细节

三,过滤器

在处理三维数据时,过滤数据的原因有很多:

限制范围(通过滤波器

采样(体素网格)

异常值去除

选择索引

投影

通滤波器

在一维中筛选出指定范围之外的点。

统计异常值剔除

基于其局部点密度过滤点。移除相对于整个云的平均点密度稀疏的点

下采样到体素网格

将云体素化为三维网格。每个占据体素由其内部的点的质心近似

提取索引根据分割算法输出的索引从点云中提取点的子集。

什么是关键点?

关键点(也称为兴趣点)只是在某种程度上被识别为相关的点。一个好的关键点检测器将发现具有以下特性的点:

稀疏性:通常,场景中只有一小部分点是关键点。

可重复性:如果一个点被确定为一个点云中的关键点,则也应在类似点云中的相应位置找到一个关键点。(这些点通常被称为“稳定”。)

显著性:每个关键点周围的区域应该有一个独特的形状或外观,可以被一些特征描述符捕获。

为什么要计算关键点?

有些特性的计算成本很高,而且在每一点上计算它们都是令人望而却步的。识别少量位置的关键点在这里计算特征描述符可能是最有效的。当搜索对应点时,在非描述点计算的特征将导致不明确的特征对应。通过忽略非关键点,可以减少匹配点时的错误。

检测3D-SIFT关键点

在关键点计算PFH特征

寻找对应关系

五,树

k-d树,或称k维树,是计算机科学中用来组织k维空间中若干点的数据结构。它是一个二叉搜索树,具有其他约束。K-d树对于距离和最近邻搜索非常有用

 

统计异常值剔除

基于其局部点密度过滤点。移除相对于整个云的平均点密度稀疏的点

下采样到体素网格

将云体素化为三维网格。每个占据体素由其内部的点的质心近似

 提取索引根据分割算法输出的索引从点云中提取点的子集。

 

四,关键点 

什么是关键点?

关键点(也称为兴趣点)只是在某种程度上被识别为相关的点。一个好的关键点检测器将发现具有以下特性的点:

稀疏性:通常,场景中只有一小部分点是关键点。

可重复性:如果一个点被确定为一个点云中的关键点,则也应在类似点云中的相应位置找到一个关键点。(这些点通常被称为“稳定”。)

显著性:每个关键点周围的区域应该有一个独特的形状或外观,可以被一些特征描述符捕获。

为什么要计算关键点?

有些特性的计算成本很高,而且在每一点上计算它们都是令人望而却步的。识别少量位置的关键点在这里计算特征描述符可能是最有效的。当搜索对应点时,在非描述点计算的特征将导致不明确的特征对应。通过忽略非关键点,可以减少匹配点时的错误。

五,树

k-d树,或称k维树,是计算机科学中用来组织k维空间中若干点的数据结构。它是一个二叉搜索树,具有其他约束。K-d树对于距离和最近邻搜索非常有用

 这位老兄有详细介绍:https://www.cnblogs.com/eyeszjwang/articles/2429382.html

 

六,样本一致性和分割 

随机样本一致性(RANSAC)算法假设数据由内联和离群两部分组成。内环的分布可以用一组参数和一个模型来解释。外围数据与模型不符

 

基本操作:行示例

1,选择样本集-2个点

2,计算模型-----直线方程

3,计算和计算内联-例如波段

4,重复,直到足够自信-例如95%

还有PCL中也提供了许多方法

七,配准

 

 

  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值