使用CloudCompare进行点云高程归一化

前言

本文尝试并总结了多种方法的优缺点, 建议直接使用第4种方法。

方法1(基于CSF滤波算法)

方法优劣

优点
操作简单
有理论支撑
缺点
CSF算法不适用于崎岖地形

1 生成CSF网格

1.5 (选做)对地面网格执行平滑

使用CloudCompare进行点云高程归一化_第1张图片

2 选择原始点云和生成的地面网格

使用CloudCompare进行点云高程归一化_第2张图片

3 计算点云到网格的距离

使用CloudCompare进行点云高程归一化_第3张图片
使用CloudCompare进行点云高程归一化_第4张图片

4 将计算得到的距离赋值给Z轴

使用CloudCompare进行点云高程归一化_第5张图片
使用CloudCompare进行点云高程归一化_第6张图片

5 结果

使用CloudCompare进行点云高程归一化_第7张图片

方法2(基于泊松重建)(需要已知地面点云)

如已分割或计算出准确的地面点云, 可利用地面点云进行高程归一化。

方法优劣

优点
适用于崎岖地形
构建的DEM完整, 自动延展边缘区域

缺点
需要首先计算/分类地面点云
泊松重建不保证得到一个平面
泊松重建拟合效果不好

0 数据准备

准备2组点云, 分别是全部的点云和地面点云

原始点云

提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
使用CloudCompare进行点云高程归一化_第8张图片

所需点云
在这里插入图片描述

(可选)地面重采样
如所选点云非确切的地面点而是包含了较多杂物的地面点, 执行栅格Z轴最小重采样, 后续操作根据重采样后的地面点云进行。
使用CloudCompare进行点云高程归一化_第9张图片

1 计算法向量并执行泊松表面重建

选择地面点云, 计算法向量后执行泊松重建。
使用CloudCompare进行点云高程归一化_第10张图片
法向量计算参数
使用CloudCompare进行点云高程归一化_第11张图片
(可选)法线对齐的参数
使用CloudCompare进行点云高程归一化_第12张图片
泊松重建参数
使用CloudCompare进行点云高程归一化_第13张图片

2 平滑表面

选择生成的表面, 执行平滑。

迭代数和, 平滑系数根据实际情况设置。
使用CloudCompare进行点云高程归一化_第14张图片使用CloudCompare进行点云高程归一化_第15张图片

3 计算原始点云与表面的距离

先双选原始点云和平滑后的表面, 执行以下操作。

使用CloudCompare进行点云高程归一化_第16张图片

4 应用归一化高程

先选择原始点云, 并设置Active为刚刚计算的距离(相对高度), 执行以下操作。
使用CloudCompare进行点云高程归一化_第17张图片

5 结果

使用CloudCompare进行点云高程归一化_第18张图片

方法3(基于栅格)(需要已知地面点云)

如已分割或计算出准确的地面点云, 可利用地面点云进行高程归一化。

方法优劣

优点
适用于崎岖地形
拟合效果好

缺点
过于依赖栅格大小
需要首先计算/分类地面点云
构建的DEM边缘不完整, 边缘区域可能无法覆盖(如图)
使用CloudCompare进行点云高程归一化_第19张图片

可能会出现栅格纹理(如图)
使用CloudCompare进行点云高程归一化_第20张图片

0 数据准备

准备2组点云, 分别是全部的点云和地面点云

原始点云

提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
使用CloudCompare进行点云高程归一化_第21张图片
所需点云
在这里插入图片描述

1 计算DEM

选择地面点云, 计算DEM。
使用CloudCompare进行点云高程归一化_第22张图片

2 裁剪DEM

得到的DEM可能会存在错误值, 使用裁剪工具将其切除。
使用CloudCompare进行点云高程归一化_第23张图片
在这里插入图片描述

3 (可选)平滑DEM

使用CloudCompare进行点云高程归一化_第24张图片

4 计算原始点云与DEM的距离

先双选原始点云和平滑后的DEM, 执行以下操作。

使用CloudCompare进行点云高程归一化_第25张图片

5 应用归一化高程

先选择原始点云, 并设置Active为刚刚计算的距离(相对高度), 执行以下操作。
使用CloudCompare进行点云高程归一化_第26张图片

6 结果

使用CloudCompare进行点云高程归一化_第27张图片

(推荐)方法4(泊松+栅格)(需要已知地面点云)

方法优劣

优点
适用于崎岖地形
拟合效果好
缺点
需要首先计算/分类地面点云
如果DSM栅格不够小, 归一化后可能会出现栅格纹理(如图)
使用CloudCompare进行点云高程归一化_第28张图片

0 数据准备

准备2组点云, 分别是全部的点云和地面点云

原始点云

提取地面点云
导入原始点云, 选择其类别标签, 并使用过滤器过滤滤出地面类别。
使用CloudCompare进行点云高程归一化_第29张图片
所需点云
在这里插入图片描述

1 计算粗DEM

计算DEM
选择地面点云, 插值计算分辨率为2米的DEM。
使用CloudCompare进行点云高程归一化_第30张图片
裁剪DEM
得到的DEM可能会存在错误值, 使用裁剪工具将其切除。
使用CloudCompare进行点云高程归一化_第31张图片

2 计算法向量并执行泊松表面重建

计算法向量
选择DEM, 计算法向量后执行泊松重建。
使用CloudCompare进行点云高程归一化_第32张图片
使用CloudCompare进行点云高程归一化_第33张图片
执行泊松重建
使用CloudCompare进行点云高程归一化_第34张图片

3 粗DEM接边

裁剪泊松重建的结果
将泊松重建结果的边缘裁出来
使用CloudCompare进行点云高程归一化_第35张图片
将边缘转换成点云
使用CloudCompare进行点云高程归一化_第36张图片
合并地面点云和边界点云
按住Ctrl双选地面点云和切出来的边界, 对其进行合并。
使用CloudCompare进行点云高程归一化_第37张图片

4 计算DEM

计算DEM
基于加了边界的地面类计算分辨率为0.5米的DEM, 并且进行插值, 输出为Mesh格式。
使用CloudCompare进行点云高程归一化_第38张图片
裁剪DEM
同样需要进行裁剪, 由于加了边界, 裁剪不会影响到后续计算。
使用CloudCompare进行点云高程归一化_第39张图片
平滑DEM
执行拉普拉斯平滑
使用CloudCompare进行点云高程归一化_第40张图片

6 计算归一化高程

选择原始点云和平滑后的DEM, 计算它们之间的距离。
使用CloudCompare进行点云高程归一化_第41张图片

7 归一化点云

记录原始高度
选择原始点云, 将原始Z值储存为特征
使用CloudCompare进行点云高程归一化_第42张图片
默认的特征名为Coord. Z, 可以修改成其他名字
使用CloudCompare进行点云高程归一化_第43张图片
将Z坐标设置为到DEM的距离
先激活刚刚计算的点云到DEM的距离特征, 然后将原始点云的Z坐标设置为此特征。
使用CloudCompare进行点云高程归一化_第44张图片

8 结果

结果如图所示, 如果需要还可以将点云到DEM的距离从特征值中删除。
使用CloudCompare进行点云高程归一化_第45张图片

你可能感兴趣的:(PCL,工具,计算机视觉,点云,点云下采样,CloudCompare)