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

2023-11-12

点云数据及获取

定义

点云(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 集成
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 安装64位SoildWorks时总是出现无法确定当前的订阅失效日期

    总共会出现两个弹窗信息 弹窗1 安装管理程序无法确定当前的的订阅失效日期 您想重新激活您的许可以更新信息吗 这个弹窗要点击 否 弹窗2 无法决定订阅服务失效日期 您必须使用 这个点击 确定 转载于 https www cnblogs com
  • matlab画对数坐标!

    在很多工程问题中 通过对数据进行对数转换可以更清晰地看出数据的某些特征 在对数坐标系中描绘数据点的曲线 可以直接地表现对数转换 对数转换有双对数坐标转换和单轴对数坐标转换两种 用loglog函数可以实现双对数坐标转换 用semilogx和s
  • 专访《白话区块链》作者蒋勇:学习区块链空谈不如实践

    上周HiBlock区块链社区联合蒋勇老师推出课程 区块链技术概念及智能合约实践 课程上线一天内报名42人 3天时间报名80多人 其中70人通过审核 超额完成第一期招生 为保证学员学习效果 不得已提前关闭报名通道 近几天来 很多学员还在留言问
  • 用C++实现数组切片

    这里写自定义目录标题 用C 实现数组切片 写的一般 权当抛砖引玉了 int slice int arr const int n int a new int n for
  • ubuntu20.4编译AOSP安卓源码(AndroidP android-9.0.0_r9)

    目录 代码下载 安装初始化依赖工具 配置repo工具 配置git信息 初始化仓库 配置编译环境 安装jdk 安装编译依赖 编译 初始化编译环境 选择编译目标 编译源码 启动模拟器 windows和Linux协同工作 遇到的问题解决 安装依赖
  • /etc/sysctl.conf 调优 & 优化Linux内核参数

    from http apps hi baidu com share detail 15652067 http keyknight blog 163 com blog static 3663784020104152407759 http bl
  • vue + video.js 加载多种视频流(HLS、FLV、RTMP、RTSP)

    起因 由于需要在一个项目内接入多种常用的视频流 所以接触到video js 这里就做个记录 框架 vue2 video js videojs contrib hls videojs flvjs es6 videojs flash video
  • 微信小程序支付 java

    话不多说 直接开撸 支付流程步骤 1 首先调用wx login方法获取code 通过code获取openid 2 java后台调用统一下单支付接口 这里会进行第一次签名 用来获取prepay id 3 java后台再次调用签名 这里会进行第
  • 锁升级过程和原理

    目录 同步方法与一般方法字节码对比 对象头中的锁信息 锁升级中涉及的四种锁 锁升级的过程 锁升级过程和原理 同步方法与一般方法字节码对比 public class SynchronizedTest1 public static void m
  • Linux权限详解

    你好 我是史丰源 欢迎你的来访 希望我的博客能给你带来一些帮助 我的Gitee 代码仓库 Linux权限 Shell外壳程序运行原理 Shell 外壳 相当于一层遮蔽内部的保护壳 Linux是一个操作系统 请大家思考一个问题 我们 操作系统
  • pytest参数化实现DDT:读取JSON数据

    JSON JavaScript Object Notation JS 对象简谱 是一种轻量级的数据交换格式 与上一篇文章类似 使用pytest中的pytest mark parametrize 便可实现参数化 代码如下所示 导入json模块
  • conda新建、复制、删除、重命名envs环境

    1 新建环境 conda create n torch python 3 6 这样就创建好了一个名叫torch的python3 6环境 2 复制环境 conda create n new torch clone torch 这样就将torc
  • 【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 LSTM神经网络算法 1 2 PSO算法 1 3 PSO LSTM负荷预测模型 2 运行结果 2
  • pytorch: 转onnx模型

    摘要 onnx Open Neural Network Exchange 主要用于部署 训练一般使用pytorch和tensorflow 等训练完成 我们需要模型转成onnx 用于部署在云或者边缘计算上 而为什么要要转成onnx模型呢 主要
  • vscode CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘.解决

    1 问题出现 已安装anaconda并已添加其环境变量 测试在win cmd中输入conda及相关conda activate命令等都是正常的 但当在vscode中run debug工程py脚本时出现以下错误及提示 2 踩坑记录 1 根据提
  • xterm使用详情

    常用配置项 rendererType dom canvas 渲染器类型 当 canvas 渲染器运行过慢时 会回退为 DOM 渲染器 DOM 渲染器下不起作用的功能 Letter spacing Cursor blin cols numbe
  • word页码怎么从第三页开始设置为第一页_Word小技巧

    在使用word编辑文档或者写论文的时候 会涉及到页码的设置 今天粉笔君就来给大家分享一下如何快速正确的设置页码格式 一 第一页为封面 第二页为目录 从第三页开始编码 1 将鼠标固定到文档第二页的第一个字符前 在菜单栏中单击 布局 选项 找到
  • Java+Servlet+Jsp(el, jstl)+MyBatis的CRUD练习小项目

    1 概述 这篇博客主要是分享一个基于Servlet Jsp el jstl MyBatis的CRUD练习小项目 包括项目的源码 以及项目的逻辑 通过这个项目能够学习Java web中最基础的servlet jsp和mybatis的使用 为后
  • 一篇短文告诉你阿里云用户如何通过等保测评

    随着等保2 0的脚步越来越近 云上等保受到越来越多人的关注 近日在成都举行的云栖大会安全论坛上 牛君特意关注了阿里云云上系统的等保合规方案 阿里云最早于2012年通过 ISO 27001 认证 并于2016年9月通过新的云计算安全等级保护三
  • 点云绪论(点云数据及获取、点云数据处理、常用软件及开源库)

    文章目录 点云数据及获取 点云数据处理 常用软件及开源库 点云数据及获取 定义 点云 point cloud 三维点的数据集合属性 三维坐标 强度 颜色 时间戳 点云组织形式 organized the point cloud is lai