APP下载

基于改进P-Unet 模型的岩屑颗粒识别*

2020-11-20王正勇何海波滕奇志何小海

网络安全与数据管理 2020年11期
关键词:池化岩屑准确率

万 川 ,王正勇 ,何海波 ,滕奇志 ,何小海

(1.四川大学 电子信息学院,四川 成都 610065;2.成都西图科技有限公司,四川 成都 610065)

0 引言

岩屑是在钻井过程中产生的岩石碎块,其种类繁多,按照岩屑的组成成分可以将岩石大致分成沉积岩、变质岩和岩浆岩。岩屑是岩屑录井的直观材料,其中岩屑颗粒识别工作是岩屑录井的主要工作。对岩石岩性的识别工作可以反映出地段地质的地层特性,从而能帮助勘探工作者分析地层的具体特性。岩性准确识别是地质人员研究地层特征和地质建模的基础。

目前国内对岩屑颗粒的识别鉴定传统的做法是采用人工标记的方式对岩屑颗粒进行采集分析。这需要专业人员来识别,并且工作量巨大。人工方式的标记对岩屑提取的信息与分析的结论存在误差,对地质专家分析地质存在较大影响。绝大多数在岩屑录井上采用数字图像识别和机器学习等技术手段, 运用数字图像处理技术分析岩屑颗粒图像,从而得到岩屑的纹理、颜色、空洞等特征,来用作区分岩屑颗粒岩性的识别分类。虽然利用数字图像处理等方法解决了传统特定方法中[1-2]人为标记岩性的问题,但是由于仍需要在分类时人为设置相应的特征,在某些程度上限制了识别的准确度。随着深度神经网络广泛被应用于计算机视觉领域,且不同的实验场景推出了不同深度神经网络模型[3-5],通过将较低的分辨率图片的特征映射到像素级尺度对图片中的每个像素进行识别,从而大幅度提升了图像识别的水平。但深度神经网络模型复杂度提升,增加了岩屑识别所耗费时长,对于岩屑颗粒的识别准确率有很大的提升空间。

为了提高岩屑颗粒识别算法准确率和识别效率,本文提出了一种基于改进P-Unet 岩屑颗粒识别模型,在文献[6]基础上做出了如下改进:

(1)在不改动 Unet 模型对称结构的情况下,将金字塔池化模块[7]融合到Unet 中,从而得到了本文模型 P-Unet 网络结构。

(2)运用了多分类焦点损失函数[8]代替传统的交叉熵损失函数。

(3)将深度残差网络ResNet[9]的升级版ResNeXt[10]的网络结构用于P-Unet 下采样的结构。

(4)用深度可分离卷积[11-12]代替传统卷积。

1 传统 Unet 网络模型

传统的 Unet 模型呈 U 形,具体结构如图 1 所示,图中每一层数字表示卷积核个数,结构前半部分是下采样,经过不同的卷积层卷积,提取图像深层次的特征。结构后半部分是上采样,实现方式利用反卷积的方式实现,输出指定类别数量的特征图。有学者也称这样的结构为编码器-解码器结构。

2 改进的 Unet 网络

传统Unet 网络在上采样时会直接拼接上一层的特征和对应下采样得到的特征信息,结果容易出现特征丢失等问题。为了有效解决上述问题,本文提出了改进的P-Unet 网络。本文模型采用了 Unet网络模型编码和解码过程,同时在上采样时将对应的下采样得到的特征经过金字塔池化模块之后和上一层特征拼接,拼接完之后再进行上采样。本文还用金字塔池化模块替换了最后一层下采样与上采样的过程。将金字塔池化模块运用在特征拼接过程和最后一层的上下采样过程,能充分利用上下层卷积层所提取的特征信息。同时运用了残差网络ResNeXt101 代替传统残差网络ResNet,并且将P-Unet网络中的传统卷积方式替换为深度可分离卷积,以及采用焦点损失函数代替传统的损失函数,具体P-Unet 结构如图 2 所示。

2.1 残差网络

图1 Unet 网络结构

图2 P-Unet 网络结构

传统方式一般通过加深或者加宽网络提高网络准确率,但同时伴随着网络参数和网络计算时间的增加。本文P-Unet 网络采用了升级版的残差网络 ResNeXt,此结构利用了 Inception[11]的多支路的思想,保持了ResNet 可移植性的优点,在改变模型复杂度的情况下增加一定的准确率。相比较ResNet 结构,ResNeXt 可以在不增加网络参数复杂度的情况下,同时减少了超参数的数量。ResNeXt 除采用了VGG 网络堆叠的思想,同时还引用了Inception 中多支路的思想。图3(a)显示了ResNet 结构中的基本块结构,图 3(b)显示 ResNeXt 结构中对应 ResNet 结构的基本块结构,图3 长方形中的第一个数字表示参加卷积操作的输入通道数,长方形中的第二个表达式中相同的数字表示卷积操作卷积核的大小,第三个数字表示卷积的通道数。ResNeXt 结构引入了一个名叫基数(cardinality)的超参数,指的是独立路径的数量,通过这个参数可以调整模型的容量。在图 3(b)中基数为32,通过扩大基数值,网络模型的准确率能得到一定的提升。

图3 ResNet 基本块结构和 ResNeXt 基本块结构

本文改进 P-Unet 网络融合了 ResNeXt101 网络,具体网络结构如表 1 所示(表中 C 表示的是基数)。与ResNet 相比较,在相同参数个数条件下,一个101 层 ResNeXt 网络和 200 层 ResNet 网络准确度差不多,但前者计算量只有后者的一半。ResNeXt 网络采用的是Inception 网络结构的思想,但残差网络全新的架构相比Inception 网络更加能适应新的数据。

表1 ResNeXt101 结构与 ResNet101 的结构对比

2.2 金字塔池化模块

金字塔池化模块最初应用于 PSPnet 网络[7],用于聚合不同区域的上下文特征信息,从而提高获取全局特征的能力。金字塔池化模块结构如图4 所示,模块中融合了4 种不同金字塔尺度的特征,Level1显示了最粗略的全局池化后产生的层级,该层是单个特征输出。Level2、Level3 和 Level4 是不同尺度池化后的特征,能获取不同的全局范围的特征。为了获取全局特征的权重,假如金字塔总共有n 个不同的级别,则在池化之后产生的每一个级别分别进行卷积将每个级别的通道数变为原来的1/n。金字塔池化模块每个级别的池化核大小可人为设定,池化核大小不同对应不同的级别,池化核大小与输入的尺寸有关。

图4 金字塔池化模块结构

本文P-Unet 网络模型融合金字塔池化模块结构对于像素级上的识别能充分获取上下文不同区域场景下的特征,对岩屑颗粒识别的准确率有一定的提升。

2.3 焦点损失函数

焦点损失函数(Focal Loss)是在交叉熵损失函数[12]基础上进行改进得到的损失函数,焦点损失函数表示为:

从式(1)可以看到焦点损失函数相比交叉熵损失函数引入了两个超参数 α 和 γ,α 是用来平衡样本数量,即可以平衡正负样本本身的比例不均衡的问题,γ 是用来调节简单样本和复杂样本所占的权重,即调节简单样本权重降低的速率,当γ 增加时,调整因子的影响也在增加。当 γ=0 且 α=1 即为交叉熵损失函数,对于交叉熵损失函数,正样本的输出概率越高损失越小,负样本输出概率越小损失越小。本文岩屑颗粒识别是多分类问题,因此焦点损失函数中α 是一个数组,数组大小为岩屑颗粒类别个数,分别代表着每一个类别对应的权重。普通交叉损失函数在大量简单样本的迭代过程中存在着比较缓慢而且可能无法达到最优的问题。焦点损失函数能有效地解决交叉损失函数所不能解决的样本比例不平衡的问题以及上述问题。

2.4 深度可分离卷积

文中采用残差网络虽然能提升岩屑识别的准确率,但是随着网络特征提取能力的增强,网络复杂度也随之增高,网络参数也增加,使得预测和训练的时间增长。为了减少网络参数,本文用深度可分离卷积[13]代替常规的卷积方式极大减少网络参数。

深度可分离卷积主要是将传统的卷积分为俩部分,一部分是深度卷积,另一部分为卷积核大小1×1 的卷积,如图 5 所示。

图5 传统卷积核、深度卷积核、点卷积核

图5 中(a)、(b)、(c)表示分别为传统的 卷积、深度卷积和 1×1 的卷积。传统卷积对特征图的所有通道同时卷积,无论多少个通道输出一个数。深度可分离卷积将正常的卷积过程分为两步:假设输入有N 个通道,第一步是用 N 个卷积对 N 个通道分别做卷积,这样可以得到 N 个数;第二步是将第一步得到的特征图通过 1×1×N 的卷积核进行卷积。

假设输入的特征图的尺寸为 W×W×M,输出特征图的大小为 W×W×N,卷积核的大小为 H×H,则通过传统卷积的性质可知该计算量为:

深度可分离卷积的计算量为上述两步的计算量之和,第一步深度卷积的计算量为:

第二步 1×1 卷积的计算量为:

根据上述的计算量得到深度可分离卷积和传统卷积之比,如式(5)所示:

假设卷积核大小为C×C,可以得到传统卷积的计算量大致是深度可分离卷积的C2倍。

根据以上性质可知,用深度可分离卷积代替传统卷积可以大量减少网络的参数,同时减少预测时间。

3 实验结果及分析

3.1 实验数据

本文的数据集来源于地质录井公司提供的岩屑样本,先经过筛选岩屑样本得到6 类比较多的岩屑颗粒,再通过实验室采集软件采集得所需样本图片。本文将采集得到的样本进行裁剪得到初步样本。再将样本经过旋转、镜像、平移等数据增强操作的方式得到最终所需的数据集,总共得到570 张512×512 的岩屑颗粒的训练集样本,以及通过随机选取得到的 60 张 512×512 的岩屑颗粒的测试集样本。岩屑样本中总共分为7 类,将不同类别的岩屑用不同RGB 值标记,其中本文将背景(背景指的是装岩屑颗粒的盒子)也当成 1 类,背景的 RGB 值设置为全 0。

3.2 实验环境

本文的实验在Windows 7 64 位操作系统下进行,实验使用的硬件资源为 Intel Core i5-7500 CPU。实验中使用的深度学习框架是以TensorFlow 作为其后端,Keras 作为其前端,同时利用 Python3.6 作为编程语言进行实验。实验中采用的是传统收敛速度较快的 Adam 优化器优化损失,其中 epochs 为 100,batch_size 为1。

3.3 结果分析

将自制的训练数据集输入改进的P-Unet 网络,用改进的网络进行训练,采用客观评价指标[14]对训练得到的结果与一些算法进行了对比。传统准确率的公式如下:

式中:TP 表示预测图和标签图中像素值不为 0 的像素点的总数量;FP 表示预测图中像素值不为0并且标签图中像素值为0 的像素点的总数量;FN表示预测图中像素值为0 并且标签图中像素值不为 0 的像素点的总数量;TN 表示预测图和标签图中像素值为0 的像素点的总数量;可以看出FN、FP是预测错误的像素,TP、TN 是预测正确的像素,本文准确率公式简化为:

式中:PN 表示预测值与标签值相同的像素;FN 表示预测值与标签值不同的像素。

从表2 看出:改进P-Unet 网络准确率相比Linknet[15]网络、传统的 Unet 网络分别上升了 2.31%、2.65%。同时对比了采用不同残差网络得到的准确率,运用了 ResNeXt101 的 Unet 网络准确率比运用了ResNet101 的 Unet 网络准确率上升了 0.16%。改进的模型可以更加准确地预测出岩屑颗粒的种类。

表2 本文模型与其他模型性能对比

根据表 2 和表 3 可知使用传统卷积的 P-Unet网络准确率高,但是模型的复杂度高。本文中使用深度可分离卷积替换传统卷积之后,虽然准确率下降了0.41%,但使用深度分离卷积的P-Unet 网络训练参数大约是使用传统卷积的P-Unet 网络训练参数的1/3 倍,网络的复杂度也相应大大降低。

4 结论

本文提出了一种改进P-Unet 网络模型的岩屑颗粒识别方法,利用传统Unet 网络的上采样和下采用的技术,融合了金字塔池化模块,采用了焦点损失函数作为网络的损失函数,以及ResNeXt 残差网络结构等一系列的技术,本文改进的模型在岩屑颗粒识别准确性上得到进一步的提升。实验结果表明,本文的方法有效改进了岩屑颗粒识别的准确率,在岩屑颗粒识别领域上有一定的参考价值。

表3 本文模型与其他模型的参数量

猜你喜欢

池化岩屑准确率
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
岩屑床破坏器在水平井斜井段的清洁效果研究
论细碎岩屑地质录井
基于卷积神经网络和池化算法的表情识别研究
高速公路车牌识别标识站准确率验证法