Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
  • 全国中文核心期刊
  • 中国科技核心期刊
  • 美国工程索引(EI)收录期刊
  • Scopus数据库收录期刊

基于计算机视觉的岩石裂隙识别表征与软件研制

李元海, 徐晓华, 朱鸿鹄, 杨硕, 唐晓杰, 赵万勇

李元海, 徐晓华, 朱鸿鹄, 杨硕, 唐晓杰, 赵万勇. 基于计算机视觉的岩石裂隙识别表征与软件研制[J]. 岩土工程学报, 2024, 46(3): 459-469. DOI: 10.11779/CJGE20221239
引用本文: 李元海, 徐晓华, 朱鸿鹄, 杨硕, 唐晓杰, 赵万勇. 基于计算机视觉的岩石裂隙识别表征与软件研制[J]. 岩土工程学报, 2024, 46(3): 459-469. DOI: 10.11779/CJGE20221239
LI Yuanhai, XU Xiaohua, ZHU Honghu, YANG Shuo, TANG Xiaojie, ZHAO Wanyong. Identification and characterization of rock fractures based on computer vision and software development[J]. Chinese Journal of Geotechnical Engineering, 2024, 46(3): 459-469. DOI: 10.11779/CJGE20221239
Citation: LI Yuanhai, XU Xiaohua, ZHU Honghu, YANG Shuo, TANG Xiaojie, ZHAO Wanyong. Identification and characterization of rock fractures based on computer vision and software development[J]. Chinese Journal of Geotechnical Engineering, 2024, 46(3): 459-469. DOI: 10.11779/CJGE20221239

基于计算机视觉的岩石裂隙识别表征与软件研制  English Version

基金项目: 

国家自然科学基金项目 52274141

国家重点研发项目 2022YFC3003304

徐州市重点研发项目 KC21310

详细信息
    作者简介:

    李元海(1969—),男,博士,教授,博士生导师,主要从事岩土工程计算机视觉量测和隧道工程围岩稳定性方面的研究。E-mail: Lyh@cumt.edu.cn

    通讯作者:

    徐晓华, E-mail: 1750904260@qq.com

  • 中图分类号: TU45

Identification and characterization of rock fractures based on computer vision and software development

  • 摘要: 岩石裂隙特征是评判岩体结构及其完整性的核心指标,也是评估岩石工程安全稳定性的重要因素。针对岩石裂隙识别,采用深度学习方法,通过引入混合注意力机制对Unet模型进行了改进,有效提高了岩石裂隙识别的精度。针对交叉岩石裂隙的分离与特征提取,提出了一种基于迹线方向判定的裂隙分离与表征算法,依据裂隙分离的结果形式,采用重合追踪法或断裂追踪法分离交叉裂隙骨架,继而使用微分累加法、方框法、线性回归法求得裂隙的长度、宽度及倾角等几何特征指标。基于提出的算法,研制了一套具有图形用户界面的岩石裂隙图像智能识别与表征软件系统,实现了从深度学习模型参数选择、模型训练、裂隙识别、量化分析到结果可视化的完整功能。最后对岩石裂隙识别与分离表征算法的性能进行了评判,结果表明,改进Unet模型对复杂分布的裂隙识别效果最好,其总体识别性能要优于其他网络;骨架分离算法对常见类型交叉裂隙能够取得预期结果,表征算法对分离裂隙与交叉裂隙的表征精度高,对实际岩石裂隙图像的应用效果较好。研究成果可为基于计算机视觉的岩石工程试验与岩体结构检测技术研发提供参考依据。
    Abstract: The characteristics of rock fractures are the core indices for evaluating the structure and integrity of rock masses, and are also the important factors for evaluating the safety and stability of rock engineering. For the rock fracture recognition based on deep learning, the Unet model is improved by introducing the convolutional block attention module, effectively improving the accuracy of rock fracture recognition. For separation and feature extraction of intersection fractures, a fracture separation and characterization algorithm based on the trace direction judgment is proposed. According to the characteristics of fracture separation, the overlapping tracing method or fracture tracing method is used to separate the intersection fracture skeleton. Then, the differential accumulation method, box method and linear regression method are employed to calculate the geometric characteristic indices such as the length, width and dip angle of the fractures. Based on the proposed algorithm, a set of software system for the intelligent identification and characterization of rock fracture images with a graphical user interface is developed, achieving complete functions from deep learning model parameter selection, model training, fracture recognition, quantitative analysis to result visualization. Finally, the performance of rock fracture recognition and separation characterization algorithms is evaluated. The results show that the improved Unet model has the best recognition performance for complex distribution fractures, and its overall recognition performance is superior to that of other networks. The skeleton separation algorithm achieves the expected results for the separation of common types of intersection fractures, and the characterization algorithm has high accuracy in characterizing the separation and intersection fractures. It has good application effects on actual rock fracture images. The research can provide reference for rock engineering tests and detection of rock mass structure by using the computer vision.
  • 岩石裂隙是岩体中普遍存在的一种结构形式。在荷载作用下,岩石裂隙的萌生、扩展与贯通常会导致工程岩体开裂与结构失稳,引发山体滑坡、隧道塌方、矿井突涌水等重大事故,对人员生命和财产安全造成严重威胁。因此,基于计算机视觉量测[1-4]研发岩石裂隙的精确识别与结构表征技术对于岩体工程稳定性评估及其控制具有重要意义。

    目前,岩石裂隙识别方法主要有两类:基于图像处理算法的人工识别与基于深度学习[5]的智能识别。主流图像处理算法有阈值分割法、边缘检测法和区域生长法等,这些算法能完整识别裂隙,但需要对图像预处理,效率较低且不适用于噪声污染严重的图像。随着全卷积神经网络[6]的提出,基于深度学习的目标精确分割成为了热点,并涌现出一系列高精度模型,如Unet、DeepLab模型等,使图像分割的精细度不断提升。鉴于深度学习的高泛化能力,黄宏伟等[7]、Zhu等[8]、薛东杰等[9]、刘金杉等[10]将这一工具应用到岩土工程视觉检测领域,探索了提高识别精度的有效方法。在裂隙分割方面,Song等[11]采用MobileNet-v1编码器搭建了一种基于DeepLab v3+模型框架的隧道裂缝识别与分析系统,并与搭载其他编码器的DeepLab v3+模型进行了对比,结果发现该模型的识别效果与效率都明显优于其他模型;Xiang等[12]提出了一种端到端深度卷积神经网络的路面裂缝检测方法,采用金字塔模块对裂缝进行全局上下文信息挖掘,引入了空间-通道组合注意力模块来细化裂缝特征。这些方法能够较为精确的分割裂隙区域,但对复杂分布状态下岩石裂隙识别的精度和裂隙参数表征问题尚未深入研究。

    裂隙结构表征指的是对裂隙几何形态、参数特征进行定量描述,传统的裂隙量测方法主要借助刻度尺、罗盘等工具进行人工测量,费时费力且不安全。随着计算机视觉目标检测技术的成熟和广泛应用,出现了许多基于裂隙图像的结构表征方法,如刘春等[13]基于裂隙网络节点以及各裂隙的主干提取了岩土体裂隙的形态参数,并提出一种评价复杂裂隙网络连通性的方法。王军祥等[14]提出了一种基于直方图小波分析的自动阈值分割算法,在此基础上利用动量滤波器提取计算骨架切线向量,结合DDA画线算法提取计算宽度信息以及利用三角函数转化计算倾角。上述这些方法大多研究的是相对简单的独立裂隙特征提取,对于复杂交叉裂隙的识别表征问题研究较少。

    为此,本文基于计算机视觉和TensorFlow深度学习框架,设计了适用于岩石裂隙识别的改进Unet模型,提出一种基于迹线方向判定的交叉裂隙分离与表征方法;从裂隙图像识别、分离表征结果等方面进行精度验证,在此基础上研制了一套岩石裂隙图像智能分割与参数表征的软件系统,实现了复杂岩体裂隙的准确识别与自动分析。

    语义分割是计算机视觉中的基本任务,其基本原理是将图像中目标物体的所有像素填充以固定颜色,从而实现目标的精确分割。本文采用的是当前应用最广的深度学习模型,通过对数据集进行迭代训练更新权重,使其具备识别裂隙的语义分割能力。

    为保证裂隙数据集能够满足深度学习模型的训练需求,本文利用CCD工业相机和佳能80D相机采集裂隙样本图像,图像大小分别为4000 pixels×3000 pixels和6000 pixels×4000 pixels,为降低模型训练所需的计算机显存以及加快训练的收敛速度,将采集到的照片裁剪成224 pixels×224 pixels的大小,只保留含有裂隙部分的图像,建立包含402张图像的裂隙基础样本库。随后使用Labelme软件对样本库图像进行标注,制作裂隙标签图,其中背景区域标注为黑色,裂隙区域标注为红色,最终构建了含402组裂隙图像与标签图的数据集。图 1为数据集内的部分原图与对应的标签图。

    图  1  数据集内部分原图与对应的标签图
    Figure  1.  Partial original and label images in dataset

    为扩充数据集的数量,将基础数据集内的图组以相同方式进行数据增强(旋转、裁剪、缩放等),得到4020组图像,进而按照“训练集∶验证集∶测试集= 6∶2∶2”的比例将数据集进行划分,最终建立了包含2412组图像的训练集、含804张图像的验证集以及含804张图像的测试集。其中训练集用于训练模型,验证集用于优化超参数,测试集用于评估模型的泛化能力。

    Unet是在FCN网络构架基础上搭建的一种神经网络,由编码器与解码器两部分组成,编码器主要采用下采样进行降维,提取深层特征;解码器主要采用上采样将提取的深层特征升维,进行图像表征。并且每次上采样后,会与对应的下采样结果进行特征融合,从而使每层的特征图都能有效的参加到后续的计算中,使最终预测结果的精确度更高。

    但传统Unet分割模型由于忽略了关键边缘信息的局部特征,对裂隙图像进行分割时会出现边界分割不够精确、细小裂隙难以识别的问题。为此,本文引入了混合注意力模块(convolutional block attention module,CBAM)对Unet网络进行了改进,其网络结构如图 2所示,分别在编码器的下采样前以及解码器的特征融合后连接CBAM来提高裂隙的特征的提取能力与图像表征水平。

    图  2  MRC-Unet模型结构示意图
    Figure  2.  Structural diagram of MRC-Unet model

    CBAM由通道注意力模块(channel attention module, CAM)和空间注意力模块(spatial attention module, SAM)组成。图 3为CBAM结构示意图。

    图  3  CBAM结构示意图
    Figure  3.  Schematic diagram of CBAM structure

    CAM反映的是目标特征通道维度的重要程度,使模型更加关注裂隙特征强的通道。首先将大小为H×W×C的输入特征图F分别通过最大池化和平均池化后得到大小为1×1×C的两类特征图,以减少降维过程中的特征损失;然后将两类特征图输入到含有两层全连接层的多层感知器(MLP)中进行降维和升维操作,其中输入层神经元个数为C,隐藏层神经元个数为C/8,输出层神经元个数为C;最后将MLP输出得到的2个特征图依次进行Add运算和Sigmoid激活处理,得到大小为1×1×C通道注意力权重MC(F),其中MC(F)中的任意一个值都小于1,代表每个通道的重要性程度,将其与输入特征图F相乘即可得到中间特征图F'

    F=FMC(F) (1)

    SAM反映的则是目标特征在空间维度的重要程度,使模型更加关注裂隙特征强的区域。首先对大小为H×W×C的中间特征图F'分别进行最大池化和平均池化,将得到的两类特征图(H×W×1)后进行融合拼接(H×W×2),随后将融合结果传入卷积层使其降维到1个通道,最后通过Sigmoid激活处理得到大小为H×W×1空间注意力权重Ms(F),其中Ms(F)中的任意一个值也都小于1,代表每块区域的重要性程度,将其与中间特征图F'相乘即可得到输出特征图F''

    F=FMs(F) (2)

    由于岩石裂隙图像中裂隙所占的像素比例通常很少,可将裂隙分割归为类别不平衡问题。为此本文结合两种损失函数LDiceLBCE来训练模型网络,损失函数L可表示为

    L=LDice+LBCE=12ni=1|TiYi|ni=1(|Ti|+|Yi|)1nni=1[tilgpi+(1ti)(1lgpi)] (3)

    式中:n表示每批次图像数量,i表示索引值;|Ti|为裂隙标签图像素元素,|Yi|为裂隙预测图像素元素;ti为裂隙标签真值,pi为网络预测概率值。

    本文测试环境基于深度学习框架TensorFlow结合Python编程语言进行搭建。计算机相关硬件配置为:CPU为Intel Core i7-9700F;GPU为NVIDIA GeForce RTX 2070 SUPER,8GB显存;系统内存32GB。本文训练采用Adam算法优化损失函数,训练迭代次数设置为500次,学习率与批次大小通过不断调试,并比较验证集损失值大小判断训练结果选择最优参数组合,最终发现批次大小为8,学习率为0.0001时训练效果最好,图 4为对应的训练曲线图。

    图  4  Loss-Epoch关系曲线
    Figure  4.  Loss-Epoch relation curves

    模型训练完成后,需要对模型的泛化性能进行评估,即对训练集以外岩石裂隙图像的识别效果和准确度进行评价。对于裂隙与背景的二分类分割问题,本文选用F1分数与交并比(intersection over union, Iou)作为裂隙识别能力的评价指标,如下所示:

    F1=2PRP+R=2TP2TP+FP+FN Iou=TPTP+FP+FN } (4)

    式中:TP指模型正确预测到裂隙像素的个数,FP指模型错误预测到裂隙像素的个数,FN指模型错误预测到非裂隙像素的个数。F1与Iou越大说明模型预测到裂隙像素的个数越多,即裂隙识别效果越好,越小说明裂隙识别效果越差。

    岩石裂隙图像分割或识别后,接下来需要研究裂隙矢量化和几何特征参数(长度、宽度、倾角等)的计算方法。非交叉裂隙的矢量化与参数计算相对简单,而交叉裂隙由于两条或两条以上裂隙之间相互交错成一体,无法直接提取单条裂隙的几何特征,因此,必须解决交叉裂隙的准确分离难题。为此,本文提出一种针对交叉裂隙的分离算法,包括裂隙端点与交叉点的判别、裂隙像素点的连续追踪和主干裂隙的判定等。

    (1)裂隙骨架提取

    骨架提取是对裂隙分割图通过层层剥离,剔除多余的像素点,忽略裂隙的宽度信息只保留原来的形状,直到得到像素骨架,这一环节是计算裂隙参数的基础。目前已有较为成熟的算法,本文不再赘述。

    (2)骨架端点与交叉点判定

    对交叉裂隙进行分离操作,关键要找出裂隙骨架中的端点与交叉点。本文通过采用8邻域矩阵检索裂隙点个数从而对骨架端点与交叉点进行判定,具体算法如下:

    a)从含有裂隙的图像上坐标为(0,0)的第一个像素依次向右向下搜索白色像素(裂隙骨架点),直至搜索到白色像素点。

    b)以搜索到的白色像素点为中心构建八邻域像素矩阵。若八邻域图像矩阵中仅含有2个白色像素点,则判断此点为端点;若含有3个,则判断此点为一般点;若含有4个及以上,则此点为交叉点。图 5为上述3种像素点八邻域判别的原理图。

    图  5  裂隙骨架特征点的判别原理
    Figure  5.  Discriminant principle of characteristic points of fracture skeleton

    c)重复执行步骤,直至图像中所有白色像素点检索完成,并依据检索结果将所有白色像素点的坐标保存至对应类别。

    d)对裂隙骨架交叉处的点进行细致划分。对比所有交叉点的坐标值,若交叉点周围无其他交叉点(图 6(a)),则判定为孤立裂隙交叉点;若出现交叉点之间彼此相邻(图 6(b)),则这些交叉点合并判定为裂隙交叉区。

    图  6  不同类型裂隙交叉点的判别
    Figure  6.  Distinguishing of different types of intersection points of fractures

    交叉裂隙的结构形式通常认为是两条裂隙在某一段重叠或一条裂隙扩展到另一条裂隙中形成。本文通过分析将交叉裂隙的分离结果划分为两类:一类是含重合段的分离裂隙,即多条分离裂隙可同时含有某一段裂隙,如图 7右下图所示的重合分离结果;另一类是不含重合段的分离裂隙,重合段只归属于主干裂隙,如图 7左下图所示断裂分离结果。

    图  7  交叉裂隙两种分离结果示意图
    Figure  7.  Schematic diagram of separation results of intersection fractures

    针对岩石交叉裂隙的分离问题,本文提出一种基于迹线方向判定的交叉裂隙分离算法。根据交叉裂隙经过交叉点后的迹线方向特征,认为主干裂隙在交叉点后的裂隙骨架与交叉点前的裂隙骨架之间的夹角通常成较大钝角,来确定岩石裂隙骨架的追踪方向以及提取主干裂隙。以下给出重合追踪与断裂追踪两种算法,分别用于得到交叉裂隙的重合分离与断裂分离结果。

    (1)重合追踪法

    重合追踪法通过建立八邻域像素矩阵追踪一般点与端点,比较追踪裂隙在交叉点前后的走向趋势判定交叉点的追踪方向,直至追踪到另一端点。具体算法如下:

    a)对裂隙分割图执行骨架端点与交叉点的识别,得到交叉裂隙的端点与交叉点的坐标。

    b)一般点追踪:从第1个端点开始,构建八邻域像素矩阵,根据一般像素点的特征,检索到未追踪过的白色像素点并设置为当前追踪点,重复执行一般点追踪,直至搜索到交叉点为止。

    c)交叉点方向追踪:当追踪过程中遇到交叉点时,即八邻域像素矩阵内出现2个以上的未检索白色像素点,需要比较交叉点前后的迹线走向趋势以判断裂隙的追踪方向。如图 8所示,计算得到之前所有像素点的平均坐标p1(¯x, ¯y)、当前追踪点p0(x0, y0)以及八邻域内其他待追踪点p2i(x2i, y2i),通过这3个点构建p0p1p0p2i两个向量,再利用式(5)计算得到两向量间的夹角βi,将所有βi中取得最大值βmax对应的 {p_{2i}} 点设置为追踪点,若追踪点仍位于交叉区内,则依次将此点设为分析点重新执行步骤,直至追踪出交叉区为止。

    图  8  交叉点处裂隙追踪方向判定
    Figure  8.  Distinguishing of fracture tracking direction at intersection point
    \begin{array}{l} {\beta }_{i}=\mathrm{arccos}\frac{\stackrel{\rightharpoonup }{{p}_{0}{p}_{1}}\cdot \stackrel{\rightharpoonup }{{p}_{0}{p}_{2i}}}{\left|\stackrel{\rightharpoonup }{{p}_{0}{p}_{1}}\right|\times \left|\stackrel{\rightharpoonup }{{p}_{0}{p}_{2i}}\right|}(0\le \beta \le {180}^{°}) \\ = \arccos \frac{{(\overline x - {x_0})({x_{2i}} - {x_0}) + (\overline y - {y_0})({y_{2i}} - {y_0})}}{{\sqrt {{{(\overline x - {x_0})}^2} + {{(\overline y - {y_0})}^2}} + \sqrt {{{({x_{2i}} - {x_0})}^2} + {{({y_{2i}} - {y_0})}^2}} }} 。 \end{array} (5)

    式中: \overline x , \overline y 可分别通过 \overline x = \frac{{\sum\limits_{i = 1}^N {{x_i}} }}{N} \overline y = \frac{{\sum\limits_{i = 1}^N {{y_i}} }}{N} 得出,N表示当前分析点以前所有裂隙点数,i表示待追踪裂隙点的编号。

    d)追踪出交叉点或交叉区后,继续执行一般裂隙点的追踪,直到追踪到端点为止,完成一条裂隙的分离。以下一端点为起点重新执行裂隙追踪的分析步骤,直到所有端点都判定完毕,至此完成了重合追踪模式下交叉裂隙的分离。

    (2)断裂追踪法

    断裂追踪法是在重合追踪法执行结果的基础上,通过比较所有裂隙的迹线方向夹角判断主干裂隙及延伸到该裂隙的附属裂隙,具体算法如下:

    a)对裂隙分割图执行重合追踪裂隙分离算法,得到所有分离裂隙骨架点的坐标。

    b)选取任意一条裂隙,搜索该裂隙经过的所有交叉点,并选取裂隙起始端点 {P_0} 、交叉点 {P_1} - {P_{N - 1}} 、裂隙末尾端点 {P_N} N个点用以计算裂隙迹线方向夹角(若形成交叉区,则 {P_1} - {P_{N - 1}} 选择为交叉区的平均坐标点)。如图 9所示,依次将所有交叉点设置为中心点,并与左右相邻的两点共同构建向量{\overset{\rightharpoonup }{\mathop{{P}_{m}{P}_{m-1}}}} {\overset{\rightharpoonup }{\mathop{{{P}_{m}{P}_{m+1}}}}} 1 \leqslant m \leqslant N - 1 ),采用式(6)计算得到两向量的夹角 {\theta _m} ,并通过式(7)计算得到裂隙迹线方向夹角 \overline \theta

    图  9  主干裂隙判别原理
    Figure  9.  Principle of discrimination of main fracture
    \begin{array}{l} {\theta }_{m}=\mathrm{arccos}\frac{{\overset{\rightharpoonup }{\mathop{{P}_{m}{P}_{m-1}}}}\cdot {\overset{\rightharpoonup }{\mathop{{P}_{m}{P}_{m+1}}}}}{\left|{\overset{\rightharpoonup }{\mathop{{P}_{m}{P}_{m-1}}}}\right|\times \left|{\overset{\rightharpoonup }{\mathop{{P}_{m}{P}_{m+1}}}}\right|} \\ = \arccos \frac{{({x_m} - {x_{m - 1}})({x_m} - {x_{m + 1}}) + ({y_m} - {y_{m - 1}})({y_m} - {y_{m + 1}})}}{{\sqrt {{{({x_m} - {x_{m - 1}})}^2} + {{({y_m} - {y_{m - 1}})}^2}} + \sqrt {{{({x_m} - {x_{m + 1}})}^2} + {{({y_m} - {y_{m + 1}})}^2}} }} \\ \qquad \qquad \qquad \qquad \qquad (0 \leqslant \theta \leqslant {180^{^{\circ }}}) 。 \end{array} (6)

    式中:m为当设置为计算中心点的交叉点编号,(xm-1, ym-1),(xm, ym),(xm+1, ym+1)分别为 {P_{m - 1}} {P_m} {P_{m + 1}} 点的坐标值。

    \overline \theta = \sum\limits_{m = 1}^{N - 1} {{\theta _m}} 。 (7)

    式中:N为所有参与计算的裂隙点数。

    c)对所有分离裂隙执行步骤,比较所有裂隙的迹线方向夹角,取得最大夹角的裂隙即为交叉裂隙的主干裂隙。

    d)在原始分割图上删除分离出的裂隙,重新搜索裂隙图像的端点与交叉点,若仍含有交叉点,则继续执行上述步骤分离出主干裂隙,直至所得分割图内裂隙无交叉点为止,至此完成了断裂追踪模式下的交叉裂隙的分离。

    裂隙长度可以通过分离后的裂隙骨架求得。本文采用微分累加法,即通过式(8)计算各条裂隙的骨架上各个像素点之间的距离,并依次累加,得到裂隙的像素长度,求解原理如图 10所示。

    L={\displaystyle \sum _{i=2}^{N}\sqrt{({\text{TP}}_{i}.x-{\text{TP}}_{i-1}.x{)}^{2}+({\text{TP}}_{i}.y-{\text{TP}}_{i-1}.y{)}^{2}}} 。 (8)
    图  10  裂隙长度计算示意图
    Figure  10.  Schematic diagram of calculation of crack length

    式中:N为裂隙骨架点数; {\text{T}}{{\text{P}}_i}.x {\text{T}}{{\text{P}}_i}.y 分别为第i个裂隙点的横坐标与纵坐标。

    基于分离后的裂隙骨架坐标,本文提出一种裂隙宽度计算方法,这里称之为“方框法”。具体算法为:

    a)从裂隙端点开始,依次以所有骨架点为中心点构建一个指定宽度的正方形框,使其包裹住全部宽度的裂隙区域,如图 11方框(a)所示,该点处的宽度 {w_i} 可由式(9)得到。需要注意的是,在图 12中,由于裂隙不同部位处其宽度并不一致,所以不同断面包含的裂隙像素个数也不相同。对于含有一定倾斜角度的裂隙,将方框按照裂隙的走向进行旋转(如图 11方框(b))再进行计算。为了便于计算,本文保持方框不旋转,而将裂隙部分旋转到水平方向,并用计算得到的宽度代替该点的裂隙宽度。

    {w_i} = \frac{{{S_i}}}{{{l_i}}} 。 (9)
    图  11  裂隙宽度计算示意图
    Figure  11.  Schematic diagram of calculation of crack width

    式中:Si为方框内裂隙区的像素面积(像素数量),单位是像素;li为此段裂隙的长度,单位是像素的个数。

    b)当方框接近于裂隙交叉点处时,可能会将另一条裂隙区域也包含进去,如图 11方框(b)所示。此时需提取出方框内的两条裂隙区域,并通过判断中心点所处的裂隙,剔除另一条裂隙,然后继续执行裂隙宽度计算;当方框内包含裂隙交叉点时,会出现如图 11方框(c)所示的情况,这类情况裂隙区域相互贯通,难以进行提取,但由于此类情况出现较少,对平均宽度影响较小,并且随着方框大小的缩减,其宽度也逐渐接近于真实值,因此仍将步骤计算得到的宽度近似等效于该点宽度。

    c)当一条裂隙上全部骨架点所在位置的宽度计算完成后,可通过下式计算出整条裂隙的平均宽度 \bar w

    \overline{w}=\frac{{\displaystyle \sum _{i=1}^{N}{w}_{i}}}{N}\text{ }。 (10)

    式中:N为裂隙骨架点的个数。

    随后,将计算得到的最大wi值设为方框宽度,并重新计算裂隙宽度,直到裂隙平均宽度值收敛,至此完成一条裂隙宽度的计算。

    将裂隙骨架像素点的连线近似为一条直线,采用线性回归算法进行裂隙倾角计算,回归公式为

    y = ax + b 。 (11)

    式中:ab可由式(12)计算得到

    \left. \begin{array}{l}b=\overline{y}-a\overline{x}=\frac{{\displaystyle \sum _{i=1}^{N}{y}_{i}}}{N}-a\frac{{\displaystyle \sum _{i=1}^{N}{x}_{i}}}{N}\text{ }\text{,}\\ a=\frac{{\displaystyle \sum _{i=1}^{N}({x}_{i}-\stackrel{-}{x})({y}_{i}-\stackrel{-}{y})}}{{\displaystyle \sum _{i=1}^{N}{({x}_{i}-\stackrel{-}{x})}^{2}}}=\frac{{\displaystyle \sum _{i=1}^{N}{x}_{i}{y}_{i}}-{\displaystyle \sum _{i=1}^{N}{x}_{i}{\displaystyle \sum _{i=1}^{N}{y}_{i}/N}}}{{\displaystyle \sum _{i=1}^{N}{x}_{i}{}^{2}}-{({\displaystyle \sum _{i=1}^{N}{x}_{i}})}^{2}/n}\text{ }。\end{array}\right\} (12)

    式中: \mathop x\limits^ - \mathop y\limits^ - 分别代表所有裂隙骨架点坐标的平均值, {x_i} {y_i} 分别表示第i个骨架点的横纵坐标,N为裂隙骨架点的个数。

    最终可求得裂隙倾角,其表达式为

    \theta = \arctan a 。 (13)

    为了研究便利和推广应用,作者研发了一套岩石裂隙图像智能识别与量化表征软件系统,该系统由两个程序组成,分别命名为PhotoDetector和Photo- Objects,主要用于深度学习模型训练识别和岩石裂隙特征参数量化分析。软件采用Python编程语言与PyQt5研发,应用了模块化架构,支持跨平台部署。软件的功能架构设计如图 12所示。

    图  12  软件功能构架图
    Figure  12.  Function framework of software

    该程序包含模型训练和裂隙识别两大功能模块。

    (1)模型训练:由于深度学习具有很强的可迁移能力,一种模型可用于其他数据集的训练。因此,本文设计了自定义训练功能,由图像预处理、模型选择、参数优化和模型训练等独立功能组成,方便工程的迁移应用。图 13为模型选择与训练界面,其中图 13(a)为模型参数选择界面,供用户导入训练数据集、选择模型和调整训练参数,图 13(b)为训练过程可视化展示界面。该软件实现了训练过程中参数变化曲线与数值的实时显示,用户可根据训练状况人工调整参数。

    图  13  PhotoDetector程序的模型选择与训练界面
    Figure  13.  Model selection and training interface of PhotoDetector program

    (2)裂隙识别:图像识别模块由识别参数设置(权重文件、类别颜色等)、模型选择、图像识别以及可视化等功能组成,界面操作简洁,方便使用。同时,通过岩石裂隙识别的功能集成,实现了裂隙识别结果的可视化,如图 14所示。

    图  14  PhotoDetector程序的裂隙识别界面
    Figure  14.  Fracture identification interface of PhotoDetector program

    该程序包含图像处理和量化表征两大功能模块。

    (1)图像处理:图像处理模块主要包括图像二值化、轮廓提取、骨架提取、形态学操作以及裂隙轮廓检测等功能,便于用户对裂隙分割图进行分析。

    (2)量化表征:裂隙分割图像前处理工作完成后,即可执行裂隙表征功能。程序自动追踪裂隙骨架和计算出裂隙的长度、宽度及倾角,并将计算结果显示到图像相应位置,如图 15所示。

    图  15  PhotoObjects的裂隙表征界面
    Figure  15.  Fracture characterization interface of PhotoObjects program

    根据裂隙的分布状态,本文将裂隙图像划分为3种类型:分离型、单点交叉型和多点交叉型,如表 1所示。其中,分离型裂隙的主要特征是裂隙间无交叉点,依据裂隙数量可细分为单条分离与多条分离两种形式;单点交叉型裂隙的主要特征是裂隙间仅有一个交叉点或交叉区,依据裂隙是否贯通可细分为Y型与X型两种交叉裂隙;多点交叉型裂隙的主要特征是裂隙间存在2个及以上交叉点或交叉区,裂隙间相互交错,识别与表征难度因此增大。

    表  1  岩石裂隙基本类型划分
    Table  1.  Classification of basic types of rock fractures
    裂隙类别 裂隙图像
    单条 多条
    分离型
    Y型 X型
    单点交叉型
    多点交叉型
    下载: 导出CSV 
    | 显示表格

    为说明上述3类裂隙的识别、分离与表征效果,以下采用自行研制的岩石裂隙智能识别与表征软件系统进行对比分析。

    为验证改进Unet算法对不同分布裂隙的识别能力,本文采用常见的VGG16模型、Unet模型开展对比试验,从识别效果与评价指标等方面对上述3类裂隙进行识别分析。

    (1)裂隙图像识别效果对比

    采用不同算法对复杂分布的岩石裂隙进行识别,其结果如表 2所示,其中基准图的白色区域为原图中经过人工标注的真实裂隙区域,作为各个算法识别效果的参考基准。

    表  2  各类算法裂隙识别效果比较
    Table  2.  Comparison of fracture recognition effects of various algorithms
    类别 原图 基准图 VGG16 Unet 改进Unet
    类别1
    类别2
    类别3
    下载: 导出CSV 
    | 显示表格

    对于类别1的分离型裂隙,各类算法都可以完整的识别出裂隙,且识别效果与基准图几乎一致;类别2与类别3为复杂分布的多点交叉裂隙,其中VGG16网络可以较好的识别绝大部分裂隙,但对于裂隙宽度较小的部分难以识别,并且将部分背景噪点错误识别为裂隙;Unet模型可以识别出部分细小裂隙,仍有部分裂隙未识别到或出现断层,与Unet模型相比,改进Unet模型对复杂分布的细小裂隙的识别效果更好。

    (2)裂隙识别评价指标对比

    为了定量评估改进Unet模型的识别效果,本文对建立的裂隙测试集开展了定量评价研究,表 3为3类算法的F1分数与Iou评价值。其中,Unet模型的F1分数大于VGG16模型,且改进Unet模型的F1分数大于Unet模型;3类算法的Iou值变化相对明显,Unet模型的Iou值较VGG16高,改进Unet模型的Iou值较Unet模型更高。综上可得,改进后的Unet模型整体识别效果最佳。

    表  3  不同算法的裂隙识别效果定量评价
    Table  3.  Quantitative evaluation of fracture recognition effects under different algorithms
    评价指标 算法模型
    VGG16 Unet 改进Unet
    F1分数 0.924 0.933 0.943
    Iou 0.859 0.874 0.893
    下载: 导出CSV 
    | 显示表格

    (1)交叉裂隙骨架分离结果验证

    为验证骨架分离算法对常见交叉裂隙的适用性,本文分别对单点交叉裂隙中的Y型与X型以及多点交叉裂隙中常见的双Y型与三角交叉型裂隙进行了分离,结果见表 4。从表中可以看出,对于Y型裂隙,重合与断裂追踪法都能完美地分离出裂隙,且与期望的结果形式一致。对于X型裂隙,重合追踪法能完全将两条裂隙分离开,且与预期结果相同,断裂追踪法虽能够将裂隙分离开,但由于竖向裂隙从中间断成两条裂隙,不符合通常的分离形式,因此X型裂隙更适合采用重合追踪法。对于双Y型裂隙,两端都含有Y字型裂隙结构,采用断裂追踪法将其分离成一条贯通的主干裂隙与两条附属裂隙,重合追踪法将其分离成含中间重合段的两条裂隙,其结果都符合通常分离的结果形式。对于三角交叉裂隙采用重合追踪法能够将其分离成三条主干裂隙,符合预期结果,而采用断裂追踪法的分离结果与X型结果形式相似,将一整条裂隙断裂成了几条小段,不符合通常的分离结果形式,因此,此类裂隙更适合采用重合追踪法。综上可知,对于Y型与双Y型裂隙,采用两种方法都可满足结果预期。而对于X型与三角交叉型裂隙,更适合采用重合追踪法分离裂隙。

    表  4  常见交叉裂隙骨架分离结果
    Table  4.  Skeleton separation results of common intersection fractures
    图像类别 裂隙骨架原图 重合追踪分析结果 断裂追踪分析结果
    图像A(Y型)
    图像B(X型)
    图像C(双Y型)
    图像D(三角交叉型)
    下载: 导出CSV 
    | 显示表格

    (2)裂隙表征算法精度验证

    为了验证裂隙表征算法的精确度,本文模拟构建了已知长度、宽度和倾角的分离型、单点交叉型与多点交叉型裂隙图像,裂隙宽度均设置为5 pixels,长度设置为200 pixels,倾斜裂隙倾斜角度设置为±45°,分析获得的裂隙表征结果如图 16所示。

    图  16  模拟裂隙长度与宽度的计算结果
    Figure  16.  Calculated results of simulated fracture length and width

    可以看出:①对于水平裂隙和倾斜裂隙分离组成的裂隙图像,两条裂隙的宽度都精确计算为5.0 pixels,长度与倾角计算方面,裂隙长度计算为199 pixels,偏差值为0.5%,倾斜裂隙角度值计算为45.00°,与实际值完全相同。②对于水平裂隙和倾斜裂隙交叉组成的单点交叉裂隙图像,两条裂隙长度分别计算为201 pixels与200 pixels,偏差值为0.5%,倾斜裂隙角度值计算为44.99°,骨架分离效果较好,水平与倾斜裂隙的宽度计算值分别为5.11 pixels与5.07 pixels,误差产生的原因是受到交叉区域的影响。③对于水平裂隙与±45°两条倾斜裂隙组成的三角交叉裂隙,3条裂隙的长度计算值为202pixels、201pixels以及199pixels,角度计算值为44.98°,-44.87°以及-0.01°,结果与基准值几乎一致;裂隙宽度的计算值为5.15pixels,5.14pixels与5.22pixels,误差值相对于单点交叉裂隙略微提升。

    通过分析可知,裂隙长度与倾角的计算误差较小,且与交叉点个数无关;而在裂隙长度一定的情况下,裂隙宽度的计算误差会随着交叉点个数增加而增大,因此,本文表征算法适用于分布相对简单(交叉点数目较少)的交叉裂隙,对于相对复杂的交叉裂隙识别表征则需要进一步探讨或深入研究。

    (3)裂隙表征实际应用分析

    为进一步考察实际效果,本文对真实岩石裂隙分割图像进行了表征应用。图 17是选取3张图像的表征结果图,其中BE点分别为岩石裂隙的起点与终点,LW \beta 分别为裂隙长度、宽度和倾角。

    图  17  实际裂隙表征结果示意图
    Figure  17.  Schematic diagram of characterization results of actual fractures

    图 17可以看出,对于图像A,由两条分离裂隙构成,应用本文方法可将两条独立裂隙辨别出来且分别进行了表征;对于图像B,由一条分离裂隙与X型单点交叉裂隙构成,应用重合追踪法将X型裂隙成功分离出了两条独立的裂隙,且对3条裂隙的几何参数分别进行了计算;对于图像C,由双Y交叉裂隙组成,裂隙间形成2个交叉点,采用断裂追踪法将裂隙依次分离出了3条独立裂隙,显示了分离后的裂隙参数。结果表明,本文算法以及研制的软件系统对3类实际岩石裂隙图像的分离与表征效果较好,能够应用于实际岩石裂隙的智能识别与量化分析。

    (1)针对岩石裂隙的智能识别,基于Unet模型框架,采用CBAM混合注意力模块对模型进行了改进,有效提高了裂隙特征提取能力和图像表征水平。

    (2)针对岩石交叉裂隙的特征提取问题,提出了一种基于迹线方向判定的交叉裂隙分离与表征方法,包含重合追踪与断裂追踪两类分离算法,得到了交叉裂隙两种分离结果形式;继而利用微分累加法、方框法和线性回归法计算出每条裂隙的几何特征参数。

    (3)采用Python语言和PyQt图形界面开发库及深度学习框架Tensorflow,研制了一套岩石裂隙图像智能识别与表征软件系统,实现了从深度学习模型参数选择、模型训练、裂隙识别、裂隙量化分析到结果可视化的完整裂隙分析功能。

    (4)根据岩石裂隙交叉点数进行了裂隙分类,并通过对比发现:改进Unet模型对复杂分布的细小裂隙识别效果最好,其总体识别性能要优于其他网络;裂隙骨架分离算法的两种模式都可适用于对Y型与双Y型岩石裂隙的有效分离,X型与三角交叉型裂隙则更适合采用重合追踪模式。

    (5)采用本文提出的基于改进Unet的岩石裂隙识别模型、交叉裂隙分离与表征算法,对于岩体裂隙的智能分割与参数表征具有较高精度,能够有效应用于实际相对复杂的岩石裂隙的特征分析与评价。

  • 图  1   数据集内部分原图与对应的标签图

    Figure  1.   Partial original and label images in dataset

    图  2   MRC-Unet模型结构示意图

    Figure  2.   Structural diagram of MRC-Unet model

    图  3   CBAM结构示意图

    Figure  3.   Schematic diagram of CBAM structure

    图  4   Loss-Epoch关系曲线

    Figure  4.   Loss-Epoch relation curves

    图  5   裂隙骨架特征点的判别原理

    Figure  5.   Discriminant principle of characteristic points of fracture skeleton

    图  6   不同类型裂隙交叉点的判别

    Figure  6.   Distinguishing of different types of intersection points of fractures

    图  7   交叉裂隙两种分离结果示意图

    Figure  7.   Schematic diagram of separation results of intersection fractures

    图  8   交叉点处裂隙追踪方向判定

    Figure  8.   Distinguishing of fracture tracking direction at intersection point

    图  9   主干裂隙判别原理

    Figure  9.   Principle of discrimination of main fracture

    图  10   裂隙长度计算示意图

    Figure  10.   Schematic diagram of calculation of crack length

    图  11   裂隙宽度计算示意图

    Figure  11.   Schematic diagram of calculation of crack width

    图  12   软件功能构架图

    Figure  12.   Function framework of software

    图  13   PhotoDetector程序的模型选择与训练界面

    Figure  13.   Model selection and training interface of PhotoDetector program

    图  14   PhotoDetector程序的裂隙识别界面

    Figure  14.   Fracture identification interface of PhotoDetector program

    图  15   PhotoObjects的裂隙表征界面

    Figure  15.   Fracture characterization interface of PhotoObjects program

    图  16   模拟裂隙长度与宽度的计算结果

    Figure  16.   Calculated results of simulated fracture length and width

    图  17   实际裂隙表征结果示意图

    Figure  17.   Schematic diagram of characterization results of actual fractures

    表  1   岩石裂隙基本类型划分

    Table  1   Classification of basic types of rock fractures

    裂隙类别 裂隙图像
    单条 多条
    分离型
    Y型 X型
    单点交叉型
    多点交叉型
    下载: 导出CSV

    表  2   各类算法裂隙识别效果比较

    Table  2   Comparison of fracture recognition effects of various algorithms

    类别 原图 基准图 VGG16 Unet 改进Unet
    类别1
    类别2
    类别3
    下载: 导出CSV

    表  3   不同算法的裂隙识别效果定量评价

    Table  3   Quantitative evaluation of fracture recognition effects under different algorithms

    评价指标 算法模型
    VGG16 Unet 改进Unet
    F1分数 0.924 0.933 0.943
    Iou 0.859 0.874 0.893
    下载: 导出CSV

    表  4   常见交叉裂隙骨架分离结果

    Table  4   Skeleton separation results of common intersection fractures

    图像类别 裂隙骨架原图 重合追踪分析结果 断裂追踪分析结果
    图像A(Y型)
    图像B(X型)
    图像C(双Y型)
    图像D(三角交叉型)
    下载: 导出CSV
  • [1] 张紫杉, 王述红, 王鹏宇, 等. 岩坡坡面裂隙网络智能识别与参数提取[J]. 岩土工程学报, 2021, 43(12): 2240-2248. doi: 10.11779/CJGE202112010

    ZHANG Zishan, WANG Shuhong, WANG Pengyu, et al. Intelligent identification and extraction of geometric parameters for surface fracture networks of rocky slopes[J]. Chinese Journal of Geotechnical Engineering, 2021, 43(12): 2240-2248. (in Chinese) doi: 10.11779/CJGE202112010

    [2] 李术才, 刘洪亮, 李利平, 等. 基于数码图像的掌子面岩体结构量化表征方法及工程应用[J]. 岩石力学与工程学报, 2017, 36(1): 1-9. https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX201701001.htm

    LIU Shucai, LIU Hongliang, LI Liping, et al. A quantitative method for rock structure at working faces of tunnels based on digital images and its application[J]. Chinese Journal of Rock Mechanics and Engineering, 2017, 36(1): 1-9. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX201701001.htm

    [3]

    LI Y H, TANG X J, ZHU H H. Optimization of the digital image correlation method for deformation measurement of geomaterials[J]. Acta Geotechnica, 2022, 17(12): 5721-5737. doi: 10.1007/s11440-022-01646-x

    [4] 许文涛, 李晓昭, 章杨松, 等. 基于摄影测量系统的岩体结构面精细识别表征及应用[J]. 测绘学报, 2022, 51(10): 2093-2106. https://www.cnki.com.cn/Article/CJFDTOTAL-CHXB202210009.htm

    XU Wentao, LI Xiaozhao, ZHANG Yangsong, et al. Fine identification and characterization of rock mass discontinuities and its application using a digital photogrammetry system[J]. Acta Geodaetica et Cartographica Sinica, 2022, 51(10): 2093-2106. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-CHXB202210009.htm

    [5]

    LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444. doi: 10.1038/nature14539

    [6]

    LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston, 2015: 3431-3440.

    [7] 黄宏伟, 李庆桐. 基于深度学习的盾构隧道渗漏水病害图像识别[J]. 岩石力学与工程学报, 2017, 36(12): 2861-2871. https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX201712001.htm

    HUANG Hongwei, LI Qintong. Image recognition for water leakage in shield tunnel based on deep learning[J]. Chinese Journal of Rock Mechanics and Engineering, 2017, 36(12): 2861-2871. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX201712001.htm

    [8]

    ZHU H, AZARAFZA M, AKGUN H. Deep learning-based key-block classification framework for discontinuous rock slopes[J]. Journal of Rock Mechanics and Geotechnical Engineering, 2022, 14: 1131-1139. doi: 10.1016/j.jrmge.2022.06.007

    [9] 薛东杰, 唐麒淳, 王傲, 等. 基于FCN的岩石混凝土裂隙几何智能识别[J]. 岩石力学与工程学报, 2019, 38(增刊2): 3393-3403. https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX2019S2014.htm

    XUE Dongjie, TANG Qichun, WANG Ao, et al. FCN-based intelligent identification of crack geometry in rock or concrete[J]. Chinese Journal of Rock Mechanics and Engineering, 2019, 38(S2): 3393-3403. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-YSLX2019S2014.htm

    [10] 刘金杉, 李元海, 卢昱杰, 等. 基于深度学习的隧道衬砌表观病害模拟检测系统[J]. 哈尔滨工业大学学报, 2022, 54(5): 24-33.

    LIU Jinshan, LI Yuanhai, LU Yujie, et al. Tunnel lining surface defect simulation and detection system based on deep learning[J]. Journal of Harbin Institute of Technology, 2022, 54(5): 24-33. (in Chinese)

    [11]

    SONG Q, WU Y, XIN X, et al. Real-time tunnel crack analysis system via deep learning[J]. IEEE Access, 2019, 7: 64186-64197. doi: 10.1109/ACCESS.2019.2916330

    [12]

    XIANG X, ZHANG Y, EL SADDIK A. Pavement crack detection network based on pyramid structure and attention mechanism[J]. IET Image Processing, 2020, 14(8): 1580-1586. doi: 10.1049/iet-ipr.2019.0973

    [13] 刘春, 王宝军, 施斌, 等. 基于数字图像识别的岩土体裂隙形态参数分析方法[J]. 岩土工程学报, 2008, 30(9): 1383-1388. doi: 10.3321/j.issn:1000-4548.2008.09.021

    LIU Chun, WANG Bao-jun, SHI Bin, et al. Analytic method of morphological parameters of cracks for rock and soil based on image processing and recognition[J]. Chinese Journal of Geotechnical Engineering, 2008, 30(9): 1383-1388. (in Chinese) doi: 10.3321/j.issn:1000-4548.2008.09.021

    [14] 王军祥, 曾相森, 徐晨晖, 等. 基于图像处理技术的岩体裂隙定量识别方法研究[J]. 地下空间与工程学报, 2022, 18(2): 446-457. https://www.cnki.com.cn/Article/CJFDTOTAL-BASE202202012.htm

    WANG Junxiang, ZENG Xiangsen, XU Chenhui, et al. Study on quantitative identification method of rock fracture based on image processing technology[J]. Chinese Journal of Underground Space and Engineering, 2022, 18(2): 446-457. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-BASE202202012.htm

  • 期刊类型引用(5)

    1. 孙洪滨,刘宇航,范凌泰,袁周致远,吉伯海. 基于机器视觉的钢箱梁疲劳裂纹形态识别方法. 现代交通与冶金材料. 2025(01): 29-33+52 . 百度学术
    2. 王登科,王龙航,秦亚光,位乐,曹塘根,李文睿,李璐,陈旭,夏玉玲. 基于VRA-UNet网络的煤岩组合体裂隙识别与三维重构. 煤炭科学技术. 2025(02): 96-108 . 百度学术
    3. 范森山,宫明,刘军宏,郝建新,石武,孙鹏云. 基于DeeplabV3+网络和注意力机制的矿区地表隐患识别——以塔山煤矿30507工作面为例. 科技和产业. 2024(17): 278-286 . 百度学术
    4. 吴金,吴顺川,孙贝贝. 岩体暴露面图像中裂隙全自动提取方法研究. 岩土力学. 2024(09): 2621-2632 . 百度学术
    5. 刘大鹏,李志胜. 基于实景三维建模和点云投影分析的岩体裂隙识别应用. 北京测绘. 2024(10): 1431-1436 . 百度学术

    其他类型引用(6)

图(17)  /  表(4)
计量
  • 文章访问数:  1122
  • HTML全文浏览量:  135
  • PDF下载量:  390
  • 被引次数: 11
出版历程
  • 收稿日期:  2022-10-09
  • 网络出版日期:  2024-03-14
  • 刊出日期:  2024-02-29

目录

/

返回文章
返回