点云相关基础知识

本文详细介绍了点云的概念,包括其作为三维坐标系中点集合的特性,以及通过RGB-D相机和LiDAR激光雷达等设备获取点云的方法。点云的表示方式包括原始点云、二维投影、三维体素和网格表示,并探讨了各种表示的优缺点。此外,文章还讨论了点云的存储格式,如pts、LAS、PCD和xyz等。通过对点云的理解,可以更好地应用于三维重建、自动驾驶和遥感等领域。
摘要由CSDN通过智能技术生成

点云:

        从字面意思出发为“大量的点”。点云的意思其实是三维坐标系下众多点的集合。这些点包含有丰富的信息,包含该点在三维坐标系中的坐标位置(x,y,z)、颜色数据、反射强度值、法向量等。

点云图

点云的性质:

        点云可以表达物体的空间轮廓和具体位置,从上图扫描得到的点云图像中我们能看街道、房屋的形状和轮廓,物体距离摄像机的距离也是可知的;其次,在三维坐标系中点云本身与视角无关,可以任意旋转,可以从不同角度和方向观察一个点云,而且不同的点云只要在同一个三维坐标系下就可以直接融合(在统一的视角下观察)。

获取点云的方法:

  1. RGB-D相机

        在 RGB-D 图像中,每个(x,y)坐标将对应于四个属性(深度值D,R,G,B)。

        如图所示深度值(灰度)是用于表示物体与传感器之间的距离,知道(x,y)坐标以及属性之一深度值D即可锁定该点在三维空间中的位置,再通过另外三个属性RGB(即红绿蓝三原色)即可得到该点的颜色数据。

        2.LiDAR激光雷达:

        激光雷达(LiDAR)获取的点云数据,每一个点都包含了三维坐标信息,也是我们常说的X、Y、Z三个元素,还包含颜色信息、反射强度信息、回波次数等。

        3.多传感器融合:

        当然我们也可以把摄影测量(RGB-D相机)和激光测量(LiDAR激光雷达)技术相结合在一起(多传感器融合技术),这种结合了摄影测量和激光测量原理得到的点云,包括三维坐标、激光反射强度,颜色信息等。

点云的表示方法:

        1.原始点云:无论是二维投影还是三位体素,均需要对原始点云进行一定的转换,而转换必然带来数据信息的损失。

原始点云表示

        2.二维投影法:从不同角度将三维点云投影到二维平面,可利用CNN(卷积神经网络)对二维图像进行处理。

点云的二维图像表示

        3.三维体素法:对三维点云进行二维投影降低了算法处理的难度,但是三维到二维的投影必然带来几何结构信息的损失,直接进行三维特征的提取在一些场景下是非常有必要的。一种最自然的想法便是CNN卷积神经网络的延拓,将二维卷积神经网络拓展一个维度,使其可以处理三维排列的数据;同时,对点云进行体素化,将其转换为空间上规则排布的栅格,使得三维卷积神经网络可以直接应用在这种表示上。

点云的体素表示

        4.网格(Mesh)表示法:可以看作是在原始点云的基础上构建了局部连接关系的点,即为图。将点云看作图数据,可以使用图领域新兴的图卷积技术进行处理。

点云的网格表示

点云的存储格式:

        1.pts点云文件格式直接按三维坐标(x,y,z)顺序存储点云数据, 字符数据可以是整型或者浮点型。

        2.LAS是激光雷达数据(LiDAR)的存储格式,提供一种开放的格式标准,允许不同的硬件和软件提供商输出可操作的统一格式。下图是LAS 格式点云截图,其中 C:class(所属类),F:flight(航线号),T:time(GPS 时间),I:intensity(回波强度),R:return(第几次回波),N:number of return(回波次数),A:scan angle(扫描角),RGB:red green blue(RGB 颜色值)。

 

        3.PCD点云存储格式是 PCL 库官方指定格式,典型的为点云量身定制的格式。优点是支持 n 维点类型扩展机制,能够更好地发挥 PCL 库的点云处理性能。文件格式有文本和二进制两种格式。

        4.xyz一种文本格式,前面3个数字表示点坐标,后面3个数字是点的法向量,数字间以空格分隔。

        5.obj是一种文本文件,通常用以“#”开头的注释行作为文件头,数据部分每一行的开头关键字代表该行数据所表示的几何和模型元素,以空格做数据分割符。

部分图片文字来源于网络

PCL(Point Cloud Library)是一个用于处理点云数据的开源库。在PCL中,点云通常被用来表示三维空间中的物体或场景。对于获取平面的问题,PCL提供了一些方法和算法,可以帮助我们从点云数据中提取平面信息。 提取平面的一种常用方法是使用RANSAC(随机采样一致性)算法。RANSAC算法是一种迭代的方法,通过随机选择几个点来拟合一个模型,并计算符合该模型的点的数量。反复迭代,找到具有最多符合点的模型,即可认为该模型是平面。通过适当的参数设定,可以控制RANSAC算法的收敛性和精度。 在使用PCL进行平面提取时,首先需要将点云数据加载到PCL中,并对点云进行预处理。预处理包括滤波、降采样等操作,以减少噪声和数据冗余。 接下来,可以使用PCL提供的平面提取算法进行平面的提取。常用的方法包括基于RANSAC的平面提取算法。该算法需要设定阈值,表示一个点到平面的距离小于该阈值时,认为该点属于平面。 当算法找到平面后,可以进一步对平面进行后处理,例如计算平面的法向量、计算平面的参数方程等。 最后,可以将提取到的平面数据进行可视化展示,使用户可以直观地看到提取到的平面。PCL提供了一些可视化工具和函数,方便用户对点云数据和提取结果进行可视化。 通过PCL点云库的使用,我们可以方便地从点云数据中获取平面信息。这些平面提取方法和算法可以在计算机视觉、机器人技术以及三维建模等领域得到广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值