陈友荣金合丽徐 菲任条娟王 柯*周 莹
(1.浙江树人学院信息科技学院,浙江 杭州310015;2.常州大学计算机与人工智能学院,江苏 常州213164;3.中国石化中原油田分公司 石油工程技术研究院,河南 濮阳457000)
随着社会工业的发展,人们面临石油资源枯竭和环境污染等问题。 因天然气具有储量多、价格便宜和排放污染小等优点,已成为21世纪的主要清洁能源。 据统计,2020年全年我国的天然气消耗量约为3200 亿m3,同比增长5.3%。 我国对天然气的需求程度大,因此国家对天然气的勘探和开发十分重视。 位于四川省达州市宣汉县普光镇的普光气田是中国目前发现的最大规模海相整装高含硫气田,是我国“川气东输”的主要气源,其2020年平均每天产出量超过9 万m3。 但是普光气田在开采过程中由于盐膏岩蠕变、人为操作不当等原因,容易导致由内层油管和外层套管组成的双层管柱发生形变。 为了保证天然气开采的安全性,需要第一时间检测外层套管,及时发现套管的形变程度。 由于普光气田井下环境复杂,并且油套管材料的特殊性,因此只能采用电涡流无损检测技术,通过分析可穿透内层油管和外层套管的电涡流信号进行形变情况检测。 但是在检测过程中会受到温度、油管偏心等外部环境的干扰,从而导致得到的电涡流检测信号存在由温度噪声[1]、偏心噪声等噪声组成的混合噪声。 为了能够准确监测双层管柱的形变情况,需要一种能够较好去除电涡流检测信号中混合噪声的去噪算法。
目前国内外学者进行信号去噪主要采用基于傅里叶变化或统计的滤波器[2]、多频域分析、神经网络和去噪模型等的去噪算法。 其中,部分学者侧重于研究基于滤波器和多频域分析的去噪算法,如文献[3]利用维纳滤波器分析噪声信号与纯净信号之间的相关矩阵,从而实现对信号的去噪;文献[4]利用小波变换算法和自编码器估计噪声方差,根据获得的噪声方差再利用卡尔曼滤波对信号进行去噪。部分学者侧重于研究包括小波算法和经验模态算法等的多频域去噪算法,如文献[5]采用集成经验模态算法对电涡流信号进行分解,采用阈值函数去除各个频域的噪声,并提出一种补偿方法对误差进行补偿;文献[6]采用小波阈值算法去除脉冲涡流信号中的噪声信号;文献[7]选择Daubechies 小波基和小波系数,将信号分成高频信号和低频信号,并分别采用硬阈值函数和sqtwolog 函数去除高频信号和低频信号中的噪声。 但是维纳滤波器无法利用温度、深度等信息,且多频域分析的去噪算法适应于去除信号中固定不变的噪声,因此上述算法都无法自适应去除随深度等因素变化的噪声。 部分学者侧重于研究基于神经网络的去噪算法,如文献[8]采用基于梯度下降优化算法的小波神经网络实现信号去噪;文献[9]提出一种小波去噪和递归神经网络相结合的去噪算法实现对传感器数据实时去噪;文献[10]针对传统全卷积神经网络在去噪过程中存在过拟合和计算量大的问题,提出基于LeNet5 改进传统的全卷积神经网络以去除随机噪声。 文献[8-10]提高了去噪的自适应性,但是本文研究的涡流信号的无噪声信号样本单一,因此直接采用神经网络进行训练和去噪的效果较差。
因此部分学者侧重于研究基于去噪模型的去噪算法,主要研究去噪模型的建立和模型参数的确定,如文献[11]分析噪声源的特点,建立热噪声和光子去噪模型,在噪声标准偏差平均值已知的前提下采用最小二乘算法对去噪模型参数进行估计;文献[12]建立混合非均匀介质中的随机去噪模型,基于摄动法求解模型参数,并通过实验证明其对随机噪声去除的有效性;文献[13]根据噪声特性建立热去噪模型,利用模型参数之间的相关性并结合方程解析法对模型的四个参数求解;文献[14]建立栅漏电流去噪模型,利用人工神经网络求解模型,获得去噪模型参数。 基于去噪模型的去噪算法可以描述随深度变化的噪声情况,较适用于本文脉冲涡流信号的去噪。 但是文献[11-12]提出的去噪模型参数确定算法只考虑其研究的特定噪声,文献[13]提出的解析方程法不适用于参数量大的模型求解,文献[14]提出的神经网络算法需要大量的样本且训练速度较慢,因此都不适用于双层管柱电涡流信号去噪。
综上所述,目前相关去噪算法适用于噪声分布已知情况下的去噪,较难适用于随深度变化的噪声情况,且自适应性较差,要求的样本量大。 为了克服上述问题,本文提出一种基于混合噪声模型的双层管柱电涡流信号去噪算法(eddy current signal de-noising algorithm of double-layer pipe based on mixed noise model,ECSD)。 该算法首先读取电涡流检测信号进行预处理,分析包含偏心噪声、温度噪声等噪声的电涡流信号,建立混合噪声的去噪模型。其次,提出了改进的海洋捕食者算法,对其去噪模型参数进行求解。 即给出求解的适应度函数,初始化猎物矩阵和精英矩阵,采用布朗运动和莱维运动对猎物矩阵和精英矩阵进行迭代求解和迭代更新,并优化步长调整参数和新猎物的更新,从而获得最优去噪模型的相关参数。 最后利用相关参数拟合信号噪声,去除不同温度和深度下电涡流信号中的混合噪声。 ECSD 算法可提高参数寻优的收敛速度,避免陷入局部最优,并提高去噪的信噪比。
如图1 所示,ECSD 算法包括信号预处理,分析信号中的混合噪声并建立去噪模型,去噪模型参数求解和利用去噪模型进行去噪,其中模型求解包括适应度函数建立、猎物和精英矩阵初始化、迭代求解和迭代更新。 具体实现原理如下:
图1 ECSD 算法原理框图
采用电涡流探伤仪MTD-J 对普光气田井下双层管柱进行测量,获得本文需要分析的电涡流信号。其中,MTD-J 的A 探头,对双层管柱同一深度位置进行持续一个激励信号周期的监测,并依次采集11个采样点数据。 由于采样过程中A 探头会将信号增益放大,因此需要通过如下公式去除每个采样数据的增益:
式中:Fh=[fh1,fh2,…,fh11]表示深度h的11 个时间采样点涡流数据组成的电涡流信号,G表示增益矩阵向量,F′h={f′h1,f′h2,…,f′h11}表示去除增益后深度h的11 个时间采样点涡流数据组成的电涡流信号。
本文采集的电涡流信号存在偏心噪声、温度噪声、电磁噪声、提离噪声等。 其中偏心噪声是由于普光气田使用的油套管为双层管柱,内层油管呈弱磁性,并且在使用过程中受到岩层蠕变等地质运动影响而发生偏移,从而使电涡流检测信号呈现线性偏移。 此外由于油管偏移情况会随着深度增大或减小,因此令深度h下电涡流信号的偏心噪声向量为,则定义偏心去噪模型为:
式中:AP表示偏心影响权重系数向量。
普光气田井长可达几千米,随着深度的增加,井下温度随之下降。 由于温度会影响电涡流检测探头检测线圈电阻,从而影响输出的电涡流信号电压。温度与检测线圈的电阻关系近似呈线性变化,因此可得到温度变化引起的温度去噪模型:
电涡流探伤仪对油田井下双层管柱进行测量时,其出现的电流不平衡会引起双层管柱内部空气振动,从而产生服从高斯分布的电磁噪声。 此外在电涡流探伤仪垂直上升检测过程中,发生机械抖动,与检测面之间的距离发生变化,从而导致检测探头与检测面之间的互感磁场发生变化,产生呈现周期性上下抖动变化的提离噪声。 由于电磁噪声和提离噪声与深度、温度的变化无关,都属于随机噪声,呈现波动现象,且相较于偏心噪声和温度噪声,其噪声电压较小,影响较小,因此令BQ表示电磁噪声、提离噪声等其他噪声。 综上所述,电涡流噪声主要由偏心噪声、温度噪声等混合噪声组成,可表示为:
式中:Zh表示深度h下的混合噪声。 则可建立不同温度和深度下的双层管柱混合噪声的去噪模型,即
式中:L(AP,AW,BW,BQ)表示优化目标,H表示最大深度,F′real表示经过预处理后的无噪声涡流数据向量。
粒子群算法和遗传算法[15]等一些传统的元启发式搜索算法容易出现停滞,不能进一步搜索更好的解。 而本文采用的MPA 算法利用布朗运动和莱维运动模拟海洋捕食者捕猎行为搜寻最优参数,并采用猎物调整公式,在进行寻优时可以避免陷入局部最优解,但是当其处于第二迭代阶段时,其自适应步长参数只由当前迭代次数控制,迭代次数越大其越小,会导致收敛速度过慢,此外在调整局部最优解时判断依据仅为当前猎物,可能出现误判情况。 因此提出改进的MPA 算法,即引入当前的最优适应度值变化度,计算自适应步长参数,提高第二迭代阶段收敛速度,同时将当前m次迭代中相应猎物的相似度作为是否陷入局部最优解的判断依据。 利用上述改进的MPA 算法求解1.2 提出的混合噪声的去噪模型。 具体求解内容如下:
1.3.1 适应度函数
为了评估去噪模型参数对于混合噪声的拟合效果,将混合噪声的去噪模型目标函数作为模型求解的适应度函数λ。 当适应度函数为最小时,模型为最优解,即:
1.3.2 猎物和精英矩阵初始化
令一组去噪模型参数的解作为猎物Xj=[AP,AW,BW,BQ],所有猎物组成猎物矩阵P,为[X1,X2,…,Xj,…,XN],其中N表示猎物的最大数量。 当前迭代次数下适应度函数值最小的猎物为最优猎物,其复制N次,构成精英矩阵E。 在算法启动后,N个猎物的初始化为
式中:XUB表示各个参数搜索范围的上边界向量,XLB表示各个参数搜索范围的下边界向量,randj表示[0,1]范围内产生均匀分布的随机向量。 根据产生的N个猎物,可构成初始猎物矩阵和精英矩阵。
1.3.3 迭代更新
根据当前的猎物矩阵P和精英矩阵E,改进布朗运动和莱维运动,迭代更新猎物,获得新的猎物矩阵和精英矩阵,具体过程如下:
令最大迭代次数为Cmax,当迭代次数C≤μCmax时,此时搜索空间内的猎物分布均匀,需要在整个搜索空间内均匀搜索新猎物,因此猎物根据精英矩阵位置模拟布朗运动,采用式(8)计算每一个猎物的自身移动步长stepj,并采用式(9)更新猎物矩阵。
当迭代次数为μCmax<C<ηCmax时,此时同时采用大范围均匀地搜索新猎物、小范围深入搜索新猎物或远距离跳跃搜索新猎物,因此一半猎物采用式(10)和式(9),根据精英矩阵位置模拟莱维运动计算自身移动步长更新数值。 另一半猎物模拟捕食者进行布朗运动,采用式(8)计算自身移动步长,采用式(11)更新其猎物。
式中:RL表示进行莱维运动的随机向量,γ表示自适应步长参数,可表示为
式中:λ′表示当前迭代的最小适应度值,λ″表示前一次迭代的最小适应度值。 当迭代次数C≥ηCmax时,此时需要在最优解附近小范围搜索猎物,因此猎物模拟捕食者进行莱维运动情况下,采用式(13)计算自身移动步长stepj,采用式(11)更新其猎物。
为了避免在迭代更新的过程中陷入局部最优解,在进行上述迭代寻找新猎物后,判断前m个猎物的相似度,并采用式(14)对新猎物进行调整,从而避免猎物聚集效应,避免迭代陷入局部最优解。
所有猎物迭代更新后,获得新的猎物矩阵PF,计算该向量中所有猎物的适应度C≤μCmax,并比较其对应前一次迭代的猎物适应度。 如果前一次迭代的猎物适应度小于当前迭代的猎物适应度,则保留前一次迭代的猎物,反之,则以当前猎物替换其对应前一次迭代的猎物。 最终获得当前迭代后的猎物矩阵,并选择最优猎物,更新精英矩阵。
在对去噪模型求解时,构造包含不同温度和深度的涡流信号的训练样本,保证拟合出的去噪模型可以适用于不同井下环境的电涡流信号去噪。 通过改进的MAP 算法获得1.2 节建立的去噪模型参数,拟合不同温度和深度下的混合噪声。 输入待去噪涡流信号,对待去噪信号进行预处理去除增益,利用去噪模型去除预处理后的电涡流信号中的噪声,获得去噪后的电涡流信号。
如图2 所示,ECSD 算法的具体实现步骤如下:
图2 ECSD 算法的流程图
步骤1 读取不同深度和温度的涡流信号和无噪声信号,构成训练集;
步骤2 读取增益矩阵,对训练集的信号进行预处理;
步骤3 定义去噪的适应度函数,读取需要寻优的参数、参数的上下边界和预处理后的信号;
步骤4 初始化猎物矩阵、精英矩阵和最大迭代次数等参数;
步骤5 当迭代次数C≤μCmax,利用式(8)和式(9)对猎物矩阵进行计算;当迭代次数为μCmax<C<ηCmax,利用式(8)~式(11)对猎物矩阵进行计算;当迭代次数C≥ηCmax,利用式(11)和式(13)对猎物矩阵进行计算;
步骤6 根据迭代后的新猎物,利用式(14)对新猎物进行调整,避免陷入局部最优;
步骤7 计算猎物矩阵的适应度函数,根据适应度函数更新猎物矩阵和精英矩阵;
步骤8 判断当前迭代次数是否达到最大迭代次数,若否,当前迭代次数加1,跳到步骤五;否则输出精英矩阵作为参数最优解,拟合不同温度和深度下的混合噪声;
步骤9 读取待去噪电涡流信号,对信号进行预处理,再减去拟合出的混合噪声,得到去噪后的双层管柱电涡流信号。
根据上述流程,分析ECSD 算法的时间复杂度。ECSD 算法的核心是模型(5)的迭代求解,每一次迭代包括猎物更新、猎物调整和适应度值计算。 猎物更新主要是执行式(8)~式(13),其时间复杂度为Θ(N),其中N表示猎物的个数。 猎物调整主要是执行式(14)和式(15),其时间复杂度为Θ(N)。 适应度值计算是根据样本数量,通过式(6)计算每个猎物的适应度值,其时间复杂度为Θ(H2×N)。 由于最大迭代次数为Cmax,因此ECSD 算法的时间复杂度为Θ(CmaxH2N),与MPA 算法的时间复杂度一致,没有增加算法的时间复杂度。
本文实验数据来自中原油田分公司石油工程技术研究院提供的两个编号为D405 和P203 双层管柱的电涡流探伤仪MTD-J 检测涡流信号,以及构建正向模型仿真获得的双层管柱纯净信号。 将D405的电涡流信号分成14 个数据集,记为{D1,D2,D3,…,D14},将P203 的电涡流信号分成19 个数据集,记为{E1,E2,E3,…,E19}。 每个数据集包含1000组实测涡流信号,每组涡流信号由同一深度检测的11 个采样点数据组成,并采用MATLAB 软件进行实验仿真。
根据多次实验结果,设置部分初始参数如表1所示。 然后分析最大迭代次数C、步长控制参数b和猎物相似度阈值参数ryu对适应度值的影响,进行参数选择,最后进行去噪实验,根据获得的去噪信号、对应的实测信号和纯净信号,计算去噪后的信噪比和均方根误差。 其中,信噪比SNR 为信号中纯净信号与噪声信号的比值,即:
表1 参数值
式中:Z′h表示去噪模型参数拟合的混合噪声。 均方根误差RMSE 为去噪后信号中存在的噪声信号的偏差,即
3.2.1 关键参数对算法的影响
设置最大迭代次数为2000 次,步长控制参数为0.1,0.5,1,1.5,2,猎物相似度阈值参数为0.1,0.3,0.5,0.7,0.9,分析ECSD 算法的最大迭代次数、步长控制参数和猎物相似度阈值参数对适应度值的影响。
首先,随机选取一个数据集,分别采用MPA 算法和ECSD 的改进MPA 算法对去噪模型参数进行求解,并选择步长控制参数1.5 和猎物相似度阈值参数0.5 为例,说明最大迭代次数对适应度值的影响。 如图3 所示,由于改进MPA 算法引入当前的最优适应度值变化度,计算自适应步长参数,可快速寻找到全局最优解,提高第二迭代阶段收敛速度,因此其收敛速度大于MPA 算法,同时在改进MPA 算法中,当迭代次数小于146 时,适应度值随迭代次数增加下降快速,幅度较大;当迭代次数在146 ~400 时,适应度值随迭代次数增加下降速度较慢,幅度较小;当迭代次数大于400 时,随迭代次数的增大,其适应度值基本不变。 此外因此考虑时间复杂度和去噪性能,本文选择最大迭代次数为400 次。
图3 迭代收敛图
其次,以四个数据集(D1,D2,E1,E2),最大迭代次数400,步长控制参数0.5 为例,说明猎物相似度阈值参数对适应度值的影响。 如图4 所示,由于聚集效应控制参数过小,搜索范围过小,导致寻到的方案陷入到局部最优解,当聚集效应控制参数达到0.5 时,聚集效果较好,能寻找到全局最优解,适应度值最小。 当聚集效应控制参数大于0.5 时,由于设置猎物聚集效应出现概率过大,难以快速准确地寻找到全局最优值,导致当到达迭代次数400 时,寻找的方案离最优解还有一定的距离,其适应度值略微上升。 因此本文选择猎物相似度阈值参数为0.5。
图4 猎物相似度阈值参数比较图
以四个数据集(D1,D2,E1,E2),最大迭代次数400,和猎物相似度阈值参数0.5 为例,说明步长控制参数对适应度值的影响。 如图5 所示,当步长控制参数较小时,运动步长过小,当迭代次数到达400时未收敛到最优适应度值,其适应度值较大,当步长控制参数达到0.5 时,适应度值最小。 当步长控制参数大于0.5 时,运动步长过大,加快收敛,从而使参数陷入局部最优,导致其适应度值略微上升。 因此本文选择步长控制参数为0.5 时模型最稳定。
图5 步长控制参数比较图
3.2.2 算法比较
选择D405 和P203 每个数据集的连续10%数据作为训练集,所有数据集作为测试集,利用ECSD算法进行迭代求解训练集的去噪模型参数,再将其数据集中的全部实测信号减去去噪模型,得到去噪信号,并选择数据集D1和E1的一组信号为例,说明D405 和P203 电涡流信号的去噪效果。 如图6和图7 所示,D405 和P203 的双层管柱所处环境的不同,导致其实测信号相差较大,且D405 电涡流信号所受噪声更严重。 由于ECSD 算法分析双层管柱中存在的偏心噪声、温度噪声、电磁噪声、提离噪声等的变化特点,建立了能够自适应模拟噪声环境的去噪模型,并利用改进MPA 算法对去噪模型参数进行迭代求解,可获得较为精准的模型参数,因此能够模拟不同噪声环境下的D405 和P203 噪声信号,从而有效去除实测信号中的混合噪声,使去噪信号基本接近于纯净信号,可适用于不同噪声环境下双层管柱检测电涡流信号的去噪。
图6 D405 去噪效果图
图7 P203 去噪效果图
接着,选择ECSD 算法、小波去噪算法(wavelet domain de-noising algorithm,WD)[6]、经验模态去噪算法(empirical mode decomposition de-noising algorithm,EMD)[3]、中值滤波去噪算法(median filtering de-noising algorithm,MF)[16]、维纳滤波去噪算法(Wiener filter de-noising algorithm,WF)[5]对预处理后的D405 和P203 所有数据集进行去噪,得到去噪信号,比较各个算法的信噪比和均方根误差。 其中WD 算法设置分层层数为3,阈值函数为极大极小阈值函数,小波基为db3;MF 算法窗口设置为10;WF算法设置滤波阶数为2,最大迭代次数100。
如图8 和图9 所示,不管D405 和P203 电涡流信号如何变化,ECSD 算法的信噪比都高于WD、EMD、MF 和WF 算法。 这是因为ECSD 算法首先分析了实测信号中存在噪声种类和其产生的原因,然后根据其产生原因,设计可以准确描述噪声信号的去噪模型,并进行有效的求解,获得最优方案,因此ECSD 算法可以较好地消除实测信号中各种混合噪声,提高信号的信噪比;而WF 算法只是统计了噪声与信号变化之间的规律,没有考虑噪声产生的原因,因此无法较好消除信号中所有的混合噪声,得到的去噪信号信噪比次之;MF 算法是通过分析相近时域的信号实现滤波,因此其只能去除信号中的抖动噪声,由于D405 实测信号比P203 抖动大,因此D405 的信噪比大于P203 的信噪比,但是其对D405和P203 去噪效果都较差;由于本文研究的涡流信号采样点较少,因此WD 和EMD 算法无法分析信号在不同频域中的特征,因此其信号去噪效果最差。
图8 D405 信噪比结果图
图9 P203 信噪比结果图
如图10 和图11 所示,ECSD 算法对D405 和P203 的每个数据集去噪后得到的去噪信号均方根误差均低于WD、EMD、MF 和WF 算法,且几乎为0。由于ECSD 算法建立的去噪模型能够较准确地描述噪声随温度和深度变化的关系,此外根据每组信号的深度和温度信息,提出改进MPA 算法求解相应信号的去噪模型,可较好模拟每组信号的去噪模型,使每组的去噪信号与纯净信号之间的偏差较小,因此ECSD 算法得到的均方根误差最小,自适应性强。WF 算法基于统计方法得到信号与噪声变化之间的相关矩阵,无法准确拟合数据集中不同深度噪声信号,自适应性较差,因此其均方根误差高于ECSD 算法;根据MF 算法的去噪原理,其只能去除抖动的噪声,因此其去噪信号与纯净信号之间的偏差较大;由于WD 和EMD 算法无法分析出信号中包含的噪声特性,因此无法去除数据集中的信号噪声,得到噪声信号仍然包含大量噪声,与纯净信号之间的偏差较大。
图10 D405 均方根误差
图11 P203 均方根误差
提出一种基于混合去噪模型的双层管柱电涡流信号去噪算法(ECSD),能够对不同噪声环境下的双层管柱检测电涡流信号进行去噪。 首先,设计数据集,对数据集进行预处理,去除增益电压,然后分析电涡流信号中包含的混合噪声及各自噪声的来源,并根据混合噪声特性建立去噪模型。 提出改进MPA 算法求解每个数据集的去噪模型,利用去噪模型去除不同噪声环境下双层管柱电涡流信号中的混合噪声,最后比较ECSD、WD、EMD、MF 和WF 算法的去噪效果。
实验结果表明:ECSD 算法设计可以准确描述噪声信号的去噪模型,能够消除实测信号中各种混合噪声,提高信噪比,并能够自适应模拟每组信号的去噪模型,使每组的去噪信号与纯净信号之间的偏差较小,其去噪效果明显优于WD、EMD、MF 和WF算法。 ECSD 算法需要对每个双层管柱进行训练,虽然自适应性较强,但是模型泛化能力一般,因此下一阶段将研究一种能够适用于所有双层管柱去噪模型的神经网络方法,进一步提高去噪的泛化能力。