1. 点云数据基础:概念、获取、格式与特点

大家好,我是你们这门课的老师。今天咱们正式开篇,聊聊点云数据最基础的东西。

说实话,我刚开始接触点云的时候,也觉得这东西挺玄乎的。一堆密密麻麻的点,能干啥?后来做项目做多了,才慢慢摸到门道。说白了,点云就是三维世界的一种数字化快照。

1.1 点云到底是什么?

点云,英文叫 Point Cloud。你可以把它想象成:用成千上万个点,去描述一个物体的表面形状。

每个点,都带着自己的三维坐标 (X, Y, Z)。有些点还带着颜色 (RGB)、反射强度 (Intensity) 等信息。这些点组合在一起,就构成了一个三维的“云”。

嗯,这里要注意:点云不是实体模型,它只是点的集合。点与点之间没有连接关系,不像网格模型那样有面片。所以,处理点云的核心,就是处理这些离散的点。

核心概念:点云 = 三维坐标 + 属性信息。坐标是骨架,属性是血肉。

1.2 点云是怎么来的?

获取点云的方式,我接触过的主要有两种:LiDAR 和深度相机。它们各有各的脾气。

1.2.1 LiDAR(激光雷达)

LiDAR 是我个人最常用的设备。它通过发射激光束,测量激光返回的时间,来计算距离。说白了,就是“激光测距”的升级版。

LiDAR 的优点是:精度高,探测距离远,不受光照影响。我在做自动驾驶项目时,用的就是 64 线 LiDAR,能看清 100 米外的行人轮廓。

但 LiDAR 也有缺点:贵!而且点云密度不均匀。离得近的地方点很密,远的地方点很稀疏。你想想看,这会给后续的聚类算法带来什么麻烦?

1.2.2 深度相机

深度相机,比如 Kinect、RealSense,是另一种选择。它通过结构光或飞行时间法,直接输出深度图,再转换成点云。

深度相机的优点是:便宜,帧率高,适合室内场景。我记得有一次做室内三维重建,用的就是 Intel RealSense,效果还不错。

但它的缺点也很明显:受光照影响大,室外基本不能用。而且精度比 LiDAR 差一个数量级。

特性 LiDAR 深度相机
精度 毫米级 厘米级
探测距离 100m+ 10m以内
光照影响
成本
典型应用 自动驾驶、测绘 AR/VR、室内建模

1.3 常见的点云格式

做点云处理,绕不开文件格式。我见过不下十种格式,但最常用的就三种:PCD、PLY、XYZ。

1.3.1 PCD 格式

PCD 是 Point Cloud Library (PCL) 的亲儿子。它的特点是:文件头清晰,支持多种数据类型。

一个典型的 PCD 文件长这样:

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z rgb
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 640
HEIGHT 480
VIEWPOINT 0 0 0 1 0 0 0
POINTS 307200
DATA ascii
0.123 0.456 0.789 255 0 0
0.234 0.567 0.890 0 255 0
...

我个人习惯用 PCD 格式做中间存储,因为 PCL 库直接支持,读写方便。

1.3.2 PLY 格式

PLY 格式更通用,它不仅能存点云,还能存网格。PLY 也分 ASCII 和二进制两种。

PLY 的头部比 PCD 更灵活,可以自定义属性。我在做三维重建时,经常用 PLY 保存带法向量的点云。

1.3.3 XYZ 格式

XYZ 格式最简单,就是纯文本,每行三个数字:X Y Z。没有任何头部信息。

这种格式的好处是:通用性极强,任何语言都能解析。但缺点也很明显:没有属性信息,没有坐标系说明。

我的建议:做算法原型时用 XYZ 格式,方便调试。做正式项目时用 PCD 或 PLY,信息更完整。

1.4 点云数据的特点

点云数据跟图像数据很不一样。图像是规整的网格,点云是散乱的。我总结了几个关键特点:

  • 无序性:点云没有固定的顺序。同样的点云,换个顺序,还是同一个点云。这给深度学习带来了挑战。
  • 稀疏性:点云只在物体表面有数据,其他地方是空的。你想想看,一个房间的点云,大部分空间都是空的。
  • 密度不均匀:离传感器近的地方点密,远的地方点稀。我在做聚类时,经常要处理这个问题。
  • 噪声多:LiDAR 和深度相机都会引入噪声。尤其是边缘区域,噪声更明显。

避坑指南:我曾经因为没处理好点云的密度不均匀,导致聚类算法把远处的物体误判为噪声。后来加了密度自适应阈值,才解决问题。

1.5 知识体系总览

为了让大家对本章内容有个整体认识,我画了一张图。这张图展示了点云数据基础的核心逻辑。

点云数据基础 概念 三维坐标 + 属性 获取方式 LiDAR / 深度相机 常见格式 PCD / PLY / XYZ 数据特点 无序 / 稀疏 / 不均匀 后续章节 分割 / 聚类 / 识别

这张图把本章的知识点串起来了。从概念出发,到获取方式,再到格式和特点,最后指向后续的分割和聚类算法。你想想看,是不是这个逻辑?

好了,第一章的内容就到这里。点云数据基础是后面所有算法的基础,一定要打好。下一章,我们开始讲点云的预处理,包括滤波、降采样这些实操内容。


专注资料整理