点云定义、PCL数据类型和点云处理方式

13 篇文章 20 订阅

目录

1.点云定义

2. PCL中点云数据类型

3.点云数据处理

(1)点云滤波方法:

(2)关键点

(3)特征和特征描述

(4)点云配准

(5)点云分割与语义分类

(6)SLAM图优化

(7)三维重建

(8)点云数据管理


1.点云定义

(来源于百度百科:https://baike.baidu.com/item/点云/10823598?fr=aladdin)

  • 根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。
  • 根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB)。
  • 结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。

在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)。

点云存储格式有很多:*.pts; *.asc ; *.dat; *.stl ; [1]  *.imw;*.xyz;*.las

LAS格式文件已成为LiDAR数据的工业标准格式,LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。

C--class(所属类)

F一flight(航线号)

T一time(GPS时间)

I一intensity(回波强度)

R一return(第几次回波)

N一number of return(回波次数)

A一scan angle(扫描角)

RGB一red green blue(RGB颜色值)

2. PCL中点云数据类型

(1)pcl::PointCloud<pcl::PointXYZ>

PointXYZ 成员:float x,y,z;表示了xyz3D信息,可以通过points[i].data[0]或points[i].x访问点X的坐标值

(2)pcl::PointCloud<pcl::PointXYZI>

PointXYZI成员:float x, y, z, intensity; 表示XYZ信息加上强度信息的类型。

(3)pcl::PointCloud<pcl::PointXYZRGB>

PointXYZRGB 成员:float x,y,z,rgb; 表示XYZ信息加上RGB信息,RGB存储为一个float。

(4)pcl::PointCloud<pcl::PointXYZRGBA>

PointXYZRGBA 成员:float x , y, z; uint32_t rgba; 表示XYZ信息加上RGBA信息,RGBA用32bit的int型存储的。

(5) PointXY 成员:float x,y;简单的二维x-y点结构

(6)Normal结构体:表示给定点所在样本曲面上的法线方向,以及对应曲率的测量值,用第四个元素来占位,兼容SSE和高效计算。用户访问法向量的第一个坐标,可以通过points[i].data_n[0]或者points[i].normal[0]或者points[i].normal_x,但曲率不能被存储在同一个结构体中,因为它会被普通的数据操作覆盖掉。

Eg:PointXYZRGBNormal - float x, y, z, rgb, normal[3], curvature; PointXYZRGBNormal存储XYZ数据和RGB颜色的point结构体,并且包括曲面法线和曲率。

 

3.点云数据处理

1)点云滤波方法:

双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波。

2)关键点

ISS3D、Harris3D、NARF,SIFT3D

3)特征和特征描述

       法线和曲率的计算、特征值分析、SHOT

PFH、FPFH、3D Shape Context、Spin Image

4)点云配准

点云配准分为粗配准(Coarse Registration)和精配准(Fine Registration)两个阶段。

精配准的目的是在粗配准的基础上让点云之间的空间位置差别最小化。应用最为广泛的精配准算法应该是ICP以及ICP的各种变种(稳健ICP、point to plane ICP、Point to line ICP、MBICP、GICP、NICP)。

粗配准是指在点云相对位姿完全未知的情况下对点云进行配准,可以为精配准提供良好的初始值。当前较为普遍的点云自动粗配准算法包括基于穷举搜索的配准算法和基于特征匹配的配准算法。

基于穷举搜索的配准算法:遍历整个变换空间以选取使误差函数最小化的变换关系或者列举出使最多点对满足的变换关系。

  • Eg: RANSAC配准算法、四点一致集配准算法(4-Point Congruent Set, 4PCS)、Super4PCS算法等……

基于特征匹配的配准算法:通过被测物体本身所具备的形态特性构建点云间的匹配对应,然后采用相关算法对变换关系进行估计。

  • Eg:基于点FPFH特征的SAC-IA、FGR等算法、基于点SHOT特征的AO算法以及基于线特征的ICL等…

还有一种比较特殊的是基于概率的配准算法,NDT 3D算法是一种典型的基于统计学概率进行配准的算法。(Multil-Layer NDT)

5)点云分割与语义分类

分割:区域生长、Ransac线面提取、全局优化平面提取

   K-Means、Normalize Cut(Context based)

   3D Hough Transform(线、面提取)、连通分析、

分类:基于点的分类,基于分割的分类,基于深度学习的分类(PointNet,OctNet)……

6SLAM图优化

Ceres(Google的最小二乘优化库,很强大),g2o、LUM、ELCH、Toro、SPA

SLAM方法:ICP、MBICP、IDC、likehood Field、NDT

7)三维重建

  泊松重建、 Delaunay triangulations

  表面重建,人体重建,建筑物重建,树木重建。

  结构化重建:不是简单的构建一个Mesh网格,而是为场景进行分割,为场景结构赋予语义信息。场景结构有层次之分,在几何层次就是点线面。

  实时重建:重建植被或者农作物的4D(3D+时间)生长态势;人体姿势识别;表情识别;

8)点云数据管理

  点云压缩,点云索引(KD、Octree),点云LOD(金字塔),海量点云的渲染

参考博客:

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源明】 基于稀疏点云的树木三维重建软件+使用明+视频演示.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 在基于稀疏点云的树木三维重建软件中,用户可以在参数栏中设置不同参数,控制树干生长角度,树枝 密度,树枝光滑度等。可以对树干和树叶选择不同的颜色。软件中预置了不同树叶模型供用户选择。通 过调整参数,可将树木模型调整的更真实。以下为软件使用过程展示。 步骤1: 打开 Software 文件夹,双击可执行程序 3DTreeModelGen.exe ,在Models栏目后选择导出的 树木点云文件,进行模型重建。软件可通过 'W','A'键控制俯仰角, 'S','D' 键控制左右旋转,'Q','E'键 控制左倾右倾角度,'Z','X' 键控制缩放。 步骤2: 基于稀疏点云的树木三维重建软件使用明 树点云三维重建 在基于稀疏点云的树木三维重建软件中,用户可以在参数栏中设置不同参数,控制树干生长角度,树枝 密度,树枝光滑度等。可以对树干和树叶选择不同的颜色。软件中预置了不同树叶模型供用户选择。通 过调整参数,可将树木模型调整的更真实。以下为软件使用过程展示。 步骤1: 打开 Software 文件夹,双击可执行程序 3DTreeModelGen.exe ,在Models栏目后选择导出的 树木点云文件,进行模型重建。软件可通过 'W','A'键控制俯仰角, 'S','D' 键控制左右旋转,'Q','E'键 控制左倾右倾角度,'Z','X' 键控制缩放。 1. 在图2红色框内设置不同的参数值,控制树干生长,点击Reconstruct tree重建树木 更多详情见资源中的部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值