对岩体露头的空间结构性特征进行分析,特别是对露头中出现的结构面(不连续面,Discontinuities),能够知晓岩体的切割状态,可作为进一步评估岩体稳定性的依据。点云模型能够提供物体表面空间特征信息,边坡、隧道中往往存在难以近距离接触式测量结构面倾向/倾角、组数等信息的问题,安全性考虑、成本考虑。基于激光扫描、图像三维重建等非接触测量有效地解决了获取岩体(露头)表面模型数据,但是在数据分析处理上依然费劲。最近花了点时间编写了一个对岩体表面点云模型处理分析的程序。




Riquelme使用MATLAB开发了半自动化处理的DSE软件,用于岩体结构面分析,精度很高但是处理速度非常慢,Riquelme提出的算法逐点进行共面检测计算,计算耗时1~2小时(没等下去..)。
同济大学陈建琴在Riquelme的工作基础上,在聚类方面,引入轮廓系数(评估聚类效果的指标)通过自动搜索最佳的聚类数,实现自动化处理。论文中对点云做了三角网格化处理,完成点分组后,使用RANSAC再对点进行平面拟合,没有公开的程序,不知道具体执行效率怎样,文中给出的是38万个网格,19万个点,在i7-2600 cpu,16GB内存下耗时约2.5小时计算完成。


我的方法:点云数据处理最大问题之一就是数据量大,点密度(分辨率)低了对场景细节表征的准确度也降低,密度高了数据量就非常大,例如1立方米范围内获取一个表面,要达到毫米级表征,至少需要10e6~14e6个点。我的思路是基于点云法向量估计结合改进的Kmeans聚类算法实现结构面自动化分组,自动化分组的思路也一样是基于最优的聚类评价指标轮廓系数(当然也可以选择其他指标,例如GVF)对应的聚类数进行自动化分组,聚类距离计算方法做了改进,不对点云做网格化处理。使用C++编写算法,引用了点云处理库PCL,并基于OMP(Open Multi-Processing)进行多线程并行计算加速数据处理,118万个点五组节理面分组处理耗时7~8分钟(笔记本i7+16Gb),对于原始点云进行一定的降采样处理,可减少点云数量且对结果影像不大,程序处理19万点云计算耗时仅14s,数据量差10倍,耗时则差了30倍。


在隧道开挖面中的使用效果:


从表面模型中获取结构面信息后,就能够在其它数值分析软件中进行模拟分析,例如应用3DEC基于离散元方法进行块体稳定性分析。
程序处理只是辅助,无法完全替代工程师的评估。
参考:
[1]Riquelme A J, Abellán A, Tomás R, et al. A new approach for semi-automatic rock mass joints recognition from 3D point clouds[J]. Computers & Geosciences, 2014,68:38-52.
[2]Chen J, Zhu H, Li X. Automatic extraction of discontinuity orientation from rock mass surface 3D point cloud[J]. Computers & Geosciences, 2016,95:18-31.
[3]https://personal.ua.es/en/ariquelme/a-new-approach-for-semi-automatic-rock-mass-joints-recognition-from-lidar-data.html