APP下载

基于改进CatBoost的交互式岩石识别方法教学

2022-11-21张安铎刘海华

科教导刊·电子版 2022年28期
关键词:分类器岩石准确率

张安铎,刘海华

(中南民族大学生物医学工程学院,湖北 武汉 430074)

0 引言

岩石样本的识别在地质勘探与检测识别中是十分重要的一环。在油气勘探、矿产资源勘探以及地质分析任务中,岩性识别对保障后续地质作业具有重要的意义。传统岩石样本的识别方法主要有重磁、测井、薄片分析等方法。以上方法为科学的描述和解释岩石岩性结构奠定了基础。传统岩石岩性的确定需要专业人员通过人工标注解释,这通常需要消耗大量的人力资源及时间成本。因此,研究一种能够比传统方法更快更有效新的方法,对岩石图像进行自动识别和分类是十分重要的。

1 结合LDS的CatBoost分类方法

1.1 特征提取

特征提取作为模式识别的重要内容,其有效性直接影响分类结果。大量的研究表明,不同类型的岩石在颜色和纹理上有着较大的差异。根据该特点,本文使用HSV颜色矩、灰度共生矩阵等描述岩石图像的特征。

HSV颜色矩[1]:HSV颜色空间的色调、饱和度、亮度与人眼对颜色的主观认识比较符合。与其他颜色空间相比,HSV空间能更好地反映人类对颜色的感知,所以本文采用HSV颜色空间下的颜色矩作为样本颜色特征。颜色矩是一种简单有效的颜色特征表示方法,有一阶矩(均值,Mean)、二阶矩(方差,Variance)和三阶矩(斜度,Skewness)等。

GLCM灰度共生矩阵[2]:灰度共生矩阵(Grey Level Co-occurrence Matrix,GLCM)也叫空间灰度级依赖矩阵,它是一种基于统计的纹理特征提取的方法。由于灰度共生矩阵的维度较大,一般不直接作为区分纹理的特征,而是基于它构建的一些统计量作为纹理分类特征。本文所选用的纹理分类特征包括对比度(Contrast)、差异性(Dissimilarity)、反差分矩阵(Homogeneity)、熵(Energy)、相关性(Correlation)和能量(ASM)。经过多次实验计算对比,本文选择的灰度共生矩阵GLCM参数如表1所示。

表1 GLCM参数设置

计算每个样本的GLCM矩阵,对其进行整理获得每个样本的18个纹理特征,其表示如下:

本文除使用颜色、纹理等特征外,还使用统计的方法获取样本图像像素值大于40的像素点个数占图像总像素的百分比作为样本的1个分类特征。

1.2 线性动态系统

由于岩石图像的特殊性和复杂性,在提取多类特征的背景下,为提高训练效率、减小个别极端误差对训练分类器模型带来影响,本文使用线性动态系统算法对特征数据进行滤波平滑。线性动态系统(Linear Dynamic System,LDS)又叫卡尔曼滤波,是一种优化估计算法[3]。LDS的过程可以解释为不断对隐藏变量进行预测、并利用观测值对预测值进行修正的过程,它只需要当前的测量值和前一个采样周期的估计值就能够进行状态估计。其线性关系体现在这一时刻和上一时刻的隐藏变量之间以及观测变量和隐藏变量之间,这种递归方法不需要大量的存储空间,每一步的计算量小,计算步骤清晰,非常适合处理特征值较多或标签复杂的信息。一个线性动态系统可以表示如下:

1.3 CatBoost模型理论基础

CatBoost算法是俄罗斯Yandex提出的,算法设计的初衷是为了更好的处理梯度提升决策树(Gradient Boosting Decision Tree,GBDT)中的分类特征组合问题[4]。传统的GBDT算法通过选择树结构和在树结构固定后计算叶子节点的值来构建新树来拟合当前模型梯度[5],其原理如下:使用本文给定7类岩石样本的28维特征,训练集为,其中表示样本总数;表示第个岩石样本对应的标签;表示输入样本的28维特征。将送入分类器进行M次迭代,算法实现流程如表2所示。

表2 GBDT算法实现流程

然而GBDT这种构建新树的方式存在梯度偏差问题,会导致模型过拟合。为了解决GBDT存在的问题,CatBoost基于对称决策采用贪婪的策略考虑组合,高效合理地处理类别型特征。对于树的第一次分割,CatBoost不考虑任何组合[6]。对于下一次分割,将当前树的所有组合、类别型特征与数据集中的所有类别型特征相结合,并将新的组合类别型特征动态地转换为数值型特征,以这种方法构建的新树是平衡的,不容易过拟,进而可以加速预测并且提高算法的准确性和泛化能力。除了能够解决模型过拟合和模型泛化问题,CatBoost算法占用内存小,训练速度快的优势,在很大程度上解决了研究人员的硬件设备问题[7]。

2 数据预处理与模型训练

2.1 数据集获取

本文采用来自泰迪杯数据挖掘挑战赛B题的岩石样本数据集,该数据为工作人员在勘探现场利用工业相机对岩屑和岩心进行拍摄所得,图像包含无背景的深灰色泥岩、灰黑色泥岩、灰色细砂岩、浅灰色细砂岩、黑色煤、深灰色泥质粉砂岩和灰色泥质粉砂岩7类岩石300张图像。

2.2 数据集扩充

由于岩石样本数据集数量有限,本文首先使用Open-CV对赛事数据集进行扩充。主要方法有随机放缩,切分,添加噪声等。为保证图片切分后能尽量保留原图像的纹理信息,这里仅将原图切分为9等份。通过图像扩充的方法,原始数据集被扩充至2450张。数据集扩充后,各样本占比相同,力图减少由样本数量差异导致的训练误差。

2.3 模型参数设置

本文将7类岩石的HSV颜色空间矩阵和GLCM空间灰度级依赖矩阵作为LDS+CatBoost的分类特征。在将数据集送入分类器之前,为了降低同类岩石特征之间的计算误差,首先对样本数据集进行LDS平滑滤波,将滤波后的矩阵作为CatBoost分类器的分类特征。由于CatBoost模型的训练超参数会对训练结果产生较大影响,故本文在进行多次挑选重试后确定的训练超参数如表3所示。参数定义为,iterations表示网络迭代次数,depth表示树的深度,learning_rate表示学习率,test_size表示测试集的比例,random_strength表示分数标准差乘数。

表3 CatBoost模型训练参数设置

2.4 模型训练

将上述获得的样本特征集送入LDS+CatBoost分类器进行分类训练。为提升模型的泛化能力,对训练采用10折交叉验证。将样本数据集分为10份,第一次训练,将后面9份作为训练集,训练集里面又包含有验证集,验证集可用于网络模型的调优,1000次迭代完成后得到一个网络模型,再把第1份数据最为测试集对得到的模型进行测试获得第一个测试准确率。第二次训练,将第一份和后面8份作为训练集,1000次迭代完成后得到一个网络模型,再把第2份数据最为测试集对得到的模型进行测试获得第一个测试准确率。以此类推最后得到10个测试准确率,平均这10个测试准确率,即为分类器的分类准确率。

3 实验结果分析

通过上述分类方法对本文7类岩石进行分类,分类准确率达到92.86%。为了进一步评估 LDS+CatBoost模型预测的性能,本文同时选取岩石分类常用的机器学习K最近邻(K-Nearest Neighbor,KNN)模型[8]、GBDT模型、XGBoost模型和未经改进的CatBoost模行进行对比分析。为了对比结果的可靠性,GBDT模型、XGBoost模型和原始CatBoost模型选取的超参数与 LDS+CatBoost模型的一致。各类模型分类结果概况如表4所示。

表4 各类模型测试结果

从表4中可以看出,除LDS+CatBoost模型外,其余对比模型的分类平均准确率相差不大,都在82%左右,Cat-Boost最高,可以达到83.8%。这可能说明在对数据进行LDS平滑滤波之前,分类器对岩石数据分类影响不大。进而对特征进行平滑滤波后,再送入CatBoost分类器,分类准确率可以提高9个百分点,达到92.86%。GBDT分类准确率较为分散,模型稳定性差,且4个对比模型准确率集中分布在80%~85%之间。相较于对比模型,本文提出的模型准确率集中分布在90%~95%之间,92.5%部分占比最大。除此之外,由图中的黑色盒型范围可以看出,LDS+Cat-Boost准确率波动程度比其他模型小,表明该分类器分类效果好且鲁棒性更强。这说明本文提出的LDS+CatBoost分类器利用图像HSV颜色空间矩阵和GLCM空间灰度级依赖矩阵的特征,对深灰色泥岩、灰黑色泥岩、灰色细砂岩、浅灰色细砂岩、黑色煤、深灰色泥质粉砂岩和灰色泥质粉砂岩7类岩石有很好的分类效果。

4 交互式界面实现岩石智能识别

界面设计可以让用户便于使用、便于了解、并能减少用户发生错误选择的可能性。为减少对于编程语言和设备的依赖,让识别岩性操作高效。本文利用Python-Tkinter图形化界面设计,融合训练好的网络模型,设计了一个在视觉效果上便于理解和使用的交互式界面用于实现岩石的智能识别,并将该界面导出为程序文件,方便在不同机器上进行快速测试。

由于本文在前期进行数据集扩充的过程中,将原始图像切分为9张子图像,并计算每张子图像的HSV矩阵和GLCM矩阵等数值构建成一个28维的特征空间作为分类器的分类特征。为了与模型训练特征保持一致,在交互式界面识别过程中首先将送入的图像同等切分为9张子图像并对每张子图像构建相同的28维特征,经过LDS特征平滑滤波后,再送入训练好的模型进行检测,将每张子图的检测结果保存到一个列表。最后采用投票法,将列表中投票最多的结果输出为测试结果。采用投票法在交互式界面对模型进行测试,可以提高模型的测试准确率。

5 结论

本文使用了300张7种白光拍摄的无背景岩石图像,对岩石的自动分类进行研究。对这些图像进行扩充,每一类岩石扩充到350张,最后共获得2450张图像的样本数据集。采用HSV颜色空间矩阵和GLCM空间灰度级依赖矩阵等特征提取方法对岩石样本进行数值化描述,将这些数值生成一个28维的特征空间。采用本文提出的LDS+CatBoost算法及常用的4种机器学习算法对2450张岩石图像进行自动分类,并对这些算法的有效性进行测试。研究结果表明,利用LDS+Cat-Boost算法结合交互式界面对数值化后的岩石图像实现自动分类是有可行性的。

本文提出的卡尔曼滤波结合机器学习分类器算法在地质学和岩石学领域可能具有重要作用。交互式界面的实现为岩石学和矿物学等领域构建一些实用的分类工具提供了思路。然而,本研究由于样本数据集的不足,训练好的模型会缺乏一定的泛化性,测试准确率也不够高。后续在数据集充足的情况下,将进一步探讨和研究本文提出的算法结果交互式界面大规模在地质学、矿物学和岩石学等领域应用的可行性。

猜你喜欢

分类器岩石准确率
第五章 岩石小专家
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
3深源岩石
一种叫做煤炭的岩石
海藻与岩石之间
高速公路车牌识别标识站准确率验证法
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别