基于图像处理的管道裂缝检测
2012-07-03孙文雅李天剑
孙文雅,李天剑 ,黄 民,陈 晓
(北京信息科技大学 机电工程学院,北京 100192)
0 引言
管道作为常用气体和液体的传输手段,已被广泛应用于化工、石油、国防以及排污等领域。管道在使用过程中,在工作环境与所载原料作用下,容易发生腐蚀、堵塞或者使管道内部潜在的各种缺陷发展成破损而引起泄露事故等[1]。因此必须定期对管道进行检测,以便准确的测算它们对管道使用寿命和性能的影响。
传统的人工检测劳动强度大,检测结果准确率低、效率低,因此发展为采用基于机器视觉的管道机器人检测。管道机器人是一种可沿管道内爬行机电一体化装置,采用CCD摄像机采集管道内图像,实时提供给技术人员,以便进行处理和分析,同时通过图像处理技术对缺陷进行分析和识别,计算缺陷特征值、自动识别缺陷类型、统计数量,提高检测的速度和精确度。
1 管道裂缝特点及检测流程
管道裂缝是管道缺陷主要类型之一。摄像机在对管道内图像进行采集时,受采集工具、管道内环境影响,在获取有用信号的同时也使图像包含大量的噪声信号。一般来说,在采集到的图像中包含两类对象:一类是较好的管道,即背景;一类是裂缝,即待检测的目标。设I(p),p={x,y}表示一副带有裂缝的管道图像,因此可由下述三个部分表示:
其中IB(p)是背景灰度变化信号,In(p)是噪声信号,Ic(p)是管道的裂缝信号。由于Ib(p)和In(p)的存在,很难直接提取出Ic(p)信号[2,3]。
针对管道裂缝的特点,采用图像处理的方法对裂缝进行自动检测识别,对采集到的管道裂缝图像进行灰度化,再进行图像增强来降低图像中的噪声,然后选择合适的阈值行进分割,提取出裂缝特征。管道图像处理流程如图1所示。
图1 图像处理流程
2 管道裂缝图像处理
2.1 图像增强
图像增强技术[5]根据其处理所进行的空间的不同,可以分为两类:空间域方法和频域方法。“空间域增强”是指对构成图像的像素进行操作可以分为点操作和模板操作, 空间域图像增强可由公(2)来定义
其中,f(x,y)是输入图像,g(x,y)是处理之后的图像,T是对f的某种增强操作。如果T定义在每个(x,y)上的,则T为点操作;如果T定义在(x,y)的某一个领域上, 则为模板操作。
图像增强的频域方法[5]就是在图像的变换域中通常是频率域对图像的变换值进行某种运算处理,然后再变换回空间域。
2.1.1 图像灰度化
灰度图像是只含亮度信息,不含色彩信息的图像。灰度化可以采用现行标准的平均值法。用f(x,y)表示灰度化后的灰度值,R、G、B分别表示原真彩色图中的红、绿、蓝分量,有:
其中0.299、0.587和0.114是理论和实验推导证明得出的最合理的灰度图像的权值[6]。图2为处理所灰度图。
图2 灰度化
2.1.2 中值滤波
经试验结果观测,采用中值滤波法对管道裂缝灰度化图像进行处理能有效的去除噪声,保护图像边缘。图3为中值滤波后的图像。
图3 中值滤波
中值滤波[2]是一种非线性的信号处理方法,是一种邻域运算。它的目的是保护图像边缘的同时去除噪声。所谓中值滤波,是指把以某点(x,y)为中心的小窗口内的所有像素的灰度按从大到小的顺序排列,将中间值作为(x,y)处的灰度值(若窗口中有偶数个像素,则取两个中间值的平均)[3]。
设一个一维序列f1,f2,f3,…,fn取窗口长度(点数)为5, 对此一维序列进行中值滤波,即从输入序列中相继抽出5个数,假设这5个数为f2,f3,f4,f5,f6,其中f4为窗口中心点值,将这5个点值按数值大小排序,取序号为中心点的值y作为滤波输出,用数学公式(5)表示为:
如果原序列中心位置值较其周围值大,在图像中则会出现一个突变噪声点,经中值滤波处理后,与周围值差异不大,由此便达到了抑制噪声的效果[2,3]。
在上覆坝体压力及廊道自身重力作用下,廊道出现竖直向下的挠曲变形,在防渗墙的带动下发生向下游挠曲变形。两种变形组合后在廊道轴线方向产生较大的拉压应力,廊道两端上游受拉,下游受压,河床中部上游面受压、下游面受拉。因坝基岩体的约束,基岩面处出现了明显的应力集中现象,左右岸1/4跨位置上游面压应力较大,下游面拉应力较大。表1列出了静力条件下廊道沿各方向的变形和正应力极值。
数字图像是以二维数据来描述的,所以二维中值滤波可由式(6)表示:
式中:g(s,t)为窗口中sxy的像素点。二维中值滤波的窗口形状和尺寸对滤波效果影响较大,不同的图像内容和应用要求采用不同的窗口形状和尺寸。
2.2 图像边缘检测
对于管道裂缝类缺陷的检测识别来说,边缘检测算法的好坏严重影响到检测和识别的精度和效果。边缘检测通常的方法是先对图像进行灰度边缘的增强处理,得出一个增强处理后的图像,然后设立门限,进行门限操作来确定出明显边缘的像素位置[6]。
常用的经典边缘检测算子算法有Prewitt算子、Sobel算子、Log算子、Canny算子等。数学形态学[4]在图像处理中有广泛的应用,其基本原理是基于利用结构元素去“探针”收集图像信息,在常见数学形态学梯度的基础上,对管道裂缝图像处理中,提出了一种基于形态学梯度的边缘检测算法。检测结果表明,该检测算法与其他经典算法相比能得到较为理想的边缘信息。图4为检测结果对照图。
图4 边缘检测对照
2.3 图像分割
图像分割是图像处理中很关键的一个步骤,其任务是把图像划分成互不交迭区域的集合[1]。阈值分割[2]是图像分割常用的方法,设定一定的阈值,灰度值大于(或小于等于)设定阈值的像素对应输出图像像素为白色(或黑色),剩余的对应输出图像像素为黑色(或白色)。即一类为背景,一类为目标。
根据管道裂缝图像的特点,本文选用迭代法选取阈值。迭代法[3~5]是基于逼近的思想通过阈值迭代的方式,自动选取阈值,算法步骤如下:
1)求出图像灰度的最大值Zmax和最小值Zmin,初始阈值为
2)根据阈值T0将图像分割成两部分:背景和目标,求出两部分的平均灰度值Zm、Zb
3)由2)求出新的阈值:
4)重复2)~3),直到TK=Tk+1。
图5为运用迭代法进行阈值分割的结果。
图5 图像分割
2.4 特征提取
裂缝图像经过图像预处理后,通常要对感兴趣的目标进行测量,即目标的特征信息。对于本文检测的管道裂缝图像则要测量裂缝的面积、周长、长度等。特征提取基本步骤如图6所示。
图6 特征提取步骤
管道裂缝图像经过分割去噪后,白色部分就为裂缝区域,如图7中的白色区域。在图像处理中裂缝面积的测量实际上就是这部分区域所包含白色像素的个数。计算机将一幅二值图像当作一个矩阵来处理,0代表黑色,1代表白色。因此,要测量裂缝的面积,只需计算连通区域1的个数[6]。
图7 二值化后去噪
裂缝长度的计算方法[2],经过细化把裂缝变成一条单像素宽的线,找到它的“骨架”部分,通过统计像素点的个数,根据图片长或宽边的像素点个数计算出裂缝的长。周长就是待测目标(连通区域)轮廓线上像素间距离和。
经计算本文所检测的管道裂缝图像,裂缝面积为6631,长度为636,周长为1382.885。
3 结论
由于受管道自身和外界影响,使采集到的图像存在大量的噪声信号,这些噪声信号的存在加大了图像处理的难度。本文采用中值滤波法对图像进行去噪,等到了较为理想的效果。经试验比较采用形态学梯度算法进行边缘检测,边缘吻合度高于其他典型算法。在边缘检测的基础上采用迭代法进行阈值分割,对分割的图像进行形态学处理,将目标与背景区分开。最后对分割得到的特征图像进行了特征值得计算。
[1] 陈应松,周瑜.基于视觉的机器人在管道检测中的远程控制研究[J].制冷与空调,2010,24(4):133-137.
[2] 孙朝云,褚燕利,樊瑶,等.基于VC++路面裂缝图像处理系统研究[J].计算机应用与软件,2009,26(8):82-85.
[3] 沙莎,彭丽,罗三定.边缘信息引导的阈值图像分割算法[J].中国图象图形学报,2010,3(15):490-494.
[4] 陈虎,周朝辉,王守尊.基于数学形态学的图像去噪方法研究[J].工程图学学报,2004(2):1162-1191.
[5] 孙兆林.MATLAB6.x图像处理[M].北京:清华大学出版社,2002:267-269.
[6] CHENG H D,SHI X J,GLAZIER C,Real-time image thresholding based sample space reduction and interpolation approach[J].Journal of Transportation