管道漏磁检测系统中数据显示方法
2013-10-23朱红秀杨博玺黄松岭
朱红秀,杨博玺,黄松岭
(1.中国矿业大学(北京)机电与信息工程学院,北京 100083;2.清华大学 电机系电力系统国家重点实验室,北京 100084)
随着油气管道使用年限的增加,老化现象日益严重,再加上埋地管道所处的环境非常恶劣、地形极其复杂以及人为破坏、施工缺陷和腐蚀等影响,管道泄漏事故频繁发生,不仅带来油、气等泄漏损失,还会因维修带来资源浪费,停工停产造成经济损失,而且会对环境造成很大的污染。因此对缺陷的及时检测十分必要,其检测结果是管道检修的重要依据。漏磁检测是目前比较高效的一种油气管道检测方法,工作在油气管道内部的漏磁传感器采集漏磁数据,并对这些信息进行处理分析来确定管道的缺陷、腐蚀等情况。由于管道内传感器较多,采集的数据量很大,所以需要一个用来自动处理、分析检测数据,评估量化管道缺陷,显示检测结果的软件系统即数据专家系统[1-3]。数据专家系统不仅可以自动分析漏磁数据,而且可以将漏磁数据以图形化的形式展现给检测人员,检测人员可以直观地查看漏磁数据的变化,快速准确地评估、定位管道缺陷[4-6]。因此,清晰、准确、直观的检测数据显示系统对数据专家系统至关重要。笔者主要介绍两种漏磁检测数据显示方式:曲线图和C-Scan图。开发环境为Visual Studio 2008,绘图接口采用Windows GDI+。
1 漏磁检测系统工作原理
管道内侧漏磁检测系统中的检测器主要由测量节、探头组、记录节等部件组成,各部分之间由万向节连接,以便于在管道内移动,装置结构如图1所示。它主要是完成管道漏磁信号和辅助信号采集、存储等工作。检测器被置入管道中以后,依靠流体作用在与管壁密封的皮碗上的压差提供的轴向力实现在管线内运行,检测器前进过程中,在里程轮触发下进行漏磁数据的等间隔采样,所采集的数据都记录在检测器存储介质内。
图1 漏磁检测器结构
检测器在管道中采集的数据会被传输到计算机中进行分析处理,数据包中记录的原始数据包括磁数据和非磁数据两种。其中磁数据包括600个主探头磁数据和600个用于区分内外壁缺陷的IDOD探头磁数据,检测器每前进1m采集磁数据500次,每次采集到的1200个探头的数据称为一个扫描(scan),这样,每个扫描对应的检测器前进距离是2mm。非磁数据包括行进距离、当前时间、三轴加速度、轴向速度和温度等,非磁数据每0.2m采集一次。采集到的原始数据按字节流进行存储,各数据段之间用特殊的标志位进行分隔,形成特定格式的数据包。上位机分析软件从检测器中提取到原始的漏磁数据之后,将其存储到缓存中。本系统以数据块的形式管理数据,以磁数据为例,每个数据块包含30个scan数据,每个scan包括600个探头数据,每个探头数据占用2个字节。因为每个scan的数据都是检测器在管道中行进过程中周期性采集得到的,所以每个scan的数据与管道的具体位置一一对应,从而每个数据块也对应着一段固定长度的被测管道。系统中使用链表的方式将所有的数据块连接起来,这样也可以快速确定数据与管道位置的对应关系,具体如图2所示。
图2 数据块格式
数据专家系统软件根据用户设置的参数对系统采集的漏磁数据进行预处理和人工分析以及自动分析。数据预处理首先从原始的数据流中提取有效的磁数据和非磁数据,存储到系统内的缓存中,然后根据磁数据变化情况识别焊缝、划分管筒,以便后续数据图形化和人工分析过程使用。漏磁数据的图形化显示是通过将漏磁数据的变化趋势以及管道的缺陷、特征等信息分别以曲线图和C-Scan图两种方式呈现给用户,数据分析人员通过查看图像化的信息来分析管道数据并进一步识别、定位管道的缺陷和特征。系统提供了两种类型的显示图像来确保管道漏磁信息的完整性和缺陷量化、定位的准确性,具体处理流程如图3所示。
图3 数据专家系统工作流程
2 磁数据变化曲线图
所谓曲线图就是在专家系统的显示屏幕上以曲线的方式来反映管道上磁数据的变化。磁数据是检测器在管道上等间隔的采样数据。根据每一个通道(探头)磁数据本身的大小及其所在管道的位置,将其转化为某个像素点坐标映射到显示屏幕上,之后将所有坐标点连接起来,这样就形成了直观反映每条通道磁数据变化的曲线图。此外,为方便用户精确查看数据变化,曲线图支持鼠标缩放及上下左右拖动。实现曲线图显示的首要步骤是完成磁数据到显示屏幕的映射,此映射需要充分考虑到屏幕大小及管道磁数据所在的具体地理位置。完成映射之后也就确定了管道数据与屏幕图像的对应关系了,系统基于此映射关系绘制图形,首先从管道起始处即屏幕左侧开始绘制,之后以数据块为单位绘制管道其他部分的图形,具体流程如图4所示。
图4 曲线图绘制流程
2.1 横坐标映射
首先确定在正常显示模式下,整个屏幕宽度与管道距离的对应关系,及整个屏幕可以显示多长的管道数据,下文以5m为例,并且将屏幕宽度记为ScreenLength。前文提到,此探头每行进1m扫描500次,每扫描一次记录一个磁数据。在整个屏幕上能够显示5×500=2500个磁数据。因为此探头的采样间隔是2mm,所以相邻磁数据在屏幕上的间隔为ScreenLength/2500。因为每个磁数据的scan号和其在管道上的地理位置是一一对应的,这样很容易通过磁数据的scan号定位其所在地理位置,进而得到其在屏幕上的显示位置。例如,某磁数据scan号为1200,那么其对应的管道位置是1200×0.002m=2.4m,那么其在屏幕上的对应的位置是2.4×ScreenLength/5,经过上述分析,磁数据的横坐标可以通过其scan号来确定。
2.2 纵坐标映射
由于磁数据的值是在一定的数值范围内,其曲线图必然围绕上下波动的,在屏幕上,每个通道的曲线图就需要占用一定宽度。所以整个屏幕显示的通道数是有限的,具体能够显示几个通道是由缩放比例决定的,比如用户放大图像时,显示的通道数量就会减少,反之亦然。在正常模式下,以每屏幕显示20个通道为例,屏幕可用宽度记为ScreenWidth。通道占用宽度为ScreenWidth/20,曲线图是从屏幕的上方开始显示0通道,所以很容易通过磁数据所在的通道号来确定磁数据所在屏幕的纵坐标区间,然后通过将磁数据本身的值按照一定比例转化为具体的纵坐标位置。
2.3 缩放功能
为了方便用户更加细致地查看检测数据的总体变换趋势或某段管道检测数据的具体细节,曲线图还提供了缩放功能,即用户可以通过曲线视图提供的缩放按钮来缩小放大曲线图。当用户需要查看更长的管道检测数据信息变化总体趋势时,可以将图像缩小。根据上述分析,图像缩小可以通过缩短每条scan数据所在屏幕上的横坐标间距来实现。但是由于曲线图是通过连接屏幕上某些像素点实现的,所以如果仅仅缩短横坐标间距的话,就会造成图像变得非常模糊,甚至失去线条形状。反之,通过增大scan数据在屏幕上横坐标间距来实现图像放大时,会导致图像无法直观反映数据的变化趋势。为解决上述问题,采用另一种思路来实现曲线图:首先将检测数据进行采样,然后将其绘制出来。这样在图像缩小时,保持scan数据间距不变,减小采样频率,这样既可以保证图像清晰,又能保证图像正确反映管道检测数据的变化趋势。反之,当图像放大时,只需要增大采样频率,就可以在屏幕上显示更小粒度的检测数据变化。图5为一段实际管道的检测数据效果截图。
2.4 图像拖动
为方便用户可以查看更长的管道信息,曲线图还实现了图像拖动功能。用户通过左右拖动曲线图来查看整个管道的所有信息。根据前文分析,屏幕上每个scan的磁数据所对应的横坐标都和其实际管道具体的地理位置相对应,同时每条通道的磁数据与图像的纵坐标相对应,所以只需要拖动鼠标即可查看整个管道漏磁信息及具体的缺陷特征。
图5 某管道检测数据曲线效果截图
3 C-Scan图
曲线图是管道缺陷分析的主要依据,但是也有不足之处,就是只能大致展现检测数据的变化趋势,如果仅以此来进行缺陷分析定位,难免会出现误判、定位不准等情况。所以需要另外一种显示粒度更小的图形,目前常用的显示图像是灰度图,但是灰度是单色图像,人眼只能识别出很少的灰度级,而对彩色的分辨可达到几百种甚至上千种。另外,管道漏磁数据的灰度显示受到噪声等因素的限制,形成的灰度图像对比度较低、清晰度和辨识度不高,难以满足漏磁检测要求。所以系统采用一种新的图像显示方式C-Scan图,C-Scan图以伪彩色的方式来显示管道检测数据。C-Scan图由于使用伪彩色来显示管道检测数据,比传统的灰度图、曲线图更加清晰,直观,缺陷定位更加准确。伪彩色图通过不同颜色显示不同检测数据的值,数据分析人员会准确判断出检测数据变化的趋势进而快速定位缺陷及管道特征。由于伪彩色辨识度非常高,所以采用C-Scan图显示数据时不需要对图像进行滤波和再次锐化即可达到理想的效果。C-Scan图根据管道检测数据大小的不同,在屏幕上使用不同的颜色来代表数据值。在显示屏幕上通过色彩的变化来展示检测数据的变化,这就要求需要建立检测数据本身与显示屏幕之间的映射关系。具体的绘图流程如图6所示。
图6 C-Scan图绘制流程
3.1 微矩形
磁数据来源于对每个检测探头进行的定时扫描,所以对于每个磁数据来说都有其对应的通道号(探头号)和scan号,据此,笔者将磁数据对应的通道号和scan号分别映射到C-Scan图的纵坐标和横坐标,这样每个磁数据在显示屏幕上都有其唯一的显示位置,有利于分析人员快速定位缺陷。按照上述分析,每个磁数据对应显示屏幕上的一个像素点。在绘图的过程中,如果对应磁数据仅仅着色单个像素点,那么最终绘制的图像将是一个非常模糊的图像,无法显示颜色的变化,无法达到反映数据变化的目的。考虑到C-Scan图也需要实现缩放及拖动功能,笔者采用另一种设计方式即在显示屏幕上使用一个小矩形来显示对应检测数据的颜色。这样根据通道号和scan号确定的坐标是微矩形的中心点。由于显示区域面积的增大,绘制的整个图形可以体现出每个检测数据本身的变化。绘制过程中依次将各个通道中各个scan的数据大小,对其在屏幕上的对应矩形区域进行着色,如图7(a)所示。
3.2 插值
在C-Scan图中,纵坐标是由磁数据的通道号确定的,由于各通道之间不可能留有任何空隙,所以染色矩形的宽度即为每各通道所占屏幕的宽度,并且在染色过程中,每个矩形使用单一颜色,这就造成了图5中出现的对应某条通道条状带。为使得CScan图更加美观,需要对图像进行插值处理,实现颜色渐变,使图像更加平滑、柔和。常用的插值法有线性插值法、牛顿插值法、拉格朗日插值法。就此系统而言,图像本身的失真度不是太高,所以使用线性插值法即可满足要求。为了保证图像插值效果,笔者未使用手动插值方式而是使用 Windows GDI+提供的API函数GradientFill,此函数使用线性插值的方法实现矩形或三角型的颜色渐变。C-Scan图从屏幕上方开始绘制0通道,然后依次绘制各个通道的磁数据,所以需要指定函数GradientFill工作模式为GRADIENT_FILL_RECT_V。在这种模式下,函数从上到下来对矩形染色。此外还需要指定矩形顶部和底部的两个边的颜色,由于插值的目的就是要消除基于某条通道的条状带,所以对于纵坐标(C-Scan)相同的磁数据对应的矩形来说,使用其与相邻的上一个通道相同scan号的磁数据对应的颜色作为当前矩形顶部颜色,同理使用其与相邻的下一个通道相同scan号的磁数据对应的颜色作为当前矩形底部颜色,例如:当前染色矩形坐标为(C,S)C通道号,S为scan号,其顶部颜色为通道号为C-1,scan号为S的磁数据对应的颜色,其底部颜色为通道号为C+1,scan号为S的磁数据对应的颜色。此外,笔者还设计简单的散列函数来建立磁数据本身数值的大小与相应颜色的关系,实现数据与颜色的映射。经过线性插值的图像,如图7(b)所示。
图7 插值前、后C-Scan图截图
4 两种显示同步
该专家系统支持上述两种显示方式的自由切换,并且支持同时打开两个窗口,系统内部通过全局映射机制保证两种图像在磁数据、管道位置、扫描时间上完全同步,用户可以同时查看两种类型的显示图形(图5和图7),两种图形分别以不同图像呈现了同一段管道的实际漏磁检测信息,从不同角度显示了漏磁数据的变化趋势。系统还支持同步拖拽、缩放上述两种图形,有利于分析人员全面综合分析管道漏磁信息,快速有效地分析数据,定位管道缺陷。
5 结束语
介绍了漏磁检测系统中数据显示的两种具体方法,从测试结果可以看出经过数据采样、矩形染色、插值处理等技术之后,曲线图和C-Scan图都可以清晰、直观地实现漏磁检测数据的呈现功能,既最大程度上还原了原始磁数据的变化趋势,又保证了管道缺陷的可辨识度,实现了管道漏磁内检测缺陷的可视化显示。另外,两种类型图像的自由同步切换实现了管道缺陷和管道特征信息的完整性,有助于管道漏磁内漏磁数据的精确分析和缺陷的快速定位,经过测试,此可视化实现方式大大提高了管道漏磁数据分析人员的工作效率和工作质量。
[1]黄松岭.高清晰度油气管道腐蚀检测器数据分析系统设计[J].天然气工业,2007(1):108-100.
[2]曹丽娜.管道漏磁检测数据分析专家系统的研究[D].天津:天津大学,2007:15-18.
[3]李莺莺.油气管道在线内检测技术若干关键问题研究[D].天津:天津大学,2006:77-79.
[4]杨理践,姜文特,高松巍.管道漏磁内检测缺陷可视化方法[J].无损探伤,2012,36(2):2-3.
[5]魏茂安,靳世久.油气管道缺陷二维轮廓重建及处理技术[J].石油学报,2003,24(6):98-101.
[6]杨建昌.GDI+高级编程[M].北京:清华大学出版社,2010:430-435.