基于改进MobileNetV2 的钻杆计数方法

2022-11-09 04:46张栋姜媛媛
工矿自动化 2022年10期
关键词:钻杆钻机计数

张栋,姜媛媛,2

(1.安徽理工大学 电气与信息工程学院,安徽 淮南 232001;2.安徽理工大学 环境友好材料与职业健康研究院(芜湖),安徽 芜湖 241003)

0 引言

煤炭开采过程中,随着开采深度加深,煤层瓦斯含量及压力均显著增大,易发生煤与瓦斯突出灾害。煤与瓦斯突出灾害防治措施主要分为保护层开采与预抽煤层瓦斯,其中预抽煤层瓦斯主要通过在井下施工抽采钻孔来实施,能够有效降低煤层瓦斯含量和压力。为满足打钻时钻孔深度的要求,一般通过统计钻杆数间接计算钻孔深度[1]。

传统的矿井钻机钻杆计数方法主要有人工计数法、仪器计数法、应力波法、电驻波法和低压脉冲反射法等。人工计数法是由工作人员现场观察记录钻杆数量,耗时耗力,自动化水平低。仪器计数法[2]是在钻机上安装钻孔激光传感器,由电控箱采集传感器数据并进行数据处理和运算,得出钻杆数量,但是钻孔激光传感器在矿井粉尘、潮湿等恶劣环境下极易损坏。应力波法通过钻杆尾部传感器测得反射波信号,根据应力波与反射波的时间差测得钻杆长度[3]。电驻波法通过钻杆形成的驻波找到驻波节点,获取钻杆数量[4]。低压脉冲反射法是向钻杆中输入低压脉冲信号,根据行波理论测得端面反射波到达测试点的准确时间[5],计算出钻杆数量。但是煤矿井下为爆炸性气体环境,应力波法、电驻波法、低压脉冲反射法中波的能量不易控制,无法满足煤矿安全防爆性能要求。

近年来图像处理技术逐步应用于智慧矿山建设[6],为提高钻杆计数的准确性和可靠性,基于图像处理的钻杆计数方法引起了人们关注。董立红等[7]提出了一种角点检测算法,结合金字塔光流法对运动钻机进行光流场估计,再采用跳帧的思想实现计数功能。董立红等[8]提出使用改进的Camshift 算法实时捕捉钻杆目标,并且通过设置锚点以及判断时间间隔来进行钻杆计数。但限于井下环境单一,图像颜色昏暗,角点检测与Camshift 算法容易丢失目标,造成统计结果偏差。高瑞等[9]提出通过改进ResNet网络进行二分类,采用积分法对视频分类置信度进行滤波,统计置信度曲线下降沿数量实现钻杆计数。党伟超等[10]提出利用三维卷积神经网络对钻机卸杆动作进行识别,但ResNet 与三维卷积神经网络参数量庞大,训练困难。

针对上述问题,本文提出了一种基于改进MobileNetV2 的钻杆计数方法。基于钻机工作的视频信息,利用改进的MobileNetV2 模型识别出钻杆钻进过程中装钻杆、打钻杆、卸钻杆及停机4 种工作状态,根据每帧图像判断钻机工作状态,进而确定打入钻杆的数量。经现场实验证明,该方法可实现钻杆的精准计数,解决了现有方法特征提取困难、算法冗杂、计数精度低等问题。

1 钻机工作状态识别模型构建

1.1 MobileNetV2 模型

MobileNetV2[11]采用深度可分离卷积将普通卷积替换为深度卷积(Depthwise Convolution,DW)和点卷积(Pointwise Convolution,PC)。DW 分别对输入特征图每一层通道进行卷积,卷积核个数对应输入特征图的通道数。PC 采用的是1×1 大小的卷积核,卷积核的通道数对应输入特征图的通道数。一般采用3×3 的卷积核,深度可分离卷积结构可降低大约9 倍的参数量,大大减少了网络参数更新的计算成本和训练时间,适用于钻机工作状态识别任务。

1.2 改进MobileNetV2 模型

在煤矿复杂环境下,需要将MobileNetV2 模型部署在终端边缘设备上进行实时推理和计算,而这些终端设备的计算能力往往很弱,对模型的轻量化提出了更高要求。为增强MobileNetV2 对钻机工作状态识别任务的适应性,充分提取钻机图像特征,对MobileNetV2 进行改进,得到改进的MobileNetV2 模型(以下简称P-MobileNetV2 模型),以实现识别精度与轻量化的平衡。

1.2.1 注意力模块加入

钻机工作状态图像区分度信息只存在较小的区域内,同时类内差异较小,导致识别困难。通过添加卷积注意力模块(Convolutional Block Attention Module,CBAM)[12],利用通道信息和空间信息重构特征图,提取钻机工作状态图像中的显著特征,并加强显著特征的权重,弱化不必要特征的权重[13],从而获得更加全面可靠的图像特征信息。CBAM 结构如图1 所示,包括通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)。

图1 CBAM 结构Fig.1 Structure of convolutional block attention module

假设给定一个输入特征矩阵F∈RC×H×W,C,H,W分别为输入特征矩阵的通道数、高度、宽度。首先通过CAM 同时对输入按通道进行全局最大池化和全局平均池化,分别得到2 个不同的C×1×1一维向量,通过共享的全连接层将2 个一维向量相加,经过Sigmoid 激活函数,得到通道注意力向量MC∈RC×1×1。然后通过SAM 将CAM 的输出映射F′∈RC×H×W作为SAM 的输入,在通道维度上同时进行全局平均池化和全局最大池化,分别得到2 个不同的1×H×W向量,将两者进行拼接,通过一个卷积核为 7×7的卷积和激活函数,得到空间注意力向量MS∈R1×H×W。最后将空间注意力向量与CAM 的输出映射相乘,得到最终的特征映射F′′∈RC×H×W。

CBAM 的参数变化虽然较少,但却能明显提升MobileNetV2 对钻机工作图像显著特征的提取能力,通过在MobileNetV2 的输入层和全连接层处加入CBAM,可提升图像特征的显著度。

1.2.2 目标函数优化

在钻机工作状态数据集中,由于井下环境昏暗,部分钻机工作图像的特征难以提取。而Focal Loss[14]函数能够通过控制正负样本的权重,解决钻机工作图像中困难样本与简单样本不平衡的问题,准确评估真实钻机工作状态与预测钻机工作状态之间的差距,提升模型对困难样本的识别能力,进而提高P-MobileNetV2 模型的识别精度。因此,本文将交叉熵损失函数替换为聚焦参数γ的Focal Loss 函数,Focal Loss 的计算公式如下:

式中:α为平衡参数,用来控制正负样本的权重;p为P-MobileNetV2 模型的预测概率;γ为调节参数,用来减少易分类样本的损失,γ=0 时,Focal Loss 就是交叉熵损失函数,多次实验结果表明,当α=0.25,γ=2 时,效果最好。

1.2.3 迁移学习

煤矿井下工作环境复杂,为增强MobileNetV2在不同工况下的适用性,提升钻机工作状态识别精度,加快模型的收敛速度,采用迁移学习的训练方式优化MobileNetV2 模型[14]。因此,将MobileNetV2最后3 层,即全连接层、softmax 层和分类层,用一个1×4 的全连接层、1×4 的softmax 层及4 分类输出层代替,进行迁移学习。迁移学习框架如图2 所示。

图2 迁移学习框架Fig.2 Transfer learning framework

1.3 P-MobileNetV2 模型结构

将P-MobileNetV2 模型作为钻机工作状态识别模型,结构见表1。

表1 P-MobileNetV2 模型结构Table 1 Improved MobileNetV2 model structure

2 钻杆计数方法

在钻机的完整工作流程中,包括装钻杆、打钻杆、卸钻杆及停机4 种工作状态,其中装卸钻杆过程中,包含工作人员的装卸钻杆动作,图像明显区别于打钻杆、停机工作过程,图像特征易识别。利用P-MobileNetV2 模型提取钻机工作状态特征,通过识别钻杆钻进完整过程中装钻杆、打钻杆、卸钻杆、停机4 种钻机工作状态,实现钻杆的精确计数,明确钻孔深度。基于P-MobileNetV2 模型的钻杆计数流程如图3 所示。

图3 基于P-MobileNetV2 模型的钻杆计数流程Fig.3 Drill pipe counting process based on P-MobileNetV2 model

2.1 数据预处理

钻机工作状态数据采集自安徽省淮南市谢家集区朱集东矿综采工作面、河南省平顶山市大庄矿综采工作面,采集设备是分辨率为1 280×720 的摄像头。选取钻机不同工作角度,录制钻机完整工作流程视频,视频格式为MP4。通过视频取帧获取大量优质钻机工作状态图像,所有图像均为RGB 三通道彩色图像。

根据图像内容将图像分为装钻杆、打钻杆、卸钻杆、停机4 类,其中装钻杆图像、卸钻杆图像各1 000 张,打钻杆图像、停机图像各2 000 张。钻机实际工作过程中,停机、打钻杆工作时间多于装卸钻杆工作时间,导致停机、打钻杆图像数量远多于装卸钻杆图像。在图像训练过程中会因图像数量分布不均衡累计训练误差,导致P-MobileNetV2 模型识别结果偏向于停机与打钻杆图像类别。

对不均衡训练数据进行数据重采样是消除这种影响的可行方法,包括上采样和下采样。本文通过下采样,在所有类别图像中随机提取500 个样本得到分布均衡的数据集,钻机工作状态图像数据实例如图4 所示。

图4 钻机工作状态图像Fig.4 Images of drilling rig working state

MobileNetV2 模型的输入图像大小为2 24×224×3,而通过录制视频取帧获取的图像大小为1 280×720×3,所以需将图像尺寸归一化至 224×224×3。

从原始图像中可以看出井下环境单一,主要以灰黑为主,图像灰暗。本文通过灰度变换增强、图像旋转、直方图均衡化和中值滤波4 种图像增强方法增加图像的清晰度,通过图像旋转增加样本的多样性,对样本图像数量进行扩充,提高模型的泛化能力及识别准确率。通过图像增强得到扩充后的图像数据共10 000 张(每类2 500 张),按照8∶1∶1 的比例划分为训练集、验证集和测试集,其中训练集8 000 个样本,验证集1 000 个样本,测试集1 000 个样本,图像增强后样本如图5 所示。

图5 图像增强示例Fig.5 Image enhancement example

2.2 钻杆计数

将图像增强后的钻机工作状态图像输入P-MobileNetV2 模型进行训练,保存训练过程中训练精度最高的权重。完成训练后,通过摄像头实时获取钻机工作视频。为了加快模型检测速度,每隔1 s 提取1 帧图像,输入P-MobileNetV2 模型进行钻机状态识别,得到识别结果。为便于统计钻杆数量,降低误差,将模型检测结果转换为0,1,2,3 信号值,分别对应停机、打钻杆、卸钻杆、装钻杆4 种工作状态,生成置信度数据,按照时间顺序存储至CSV 文件。P-MobileNetV2 模型对图像数据进行检测时,仍存在错误识别结果,通过滑动窗口对置信度数据进行滤波,滑动步长为10。滑动窗口长度为10,每次读取10 个置信度数据,统计其中出现频率最高的数据,生成新的置信度数据。通过合并滑动窗口滤波后置信度数据中相邻相同识别结果,统计钻杆数量,明确钻孔深度。置信度滤波过程如图6 所示。

图6 置信度滤波过程Fig.6 The process of confidence filtering

3 模型训练与实验分析

3.1 实验环境及参数设置

本次实验采用Tensorflow 及Keras 作为模型的搭建和训练平台,计算机配置为Intel core i7-10870H,显卡为NVIDIA GeForce RTX2060,所有程序均在Windos10 系统下使用Python3 语言编写。

为得到最佳的P-MobileNetV2 模型参数,在本文数据集上进行实验确定宽度因子、学习率。调整宽度因子可以降低模型的计算量和参数量,但会损失一定的精度。经过反复验证,选取宽度因子为0.75,此时P-MobileNetV2 模型的参数量和计算量大大减少,模型更加轻量化,精度损失较小。

学习率设置太小会导致网络模型收敛较慢,设置太大可能导致梯度在最小值附近振荡,甚至无法收敛,合适的学习率可以使模型在较短时间内收敛到局部最小值。经过反复验证,采取动态学习率的策略。动态学习率是将初始学习率设为0.001,随着训练轮次的变化,3 次迭代内损失率停止下降时,学习率衰减为原来的一半。

为防止模型出现过拟合现象,在P-MobileNetV2模型中加入Dropout 随机丢弃神经元,随机丢弃率为0.001。在模型训练过程中,训练集每迭代1 次,对验证数据集进行1 次测试,输出并记录准确率和损失率。

3.2 模型训练结果

为验证P-MobileNetV2 模型识别钻机工作状态的性能,在相同的实验条件下将P-MobileNetV2 与经典分类模型ResNet50[15],Xception[16],InceptionV3[17],InceptionResNetV2[18],MobileNetV2进行对比分析。各模型在钻机工作状态图像数据集上的准确率和损失率变化曲线如图7 所示。

图7 不同模型的训练曲线Fig.7 Training curves of different models

从图7 可看出:P-MobileNetV2 模型的准确率和损失率明显优于其余5 种经典模型。随着迭代次数不断变化,前期各模型的准确率波动比较剧烈,因为前期的学习率比较高,而且采用了动态学习率,当学习率衰减时,模型的训练曲线会出现波动。经过7 次迭代之后,各模型开始收敛,模型的准确率曲线都逐渐趋于平稳,各模型的准确率达95%以上,损失率也都降到了0.1 以下。其中P-MobileNetV2 模型的训练曲线波动幅度较小,稳定性较强。

P-MobileNetV2 模型与其他分类模型在准确率、训练时间、参数量上的对比结果见表2。

表2 不同模型的训练结果Table 2 Training results of different models

从表2 可看出,P-MobileNetV2 模型参数量比MobileNetV2 模型参数量减少了38.9%,相较于其他分类模型参数量大大减少。在相同条件下训练时间也少于其他经典分类模型,比MobileNetV2 模型只增加了少量时间。P-MobileNetV2 模型准确率最高,达99.95%,相比ResNet50,Xception,InceptionV3,InceptionResNetV2,MobileNetV2 分别提高了1.35%,1.28%,1.43%,0.85%,1.25%。

3.3 井下应用实验

为验证本文提出的钻杆计数方法在煤矿井下综采工作面钻杆计数任务中的应用效果,使用朱集东矿综采工作面、大庄矿综采工作面录制的钻机完整工作流程视频对不同钻杆计数方法进行测试。统计结果见表3。

表3 不同钻杆计数方法的统计结果Table 3 Statistical results of different drill pipe counting methods

从表3 可看出,人工计数法容易受到主观因素影响,当钻杆数量较多时,准确率可能随着时间的延长而降低,导致钻杆计数精度较低。而模型检测方法计数更加稳定,其中基于P-MobileNetV2 模型的钻杆计数方法效果最好,钻杆计数精度达98.4%,高于人工计数法和文献[9]、文献[10]、文献[19]所提方法,在误差允许范围内,能够很好地实现钻杆计数功能。

4 结论

(1)在MobileNetV2 的基础上,添加CBAM 增强特征细化能力,加强图像中的显著特征,采用Focal Loss 损失函数平衡正负样本,使用迁移学习优化模型初始参数,加快收敛速度,构建P-MobileNetV2 模型,在轻量化的前提下提升了模型识别精度。在钻机工作状态识别任务中,P-MobileNetV2 模型识别精度达99.95%,优于其他经典模型。

(2)基于P-MobileNetV2 模型提出了一种钻杆计数方法,通过P-MobileNetV2 模型提取钻机工作状态特征,统计钻杆数量。将该方法应用于井下综采工作面的钻杆计数中,平均钻杆计数精度为98.4%,实现了钻杆精确计数。

猜你喜欢
钻杆钻机计数
煤矿坑道钻机大直径钻杆上卸装置设计
钻机配套螺杆压缩机控制系统分析及优化设计
ZJ40L钻机并车箱升级改造设计
古人计数
某井S135钢级钻杆挤扁原因
邻近既有建筑物全套管回转钻机拔桩技术
深部地质钻探孔内钻杆动力响应特性研究
递归计数的六种方式
岩芯钻探复杂孔内事故处理技术
古代的计数方法