0 引言
岩石、矿物薄片鉴定是地质研究中的重要基础工作,可用于识别岩石和追踪成岩作用与矿化过程
[1⇓-3]。传统的显微镜下观察方法受到许多复杂因素的影响,如分辨率和放大率的限制,因此定性分析能力差,效率低
[4-5]。随着矿床学研究工作的深入,有必要得到岩石所含的矿物、孔隙大小和微量元素含量的资料。因此,岩石薄片鉴定已经开始依靠先进的微束矿物分析技术。常用的分析技术有拉曼光谱、X射线荧光光谱(XRF)、X射线衍射(XRD)、扫描电子显微镜(SEM)和自动矿物学(AM)系统等
[6⇓⇓-9]。这些微束技术现在采用了一个半自动化的分析过程,这些方法大多数主要用来检测矿物的化学成分。除了上述常见的矿物分析技术外,近年来,基于扫描电镜的自动矿物学(AM)系统(如扫描电子显微镜定量评价)得到了广泛的应用
[10],MLA(矿物释放分析仪)
[11],AMICS(先进的矿物鉴定和表征系统)
[12],TIMA(TESCAN扫描电镜配备矿物分析仪)
[13⇓⇓-16],它们基于扫描电镜,配有一个或多个X射线能谱仪和矿物分析软件,可自动采集待测样品的后向散射图像和能谱。然后,利用样品的灰度和X射线能谱的后向散射电子图像,结合现代图像分析技术,可以计算矿物组成和元素分布来识别矿物,也可以量化矿物大小和结构关系等信息
[17-18]。该系统在矿物学处理领域具有重要的应用价值。为矿石选矿工艺提供了矿物成分、含量、分散量、弥散度、释放度、相关元素发生状态等信息,使工艺效率提高
[19]。
近年来,机器学习方法的飞速发展以及计算机硬件性能算力的升级,研究者们开始将机器学习的方法广泛应用于地学研究,如:朱紫怡等
[20]收集了3 498条不同成因类型的锆石微量元素数据,通过测试和运用随机森林、支持向量机、人工神经网络和k邻近等4种机器学习算法,得出准确率为86.8%的线性支持向量机成因分类器,极大地提高了微量元素分析成因结果和精度;慎国强等
[21]以极限学习机为数据挖掘工具,自主学习敏感地震属性和井中实测钾含量曲线的非线性映射关系,形成了基于极限学习机的杂卤石预测方法,成功地对川东北地区的杂卤石进行了预测,极大地提高了预测效率和精度。
针对岩石-矿物显微薄片图像的自动鉴定分支,众多学者亦进行了更为广泛而深入的研究,取得了丰硕的研究成果
[22⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓-37]。因此,机器学习作为人工智能的一个重要分支,不仅为处理大量与矿产勘探作图、大数据分析、模式识别和预测相关的证据特征层提供了有效的工具,而且为构建自动识别岩石矿物系统提供了技术支持。目前,应用于岩石-矿物显微图像识别与分类的机器学习算法主要包括人工神经网络,SVM,Random Forest,极端学习和最大熵模型。由于成矿信息的多源和多模式特征,数据模式趋于复杂,给分类和预测带来了更大的挑战,使传统的机器学习算法难以表现良好。作为一种特殊的机器学习方法,深度学习旨在建立模拟人类大脑的网络来进行分析性学习。它的特点是通过多层次的抽象来学习输入数据的层次表示。这些方法可以通过模仿人类大脑的机制来帮助解释数据。因此,在岩石-矿物薄片显微图像领域引入深度学习特别合适和重要,因为它代表了一种对在地质研究中应用于图像识别的智能算法的有意义的探索。深度学习在含矿信息提取、地震断层识别,地震时间预测以及其他对地球科学产生了深远的影响的方面取得了突破。综上所述,将深度学习应用于地球科学领域的图像识别分类和信息提取,对于矿产资源勘探的工作具有重要意义。
本文在岩石薄片显微图像以及局部单个矿物显微图像两个尺度的研究基础上,提出了一种可以分别基于不同尺度显微图像进行岩石-矿物鉴定的深度学习模型,以此来对不同种类的岩石进行分类,并对单个矿物及颗粒,包括橄榄石、角闪石、普通辉石、黑云母、斜长石、红柱石、十字石、石榴子石、阳起石和鲕粒等进行识别,以达到辅助岩矿鉴定的目的。研究技术路线如
图1所示。
1 岩石-矿物薄片显微图像数据集制作
本次数据集样本来源较为多样化,因为模型能够学习到的深层特征往往与模型本身的结构与训练集有关,训练集越多样化,包含的各种情况越多,模型所提取到的特征也就越多,模型的泛化与外推能力也就越强,进而承担更为复杂的分类任务。本次数据集中显微图片的来源主要是中国科学数据网上的6个公开数据集,包括部分成岩矿物和典型变质物及鲕粒的薄片显微图像数据集、川中地区白云岩显微图像数据集、鄂尔多斯盆地地区砂岩显微图像数据集、南京大学沉积岩石薄片显微图像数据集(教学所用)、华北地区南部沉积岩显微图像数据集、塔西北沉积岩与华南地区生物碎屑灰岩显微图像数据集
[37]。
在制作数据集的过程中,尽可能多地选择不同尺度、不同生成环境下的不同类岩石的显微图像,来保证数据集的多样性,从而使得训练的模型的泛化与外推能力得到增强,并且使得模型在调节参数的时候可以根据不同的特征权重的变化来减少主观因素的影响。
1.1 数据集显微照片选择
本数据集一共采用了6个公开显微数据集的照片,总共包括沉积岩的3种岩石类型,分别是砂岩、灰岩、沉积岩(
图2);十种不同的矿物及颗粒分别是橄榄石、普通辉石、角闪石、黑云母、斜长石、红柱石、十字石、石榴子石、阳起石和鲕粒(
图3)。
通过对显微镜下不同特征的观察,选择具有代表性的岩石显微图像,并且从不同地区不同时代的岩石中选择显微图像,来保证显微图像的多样性,一共从6个岩石显微图像集中的3 559张照片中,选择了638张照片作为岩石图像的训练集,其中白云岩155张,灰岩151张,砂岩332张,照片尺度包括500 μm、200 μm和100 μm。矿物显微图像则是直接对公开的10种典型矿物数据集进行挑选,一共选择了1 267张照片作为矿物图像的训练集,其中橄榄石174张,普通辉石184张,角闪石106张,黑云母244张,斜长石112张,红柱石93张,十字石122张,石榴子石95张,阳起石34张,鲕粒103张。数据集具体照片组成见
表1和
表2。
1.2 数据增强
通常情况下,想要得到一个性能很好,分别准确率较高的神经网络,就需要让神经网络包含巨量的参数很多卷积神经网络的参数都是超量的,可以达到几十万乃至几百万,而优化这些参数则需要大量的数据输入到神经网络中,再通过正向传播与反向传播(backward)两个过程来不断在训练过程中优化,而现实中,公开的、高质量的数据并没有充足到可以让我们进行良好的网络训练。
因此为了获得大量的数据样本来对模型进行训练,一种方法是获得新的数据,这种方法比较麻烦,需要大量的成本,而第二种方法则是对数据进行增强,即利用已有的数据进行比如翻转、平移或旋转,创造出更多的数据,来使得神经网络具有更好的泛化效果。
一般来说,数据增强策略可以分为两种,一种是离线之后的增强,另一种是在线上的增强。离线之后的数据增强策略选择直接对数据集进行特定的处理操作,数据的数目会增加,增加后的数量计算方法是:增强后的数量等于增强因子的个数乘以原数据集的数目,这种数据增强策略一般在数据集较小的情况下使用。在线上增强策略和离线不同的点在于,利用batch normalization后获得数据,然后在训练之前对每一个 batch所包含的数据进行增强处理,比如对图像采用旋转、裁剪、翻转等相应操作,这种方法一般在数据集较大的情况下使用。
常用的数据增强技术包括翻转、旋转、缩放、裁剪、平移和添加噪声。本文对数据集采用了翻转、裁剪与旋转策略。
翻转可以分为水平翻转与垂直翻转两种。水平翻转是指在翻转过后,翻转图像与原图像根据原图像的水平中轴线是对称的。而垂直翻转则是指在翻转过后,翻转图像所与原图像根据原图像的垂直中轴线是对称的。如
图4所示,
图4a是原始图像,
图4b是图像经过垂直翻转之后的图像,
图4c是经过水平翻转之后的图像。
裁剪是指对原始图像进行部分提取,分割出固定大小的部分图像来进行使用,不改变像素点的位置,但是对图像中的像素点进行选择性取舍(
图5)。
旋转是指图片中所有像素点以图像水平中轴线与垂直中轴线的交点为中心,旋转指定角度,且像素点除了位置以外不发生其他变化(
图6)。
通过以上的数据增强操作,训练集图片由之前的3 000余张扩展到了9 000余张,增多了数据集的内容。将数据集以9:1的比例分割为训练集与验证集,每次迭代都进行重新分割,将训练集输入进模型中进行训练,训练结束后,保存更新后的模型权重,然后载入模型权重,利用训练好的模型进行验证。训练部分,batch size(一次训练所选取的样本数目)大小为16,epochs(迭代次数)为200次,优化器采用的是adam,其中learning rate(学习率)大小为0.000 1,weight decay(正则化系数)为0.000 5,且每次训练之前会对训练集进行一次重排,增加多样性。
2 显微图像深度学习模型
2.1 深度学习模型
本次采用的是深度学习图像的VGG模型,VGG是当前最流行的CNN模型之一,由Simonyan和Zisserman于2014年提出,其命名来源于牛津大学的Oxford Visual Geometry Group。VGG使用一系列大小为3×3的小尺寸卷积核和池化层构造深度卷积神经网络。因为结构简单、应用性极强,VGG模型广受研究者欢迎。尤其是它的网络结构设计方法,为构建深度神经网络提供了方向。而且,从图像中提取CNN特征,VGG模型是首选算法
[38⇓⇓-41]。根据VGG模型的理论基础,本次研究设计了如下的深度学习模型(
图7)。该网络模型具有4种基本的操作,黑色的层代表conv层+ReLU函数,红色的层代表最Maxpool层,蓝色层代表fully connected层+ReLU函数,黄色层是normalization层。其中具备神经元稀疏激活性的线性整流函数(Rectified Linear Unit,ReLU 函数)与传统 Sigmoid 激活函数相比,可以使图像的相关特征能够更好地被挖掘出来,同时表达出更好的训练数据。此外,也可以使模型的收敛速度整体趋于稳定状态,从而避免了模型训练梯度消失的问题。
2.2 模型实现流程
VGG卷积神经网络最大的特点是由多个vgg_block构成,每个vgg_block包含多个卷积层,除第一个卷积层外,其余卷积层输入输出通道数量保持不变,卷积核大小一般为3×3,填充为1,即卷积层不改变特征图大小,由卷积核为2步长为2的池化层进行特征图缩放。VGG根据不同网络深度分为VGG11、VGG13、VGG16和VGG19几个版本,每个VGG网络都是由5个vgg_block和三个全连接层组成。岩石-矿物VGG卷积神经网络基本训练流程如
图8和
图9所示,具体实现步骤如下。
Step1。将图片缩放成统一大小224×224的RGB图像,所以图像转化为张量之后的大小是224×224×3,224代表的是图像的宽和高,3代表R、G和B三个通道。
Step2。输入层图像进入第一个conv模块,该模块含有两个顺序排列的卷积层,每一层都有64个卷积核,将输入图像进入卷积层中,经过conv操作,可以得到64幅224×224大小的特征图。
Step3。第二个卷积模块包括一个最大池化下采样层以及两个卷积层。输入的特征图首先经过maxpool层,max pooling并不会改变特征图的多少,只会改变feature map的大小,使得feature map由224×224变成了原来的一半。然后特征图被输入到两个卷积层中,每个卷积层的卷积核都有128个,卷积核的参数被设置成不会改变特征图大小的模式,最后输出的结果为128幅112×112的特征图。
Step4。第三个卷积模块包括一个最大池化下采样层以及三个卷积层。上一个模块的128幅112×112的特征图首先经过最大池化下采样层变成56×56。然后特征图再进入三个卷积层中,每个卷积层的卷积核大小都为256个,卷积核参数被设置成不会改变特征图大小的模式,最后输出的结果为256幅56×56的特征图。
Step5。第四个卷积模块包括一个最大池化下采样层以及三个卷积层。上一个模块的256幅56×56的特征图,首先经过最大池化下采样层变成28×28。然后特征图再进入三个卷积层中,每个卷积层的卷积核大小都为512个,卷积核参数被设置成不会改变特征图大小的模式,最后输出的结果为512幅28×28的特征图。
Step6。第五个卷积模块包括一个最大池化下采样层以及三个卷积层。上一个模块的512幅28×28的特征图,首先经过最大池化下采样层变成14×14。然后特征图再进入三个卷积层中,每个卷积层的卷积核大小都为512个,卷积核参数被设置成不会改变特征图大小的模式,最后输出的结果为512幅14×14的特征图。
Step7。一个单独的池化下采样层。上一个模块的512幅14×14的特征图,首先经过最大池化下采样层变成7×7。
Step8。两个全连接层+ReLU函数。512幅7×7大小的特征图被输入三个全连接层,每个全连接层都有4 096个参数,输出得到1×1×4 096大小的张量。
Step9。一个全连接层+Sigmoid函数。1×1×4 096大小的张量,经过输入得到1×1分类类别个数大小的张量。
3 结果与分析
3.1 岩石薄片显微图像训练结果
深度学习模型训练的结果体现在两个方面,即损失函数与分类准确性。损失函数是衡量预测值与真实值之间的评价指标,一般采用CrossEntropyLoss函数;分类准确性则是表示预测准确率的指标
[42⇓⇓⇓-46]。
图10显示的是训练过程中损失函数与精度的变化。图像显示,随着迭代次数的增加,损失函数逐渐减小,训练的精度逐渐增加,经过60个epoch以后,损失函数逐渐收敛,且训练的精度逐渐稳定。并且通过训练可以得到3种沉积岩石的识别精度,具体结果见
表3。
在每次训练结束后,利用训练过的模型对验证集进行验证,
图11显示的是验证集中验证精度的变化。图像显示,在第8个epoch以后,验证的精度逐渐稳定。
利用11层、16层、19层深度的VGG模型识别岩石薄片的成功率均能达到95%以上, 19层深度的VGG模型精度最高,达到 98.1%(
图12)。由此可见,所建立的深度学习模型已经可以实现对于不同尺度的岩石显微图像的特征提取,并且可以根据所提取的特征对岩石显微图像进行类别划分,且精度较高。
3.2 矿物薄片图像训练结果
图13显示的是训练过程中损失函数与精度的变化。图像显示,随着迭代次数的增加,损失函数逐渐减小,训练的精度逐渐增加,经过30个epoch以后,损失函数逐渐收敛,且训练的精度逐渐稳定。并且通过训练可以得到10种矿物各自的识别精度,具体结果见
表4。
在每次训练结束后,利用训练过的模型对验证集进行验证,
图14 显示的是验证集中验证精度的变化。图像显示,在第8个epoch以后,验证的精度逐渐稳定。
利用11层、16层、19层深度的VGG模型识别矿物薄片的成功率均能达到90%以上,19层深度的VGG模型精度最高,达到 94.8%(
图15)。由此可以发现深度增加的模型,对于特征提取的能力加快,收敛所需的时间变短,最后的分类精度也更好,所建立的深度学习模型可以实现对不同尺度的矿物显微图像特征的提取,并且可以根据所提取的特征对矿物显微图像进行类别划分,且精度较高。
3.3 结果分析
通过分析模型对岩石薄片显微图像与矿物薄片显微图像的训练与验证结果,可以发现所建立的模型在矿物薄片显微图像识别训练过程中开始收敛速度较慢,35个epoch以后才大部分收敛,但是在50个epoch左右就几乎完全收敛。而在岩石薄片显微图像识别训练过程中开始收敛较快,10个epoch以后就几乎大部分收敛,但是到60个epoch以后才完全收敛。分析后认为这是由于两者图像特征的复杂度不同导致的。在岩石薄片显微图像中,模型所需要学习的图像特征包括矿物成分、主要矿物、次要矿物以及岩石的结构构造等;而在矿物薄片显微图像中,模型所需要学习的图像特征包括矿物单体的形态、颜色与条痕等特征,矿物的图像特征相对于岩石的图像特征来说相对比较简单,因此对于岩石薄片识别的训练需要更多迭代次数,相对来说识别的难度会大于矿物薄片识别。但是在训练前期,由于岩石分类类别只有3种,而矿物分类类别有10种,对于机器来说在开始阶段特征提取的不够多,所以开始时对于类别较多的矿物则难以识别,但是对于只有3种的岩石薄片来说,识别得则较为迅速,因此在开始的时候岩石训练的收敛速度是快于矿物训练的收敛次数的。
通过对比不同岩石在训练时的精度,可以发现砂岩的识别精度最高,而白云岩的识别精度最低,灰岩的识别精度居中,可知模型对于具有不规则结构的岩石薄片分类能力较差。砂岩具有较为规律的孔隙结构,所以模型可以快速提取其显微图像特征,但是白云岩具有很多不规律的生物结构,增加了模型提取显微图像特征的难度,因此最终导致白云岩分类识别的精度较低。
通过对比不同矿物在训练时的精度,可以发现,鲕粒的识别精度明显低于其他几种矿物,分析鲕粒显微镜下图片,可以得知鲕粒虽然大部分呈圆形,但是不同鲕粒之间粒度有很明显的区别,并且有很多鲕粒存在磨损严重导致图像模糊的情况,对于模型提取特征造成了严重的干扰,最终使得鲕粒的分类精度较低。
通过对比两种数据集分别在11层、16层、19层深度的VGG模型上进训练的结果,可以发现深度增加的模型,对于特征提取的速度加快,收敛所需的时间变短,最后的分类精度也更好,说明深度的增加可以提高模型对于深层特征的提取能力,增强模型的分类效果。
识别精度虽然在一定迭代次数之后基本达到收敛,但是通过结果图像可见,收敛得并不完全,还是在一定的范围内进行波动,说明模型对于图像特征的学习不够彻底,分析原因可能有以下几点:(1)图像并没有捕捉到足够明显的特征;(2)数据集的规模不够导致包含的特征不足以分别该类岩石的全部类型;(3)模型的深度不够,对于特征的提取能力还不够。
4 结论
(1)本研究搭建了以VGG网络模型为基础的深度学习模型,该模型可以对不同尺度的岩石与矿物薄片显微图像进行自动识别与分类。
(2)深度学习模型是数据驱动的方法,具有大量准确的数据进行训练是得到一个性能优良的深度学习模型的前提。但是现在研究领域内并没有公开的可以直接用于岩石、矿物显微图像分类识别训练的数据集。本研究在部分成岩矿物和典型变质矿物及鲕粒的薄片显微图像数据集、川中地区白云岩显微图像数据集、鄂尔多斯盆地地区砂岩显微图像数据集、南京大学沉积岩石薄片显微图像数据集(教学所用)、华北地区南部沉积岩显微图像数据集、塔西北沉积岩与华南地区生物碎屑灰岩显微图像数据集6个公开数据集中,挑选特征明显、合适的显微图像,利用旋转、裁剪、翻转的数据增强手段制作了包含多种尺度、多个年代、多种环境下的岩石薄片及矿物薄片数据集以用于训练,从而增强了模型的外推与泛化能力。
(3)本研究用制作的数据集进行训练从而得到的卷积神经网络图像识别模型,对于岩石显微薄片和矿物显微薄片的识别最高成功率分别达到了98.1%和94.8%,说明所设计的模型能够识别多尺度下的岩石和矿物薄片的显微图片,并具有良好的分类准确率以及鲁棒性。对比不同实验条件下模型的结果,可以发现不同的矿物与岩石具有不同的分类精度,对于有规律的结构构造或者形状的岩石或者矿物,模型的分类精度较高。在同等条件下,加深模型的深度,增加卷积层的个数,可以提高模型对图像特征的提取能力,从而提高模型的精度。
湖南省地质勘查项目“湖南省雪峰弧形成矿带转折段遥感信息提取及找矿靶区优选(20200806)”
湖南省重点研发计划项目“湖南省锂铌钽稀有金属资源高效勘查与开发(2019SK2261)”
湖南省地质院科研项目“基于全谱段波谱特征的岩矿精准识别技术研究(HNGSTP202315)”