连忠文,任助理,郝英豪,杨帆,白刚,方程,袁瑞甫
(1.河南理工大学 能源科学与工程学院,河南 焦作 454003;2.中天合创能源有限责任公司煤炭分公司 葫芦素煤矿,内蒙古 鄂尔多斯 017000;3.河南理工大学 河南省矿产资源绿色高效开采与综合利用重点实验室,河南 焦作 454003;4.煤炭安全生产与清洁高效利用省部共建协同创新中心,河南 焦作 454003)
三维激光扫描技术结合了光电传感器和激光探测,通过高速扫描捕获丰富的三维点云数据,为矿山地质勘查、安全监控等提供了重要的数据支持[1-2]。在地下矿山环境下,三维激光扫描技术被应用于岩石分类、岩体结构面建图识别、岩体特征量化分析、变形监测、巷道成形测量、巷道支护评估、采场贫化分析及爆破造成的地下空间分析等方面[3-5]。不过,该技术应用于地下矿山巷道时也面临着若干挑战,包括安全问题(特别是煤矿)、不均匀地形、低光照条件和大量粉尘等。此外,在巷道建设过程中存在的风/水管道、行人和车辆等因素常使得收集的三维点云数据受到多种干扰,这不仅增加了数据处理的难度和计算负荷,还降低了数据的品质和可信度,从而限制了该技术的广泛应用。因此,有必要去除复杂地下巷道场景三维点云数据的噪声。
点云去噪方法可分为基于优化概念的传统滤波算法和基于深度学习的去噪算法两大类。传统滤波算法通常利用局部拟合函数或目标优化函数来消除点云中的噪声和异常值[6],常见方法包括均值滤波、中值滤波、统计滤波(Statistical Outlier Removal,SOR)及低通滤波器等[7-12]。传统滤波方法在处理复杂点云及在高精度要求的场景中应用存在限制。基于深度学习的端到端神经网络架构点云去噪算法中,PointProNets、PointCleanNet 和Pointfilter[13-15]使用带有噪声的点云和真实点云对进行训练,而Total Denoising[16]不依赖真实点云数据进行训练,适用于真实点云难以获得的情况。虽然深度学习方法在精度和通用性方面相较于传统方法有优势,但算法复杂度及其对数据的依赖性更大。
针对地下巷道这种特殊场景的点云去噪,传统滤波技术包括双边滤波[17-18]、平均曲率流滤波[19-20]及均值漂移算法[21-23]等,这些方法在狭窄且封闭的隧道空间中去噪效果有限,并且可能降低原始数据的精度。此外,手动的交互式去噪方法也难以深入点云内部有效去除噪声。Xu Xiangyang 等[24]利用隧道的对称和圆形特点,采用圆函数逼近截面点云,可有效移除干扰点,同时保留隧道的关键细节,但不适用于矩形或拱形隧道。余鹏磊等[25]基于随机采样一致性算法在隧道壁上选择种子节点,然后应用区域生长方法从点云数据中提取隧道内表面点,以实现噪声剔除。Zhu Ningning 等[26]设计了一种专门针对隧道点云的去噪方法,使用椭圆柱模型拟合来过滤非隧道点。陈建华等[27]提出基于二次特征提取的煤矿巷道表面点云数据精简方法,解决了三维激光扫描技术提取煤矿巷道表面点云时数据量大且存在较多冗余数据的问题。上述研究未完全满足巷道点云的特殊去噪需求,尤其是在狭长、密闭且复杂的地下巷道环境中,未能充分应对管壁附属物、粉尘和人为噪声等因素造成的挑战。
针对地下巷道特有的非结构特点和复杂环境,通过分析井下非结构场景和传感器误差,考虑行人、移动设备和管网带来的噪声,本文提出一种基于区域生长的非结构巷道点云去噪方法。该方法利用k 维树(k-dimensional tree,kd-tree)构建点云的拓扑关系,选取适当的种子节点和生长准则,设定合适的曲率和角度阈值,能够更精确地分割巷道点云并去除噪声。以某地下矿山的主运大巷和回风巷道为案例,分析不同角度和曲率阈值下的分割效果和点云数量变化。
在矿山工程中,非结构巷道是在形态、尺寸或布局上不规则,没有固定或统一结构特征的巷道。这种巷道可能由矿山的开采活动、地质条件或施工技术的限制而形成,其内部结构复杂多变,不同于具有规则形状和统一设计的标准巷道。利用三维激光扫描技术测绘非结构巷道,可以迅速获取地下复杂场景的表面三维坐标。获取的点云数据不仅精度高、密度大,还包含坐标和反射强度信息。然而,由于非结构巷道的不规则性,点云数据可能包含较多噪声和异常点,由巷道形状不规则产生的遮挡、由设备和行人移动引入的动态改变、由照明条件不均导致的反射强度差异等均会导致噪声。这些特点使得非结构巷道的点云去噪处理更为复杂,需要特定的分析和处理方法来确保数据质量和使用价值。
在煤矿井下环境中,确定三维激光扫描系统的位姿需依赖于惯性测量单元和里程计。由于惯性测量单元中陀螺仪的漂移问题,长期累计可能导致显著误差。此外,地下巷道内的粉尘、湿度等复杂条件也会对点云数据产生干扰。
巷道点云数据中的噪声主要分为2 类:一类是由井下复杂环境和传感器误差导致的异常点;另一类是行人和移动设备产生的离群噪声点。这些噪声点通常分布稀疏,且相对于巷道两侧位置较远,如图1 所示。
图1 巷道点云组成Fig.1 Roadway point cloud composition
基于区域生长的非结构巷道点云去噪方法流程如图2 所示。
图2 巷道点云去噪流程Fig.2 Denoising process of roadway point cloud
1)数据获取与初步分析。利用三维激光扫描技术收集井下巷道场景的三维点云数据,重点分析这些数据中的异常点,包括由井下非结构场景和传感器误差引起的异常点及由行人、移动设备和风/水管网产生的噪声。
2)基于区域生长原理进行巷道点云区域分割。使用kd-tree 建立点云数据拓扑结构,选取合适的种子节点和生长准则,并设定曲率阈值和角度阈值,通过区域生长算法实现巷道点云的有效分割,去除未加入分割区域的离群点云。区域生长算法在开源软件Cloud Compare 基础上进行二次开发实现。
3)基于巷道点云区域分割结果进一步去噪优化。通过区域分割,巷道被分割成不同的聚簇,根据噪声特点,可以快速方便地将不需要的聚簇直接删除,从而实现去噪优化。
使用移动三维激光扫描获取的巷道三维点云数据量大且分布不均匀,且散乱的点云数据缺乏几何拓扑信息。为了有效处理这些数据,在进行点云区域分割前,需建立点云之间的拓扑关系,以加快邻域点搜索,提升分割效率。kd-tree 是一种适用于多维空间的二叉树索引结构,特别适于构建三维点云数据间的拓扑信息,因此在处理三维散乱点云数据时被广泛应用。以三维空间中7 个数据点的递归划分过程为例,kd-tree 原理如图3 所示。
图3 kd-tree 原理Fig.3 Principle of kd-tree
1)首先确定多维空间中的中位数节点,记作节点A,并将其作为树的根节点。以节点A 为参考,根据特定维度的数值将点云数据分为2 个部分:维度低于节点A 的划入左子树,高于节点A 的划入右子树。因此,所有维度低于节点A 的点构成左子树,所有维度高于节点A 的点构成右子树。
2)分别对左右子树计算中位数节点,记为节点B 和节点C。根据这2 个节点的数值,将每个子树再次划分为更小的子空间。
3)持续进行这一过程,对所有子树在各个维度上计算中位数节点,按照这些中位数沿相应维度划分,直到每个子树仅包含单一节点为止。
在传统的区域生长法中,种子节点选取不当或特征提取不准确常导致分割错误。在三维散乱点云区域分割中,常用于获取种子节点的RANSAC 算法易引发重叠分割。针对该问题,本文选择点云区域中曲率最小的点作为种子节点,并从种子节点开始生长。由于种子节点位于最平坦的区域,从种子节点开始生长可以有效减少分割的区段总数,进而避免重叠分割。对待分割的点云中各点进行曲率估计并排序,以此为基础实施分割。
将种子节点加入序列Q,设定空间阈值范围,搜索邻域点;计算拟合曲面的法向量与种子面的法向量夹角是否小于角度阈值,若是则将其加入目标区域R;计算节点的曲率,若小于设定的曲率阈值,则将该点加入种子节点序列。区域生长算法流程如图4所示。
图4 区域生长算法流程Fig.4 Regional growth algorithm flow
在点云区域生长算法中,曲率阈值和角度阈值是2 个关键参数。曲率阈值直接影响点云区域分割的精确度和有效性,其主要作用是区分点云中的不同特征区域。角度阈值用于确定点云中点与点之间的角度差异,正确设置的角度阈值有助于辨别点云中的边缘或断层,进而提高分割的准确性。
合理设定阈值对于优化点云区域分割效果至关重要。阈值过高可能导致欠分割,即多个不同特征区域被错误归为同一区域;阈值过低则可能引起过度分割,即将单一特征区域错误地分割成多个区域。因此,寻找适当的阈值平衡点,并根据特定的点云数据和应用需求进行细致调整,是提高分割效果的关键。
不同曲率阈值下巷道点云区域分割效果如图5所示,可看出将曲率阈值设定为1.00 能有效避免过度分割,从而得到更合理的分割结果。
图5 不同曲率阈值下巷道点云区域分割效果Fig.5 Effect of roadway point cloud region segmentation under different curvature thresholds
采用GoSLAM RS100S 三维激光扫描系统获取点云数据,如图6 所示。该系统由多线激光雷达和惯性测量单元构成,通过旋转LiDAR 来扩展其视野,并利用同步定位与地图构建算法整合激光雷达与惯性测量单元数据,从而生成精确的三维点云,无需依赖全球导航卫星系统接收器。操作者可以通过移动端APP 实时查看点云数据并进行多种交互,操作便捷。
图6 三维激光扫描系统Fig.6 Three-dimensional laser scanning system
对内蒙古自治区鄂尔多斯市某矿的巷道进行三维扫描,并对三维点云中的噪声进行去除分析。三维激光扫描图如图7 所示。扫描的主要地点是矿井中受采动影响较大的区域,系统布置在2-1 煤四盘区主运大巷21406 工作面段和21407 工作面回风巷。其中,21406 工作面段的断面为矩形,采用锚网喷+锚索支护方式,喷浆厚度为100 mm。该巷道净宽为4.80 m,净高为2.95 m,净断面积为14.4 m2。21407 工作面回风巷的断面同样为矩形,采用锚网喷支护方式。该巷道净宽为5.40 m,净高为3.75 m,净断面积为20.25 m2。
图7 井下巷道场景三维激光扫描图Fig.7 3D laser scanning image of underground roadway scene
矿工携带三维激光扫描设备,分别在主运大巷21406 工作面段90 m 范围和21407 工作面回风巷130 m 范围进行扫描试验,获得对应的三维点云数据(图8 和图9),在此数据基础上进行巷道点云去噪分析。为便于展示去噪效果,在主运大巷21406 工作面段点云中截取包含行人和设备噪声的2 段作为样本1、样本2;在21407 工作面回风巷点云中截取包含行人、车辆和设备等噪声的2 段作为样本3、样本4。含噪点云样本如图10 所示,红色虚线圈出部分为噪声。
图8 主运大巷21406 工作面段三维点云Fig.8 3D point cloud in 21406 working face section of the main haulage tunnel
图9 21407 工作面回风巷三维点云Fig.9 3D point cloud in return airway of 21407 working face
图10 含噪点云样本Fig.10 Point cloud sample with noise
1)区域分割。采用区域生长算法对含噪点云样本进行分割。针对样本1 和样本2,设置kd-tree 的邻域包含50 个点,曲率阈值为5.0,角度阈值为4°。针对样本3 和样本4,设置曲率阈值为3.0,角度阈值为10°。巷道点云区域分割结果如图11 所示。可看出:通过巷道点云区域分割可以去除含噪点云样本中的车辆噪声、行人噪声和异常点,有效消除大部分离群点云,尤其对于行人噪声和车辆噪声,去除效果明显;样本2 中大部分噪声已经去除,但部分风管、水管和线缆的去除效果一般,但通过区域分割算法可以很好地将通风管网、水管和线缆划分开,为后续研究提供了基础。
图11 巷道点云区域分割结果Fig.11 Results of roadway point cloud region segmentation
2)去噪优化。基于已分割完成的巷道点云,进一步去除部分设备、通风管网、水管和线缆等噪声,去噪优化结果如图12 所示。可看出:通过对分割后的巷道点云进行分析,可以部分去除设备、通风管网、水管和线缆等噪声;对于样本1,由于场景相对较简单,通过巷道点云区域分割已经有效去除了噪声,其他3 个巷道场景只需根据分割的聚簇信息,即可快速去除噪声点云。
图12 巷道点云去噪优化结果Fig.12 Optimization results of roadway point cloud denoising
由于样本3 中涉及行人、带式输送机、通风管网、水管和线缆等噪声,包含的噪声较全面,所以选择该样本进行对比分析。角度阈值和曲率阈值的设定直接影响区域生长算法对点云的分割效果。将角度阈值S分别设置为5,10,15°,曲率阈值K分别设置为0.1,1.0,3.0,5.0,得到巷道点云区域分割结果,如图13 所示。
图13 不同阈值下巷道点云区域分割效果Fig.13 Effect of roadway point cloud region segmentation under different thresholds
当角度阈值超过10°时,增大曲率阈值有助于更好地保留巷道的细节,尤其是其主要结构;当角度阈值为5°时,增大曲率阈值对改善分割效果的帮助有限,此时巷道的主要结构往往无法完整保留,导致大量点云被过滤。上述结果表明:角度阈值较高时,使用较大的曲率阈值可以更好地保持巷道的完整性;而在低角度阈值下,调整曲率阈值的影响较小。
当曲率阈值超过1.0 时,增大角度阈值可使点云区域分割更倾向于保留巷道特征,并减少聚簇的数量;而当曲率阈值为0.1 时,即使增大角度阈值也难以有效保留巷道的主要结构。
因此,巷道中存在行人、带式输送机、通风管网、水管和线缆等时,建议将区域生长算法的角度阈值设定为10°左右,曲率阈值设定为3.0 左右。
点云去噪是数据预处理的关键步骤,其目的是通过去除噪声点,提高数据的质量和可用性。该过程显著影响数据集的规模,并对数据的完整性、精度及后续处理流程(包括特征提取、分类和三维重建等)产生深远影响。分析不同场景下的原始点云数量、分割点云数量、去噪后点云数量,结果见表1。由表1 可知,所有场景中,与原始点云数量相比,分割点云数量减少,但减少的幅度不大。这是因为分割步骤主要移除了与目标场景无关的数据。在点云数据的初步处理中,数据精简主要通过排除非目标相关的点云实现。在去噪过程中,各个场景展现出不同的数据减少趋势:样本1 和样本2 点云数量在去噪前后相差不大,可能是分割步骤已有效移除了大部分噪声,或是去噪算法在该场景中的敏感度不高;样本3 和样本4 点云数量在去噪后显著减少,去噪步骤对提升数据质量起决定性作用。
表1 去噪过程点云数量变化Table 1 The number of point clouds changes during the denoising process
减少点云数据量可能会影响数据的完整性和后续处理步骤,如三维重建或特征提取。大幅度的数据减少可能意味着重要信息的丢失,需要通过后续分析来进一步验证。然而,高效的去噪处理可以提高数据质量,减少错误或误导性信息,从而增强后续处理步骤的准确性和可靠性。因此,在实际应用中,应平衡数据量的减少与去噪效果,以确保数据处理的有效性,同时提高数据质量。
采用本文方法、统计离群点去除(Statistical Outlier Removal,SOR)滤波器、低通滤波器对4 种场景的点云数据进行去噪,比较去噪效果,结果见表2。SOR 滤波器去噪效果较保守,主要针对极端离群点,总体点云数量减少幅度较小,如样本1 去噪后点云减少了4.13%,样本4 去噪后点云减少了7.04%。相对而言,低通滤波器在所有测试场景中点云减少幅度更大,如样本2 去噪后点云减少了39.98%,样本3 则减少了37.45%。本文方法能够显著减少点云数量,减少幅度介于SOR 滤波器和低通滤波器之间,如样本4 去噪后点云数量减少了29.40%。
表2 不同方法去噪后点云数量对比Table 2 Comparison of the number of point clouds after denoising by different methods
以样本3 为例,对比3 种方法对行人、带式输送机、通风管网、水管和线缆等噪声的去噪效果,如图14 所示。可看出SOR 滤波器和低通滤波器未能有效去除行人、带式输送机、通风管网、水管和线缆等噪声,特别是在低通滤波器方法中,行人噪声点数甚至超过SOR 滤波器方法。相比之下,本文方法能有效移除这些噪声,更符合要求。
图14 不同方法的巷道点云去噪效果Fig.14 Denoising effect of different methods for roadway point cloud
1)提出了一种基于区域生长算法的非结构巷道点云去噪方法,通过有效区分噪声与有用数据,显著提高了点云数据的准确性和可用性,为矿山巷道的三维建模和分析提供了更高质量的数据基础。
2)通过对不同角度阈值和曲率阈值下的分割效果、点云数量变化进行分析,并与SOR 滤波器和低通滤波器进行对比,从定性和定量的角度验证了基于区域生长的去噪方法在井下复杂环境中应用的有效性和优越性。
3)在含行人、设备等复杂特征的巷道环境中,建议将区域生长算法的角度阈值设定为10°左右,曲率阈值设定为3 左右。此外,为了确保数据处理的有效性与数据质量的提升,实际应用中需要在减少数据量和提高去噪效果之间找到合适的平衡点。