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


    点云数据及获取

    定义

    点云(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 集成
  • 相关阅读:
    Linux------一篇博客了解Linux最常用的指令
    golang大小端字节序
    uniapp不同平台获取文件内容以及base64编码特征
    JavaScript垃圾回收机制解析
    什么是IT服务台?
    AWR仿真报错invalid noise data found
    Springboot+vue的人事管理系统(有报告),Javaee项目,springboot vue前后端分离项目。
    css drop-shadow 与box-shadow
    候选公示!高工智能汽车金球奖第二批入围年度产品/方案亮相
    计算机毕业设计JavaH5女娲宫旅游网站设计与实现(源码+系统+mysql数据库+lw文档)
  • 原文地址:https://blog.csdn.net/weixin_43399263/article/details/132788943