陈本智+方志宏+夏勇+张灵+兰守忍+王利生
摘 要:由于传统焊缝区域检测算法难以准确提取模糊和对比度低的厚钢管焊缝区域,提出一种新的基于鲁棒PCA模型的焊缝区域检测算法,该算法能克服传统方法的不足,并能准确提取焊缝区域.首先,收集一序列X射线图像,并对其进行空域对齐及亮度归一化预处理.其次,计算得到系列图像的背景图像,并将背景图像与待测试X射线图像张成一个观测矩阵.最后,使用鲁棒PCA算法对观测矩阵进行低秩与稀疏分解,测试图像中的不均匀强度及噪声被消除,焊缝区域被凸显出来,通过全局阈值可将焊缝区域较好地分割出来.实验结果表明,该算法能较大地消除厚钢管X射线图像中噪声及不均匀强度分布带来的干扰、同时增强模糊的焊缝边缘及对比度低的区域,相比传统焊缝区域检测算法,具有更高的检测灵敏度(0.952)和精度(0.989),能更好地将模糊和对比度低的焊缝区域完整检测出来.
关键词:厚钢管;X-ray图像;焊缝区域;边缘检测;图像预处理
中图分类号:TP391 文献标志码:A
Detection of Weld Regions in X-ray Images of Thick Steel Pipes
CHEN Benzhi1, FANG Zhihong2, XIA Yong2, ZHANG Ling3, LAN Shouren1, WANG Lisheng 1
(1.School of Electronic Information and Electrical Engineering, Shanghai Jiao
Tong University, Shanghai 200240, China; 2. Research Institute,Baoshan Iron Steel Co,
Shanghai 201900,China; 3. Steel Bars Division, Baoshan Iron Steel Co, Shanghai 201900, China )
Abstract:Since traditional detection algorithms of welding seam area have difficulties in accurately extracting the fuzzy and low-contrast welding areas in the X-ray images of thick steel pipes, this paper proposed a novel robust detection method of weld seam region based on the robust PCA model. The proposed technique can overcome the shortcomings of the traditional methods, and can accurately extract the weld regions. Firstly, a sequence of X-ray images were collected, and their spatial alignment and brightness normalization were carried out. Then, a series of background images were obtained, and these preprocessed images and a test X-ray image were combined to form an observation matrix. The robust PCA was then used to decompose the observation matrix into a low-rank and sparse image. As the uneven intensity and noise are greatly eliminated in the test images, the weld region of the test image is highlighted in the corresponding sparse image, and can be well segmented by a global threshold. The test results show that the uneven brightness distribution and noise from X-ray images of thick steel pipes are largely eliminated, and the weld seam edges and low contrast areas are also enhanced. Compared with the traditional welding area detection methods, the proposed algorithm can better detect the fuzzy and low-contrast welding regions with a higher detection sensitivity (0.952) and accuracy (0.989).
Key words: thick steel pipe; X-ray images; weld regions; edge detection; image pretreatment
在厚鋼管的X射线图像中,多数缺陷位于焊缝区域内,部分缺陷(如搭接)需要通过分析焊缝区域的轮廓线的变化而确定.因此,准确提取焊缝区域是有效检测焊缝缺陷的前提[1-9].另外,焊缝区域一般只占整幅图四分之一左右区域,在焊缝区域中检测各种缺陷可减少系统处理时间,为算法在实际生产线上应用提供可能[1].厚钢管的X射线图像一般噪声较大、灰度分布不均匀;焊缝区域的边缘模糊,焊缝区域的对比度低及形状各异,且其在X图像中分布位置不固定,如图1所示.这些使得从X射线图像自动提取完整焊缝区域变为困难问题.基于边缘检测算法,如Roberts, Sobel, Prewitt, Canny等算子,被广泛用于焊接区域的边缘检测[1-2].这类方法对于信噪比高的薄钢板X图像中的焊缝区域的边缘检测效果较好,但应用于厚钢板中X射线图像时,容易产生断裂和虚假琐碎边缘.背景差分法是通过中值滤波[3]或混合高斯建模[4]估计测试图像的背景,从差分图像中分割出焊缝区域,由于估计的背景图像精度不高,加上厚钢管焊缝图像噪声大,灰度分布不均匀,背景差分法无法完整将焊缝区域检测出来.局部自适应阈值法[5]是根据局部窗口中焊缝区域与背景区域类间方差最大原理来选择每个窗口的最佳分割阈值,从而自动分离出焊缝区域,该方法不需要任何预处理,能够自适应地分割出亮度分布均匀的焊缝区域,但对于亮度分布不均匀或对比度低的区域,分割效果欠佳.基于水平集主动轮廓法[6]通过使设置的初始轮廓在一序列外部力和图像内在能量作用下不断膨胀或收缩,直到收敛,最终使轮廓线停在图像的边缘.该方法检测结果精度不太受孤立噪声、不均匀的亮度分布的影响,但该方法比较依赖初始参数的选择,如迭代次数,初始轮廓的位置.
针对目前方法存在的不足,为准确提取厚钢管X射线图像中的焊缝区域,本文提出一种新的无监督学习焊缝区域检测算法.首先,收集一个厚钢管X射线图像序列,对其进行空域对齐,保证每幅图像在相同坐标系下具有相似的分布位置和相同的尺寸,随后对每幅图像进行亮度归一化以消除不同图像间强度分布不均匀带来的干扰;其次,从每幅图像中将焊缝区域分割出来并去除,并根据焊缝区域周围灰度信息修复填补焊缝区域,得到序列图像的背景图像;第三,将待测试图像做同样的空域和亮度对齐处理,并与预处理后的序列背景图像张成一个观测矩阵;第四,使用鲁棒PCA对该矩阵进行分解,得到待测试图像的对应的低秩图像和稀疏图像.在待测试图像对应的稀疏图像中,背景较为均匀,而焊缝区域被凸显出来,使用全局阈值可较好地将焊缝区域分割出来;最后,通过相关形态学等后处理去除孤立噪声点得到最终的焊缝区域.
1 焊缝边缘检测的数学建模
这部分主要介绍检测焊缝区域的数学模型的建立.用F表示测试图像(分辨率大小为n×m),F由两部分组成:焊缝区域 FW和非焊缝区域的背景图像FB,如图2所示,则焊缝区域通过式(1)计算出:
由图2及式(1)可知,只要求得FB,就可从X射线图像中分离各种焊缝区域,因而检测各种焊缝区域FW的问题转换为求FB,一般常规算法很难直接从F估计FB,因而需设计新的方法来估计FB.
本文通过收集一序列X射线图像作为训练样本和测试样本,选择一幅灰度分布均匀的参考图像FR,如图1(a)所示,所有训练和测试图像参考FR进行空域对齐,保证每幅图像在相同图像坐标系下具有相似的分布位置和相同的尺寸,随后每幅图像参考FR进行亮度归一化,使得每幅图像具有相同的灰度直方图以消除图像间不同强度变化的影响,然后对预处理后的训练样本去除焊缝区域并用其周围颜色修复焊缝区域;去除焊缝区域的训练样本外观基本相似,即这些图像落在一个低维子空间,每个测试样本的背景图像与预处理后的训练样本也相似,因此,所有这些训练样本与单幅测试图像F张成列向量组成的矩阵是低秩的,而测试图像中的焊缝区域FW相对整个图像序列是稀疏的,使用鲁棒PCA方法将该矩阵分解为一个低秩矩阵和稀疏矩阵,在低秩矩阵中,其最后一列张成的图像为测试图像的背景图像FB,而稀疏矩阵中最后一列张成的图像代表对应测试图像中的焊缝区域FW.
2 焊缝边缘检测计算框架
这部分主要介绍一种新的焊缝区域检测计算框架,图3为算法流程图.首先收集一序列正常的X射线图像,并对其进行空域对齐和颜色归一化,接着采用鲁棒PCA方法将测试图像分解成稀疏图像和低秩图像,其中稀疏图像即为所求的测试图像焊缝区域FW,低秩图像为测试图像的背景图像FB.通过二值化稀疏图像,得到焊缝区域图像,对其相关形态学后处理,提取出焊缝边缘.
2.1 对X-ray图像进行预处理操作
这部分主要使用一些预处理操作去处理收集到的X射线图像,以便使用鲁棒PCA对测试图像分解为稀疏与低秩部分.
1) 首先对收集到的训练样本Ψ和测试样本{F}参考FR进行空域对齐,如缩放、平移等刚体变换,保证每幅图像在相同图像坐标系下具有相似的分布位置和相同的尺寸;
2) Ψ∪{F}中每幅图像参考FR进行亮度归一化,亮度对齐公式为:
式中:F是归一化之前的图像,FN为归一化后的图像,μ和σ分别是F的灰度均值和方差,μ1和σ1分别是参考图像FR的均值和方差.
3) 去除Ψ中每個训练样本中焊缝区域,使用现有成熟图像修复算法[10],对每个训练样本的焊缝区域进行修复.对Ψ中每个图像依次进行1)~3)步处理,处理后的集合表示为ΨB.图1(a)~(h)是原始图像,这些图像的灰度分布不均匀,图4(a1)~(h1)为对应图1(a)~(h)中每幅图像预处理后背景图像.从图中可知,Ψ中每幅图像依次被空域对齐,亮度归一化以及去除焊缝区域后,得到的背景图像表现出非常相似的外观,不同图像间的强度变化差异被较大地减小,这些背景图像组成的矩阵表现出低秩性,便于后续的鲁棒PCA做低秩矩阵恢复.
2.2 基于鲁棒PCA提取焊缝区域
获得预处理后的训练样本集合ΨB, 如何根据该集合估计出测试图像F的背景图像FB, 进而根据式(1)计算出焊缝区域FW.由于ΨB中每个图像都不包含焊缝区域,且外观相似,因此ΨB中每个图像应落在一个低维子空间,即ΨB中每个图像都可用低维子空间中的基向量的线性组合来表示.又因ΨB中每个图像与测试图像的背景也相似,因此可通过ΨB所在子空间的基底来逼近测试图像的背景图像.本文采用常见的子空间学习算法[11](如PCA,ICA,GMM)学习出一个子空间H,将测试图像F投影到H上,在投影图像FBH中,F的背景图像得到较好的逼近,然而F中的焊缝区域也得到较好地表达,因而估计的背景图像FBH与测试图像F相似,通过FW=F-FB≈F-FBH, 无法较好地提取完整焊缝区域.可能原因是子空间投影的算法比较合适逼近比较大结构,而焊缝区域FW属于较大的结构(一般占整幅图像的四分之一).因而,通过逼近或重构的思想来检测大结构的焊缝区域的效果欠佳,需要采用其他新的方式来估计F的背景图像FB.
通过对ΨB和经过空域和亮度对齐后的测试图像F观察发现,F除焊缝区域外,和ΨB中每幅图像外观都相似,这些图像类似一个缓慢变化的背景,可将ΨB和F看成一个视频序列,F中焊缝区域类似于突然进入背景的一个运动目标,又由于焊缝区域相对整幅图像,所占比例相对较小,表现出一定的稀疏性,估计焊缝背景FB的问题类似于视频序列中的背景建模问题[11],这实际上是将X射线图像分解为背景图像和焊缝区域的过程.
RPCA(Robust Principal Component Analysis)[12]能够将高维原始数据矩阵分解为低秩和稀疏部分,即解决低秩部分被严重破坏后恢复出低秩部分的问题,而测试图像F的背景估计符合这一特性.通过RPCA对测试图像F分解为稀疏和低秩部分,低秩部分即为F的背景图像,稀疏部分为F的焊缝区域图像,从而实现焊缝区域的检测.下面是基于RPCA进行焊缝区域提取的具体步骤:
1)将ΨB (I1,I2,…,IN, N=20, 图像分辨率大小为n×m, m=850, n=540) 中每个训练样本和单幅测试图像F分别张成一序列向量,将这些列向量组成观察矩阵Z(v1,v2,…, vN, vF) ∈Rp×q,其中p=n×m, q=N+1, 且pq, Z的秩r(Z)小于q,表现出低秩性;
2) 观测矩阵Z分解为两部分,低秩矩阵G和稀疏矩阵H,为得到G和H,通过增广拉格朗日乘子算法对式(3)进行优化,获得误差最小化的最优的低秩矩阵G1(g1,g2,…,gN,gq)和稀疏矩阵H1(h1,h2,…,hN,hq).其中,g1,g2,…,gN和h1,h2,…,hN分别表示对ΨB中每幅训练图像进行低秩分解后的对应的背景部分和由噪声及不均匀强度构成稀疏部分,而gq和hq张成与F相同尺寸的图像分别代表F的背景图像FB和焊缝区域图像FW:
式中:‖G‖为矩阵G的核范数,‖H‖1,1为稀疏矩阵H的(1,1)范数,〈,〉表示两个具有相同维数矩阵的点积,‖‖F表示矩阵的Frobenius范数,λ为稀疏和低秩部分的权衡因子,μ为惩罚因子,L表示线性约束乘子,根据经验,文中λ=1/mn,μ=1.25/σmax,L=Z/σmax,σmax为对矩阵Z进行SVD分解得到的对角矩阵中的最大奇异值.
3)对向量gq和hq张成与测试图像尺寸一样的图像, 分别表示为IL,IS,则通过如下公式可将焊缝区域检测出来:
4) 对FW二值化,分割出焊缝区域.图5为检测焊缝区域的过程图.5(b)为参考FR进行空域和亮度对齐后的图像;图5(c)~(d)分别为使用RPCA对图5(b)和ΨB组成的观测矩阵分解得到的低秩图像和稀疏图像,分解出的低秩图5(c)与ΨB中的训练样本较为相似,表现出低秩性,而图5(d)相比图5(a), 不均匀灰度分布带来的干扰得到一定程度减弱,焊缝区域被凸显出来,通过全局阈值将焊缝区域分割出来,如图5(e)所示,证明鲁棒PCA能够消除整体亮度不均匀带来的干扰,对于厚钢管X射线图像存在的局部噪声干扰无法消除,如图5(e)的右上角的亮灰色椭圆内噪声点,需通过形态学后处理图5(e),过滤掉孤立的噪声点,消除焊缝边缘的毛刺,最终结果如图5(f)所示.
3 实验结果与讨论
本文训练数据和测试图像来自宝钢的厚钢管X射线图像集合.由于厚钢管图像的焊缝边缘较为模糊,焊缝对比度低、强度分布不均匀,焊缝边缘形状各异,且焊缝位于不同的位置,使得从厚钢管X射线图像直接提取焊缝区域较为困难.为验证本文提到方法的有效性,本文测试45幅具有各种不同形状焊缝图像.图6是对不同明暗度,不同形状的焊缝区域检测结果.尽管图6(a),6(b)和6(g)中的强度分布不均匀,本文算法能将焊缝区域较为准确检测出来;图6(d)和6(h)整体亮度差别较大,但是焊缝区域也能被较好分离出来,如图6(d1)和6(h1)所示;图6(a)~(h)中的焊缝形状各异,且位于不同的位置,本文算法能准确将焊缝区域定位,检测结果的焊缝边缘的形状与原始图像中焊缝边缘较为吻合,如图6(a1)~(h1)所示.
由图6可知,本文算法能较好地将各种不同形状、不同明暗度、并位于不同位置的焊缝区域提取出来.将本文算法与边缘检测中的Canny算子[1-2]、混合高斯建模[4]、背景差分[3]、局部自适应阈值[5]、水平集主动轮廓法[6]进行对比,将这些方法检测的二值化结果叠加在原始图像上,如图7所示,对比6组实验结果发现,本文算法检测结果与原始图像中的焊缝区域最吻合.为评估本文算法与同类方法的分割精度,手工标记27幅包含有各种焊缝形状的groundtruth图像,将检测结果与标记结果对比,表1为背景差分法、局部自适应阈值法、水平集主动轮廓法以及本文算法总体评价指标.TP(true positive)表示焊缝区域像素被正确检测为焊缝的像素点数,FP(false positive)为背景区域像素点被误检测为焊缝区域像素点数,FN(false negative)为焊缝区域像素点被误检测为背景区域像素点数,TN(true positive)为背景像素点被正确检测为背景的像素点数.通过这4个指标,计算其对应的灵敏度SE(sensitity)=TP/(TP+FN), 阳性预测值PPv(positive predictive value)=TP/(TP+FP),特异度SP(specificity)=TN/(TN+FP), 精度ACC=(TP+TN)/(TP+TN+FP+FN), 阴性预测值NPv(negative predictive value)=TN/(TN+FN).SE, PPv,SP,ACC, NPv越接近1,表明算法的分割效果越好.
由于厚钢管X射线图像亮度分布不均匀、信噪比低,焊缝边缘模糊,Canny算子检测如图7(b)所示,出现很多琐碎、虚假的边缘,检测效果较差;混合高斯法通过3个高斯模型来估计测试图像的背景FB,然后通过FW=F-FB分离出焊缝区域,检测结果如图7(c)所示,发现处理的6组图像噪声较多,很多焊缝区域丢掉,不少非焊缝区域被误检测为焊缝区域,混合高斯算法对噪声,不均匀亮度比较敏感,对于对比度低的大结构目标的检测,很容易将焊缝区域建模为背景;背景差分法通过一个大的中值滤波器,估计出测试图像的背景FW,最后二值化差分图像分割出焊缝区域,结果如图7(d)所示,中值滤波器相比混合高斯法估计的背景图像的精度要高,分割效果要比混合高斯法好,但由于中值滤波器也不能很好地估计测试图像的背景,在图像四周边缘,估计的背景精度变低,导致左右两端背景边缘被误识别为焊缝区域,其对应的平均SE,PPv, SP, ACC,NPv分别为 0.732, 0.754, 0.930, 0.885, 0.884;局部自适应阈值法,根据大津法来选择每个窗口的最佳分割阈值,能够自适应地分割出亮度分布均匀的焊缝区域,但对于亮度分布不均匀或对比度低的区域,由于焊缝区域灰度与背景区域有重叠,分割效果欠佳,检测结果如图7(e),其对应的统计结果SE,PPv, SP,ACC, NPv分别为 0.542, 0.834, 0.968, 0.872, 0.871,背景差分法能够检测更多的焊缝区域,但是自适应阈值法虚警更少;主动轮廓模型法,使初始轮廓线不断膨胀或收缩,直到收敛使轮廓线停在图像的边缘.检测结果精度不太受孤立噪声、不均匀的亮度分布的影响,但该方法比较依赖初始参数的选择,如迭代次数,初始轮廓的位置.相比背景差分法和自适应阈值法,水平集主动轮廓法能获得更好的分割效果,如图7(f)所示,其对应的平均SE, PPv, SP, ACC, NPv(0.899, 0.932, 0.981, 0.962, 0.961)均高于上述两种方法;本文算法首先通过预处理消除部分噪声点以及不均匀光照带来的干扰,然后使用低秩恢复技术,将图像中噪声及不均匀亮度分布带来的干扰进一步减弱,使得模糊的焊缝边缘轮廓以及对比度低的焊缝区域增强,最后通过相关形态学后处理进一步将孤立噪声点消除,最终检测结果如图7(g)所示,相比边缘检测法、混合高斯、背景差分、自適应阈值、水平集主动轮廓法,本文分割结果叠加在原始图像上,与原始图像中的焊缝区域更吻合,通过与groundtruth对比,27幅图像的平均SE, PPv, SP, ACC,NPv分别为0.952, 1, 1, 0.989, 0.986,各项指标均为最高,进一步证明本文算法能显著抑制噪声,提高焊缝区域的检测精度,在亮度分布不均匀、焊缝边缘模糊、对比度低的厚钢管X射线图像中能够获得比其他5种典型焊缝区域检测算法更好的检测结果.
為说明使用RPCA理论应用于提取焊缝区域的合理性,本文用RPCA将图5(a)~(f)中每幅图像与ΨB组成6个观测矩阵分别分解为对应的矩阵G1和矩阵H1来分析G1的低秩性和H1的稀疏性.表2统计图5(a)~(f)中每幅图像与ΨB (包含20个背景图像)组成的6个矩阵对应的G1的秩和H1中非零元素个数.从表2可知,这6个矩阵分解得到的G1的秩Rank(G1)=10 4 结 论 由于厚钢管X射线图像噪声较大、灰度分布不均匀;焊缝边缘模糊,对比度低,形状各异,且在X图像中分布位置不固定,使得从X射线图像自动提取焊缝区域较为困难.由于传统边缘检测算法、背景差分法、阈值分割算法及先验模型的算法在检测厚钢管X射线图像中模糊、亮度分布不均匀、对比度低的焊缝区域时都存在困难,本文提出一种新的无监督学习的焊缝区域检测算法:首先收集一序列X射线图像作为训练集,并对其进行相关预处理操作;然后采用鲁棒PCA算法将该集合和测试图像分解为对应的低秩图像和稀疏图像,低秩图像为估计测试图像的背景图像,稀疏图像为要检测的焊缝区域图像,通过阈值可将焊缝区域分割出来,实验结果表明提到算法相比同类方法能更好地提取焊缝区域. 该方法不仅可用于焊缝边缘检测,还可以用于医学图像中各类病灶的检测、工业中太阳能电池板表面的缺陷检测,以及纺织工业中织物的疵点检测. 参考文献 [1] YE Zhen, FANG Gu, CHEN Shanben, et al. A robust algorithm for weld seam extraction based on prior knowledge of weld seam[J]. Sensor Review, 2013, 33(2): 125-133. [2] 匡平, 张明星, 万维. 基于尺度乘积的X射线焊缝区域提取算法[J]. 电子科技大学学报, 2015, 44(5):737-742. KUANG Ping, ZHANG Mingxing, WAN Wei. Weld region extraction in radiographic image based on scale multiplication technique[J]. Journal of University of Electronic Science and Technology of China, 2015, 44(5):737-742. (In Chinese) [3] SHAO Jiaxin, SHI Han, DU Dong, et al. Automatic weld defect detection in real-time X-ray images based on support vector machine[C]// Congress on Image and Signal Processing in Shanghai. New York: IEEE, 2011: 1842-1846. [4] 肖进胜, 刘婷婷, 张亚琪, 等. 一种基于历史背景的混合高斯背景建模算法[J]. 湖南大学学报:自然科学版, 2015, 42(10):127-132. XIAO Jinsheng, LIU Tingting, ZHANG Yaqi, et al. A history background-based Gaussian mixture background modeling algorithm[J]. Journal of Hunnan University: Natural Sciences, 2015, 42(10):127-132. (In Chinese) [5] YAZIDA H, AROFA H, YAZIDC H. Automated thresholding in radiographic image for welded joints[J]. Nondestructive Testing and Evaluation, 2012, 27(1): 69-80. [6] BOUTICHE Y. A region-based model and binary level set function applied to weld defects detection in radiographic images[J]. International Journal of New Computer Architectures and their Applications, 2011, 1(1): 236-244. [7] 朱亮, 柳洪义, 原培新. X射线焊缝底片数字化图像边缘检测方法[J].中国工程机械学报, 2013, 11(3): 267-271. ZHU Liang, LIU Hongyi, YUAN Peixin. Digitalized image edge detection on X-ray welding-line negatives[J].Chinese Journal of Construction Machinery, 2013, 11(3): 267-271. (In Chinese)
[8] 孔萌, 陳善本, 林涛. 基于复合边缘检测算子的焊缝边缘提取方法[J].上海交通大学学报, 2009, 43(5): 693-696.
KONG Meng, CHEN Shanben, LIN Tao. Weld seam edge detection based on composite edge detectors[J]. Journal of Shanghai Jiao Tong University, 2009, 43(5): 693-696. (In Chinese)
[9] MA Hongbo, WEI Shanchun, SHENG Zhongxi, et al. Robot welding seam tracking method based on passive vision for thin plate closed-gap butt welding[J]. International Journal of Advanced Manufacturing Technology, 2010, 48(9): 945-953.
[10]XU Zongben, SUN Jian. Image inpainting by patch propagation using patch sparsity[J]. IEEE Transactions on Image Processing, 2010, 19(5): 1153-1165.
[11]TORRE F D L, BLACK M J. A framework for robust subspace learning[J]. International Journal of Computer Vision, 2003, 54(1/3):117-142.
[12]SUN Yipeng, TAO Xiaoming, LI Yang, et al. Robust 2D principal component analysis: a structured sparsity regularized approach[J]. IEEE Transactions on Image Processing, 2015, 24(8): 2515-2526.