点云
由空间中大量 3D 坐标点 (x, y, z) 组成的数据格式。通过 LiDAR 或立体相机获取,是 3D 建模、自动驾驶和测量的基础数据。
点云是三维空间中数据点的集合,表示物体或环境的外表面。每个点至少携带其 3D 坐标 (x, y, z),还可能包含颜色 (RGB)、表面法线向量和反射强度等附加属性。与网格或体素不同,点云是点之间没有显式连接关系的非结构化数据。
点云通过各种传感技术获取。LiDAR (光探测和测距) 使用激光脉冲飞行时间测量距离,每秒捕获数十万到数百万个点。立体相机从视差图计算 3D 坐标。运动恢复结构 (SfM) 从多张 2D 图像重建 3D 点云。深度相机 (ToF、结构光) 实时生成点云。
- 文件格式:PLY、PCD (Point Cloud Data) 和 LAS/LAZ (航空测量标准) 最为常见。PLY 在头部提供灵活的属性定义,PCD 是 Point Cloud Library (PCL) 的原生格式
- 预处理:标准流程包括降采样 (体素网格滤波减少点数)、离群点移除 (统计离群点移除) 和法线估计 (从邻近点计算表面方向)
- 配准:ICP (迭代最近点) 算法是将多次扫描对齐到统一坐标系的标准方法。基于特征的方法如 FPFH 在 ICP 精修前提供粗略初始对齐
主要的点云处理库包括 PCL (C++) 和 Open3D (Python/C++)。在深度学习中,PointNet 和 PointNet++ 直接消费原始点云进行 3D 物体分类和语义分割。自动驾驶系统使用 LiDAR 点云通过 PointPillars 和 CenterPoint 等架构实时检测行人、车辆和骑行者。
LiDAR (Light Detection and Ranging) 由激光脉冲的往返时间测量距离,1 秒内可获取数十万至数百万个点;Structure from Motion (SfM) 则从多视角的 2D 图像复原 3D 点云。前处理的基本流程为降采样 (用 Voxel Grid Filter 削减点数)、离群点去除 (Statistical Outlier Removal) 与法线估计 (由邻域点计算表面朝向)。配准方面,用于整合多次扫描点云的 ICP (Iterative Closest Point) 算法是标准做法。文件格式上,PLY 可在头部灵活定义属性,PCD 则是 PCL (Point Cloud Library) 的原生格式。