激光雷达点云数据分割处理体积计算方法研究
2023-05-26化涛李莹
化涛 李莹
(河南丰图测绘服务有限公司,河南 郑州 45000)
1 概述
近年来,由于科学技术的飞速发展,激光探测系统的测量结果日益准确,点云技术在古建筑保护、地质勘查、土地测绘、矿山修复、垃圾填埋场选址等领域得到了广泛应用。由于仪器的精度和重复性等原因,测量过程中会产生噪点,对数据处理造成干扰。因此在点云数据处理过程中,必须对点云进行降噪,本文提出利用分割切片方法对点云模型进行降噪、去重处理后再重建模型、计算体积的流程和方法。
随着电脑技术与硬件设备的飞速发展,用电脑技术与硬件设备把真实的事物转换成一个虚拟的立体实体,利用电脑对实体进行加工,从而得到点云对象[1],就像是实体建模的反向工程技术一样。市场上有很多点云采集装置,但点云模型较小,都是用三维激光扫描仪来采集点云。利用三维激光扫描仪获得的点云数据品质高,且仪器设备操作简单、数据获取便捷[2]。该方法能够迅速获取点云模型的外形数据,并对其进行编辑,获得以点云数据为基础的实体建模[3]。
体积是空间目标的一个重要参数,不管是规则的,还是形状复杂的对象,体积计算都是一个大问题。体积参数是反映对象的最基本参量。对于有规则形状的对象,可以用方程式来计算体积[4]。但对非规则对象,体积计算没有对应公式,因而十分繁琐,激光扫描技术的发展为复杂空间体体积的求解提供了新途径[5]。点云体积通常采用点云模型计算,本文提出了一种基于切片方法的点云模型体积计算方式,运算过程简便,可求解任意复杂、不规则的点云体积[6]。
2 点云数据处理及体积计算
点云是目标表面特性的海量点集合,表现了对象的空间特性和曲面信息。激光雷达获取的点云数据是包含三维坐标(x、y、z)信息和激光反射强度(Intensity)的数据合集,具有一定的混乱性,需要进行数据预处理。而未经处理的点云中含有较多的噪点信息,要想继续利用就需要进行点云降噪。经摄影测量方式获取的点云数据还有颜色数据(RGB)等其他信息。
2.1 算法流程设计
实验获取的点云存在噪声、杂点等冗余信息。为获取相关点云体积信息,需要对点云数据进行处理,主要有预处理、平面分割、三维重建等步骤。
点云预处理主要是对采集的数据进行简化 ,包括直通滤波(通过轴向分割快速剔除无效点云)、下采样滤波(进行点云简化计算);去噪,即采用统计滤波(保留数据本身特征的同时,剔除噪点),减少点云数量,提高点云处理效率。
点云平面分割则主要剔除平面信息,一般采取RANSAC 分割,然后对点云进行三角化重建,通过网格信息进行体积计算。
依据上述原理,结合实验数据,设计点云体积计算算法流程与相关伪代码,如表1 所示。
表1 算法设计流程伪代码
2.2 实验软件环境介绍
实验使用的雷达型号为杉川Lidar Delta2A 消费级激光扫描测距雷达(如图1 所示),该雷达的工作参数如表2 所示。
图1 Lidar Delta2A激光扫描雷达
表2 雷达工作参数
实验在视野范围内采集如图2 所示的堆体,获取堆体的点云数据。
图2 被测目标堆体
2.3 点云处理软件设计
使用QT 结合PCL 开发点云处理软件界面。软件模块主要包括:文件模块(读取和保存点云数据)、滤波模块、分割模块、重建模块、显示模块,具体功能如图3 所示。
图3 软件模块功能
2.4 实验过程
实验使用的雷达不具备数据存储功能,需要通过电缆将雷达连接至电脑,通过串口助手软件保存扫描出的点云数据。硬件平台设计了直线模组,可以装载雷达进行往复直线运动,同时设计了多个节点可以控制雷达的停止与运动,在此过程中,通过移动固定距离,每次到达节点采集点云数据,通过几何关系处理拼接,最终得到所需点云。雷达连接到电脑的方式如图4 所示。
图4 点云数据传输
2.4.1 直通滤波处理
获取点云后,首先对点云数据进行直通滤波处理,原理是设点集P{p1,p2,p3…pn},直通滤波通过在某一维度设置相应阈值f1,f2,通过遍历点集P中所有点,并在点的对应维度与f1,f2 比较,当所在点集对应维度在f1,f2 之间,则保留相关点集,否则剔除。直通滤波器简单高效,适合快速消除背景及其他不相干的杂点。按顺序对初始点云数据(x,y,z)轴进行赋值。原始点云数据如图5 所示。
图5 原始点云数据
直通滤波处理过程中,需要对点云数据x、y、z轴分别进行剪裁处理,选取参数依据是最大保留目标堆体点云。图6、图7、图8 是直通滤波剪裁后的图像,为了更加直观地看到被测物体的点云图像,实验将点云图像进行了渲染处理。
图6 x轴剪裁后图像
图7 y轴剪裁后图像
图8 z轴剪裁后图像
2.4.2 均匀采样处理
激光扫描仪获取的初始点云数据密集度较高,数量相对较多,影响后期处理速度。对原始点云数据进行取样可有效减少点云密度,并保留点云原始形态特征,提高后期处理如去噪、投影、合并、网格重建等操作的运算速度。原理为:设点集P{p1,p2,p3…pn},均匀下采样,将空间划分为栅格,每个栅格中点集设为p1、p2、p3…pn,计算每个栅格中所有点集最靠近栅格中心的点作为新的点q1、q2、q3…qn,最终形成新的点集Q{q1、q2、q3…qn}。通过均匀采样处理后的点云保留了原始点云形态特征,如图9 所示。
图9 均匀采样处理
2.4.3 去噪处理
利用三维激光扫描仪和其他扫描仪采集的点云数据中包含大量杂乱无章的点云,无法直接用于点云体积的统计分析。利用递归算法统计连续点的个数,通过阈值判定是否为离散点。经计算标定为离散点数据,软件自动进行噪点删除操作。从图10 可以看出,经过去噪处理之后的点云模型数量有明显下降,噪点消失。
图10 去噪处理
2.4.4 点云分割
利用激光雷达进行点云扫描,一般包含背景、地面或其他无意义的物体等非靶点信息。点云分割能够根据空间、几何等特点将点云分成具有类似几何特性的区域,再对其进行拼接,从而实现对非目标源的剔除。局域点的存在会极大地影响曲面的重建及计算对象的精度。点云分割是指根据点云数据中对象的空间几何特性,对点云数据进行分割、提取和重组,使非关联数据的影响降到最低。本文主要是识别地面部分,使用RANSAC 算法将扫描到的地面信息进行分割处理,只保留被测物体的点云数据信息,点云分割如图11 所示。
图11 点云分割
2.4.5 点云投影及合并
将点云投影到拟合的平面方程上(如图12 所示),然后合并(如图13 所示)。经合并后的点云模型,在点云体积数据上已经达到一个比较精准的状态,并且在体型和细节上也达到了最大程度还原物体的效果。
图12 点云投影
图13 点云合并
2.4.6 网格重建
采用贪心三角算法对点云数据进行三维重建,重建效果如图14 所示。由图可知,重建合并后的点云物体是有孔洞的,此时的点云模型直接进行体积计算,会影响计算结果的精确度,因而,为避免由孔洞造成的误差,需对孔洞进行修复。
图14 重建
2.4.7 孔洞修复
针对上一步重建的模型数据,采取网格孔洞修复算法,对三角重建后的网格进行孔洞修复,修补结果如图15 所示。由图可以看出,孔洞数据被很好地修复,此时点云物体已被最大限度恢复,再进行体积计算时,可以将误差降到最小。
图15 物体点云
2.4.8 体积测量
得出完整的点云模型后,采用积分法进行体积分割计算,计算后的物体体积如图16 所示。
图16 物体体积计算
经计算,对象体积为513957 立方毫米,把单位设置为毫米,可以让体积计算结果更精准。
2.5 实验分析
为论证本方法计算结果的准确性,摆设三种堆体结构,分别采用实验程序、cloudcompare、Magic3d计算验证,计算结果如图17、图18 和图19 所示,体积计算对比如表3 所示。
图17 点云计算结果
图18 Cloudcomapre计算结果
图19 Magic3d计算结果
表3 体积计算对比
经对比,本文设计程序计算结果和成熟的点云体积计算软件的结果基本相同,本文体积计算结果验证正确。
3 结论
本研究设计了复杂对象体积测量的模拟环境,搭建了硬件平台获取点云数据,并根据研究需求开发了应用软件,实现不规则对象点云数据的切片处理,以及目标物的体积计算。通过研究得出以下结论:
针对矿山治理、垃圾填埋场选址、高标准农田建设等项目场景中的复杂不规则对象,均可采用此方法计算体积。
根据不同项目类型对需获取点云数据的目标场景进行硬件选择,适时采用固定机位、无人机挂载、手持、背包等形式,便捷获取点云数据。
针对不同项目不规则物体点云数据计算,可定制开发软件系统,采用成熟算法完成对点云数据的滤波、下采样、分割、重建、孔洞修复等处理过程。
本研究虽论证了积分法分割计算体积的流程,及利用计算机多线程并行处理点云数据的可行性及准确性,但由于去噪处理中递归算法阈值的唯一性,实际工作中可结合效率和精度要求,选择合适参数,避免计算量过大或精度过高引起计算机运算过程冗长问题。后期研究将着重优化算法,提高计算精度,减少计算时长。