点云相关基础知识

点云:

        从字面意思出发为“大量的点”。点云的意思其实是三维坐标系下众多点的集合。这些点包含有丰富的信息,包含该点在三维坐标系中的坐标位置(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是一种文本文件,通常用以“#”开头的注释行作为文件头,数据部分每一行的开头关键字代表该行数据所表示的几何和模型元素,以空格做数据分割符。

部分图片文字来源于网络

猜你喜欢

转载自blog.csdn.net/xsh_roy/article/details/121844184