【深度学习|地学应用】LiDAR(Light Detection and Ranging)数据详解
【深度学习|地学应用】LiDAR(Light Detection and Ranging)数据详解
文章目录
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “
学术会议小灵通
”或参考学术信息专栏:https://fighting.blog.csdn.net/article/details/147527145
前言
- LiDAR(Light Detection and Ranging)是一种利用激光脉冲测距来获取地物三维点云的高精度测绘技术。
- 它既能穿透植被获取地形高程,又能反映建筑、植被与地表结构,被广泛应用于地形测绘、林业监测、城市规划、考古发掘和自动驾驶等领域。
- 下面先从 LiDAR 数据的获取与处理流程做简要介绍,再罗列常用的开源和商业软件,最后给出 Python 示例代码,帮助快速上手点云处理。
起源与发展
初期概念与军事应用
- 1930年,E. H. Synge 提出“用强大聚光灯探测大气”理念,为后来的 colidar(coherent light
detecting and ranging)奠基。 - 1961年,Hughes Aircraft 推出首个 colidar 原型,用于卫星跟踪(“Colidar Mark II”激光测距仪,射程11 km,精度4.5 m)。
- 1971年,RCA 的激光高度计随阿波罗15号登陆月球,首次展示太空测高能力。
商用与科研扩展
- 1970–80年代,LiDAR在气象测量和地形制图中铺开,NCAR用于云层和大气监测。
- 2000年,德克萨斯大学团队(NCALM)制作全球首个考古 LiDAR 高程模型,开辟密林下文物探测新领域。
LiDAR 数据获取与处理
不同平台数据获取
- 机载 LiDAR:固定翼飞机或直升机搭载,适合大范围高程与森林监测。
- 地面激光扫描(TLS):静态三维扫描仪,用于桥梁、隧道等精细建模。
- 移动 LiDAR:车载或背包式系统,适合道路、管线与城市街景采集。
- 无人机 LiDAR:UAV 携载,灵活机动,覆盖小区域高分辨率航测。
核心组件
- 激光发射器:产生短脉冲或连续波激光;波长常见 905 nm 与 1550 nm。
- 回波检测器:测量激光返回时间与强度。
- GNSS/IMU:提供实时位置与姿态,用于精确地理配准。
预处理
- 点云配准:利用 GNSS/IMU 数据或基于特征的配准算法,将多航线或多视角数据对齐。
- 去噪滤波:剔除由云雾、飞行抖动等引入的异常点。
- 坐标转换:将激光测距时间转换为 XYZ 三维坐标,并投影到地图参考坐标系。
点云分类与分割
- 地面/非地面分离:根据高度和局部平面特征识别地面点,生成数字高程模型(DEM)。
- 植被/建筑物提取:基于回波强度、多回波信息或机器学习算法,对点云进行语义分类。
衍生产品生成
- 数字高程/表面模型(DEM/DSM):DEM 仅保留裸地高程;DSM 包含地物顶面高度。
- 点云特征提取:构建坡度、曲率、植被高度、林分冠层宽度等衍生变量。
数据处理流程
- 原始点云生成:将脉冲时间转换为距离,合成 3D 点位。
- 去噪与滤波:剔除飞行器振动和云雾噪声。
- 点云配准与拼接:多次航线或视角间对齐。
- 分类与分割:利用高度、回波强度或机器学习将地面、植被、建筑分离。
- 数字高程/表面模型:从已分类点云提取 DEM/DSM/DTM。
常用 LiDAR 数据处理软件
软件名称 | 类型 | 主要功能 | 备注 |
---|---|---|---|
PDAL | 开源库 | 点云读取/写入、滤波、配准、转换、管道化处理 | 命令行 & Python 绑定 turn0search0 |
LAStools | 半开源工具集 | LAS/LAZ 格式转换、噪声移除、分类、DEM 生成 | 高速 C++ 实现 |
CloudCompare | 开源桌面应用 | 可视化、配准、分割、点云与网格距离计算、统计分析 | 跨平台 GUI |
Open3D | 开源库 | 点云/网格操作、可视化、重建算法、深度学习接口 | Python/C++ |
TerraScan | 商业软件 | 点云分类、地面提取、管线建模、体积计算 | 与 MicroStation 集成 |
Terrasolid | 商业插件套件 | 机载/地面 LiDAR 专业处理,支持 Bentley 产品 | 高级建模与分析 |
LP360 | 商业插件 | ArcGIS 平台点云可视化、编辑、分析 | 集成 ESRI |
FME | 商业 ETL 工具 | 点云转换、过滤、空间分析、工作流自动化 | 支持多种数据源 |
Python 示例:用 PDAL 和 Open3D 处理 LiDAR 点云
1. 用 PDAL 读取、滤波并写入
import pdal
import json
# 定义 PDAL 管道:读取 LAS、应用统计滤波、写出 LAZ
pipeline = {
"pipeline": [
"input.las",
{
"type": "filters.outlier",
"method": "statistical",
"mean_k": 8,
"multiplier": 2.5
},
"output.laz"
]
}
# 执行
p = pdal.Pipeline(json.dumps(pipeline))
p.execute()
metadata = p.metadata
print(metadata)
2. 用 Open3D 可视化并地面分割
import open3d as o3d
import numpy as np
# 读取点云
pcd = o3d.io.read_point_cloud("input.las")
# 可视化
o3d.visualization.draw_geometries([pcd], window_name="原始点云")
# 地面分割:基于 RANSAC 平面拟合
plane_model, inliers = pcd.segment_plane(distance_threshold=0.2,
ransac_n=3,
num_iterations=1000)
ground = pcd.select_by_index(inliers)
nonground = pcd.select_by_index(inliers, invert=True)
ground.paint_uniform_color([0, 1, 0]) # 地面:绿色
nonground.paint_uniform_color([1, 0, 0]) # 非地面:红色
# 可视化分割结果
o3d.visualization.draw_geometries([ground, nonground],
window_name="地面/非地面分割")
主要应用领域
- 地形测绘与地质调查:高精度地形模型辅助洪水风险与滑坡监测。
- 林业与生态监测:估算林分高度、密度及碳存储。
- 城市与基础设施规划:三维建模、日照分析与智慧城市资产管理。
- 考古学:揭示植被覆盖下的古代遗迹,如玛雅城市、亚马逊古城。
- 自动驾驶与机器人:实时环境感知与避障。
优缺点分析
优点
- 高精度与高分辨率:厘米级精度,直接测高,无需光学匹配。
- 穿透植被:多回波能力揭示地面、植被层次结构。
- 全天候:不受可见光照限制,夜间或阴天皆可作业。
缺点
- 成本高昂:设备与运营费用大,数据存储与处理要求高。
- 气象依赖:雨、雪、雾等降低回波信号质量。
- 数据体量大:复杂点云处理和长周期存档挑战存储和计算资源。
未来趋势
- 多波长与全波形LiDAR:捕获更丰富的光学信息与散射特性。
- 小型化与低成本传感:助力UAV与地面机器人普及化。
- 云端与AI驱动处理:借助深度学习实现自动化分类、语义分割与快速可视化。
- 多传感器融合:与光学、雷达SAR、摄像头等数据整合,提升智能感知与分析能力。
通过上述介绍与示例,可以迅速了解 LiDAR 数据的获取、处理流程,以及常用的开源和商业软件工具,并用 Python 代码完成点云的读取、滤波、分割和可视化。