王增国,崔矿庆,唐建华,高 航,刘金海
1.中海石油(中国)有限公司,北京 100010
2.中海石油技术检测有限公司,天津 300452
3.中海油能源发展装备技术有限公司,天津 300452
4.东北大学信息科学与工程学院,辽宁沈阳 110819
近年来,我国面临严峻的油气管道运营时间过长的现状,已经有很多管道运营时间超过20年,泄漏事故频繁发生,给油气输送工作带来极大不便。开展管道检测工作十分必要,目前漏磁内检测技术已被世界公认为是一种完善的检测手段[1-2]。
随着检测管道数量及里程数的增长,检测数据越来越多。尽管管道漏磁检测系统的检测精度有所提升,但受到管道直径大小的限制,内检测器没有为硬件设备预留扩充空间,因此,检测数据存储成为当前面临的问题;同时随着数据量的增大,缺陷数据的识别难度也逐渐增大。因此考虑一种切实有效的数据补偿方式对数据进行处理,对检测精度和里程的提升都有着重要意义,而且根据缺陷漏磁信号实现图像重构能够更直观地反映管道内部环境的变化状况。
本文基于漏磁检测数据的特征,研究了几种插值算法在漏磁检测信号中的插值应用,并设计一种基于三次Hermite 插值的三次样条插值算法,以此为基础采取一种自适应分段的插值方法,以实现对检测数据的有效补偿。并且设计出实现曲线图形、灰度图像以及伪彩色图像显示的自适应成像系统,实现了快速精准的漏磁缺陷检测识别。
对漏磁数据进行处理进而生成图像的过程中,最常见的方式是实现曲线视图。而由于在管道周向布置的传感器数量有限,因此所得到的检测数据也有限。在曲线视图的纵轴方向,以钟点位置形式表示的传感器检测数据是一条条间距不均匀的曲线,这易造成缺陷信息的丢失。因此研究一种有效的数据插值方法,能较大程度地实现数据补偿,从而得到更高质量的检测信号,提高对微小缺陷信号的识别率。
一般来讲,常见的插值方法有三次Newton 插值法[3]、三次 Lagrange 插值法[4]、三次 Hermite 插值法和反距离权重插值法[5]等。本文以三次Hermite插值的三次样条插值算法为基础,根据原始漏磁曲线信号的平滑和起伏程度选择不同的插值方法,提出了一种基于三次Hermite 插值的分段自适应插值方法,采用多种补偿算法并存的方式,根据不同的需要,选择不同精度的补偿算法,在误差与运算速度之间求取平衡,保证系统的性能。其主要思想是,将以曲线视图显示的漏磁信号进行数据分割,根据各通道数据基值,设定其数据阈值,通过计算超过该设定阈值的数据个数与总数据量之比,将该漏磁信号划分为3 种不同区域,并在不同区域下使用不同的插值算法。管道漏磁数据插值研究思路见图1。
图1 管道漏磁数据插值研究思路
若求得的比值在2%以下,则标记此区域为A区域,由于数据起伏不大,使用三次Newton 插值方法进行插值;若比值在2%~15%之间,则标记此区域为B 区域,出于数据起伏波动程度的考虑,使用反距离权重插值方法进行插值;若比值在15%以上,则标记此区域为C 区域,由于数据起伏较大,使用基于Hermite 插值方法的三次样条插值方法进行插值。
大量的实验研究证明,采用常见的诸如三次Newton 插值、三次Lagrange 插值算法等对漏磁检测信号进行插值,有的计算较为简单,但是插值误差较大;有的插值精度较高,但是计算复杂,运行时间长,因此并不适用于实际应用。
为此采用三次Hermite 插值算法,经实验研究发现,当原始漏磁数据波动起伏比较大时,三次Hermite 插值稳定,误差较小,但曲线不够光滑。为了克服这一缺点,设计了一种基于三次Hermite插值的三次样条插值方法。该算法的基本原理简介如下。
设区间[a,b]上给定一个节点划分:
如果S(x)满足如下两个条件:
(1)在[a,b]上有二阶连续导数;
(2)在每个小区间[xi,xi+1]上是次数不大于3的多项式。
则 S(x)为三次Hermite 分段函数。
如果被插值函数f(x)在节点x0,x1,…,xn-1,xn处的函数值为:
并且关于这个节点集的三次Hermite 插值S(x)满足插值条件:
假设 S(xi)=mi,i=0,1,…,n,则利用三次Hermite 插值多项式,当x∈[xi-1,xi]时,有:
于是有:
由S″(xi-0)=S″(xi+0),得到:
其中:
式(7)给出了关于n+1 个未知数m0,m1,…,mn的n-1 个方程,再加上相应的边界条件,就可以确定参数m0,m1,…,mn。
若边界条件为 m0=y′0,mn=y′n则直接代入式(7)中,得到关于n-1 个变量m1,…,mn-1的方程组,其矩阵为:
若边界条件为 S″( x0)=y″0,S″( xn)=y″n,则由式(8)可得:
其矩阵形式为:
本文基于C#及C++编程语言,实现了管道漏磁内检测系统的设计。同时为使得插值数据更直观显示,考虑采用灰度变换的方式,将曲线图像转换成灰度图像进行显示,并加以图像增强[7]、图像钝化、图像锐化处理[8],以提高图像显示质量[9]。此外为减轻对比度调节对灰度图像显示清晰度的影响[10],考虑采用基于密度分割法的分段自适应彩色图像处理方法,将人眼只能识别十几种灰度的图像转换成人眼能够识别更多的细微彩色图像。
为了提高对小缺陷的识别率以及处理速度,本体系采取了以下方案:
(1)采用分段自适应插值的方式,根据不同的需要,选择不同精度的通道间插值算法,在误差与运算速度之间求取平衡,保证系统的性能。
(2)优化算法性能。通过改变数据处理流程,改变算法编程语言,优化算法性能,提高运算速度。
(3)采用分段读取、分段显示、图像无缝拼接技术,减少显示时间。
(4)采用多线程并行处理技术,充分发挥多核操作系统的性能优势,最大限度地提高数据处理速度。
设计的系统流程如图2所示。
图2 自适应成像系统设计流程
选取实测漏磁检测数据,运行编好的插值程序,可以得到基于该算法的插值效果,见图3。同时选取漏磁信号波动比较大的380~410 mm 的里程作分析,可得到如图4所示的误差曲线。
图3 分段自适应插值效果
由图3、图4可以看出,分段自适应插值方法对原始数据追随稳定,误差较小,其波峰波谷数值也较为接近,插值曲线比较平滑。通过计算得出基于Hermite 插值的三次样条插值误差均方值为1.6×10-3,对比分析前述四种经典插值方法,分段自适应插值的均方差最理想。而且,可以保证该种方法的运行时间在0.07 s 以内。在曲线光滑度、精读以及海试运行时间上均满足想要的插值效果。
为了检验系统整体的自适应成像效果,分别对缺陷信号及管道整体检测数据进行试验,检验其自适应插值、灰度视图及伪彩色视图的显示效果。大缺陷信号三种视图对比如图5所示。
图5 大缺陷信号(单峰)三种视图对比图
从曲线视图中能清楚看到每个大缺陷信号(单峰)中只有一处波峰,插值后曲线视图进一步显示出了单峰信号所具有的特点;对应的灰度图峰值处比较白亮,并且较双峰窄很多,灰度值较低,白色区域两侧黑暗,即波谷,对比度相对较高,灰色图效果清楚;而对应的彩色图的红颜色代表波峰,黄色表示波谷,双峰信息清晰可见,也能反映出双峰信号特点。
曲线视图经过放大后(见图6),其曲线变化与焊缝、缺陷完全对应。同时在彩色视图中可以找到焊缝和缺陷的相对应位置,因此,插值后的曲线视图、灰度视图和彩色视图基本实现了对焊缝、缺陷的准确标识。
图6 管道整体信号的三种视图对比
本文主要研究了管道漏磁内检测信号的自适应插值成像方法。对几种常见的插值算法进行对比,并设计了一种基于三次Hermite 插值的三次样条插值算法,以此为基础采取了一种自适应分段的插值方法,对漏磁数据进行插值等数据的预处理操作,得到更加丰富的漏磁信号信息,实现了对漏磁数据的原始曲线显示以及插值后的曲线显示,有效提升了缺陷检测数据的曲线显示质量,对小缺陷信号检测有较大帮助;设计了整个自适应成像系统,实现了对漏磁检测数据的曲线显示、简单的灰度图像显示及伪彩色图像显示。