余晓露,叶 恺,杜崇娇,宫晗凝,马中良
(1.中国石化 油气成藏重点实验室,江苏 无锡 214126; 2.中国石化 石油勘探开发研究院 无锡石油地质研究所,江苏 无锡 214126)
确定碳酸盐岩沉积环境最有效的方法之一,是对碳酸盐岩薄片中的生物化石进行研究[1]。不同的生物门类指示不同的古生态环境,部分生物化石或生物组合还可以成为判断水体盐度、深度和浊度的特殊标志[2]。WILSON[3]就曾以岩石中的生物类型、完整程度等特征为基础,对碳酸盐岩沉积环境、相带标志等进行了详细划分。
传统的生物化石碳酸盐岩微相研究方法是通过偏光显微镜对碳酸盐岩薄片中的生物化石进行观察,根据其形态、显微结构,并参考矿物成分、大小及表面纹理特征等对生物进行鉴定。不同生物在薄片中具有不同的鉴定特征,例如三叶虫切面常为弯钩状,具玻纤结构;有孔虫常为多房室的壳体,且壳体具粒状结构;海绵骨针呈单轴、三轴或四轴的放射状,具晶粒结构,常见硅化特征[4]。但是,传统的人工鉴定方法,不但耗时、效率较低,而且受主观影响较大,为识别工作带来许多不必要的错误。
近年来,人工智能技术已经应用于医学、天文学、地球科学、遥感、军事、农业等众多领域。20世纪初深度学习算法概念的问世,使得机器学习技术在人类信息(如语言、视觉)处理方面出现突飞猛进的进步。在图像识别领域,诸多学者围绕图像识别与分类研究进行了大量工作,并产生了很多新的应用。
图像识别作为人工智能的一个重要领域,随着人工智能的快速兴起而得到发展。现阶段在地质学的岩石图像分析中也广泛采用BP神经网络和支持向量机等技术方法。有学者运用图像对岩石中的矿物进行分类和计算,THOMPSON等[5]尝试通过神经网络在图像中提取矿物的纹理特征,识别出石英、长石、黑云母等10类矿物;ROSS等[6]尝试利用遗传规划算法识别薄片图像中的矿物,并结合决策树分析,利用阈值分析来识别岩石矿物类型;叶润青等[7]采用多尺度分割技术处理碎屑岩图像,并提取矿物颗粒形态、含量等特征;ALIGHOLI等[8]采用色彩跟踪方法,通过计算和比较单偏光和正交偏光模式下矿物的颜色变化进行矿物分类和识别;MAITRE等[9]提出了基于计算机视觉和机器学习对矿物特征向量进行分类的方法,同时采用超像素分割替代传统方法,有效分割出光学显微图像中的颗粒。有人利用图像对岩石进行分类,李培军[10]在岩石光谱数据的基础上,利用变差函数提取岩石图像纹理,提高了岩石分类的准确性;郭超等[11]利用模式识别方法,通过计算并提取岩石图像的特征空间值,对图像进行分类;杨艳梅等[12]以Spark平台的岩石图像聚类分析为基础,对岩石图像进行处理并使其更易于区分。也有人着力于对岩石结构、孔隙等进行识别,MARMO等[13]利用图像处理和多层感知器神经网络方法,基于邓哈姆碳酸盐岩结构分类,识别出未受成岩改造的海相碳酸盐岩图像;程国建等[14]提出了一种模糊聚类和神经网络相结合的方法,实现了铸体薄片图像孔隙的分割和识别。上述工作多数集中在矿物类别和岩石图像类别的识别上,所使用的方法以复杂的特征参数提取算法为基础,但难以在种类繁杂的岩石薄片图像中得到泛化。
相对而言,学者们对显微生物化石的图像识别研究比较少,刘曦阳[15]尝试利用SIFT算法对生物化石图像中的特征点进行匹配识别;岳翔等[16]尝试利用VGG16模型和GoogleNet模型对电子显微镜下的典型有孔虫化石进行识别,但上述研究均未达到满意的效果。本文利用人工智能深度学习技术,对碳酸盐岩薄片图像进行处理,并对其中的生物种类、数量等特征进行识别和分析。
在碳酸盐岩薄片样本拍摄的过程中,由于使用不同品牌或不同型号的偏光显微镜,并设置不同的拍摄参数,导致图像分辨率、图像格式和色调等性质出现差异,造成难以使用统一的算法对图像进行分析。
为保证碳酸盐岩薄片图像的有效性,需要对其进行预处理,例如图像归一化、图像去噪和增强等。具体来说,就是将所有图像归一化到相同比例尺,然后使用双边滤波算法去除图像中的椒盐噪声,使用直方图均衡化算法增强颗粒区域和背景区域的灰度差异,在保持所有原图像特征统一的情况下,使图像特征更加清晰、图像噪声影响更低。
经过图像去噪和图像增强预处理过程之后的效果如图1所示。图1a是一张碳酸盐岩薄片显微图像原图,图1b是经过图像去噪和图像增强后的新图像,可以看出纹理和色彩的清晰度得到明显提升。
图1 图像预处理对比Fig.1 Comparison of image preprocessing
深度学习技术需要从大量的数据中学习有效的特征,因此收集和制作生物显微图像数据集具有重要的意义。碳酸盐岩生物化石显微图像数据集需要分步制作,先制作生物图像目标检测数据集,由此得到生物图像分类数据集;再通过增强获得最终数据集。
2.2.1 制作数据集
由专业岩矿鉴定人员审查筛选了327张具有典型特征的碳酸盐岩薄片生物化石图像,邀请专家使用专业软件工具将图像中典型的生物化石区域框选出来,并按照所设计的类别命名规则来标记名称,经过标注和整理即得到生物图像目标检测数据集。该数据集中,每张图像中都标注了生物的位置,并且每种生物都有其对应的类别标签。
接着,再将目标检测数据集中的生物标注提取出来,根据生物标注的位置将该区域提取成一个个的子图像,并用该区域的类别名作为子图像的类别标签,即得到生物图像分类数据集。
2.2.2 数据集增强
由于专家标注的图像为具有典型特征的碳酸盐岩薄片生物化石图像,为提升数据的泛化性,要将现有的图像进行多种变换操作,来增强数据的多样性。
本研究使用了图像裁剪、旋转、翻转、缩放和调换颜色通道等方法对原始数据进行数据增强,过程如图2所示。将原始的碳酸盐岩生物化石图像分类数据集中的327张图像扩展到1 635张图像,即得到碳酸盐岩生物化石显微图像数据集,为后续训练深度学习模型提供数据支撑。
图2 碳酸盐岩生物化石图像数据集增强过程示例Fig.2 Example of enhancement process for micro fossils image data set of carbonate rocks
本研究采用深度学习算法来识别碳酸盐岩薄片图像中的生物化石,并设计了2个阶段的生物化石识别方法。第一阶段是将原图像分割成多个子图像;第二阶段是对每个子图像进行分类识别。生物化石图像的分类流程主要包括设计卷积神经网络模型、训练模型,再将分割得到的子图像送入训练好的模型,得到生物化石识别结果。
2.3.1 卷积神经网络模型
卷积神经网络(Convolutional Neural Networks, CNN)是现阶段深度学习的主要算法之一,具有一定深度结构并包含卷积计算,属于前馈神经网络。卷积神经网络通过局部区域连接、权重共享和降采样等策略,大大降低了网络模型的复杂度,同时对于图像平移、旋转、缩放等形式的变形具有高度不变性,因此广泛应用于图像识别领域。
卷积神经网络特殊的仿生结构,使得其能以较小的计算量对目标对象进行大量的特征提取。从结构上看,卷积层为卷积神经网络的核心,其功能是提取输入数据的特征参数;卷积层内部包括多个卷积核,其功能类似于神经元;在卷积层中,神经元之间呈网络状连接,功能类似于生物视觉皮层细胞中的感受野。卷积神经网络在计算时,先通过卷积核扫过输入特征,再在感受野内对输入特征进行计算,计算方式为矩阵元素乘法求和,再叠加偏差量,公式如下所示:
Zl+1(i,j)=[Zl×wl](i,j)+b(i,j)∈{0,1,…,Ll+1}
式中:Zl和Zl+1分别代表第l+1层的卷积输入和输出;wl代表第l层的卷积核;Ll+1代表Zl+1的尺寸;Z(i,j)代表对应特征图的像素;b代表偏差量。
卷积层的关键参数通常有3个:卷积核大小、步长和填充,3个参数的共同作用决定卷积层输出图像的空间尺寸。
2.3.2 设计模型
设计不同的网络连接方式和卷积方式,便可生成适用于不同任务的卷积神经网络模型。目前经典的卷积神经网络模型有AlexNet、VGG、ResNet、InceptionNet等模型,其模型性能在近几年的研究和实践中都得到了验证。
本研究采用的是ResNet模型(Deep Residual Network),并根据需要对模型进行了一定改进。ResNet模型是一个非常有创造性并且非常深的卷积神经网络,基本解决了较深网络中出现的性能退化问题,可以用于图像分类、目标检测和语义分割等多种图像识别任务。
ResNet模型由多个卷积块组成,图3示意了每个卷积块的结构,其重要特征是卷积块内包含的跨层连接,输入图像x可以通过跨层传递实现同等映射,经过卷积处理之后,输出一个F(x)的非线性函数。ResNet模型的深度由卷积块的数量决定,经过卷积处理之后,所有输出相加,可以让底层网络得到充分训练,同时也可以大大提高正确率。本研究所使用的ResNet卷积神经网络模型具有50层,其网络结构的详细信息参考图4,模型中每个卷积块之后使用ReLU激活函数,在最后一层卷积层之后使用全局平均池化层(global average pooling),再连接两层全连接层,最终模型输出的全连接层的神经元个数和当前生物图像分类数据集中生物的种类数相等。
图3 ResNet模型中残差块结构示意[17]Fig.3 Residual block structure in ResNet model[17]
2.3.3 训练模型
本研究使用TensorFlow框架构建模型,并在高性能计算机上进行训练。
首先将碳酸盐岩生物化石显微图像数据集划分为两类:训练集和测试集,训练集占80%,测试集占20%。这两类数据集起着不同的作用,训练集的功能是为训练模型提供数据样本,通过训练集中的数据使模型学习相应的特征;测试集的功能是测试并调整模型参数,以及初步评估模型的性能,并对最终模型的泛化能力进行评估。
将训练集中的图像逐个送入模型进行计算,并反向传播偏差来修正模型权重。模型将训练集中所有数据迭代计算200轮,并采用早停策略,即当测试集在模型上的准确率经过N轮迭代后没有提升便停止训练。
2.3.4 实验结果分析
ResNet模型最终的输出为一个向量,如图4所示,将一张含有棘皮动物化石的子图像输入模型,经过计算之后,模型输出一个一维向量。由于在数据集中将生物化石分为10个类别,因此输出向量也包含10个值,其中的每个值代表该类别生物化石的概率,且10个值相加之和为1。对于图像分类任务,一般将所有值中输出概率最大的值所对应的物体类别作为输入图像的类别。以图4为例,该子图像经过计算后输出的向量中,棘皮动物化石对应位置的概率值在所有值中最大,因此将该
表1 ResNet模型中网格结构示意[17]
图4 ResNet卷积神经网络生物化石分类过程Fig.4 Fossil classification process by ResNet Convolutional Neural Network
子图像判断为棘皮动物化石。
在计算机视觉领域的图像分类任务中,最常用的模型性能评价指标为Top-N准确率。由于本研究当前数据量较少,涉及到的类别也较少,因此使用Top-1准确率来衡量分类精度。
(1)
本研究使用ResNet模型在包含327个样本的测试集上进行测试,对10种类别生物识别的综合准确率约为86%。
2.3.5 碳酸盐岩生物化石显微图像识别过程
基于ResNet卷积神经网络模型的碳酸盐岩生物化石显微图像识别在具体实现时,需要先将原图像分割成多个子图像,再对每个图像进行分类。
具体识别流程如图5所示,先将碳酸盐岩薄片图像中的典型生物化石所在区域通过专业软件工具框选出来,然后运用计算机程序处理并提取子图像,经过图像预处理,再输入到已经训练好的ResNet模型中,最后经过前向计算获取输出结果,并根据最大值在索引文件中查找,即得到对应的生物类别识别结果。
图5 ResNet卷积神经网络碳酸盐岩生物化石的识别过程Fig.5 Fossil dentification of carbonate rocks by ResNet Convolutional Neural Network
在图像识别领域,以ResNet为代表的卷积神经网络模型属于两步走算法,即先提取候选区域(子图像),再通过模型进行计算与分类。而以YOLO(You Only Look Once)模型为代表的目标检测模型则属于一步走算法,可对输入图像进行计算之后,直接输出目标对象的类别和位置。目标检测技术是指从一张图像中识别待检测目标的类别,并同时确定目标在图像中的位置,可以简单理解为输入一张图像到模型中,经过卷积计算之后,将从图像中提取到的特征同时送入2个分类器:一个分类器通过分类计算输出目标对象的类别;另一个分类器通过坐标预测计算输出目标对象在图像中的位置。
因此,本研究同时尝试了YOLO模型作为进阶目标检测模型,并使用标注的生物化石图像目标检测数据集来训练模型。
YOLO模型一共包含24个卷积层和2个全连接层,通过卷积层提取特征,再通过全连接层输出预测值。卷积层和全连接层之后使用LeakyReLU激活函数,并在模型的最后一层使用线性激活函数。
对于YOLO生物化石目标检测模型的训练,模型的初始权重不使用随机初始化,而是使用迁移学习的策略,将ResNet模型训练获取模型的权重作为YOLO的初始权重,其余训练策略则是与ResNet模型使用的训练策略一样。
使用训练好的YOLO模型对碳酸盐岩薄片图像中的生物化石进行检测和识别,相对于先分割图像后识别的方法更加智能化,不再需要对待检测图像进行人工框选。如图6所示,对图像进行预处理之后,输入到YOLO模型中,经过前向计算和回归之后,得到一系列输出。因为输出是多维的,每一维都预测了一个矩形框和该矩形框对应的类别,因此将所有的矩形框在原图像中绘制出来,并从生物类别索引文件中匹配该矩形框对应的类别,即可检测到一张碳酸盐岩薄片图像中所有典型的生物化石所在区域,并识别其类别。
图6 YOLO目标检测模型碳酸盐岩生物化石的检测与识别过程Fig.6 Fossil detection and identification of carbonate rocks by YOLO object detection model
将生物化石图像目标检测数据集中80%的数据作为训练集,剩下20%的数据作为测试集,YOLO模型识别碳酸盐岩薄片图像生物的平均准确率为85%。
(1)本文提出改进的ResNet卷积神经网络模型,可以对碳酸盐岩显微图像中的生物化石进行识别,识别准确率约为86%。
(2)本文同时提出进阶YOLO目标检测模型,可以对碳酸盐岩显微图像中的所有典型生物化石所在区域进行检测,并识别其类别,识别准确率约为85%。
(3)该方法表明,使用数字图像处理技术和卷积神经网络对生物化石进行智能识别具有一定的可行性,可作为传统人工鉴定方法的有益补充,具有一定的实际应用价值。如果增加使用场景,图像识别技术在本行业将具有广阔的应用前景。
(4)现有数据集样本量有限,仅包括少量常见生物化石类型,对于复杂的生物化石类别,后续研究可通过扩充样本库等方式来进一步提高识别准确率,提升应用价值。