融合多种深度学习模型的岩石铸体薄片孔隙自动分割方法

2023-08-06 03:39李天平李功权
科学技术与工程 2023年21期
关键词:薄片编码器孔隙

李天平, 李功权

(长江大学地球科学学院, 武汉 430100)

铸体薄片图像孔隙结构分析是认识地下储层孔隙结构特征的重要手段之一。在实际应用中,常常采用目测法、计数统计法和图像处理算法对铸体薄片图像进行分析分割孔隙区域。但这些方法不仅要求研究人员具备专业的地质知识,分割结果受主观因素影响较大,而且分割过程需要花费大量时间,导致效率不高。如果实现铸体薄片图像孔隙分割过程的自动化,可大幅度减少分析者的工作量,提高结果的客观性。铸体薄片图像孔隙分割作为孔隙结构分析的首要任务,研究其孔隙自动分割方法具有重要的实际意义。

用于孔隙分割的传统图像处理方法有阈值法、边缘检测法、区域生长算法、分裂合并法、聚类分割法和基于图论分割算法[1-3]。Liang等[4]提出了一种改进的基于混沌的半监督支持向量机-模糊C均值聚类(support vector machine-fuzzyC-mean cluster,SVM-FCM)算法分割铸体薄片中的岩石和孔隙。为了实现更高的分割准确率和自动化,张建立等[5]将遗传算法引入了矿石图像分割领域。朱磊等[6]基于改进模糊C均值聚类和区域合并完成矿物颗粒分割方法。但这些算法只利用了铸体薄片中的颜色特征进行分割,需要大量人工交互才能实现孔隙分割。

在语义分割领域,深度学习中主要使用卷积神经网络,是目前构建语义分割模型的主要算法[7]。Tang等[8]利用Unet模型对砂质岩薄片中的孔隙、岩屑、长石颗粒、石英颗粒和致密颗粒进行分割,并且与点计数法的准确率进行了比较,认为深度学习算法可以用于铸体薄片图像识别。覃本学等[9]利用Debseg-Net完成岩屑图像语义分割。马陇飞等[10]利用深度学习完成了对岩性分类的研究。极大推动了深度学习在石油开发领域的应用具有很高的借鉴意义。鉴于碳酸盐储层岩性的识别有助于减少渗透率和油气体积预测的误差,Carlos[11]设计了4个深度学习分类模型对铸体薄片中碳酸岩岩性进行分类,最高准确率达到81.33%。Karimpouli等[12]在只有20张岩石薄片的情况下利用数据增强技术和SegNet分割模型完成了对薄片中的孔隙、石英、钾长石、锆石和其他矿物的分割。李明超等[13]结合矿物知识对矿物的颜色和亮度进行判别,强化纹理特征,利用Inception-v3模型和迁移学习方法建立了矿物深度学习模型。王李管等[14]利用深度学习中卷积神经网络进行迁移学习来解决模型训练问题,完成了对黑钨矿图像识别网络训练,其模型精度为99.6%,该研究证明了迁移学习具有快速收敛、所需数据集小和分类准确的优点。综上可知,深度学习在石油地质领域应用广泛,但是针对铸体薄片所做工作较少,而且没有对数据质量进行改善。因此针对这一问题,通过深度学习与多种方法融合实现铸体薄片孔隙自动提取。

为了更好地在孔隙分割领域应用深度学习,现对Unet模型进行改进,并使用一系列方法来解决铸体薄片图像数据问题。期望通过对模型改进和改善数据质量提高孔隙分割精度并减少对数据量的依赖。

1 实验原理

储层孔隙结构形态各异,空间分布复杂,难以获取更高级的孔隙抽象特征;孔隙标注难度大,对铸体薄片图像快速标注困难;受采样的影响,铸体薄片图像数量并不多,其质量也有可能不高,制作庞大的铸体薄片图像数据集以及提高深度学习模型的准确率是亟须解决的问题。

针对上述4个问题,提出了一套多方法融合的铸体薄片图像孔隙分割方法(图1)。针对获取更高级的孔隙抽象特征问题,采用图像超分辨重建技术提高图像分辨率,使图像中孔隙特征更明显;使用数据增强算法提高样本多样性,为模型提供更多形态的孔隙特征;针对孔隙标注难度大,利用传统的图像处理方法比如阈值法识别大部分孔隙,减少标注工作量。改进Unet模型编码器部分引入残差网络加深模型,增强模型提取抽象特征的能力。为缩短训练周期,引入ImageNet数据集上的ResNet50和ResNet101模型,将其结构作为编码器主干特征分割网络,其模型权重作为预训练权重,提高训练速度。

Residual Block表示残差模块;Decoder Block表示解码器模块;Weight layer表示权重层;Conv layer表示卷积层;MaxPool表示最大池化;UpConv表示上卷积

1.1 薄片图像超分辨率重建

高质量的数据集是训练一个性能良好的深度学习模型必不可少的条件之一。原始铸体薄片图像可能存在边缘模糊、图像质量不佳等问题。如果直接采用卷积神经网络对原始铸体薄片图像进行特征抽取并学习容易受图像质量影响、特征抽取不充分或者出现抽取错误等问题。通过图像超分辨重建提高分辨率,有利于卷积神经网络更好地提取图像孔隙的特征。

图像超分辨率重建是通过计算机数字图像处理技术从低分辨率图像中构建出包括大量细节信息的高分辨率图像。超分辨图像重建主要分为3类:基于插值算法、基于重构算法和基于学习算法。前两种属于传统的图像重建方法。

由于深度学习优势,基于学习算法的超分辨率重建已成为主流方法。真实的增强型超分辨生成对抗网络(real-world enhanced uper-resolution generative adversarial networks, Real-ESRGAN)是一种基于单幅图像生成带有真实感纹理的高分辨图像算法[15]。其生成网络模型删除了所有批归一化层,并引入多级残差密集连接模块(residual-in-residual dense blocks,RRDB),该结构具有更深的层次和更加复杂的结构,能够有效提高模型性能。其判别网络是一个带有光谱归一化层(spectral norm)的Unet网络模型,光谱归一化层有利于减轻生成对抗网络训练引入的过度锐利和伪影,输出结果为每个像素是真实高分辨图像的概率,可以为生成模型提供每个像素的反馈。因此,Real-ESRGAN方法可获得更逼真、更自然的纹理特征。故选择Real-ESRGAN对铸体薄片图像进行超分处理。

1.2 数据增强及标注

数据增强也称为数据扩增,指在不实质性的增加数据情况下,让有限的数据产生更多变种,让有限的数据产生等价于更多数据的价值。对数据集进行数据增强,保证网络学习更多的样本特征,防止网络出现过拟合。主要采用裁剪、缩放、旋转、锐化和随机加噪声等方法来模拟孔隙结构的复杂性。

由于图像中孔隙分布广泛且形态不规则,通过手动标注效率非常低。为解决这一问题,采用传统图像处理算法完成大部分孔隙标注。经过测试,阈值法调参简单能快速识别大部分孔隙,但存在部分孔隙与岩石颗粒颜色接近无法识别。如图2所示在红绿蓝(red-green-blue,RGB)颜色空间中部分铸体薄片图像中孔隙与岩石颗粒边界不清楚,而在色度-饱和度-亮度(hue-saturation-value,HSV)颜色空间下孔隙更容易区分。为解决这一问题,采用颜色空间转换将RGB颜色空间转为HSV颜色空间,再利用阈值法完成孔隙分割。

图2 不同颜色空间下的铸体薄片图像

1.3 铸体薄片深度学习模型

Unet网络适用于训练边缘不规则的小目标数据集,在医学图像分割领域表现优异[16]。铸体薄片中孔隙与器官存在一定的相似度,因此选择Unet作为基本网络结构。它由编码器和解码器两部分组成,形成U形结构。编码器网络利用最大池化层进行逐级下采样获取更多特征,而解码器利用反卷积进行上采样获取像素级分割结果图。为弥补编码器不断下采样过程中丢失的特征,在编码器与解码器对应层间进行特征融合,使得解码器获得更多的特征,进而更完善的恢复细节信息,提高分割精度。但是原始的Unet编码器只有4层,每一层有两个卷积模块,编码器无法为解码器部分提供更复杂的图像特征。考虑铸体薄片图像中孔隙形态各异,部分孔隙与岩石颗粒颜色接近边界不易识别的特点,改进Unet模型的编码器抽取更复杂的铸体薄片图像孔隙分割。

残差网络(图1中Residual Block)的主要功能是为解决网络层数加深导致的梯度消失或爆炸[17]。残差网络中的支路连接相对应同等映射,不会产生额外的参数,也不会增加计算复杂度。在Unet编码器中加入残差网络既可通过加深网络深度达到学习铸体薄片图像孔隙特征的同时,又避免了梯度消失和网络退化(R-T-Unet)。

R-T-Unet模型编码器网络越深,对孔隙特征的分割就越抽象,更有利于孔隙的分割。但是,随着深度增加参数量越多,需要的训练数据越多,需要训练的时间越久,对算力要求也越高。因此编码器层数不是越深越好。制作大量的铸体图像集需要耗费大量的时间用于孔隙的标注,这种做法显得不切实际。为解决数据量较少的影响,从而提高模型训练能力以及加快模型收敛速度,引入迁移学习思想[18-19]。相对于从随机初始化的权重开始训练网络,利用迁移学习微调网络要快得多也容易得多。在使用少量的带标签数据的训练数据情况下,迁移学习能快速地将所学的特征转移到新的任务中。

为了找到最适合孔隙分割的编码器层数,借鉴ImageNet数据集训练的Resnet50和Resnet101网络模型,设计了两种编码器网络分别将编码器层数加深至50层和101层,分别命名为R-T-Unet50和 R-T-Unet101。R-T-Unet50和R-T-Unet101的编码器主要分为4部分,以不同颜色表示(图3),每一部分都堆叠残差网络,第一部分重复堆叠3次,第二部分重复堆叠4次,第三部分R-T-Unet101堆叠了23次而R-T-Unet50堆叠6次,第四部分堆叠3次。R-T-Unet101和R-T-Unet50两个模型进行了4次下采样和4次上采样。

Conv表示卷积操作;Concatenate表示连接操作

训练R-T-Unet50和R-T-Unet101模型时,先使用经过ImageNet数据集训练的Resnet50和Resnet101分别作为R-T-Unet50和R-T-Unet101编码器的预训练权重,以缩短模型训练时间。

1.4 模型优选方法

为了评估铸体薄片图像孔隙分割效果,需要对模型分割效果进行评估。由于铸体薄片中孔隙占比小而岩石颗粒占比大,不适合用准确率(accuracy)。因为准确率表示正确样本数量占全部数量的百分比,即使孔隙全部预测错误而岩石颗粒预测正确,准确率依然很高。并交比(intersection over union,IoU)只受孔隙分割效果影响,可以排除岩石颗粒对其影响。除了交并比外,还使用精确率(precision,P)和召回率(recall,R)更全面地评价孔隙分割情况。

交并比(IoU)是语义分割中常用的模型评价指标,它是模型对某一类预测结果和真实值的交集与并集的比值,能直观展示模型对每一类别的检测性能,计算公式为

IoU=TP/(TP+FN+FP)×100%

(1)

式(1)中:FN为预测为岩石颗粒实际上是孔隙部分;FP为预测为孔隙实际上是岩石颗粒部分;TP为预测为孔隙实际上也是孔隙部分。

精确率P表示铸体薄片图像中被模型预测正确的个数占全部预测的比例,衡量了模型对负样本的区分能力,精确率越高,模型对负样本区分能力越强,计算公式为

P=TP/(TP+FP)×100%

(2)

召回率R表示铸体薄片中被模型预测正确孔隙的像素个数占图像中孔隙像素总数的比例。衡量了模型对正样本的区分能力,召回率越高,模型对正样本区分能力越强,公式为

R=TP/(TP+FN)×100%

(3)

2 实验过程

2.1 图像预处理

2.1.1 图像超分辨率重建

目前DIV2K、Flickr2k和OST这3个图像数据集中包含了大量的岩石图像,可以利用这3个数据集对Real-ESRGAN模型进行训练。从重建的结果来看(图4),超分辨率重建图像的孔隙图像边缘更清晰,原图像中比较模糊的孔隙得到了增强,说明Real-ESRGAN对岩石类图像超分辨率重建效果好。

图4 超分辨率重建图像与原图对比

2.1.2 图像标注与增强

标签数据集采取半自动结合人工方法对铸体薄片孔隙进行分割。对于铸体中部分孔隙利用颜色空间转换结合阈值法完成孔隙标注。剩余孔隙则利用ImageJ提供的Paintbrush Tool手动进行孔隙标注。将所有的标签数据分割成512×512×3作为模型输入数据,分割后一共得到433张图像。

Albumentations库是一个快速训练数据增强库,拥有非常简单且强大的可以用于多种任务(分割、检测)的函数。它可以对数据集进行逐像素的转换,如模糊、下采样、RGB转换、裁剪和翻转等。使用Albumentations对铸体薄片图像进行裁剪、缩放、旋转、锐化和随机加噪音操作增加图像数量(图5)。

图5 图像增强与原图对比

2.1.3 确定网络训练参数

在大部分的铸体薄片图像中,岩石颗粒占大部分而孔隙只占小部分。针对铸体图像中孔隙与岩石颗粒占比极度不均衡问题,模型训练过程中采用Dice Loss作为损失函数,计算公式为

Loss=1-2|X∩Y|/(|X|+|Y|)

(4)

式(4)中:X为预测孔隙部分;Y为真实孔隙部分;|X∩Y| 为预测孔隙部分与真实孔隙部分的交集;|X|+|Y|为预测孔隙部分加上真实孔隙部分相加。

Dice Loss损失函数忽略岩石颗粒预测正确部分,可以减少岩石颗粒对损失函数值的影响,加深孔隙对损失函数值的影响[20]。因此Dice Loss损失函数能在正负样本不均衡情况下更好地完成模型训练。

鉴于Adam泛化性能比其他优化器好,模型优化函数采用Adam,计算高效对内存需求少,是训练神经网络的首选[21]。其他网络训练参数设置如表1 所示。

表1 网络训练参数设置

2.2 实验结果

在Pytorch框架下进行R-T-Unet50和R-T-Unet101 模型和Unet模型训练,图6是3个模型在训练中损失函数变换曲线图。从图6可知,R-T-Unet101 比R-T-Unet50收敛速度慢但比Unet快,但最后的训练结果是R-T-Unet101的效果最好。综合收敛速度和训练效果,R-T-Unet101表现最好。

epoch表示完整的数据集通过神经网络的次数

3 实验结果讨论

使用精确率P、召回率R、交并比IoU、训练时间和模型大小对模型进行评价,如表2所示。

表2 模型预测性能评估、模型大小及训练时间

观察表2中各模型的交并比、召回率、精确率,R-T-Unet50和R-T-Unet101 都要优于Unet模型。由此可以证明在Unet编码器部分引入残差网络能够提高模型分割性能。在R-T-Unet101和R-T-Unet50 参数量大于Unet模型参数量情况下,所需的训练时间反而少于Unet模型,这说明利用迁移学习思想训练模型的效果非常明显。相对于R-T-Unet50,R-T-Unet101在交并比、召回率和精确率指标上表现得更好。层数更深的R-T-Unet101分割效果要优于R-T-Unet50,但是R-T-Unet101的训练时间比R-T-Unet50更久,模型参数量也要比R-T-Unet50更多。虽然R-T-Unet101在参数量最大,训练时间比R-T-Unet50更久,但是模型的分割性能才是最重要的影响因素,因此认为R-T-Unet101为最优模型。

图7展示了Unet、R-T-Unet50、R-T-Unet101模型在铸体薄片图像上的分割效果。Unet模型分割错误率较高,主要表现在孔隙与岩石颗粒边界识别存在错误。R-T-Unet101对孔隙分割以及孔隙边缘分割相对精细,没有过多的错误。由图7中原图中红圈部分可以看出,R-T-Unet101的识别效果要好于R-T-Unet50和Unet。由此可知,R-T-Unet101泛化能力要比R-T-Unet50强。

图7 模型预测差异对比图

以上结果证明,R-T-Unet101深度学习迁移模型可以更好地利用卷积神经网络自动提取铸体薄片图像的孔隙特征,从而更好地进行孔隙分割。

4 结论

(1)针对铸体薄片图像孔隙分割遇到的问题,提出的解决方案能够高效地完成孔隙分割工作。经过综合评价分析,R-T-Unet101模型对铸体薄片中孔隙分割效果最优。

(2)图像高分辨重建模型Real-ESRGAN可提高铸体薄片图像分辨率,提高了因铸体薄片图像质量较差的分割效果。

(3)引入残差网络改进Unet编码器部分 (R-T-Unet)可以更好地抽取图像孔隙特征,能够提高模型对图像孔隙的分割能力。

(4)引入经过ImageNet数据集训练的ResNet101模型作为R-T-Unet编码器主干特征分割网络,其模型权重作为预训练权重,能够提高模型训练速度。

猜你喜欢
薄片编码器孔隙
来自森林的植物薄片
二氧化碳在高岭石孔隙中吸附的分子模拟
基于FPGA的同步机轴角编码器
你真好
你真好
Preparation of bimodal grain size 7075 aviation aluminum alloys and the ir corrosion properties
基于PRBS检测的8B/IOB编码器设计
页岩孔隙结构研究进展
JESD204B接口协议中的8B10B编码器设计
多总线式光电编码器的设计与应用