范思萌,王 梅,杨二龙,孙先达

(1.东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318;2. 东北石油大学 提高采收率教育部重点实验室,黑龙江 大庆 163318;3. 东北石油大学 陆相页岩油气成藏及高效开发教育部重点实验室,黑龙江 大庆163318)

0 引 言

岩石分类是后期油藏模拟管理的前期准备工作,因此在岩屑图像中的岩石检测变得越来越重要[1]。传统的岩屑图像检测中的特征提取算法大致可分为以下2 类:基于颜色特征[2⁃3]、基于纹理特征[4⁃6],用于提取岩石的特征,但这些特征都由人工设定,计算量较大且没有高层语义上的抽象能力[7]。因此,学习更深层次的具有抽象语义的特征,有望提高岩屑图像识别的性能。

随着近几年深度学习的发展,卷积神经网络可以直接对大量的原始图像进行学习提取特征,基于卷积神经网络[8⁃9]学习到的多层次且具有抽象语义的特征,对于训练岩屑图像的分类器取得了不错的效果。但是,数据集的大小对于网络性能很重要,然而在实际岩屑图像检测的过程中,往往无法获取到足够多的数据。因此,在训练卷积神经网络模型时,使用迁移学习来解决样本数据集不足以及过拟合的问题[10]。

本文提出基于SVM⁃FTVGG16 的目标检测方法,对岩屑图像中的岩石泥块进行检测。通过训练过的FTVGG16 模型提取岩屑特征,并且使用主成分分析法对其进行选取。最后使用支持向量机进行分类并使用非极大值抑制确定最终候选框位置。在采集到的岩屑图像数据集上的测试实验表明,本文方法能够有效提升目标检测性能。

1 SVM⁃FTVGG16 岩屑检测方法实现

基于SVM⁃FTVGG16 岩屑检测算法的实现分为三部分:岩屑图像数据集预处理、VGG16 网络的迁移学习模型的训练及特征提取(即FTVGG16 网络模型的训练与特征提取)、分类检测。

1.1 岩屑图像数据集预处理

1.1.1 图像去均值

为了去除光照和阴影影响,避免卷积时数据值过大,以及保证程序运行时收敛加快,图像预处理部分采用归一化对图像像素进行处理。

假设原图像像素点的三通道的取值分别为R,G,B,归一化之后的值分别为r,g,b,归一化的公式如下:

1.1.2 候选区生成

当岩屑图像做目标检测的第一步是候选区域的选取,传统的滑动窗口方法是按照设定的子块大小遍历图像上所有子图像,因此会导致目标的搜索速度比较慢。为了克服这个问题,本文采用Selective Search[11]方法来生成候选区域。Selective Search 基本原理如下:先使用图像分割方法产生初始的分割区域,然后基于颜色、纹理、大小和形状结合相似度最高的两个区域进行合并,直到整张图片合并成一个区域。通过不断迭代,最后输出所有存在过的区域,并在原始图像中标定这些区域的具体位置。

1.2 FTVGG16 网络模型

VGG 结构是深度卷积神经网络,能够学习到具有局部平移不变性以及深度层次的特征,所以被广泛用于图像识别任务中。本文提出的FTVGG16 是以VGG16网络作为基本的网络结构。VGG16网络是由13个3×3个卷积层以及3 个完全连接层组成,将最大池化层连接在每组卷积的后面。为了解决梯度消失问题,同时加速网络收敛,使用ReLU 函数来进行非线性响应,对于任意第i层:

式 中:zi∈R(Ni×1)为 激 励 向 量;vi∈R(Ni×1)为 激 活 向 量;Wi∈RNi×Ni为权值;bi∈R(Ni×1)为偏置;f( )⋅ 为激活函数ReLU。

由于岩屑的检测缺少数据集,本文提出在VGG16网络模型基础上进行迁移学习[12],普通的卷积神经网络模型每次都是从头训练,而迁移学习允许从模型学习的知识以特定方式转移到新模型,以加快网络模型效率的优化并提高识别准确性。本文的迁移学习之后得到的FTVGG16 整体架构图如图1 所示。

图1 FTVGG16 卷积神经网络整体架构图

FTVGG16 的迁移学习过程主要分为两个阶段:第一阶段,岩屑检测网络模型利用ImageNet 数据集上预训练特征提取所获得的权重参数进行初始化。然后设计3 层完全连接层,其中前两层的神经元个数被设定为1 024,由于本文的识别任务有两种类别,即岩石和非岩石,所以第三层神经元个数为2 个。之后,对全连接层和分类器进行训练,保存模型。第二阶段加载第一部分保存的模型,在第一个MaxPooling 之前冻结权重,使用岩屑图像的样本数据集重新训练FTVGG16 网络模型,并优化参数,最终得到岩屑检测模型。

1.3 分类检测设计

由于岩石样本数据集较少,SVM 分类对样本数据集大小的依属性较弱,因此本文引入在样本数量较小时,分类效果更为稳定的SVM 分类器[13]。SVM 的基本原理是求取使训练集几何间隔达到最大的超平面。SVM 的分类函数为:

式中:ai为拉格朗日乘子;yi为类标记;K(xi,xj)为核函数;b为偏移向量。

本文选择的核函数是高斯核函数,其中的K(xi,xj)为:

将训练的FTVGG16 网络最后一层Maxpooling 之后的特征图输入支持向量机中训练。

2 实验结果及分析

2.1 数据集

岩屑图像数据集利用手机照相机采样得到,其中包含多个岩石目标的图像有40 张,包含单个岩石目标的图像有105 张,不包含岩石目标的图像有110 张。将含有单个岩石目标的图像作为正样本,将不含岩石目标的图像作为负样本。本文采用Keras 中的ImageGenerator来扩充数据集,扩充前后的正负样本分别为1 600 和1 700 张,将扩充后样本剪裁到224×224,并将剩余的40 张含有多个岩石目标的图像共有187 个岩石,作为测试图像。

2.2 模型训练以及参数设置

本文的实验是在Pycharm 软件中进行的,深度学习框架为Keras。FTVGG16 网络模型训练时岩屑数据集的训练集与测试集的样本比例为9∶1。FTVGG16 网络模型提取到的特征为25 088 维,PCA 降维的n_components 参数设定为0.9,即特征维数为25 088 降维到16 542 维。保持SVM 的RBF 核不变,通过遍历参数,找到最优核参数,得到惩罚因子C=1,γ=0.7。非极大值抑制的阈值设定为0.3。

2.3 模型检测结果

使用基于SVM⁃FTVGG16 岩屑图像的目标检测模型来对岩屑图像进行检测,得到的检测结果如图2 所示。从图2 中的检测结果可以看出,本文提出的基于SVM⁃FTVGG16 目标检测模型能够较好地检测出岩屑图像中岩石的位置。

图2 岩屑图像检测效果图

2.4 算法比较

本文模型和SVM+HOG[14]模型将使用建立的岩屑图像数据集进行训练,然后使用训练后的模型检测测试集,得到的结果如表1 所示。从表中统计结果可以看出,基于SVM⁃FTVGG16 目标检测算法在精准率和召回率方面明显高于SVM+HOG 算法。本文算法和SVM+HOG 算法在测试图像上的检测结果如图3、图4 所示(图像背景与检测效果无关)。从图3 以及图4 岩屑图像目标检测结果图可以看出,本文算法能够较好地检测出岩屑目标,而SVM+HOG 算法出现了漏检情况。因此,本文提出的方法对岩屑图像具有较高的识别性能,对岩屑检测具有重要意义。

表1 测试结果统计

图3 本文算法检测结果

图4 SVM+HOG 算法检测结果

3 结 论

本文提出基于SVM⁃FTVGG16 目标检测模型应用于岩屑图像的检测中,相比较传统的基于SVM+HOG 的目标检测算法,很好地解决了传统的人工提取特征的不足。使得在召回率和精准率方面,本文检测算法比HOG+SVM 算法的检测效果好,具有较高的稳定性。此外,考虑具体岩屑图像中有些目标较小,对于这些目标的检测也是需要研究的问题。

注:本文通讯作者为王梅、杨二龙。