基于Xception网络的岩石图像分类识别研究
2022-06-02谭永健,田苗,徐德馨,盛冠群,马凯*,邱芹军,潘声勇
谭 永 健,田 苗,徐 德 馨,盛 冠 群,马 凯*,邱 芹 军,潘 声 勇
(1.湖北省水电工程智能视觉监测重点实验室/三峡大学计算机与信息学院,湖北 宜昌 443002;2.武汉市测绘研究院,湖北 武汉 430074;3.中国地质大学(武汉)计算机学院,湖北 武汉 430074;4.武汉中地数码科技有限公司,湖北 武汉 430074)
0 引言
岩石岩性主要指岩石结构、组成、颜色等特征,岩性识别是地质学研究的重点之一,在地质储层特征研究、地质建模以及矿产资源勘探中发挥着不可替代的作用[1-3]。传统的岩性判断方法主要通过显微镜对岩石薄片样本进行观察,从而确定岩石成分及结构,其耗时长、成本高且主观性较强[4,5]。采用自动化与智能化手段对岩石图像进行数据挖掘与岩性识别能减少对专业人员与仪器的依赖,有助于提高效率,并且能够发现隐含的地质信息[6,7],因此,许多学者利用机器学习与深度学习等智能算法提取并分析岩石图像特征,进而实现岩性自动化识别[8-11]。
传统机器学习算法将人工提取的岩石颜色、形状等特征送入分类器进行训练,从而实现岩性的自动识别。例如:Wang等[8]提出一种利用岩石颗粒几何特征代替局部结构特征的岩石分类方法,有效解决了边界模糊问题;Sharif等[12]针对行星地质探测提出一种基于贝叶斯图像分析的自主岩石分类系统,用13个Haralick纹理参数描述岩石样本表面,并自动将这些信息编目成一个5-bin的数据结构,进而计算贝叶斯概率,输出识别结果,该系统结合了行星探测车漫步者的特点,清晰简洁,无需从漫步者那里获得过多的计算能力;Shu等[13]提出一种无监督特征学习的岩石图像分类方法,使机器人行星地质探测以及地质图像自动标记、检索性能显著提高。目前,传统机器学习算法在岩性识别上存在两个问题:1)网络训练难度大,需要人工提取岩石特征和庞大的训练数据集;2)岩石种类丰富、数量庞大,图像采集难度大、成本高。为此,不少学者采用深度学习算法实现岩性的自动识别与分类[6,14-18],但识别准确率及效率仍存在提升空间(如直接对大量数据进行训练需要较高的硬件配置和时间成本)。
本文根据岩石图像的特点,基于深度神经网络和迁移学习方法,提出一种基于Xception网络的自动化岩石图像分类模型,选用嵊州地质调研所采集的岩石图像样本验证模型的有效性,并与其他主流岩石图像分类模型进行实验对比。
1 研究方法
1.1 Inception结构与深度可分离卷积
Inception结构从最初的InceptionV1(GoogLeNet)发展到InceptionV2[19]、InceptionV3[20]、Inception-Resnet[21],其核心思想是通过将卷积核划分为独立于跨通道相关性和空间相关性的运算,使过程更容易和高效。Inception结构减少了总网络参数数量,并且在网络最后层用平均池化代替全连接层[21]。Inception V3中标准的Inception结构与简化的Inception结构(用一种规格的卷积核)如图1a、图1b所示。
Xception网络(extreme Inception)[22]由Inception V3改进而来,其将InceptionV3中的卷积操作替换为深度可分离卷积模块,该模块使用1×1卷积映射跨通道相关性,在每个卷积的输出通道均有独立的空间卷积来映射空间相关性。区别于普通卷积将通道视为单区块,深度可分离卷积模块将每个通道当成一个区块,其中的Inception模块将多个通道划分为3、4个区块,Xception将所有通道视为一个区块,为可分离卷积,准确率最佳。对图1b中Inception模块进行改造得到等效的Inception简化模块(图1c),其通道区块数量越多,跨通道相关性与空间相关性相互分离的假设越合理,基于此提出图1d中的Xception模块。改进后,Xception网络参数达22 855 952个,比InceptionV3减少了770 776个,同时训练时迭代速度未明显变慢[22];在Xception中加入类似ResNet的残差机制显著加快了Xception的收敛过程,准确率更高。实验证明,Xception网络在ImageNet数据集的Top-1、Top-5上岩石岩性的识别准确率高达79.0%、94.5%,性能表现优于其同源模型InceptionV3(78.2%、94.1%),以及深度学习图像分类模型VGG-16(71.5%、90.1%)、ResNet-152(77.0%、93.3%);在JFT/FastEval14k数据集上,Xception模型MAP@100指标达到6.70,优于Inception模型(6.36)[22]。
图1 Inception网络模型Fig.1 Inception network model
1.2 Xception网络结构
Xception网络结构(图2)由输入层、中间层、输出层组成。除开头与结尾模块外,网络结构中其他模块均具有线性残差连接;整个模型结构包含36个卷积层,是提取岩石图片特征的基础,这36个卷积层由14个模块构成,每个模块包含ReLU(Rectified Linear Units)激活函数(有效解决模型训练中梯度消失问题,加快收敛速度)与若干深度可分离卷积模块,后者在图2中以SeparableConv表示,由depthwise卷积(卷积核为3×3,见式(1))和Pointwise卷积(卷积核为1×1,见式(2))组成,其后连接池化层;卷积层之后为全连接层,最后是逻辑回归层。岩石图像数据首先载入输入层,随后通过中间层循环8次聚合全局平均值,最后通过全连接层与输出层输出。所有卷积与可分离卷积均进行批归一化,分离的卷积层的深度乘数为1,即无深度展开。
图2 Xception模型网络结构Fig.2 Network modules structure of Xception model
(1)
式中:d(W,y)i,j为输出特征图中位置(i,j)的值;K、L为卷积核的宽和高;Wk,l为卷积核中位置(k,l)的值;yi+k,j+l为输入特征图中位置(i+k,j+l)的值。
(2)
式中:p(Wp,yp)i,j,n为第n个输出特征图中位置(i,j)的值;Wn为第n个1×1卷积核;yi,j,m为第m个输入特征图中位置(i,j)的值;M为输入特征图数量。
模型采用Adam(Adaptive moment estimation)优化算法,该算法为自适应参数更新算法,通过更新参数(式(3))达到最优解,最小化损失值;最终通过softmax分类器实现岩石图像的分类(式(4))。
(3)
(4)
式中:pi为图像被预测为第i类的概率;K为训练图像样本类别数;ai为模型最后一层的输出。
1.3 结合迁移学习的Xception模型
迁移学习是深度学习中的一种重要方法,可将某领域中的知识或模型应用于其他相关领域任务中[23-25],适用于源领域数据量充足而目标领域数据量较少的情况。将迁移学习方法与深度神经网络相结合能将其他图像分类任务中学习到的知识迁移到当前的岩石识别神经网络中,不需再进行大量的模型初始化以及优化,仅对局部调整改进,即可降低训练开销,提升岩石识别准确率。结合迁移学习的Xception模型框架(图3)为:利用Xception模型在ImageNet数据集(含1 000类总数超过120万张图像)上进行预训练得到权重参数之后,移除模型原有分类器softmax,在卷积层后添加全局平均池化层GlobalAveragePooling2D;随后添加输出维度为1 024的全连接层Dense以及ReLU激活函数;在全连接层后再添加Dropout层,设置随机消除神经元概率为0.5,以此提高模型泛化能力,减少过拟合;最后添加适应岩石图像分类要求的分类器softmax进行连接,改进后部分Xception模型结构如表1所示。
图3 结合迁移学习的Xception模型框架Fig.3 Xception model framework combined with transfer learning
表1 改进后Xception模型结构Table 1 Improved Xception model structure
2 实验分析
2.1 数据集建立
本文实验数据集来自嵊州地质调研中人工采集的岩石样本图像,共选取10类岩石(图4),分别为:绢云母化流纹质含角砾玻晶屑凝灰岩(SRBV-Tuff)、凝灰质含砾杂砂岩(TG-Sandroc)、英安岩(Dacite)、流纹质晶玻屑凝灰岩(RCG-Tuff)、凝灰质粗砂岩(T-Gritstone)、流纹斑岩(R-porphyry)、流纹质含岩屑晶屑强熔结凝灰岩(RLCSF-Tuff)、角闪安山岩(Hungarite)、流纹质沉角砾凝灰岩(RSB-Tuff)、流纹质含火山泥球玻屑凝灰岩(RVMBV-Tuff)。由于原图像分辨率过高,每张大小在3 M左右,无法直接载入模型进行训练,需在不丢失图像特征信息的前提下,将其压缩到224×224像素大小,以满足模型训练要求;随后对原图像进行裁剪,减少背景信息的干扰,确保图像含有更多的岩石特征信息。由于岩石图片均为人工拍摄采集,每类岩石图像数量较少,均在20~50张之间,总数量为350张左右。训练集规模较小会使模型无法进行充分训练,故通过翻转、旋转、平移、加噪4种方式对数据集中的每类图像进行随机扩充:1)翻转:将图像沿水平或垂直方向进行随机翻转;2)旋转:以图像的几何中心为参考点,随机选择角度(设定为45°~240°)进行旋转;3)平移:向上下左右4个任意方向随机平移50~100像素;4)加噪:为图像添加高斯噪声或椒盐噪声。扩充后数据集共包含10 000张岩石图像,其中每类岩石图像1 000张,将岩石图像数据集按照4∶1的比例随机划分为训练集与测试集。
图4 岩石图像示例Fig.4 Samples of rock images
2.2 实验设置
根据Xception模型特点,设置岩石图像尺寸为224×224像素;由于岩石数据集总体图像数量偏少,为避免出现精度差、过拟合等问题,实验结合迁移学习方法对模型进行微调,并将模型初始权重设置为imagenet;训练阶段,将batch_size尺寸设置为32,经过测试,当迭代次数设置为4时模型训练效果最佳;同时,设置优化器为Adam、学习率为0.001、损失函数为categorical_crossentropy。
本文使用混淆矩阵展示Xception模型对岩石图像的识别结果。同时,为更全面地评估测试集的识别结果并对比不同基于深度学习的岩石图像分类方法识别性能差异,采用精准率(P)、召回率(R)和F1-score(F1)评价各模型精度,公式如下:
P=TP/(TP+FP)
(5)
R=TP/(TP+FN)
(6)
F1=2P×R/(P+R)
(7)
式中:TP、FP分别为预测正确和预测错误的岩石图像数量;FN为未被识别出的岩石图像数量。
2.3 实验结果分析
由基于Xception模型的岩石图像分类结果混淆矩阵(表2)可以看出,Xception模型对10类岩石图像的总体识别准确率达86%,能精准识别大部分岩石图像;但对RLCSF-Tuff、RSB-Tuff、RVMBV-Tuff 3类岩石识别效果不佳,往往将其误判为RCG-Tuff,可能是由于这4类岩石同属凝灰岩,主体特征相似度较高,在样本量偏少且岩石特征较为细腻的情况下,Xception模型容易将其全部识别为特征更明显的流纹质晶玻屑凝灰岩(RCG-Tuff)。
表2 基于Xception模型的岩石图像分类结果混淆矩阵Table 2 Confusion matrix of rock image classification results based on Xception model
由表3可知, Xception模型识别RCG-Tuff、RLCSF-Tuff、RSB-Tuff 3类岩石的F1值分别为0.58、0.77、0.51,识别准确率较低,说明Xception模型对这3类岩石特征学习度欠佳;Xception模型P、R、F1的均值分别为0.94、0.85、0.86,性能优于同源模型InceptionV3和Inception-Resnet,说明将InceptionV3中的卷积操作替换为深度可分离卷积模块且引入残差连接机制能有效提高识别准确率。由表4可知,相对于其他7种常用基于深度神经网络的岩石图像分类模型,Xception的分类效果最好。
表3 Xception模型评价结果Table 3 Evaluation results of Xception model
表4 不同模型评价结果比较Table 4 Comparison of evaluation results of different models
3 结语
本文提出一种基于Xception模型的自动化岩石图像分类模型,该模型将InceptionV3中的卷积操作替换为深度可分离卷积模块,并引入残差连接机制,可在保留较高准确率的情况下减少大量的模型参数与计算量,同时结合迁移学习的思想提高岩石图像分类准确率。利用嵊州地质调研中人工采集的岩石样本图片对模型有效性进行验证,实验结果表明,该方法能有效识别不同类别的岩石,相比现有的基于深度学习岩石图像分类方法性能更好。但对流纹质含岩屑晶屑强熔结凝灰岩、流纹质沉角砾凝灰岩、流纹质含火山泥球玻屑凝灰岩识别准确度不理想,后续将通过增加岩石图像样本和训练轮数以及微调模型以适应更细节化的岩石图像特征等手段来解决该问题。未来将构建更完善、丰富的岩石图像数据集,研究顾及不同场景与清晰度的岩性识别方法,引入更多的先验知识改进模型,以期进一步提升多种情况下岩石分类准确率。