王 庆,曾齐红,张友焱,邵燕林,魏 薇,邓 帆
(1.长江大学地球科学学院,湖北 武汉 430100;2.中国石油勘探开发研究院,北京 100083)
碳酸盐岩储层解释与评价的一个重要内容是确定其孔隙空间特征,定量识别碳酸盐岩中裂缝和孔洞的分布状况及其内部的几何结构对储层评价具有重要意义。传统上储层的孔隙空间特征是通过钻井和地震资料获取,孔洞提取方法是利用薄片观察或者岩心CT扫描等技术,通过样品从储层内部精细、微观地刻画洞缝信息。而野外地质露头是钻井和地震的桥梁,其作为地下储层的类似体具有直观性的特点[1-2]。基于野外地质露头的孔隙空间特征描述可以作为上述微观孔洞和地震宏观孔洞的有效补充。目前露头研究通常是现场调查和手工绘制,基于激光扫描的数字露头技术可以实现精细、定量和仿真露头研究,在数字露头上研究图像缝洞自动识别能够提升工作效率并实现定量化,同时在缝洞结构识别后,结合露头地质特征(构造、沉积、成岩)明确孔洞成因类型与发育规律,为区域地质勘探过程中储层预测提供依据。因此,如何利用数字图像识别技术来完成露头区的缝洞自动识别是一项具有实际意义的课题。
自Meger和Becher于1990年使用图像分割技术获取成像测井图像孔洞面元及其分布等特征参数,图像处理技术开始应用于测井成像资料缝孔洞的自动识别[3],国内外学者已广泛采用阈值分割[4-6]、边缘提取[7-8]、机器学习[9-12]等方法实现测井成像资料缝洞的自动识别,但野外露头由于受自然条件影响很大,比如光照差异、岩石本身的破碎、风化等,传统的图像自动识别的方法难度很大,因此在露头缝洞识别上目前主要还是以人工识别方法为主[13]。近年来,深度学习算法在人工智能领域兴起,已在计算机视觉、语音识别、语义识别、强化学习等领域取得很大成功,促进了人工智能的飞速发展,其中基于卷积神经网络(Convolutional Neural Network, CNN)的目标识别在自然图像应用中取得突破。目前基于卷积神经网络的目标检测包含两大类方法。第一种是基于区域建议的方法,它的核心思想是通过候选区域预先找出待检测图像中目标可能出现的位置,该方法主要包括SPP-NET[14]、Fast-RCNN[15]、Faster-RCNN[16]、R-FCN[17],Mask-RCNN[18]等算法。第二种是基于回归的方法,对于目标的位置和类别采用回归运算的方法,直接在卷积神经网络中通过回归得到目标的位置和目标的类别。主要包括YOLO[19]、SSD[20]等算法。总体来说第一种方法精度较高,第二种方法速度较快。本文对Mask-RCNN进行改进,提出一种基于多尺度的区域卷积神经网络孔洞检测新方法,并通过实验与现有的几种常用的孔洞识别方法进行比较;然后根据该方法孔洞提取结果计算洞数量、面孔率和洞面积均值三个孔洞特征参数,以人工提取结果为参照,评估孔洞特征参数提取的准确度;最后将本文提出的方法以峨边先锋灯二段的野外露头为例,进行露头剖面的孔洞自动识别,并分层计算孔洞参数,定量分析其分布特征。
卷积神经网络具有强大的图像特征提取能力,其应用于图像目标检测领域后,从R-CNN发展到Fast-RCNN,然后发展到Faster-RCNN,使得深度学习在图像目标检测领域的应用取得突破性的进展,但是它们只能检测到图片里是否有对象,把有对象的地方用矩形框标记出来,没有将对象分割出来。而Mask-RCNN通过在Faster-RCNN的基础上添加一个分支网络,在实现目标检测的同时,把目标像素分割出来。
Mask-RCNN是一种可达像素级实例分割的深度学习模型,它的检测流程主要包含三个步骤:(1)通过卷积神经网络进行特征提取;(2)通过区域建议网络(Region Proposal Network, RPN)提取建议区;(3)分类和回归,精确预测目标的位置和类别。Mask-RCNN模型框架如图1所示,其中共享卷积层就是CNN去掉全连接层和输出层剩下的部分,主要作用是特征提取并得到特征图。本文选用ResNet-101[21]结构作为共享卷积层;区域建议网络是只包含卷积层的全卷积神经网络,它在最终的卷积特征层上利用K个不同的矩形框预测目标可能的位置提取候选矩形框;建议区对齐层(Region of Interest Alignment, ROIAlign)通过双线性内插和池化的方法从每个建议区中提取大小一致的特征图。在训练时,Mask-RCNN模型的多任务损失函数由三个部分组成。
图1 Mask-RCNN框架
(1)
碳酸盐岩缝洞型储集空间按形态和规模可分为溶缝、溶孔、溶洞和洞穴4种类型,它们构成了尺度差异大、规模巨大的特殊储集体。在野外露头中主要是溶洞以上的中大尺度的孔洞表现,其直径从毫米级到米级不等、尺度跨度很大,因此我们的模型必须具有多尺度对象识别的能力。卷积神经网络对目标大小的识别能力主要由卷积核的感受视野和卷积层的层数决定,卷积层层数越多抽象能力越强,更容易识别复杂的目标,但同时可能会丢失小的简单目标,Mask-RCNN模型通过特征金字塔解决了卷积层层数的多尺度问题,而本文为了进一步提高Mask-RCNN在实际露头孔洞检测的准确度,提出一种多尺度输入的方法对Mask-RCNN进行改进,主要思路是在不改变卷积核大小的情况,通过改变输入图片的大小,使得卷积核的相对感受视野发生改变,原理类似于人眼识别图片中目标,缩小时有利于识别较大尺寸的孔洞,而放大时有利于识别较小尺寸的孔洞。具体实现方法是:对于输入图片不同程度的放大和缩小,得到多种尺度的图片,分别经过共享卷积层和RPN得到不同尺度的建议区,这些建议区经过ROIAlign时进行大小还原操作,最后合并在一起再按照Mask-RCNN剩下的步骤去检测,如图2所示。对原始Mask-RCNN检测流程中发生改进的位置我们用红色框标注。由于三种尺度图片在训练和检测模型网络参数都是共享的,没有增加整个模型参数量,因此当计算机性能可以满足模型运行时,就不会明显增加运算时间,但对于孔洞检测尺度跨度会明显提高。
图2 Mask-RCNN多尺度输入改进
本节使用上节设计的多尺度区域卷积神经网络模型,对野外露头剖面影像进行孔洞的提取实验,与传统图像识别的方法比较,验证模型的先进性。
对于深度卷积神经网络模型,通常包含大量的网络参数,这需要大量的训练样本才能有效地训练模型,但在实际应用中很难获取大量的训练样本,在深度学习领域中通常用迁移学习的方法解决这个问题,即用公开数据集对模型参数初始化,再用自建的小数据集进一步微调模型,这种训练方式已经被证明是有效的[22]。在本文中,使用微软发布的Microsoft COCO作为预训练数据集,该数据集包含约30多万张图片、200多万个物体被标注、分为91个类型,每一类物体的图片包含精确的分割信息,是目前每张图片平均包含目标数最多的数据集[23],通过该数据集训练原始的Mask-RCNN,将训练后的模型参数对本文模型中相同的部分进行初始化,然后再用自己制作的孔洞数据集继续训练,这样可以实现迁移学习,解决样本不足的问题。
本次实验数据选用高分辨率数码相机宾得645D拍摄的峨边先锋灯二段高清相片,影像的分辨率为2 mm,大小为800 mm×800 mm。然后通过一款开源的图像标注工具VGG Image Annotator制作样本集[24],共采集189个孔洞作为训练样本,另外选择选取2个区域,大小同样为800 mm×800 mm进行准确度分析。
洞缝识别和表征基于不同的方法,不同的方法能够识别和表征的洞缝大小也存在差异。基于数字露头的孔洞识别能力与原始数据的分辨率和识别方法有关,本文采用的影像的分辨率为2 mm,对于基于区域卷神经网络的实例分割方法,是以面要素为检测结果,因此该最小检测单元直径是2个像素,能检测的最小孔洞尺寸为4 mm。综上所述本文实验中能分辨的储集空间类型主要是以溶洞为主。
对于模型中的多尺度输入,我们将原始图片缩放为三种比例,分别是0.5、1、2,(数字表示相对于原图的大小比例),在训练和检测的时候都按照这三种尺度输入,模型的其他主要参数设置为:结合本次实验孔洞尺寸的主要范围,设置RPN预测窗口大小{82,162,322,642,1282};非极大值抑制阈值0.7;采用SGD结合动量的优化方法:动量0.9,网络训练第一部分(固定ResNet101权重,训练其他网络参数)学习率0.001,训练批次设置为100;网络训练第二部分(训练所有网络层参数)学习率0.000 1,训练批次设置为100;网络正则化权重衰减系数0.000 1;多任务损失权重系数均为1。
2.3.1 与其他方法的对比实验
为了检验模型的变化检测效果,与传统的孔洞检测方法进行了对比实验。在图像中孔洞的特征是色调上呈暗色调,传统方法一般采用二值化分割或者机器学习将孔洞和背景分离。本文选用OSTU分割法、分水岭分割法、BP神经网络法以及支持向量机法与本文提出的模型进行对比实验。其中OSTU分割法、分水岭分割法首先需要将彩色图像灰度化,本文采用加权平均法将原始RGB图像灰度化,然后分别使用OSTU、分水岭方法进行二值分割。BP神经网络法、支持向量机法属于监督分类法,本文从图3的红色区域中均匀选取了训练样本89 712个像元(其中孔洞样本33 218,非孔洞样本56 494),测试样本28 267个像元(孔洞样本15 743,非孔洞样本12 524)。BP神经网络基本结构为输入层神经元为3,输出层神经元为2,隐层共3层,神经元数量为30;支持向量机法采用高斯径向基函数,利用网格搜索和交叉验证进行参数优化,得到的最优参数为惩罚因子C=1.527,核函数参数g=0.136。精度评价指标采用机器学习中二分类的精度评价指标,包括精准率、召回率、准确率、F1-Score 4个指标[25]。
图3 实验区域一孔洞检测结果
选择两个实验区域进行结果的比较,图3是实验区域一的检测结果,从图3中可以直观看到传统方法很难将图中下方的由于岩石破碎造成的阴影与真实的孔洞区分开来。图4是实验区域二的检测结果,图4中可以直观看到传统方法很难将图中岩石的阴影与真实的孔洞区分开来。而Mask-RCNN明显提高了这方面检测精度,精准率比传统方法要明显提高,但还是容易漏检一些尺寸较小的孔洞。在经过本文的多尺度输入改进之后,召回率明显提升。两个实验不同方法检测结果的精度评价结果分别如表1、表2所示。从两个实验的结果来看,本文提出方法的精度指标总体上要强于其他方法。传统方法只考虑像元的亮度特征,很难将图片中的阴影、缝隙和孔洞区别开来;而本文的方法是基于区域的,考虑了目标的几何、纹理、空间关系特征,可以将它们区分开来。本文在Mask-RCNN基础上进一步改进之后不仅可以达到像元级的检测精度,而且可以避免传统基于像元方法的弊端。
图4 实验区域二孔洞检测结果
表1 实验区域一孔洞检测结果精度对比
表2 实验区域二孔洞检测结果精度对比
2.3.2 孔洞特征参数提取与准确度验证
为了进一步验证方法的有效性,在提取孔洞之后,选取洞数量、面孔率和洞面积均值三个特征参数,比较模型检测和人工检测统计特征参数结果的差异。和传统方法不同的是,本文的方法是一种基于像素的实例分割方法,可以直接得到的每个洞的要素对象,不需要再进行边缘提取,特征参数的统计更为简单。实验区域一特征参数结果为:洞数量28个、面孔率0.95%、洞面积均值224.1 mm2;实验区域二特征参数结果为:洞数量43个、面孔率0.88%、洞面积均值131.69 mm2。模型检测的结果与人工检测结果比较如表3所示。可以看到洞数量准确度在88%以上,面孔率准确度在93%以上,洞面积均值准确度在93%以上。另外对洞面积分布进行直方图统计,图5是实验区域模型检测结果与人工结果比较,从图5看出,模型检测与人工检测结果在洞面积分布上也是基本吻合。
图5 实验区域洞面积直方图分布结果对比
表3 实验区域孔洞特征参数结果对比
本节将多尺度区域卷积神经网络方法应用于峨边先锋灯二段露头孔洞提取与分布的定量表征。
自然环境及风化淋滤等都是野外地质露头研究的影像因素,为了减少影响,选择风化较小、无植被覆盖的灯影组先锋剖面作为研究对象。
灯影组先锋剖面位于四川盆地西南边缘峨边彝族自治县先锋村,剖面长约45 m,高约10 m;构造上位于尖刀背斜北翼,内部构造简单;主要出露地层为灯影组灯二段中部。
本次实验采用奥地利Riegl-vz400激光扫描仪获取露头三维点云;宾得645D高分辨率数码相机获取露头的高精度纹理影像。通过建立点云数据的不规则三角网模型,并融合高精度纹理影像,形成具有真实纹理的地质露头仿真模型(图6)。在野外地质调查基础上,结合图像特征,可将露头模型划分成4 个小层(编号17、18、19、20)。17 号层为藻屑滩,厚层状藻云岩;18 号层为云坪沉积,中厚层状藻云岩与灰黑色藻云岩不等厚互层;19-20 号层为藻屑滩,厚层状藻云岩。
图6 灯二段剖面数字露头模型
本文提出的模型理论上可以处理任意大小的图片,但是受到计算机软硬件条件的限制,我们训练和检测的图片大小设置为800×800 mm,因此在对露头剖面影像检测时每次处理影像的范围是800 mm×800 mm,为了避免边界处的漏检,相邻检测范围之间设置一定的比例重叠(本文设置的是30%);因此我们以560 mm的步长移动这个矩形范围来检测整个剖面数据。孔洞提取结果见图7。提取孔洞之后,再依据4个小层范围定量计算每层的孔洞参数。表4是孔洞特征参数统计结果。
图7 灯二段露头孔洞自动提取结果
表4 灯二段孔洞参数表征
峨边先锋剖面灯二段孔洞分布特征:17-20小层洞面孔率在0.56%~0.76%之间,20 层的面孔率最大,为0.76%,17 层的面孔率最小,为0.56%。孔洞发育密度在15~26个/m2之间,17、18 层的小溶洞较多,孔洞平均面积小、空间分布较为密集;19、20 层的大溶洞较多,平均面积大、空间分布较为稀疏。20层最大洞面积为21 902 mm2,洞面积中值为162 mm2,最大洞周长为841.29 mm,洞周长中值为51.31 mm,20层孔洞特征成因是其靠近顶部层间风化壳。
露头是沉积储层地质学研究最直观、最真实、最详细的资料。本文基于数字露头的高精度剖面影像数据,提出了基于多尺度的区域卷积神经网络孔洞检测新方法,并采用该方法对峨边先锋灯二段剖面进行孔洞自动提取与参数表征。通过本文的研究,取得的成果及认识如下。
(1)提出了一种基于多尺度的区域卷积神经网络露头孔洞检测方法,在一定程度上可替代传统的人工提取方式,实现露头孔洞自动化提取,且方法相比传统图像识别方法,提高了检测准确度。
(2)基于本文提出的方法,开展了峨边先锋灯二段剖面碳酸盐岩孔洞自动提取,并分层进行孔洞参数的定量表征与统计,得到了该剖面碳酸盐岩储层定量表征结果,为该剖面上碳酸盐岩储层评价提供了依据。
(3)本文提出的方法是一种实例分割方法,和传统图像处理方法不同,不需要边缘提取等后处理工作,因此孔洞参数的定量表征与统计过程的自动化程度更高。
野外露头的孔洞信息可作为薄片观察或者岩心CT扫描微观孔洞信息和地震宏观孔洞信息的有效补充,采用深度学习方法在孔洞提取领域具有巨大的潜力和空间。对于裸露程度较好的露头剖面可以采用本文提出的方法进行自动化的提取,但是由于野外露头受自然条件影响很大,为了提高该方法的适用性,还需要建立更丰富的不同类型的孔洞样本库,这也是下一步研究工作的重点,同时还需要进一步深化露头孔洞检测的准确度评估方法,以推动野外露头解译向定量化、自动化、智能化方向发展。