1. 引言
当前我国对于石油和天然气的主要运输手段仍是管道运输。其优点在于运输的成本低、运输途中对物料的消耗少、可控性强。据国家能源局统计,在2021年底,全球通入使用的管道里程约202万公里,2022年底,全球计划或即将建造的管道约为16.6万公里。而我国在2022年底,共管道里程约为18万公里。按照双碳目标的要求下,预计到2035年,我国将新增管道总里程约6.5万公里。但随着管道运输的大规模使用,其安全性受到了人们的广泛重视。由于管道所处的环境比较复杂,有些埋藏在地下或者海洋中,随着时间的推移,管道会因为遭受到环境的侵蚀、自身老化、人为破坏的问题出现泄漏事故。近些年来国内外各地不时有石油天然气泄漏导致的重大事故,给当地造成了不可估量的经济损失以及难以修复的环境污染[1]。
近些年研究者对于油气管道泄漏的问题做出了很多研究,早期因为技术发展不足,主要采用人工巡检的方法,这种方法一方面人工成本高,另一方面无法做到实时检测,只能定期巡检。统计检测法[2] [3]是由Zhang提出的一种基于测量数据统计分析的管道泄漏检测方法,该方法是通关传感器获取管道两端的流速和压力后,再计算泄漏的概率,原理是使用最小二乘法进行定位泄漏位置。但是该方法对硬件的资源要求过高。音波检测法[4]是在管道两端安装传感器检测声波,通过泄漏时音波的变化进行检测,但是该方法对处理管道运行的噪声要求较高。
近些年深度学习的兴起为检测管道泄漏带来了新的技术,大批学者开始对此进行研究,许[5]等人对RNN网络进行研究并加以改进用以检测管道泄漏,但是深度学习的方法涉及到的模型均比较庞大,需要高算力的平台。罗[6]使用鲸鱼优化算法进行石油管道泄漏检测技术的研究,建立了一种切应力修正的石油管道泄漏模型,并用特征线法求解,进行泄漏处定位,但是该方法存在的问题在于实时性较差,存在4~9秒的误差,无法满足工程需求。潘[7]针对电厂中存在的油液泄漏的现象进行研究,提出了一种图像检测法,该方法通过将CBMA注意力机制融入YOLOv5,并采用Focal EIoU Loss作为损失函数,提高了算法的鲁棒性,并在后续工作中做出了预警系统,但是该研究所检测的泄漏类型较少,而且对于现场环境复杂无法提取有效图像未能提出解决方案。刘[8]针对神经网络存在的问题提出了一种动态深度可分离的卷积神经网络来检测管道泄漏,该方法一定程度上解决了神经网络目前所存在的参数量过大,实时性不强的问题,但是该方法只能对泄漏数据进行无监督的机器学习,并未探索对未知泄漏类型的识别能力。
根据已经发生的事故,管道泄漏时间具有突发性和时间不可控性。现有的油气管道泄漏检测技术大多使用大模型进行训练和预测,使其只能借助高算力平台,并不适合移植到嵌入式设备做到软硬件相结合检测。近几年学者对于算法的研究已经从开始的复杂算法转变为研究如何将算法轻量化,本文将从近些年研究轻量化模型的角度入手,选择SqueezeNet神经网络作为研究基础,并用Ghost模块替换模型中Fire模块中的扩展层,并引入SE注意力机制来提高准确度。使其在不损失精度的前提下模型更小,更适合移植到嵌入式设备,解决算法模型参数和准确性不能兼顾的问题。
2. SqueezeNet神经网络
CNN卷积神经网络对比传统算法,在机器视觉等领域在精度上有较大的提升,但是CNN卷积神经网络依赖于平台的算力,模型的计算量和参数量都较大,这就是难以将算法与嵌入式设备融合的原因。目前较为主流的轻量化模型有MobileNet,ShuffleNet,EfficientNet,AlexNet等[9]。而SqueezeNet是由han [10]所提出的一种轻量化的CNN模型。对比AlexNet模型,其能够在保持性能的前提下参数比AlexNet减少50 x。对比于其他网络,SqueezeNet具有三个独到的优势:
1、SqueezeNe将卷积神经网络的部分3 × 3的卷积核开创性的替换为1 × 1的卷积核,以达到更少的计算参数。
2、将卷积层替换为由挤压层和扩展层组合而成的fire模块结构:首先,输入特征通过squeeze层,其中包含1 × 1卷积核,以减少特征通道数。然后,经过扩展层,其中包含1 × 1卷积核和3 × 3卷积核,以增加特征的复杂性和丰富度。最后,将1 × 1卷积核和3 × 3卷积核的输出特征拼接在一起,以形成fire模块的输出。此结构有效减少了整个网络的参数量。
3、将池化操作延后,保留了更大的特征图,从而保留了更多的特征信息。图1显示了fire模块的结构。
Figure 1. Structure of the fire module
图1. Fire模块的结构
SqueezeNet的核心策略是利用1 × 1卷积模块对特征图进行降维处理,如图1所示。这种操作能有效地减少3 × 3卷积层的输入通道数,从而降低训练参数量、缩小模型尺寸,并提高训练速度。
图2展示了SqueezeNet的网络结构,其输入图像首先通过一个独立的卷积层进行处理,然后特征被逐步引入八个fire模块。在每个fire模块中,卷积核数量都逐渐增加。此外,在conv1、fire4、fire8和conv10层之后,SqueezeNet都会进行步幅为2的最大池化操作。
SqueezeNet是为满足边缘计算中有限资源和高计算速度而提出的压缩网络,在不大幅度降低模型精度的前提下,提高了运算速度,然而经过实践验证,该网络也存在以下缺点:
1、信息缺失。由于SqueezeNet采用了较小的参数量和模型大小,因此可能会导致信息损失,特别是在处理复杂数据集时,可能会影响模型的性能。
2、实时性。SqueezeNet的提出旨在将其应用于嵌入式环境,而在这种环境中,实时性是一个重要的挑战。虽然SqueezeNet采用了较为轻量的18层结构来减少网络的参数数量,但更深层的结构也会降低网络的并行性,从而可能影响网络的实时性。
3、适用范围限制:尽管SqueezeNet在移动端设备上具有一定的优势,但在一些对模型精度要求较高的场景下,可能会受到限制,例如在需要进行精细的图像分类或物体检测时。
Figure 2. Structure of SqueezeNet
图2. SqueezeNet的网络结构
3. 改进的SqueezeNet神经网络
Figure 3. G-S-SqueezeNet network
图3. G-S-SqueezeNet网络
针对以上传统SqueezeNet网络的缺点,本文拟探索一种将SqueezeNet网络中Fire模块中的扩展层更换为Ghost模块,同时在新模块的结束后,添加SE注意力机制的新型网络。这样做的目的是使改进过后的网络更加轻量化,并不会因为模型大小的减少而降低精度。更加符合解决目前部署到资源有限的嵌入式设备的难题。在不改变其大体网络结构的情况下,首先将Fire模块中的expand层替换成Ghostnet的Ghost模块。随后在新模块后插入SE注意力机制,用以提高识别的准确率。改进后的的SqueezeNet网络命名为G-S-SqueezeNet网络,其结构图如图3所示。
3.1. Ghost模块
华为诺亚方舟实验室在2020年提出了一种轻量级神经网络架构–GhostNet [11],其主要特点在于在保持高精度的前提下,成功减少了网络的参数量和计个全新的Ghost模块,目标是通过廉价的操作生成更多的特征映射。对于一组原始的特征图,开发者应用一系列线性变换,以很小的代价生成许多能从原始特征发掘所需信息的“幻影”特征图(Ghost feature maps) [12]。它能够通过成本低廉的操作φ1生成更多的特征映射。GhostNet还采用了自适应模型推理(Adaptive Model Inference)的方法,通过在测试时自适应地调整模型的宽度和深度,以进一步减少模型的计算量,同时保持模型的精度。
Figure 4. Traditional conv
图4. 普通卷积
Figure 5. Ghost module
图5. Ghost模块
Ghost模块的实现分为两个部分:1、首先通过普通的卷积计算来得到通道比较少的特征映射。2、再对普通卷积计算得到的特征进行廉价简单的操作来获得更多的特征映射。将两个部分的特征连接到一起组成一个新的特征输出。通过这两个操作得到与普通卷积相同数量的特征图。为了提升效率,Ghost模块中的初始卷积采用的是点卷积。Ghost的优点在于可以在神经网络中即插即用,GhostNet的组成实质上就是堆叠Ghost模块来生成的。图4为普通卷积的示意图,图5为Ghost模块的示意图。
3.2. SE注意力机制
通道注意力机制专注于各个通道,因为在特征提取过程中,数据通常经过下采样,导致图像的长宽维度减小,而通道数增加。在众多通道中,包含多种类型的信息,有些与特征高度相关,而有些则不相关甚至无用。通道注意力机制的目标是探索这些通道,并加权它们的重要性,以突出对特征提取有帮助的通道,减少无用的通道[13]。
本本采用SENet (Squeeze-and-Excitation Networks)模块,该模块利用注意力机制捕捉每个通道内部的关联性,并结合压缩和激励操作,目的在于让模型能够自主学习各个通道特征的不同重要程度,其结构如图6所示。
Figure 6. SE attention mechanism
图6. SE注意力机制
在输入SE注意力机制之前(左侧橙色C2),特征图的每个通道的重要程度都是一样的,通过SENet之后(右侧彩图C2),不同颜色代表不同的权重,使每个特征通道的重要性变得有差异,使神经网络重点关注某些权重值大的通道。
实际情况中特征图的不同通道所占的重要性程度一定是存在差异的,而一般的卷积池化模型却不会对这种存在差异的通道进行分类操作,SE的出现解决了这种问题,他的结构由两个操作,压缩(Squeeze)操作和激励(Excitation)操作所构成,首先压缩操作是通过在特征图层上执行全局平均池化操作完成的,完成这步操作之后会获得当前特征图的全局压缩特征量[14],其本质是在空间维度上进行压缩,结果是将h × w × c的特征维度转化为1 × 1 × c的特征维度,转化得到的特征维度在一定范围内具有全局性的感受野,而且其输入输出的通道数目是相同的,其具体公式如下所示:
(1)
其中
为通道维度序号。
激励操作通过两层全连接的bottleneck结构得到特征图中每个通道的权值,下层网络的输入就是激励操作后并经过加权输出的特征图,其公式如下所示
(2)
(3)
(4)
其中
表示第一个全连接层权重矩阵,
表示第二个全连接层权重矩阵,降维系数为r,
使用ReLU作为激活函数,之后将学习到的各通道的激活值应用sigmoid函数激活后与在U上的原始特征相乘,具体公式如下:
(5)
3.3. G-S-Fire模块
传统神经网络中标准卷积核的参数个数N为:
(6)
其中S为卷积核大小,Q为输入通道数量,W为输出通道数量。
在这里设标准SqueezeNet网络中的Fire模块的参数为Ns,挤压层和扩展层的输出通道数分别为Ws和We,其表达式可以表示为:
(7)
设通过将挤压层更换为Ghost模块后新模块的参数为Ng,表达式可以表示为:
(8)
在本实验中,将卷积核的大小选定1 × 1,则表达式可以表示为:
(9)
通过式子(7)与式子(9)相对比,可以看到与传统的SqueezeNet网络原Fire模块相比,本文提出的新模块共减少了
的参数量。
通过上述操作,成功将Fire模块进行了减重操作,为了平衡其精度,在这里引入SE注意力机制来优化我们改进的模块。
第二步,将SE (Squeeze-and-Excitation)模块嵌入到前文Ghost替换过Fire模块中扩展层的整体新模块中,其生成注意力特征的过程如下:经过改进的Fire模块层的特征矩阵会经过SE模块,将一个通道上的空间特征编码为一个全局特征,采用全局平均池化输出该层γ个特征图的数值分布情况,如下所示:
(10)
其中,mc表示第c个通道的特征,X( )表示全局平均池化。
采用
(11)
sigmoid形式的门机制让网络学习各个通道间的非线性关系。其中Y是网络的权重,函数g( )是池化函数,是sigmoid函数.为了降低模型复杂度以及提高泛化能力,采用包含两个全连接的瓶颈(bottleneck)结构将特征降维,降维系数r是超参数,本文将r设为12,然后用ReLU函数激活,最后将学习到的各个通道的激活值乘以原始特征得到最终的注意力特征图
(12)
加入SE结构的注意力机制可以让模型更加关注信息量最大的通道特征,抑制那些不重要的通道特征。
通过上述两个步骤后所得到的模块G-S-Fire如图7所示:
Figure 7. G-S-Fire module
图7. G-S-Fire模块
4. 实验过程以及结果分析
本次实验环境为百度飞桨所提供的云服务器。实验数据集为本人在学校所采集的管道正常运行和泄漏时的音频文件。其中正常运行数据集共有964份,泄漏数据集有978份,共计1942份。其中216份作为测试集,1726份作为训练集。
每份数据集的音频长度均为4秒。其实验步骤如下:1、将采集的音频数据集进行分类,分为泄漏和正常运行的声音数据集。2、将音频数据进行预处理,并转换为梅尔倒谱图,进行后续的实验。3、将数据进行分类,正常运行的标签设为0,泄漏的标签设为1,便于实验的验证。4、将数据分别在未经改进的SqueezeNet网络和改进过后的SqueezeNet网络进行训练和测试。
本文通过对网络的准确率、检测速度、模型大小、召回率四个指标来对比两个网络性能的差别,同时还对比了使用1 × 1卷积核和3 × 3卷积核之间的差别,可以从表1看出使用1 × 1卷积核的G-S-SqueezeNet网络的准确率相比未改进的网络准确率提升了1.58%,模型大小比未改进的网络降低了4 MB。而使用3 × 3卷积核的情况下,精确度和为改进的网络相差不大,但模型大小反而更大。故选择1 × 1的卷积核作为G-S-SqueezeNet网络的卷积核作为卷积核,同时本文还选取了经典的CNN网络进行横向对比,结果表面经过改进的网络效果最佳。
Table 1. Accuracy and model size comparison
表1. 准确率及模型大小对比
|
准确率 |
模型大小/MB |
SqueezeNet |
97.13% |
16 |
G-S-SqueezeNet (1 × 1) |
98.61% |
12 |
G-S-SqueezeNet (3 × 3) |
97.45% |
21 |
VGG-16 |
87.63% |
541 |
ResNet |
91.34% |
207 |
在油气管道泄漏的研究中,检测泄漏的响应时间也是及其重要的指标,表2表示了G-S-SqueezeNet网络和为改进的SqueezeNet网络对于泄漏样本的响应速度。可以看到使用1 × 1卷积核的G-S-SqueezeNet网络的响应速度比传统的网络快了1.1秒。其召回率指标对比未改进的提升了0.83%。
Table 2. Response speed comparison
表2. 响应速度对比
|
检测速度/s |
召回率 |
SqueezeNet |
2.4 |
98.51% |
G-S-SqueezeNet (1 × 1) |
1.3 |
99.34% |
图8为G-S-SqueezeNet网络在测试集上的表现,在训练轮次达到80轮后逐渐趋于收敛,最终准确率达到98.61%。
Figure 8. Accuracy curve
图8. 准确率曲线
最终进行验证,将储存的正常管道泄漏的音频输入进行检测,其结果如图9所示。
Figure 9. Leakage detection
图9. 泄漏检测
5. 总结
本文所作的工作主要是针对于传统的SqueezeNet网络的一些不足之处做出了改进,主要工作有两点:1、使用GhostNet网络中的Ghost模块替换SqueezeNet网络中最关键的Fire层中的扩展层。达到了减少模型参数量的目的。2、在Fire层后插入了SE注意力机制模块,使其精度更高。经实验验证,取得了不错的效果,改进后的G-S-SqueezeNet网络在模型大小上有了缩减,同时在测试集上的表现整体优于未改进的网络。
基金项目
重庆科技大学研究生创新项目,项目号“YKJCX2220405”。
NOTES
*通讯作者。