融合残差与多尺度特征的U-Net泥页岩裂缝分割

2023-10-28 03:14陈子浩贾鹏飞屈文航
关键词:残差页岩尺度

陈子浩,贾鹏飞,屈文航,王 勇

(1.西北大学 地质学系/大陆动力学国家重点实验室,陕西 西安 710069;2.中国科学院武汉岩土力学研究所 岩土力学与工程国家重点实验室,湖北 武汉 430071)

泥页岩裂缝是岩石在异常高压、构造应力、流体侵蚀等作用下破裂产生的,发育良好的裂缝利于页岩气的储集和运移,其演化特征在页岩气开发中是一个关键的参考指标[1-2]。计算机断层扫描技术(CT)是一种可靠的无损检测方法,其最初用于医学成像研究,随后在地球科学领域也得到广泛应用,借助CT可以清晰地观察泥页岩的三维形态,真实反映裂缝的原始拓扑结构[3-4],对井壁稳定性分析[5-6]、储层压裂改造[7]、微裂缝封堵[8]等页岩气开发技术提供重要的指导意义。然而,现有的三维可视化软件大多基于传统的阈值分割方法对岩石CT切片进行处理[9],这需要专业人员依据经验对CT图像进行大量手工处理和特征设计[10],使得在工程实践中无法有效自主地识别和分割泥页岩裂缝,对时间消耗和分割结果的准确性有较大影响,因此,对泥页岩CT图像中的裂缝进行高效分割是一个重要的研究课题。

在岩石细观结构研究中,对裂缝信息的提取是一个不可或缺的步骤,许多学者提出了多种图像处理技术进行岩石CT图像分割。Rezaei等人采用了3种全局阈值方法和3种局部自适应阈值方法来分割多孔碳酸盐岩微CT图像,以评估直接测量和图像计算的孔隙率差异,结果表明双阈值Otsu方法最接近真实结果[11]。Deng等人提出了基于连通分量特征参数提取裂缝信息的MSA-k聚类算法,该算法是Multi-SALP算法(MSA)和K-means的结合,比其他经典聚类算法更具有随机性[12]。田志等人使用Micro-CT扫描得到泥质砂岩、碳酸盐岩等岩石的二维切片,然后,通过分水岭算法获得矿物粒度分布信息,作为三维岩石建模的初始条件[13]。宋天明等人采用一种改进的Snake算法对岩心序列图像进行轮廓提取,并将得到的结果作为下一帧的初始轮廓,从而得到整个序列图像的轮廓[14]。邹永宁等人采用非局部均值降噪滤波算法对图像降噪,再用改进水平集算法分割石油岩芯CT图像,分割效果理想有效[15]。Li等人提出了一种基于轮廓演化和梯度方向一致性的裂隙分割方法,利用3DAMF对煤岩CT图像中的高密度杂点噪声进行滤波,利用3DBF对裂隙边界进行增强,以精确构建裂隙网络,实验结果表明,该方法对序列图像分割效率高、适应性强[16]。利用传统数字图像处理方法对岩石裂缝分割时,需要进行大量图像预处理操作和算法设计,泛化能力较差,且无法主动学习裂缝特征,因此,需要更稳健的分割算法。

近几年,卷积神经网络(convolutional neural network,CNN)凭借其强大的特征提取能力在图像分割中得到了广泛的应用。Shelhamer等人提出了不含全连接层的全卷积网络FCN(fully convolutional networks,FCN),对任意分辨率的图像能够实现从抽象的特征中判别出每个像素所属的类别,显著提高了图像分割的准确度和速度,但得到的结果不够精细[17]。Noh等人提出的DeconvNet网络采用端到端的编码器-解码器结构,卷积网络部分使用卷积池化操作提取特征,反卷积网络部分使用反卷积和反池化得到分割概率图,两部分完全对称,并在编码器和解码器之间使用全连接层作为中介,用于增强类别的分类[18]。Ronneberger等人提出的U-Net结合下采样、上采样与跳跃连接构建了完整的编码解码模型,充分保留了高层语义信息与低层几何细节,并采用随机弹性变形进行数据增强,仅使用少量训练数据即可完成医学图像分割[19]。Badrinarayanan等人提出的SegNet与DeconvNet结构类似,在编码器部分使用卷积池化操作提取特征,解码器使用在相应编码时最大池化操作中记录的池化索引来执行非线性上采样,并移除全连接层,速度比DeconvNet更快[20]。R-FCN[21]、UNet++[22]等卷积神经网络模型通过增加网络旁路的重复使用或增加深层特征的反卷积操作,保留了更多细节信息,进而增强网络模型的识别能力。Chen等人提出的TransUNet[23]结合了Transformer及U-Net的优势,首先,利用Transformer将特征图的标记化图像块编码为上下文序列以进行特征提取,然后,利用解码器对编码特征进行上采样,精确定位的同时恢复空间信息,在多个医疗领域(如器官、心肌等)得到了很好的应用,但存在计算量大、计算复杂等问题。深度学习的发展为岩土领域处理CT图像提供了一种新的方案。Hyun等人基于花岗岩X射线CT图像使用深度学习方法提取水力压裂试验中产生的微裂缝,实现了花岗岩X射线CT图像的像素级裂纹检测[24]。Tian等人提出了一种基于区域卷积神经网络的混凝土CT图像细观裂纹分割与提取的方法,对静态单轴压缩下实时CT试验获得的图像进行分割,结果表明,该方法对CT图像中孔隙和裂缝的分割精度分别达到0.957和0.931[25]。Lu等人提出了一种基于U-Net的自适应多尺度特征融合方法(AMSFF-U-net),用于煤岩CT图像中的裂缝分割,对于裂缝可以实现较好的分割,特别是弱裂缝和小尺度裂缝[26]。

从上述研究现状可以看出,国内外学者对岩石CT图像的裂缝分割研究逐渐从数字图像处理技术发展至深度学习,并取得一定研究成果。针对泥页岩裂缝复杂、微小裂缝难以分割的特点,本文提出了一种以U-Net为基础网络的泥页岩裂缝分割方法MCS-Net。首先,用残差模块替换U-Net网络结构中的常规卷积,增加网络深度以充分学习裂缝特征;其次,添加多尺度特征融合(MSFF)模块以缓解泥页岩CT图像中微小裂缝无法精确分割的问题,提高裂缝分割精度。

1 泥页岩CT图像裂缝分割网络

1.1 MCS-Net网络

本文提出一种遵循U-Net结构的泥页岩裂缝分割网络(mud shale crack segmentation network,MCS-Net),网络主体由特征提取、特征融合和输出预测3部分组成,整体结构如图1所示。

图1 MCS-Net结构Fig.1 Architecture of MCS-Net

图1中每一个长方体表示一个多通道特征图,图像通道数标注在特征图的正上方,图像分辨率标注在特征图的左下角,箭头代表卷积、池化或跳跃连接等操作。特征提取部分使用5级残差卷积对特征图进行卷积处理,残差模块数分别为3、4、6、3、3,用于充分学习裂缝图像不同尺度的语义特征,池化操作用于降低图像分辨率;特征融合部分包括一个多尺度特征融合模块和4次残差卷积操作,特征融合模块用于捕获多尺度特征信息,残差卷积能够有效保留和传递必要信息的同时,调整网络的复杂度分配,其间使用反卷积逐层重构压缩的空间信息,并通过跳跃连接补充编码过程中损失的信息使特征聚合,最后一次卷积使网络输出的预测图像与原始输入图像的分辨率一致;输出预测部分首先使用1×1卷积将预测图调整成单通道,然后,经过Sigmoid函数使像素预测概率值归于0~1,其中,概率值大于设定阈值的像素识别为裂缝像素,小于设定阈值则为背景像素,最终输出精确的泥页岩裂缝二值分割图。

1.2 残差模块

残差网络的应用解决了随着网络加深而出现的性能退化问题[27]。在编码和解码路径上用残差模块(residual block, Res-Block)代替U-Net中常规的卷积层,可以增强网络的特征学习能力,改进的残差模块如图2所示。

图2 残差模块Fig.2 Residual block

参数化修正线性单元(PReLU)函数是经典修正线性单元激活函数(ReLU)的变体[28],PReLU通过赋予神经元负输入一个自适应学习的线性分量γi来改善ReLU负输入失效的问题,使用PReLU替换残差模块中的ReLU可以使网络更加稳健,增加网络抵抗噪声干扰的能力,其表达式如下,

(1)

残差模块的核心公式为

Xl+1=h(Xl)+F(Xl,Wl)

(2)

式中:h(Xl)是对输入的恒等映射,表现为图2中右侧的短路连接部分,通过1个1×1的卷积调整通道维数,使得特征信息在低层和高层之间直接进行传递,保证训练梯度的稳定性;F(Xl,Wl)是残差映射部分, 由2个3×3的卷积层组成, 卷积层后添加批归一化层(batch normalization, BN)和PReLU激活函数, BN能够使得每批的数据分布一致, 加快网络收敛速度;+表示网络在学习过程中仅需在原输入的基础上学习新特性, 即学习残差F(Xl,Wl), 残差特征比原始特征更易于学习。 最后, 将残差映射的结果经过PReLU激活得到非线性输出,如果残差特征为0, 只进行恒等映射,网络则跳过本层将训练权重直接传递给下一层输入, 不仅防止梯度消失, 还不会产生额外的计算量。

1.3 多尺度特征融合模块

为解决裂缝分割过程中细小裂缝不易识别的问题,引入空洞空间卷积池化金字塔(atrous spatial pyramid pooling, ASPP)[29]进行多尺度特征融合。但在实际实验中发现,加入ASPP模块会使分割图生成形似网格的误判点阵,如图3所示。其原因是ASPP采用空洞卷积提取到的语义信息是远距离的,在提取大面积物体特征时较为有效,而对类似裂缝这种连续且细长的物体可能有弊无利,因为稀疏采样使得背景特征和裂缝特征互相掺杂,进而影响分割结果。

图3 误判点阵Fig.3 Dot matrix of the miscalculation

鉴于以上问题,本文基于ASPP提出多尺度特征融合模块(Multi-scale feature fusion block,MSFF),MSFF模块位于MCS-Net的底部,整体结构如图4所示。

图4 多尺度特征融合模块结构Fig.4 Structure of multi-scale feature fusion module

MSFF模块包括3部分,分别是1×1卷积、多尺度卷积和全局均值池化(global average pooling,GAP)。1×1卷积逐像素提取小目标特征信息;多尺度卷积利用卷积核尺寸分别为3、5、7的深度可分离卷积进行卷积操作,深度可分离卷积可以减少参数量以轻量化网络,同时,利用短路连接以减少梯度消失[30];全局均值池化从全局角度编码图像特征信息,进而提高网络的分割性能。将各部分输出的特征图进行通道拼接,最后,利用1×1卷积调整通道数,得到聚合多尺度语义信息的特征图。

1.4 损失函数

损失函数用于衡量预测值与真实值之间的偏差, 对于评价网络分割性能非常重要。 普通二元交叉熵函数在样本不平衡任务中易陷入局部最优, 从而降低分割性能。 Focal Loss相比二元交叉熵函数多了一个调节因子(1-pt)γ, 能够随着训练过程自适应调节学习权重, 即减少简单样本的权重, 增加分类不准确样本的权重, 使网络聚焦于难分样本, 有助于提高模型的整体性能[31]。 本文选取Focal Loss作为损失函数处理泥页岩裂缝分割中正负样本不平衡的问题, 将学习权重更多地聚焦于少量的裂缝样本, Focal Loss函数定义如下,

FL(pt)=-(1-pt)γlog(pt)

(3)

(4)

2 实验与结果分析

2.1 数据采集与预处理

本文使用试样为宁明盆地泥页岩,试样加工成直径60 mm、高40 mm的圆柱体,使用phoenix v|tome|x m微米CT进行扫描,采用分层扫描方式获得1 426张分辨率为1 612×1 686的CT序列图像。泥页岩裂缝在岩体纵向上呈现出数量和形态上的明显差异,间隔150帧采样的原始泥页岩CT灰度图像如图5所示。

(a)第150帧;(b)第300帧;(c)第450帧;(d)第600帧;(e)第750帧;(f)第900帧;(g)第1 050帧;(h)第1 200帧。图5 各帧CT图片Fig.5 CT images of each frame

由于宁明泥页岩内部裂隙与外部环境连通,风化破碎后试样边缘有碎块掉落,网络进行分割时会将碎渣与试样之间的区域误判为裂隙,利用圆形掩膜裁掉图像边缘作为新的待分割区域。中值滤波和均值滤波等传统滤波算法虽然一定程度上抑制了噪声,但是会模糊图像的边缘细节。Buades等人提出的非局部均值算法[32]可以有效降低岩心CT图像中的高斯噪声,并且保留岩心的细节特征和物质间的空间相关性[33-34],故本文采用非局部均值滤波对数据进行降噪处理。将数据集中所有CT图像裁剪为256×256大小,以缓解GPU显存不足问题,并每隔20帧提取一帧制作二值标签,防止因样本相似造成网络过拟合,将泥页岩裂缝区域像素标注为白色,其余部分标注为黑色。人工标注费时费力,因此,对标注好的数据集进行翻转、旋转、仿射变换等数据增广操作以扩充数据集,最终得到4 160张带有标注信息的泥页岩裂缝CT图像组成数据集,命名为MudshaleCrack,部分数据集图像及其标签如图6所示。将预处理好的数据集划分成训练集、验证集和测试集,比例为8∶1∶1。

图6 MudshaleCrack数据集与标签Fig.6 MudshaleCrack dataset with labels

2.2 分割精度评价指标

为了评估网络的分割性能,引入混淆矩阵表示每个类别识别正确或错误的数量,如表1所示。NTP表示正确预测为裂缝的白色像素数量;NTN表示正确预测为背景的黑色像素数量;NFP则表示背景被错误预测为裂缝的白色像素数量;NFN表示裂缝被错误预测为背景的黑色像素数量。

表1 混淆矩阵Tab.1 Confusion matrix

选择精确率(precision,Rpre)、召回率(recall,Rrec)、像素准确率(pixel accuracy,PA,式中简记RPA)、F1分数(F1-score,式中简记F1)和交并比(intersection over union,IoU,式中简记IIoU)5个评价指标量化预测结果与真实标注中裂缝区域的一致性,各指标定义如下。

(5)

(6)

(7)

(8)

(9)

式中:精准率Rpre表示预测结果中,像素被预测为裂缝的比例,衡量是否有误判;召回率Rrec表示在真实值中,像素被预测为裂缝的比例,衡量是否有遗漏;F1分数是整合精准率和召回率的一个判定标准,F1越高说明裂缝像素被漏检少的同时误判也少;RPA表示预测正确结果占所有像素的百分比;IIoU表示人工标注裂缝和网络预测裂缝的交集与其并集的商值,用来测量真实值与预测值之间的相关性。

2.3 实验参数设置

本实验使用PyCharm作为编译器,在64位Windows10操作系统上搭建Pytorch版本为1.10.1+cu113的编程环境。CPU为Intel Xeon Platinum 8251,显卡为Nvidia GeForce RTX 3060, 显存为12 GB。

对MudshaleCrack数据集图片进行归一化处理,提高数据的表现力。训练阶段批大小(batch size)设置为8,训练迭代轮次(epoch)设置为100轮。为防止难易样本的频繁变化,选取Adam优化器和指数衰减学习率的组合收敛网络。为了避免过拟合,网络训练过程中采用Dropout策略,因子设置为0.3。

实验分为训练验证和测试两个阶段。训练验证即在训练集上进行训练,然后在验证集中进行模型筛选,整个训练验证阶段中的最佳模型为验证集IoU最高的模型,训练结束后保存最佳模型权重;测试阶段使用测试集对最佳模型进行测试,得到评价指标和分割结果。

2.4 实验结果分析

2.4.1 不同算法对比实验

为了评估本文所提网络对泥页岩裂缝分割的有效性和可行性,在MudshaleCrack数据集上采用5个评价指标与其他表现优异的深度学习语义分割模型进行对比实验,对比算法分别为U-Net[19]、SegNet[20]、TransUNet[23]、Attention U-Net[35]、R2UNet[36]、UNet3+[37],除了将SegNet批大小设置为1外,其余5种对比网络的训练策略与本文网络保持一致。

2.4.2 消融实验

训练完成后,用验证集进行消融实验,选用Focal Loss作为损失函数,讨论在U-Net网络基础上,将标准卷积替换为残差模块,以及引入多尺度特征融合模块对提高裂缝分割性能的有效性。实验结果如表2所示。

表2 消融实验结果Tab.2 Ablation experiment results 单位:%

从表2中可以看出,使用残差模块ResBlock替换U-Net网络模型中的常规卷积,F1分数较原网络提高0.014 3,IoU提高0.036 5。在U-Net网络中添加MSFF模块,F1分数较原网络提高0.018 3, IoU提高0.048 6。 在融合残差结构的网络中添加MSFF模块, 使测试结果的F1值提高0.043 7,IoU提高0.067 1。消融实验结果表明残差模块和MSFF能够感知更多的裂缝多尺度信息,使模型的性能有一定的提升。

2.4.3 测试阶段结果分析

为了证实MCS-Net对U-Net改进的有效性,与不同的改进U-Net算法进行对比实验。测试集中部分裂缝分割可视化结果如图7所示,图7(a)为原始CT图像,图7(b)为人工标注真实结果,图7(c)~7(i)分别为采用本文方法MCS-Net、Attention U-Net、SegNet、TransUNet、U-Net、UNet3+和R2UNet得到的裂缝分割结果,并将各网络可视化结果中用红框和绿框标记的区域在下方进行放大展示。

图7 各模型裂缝分割可视化结果Fig.7 Visualization results of crack segmentation for each model

从图7可知, 各网络之间分割结果具有较大差异。 当泥页岩CT图像中的裂缝较细、 尺寸较小时, 对比网络出现不同程度的漏检现象, 如Attention U-Net第2)行绿框、 U-Net第3)行绿框、 TransUNet第1)行红框等。 当裂缝结构较复杂时, 对比网络出现了不同程度的误检和漏检, 如Attention U-Net第3)行绿框、U-Net第2)行绿框、SegNet第3)行绿框等。当泥页岩基质与裂缝灰度值相似时,对比网络出现了不同程度的误检,如UNet3+第4)行红框,其中,R2UNet误检较多,原因是错误地将用于裁剪的圆形掩膜边缘识别为裂缝。从测试集分割结果看,7种网络模型基本都可以较好地分割出裂缝的形态,但本文方法(MCS-Net)漏检更少,裂缝分割结果更连续、细节信息更丰富。

在数据集上测试了精确率、召回率、像素准确率、F1分数和IoU等评价指标,实验结果如表3所示,加粗项代表了该项指标的最优结果。

表3 测试集中各网络评价指标对比Tab.3 Comparison of network evaluation indicators in the test set

从表3中可知,本文所提模型在测试集上的recall、IoU和F1值最高,其中,IoU比初始网络U-Net高出0.042 8,F1值比U-Net高出0.090 3。 这充分表明了本文方法所采用的残差模块和MSFF模块可以保留更多的语义信息, 在泥页岩裂缝分割性能上更有效。 单张图片预测时间表明SegNet网络检测速度最快,本文方法排在第4,虽然残差模块可以有效缩短训练时间,但MSFF模块使网络整体变得较为复杂,当实验软硬件环境配置较高时,一定程度上可以忽略检测单张图片的速度指标。

3 结语

针对裂缝结构复杂、尺度范围大、小裂缝较难分割的问题,本文基于U-Net提出了一种融合残差和多尺度特征的泥页岩裂缝分割网络MCS-Net。残差模块用来代替原U-Net网络中的普通卷积,加深网络深度,在避免网络退化的同时保留更多的特征细节,逐层下采样使网络获取充分的上下文信息。采用多尺度特征融合(MSFF)模块,将提取到的高语义特征进行多尺度融合,兼顾大范围裂缝和微小裂缝,以此提高网络的感知能力。实验结果表明,本文方法取得了较好的分割性能,在测试集上IoU和F1值比U-Net网络分别提高了0.042 8和0.090 3。泥页岩CT图像的层间信息对准确分割泥页岩裂缝具有重要意义。在后续研究中,将进一步关注泥页岩CT图像的三维信息和裂缝的连通性。

猜你喜欢
残差页岩尺度
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
财产的五大尺度和五重应对
基于递归残差网络的图像超分辨率重建
页岩气开发降温
宇宙的尺度
平稳自相关过程的残差累积和控制图
9
我国页岩气可采资源量初步估计为31万亿m3
页岩气是什么?