点云绪论(点云数据及获取、点云数据处理、常用软件及开源库)

文章目录

  • 点云数据及获取
  • 点云数据处理
  • 常用软件及开源库

点云数据及获取

定义

点云(point cloud): 三维点的数据集合属性

  • 三维坐标

  • 强度

  • 颜色

  • 时间戳

点云组织形式:

  • organized: the point cloud is laid out as a 2D array of points that resemblesan image like structure

也就是说,像平常的照片一样,有行列顺序的点云,叫结构点云。

  • unorganized: the point cloud is a list of points.

点云获取方式

  1. 激光扫描仪(Laser Scanner/ LiDAR Light Detection And Ranging)
  • 星载

  • 机载

  • 地面

  • 移动

  1. 深度相机(depth camera)

  2. 双目相机(Stereo Camera)

  3. 光学相机多视角重建

激光扫描

激光发射出去再返回来,transmitter和receiver,根据往返时间计算range
Range . travel time x speed of light/2
Record (azimuth, zenith, range, intensity)

深度相机

通过近红外激光器把具有结构特征的光线投影到物体上,通过红外摄像头采集得到深度信息。

特点:

  • 成本低,计算量小

  • 主动光源,夜晚也可用

  • 观测该范围和距离有限

应用:

  • 室内机器人

  • AR/VR

双目相机

使用两个相机从不同位置获取物体的两幅图像,通过计算对应点的位置偏差,使用三角原理(Triangulation)计算点的三维坐标。

特点:

  • 成本低

-室内室外都适用

  • 对环境光敏感

  • 基线限制了测量范围

SFM运动结构恢复(Structure frommotion)

给出多幅图像及其图像特征点的对应集合,估计3D点的位置和摄像机姿态(运动)

特点:

  • 成本低
  • 使用高精度相机和更稳定的平台(有GPS/IMU)可以进行高精度测量
  • 计算量大

点云数据处理

点云滤波(filtering)

检测和移除点云中的噪声或不感兴趣的点

分类:

  • 基于统计信息(stat iscal-based)
  • 基于领域(neighbor-based)
  • 基于投影(projection-based)
  • 基于信号处理(singal processing based)
  • 基于偏微分方程(PDEs-based)
  • 其他方法: voxel grid fitlering, quadtree-based, etc.

常用方法:

  • 基于体素(voxeI grid)
  • 移动平均最小二乘(Moving Least Squares)

点云匹配(point cloud registration):

估计两帧或者多帧点云之间的rigid body transformation信息,将所有帧的点云配准在同一个坐标系。

分类:

  • 初/粗匹配:适用于初始位姿差别大的两帧点云
  • 精匹配:优化两帧点云之间的变换
  • 全局匹配:通常指优化序列点云匹配的误差,
  • 如激光SLAM,两帧之间匹配,全局匹配

常用方法:

  • 基于Iterative Closest Point (ICP)的方法
  • 基于特征的匹配方法
  • 深度学习匹配方法

点云分割(segmentation)

根据空间、集合等特征将点划分为不同的集合。

常用方法:

  • 基于边缘的方法:变成图像,使用边缘信息(较早期)
  • 基于区域生长
  • 几何模型拟合:拟合平面,球形,圆柱等

点云目标检测 (object detection)

从点云中检测某类物体

方法:

  • 传统机器学习方法

  • 深度学习方法

点云分类 (classification)/语义分割(Semantic Segmentation)

为每个点云分配一个语义标签。

方法:

  • 传统机器学习方法
  • 深度学习方法

模型重建 (model reconstruction):

  • 从点云中获取更精简更紧凑的模型,如获取mesh 模型。
  • 常见的 3D shape representation: 深度图,点云,体素,网格(mesh)

常用方法:

  • Delaunay Mesh Generation
  • Finite Element Mesh Generation
  • Marching cubes

常用软件及开源库

CloudCompare(软件)

  • 点云处理软件
  • 开源,且支持多平台(Windows,Mac,Linux)
  • 支持常见的点云数据格式,简单的点云编辑
  • 支持用户自己添加插件和增加新功能 (如 Ransac,PoissonMesh Reconstruction, Classification with CANUPO)
  • 适合于点云可视化,简单编辑或者处理

PCL (Point cloud library)(开源库)

  • Filter
  • Segmentation
  • Registration
  • Keypoints
  • Recognition

特点:

  • 支持多平台(Win,Linux,Mac)
  • 功能齐全,可扩展性好
  • 广泛用于机器人,很多开源算法和系统(ROS)

Open3D(开源库)

  • Surface alignment
  • 3D machine learning support with PyTorch and TensorFlow
  • GPU acceleration for core 3D operation

特点:

  • 支持多平台
  • python集成成熟,可和 Pytorch,Tensorflow 集成

你可能感兴趣的:(点云处理,点云,pcl)