3D点云基础知识(⼀)-初始⼊门-知乎整理(⼀)
本⽂基于如下知乎⽂章,调整部分内容整理输出,⼀为梳理基础知识,⼆为致敬原作。
1. 3D图像描述
div class nav2. RGB-D
3. 点云
4. 何为点云?
5. 点云的获取
6. 点云的内容
7. 点云的属性
8. 点云⽬前的主要存储格式包括:pts、LAS、PCD、.xyz 和. pcap 等
9. 相应基础算法库对不同格式的⽀持
sql数据库和mysql
10. 三维点云有多种表⽰⽅法
11. 相⽐于图像数据,点云不直接包含空间结构,因此点云的深度模型必须解决三个主要问题
12. DataSets
13. Metric
14. 基于点云的分类
15. 基于点云的分割
16. 基于点云的⽬标检测
python基础知识整理17. 点云数据的增强和完整化
三维图像是在⼆维彩⾊图像的基础上⼜多了⼀个维度,即深度(Depth,D),可⽤⼀个很直观的公式表⽰为:
三维图像 = 普通的 RGB 三通道彩⾊图像 + Depth Map。
1、3D图像描述:
textarea标签属性value
第⼀种分法:
多边形⽹格
基于体素的描述
点云
隐式表⾯
基于视图的描述
第⼆种分法:
深度图像(depth images)
点云
⽹格(meshes)
体积⽹格(volumetric grids)
2、RGB-D
RGB-D 是⼴泛使⽤的 3D 格式,其图像每个像素都有四个属性:即红(R)、绿(G)、蓝(B)和深度(D)。
在⼀般的基于像素的图像中,我们可以通过(x,y)坐标定位任何像素,分别获得三种颜⾊属性(R,G,B)。⽽在 RGB-D 图像中,每个(x,y)坐标将对应于四个属性(深度 D,R,G,B)。
3、点云
我们在做 3D 视觉的时候,处理的主要是点云,点云就是⼀些点的集合。相对于图像,点云有其不可替代的优势——深度,也就是说三维点云直接提供了三维空间的数据,⽽图像则需要通过透视⼏何来反推三维数据。
与compare有关的短语4、何为点云?
其实点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标 X,Y,Z、颜⾊、分类值、强度值、时间等等。点云在组成特点上分为两种,⼀种是有序点云,⼀种是⽆序点云。
有序点云:⼀般由深度图还原的点云,有序点云按照图⽅阵⼀⾏⼀⾏的,从左上⾓到右下⾓排列,当
然其中有⼀些⽆效点。有序点云按顺序排列,可以很容易的到它的相邻点信息。有序点云在某些处理的时候还是很便利的,但是很多情况下是⽆法获取有序点云的。
⽆序点云:⽆序点云就是其中的点的集合,点排列之间没有任何顺序,点的顺序交换后没有任何影响。是⽐较普遍的点云形式,有序点云也可看做⽆序点云来处理。
5、点云表⽰的优点:
点云表⽰保留了三维空间中原始的⼏何信息,不进⾏离散化
6、点云当前⾯临的挑战:
数据集规模⼩
⾼维性
3维点云的⾮建构化特性
7、点云的获取:
点云不是通过普通的相机拍摄得到的,⼀般是通过三维成像传感器获得,⽐如双⽬相机、三维扫描仪
、RGB-D 相机等。
⽬前主流的 RGB-D 相机有微软的 Kinect 系列、Intel 的 realsense 系列、structure sensor(需结合 iPad 使⽤)等。
点云可通过扫描的 RGB-D 图像,以及扫描相机的内在参数创建点云,⽅法是通过相机校准,使⽤相机内在参数计算真实世界的点(x,y,z)。
因此,RGB-D 图像是⽹格对齐的图像,⽽点云则是更稀疏的结构。此外,获得点云的较好⽅法还包括 LiDAR 激光探测与测量,主要通过星载、机载和地⾯三种⽅式获取。
8、点云的内容:
根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity),强度信息与⽬标的表⾯材质、粗糙度、⼊射⾓⽅向以及仪器的发射能量、激光波长有关。
根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜⾊信息(RGB)。
结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜⾊信息(RGB)。
9、点云的属性:
空间分辨率、点位精度、表⾯法向量等。
点云可以表达物体的空间轮廓和具体位置,我们能看到街道、房屋的形状,物体距离摄像机的距离也是可知的;
其次,点云本⾝和视⾓⽆关,可以任意旋转,从不同⾓度和⽅向观察⼀个点云,⽽且不同的点云只要在同⼀个坐标系下就可以直接融合。
10、点云⽬前的主要存储格式包括:pts、LAS、PCD、.xyz 和. pcap 等
.pts 点云⽂件格式是最简便的点云格式,直接按 XYZ 顺序存储点云数据, 可以是整型或者浮点型。
LAS 是激光雷达数据(LiDAR),存储格式⽐ pts 复杂,旨在提供⼀种开放的格式标准,允许不同的硬件和软件提供商输出可互操作的统⼀格式。LAS 格式点云截图,其中 C:class(所属类),F:flight(航线号),T:time(GPS 时间),I:intensity(回波强度),R:return(第⼏次回波),N:number of return(回波次数),A:scan angle(扫描⾓),RGB:red green blue(RGB 颜⾊值)。
PCD 存储格式,现有的⽂件结构因本⾝组成的原因不⽀持由 PCL 库(后⽂会进⾏介绍)引进 n 维点类型机制处理过程中的某些扩展,⽽ PCD ⽂件格式能够很好地补⾜这⼀点。PCD 格式具有⽂件头,⽤于描绘点云的整体信息:定义数字的可读头、尺⼨、点云的维数和数据类型;⼀种数据段,可以是 ASCII 码或⼆进制码。数据本体部分由点的笛卡尔坐标构成,⽂本模式下以空格做分隔符。
.xyz  ⼀种⽂本格式,前⾯ 3 个数字表⽰点坐标,后⾯ 3 个数字是点的法向量,数字间以空格分隔。
.pcap 是⼀种通⽤的数据流格式,现在流⾏的 Velodyne 公司出品的激光雷达默认采集数据⽂件格式(⼚商格式)。它是⼀种⼆进制⽂件
obj是⼀种⽂本⽂件,通常⽤以“#”开头的注释⾏作为⽂件头,数据部分每⼀⾏的开头关键字代表该⾏数据所表⽰的⼏何和模型元素,以空格做数据分隔符
11、相应基础算法库对不同格式的⽀持
PCL(Point Cloud Library)库⽀持跨平台存储,可以在 Windows、Linux、macOS、iOS、Android 上部署。可应⽤于计算资源有限或者内存有限的应⽤场景,是⼀个⼤型跨平台开源 C++ 编程库,它实现了⼤量点云相关的通⽤算法和⾼效数据结构,其基于以下第三⽅库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲⾯重建、可视化等操作,⾮常⽅便移动端开发。
VCG 库(Visulization and Computer Graphics Libary)是专门为处理三⾓⽹格⽽设计的,该库很⼤,且提供了许多先进的处理⽹格的功能,以及⽐较少的点云处理功能。
CGAL(Computational Geometry Algorithms Library)计算⼏何算法库,设计⽬标是以 C++ 库的形式,提供⽅便、⾼效、可靠的⼏何算法,其实现了很多处理点云以及处理⽹格的算法。
Open3D 是⼀个可以⽀持 3D 数据处理软件快速开发的开源库。⽀持快速开发处理 3D 数据的软件。Open3D 前端在 C++ 和Python 中公开了⼀组精⼼选择的数据结构和算法。后端经过⾼度优化,并设置为并⾏化。Open3D 是从⼀开始就开发出来的,带有很少的、经过仔细考虑的依赖项。它可以在不同的平台上设置,并且可以从源代码进⾏最⼩的编译。代码⼲净,样式⼀致,并通过清晰的代码审查机制进⾏维护。在点云、⽹格、rgbd 数据上都有⽀持。
本作新增:
12、三维点云有多种表⽰⽅法
(如图所⽰),不同的表⽰对应着不同的处理⽅法。⽐较容易的处理⽅式为将其投影为⼆维图像或者转换为三维体素 (Voxel),从⽽将⽆序的空间点转变为规则的数据排列;也可以使⽤原始点作为表⽰,不做任何变换,该⽅式的好处为最⼤可能保留所有原始信息。此外,点云作为空间⽆序点集,可以被看作普适意义上的图数据。点云还有另外⼀种表⽰,称作⽹格 (Mesh),其也可以被看作是构建了局部连接关系的点,即为图。将点云看作图数据,可以使⽤图领域新兴的图卷积 (Graph Convolution) 技术进⾏处理。需要提及的是,原始点的表⽰和图表⽰之间并⽆明确界限(事实上原始点云和⽹格 (Mesh) 之间有⼀定区别,但若从语义理解⽅法的⾓度看,可暂
时忽略此区别,将Mesh看作是增加了⼀种连接关系)
基于⼆维投影的⽅法。CNN 最好的应⽤领域在于图像处理,将三维点云数据投影到⼆维图像平⾯,即可使得 CNN 应⽤于点云数据成为可能。
基于三维体素的⽅法。对三维点云进⾏⼆维投影降低了算法处理的难度,但是三维到⼆维的投影必然带来⼏何结构信息的损失,直接进⾏三维特征的提取在⼀些场景下是⾮常有必要的。⼀种最⾃然的想法便是 CNN 的延拓,将⼆维卷积神经⽹络拓展⼀个维度,使其可以处理三维排列的数据;同时,对点云进⾏体素化 (Voxelization),将其转换为空间上规则排布的栅格,使得三维卷积神经⽹络(Three Dimension Convolutional Neural Network, 3DCNN) 可以直接应⽤在这种表⽰上。
基于原始点的⽅法。⽆论是⼆维投影还是三位体素,均需要对原始点云进⾏⼀定的转换,⽽转换必然带来数据信息的损失。
基于图的⽅法。现实⽣活中存在⼤量的⾮结构化数据,如交通⽹络、社交⽹络等,这些数据的节点间存在联系,可以表⽰为图。研究图数据的学习是近年来学界的热点。三维点云数据可以看作图数据的⼀种,图⽹络的很多思想可以被借鉴于点云数据的特征学习中。图卷积 (Graph Convolution Network, GCN) 可分为基于谱的图卷积(Spectralbased GCN) 和基于空间的图卷积 (Spatial-based GCN)。
如何查看struts版本
13、相⽐于图像数据,点云不直接包含空间结构,因此点云的深度模型必须解决三个主要问题:
1. 如何从稀疏的点云到⾼信息密度的表⽰;
2. 如何构建⼀个⽹络满⾜必要的限制如size-variance和permutation-invariance;
3. 如何以较低的时间和计算资源消耗处理⼤量数据;
14、DataSets开源数据集

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