【CSF】An Easy-to-Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation基于布料模拟的简便易用的机载激光雷达数据过滤方法
【软件说明】Wuming ZHANG's homepage (bnu.edu.cn)
- 【LiDAR技术应用】用于获取大面积三维点云,区分地面点/非地面点,从而构建高精度的数字地形模型DTM
- 【LiDAR点云滤波需求】自动、易用、普遍适用于各种地貌
- 【传统滤波方法】
- 【基于坡度】假设:地形渐变,树木/建筑物跳变 多地形最佳阈值❓ 复杂地形❌ 大坡度❌
- 【基于数学形态学】容易实现,准确性好 局部算子-窗口大小❓
小窗口-保留建筑物
大窗口-地形细节平滑(山峰、山脊、悬崖) - 【基于表面】原始数据迭代选择地面点,逐步逼近地表 ⭐创建近裸地表面
TIN-自适应不规则三角网
平滑度约束分割
加权线性最小二乘插值
多尺度分层
min能量函数 - 【传统limit】性能会随着区域地形特征的变化而变化;参数难确定
- 【本文CSF优点】模拟布料下落的物理过程,参数少,适用各种地貌,适用于原始数据
- 【简单物理过程】【计算机图形学】将地形颠倒,用刚性定义布,在重力作用下掉落形成DTM
- 【Ref26】布料仿真方法 Weil, J. The synthesis of cloth objects. ACM Siggraph Comput. Graph. 1986, 20, 49–54.
- 【质量-弹簧模型】粒子没有大小,但质量恒定;三种遵守胡克定律的“虚拟弹簧”:剪切、牵引和弯曲
- 【牛顿第二定律】(数值积分求解)F=ma=m·∂X/∂t2=F外+F内=F(重力+碰撞力)+F(粒子相互连接)
- 【算法修改】1-仅垂直运动(碰撞->高度比较)2-粒子到地面后不可移动(可忽略碰撞) 3-先算外力后算内力
- 【外力计算】给定初始位置X0,时间步长Δt,m粒子=1,G=const,可以计算重力作用
- 【内力计算】比较两个粒子间高度差,刚度参数RI=1.2.3. 对应位移占高度差比重sum((1/2)^RI)
- 【CSF主要步骤】布粒子nearest对应雷达pcl点CP的高度值IHV<-->迭代中当前高度值CHV
- 【Ref-29】点云间距离算法:模拟近似值<-->原始雷达点 小于阈值hcc的原始点归类为地面点(没找到原文献,CloudCompare软件?)
- 【后处理陡坡误差】平滑陡坡边缘:在每个可移动粒子的4-邻域中找到一个不可移动粒子,然后比较CP的高度值,若高度差在阈值(h𝑐𝑝)之内,则将可移动粒子移至地面,并设置为不可移动
- 【后处理消除扫描方向影响】建立强连接组件集(SCC) M1-有不可移动的邻居 M2-无 M1设为init seed,广度优先遍历BFS(图7)-从边缘到中心进行
- 【4个用户参数】
- grid resolution 网格分辨率GR,表示两个相邻粒子之间的水平距离;
- time step时间步长dT,控制每次迭代时粒子的重力位移;
- rigidness刚度RI,控制布的刚度;
- (可选)steep slope fit factor陡坡拟合系数 (𝑆𝑇),是否需要对陡坡进行后处理
- 【Ref30】ISPRS第III/3工作组提供的数据集 选取15个不同特征的样本【Ref-15】
- 【参数设置依据地形平坦程度分为3组】固定:dT=0.65 GR=0.5
- RI-刚度(内力计算重复次数) ST-是否后处理
- 1 非常平坦,没有陡坡或阶梯状斜坡 𝑅𝐼=3 ST=false
- 2 存在陡坡(如河岸、沟渠和阶地)𝑅𝐼=2 ST=𝑡𝑟𝑢𝑒
- 3 非常陡峭的斜坡 𝑅𝐼=1 ST=𝑡𝑟𝑢𝑒
- 【控制结果并随场景类型变化的主要参数】𝑅𝐼和𝑆𝑇,降低算法复杂性,提高算法可用性
- 【性能评估】I 型误差 (T.I)、II 型误差 (T.II) 和总误差 (T.E.)、Kappa系数
- 类型 I 误差是指被错误归类为 OBJ 的 BE 点数除以真实的 BE 点数
- 类型 II 误差是指被错误归类为 BE 的 OBJ 点数除以真实的 OBJ 点数
- 总误差是指被错误归类的点数除以总点数
- Kappa系数:衡量总体一致性
- 计算参考【Ref32】
- 【算法评估】CSF最适合城市地区(总误差、Kappa较好);在复杂区域较差(2.3组样本总误差较大);部分场景最差(布料可能到达低层建筑屋顶)
- 【1.2类误差分析】如果地面上存在大量低矮物体,则测量布应更硬一些(RI 应设置得大些),这将保证更少的物体测量结果被误判为地面物体
- 【对比方法】
- 【基于表面】
1 Axelsson,1999 TIN 自适应不规则三角网 const paras={距离/夹角} Terrasolid 的商业软件包【Ref33】
2 Elmqvist,2000 min能量函数(轮廓形状产生的内力和激光雷达点云产生的外力的加权组合) 全局最优,局部不一定× 光滑表面的假设× 复杂区域×
3 Kraus 和 Pfeifer,2001 加权线性最小二乘插值法 坡度大、变化大的地形❌ SCOP++ 的商业软件包【Ref34】
改进:多尺度分层 薄板样条插值面的点残差
4 Mongus,2012
6 Chen,2013
8 Zhang,2013 Zhang 和 Lin改进:平滑度约束分割,处理不连续的曲面
11 Hui,2016 传统的形态学滤波算法+多级插值滤波算法 - 【基于形态学】
5 Li,2013
10 Mongus,2014
7 Pingel,2013 - 9 Hu,2014【Ref32】
- 【基于表面】
- 【大型建筑】RI较硬
- 【后处理=true】保留微小地形
- 【植被+陡坡】RI小,后处理
- 【CSF准确性】所有样本的平均总误差(4.39)和标准偏差(2.76)都相对较低,因此总体性能也显示出较高的准确性和稳定性
- 【dT设置】不同的时间步长(从 0.4 到 1.5,步长为 0.05)最大迭代500 计算时长-总误差平衡
- 【GR设置】不同的步长(从 0.4 到 1.6,步长为 0.1 最高精度在0.5左右
- 【hcc】决定了最终的分类;OBJ 测量值(如建筑物和树木)的高度通常超过 0.5 米;对总误差的影响有限
- 【hcp】在后处理中用于决定是否根据邻近粒子的情况将可移动粒子移至地面;设置为 0.3 米,只在启用后处理时使用,影响也有限
- 【最大高度变化 (M_HV)】CSF 在迭代次数相对较少的情况下就能得到满意的结果(100-150次)
- 【陡坡误差缓解】RI硬+后处理去除较低物体
- 【桥Bridge问题?】在我们的算法中,通过后处理,桥梁通常会被归类为 BE
- 【Outlier】布刚性导致周围误差;清除离群值之前的总误差为 5.14,清除离群值之后误差减小到 1.63
- 【csf两点局限性】
- 由于我们将粒子移动的物理过程修改为两个不连续的步骤,粒子可能会粘附在屋顶上,因此在处理大型低矮建筑时,一些 OBJ 点可能会被错误地归类为 BE。这一过程通常会在屋顶中心产生一些孤立的点,噪声过滤可以帮助缓解这一问题。
- 此外,CSF 算法无法区分与地面相连的物体(如桥梁)。未来,我们将尝试使用激光雷达点的几何信息或结合光学图像(如多光谱图像)来清晰地区分桥梁和道路。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了